我正在运行以下 aws cli 命令来为单个 ec2 实例创建云形成堆栈。
$ aws cloudformation create-stack --template-body file://templates/single-instance.yml --stack-name single-instance --parameters ParameterKey=KeyName,ParameterValue=SOME-EXISTING-KEY-PAIR ParameterKey=InstanceType,ParameterValue=t2.micro
我正在使用这个模板(转换为 yaml):https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/EC2InstanceWithSecurityGroupSample.template
虽然创建了 cloudformation 作业,但它在控制台中失败并显示以下错误:AccessDenied. User doesn't have permission to call ec2:DescribeKeyPairs. Rollback requested by user
,尽管我似乎在 AWS 中拥有适当的权限。否则我可以describe-key-pairs
成功运行(参见以下输出):
$ aws ec2 describe-key-pairs --key-name SOME_NAME --region us-east-1
{
"KeyPairs": [
{
"KeyName": "SOME_NAME",
"KeyFingerprint": "xx:xx:xx:...."
}
]
}
答案1
弄清楚了,这与我没有使用“--profile”选项来使用~/.aws/credentials 中包含的正确凭据集有关。