我有一个EC2实例,试图通过它执行CFN脚本,但遇到以下错误:
Error parsing parameter '--parameters': Unable to retrieve https://xxxxxxxxxxxxxxxxxxxxVPC-Parameters.json: received non 200 status code of 403
请参阅我的CLI命令:
aws cloudformation create-stack \
--stack-name mytestVPC \
--template-url https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC.yaml \
--parameters https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC-Parameters.json \
--tags https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC-Tags.json \
--capabilities CAPABILITY_IAM
我以前使用CLI执行CFN,但这是我第一次遇到此类问题。“我的角色”可以完全访问S3的所有资源。我也验证了--parameters
JSON,它是有效的。AWS CLI版本:aws-cli/1.16.102 Python/2.7.16 Linux/4.14.171-105.231.amzn1.x86_64 botocore/1.12.92
当我从命令中删除--parameters
和--tags
时,命令将成功执行。如果有人可以帮助我理解和解决此问题,那就太好了。
注意:这不是最佳实践,理想情况下,我正在使用的初始设置应该可以使用,因为我已经使用相同的设置通过CLI部署了CFN。理想的设置应该是/必须是:
--parameters
标志的键/值格式如下:ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ...
您不能在此处使用URL。与--tags
相同。
aws cloudformation create-stack \ --stack-name mytestVPC \ --template-url https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC.yaml \ --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetID,ParameterValue=SubnetID1 \ --tags Key=MyTag,Value=MyTagValue \ --capabilities CAPABILITY_IAM
Reference