Sim*_*ffi 5 amazon-ec2 amazon-web-services aws-code-deploy
我现在正向aws求助。
我试图将参数存储在我的EC2实例的“参数存储”中,并将在Codedeploy的AfterInstall步骤中将其放入环境变量中。部署工作正常,但无论如何我都无法获取参数。
我创建了策略“ ParameterStorePolicy”,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:DescribeParameters"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ssm:GetParameters"
],
"Resource": [
"arn:aws:ssm:us-east-2:<myId>:parameter/MySecureSQLPassword"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": "arn:aws:kms:us-east-2:<myId>:alias/aws/ssm"
}
]}
Run Code Online (Sandbox Code Playgroud)
我将策略附加到了“ CodeDeployServiceRole”,该策略也附加了“ AWSCodeDeployRole”。
最后,在我的脚本“ Afterinstall.sh”中,编写了以下代码:
cd /home/ubuntu/pypi
export PIPPO=$(aws ssm get-parameters --region us-east-2 --names
MySecureSQLPassword --with-decryption --query Parameters[0].Value)
echo $PIPPO >testPippo.txt
Run Code Online (Sandbox Code Playgroud)
结果是一个无效的testPippo.txt文件。
谁能说我的错?
谢谢
检查“ParameterStorePolicy”IAM 策略是否已附加到您要部署到的实例的 EC2 实例配置文件。
要确认实例是否具有正确的权限,您可以执行以下任一操作:
aws ssm get-parameters --region us-east-2 --names MySecureSQLPassword --with-decryption --query 参数[0].Value
小智 0
您可以尝试一件事,就是直接从实例获取参数,而不运行 CodeDeploy(也许只是直接从实例运行 Afterinstall 脚本)。如果能够获取到,则说明与CodeDeploy运行用户相关,否则应该是参数设置的问题。
谢谢彬彬
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |