Amazon VPC (1)Amazon Virtual Private Cloud とは

VPC

各アベイラビリティゾーンのデフォルトサブネットを持つデフォルトVPCが標準で作成され、インスタンス起動時にサブネットを指定しなかった場合は、このデフォルトVPCが指定される。これに加えて、ユーザ独自にデフォルト外VPCを作成することが可能である。VPCは、ルータを通じて他のVPCと接続(ピアリング接続)したり、S3などの他のAWSサービスのエンドポイントと接続したり、VPN経由で自社のネットワークと接続したりすることが可能である。

VPCは生成する際にサイズを指定することが可能で、/16から/28までを指定できる。生成後にサイズを変更することはできない。指定するCIDR ブロックは、プライベートIPアドレスの範囲から指定することが望ましい。

デフォルトVPC

デフォルトVPCには、ルータインターネットゲートウェイが含まれており、各サブネットは、インスタンスに対してパブリックIPの割り当てが実行される、インターネットに接続可能なパブリックサブネットである。

デフォルトVPC

デフォルト外VPC

デフォルト外VPCには、ルータやインターネットゲートウェイが含まれておらず、自分で設定に加える必要がある。また、サブネットも標準では、パブリックIPの割り当てが行われず、*プライベートサブネット**に設定されている。

デフォルト外VPCでインターネット接続を可能にするためには、インターネットゲートウェイのアタッチや、ルーティングテーブルの追加、各インスタンスへのElastic IPの割り当てが必要である。プライベートサブネットの場合、サブネット内のインスタンスが直接インターネットに接続することができないため、別のパブリックサブネット内にNAT gatewayを生成し、このNAT gateway経由でインターネットと接続を行う。Elastic IPの数には限りがあるので、静的なIPアドレスを多く使用するようなネットワーク構成の場合にも、NAT gatewayは有効である。

サブネット

サブネットは、アベイラビリティゾーン単位で指定できる。サブネットは生成する際にサイズを指定することが可能で、/16から/28までを指定できる。指定したCIDR ブロックの先頭4アドレスと最後の1アドレスは使用することができない。なお、先頭アドレスは、ルータに接続されるIPアドレスとなっている。

ルーティング

各VPCには暗黙的なルータ(implied router)が存在し、標準ではVPC内の各サブネット間の通信のみ許可されている。また、ルートテーブルは、標準で生成されるメインルートテーブルと、各サブネットにそれぞれ割り当てることが可能なカスタムルートテーブルが存在する。明示的にルートテーブルの関連付けを行わない場合は、メインルートテーブルにアタッチされる。インターネットゲートウェイを通じて、インターネットに接続する場合は、ルートテーブルにインターネットゲートウェイへの経路を明示的に追加する必要がある。

ネットワークインタフェース

ネットワークインタフェースは、インスタンスにアタッチ、デタッチしても属性情報は変わらない。1つのインスタンスに複数のネットワークインタフェースをアタッチすることで、管理用ネットワークを別に作成することなどが可能となる。一方で、複数のネットワークインタフェースが存在すると、パブリックIPアドレスの自動割り当ては利用不可となる。

AWS EC2(1)EC2の概要

EC2(Elastic Compute Cloud)とは

EC2は、クラウド内で規模の変更が可能なコンピュータ処理能力を提供するウェブサービス。様々な種類の仮想サーバを起動し、Webコンソールやターミナルから操作することが可能である。

リージョンとアベイラビリティーゾーン

東京リージョンは、コード名:ap-northeast-1、名称:アジアパシフィック(東京)である。AWS SDK for Javaなどは、デフォルトのリージョンがバージニア州(us-east-1)に指定されていることに注意が必要である。すべてのインスタンスを 1 か所でホストしている場合、同じ場所にあるインスタンスすべてに影響する障害が起きたときに、インスタンスがすべて利用できなくなるため、複数のアベイラビリティゾーンにインスタンスを分散配置することが望ましい。

インスタンスを起動するときは、同じリージョン内にある AMI を選択する必要がある。AMI が別のリージョンにある場合は、これから使用するリージョンに AMI をコピーできる。異なるアベイラビリティゾーンにインスタンスを移行したい場合は、AMIを作成し、このAMIを用いて希望するアベイラビリティゾーンにインスタンスを生成する。

アベイラビリティーゾーンは、各アカウントの識別子に個別にマッピングされる。つまり、アカウントAのap-northeast-1aと、アカウントBのap-northeast-1aは、同じアベイラビリティゾーンを指していない場合がある。また、各アカウントごとに指定できるアベイラビリティゾーンの使用が制限され、アカウントによってリージョン内で使用できるアベイラビリティーゾーンの数が異なる場合がある。

リージョンとアベイラビリティーゾーンに関する概念

インスタンスファミリー

利用用途に合わせて様々なインスタンスの種類が存在する。

カテゴリ 名称 特徴/用途
汎用 M4 通常用途
バーストパフォーマンス T2 普段は殆ど負荷がないが一時的に負荷がある 開発機、小規模システム
コンピューティング最適化 C4 CPU性能が必要な用途 APサーバ、画像処理
メモリ最適化 R3 コアあたりのメモリが大きく大量のメモリが必要な用途 DBサーバ
ストレージIO最適化 I2 高速なIOPSを実現するSSDを内蔵 DBサーバ、ビッグデータ
ストレージ密度最適化 D2 大容量HDDを内蔵 DBサーバ、ビッグデータ
GPUインスタンス G2 GPUコアが必要な用途 グラフィック表示、画像処理

IP

  • Elastic IP
    — 明示的に割り当てられたIP
  • Public IP
    — ランダムに割り当てられるPublic IP
    — EC2をStop/Startすると別のIPが割り当てられる
  • Private IP
    — 必ず割り当てられるIP
    — EC2をStop/Startしても同じIPが割り当てられる

Amazon Linux

  • デフォルトユーザはec2-user、sudo権限が付与されている。