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

Elastic Beanstalk 環境内で EC2 インスタンスを設定する

環境内にある Auto Scalingグループは、アプリケーションを実行する EC2 インスタンスを管理します。Auto Scaling グループの起動設定に対する変更には、すべてのインスタンスの置換が必要で、ローリング更新または変更不可能な更新がトリガーされます(どちらがトリガーされるかは設定により異なります)。

AWS マネジメントコンソールでの環境の EC2 インスタンスの設定

Elastic Beanstalk環境の Auto Scaling グループ設定は、Elastic Beanstalk コンソールで変更できます。

EC2 インスタンスを設定する(コンソール)

  1. Elastic Beanstalk コンソールを開きます。

  2. お客様の環境の管理ページに移動します。

  3. [Configuration] を選択します。

  4. [Instances] を選択します。

以下の設定を使用できます。

インスタンスタイプ

インスタンスタイプの設定は、アプリケーションの実行時に起動する EC2 インスタンスのタイプを決定します。インスタンスは、負荷がかかった状態でもアプリケーションを実行できるものを選択します(ただし、長時間にわたりアイドル状態になるようなインスタンスは避けてください)。開発目的のため、t2 インスタンスファミリーは、短期間のバーストが可能な中程度の強度を備えています。

大規模な高可用性アプリケーションについては、インスタンスの 1 つが停止状態になっても多大な影響を受けない大容量のインスタンスプールを使用します。まず、平常時に中程度の負荷下で 5つのインスタンスを実行できるインスタンスから試してみることをお勧めします。いずれかのインスタンスが失敗した場合は、残りのインスタンスがその他のトラフィックを吸収します。 また、ピーク時間帯のトラフィック上昇に対応するため、環境を拡張する時間としてキャパシティーバッファが設けられています。

EC2 インスタンスファミリーの詳細については、『Amazon Elastic Compute Cloud ユーザーガイド』の「インスタンスタイプ」を参照してください。

セキュリティグループ

セキュリティグループは、インスタンスへの進入 (受信) を許可するトラフィックと、インスタンスからの退出 (送信) を許可するトラフィックを決定するインスタンスにアタッチされています。Elastic Beanstalk は、HTTP (80) および HTTPS (443) の標準ポートのロードバランサーからのトラフィックを許可するセキュリティグループを作成します。

追加のセキュリティグループを指定し、他のポート上にあるトラフィックやその他のソースからのトラフィックを許可することも可能です。たとえば、SSH アクセス用セキュリティグループを作成し、アクセス制限された IP アドレス範囲からのトラフィックや、セキュリティ強化目的で自分だけがアクセス権限を持っている拠点ホストからのトラフィックをポート 22 で着信するよう設定しても構いません。

Amazon EC2 セキュリティグループの詳細については、『Amazon Elastic Compute Cloud ユーザーガイド』の「Amazon EC2 セキュリティグループ」を参照してください。

EC2 Key Pair

Elastic Beanstalk アプリケーション用にプロビジョニングされた Amazon EC2 インスタンスには、Amazon EC2 のキーペアを使用して安全にログインできます。Amazon EC2 のキーペアを作成する手順については、「Amazon Elastic Compute Cloud Getting Started Guide」を参照してください。

ドロップダウンメニューから適切な EC2 キーペアを選択し、環境のインスタンスに割り当てます。キーペアを割り当てるとパブリックキーがインスタンスに保存され、ローカルに保存されているプライベートキーの認証が行われます。プライベートキーが AWSに保存されることはありません。

Amazon EC2 インスタンスに接続する方法の詳細については、『Amazon Elastic Compute Cloud ユーザーガイド』の「インスタンスへの接続」と「PuTTY を使用した Windows から Linux/UNIX インスタンスへの接続」を参照してください。

間隔を監視する

デフォルトでは、環境内にあるインスタンスがベーシックヘルスレポートのメトリクスを 5 分間隔で CloudWatch に公開します(追加料金は発生しません)。

より詳細なレポートを実行するには、[Monitoring interval] を [1 minute] に設定し、環境内のリソースがベーシックヘルスレポートのメトリクスを CloudWatch に公開する頻度を高めます。この場合、Amazon CloudWatch の利用料金は、1 分間隔のメトリクスに適用されます。詳細については、Amazon CloudWatch を参照してください。

カスタム AMI ID

Amazon マシンイメージ(AMI)は、Amazon Linux または Windows Server のマシンイメージで、環境で EC2 インスタンスを起動する目的で AWS Elastic Beanstalk が使用します。Elastic Beanstalk は、アプリケーションの実行に必要なツールとリソースを含むマシンイメージを提供します。

Elastic Beanstalk は、選択されるリージョン、プラットフォーム、インスタンスタイプに基づいて、環境のデフォルト AMI を選択します。カスタム AMI を作成した場合は、デフォルトの AMI ID と置き換えます。

インスタンスプロファイル

インスタンスプロファイル は、Elastic Beanstalk 環境で起動するインスタンスに適用される IAM ロールです。EC2 インスタンスは、AWS へのリクエストに署名し、API にアクセスして Amazon S3 にログをアップロードするなどのインスタンスプロファイルのロールを引き受けます。

AWS マネジメントコンソール で初めて環境を作成する場合、Elastic Beanstalk により、デフォルトのアクセス権限のセットでインスタンスプロファイルを作成するように求められます。インスタンスが他の AWS サービスにアクセスできるように、このプロファイルにはアクセス権限を追加することができます。詳細については、Elastic Beanstalk インスタンスプロファイルを管理する を参照してください。

ルートボリューム(起動デバイス)

環境内の各インスタンスは、ルートボリュームを使用して設定されます。ルートボリュームは、オペレーティングシステムやライブラリ、スクリプト、アプリケーションのソースコードを格納するためにインスタンスにアタッチされる Amazon EBS ブロックデバイスです。デフォルトでは、すべてのプラットフォームでストレージ用の汎用 SSD ブロックデバイスが使用されます。

ルートボリュームタイプを変更して、マグネティックストレージやプロビジョンド IOPS SSD ボリュームタイプを使用すれば、必要に応じてボリュームサイズを増大することが可能です。プロビジョンド IOPS ボリュームでは、プロビジョニングする IOPS の数を選択する必要があります。必要なパフォーマンスと価格の要件を満たすボリュームタイプを選択します。

詳細については、「Amazon EBS ボリュームタイプ」および「Amazon EBS 製品の詳細」を参照してください。

設定ファイル

aws:autoscaling:launchconfigurationAuto Scaling グループを設定する名前空間内では、設定オプションを使用できます(コンソールで利用できない追加のオプションを含む)。

設定ファイルは、コンソールで利用できない追加オプション BlockDeviceMappings の上にある基本オプションを設定します。

option_settings:
  aws:autoscaling:launchconfiguration:
    InstanceType: m1.small
    SecurityGroups: my-securitygroup
    EC2KeyName: my-keypair
    MonitoringInterval: "1 minute"
    ImageId: "ami-cbab67a2"
    IamInstanceProfile: "ElasticBeanstalkProfile"
    BlockDeviceMappings: "/dev/sdj=:100,/dev/sdh=snap-51eef269,/dev/sdb=ephemeral0"

BlockDeviceMappings では、インスタンス用の追加のブロックデバイスを設定できます。ブロックデバイスマッピングの詳細については、「Amazon Elastic Cloud Computer User Guide」の「Block Device Mapping」を参照してください。

EB CLI および Elastic Beanstalk コンソールは、上記のオプションで推奨値も適用します。設定ファイルを使用して設定する場合、これらの設定は削除する必要があります。詳細については、「推奨値」を参照してください。