翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このセクションでは、NAT ゲートウェイを使用して VPC で Amazon RDS によって Elastic Beanstalk アプリケーションをデプロイするタスクについて説明します。
インフラストラクチャは次の図と似ています。
注記
これまでアプリケーションで DB インスタンスを使用したことがない場合は、テスト環境に DB インスタンスを追加し、両方に VPC 設定を追加する前に、外部 DB インスタンスへの接続を試みます。
パブリックサブネットとプライベートサブネットでの VPC の作成
Amazon VPC コンソール
VPC を作成するには
-
Amazon VPC コンソール
にサインインします。 -
ナビゲーションペインで、[VPC ダッシュボード] を選択します。続いて、[VPC の作成] を選択します。
-
[VPC with Public and Private Subnets(パブリックサブネットとプライベートサブネットを持つ VPC)]、[選択] の順に選択します。
-
Elastic Load Balancing ロードバランサーと Amazon EC2 インスタンスが通信できるようにするには、これらが同じアベイラビリティーゾーンにある必要があります。各 [アベイラビリティーゾーン] リストから同じアベイラビリティーゾーンを選択します。
-
NAT ゲートウェイの Elastic IP アドレスを選択します。
-
[Create VPC (VPC の作成)] を選択します。
ウィザードが、VPC、サブネット、インターネットゲートウェイの作成を開始します。また、メインルートテーブルを更新して、カスタムルートテーブルを作成します。最後に、ウィザードはパブリックサブネットで NAT ゲートウェイを作成します。
注記
NAT ゲートウェイの代わりにパブリックサブネットで NATインスタンスを起動することを選択できます。詳細については、「Amazon VPC ユーザーガイド」の「シナリオ 2: パブリックサブネットとプライベートサブネットを使用する VPC (NAT)」を参照してください。
-
VPC が正しく作成されると、VPC ID が発行されます。この値は次のステップで必要になります。VPC ID を表示するには、Amazon VPC コンソール
の左ペインで [VPC] を選択します。
DB サブネットグループを作成する
VPC の DB サブネットグループは、バックエンド RDS DB インスタンス用に指定できるサブネットのコレクション (通常はプライベート) です。各 DB サブネットグループには、特定の AWS リージョン内のアベイラビリティーゾーンごとに 1 つ以上のサブネットを指定する必要があります。詳細については、「VPC でサブネットを作成する」を参照してください。
DB サブネットグループを作成する
-
Amazon RDS コンソール
を開きます。 -
[Navigation] ペインで、[Subnet groups] を選択します。
-
[Create DB Subnet Group] を選択します。
-
[名前] を選択し、DB サブネットグループの名前を入力します。
-
[Description (説明)] を選択して、DB サブネットグループの説明を入力します。
-
[VPC] で、作成した VPC の ID を選択します。
-
[Add subnets (サブネットの追加)] で、[Add all the subnets related to this VPC (この VPC に関連するすべてのサブネットを追加)] を選択します。
-
完了したら、[Create] を選択します。
Amazon RDS コンソールの DB サブネットグループのリストに新しい 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 設定] ページで、次の選択を行う必要があります。
- [VPC]
-
VPC を選択します。
- VPC セキュリティグループ
-
上の手順で作成したインスタンスセキュリティグループを選択します。
- ELB の可視性
-
ロードバランサーを公開する場合は
External
を選択し、ロードバランサーを VPC 内でのみ使用できるようにする場合はInternal
を選択します。
ロードバランサーと EC2 インスタンスのサブネットを選択します。必ず、ロードバランサーのパブリックサブネットと Amazon EC2 インスタンスのプライベートサブネットを選択します。デフォルトでは、VPC 作成ウィザードにより 10.0.0.0/24
にパブリックサブネットが、10.0.1.0/24
にプライベートサブネットが作成されます。
サブネット ID を表示するには、Amazon VPC コンソール
AWS ツールキット、EB CLI、AWS CLI、または API でデプロイする
AWS ツールキット、EB CLI、AWS CLI、または API を使用してアプリケーションを Elastic Beanstalk にデプロイする場合は、ファイルで VPC オプション設定を指定して、ソースバンドルと一緒にデプロイできます。詳細については、「設定ファイル (.ebextensions) による高度な環境のカスタマイズ」を参照してください。
オプション設定を更新するときに、少なくとも次を指定する必要があります。
-
VPCId – VPC の ID が含まれます。
-
Subnets – Auto Scaling グループサブネットの ID が含まれます。この例では、これはプライベートサブネットの ID です。
-
ELBSubnets – ロードバランサーのサブネットの ID が含まれます。この例では、これはパブリックサブネットの ID です。
-
SecurityGroups – セキュリティグループの ID が含まれます。
-
DBSubnets – DB サブネットの ID が含まれます。
注記
DB サブネットを使用する場合は、VPC で追加のサブネットを作成し、AWS リージョン内のすべてのアベイラビリティーゾーンを対象にする必要があります。
オプションで、次の情報を指定することもできます。
-
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
注記
DB サブネットを使用する場合は、VPC にサブネットが含まれ、AWS リージョン内のすべてのアベイラビリティーゾーンがそのサブネットの対象になっていることを確認してください。