Systems Manager パブリックパラメータを使用して最新の AMI を参照する
AWS Systems Manager には、AWS によって維持されるパブリック AMI 用のパブリックパラメータがあります。インスタンスの起動時にパブリックパラメータを使用することで、確実に最新の AMI を使用することができます。例えば、パブリックパラメータ /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64 はすべてのリージョンで使用でき、特定のリージョンの arm64 アーキテクチャ対応 Amazon Linux 2023 AMI の最新バージョンを常にポイントします。
パブリックパラメータは次のパスから使用できます。
詳細については、「AWS Systems Manager ユーザーガイド」の「Parameter Store でのパブリックパラメータの使用」を参照してください。
パブリック AMI の SSM パラメータを検索する
パブリック AMI を記述する場合、レスポンスには PublicSsmParameterName フィールドに関連付けられた AWS Systems Manager (SSM) パラメータが含まれます。このパラメータを使用して、常に AMI の最新バージョンを指す SSM パラメータを識別します。
- Console
-
- AWS CLI
-
パブリック AMI の SSM パラメータを検索するには
describe-images コマンドを使用します。レスポンスには、関連付けられた SSM パラメータを持つパブリック AMI の PublicSsmParameterName フィールドが含まれます。
aws ec2 describe-images \
--image-ids ami-0abcdef1234567890
次の出力例では、PublicSsmParameterName フィールドが示されます。一部のフィールドは簡潔さのために省略されています。
{
"Images": [
{
"ImageId": "ami-0abcdef1234567890",
"Name": "al2023-ami-2023.7.20260601.0-kernel-6.1-x86_64",
...
"PublicSsmParameterName": "aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64"
}
]
}
- PowerShell
-
パブリック AMI の SSM パラメータを検索するには
Get-EC2Image コマンドレットを使用します。レスポンスには、関連付けられた SSM パラメータを持つパブリック AMI の PublicSsmParameterName フィールドが含まれます。
Get-EC2Image -ImageId ami-0abcdef1234567890
次の出力例では、PublicSsmParameterName フィールドが示されます。一部のフィールドは簡潔さのために省略されています。
ImageId : ami-0abcdef1234567890
Name : al2023-ami-2023.7.20260601.0-kernel-6.1-x86_64
...
PublicSsmParameterName : aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64
Amazon Linux AMI の一覧表示
- AWS CLI
-
現在の AWS リージョンの Linux AMI を一覧表示する
次の get-parameters-by-path コマンドを使用します。--path パラメータの値は Linux AMI に固有の値です。
aws ssm get-parameters-by-path \
--path /aws/service/ami-amazon-linux-latest \
--query "Parameters[].Name"
- PowerShell
-
現在の AWS リージョンの Linux AMI を一覧表示する
Get-SSMParametersByPath コマンドレットを使用します。
Get-SSMParametersByPath `
-Path "/aws/service/ami-amazon-linux-latest" | `
Sort-Object Name | Format-Table Name
Windows AMI の一覧表示
- AWS CLI
-
現在の AWS リージョンの Windows AMI を一覧表示する
次の get-parameters-by-path コマンドを使用します。--path パラメータの値は Windows AMI に固有の値です。
aws ssm get-parameters-by-path \
--path /aws/service/ami-windows-latest \
--query "Parameters[].Name"
- PowerShell
-
現在の AWS リージョンの Windows AMI を一覧表示する
Get-SSMParametersByPath コマンドレットを使用します。
Get-SSMParametersByPath `
-Path "/aws/service/ami-windows-latest" | `
Sort-Object Name | Format-Table Name
パブリックパラメータを使用したインスタンスの起動
インスタンスの起動時にパブリックパラメータを指定するには、resolve:ssm:public-parameter 構文を使用します。この構文では、resolve:ssm が標準のプレフィクス、public-parameter がパブリックパラメータのパスと名前です。
- AWS CLI
-
パブリックパラメータを使用してインスタンスを作成するには
--image-id オプションで run-instances コマンドを使用します。この例では、イメージ ID の Systems Manager パブリックパラメータを指定して、最新の Amazon Linux 2023 AMI でインスタンスを起動します。
--image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64
- PowerShell
-
パブリックパラメータを使用してインスタンスを作成するには
-ImageId パラメータで New-EC2Instance コマンドレットを使用します。この例では、イメージ ID の Systems Manager パブリックパラメータを指定して、Windows Server 2022 向けの最新 AMI でインスタンスを起動します。
-ImageId "resolve:ssm:/aws/service/ami-windows-latest/Windows_Server-2022-English-Full-Base"
Systems Manager パラメータを使用するその他の例については、「AWS Systems Manager Parameter Storeを使用して最新の Amazon Linux AMI ID のクエリする」および「AWS Systems Manager Parameter Storeを使用して最新の Windows AMI をクエリする」を参照してください。