Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer une EC2 instance Amazon pour qu'elle fonctionne avec CodeDeploy
Ces instructions vous montrent comment configurer une EC2 instance Amazon exécutant Amazon Linux, Ubuntu Server, Red Hat Enterprise Linux (RHEL) ou Windows Server pour une utilisation dans le cadre de CodeDeploy déploiements.
Note
Si vous ne possédez pas d'EC2instance Amazon, vous pouvez utiliser le AWS CloudFormation modèle pour en lancer une exécutant Amazon Linux ou Windows Server. Nous ne fournissons pas de modèle pour Ubuntu Server ouRHEL.
Étape 1 : vérifier qu'un profil d'IAMinstance est attaché à votre EC2 instance Amazon
-
Connectez-vous à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/
. -
Dans le panneau de navigation, sous Instances, choisissez Instances.
-
Accédez à votre EC2 instance Amazon et choisissez-la dans la liste.
-
Dans le volet de détails, sous l'onglet Description, notez la valeur dans le champ du IAMrôle, puis passez à la section suivante.
Si le champ est vide, vous pouvez associer un profil d'IAMinstance à l'instance. Pour plus d'informations, consultez Attacher un IAM rôle à une instance.
Étape 2 : vérifier que le profil d'IAMinstance attaché dispose des autorisations d'accès correctes
-
Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation, choisissez Roles (Rôles).
-
Accédez au nom du IAM rôle que vous avez noté à l'étape 4 de la section précédente et choisissez-le.
Note
Si vous souhaitez utiliser le rôle de service généré par le AWS CloudFormation modèle au lieu de celui que vous avez créé en suivant les instructionsÉtape 2 : créer un rôle de service pour CodeDeploy, notez ce qui suit :
Dans certaines versions de notre AWS CloudFormation modèle, le nom d'affichage du profil d'IAMinstance généré et attaché aux EC2 instances Amazon n'est pas le même que le nom d'affichage dans la IAM console. Par exemple, le profil d'IAMinstance peut avoir un nom d'affichage de
CodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX
, tandis que le profil d'IAMinstance dans la IAM console peut avoir un nom d'affichage deCodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX
.Pour vous aider à identifier le profil d'instance dans la IAM console, vous verrez que le préfixe de
CodeDeploySampleStack-expnyi6-InstanceRole
est le même pour les deux. Pour plus d'informations sur les raisons pour lesquelles ces noms d'affichage peuvent être différents, consultez la section Profils d'instance. -
Choisissez l’onglet Relations d’approbation. Si aucune entrée n'indique The identity provider (s) ec2.amazonaws.com dans Trusted Entities, vous ne pouvez pas utiliser cette instance Amazon. EC2 Arrêtez et créez une EC2 instance Amazon à l'aide des informations contenues dansUtilisation d'instances pour CodeDeploy.
Si une entrée indique The identity provider (s) ec2.amazonaws.com et que vous stockez vos applications uniquement dans des GitHub référentiels, passez directement à. Étape 3 : baliser l'EC2instance Amazon
Si une entrée indique The identity provider (s) ec2.amazonaws.com et que vous stockez vos applications dans des compartiments Amazon S3, choisissez l'onglet Autorisations.
-
S'il y a une stratégie dans la zone Managed Policies (Stratégies gérées), choisissez le nom de la stratégie, puis choisissez Edit policy (Modifier la stratégie).
-
Choisissez l'JSONonglet. Si vous stockez vos applications dans des compartiments Amazon S3, assurez-vous qu'
"s3:Get*"
"s3:List*"
elles figurent dans la liste des actions spécifiées.Cela peut ressembler à ce qui suit :
{"Statement":[{"Resource":"*","Action":[ ... Some actions may already be listed here ... "s3:Get*","s3:List*" ... Some more actions may already be listed here ... ],"Effect":"Allow"}]}
Ou, cela peut ressembler à ce qui suit :
{ "Version": "2012-10-17", "Statement": [ { "Action": [ ... Some actions may already be listed here ... "s3:Get*", "s3:List*" ... Some more actions may already be listed here ... ], ... } ] }
Si
"s3:Get*"
et"s3:List*"
ne sont pas dans la liste des actions spécifiées, choisissez Modifier pour les ajouter, puis choisissez Enregistrer. (Si ni"s3:Get*"
, ni"s3:List*"
n'est la dernière action de la liste, veillez à ajouter une virgule après l'action afin que le document de stratégie soit validé.)Note
Nous vous recommandons de limiter cette politique aux seuls compartiments Amazon S3 auxquels vos EC2 instances Amazon doivent accéder. Assurez-vous de donner accès aux compartiments Amazon S3 qui contiennent l' CodeDeploy agent. Dans le cas contraire, une erreur peut se produire lors de l'installation ou de la mise à jour de l' CodeDeploy agent sur les instances. Pour accorder au profil d'IAMinstance l'accès à certains compartiments du kit de CodeDeploy ressources uniquement dans Amazon S3, appliquez la politique suivante, mais supprimez les lignes relatives aux compartiments auxquels vous souhaitez empêcher l'accès :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-central-2/*", "arn:aws:s3:::aws-codedeploy-eu-north-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-2/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-ap-south-2/*", "arn:aws:s3:::aws-codedeploy-me-central-1/*", "arn:aws:s3:::aws-codedeploy-me-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
Étape 3 : baliser l'EC2instance Amazon
Pour obtenir des instructions sur la façon de baliser l'EC2instance Amazon afin qu'elle CodeDeploy puisse être trouvée lors d'un déploiement, consultez la section Utilisation des balises dans la console, puis revenez à cette page.
Note
Vous pouvez étiqueter l'EC2instance Amazon avec la clé et la valeur de votre choix. Assurez-vous juste de spécifier cette clé et cette valeur lors du déploiement.
Étape 4 : Installation de l' AWS CodeDeploy agent sur l'EC2instance Amazon
Pour obtenir des instructions sur la façon d'installer l' CodeDeploy agent sur l'EC2instance Amazon et de vérifier qu'il est en cours d'exécutionGestion des opérations des CodeDeploy agents, consultez, puis passez àCréez une application avec CodeDeploy.