2017-09-11 6 views
2

지금 aws에게 접근 중입니다.매개 변수 저장소에서 매개 변수를 가져올 수 없습니다. aws

EC2 인스턴스의 매개 변수 저장소에 매개 변수를 저장하려고하는데, Codedeploy의 AfterInstall 단계에서 환경 변수에 넣으려고합니다. 배포가 작동하지만 어쨌든 매개 변수를 가져올 수 없습니다.

나는이 튜토리얼 https://aws.amazon.com/it/blogs/mt/use-parameter-store-to-securely-access-secrets-and-config-data-in-aws-codedeploy/을 따라하려고 시도했다.

{ 
"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" 
    } 
]} 

나는 또한 "AWSCodeDeployRole"를 부착했다 "CodeDeployServiceRole"에 정책을 첨부 :

나는 다음과 같은 정책 "ParameterStorePolicy"를 만들었습니다.

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 

결과는 무효 testPippo.txt 파일입니다

마지막으로 내 스크립트에서 "Afterinstall.sh는"나는 다음과 같은 코드를 썼습니다.

누구든지 내 잘못을 말할 수 있습니까?

당신이

+0

당신은 매개 변수 가게에서 뭔가를 두지 않았나요? – Dunedan

+0

예, 값 "abcd"로 매개 변수 "MySecureSQLPassword"를 저장하고 EC2 관리 콘솔에서 "String"을 직접 입력하십시오. 의심 스럽지만 codeeploy는 매개 변수를 가져올 수있는 권한이 없지만 나에게 도움이되는 항목을 찾을 수는 없으며 주제에 대해 확신하지 못합니다. –

+0

그리고 ''을 AWS 계정 ID로 바꿨을까요? – Dunedan

답변

0

당신이 시도를 할 수있을 것 한 가지가있다, 직접 CodeDeploy을 실행하지 않고 인스턴스에서의 getParameters에 감사합니다 (어쩌면 그냥하는 인스턴스에서 직접 Afterinstall 스크립트 실행). 당신이 얻을 수 있다면, 그것은 CodeDeploy 실행 사용자와 관련이있다. 그렇지 않으면 매개 변수 설정에 문제가 있어야한다.

덕분에, Binbin

관련 문제