我有一个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
时,命令将成功执行。
如果有人可以帮助我理解和解决此问题,那就太好了。
答案 0 :(得分:0)
我做了以下事情来解决这个问题:
然后执行了命令,它就起作用了。
注意:这不是最佳实践,理想情况下,我正在使用的初始设置应该可以使用,因为我已经使用相同设置通过CLI部署了CFN。理想的设置应该是/必须是:
我将尝试与AWS伙计们一起出票并检查并尽快更新此答案。
答案 1 :(得分:0)
--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