

# Systems Manager パブリックパラメータを使用して最新の AMI を参照する
<a name="finding-an-ami-parameter-store"></a>

AWS Systems Manager には、AWS によって維持されるパブリック AMI 用のパブリックパラメータがあります。インスタンスの起動時にパブリックパラメータを使用することで、確実に最新の AMI を使用することができます。例えば、パブリックパラメータ `/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64` はすべてのリージョンで使用でき、特定のリージョンの arm64 アーキテクチャ対応 Amazon Linux 2023 AMI の最新バージョンを常にポイントします。

パブリックパラメータは次のパスから使用できます。
+ **Linux** – `/aws/service/ami-amazon-linux-latest`
+ **Windows** – `/aws/service/ami-windows-latest`

詳細については、「[AWS Systems Manager ユーザーガイド](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-public-parameters.html)」の「*Parameter Store でのパブリックパラメータの使用*」を参照してください。

## Amazon Linux AMI の一覧表示
<a name="list-ami-amazon-linux-latest"></a>

------
#### [ AWS CLI ]

**現在の AWS リージョンの Linux AMI を一覧表示する**  
次の [get-parameters-by-path](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters-by-path.html) コマンドを使用します。`--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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-SSMParametersByPath.html) コマンドレットを使用します。

```
Get-SSMParametersByPath `
    -Path "/aws/service/ami-amazon-linux-latest" | `
    Sort-Object Name | Format-Table Name
```

------

## Windows AMI の一覧表示
<a name="list-ami-windows-latest"></a>

------
#### [ AWS CLI ]

**現在の AWS リージョンの Windows AMI を一覧表示する**  
次の [get-parameters-by-path](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters-by-path.html) コマンドを使用します。`--path` パラメータの値は Windows AMI に固有の値です。

```
aws ssm get-parameters-by-path \
    --path /aws/service/ami-windows-latest \
    --query "Parameters[].Name"
```

------
#### [ PowerShell ]

**現在の AWS リージョンの Windows AMI を一覧表示する**  
[Get-SSMParametersByPath](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-SSMParametersByPath.html) コマンドレットを使用します。

```
Get-SSMParametersByPath `
    -Path "/aws/service/ami-windows-latest" | `
    Sort-Object Name | Format-Table Name
```

------

## パブリックパラメータを使用したインスタンスの起動
<a name="launch-instance-public-parameter"></a>

インスタンスの起動時にパブリックパラメータを指定するには、`resolve:ssm:public-parameter` 構文を使用します。この構文では、`resolve:ssm` が標準のプレフィクス、`public-parameter` がパブリックパラメータのパスと名前です。

------
#### [ AWS CLI ]

**パブリックパラメータを使用してインスタンスを作成するには**  
`--image-id` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。この例では、イメージ 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](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。この例では、イメージ 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 のクエリする](https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/)」および「[AWS Systems Manager Parameter Storeを使用して最新の Windows AMI をクエリする](https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/)」を参照してください。