Amazon EC2 Auto Scaling グループの起動テンプレートを使用しようとしたら、「許可されていません」というエラーが発生しました。
解決策
EC2 Auto Scaling グループを起動するための適切な AWS Identity and Access Management (IAM) アクセス許可がない場合に、「許可されていません」というエラーが表示されます。この問題を解決するには、IAM ポリシーに次のアクセス許可を追加します。
IAM 認証情報
IAM エンティティに RunInstances API アクションを使用するためのアクセス許可があることを確認してください。また、起動テンプレートでタグを使用する場合は、CreateTags API アクションを使用するアクセス許可があることを確認してください。
ポリシーの例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"Ec2:RunInstances",
"Ec2:CreateTags"
],
"Resource": [
"*"
]
}
]
}
AWS マネージドポリシー AmazonEC2FullAccess を使用することで、Amazon Elastic Compute Cloud (Amazon EC2) のすべてのリソースと関連サービスへのフルアクセスを付与できます。
インスタンスプロファイル
インスタンスプロファイルを指定するテンプレートを起動するには、ポリシーに PassRole アクセス許可を付与する必要があります。
ポリシーの例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:Passrole"
],
"Resource": [
"arn:aws:iam::11111111111:role/InstanceProfileRole"
]
}
]
}
注: PassRole アクセス許可は、同じ AWS アカウントを共有するサービスに IAM ロールを渡す場合にのみ使用できます。
AMI が別のアカウントにある場合
Amazon マシンイメージ (AMI) を指定するテンプレートを別の AWS アカウントで起動するには、そのアカウントが AMI へのアクセス許可を持っている必要があります。
AMI へのアクセス許可を確認するには、次の手順を実行します。
- Amazon EC2 コンソールを開きます。
- ナビゲーションペインで [AMI] を選択します。
- [AMI 名] でお使いの AMI を選択し、[アクセス許可] タブを選択します。
- [アクセス許可] で、アカウントが AMI のリストに表示されていることを確認します。
- アカウントに AMI へのアクセス許可がない場合は、AMI をアカウントと共有します。
関連情報
Amazon EC2 インスタンスで実行されるアプリケーションの IAM ロール