2017-09-11 5 views
2

Je m'approche maintenant de aws. J'essaye de stocker le paramètre dans le Parameter Store de mon instance EC2, et je les obtiendrais pour mettre dans une variable d'environnement dans l'étape AfterInstall de Codedeploy. Le déploiement fonctionne, mais je ne peux pas obtenir le paramètre de toute façon.Impossible d'obtenir les paramètres dans le magasin de paramètres aws

J'ai essayé de suivre ce tutoriel https://aws.amazon.com/it/blogs/mt/use-parameter-store-to-securely-access-secrets-and-config-data-in-aws-codedeploy/.

J'ai créé la politique « ParameterStorePolicy » comme suit:

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

J'attaché la politique à la « CodeDeployServiceRole » qui a également joint le « AWSCodeDeployRole ».

Enfin dans mon script "Afterinstall.sh" j'ai écrit le code suivant:

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 

Le résultat est un fichier testPippo.txt vide.

Quelqu'un peut-il me dire ce que je me trompe?

Merci

+0

Avez-vous placé quelque chose dans la mémoire de paramètres? – Dunedan

+0

Oui, je stocke le paramètre "MySecureSQLPassword" avec la valeur "abcd" et saisissez "String" à la main depuis ma console de gestion EC2. Mon doute est que codedeploy n'a pas la permission d'obtenir le paramètre mais je ne peux pas trouver n'importe quoi qui peut m'aider et je ne suis pas si confiant avec le sujet. –

+0

Et je suppose que vous avez remplacé '' avec votre ID de compte AWS? – Dunedan

Répondre

0

Il y a une chose que vous pourriez être en mesure d'avoir un essai, est de GetParameters de l'instance directement sans courir CodeDeploy (peut-être juste en cours d'exécution qui AfterInstall le script directement à partir de l'instance). Si vous êtes en mesure d'obtenir, cela signifie quelque chose en rapport avec CodeDeploy en cours d'exécution, sinon cela devrait poser un problème avec le paramètre Paramètres.

Merci, Binbin