Amazon Elastic Container Service (Amazon ECS) 向けに最適化された Amazon マシンイメージ (AMI) でインスタンスを起動したいと考えています。その方法を教えてください。
簡単な説明
Amazon ECS 最適化 AMI を起動するには、次のオプションから選択できます。
- Amazon Elastic Compute Cloud (Amazon EC2) コンソールから Amazon ECS 最適化 AMI を使用して Amazon ECS 最適化コンテナインスタンスを起動する
- Amazon ECS に最適化された AMI の作成を自動化する
解決方法
Amazon ECS に最適化された AMI を使用して Amazon ECS に最適化されたコンテナインスタンスを起動する
- Amazon EC2 コンソールを開きます。
- [Create Instance] (インスタンスの作成) セクションで、[Launch Instance] (インスタンスの起動) を選択します。
- 左側のナビゲーションペインで [AWS Marketplace] をクリックします。次に、検索バーに「ecs-optimized」と入力します。
- 必要性に基づいて、以下の AMI バージョンのいずれかを選択します。Amazon Linux AMI、Amazon Linux 2 AMI、Windows Server 2016、Amazon Linux 2 AMI (ARM)
重要: Amazon ECS に最適化されたインスタンスを Amazon ECS クラスターに参加させるには、「Amazon ECS Linux コンテナインスタンスの起動」を参照してください。
Amazon ECS に最適化された AMI の作成を自動化する
AWS Systems Manager パラメータを使用して、Amazon ECS に最適化された AMI メタデータを自動化して取得します。
次の例では、image_id サブパラメータは、us-east-1 内の Amazon Linux EC2 に最適化された現在の推奨 AMI バージョンに対してのみマシンイメージ AMI ID を返します。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
AMI ID を使用して、us-east-1 で Amazon Linux コンテナインスタンスを起動することができます。また、コマンドを変更して、特定のバージョンや AWS リージョンのマシンイメージを返すようにすることもできます。
重要: SSM パラメータを使用するには、最新バージョンの AWS Command Line Interface (AWS CLI) を実行してください。
SSM パラメータを AWS CloudFormation テンプレートの入力パラメータとして使用できます。以下の例をご覧ください。
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
ImageId:
Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
Description: Use an Image from SSM Parameter Store
Default: /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id
Resources:
EC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: t3.micro
SecurityGroups: [!Ref 'EC2SecurityGroup']
ImageId: !Ref ImageId
EC2SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: SSH access
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: '22'
ToPort: '22'
CidrIp: 0.0.0.0/0
関連情報
Amazon マシンイメージ (AMI)