AWS (Amazon Web Services)

EC2 (Elastic Compute Cloud)

  • Amazon の代表的なサービスである。
  • EC2 とは、独立したコンピュータをユーザーに貸し出すサービスである。
  • このサービスを通じて、必要なだけ仮想サーバーを構築し、セキュリティ、ネットワーク構成、ストレージ管理が可能である。
  • 必要なときにオン/オフでき、使用した時間に対してのみ費用を支払えばよい。

EC2 の価格政策

  • On-Demand: 実行するインスタンスに応じて、時間または秒単位で測定されたコンピューティング能力の価格を支払う。
    • 契約なし。試しに使いたい場合や、柔軟に EC2 を使いたい場合に使用する。
  • Spot Instance: 市場に余っているインスタンスをオークション形式で安く購入して使う方式。
    • 最大 90% 程度安いが、いつ返却しなければならないか分からない。開始と終了が自由な場合や、追加のコンピューティング能力が必要な場合に使用する。
  • Reserved Instance (RI): あらかじめ一定期間、1〜3 年ほど契約して使う方式で、saving plan に近い。
    • 最大 75% 程度安い。需要予測が確実で、費用削減のため一定期間の契約が可能な場合に使用する。

      通常は On-Demand、Spot Instance を使用する。
      

EC2 タイプの種類

  • 汎用: すべてのリソースのバランスを適切に保って使用するタイプ。
    • t2: 低価格の汎用。Web サーバー、DB。
    • m2: 汎用。アプリケーションサーバー。
  • コンピューティング最適化: 高性能プロセッサを活用するタイプ。
    • c5: コンピューティング最適化。CPU 性能が重要なアプリケーションや DB。
    • F1: ハードウェアアクセラレーション。遺伝研究、金融分析、ビッグデータ分析。
  • メモリ最適化: 大規模データを処理するタイプ。
    • r4: メモリ最適化。メモリ性能が重要なアプリケーションや DB。
    • x1e: メモリ最適化。Spark。
    • p3: グラフィック最適化。機械学習、Bitcoin。
  • ストレージ最適化: 高いディスク処理を行うタイプ。
    • h1: ディスクスループット最適化。Hadoop、MapReduce。
    • i3: ディスク速度最適化。NoSQL、データウェアハウス。
    • d2: ディスク最適化。ファイルサーバー、データウェアハウス、Hadoop。

EBS (Elastic Block Store)

  • EBS は、EC2 インスタンスで使用する永続ブロックストレージボリュームを提供する。
  • 簡単に考えると EBS はハードディスクであり、AWS で実行中のインスタンスにディスク容量が必要なときに使用する。
  • 必要な容量に合わせて購入でき、ユーザーが削除するまで永続的に保存できる。
  • 内部的にデータをリアルタイム複製しているため、ハードディスクに比べてデータを失う確率が非常に低いとされる。
  • 簡単に説明すると、EBS は USB のように EC2 に接続して使用できる。

AMI (Amazon Machine Image)

  • インスタンス作成に必要なすべてのソフトウェア情報を含むテンプレートイメージと考えればよい。
  • つまり、OS、アプリケーション、サーバープログラム設定などがあらかじめ構成されたイメージである。
  • EC2 インスタンスを開始するときに AMI を使用すれば、OS インストールやサーバーソフトウェア設定を別途行う必要がない。

AMI は 3 種類

  • AWS AMI: AWS が提供する AMI。インスタンスを開始するときに AMI を設定する場所があり、そこで AWS が基本提供する AMI である。
  • AWS Marketplace: ソフトウェア会社が AMI を作成して販売する方式。会社で特定のソフトウェアを使用する場合にこのタイプを使用する。
  • AWS Custom AMI: ユーザーが直接 AMI を作成し、サーバーを起動するときにその AMI を使って起動する。

例として、実際に運用中の EC2 インスタンスをカスタム AMI にして、同一環境で構成された EC2 を素早く開始できる。

ELB (Elastic Load Balancer)

  • ELB は、2 つ以上のアベイラビリティゾーンで EC2 インスタンス、コンテナ、IP アドレスなど複数の対象に受信トラフィックを自動分散する。
  • つまり、負荷を適切に分配する装置であり、サーバーが停止しないよう管理し、インスタンス状態を自動検知してエラーのあるインスタンスを分配対象から除外する。

EIP (Elastic IP)

  • EC2 インスタンスサーバーは固定 IP ではない。
  • インスタンスを実行すると Public IP アドレスを受け取る。しかし、インスタンスが停止されたり未使用状態に変更されたりすると IP アドレスは消える。再度実行すると新しい IP を受け取る。

毎回新しい IP アドレスを受け取る理由は、使用できる IP アドレスが限られているためである。約 40 億個の IP アドレスを使用できるが、40 億人程度しかインターネットを利用できないことになる。そのため、IP を毎回新しく割り当てている。

毎回新しい IP アドレスを受け取るとサービス運用が難しいため、これを解決するために Elastic IP を使用する。Elastic IP は固定 IP アドレスを割り当てる。未使用状態でも IP は固定されている。ただし EC2 インスタンスに接続して使用していない状態では料金が発生する。これは Elastic IP を割り当てたまま使用していないと、他の人が使用できる機会が少なくなるためである。

Auto Scaling

Auto Scaling とは、システムを自動で増減させるサービスである。

たとえばサービスにユーザーが集中すると、参加しているサーバーの CPU 使用率が徐々に高くなる。CPU 占有率が 80% を超えると、あらかじめ準備されたイメージ (AMI) を利用してインスタンスを作成し、ELB に接続して新しく作成した EC2 インスタンスへトラフィックを分散する。

トラフィックが減少し、CPU 使用率が 20% 未満になると、EC2 インスタンスが順次削除される。

VPC (Virtual Private Cloud)

  • VPC はユーザーの AWS アカウント専用の仮想ネットワークである。
  • AWS のようなクラウドサービスでは、多くのインスタンスが物理的には同じネットワークや機器上で動作するが、これを論理的に完全分離する。
  • VPC ごとにネットワークを構成でき、それぞれの VPC に応じてネットワークを異なるよう設定できる。

VPN (Virtual Private Network)

  • 大規模な組織が複数拠点に分散したコンピュータを接続するセキュリティの高いプライベートネットワークを作成したり、インターネットを活用して遠隔地間のネットワークを接続し、暗号化技術を適用してより安定的で安全な通信サービスを提供したりするサービスである。

例として、在宅勤務者が安全なネットワーク接続を使用し、オフィスのネットワークやファイルなどをインターネット経由でオフィス勤務時と同じように利用するために VPN を使用する。

IAM (Identity and Access Manager)

AWS のすべてのソリューションサービスおよびリソースに対して個別に権限を付与できる権限ソリューションである。

IAM

CloudTrail

  • CloudTrail は AWS アカウントの活動記録である。
  • AWS で誰が何をしたかが記録される。
  • CloudTrail を使用すると、AWS インフラでアカウント活動に関連する作業を記録、監視、保管でき、ログ保管は S3 に保存される。

CloudWatch

  • CloudWatch は AWS サービスおよびリソース活動に焦点を当て、その状態と性能を報告する。
  • CloudWatch は AWS リソースとアプリケーションの監視サービスである。

Route 53

  • コンピュータは数字の IP で通信する。しかし IP アドレスを覚えるのは簡単ではないため、IP アドレスにドメイン名を付けて覚えやすくするものが DNS であり、Amazon が DNS をサービス化したものが Route 53 である。

Route 53 の中核機能は、ドメインネームサーバーを貸し出すことである。ドメインサーバー登録代行者の役割と、ネームサーバーを貸し出す役割を持つ。

CloudFront

  • AWS が提供する CDN サービスである。

  • キャッシュと CDN (Content Delivery Network) の役割を持ち、キャッシュによってユーザーへより速い転送速度を提供することを目的とする。

  • 世界中に配置された Edge Location を利用し、効率的なコンテンツ配信構造を提供する。

  • Edge Location は CloudFront のためのキャッシュサーバーの集合である。

  • Origin Server

    • 元データを持つサーバーである。
      • 通常 AWS での Origin Server は S3 または EC2 instance である。
  • Edge Server = Edge Location

    • AWS が実質的に提供する世界中に分散したサーバーである。
    • Edge Server は、同じ要求に対して素早く応答するために Cache 機能を提供する。

CloudFront

  1. ユーザーが Web サイトに接続し、画像ファイルおよび HTML ファイルを要求する。
  2. DNS リクエストをできるだけ速く処理できる Edge Location へルーティングする。
  3. Edge Location のキャッシュに要求されたファイルがあるか確認する。
  4. 該当キャッシュに要求されたファイルがなければ、オリジンサーバーへファイルを要求する。
  5. オリジンサーバーは再び Edge Location へファイルを渡す。このファイルは以後キャッシュに追加される。
  6. Edge Location はユーザーへファイルを渡す。

Security Group

  • インスタンスに対するインバウンドおよびアウトバウンドトラフィックを制御する仮想ファイアウォールの役割をする。
  • このサービスを利用すると、在宅勤務中でも DB に接続できる。

参照