メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

Amazon VPC で Elastic Beanstalk を使用する

Amazon Virtual Private Cloud(Amazon VPC)を使用すると、アマゾン ウェブ サービス(AWS)クラウド内の独自の切り離されたセクションで仮想ネットワーク(Virtual Private Cloud(VPC)とも呼ばれます)を定義できます。VPC を使用すると、内部ウェブアプリケーション(リクルーティングアプリケーションなど)、構内データベースに接続するウェブアプリケーション(VPN 接続を使用)、プライベートウェブサービスバックエンドなど、ウェブアプリケーションの新しいクラスを Elastic Beanstalk にデプロイできます。Elastic Beanstalk は、VPC 内でインスタンスなどの AWS リソースを起動します。VPC は従来のネットワークとよく似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。VPC は完全にコントロールできます。例えば、IP アドレス範囲を選択したり、サブネットを作成したりできます。また、ルートやネットワークゲートウェイを設定することもできます。各サブネットでのリソースの保護には、セキュリティグループ、ネットワークアクセスコントロールリストなど、複数のセキュリティレイヤーを使用できます。Amazon VPC の詳細については、「Amazon VPC ユーザーガイド」を参照してください。

注記

Elastic Beanstalk は、現在ウェブのプロキシを設定する Linux プロキシ設定(HTTP_PROXY、HTTPS_PROXY および NO_PROXY)をサポートしていません。お客様の環境内のインスタンスは、インターネットへ直接アクセスするか、NAT デバイスを介してアクセスする必要があります。

重要

Elastic Beanstalk 環境内のインスタンスでは、Network Time Protocol (NTP)を使用してシステムクロックを同期させます。インスタンスが UDP ポート 123 上で通信できない場合は、クロックが同期しなくなり、Elastic Beanstalk ヘルスレポートに問題が発生することがあります。これらの問題を回避するには、VPC のセキュリティグループとネットワーク ACL で、ポート 123 上の送信 UDP トラフィックを許可していることを確認してください。

必要な VPC 設定の確認

Elastic Beanstalk で Amazon VPC を使用する場合、Amazon EC2 インスタンスなどの Elastic Beanstalk リソースをパブリックサブネットまたはプライベートサブネットで起動することができます。必要なサブネットは、使用する Elastic Beanstalk アプリケーション環境タイプと、起動するリソースがパブリックかプライベートかによって異なります。次のシナリオでは、特定の環境で使用するサンプル VPC 設定について説明します。

単一インスタンス環境

単一インスタンス環境では、Elastic Beanstalk は Elastic IP アドレス(静的なパブリック IP アドレス)をインスタンスに割り当てることで、インターネットを使用した直接通信を可能にします。単一インスタンス環境では、ネットワークアドレス変換(NAT)など、他のネットワークインターフェイスは必要ありません。

バックエンド Amazon RDS DB インスタンスなど、関連付けられているプライベートリソースがない単一インスタンス環境の場合、1 つのパブリックサブネットで VPC を作成し、そのサブネットにそのインスタンスを含めます。詳細については、「例: 関連付けられているプライベートリソースが VPC 内にない単一インスタンスの環境の起動」を参照してください。

パブリックにしたくないリソースがある場合、1 つのパブリックサブネットと 1 つのプライベートサブネットで VPC を作成します単一 Amazon EC2 インスタンスなど、すべてのパブリックリソースをパブリックサブネットに追加し、バックエンド Amazon RDS DB インスタンスなどのプライベートリソースをプライベートサブネットに追加します。VPC で Amazon RDS DB インスタンスを起動する場合は、異なるアベイラビリティーゾーンに 2 つ以上の別のプライベートサブネットを作成する必要があります(Amazon RDS は必須)。

ロードバランシングでオートスケーリングの環境

負荷分散型オートスケーリング環境の場合は、VPC としてパブリック/プライベートサブネットを作成するか、単一パブリックサブネットを使用することができます。負荷分散型オートスケーリング環境でパブリックサブネットとプライベートサブネットの両方を持つ場合、プライベートサブネットにある Amazon EC2 インスタンスはインターネット接続を必要とします。以下のシナリオを検討してください。

Amazon EC2 インスタンスにプライベート IP アドレスを使用させる

各アベイラビリティーゾーン(Elastic Beanstalk 条件)で、VPC 用のパブリックおよびプライベートサブネットを作成します。次に、パブリックサブネットにロードバランサーや NAT などのパブリックリソースを追加します。Elastic Beanstalk がそれらに一意の Elastic IP アドレス(静的なパブリック IP アドレス)を割り当てます。プライベートサブネット内の Amazon EC2 インスタンスを起動します。これにより、Elastic Beanstalk は、プライベート IP アドレスをそれらに割り当てます。

パブリック IP アドレスがなければ、Amazon EC2 インスタンスはインターネットと直接通信できません。プライベートサブネット内の Amazon EC2 インスタンスはデフォルトではアウトバウンドトラフィックを送信できませんが、インターネットから未承諾のインバウンド接続を受け取ることもできません。

プライベートサブネットおよびパブリックサブネットと、パブリックサブネットより外のインターネットが通信可能にするために、以下の処理を行うルーティングルールを作成します。

  • ロードバランサーを使用して Amazon EC2 インスタンスへのすべてのインバウンドトラフィックをルーティングする。

  • Amazon EC2 インスタンスから NAT デバイスを介して、すべてのアウトバウンドトラフィックをルーティングする。

プライベートなリソースを用意する

バックエンド Amazon RDS DB インスタンスなどのプライベートリソースを関連付けている場合は、プライベートサブネットでリソースを起動します。

注記

Amazon RDS では、別のアベイラビリティーゾーンに少なくとも 2 つのサブネットが必要です。詳細については、「例: Amazon RDS を使用して VPC で Elastic Beanstalk を起動する」を参照してください。

プライベートリソースを用意しない

VPC 用のパブリックサブネットを 1 つ作成できます。単一パブリックサブネットを使用する場合は、[Associate Public IP Address] を選択して、ロードバランサーと Amazon EC2 インスタンスをパブリックサブネットに追加する必要があります。Elastic Beanstalk は各 Amazon EC2 インスタンスにパブリック IP アドレスを割り当てるため、これらのインスタンスはインターネットと通信するために NAT デバイスを必要としません。

詳細については、「例: VPC 内のパブリックリソースとプライベートリソースで構成される負荷分散型オートスケーリング環境の起動」を参照してください。

プライベートサブネットの Amazon EC2 インスタンスへの直接アクセス権が必要です。

プライベートサブネット内の Amazon EC2 インスタンスに直接アクセスする必要がある場合は(SSH を使用してインスタンスにサインインする場合など)、インターネットからのリクエストをプロキシする拠点ホストをパブリックサブネット内に作成します。拠点ホストを使用して、インターネットからインスタンスに接続することができます。詳細については、「Example: 拠点ホストを使用して VPC で Elastic Beanstalk アプリケーションを起動する」を参照してください。

AWS への独自ネットワーク拡張

独自ネットワークをクラウドに拡張し、VPC からインターネットへの直接アクセスを可能にするには、VPN ゲートウェイを作成します。VPN ゲートウェイを作成する詳細については、『Amazon VPC ユーザーガイド』の「シナリオ 3: パブリックサブネットとプライベートサブネット、およびハードウェア VPN アクセスを持つ VPC」を参照してください。

このページの内容: