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

例: Amazon RDS を使用して VPC で Elastic Beanstalk を起動する

このトピックでは、NAT ゲートウェイを使用して VPC で Amazon RDS によって Elastic Beanstalk アプリケーションをデプロイする手順について説明します。インフラストラクチャは次の図と似ています。

 Amazon RDS での Elastic Beanstalk と VPC トポロジ

注記

これまでアプリケーションで DB インスタンスを使用したことがない場合は、テスト環境に DB インスタンスを追加し、両方に VPC 設定を追加する前に、外部 DB インスタンスへの接続を試みます。

NAT ゲートウェイを使用して VPC 内で Amazon RDS によって Elastic Beanstalk アプリケーションをデプロイするには、次の操作を完了する必要があります。

パブリックサブネットとプライベートサブネットでの VPC の作成

Amazon VPC コンソールを使用して VPC を作成します。

VPC を作成するには

  1. [Amazon VPC console] にサインインします。

  2. ナビゲーションペインで、[VPC Dashboard] を選択します。続いて、[Start VPC Wizard] を選択します。

  3. [VPC with Public and Private Subnets]、[Select] の順に選択します。

     ウィザードでオプション 2 を選択
  4. Elastic Load Balancing ロードバランサーと Amazon EC2 インスタンスが通信できるようにするには、これらが同じアベイラビリティーゾーンにある必要があります。各 [Availability Zone] リストから同じアベイラビリティーゾーンを選択します。

     オプション 2 の確認ページ
  5. NAT ゲートウェイの Elastic IP アドレスを選択します。

  6. [VPC の作成] を選択します。

    ウィザードが、VPC、サブネット、インターネットゲートウェイの作成を開始します。また、メインルートテーブルを更新して、カスタムルートテーブルを作成します。最後に、ウィザードはパブリックサブネットで NAT ゲートウェイを作成します。

    注記

    NAT ゲートウェイの代わりにパブリックサブネットで NATインスタンスを起動することを選択できます。 詳細については、『Amazon VPC ユーザーガイド』の「シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC(NAT)」を参照してください。

  7. VPC が正しく作成されると、VPC ID が発行されます。 これは、次のステップで必要になります。VPC ID を表示するには、[Amazon VPC console] の左ペインで [Your VPCs] を選択します。

     VPC ID

DB サブネットグループを作成する

VPC の DB サブネットグループは、バックエンド RDS DB インスタンス用に指定するサブネットのコレクション(通常はプライベート)です。各 DB サブネットグループには、特定のリージョン内の Availability Zone ごとに 1 つ以上のサブネットを指定する必要があります。

DB サブネットグループを作成する

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

  2. ナビゲーションペインで、[Subnet Groups] をクリックします。

  3. [Create DB Subnet Group] をクリックします。

  4. [Name] をクリックし、DB サブネットグループの名前を入力します。

  5. [Description] をクリックし、DB サブネットグループの説明を入力します。

  6. [VPC ID] の横にある、作成した VPC の ID を選択します。

  7. [Add Subnet(s) to this Subnet Group] セクションで、[add all the subnets] リンクをクリックします。

     [Create DB Subnet Group] ボタン
  8. 完了したら、[Yes, Create] をクリックします。

  9. 確認ウィンドウで、[Close] をクリックします。

    RDS コンソールの [DB Subnet Groups] リストに新しい DB サブネットグループが表示されます。その DB サブネットグループをクリックすると、そのグループに関連付けられているすべてのサブネットなどの詳細情報が、ウィンドウの下部にある詳細ペインに表示されます。

Elastic Beanstalk へのデプロイ

VPC を設定したら、VPC 内部に環境を作成して、アプリケーションを Elastic Beanstalk にデプロイできます。インストールには、Elastic Beanstalk コンソールを使用するか、AWS ツールキット、AWS CLI、EB CLI、または Elastic Beanstalk API を使用できます。Elastic Beanstalk コンソールを使用した場合、.war ファイルまたは .zip ファイルをアップロードして、ウィザード内で VPC 設定を選択するだけでかまいません。その後、Elastic Beanstalk は VPC 内に環境を作成し、アプリケーションをデプロイします。または、AWS ツールキット、AWS CLI EB CLI、Elastic Beanstalk API を使用してアプリケーションをデプロイできます。その場合は、設定ファイルで VPC オプション設定を定義して、このファイルをソースバンドルと共にデプロイする必要があります。このトピックでは、両方の方法の手順を説明します。

Elastic Beanstalk コンソールでデプロイする

Elastic Beanstalk コンソールに、VPC 内部に新しい環境を作成する手順が表示されます。.war ファイル (Java アプリケーション)、または .zip (その他すべてのアプリケーション) ファイルを提供する必要があります。Elastic Beanstalk 環境ウィザードの [VPC Configuration] ページで、次の選択を行う必要があります。

VPC

VPC を選択します。

VPC セキュリティグループ

上の手順で作成したインスタンスセキュリティグループを選択します。

ELB の可視性

ロードバランサーを公開する場合は External を選択し、ロードバランサーを VPC 内でのみ使用できるようにする場合は Internal を選択します。

ロードバランサーと EC2 インスタンスのサブネットを選択します。必ず、ロードバランサーのパブリックサブネットと Amazon EC2 インスタンスのプライベートサブネットを選択します。デフォルトでは、VPC 作成ウィザードにより 10.0.0.0/24 にパブリックサブネットが、10.0.1.0/24 にプライベートサブネットが作成されます。

サブネット ID を表示するには、[Amazon VPC console] で [Subnets] を選択します。

 VPC のサブネット ID

AWS ツールキット、Eb、CLI、または API でデプロイする

AWS Toolkit、EB CLI、AWS CLI、または API を使用してアプリケーションを Elastic Beanstalk にデプロイする場合は、ファイルで VPC オプション設定を指定して、ソースバンドルと一緒にデプロイできます。詳細については、「設定ファイル(.ebextensions)による高度な環境のカスタマイズ」を参照してください。

オプション設定を更新するときに、少なくとも次を指定する必要があります。

  • VPCId – VPC の ID が含まれます。

  • Subnets – Auto Scaling グループのサブネット ID が含まれます。この例では、これはプライベートサブネットの ID です。

  • ELBSubnets – Elastic Load Balancing のサブネットの ID が含まれます。この例では、これはパブリックサブネットの ID です。

  • [SecurityGroups] – セキュリティグループの ID が含まれます。

  • DBSubnets – DB サブネットの ID が含まれます。

    注記

    DBSubnets を使用する場合は、VPC で追加のサブネットを作成し、リージョン内のすべてのアベイラビリティーゾーンを対象にする必要があります。

オプションで、次の情報を指定することもできます。

  • ELBScheme – VPC 外部から Elastic Beanstalk アプリケーションにアクセスできないようにするために VPC 内に内部ロードバランサーを作成する場合は、internal を指定します。

VPC 内で Elastic Beanstalk アプリケーションをデプロイするときに使用可能なオプション設定の例を次に示します。VPC オプション設定の詳細(オプション設定の指定方法の例、デフォルト値、有効な値など)については、「設定オプション」に記載されている aws:ec2:vpc 名前空間の表を参照してください。

option_settings:
  - namespace: aws:autoscaling:launchconfiguration
    option_name: EC2KeyName
    value: ec2keypair
    
  - namespace: aws:ec2:vpc
    option_name: VPCId
    value: vpc-170647c
    
  - namespace: aws:ec2:vpc
    option_name: Subnets
    value: subnet-4f195024
    
  - namespace: aws:ec2:vpc
    option_name: ELBSubnets
    value: subnet-fe064f95
    
  - namespace: aws:ec2:vpc
    option_name: DBSubnets
    value: subnet-fg148g78
    
  - namespace: aws:autoscaling:launchconfiguration
    option_name: InstanceType
    value: m1.small
    
  - namespace: aws:autoscaling:launchconfiguration
    option_name: SecurityGroups
    value: sg-7f1ef110

注記

DBSubnets を使用する場合は、VPC にサブネットが含まれ、リージョン内のすべてのアベイラビリティーゾーンがそのサブネットの対象になっていることを確認してください。