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.
Utilisez la commande register (ARN de l'utilisateur IAM) pour enregistrer une instance sur site
Important
L'enregistrement d'une instance à l'aide d'un utilisateur IAM n'est pas recommandé car il utilise des informations d'identification statiques (permanentes) pour l'authentification. Pour améliorer la sécurité, nous vous recommandons d'enregistrer une instance à l'aide d'informations d'identification temporaires pour l'authentification. Pour plus d’informations, consultez Utilisez la register-on-premises-instance commande (ARN de session IAM) pour enregistrer une instance sur site.
Important
Assurez-vous d'avoir mis en place un plan pour alterner les clés d'accès des utilisateurs IAM (informations d'identification permanentes). Pour plus d'informations, voir Rotation des touches d'accès.
Cette section décrit comment configurer une instance locale, l'enregistrer et l'étiqueter CodeDeploy avec le moins d'effort possible. La commande register est très utile lorsque vous travaillez avec une seule instance sur site ou des parcs d'instances locales restreints. Vous ne pouvez utiliser la register commande que lorsque vous utilisez un ARN utilisateur IAM pour authentifier une instance. Vous ne pouvez pas utiliser la register commande avec un ARN de session IAM pour l'authentification.
Lorsque vous utilisez la register commande, vous pouvez CodeDeploy effectuer les opérations suivantes :
-
Créez un utilisateur IAM AWS Identity and Access Management pour l'instance sur site, si vous n'en spécifiez aucun avec la commande.
-
Enregistrez les informations d'identification de l'utilisateur IAM dans un fichier de configuration d'instance sur site.
-
Enregistrez l'instance locale auprès CodeDeploy de.
-
Ajouter des balises à l'instance sur site, dès lors que vous les spécifiez dans la commande.
Note
La register-on-premises-instancecommande est une alternative à la commande register. Vous utilisez cette register-on-premises-instance commande si vous souhaitez configurer une instance sur site, l'enregistrer et l'étiqueter, CodeDeploy principalement par vous-même. La register-on-premises-instance commande vous donne également la possibilité d'utiliser un ARN de session IAM pour enregistrer des instances au lieu d'un ARN d'utilisateur IAM. Cette approche constitue un avantage non négligeable si vous avez des parcs importants d'instances locales. Plus précisément, vous pouvez utiliser un seul ARN de session IAM pour authentifier plusieurs instances au lieu de devoir créer un utilisateur IAM pour chaque instance locale une par une. Pour plus d’informations, consultez Utilisez la register-on-premises-instance commande (IAMutilisateurARN) pour enregistrer une instance locale et Utilisez la register-on-premises-instance commande (ARN de session IAM) pour enregistrer une instance sur site.
Rubriques
Étape 1 : Installation et configuration de l'instance AWS CLI sur site
-
Installez l'instance AWS CLI sur site. Suivez les instructions de la section Configuration avec le guide AWS CLI de l'AWS Command Line Interface utilisateur.
Note
CodeDeploy les commandes permettant de travailler avec des instances locales sont disponibles dans les AWS CLI versions 1.7.19 et ultérieures. Si vous l'avez AWS CLI déjà installé, appelez aws --version pour vérifier sa version.
-
Configurez l' AWS CLI instance sur site. Suivez les instructions de la section Configuration du guide AWS CLI de AWS Command Line Interface l'utilisateur intégré.
Important
Lorsque vous configurez le AWS CLI (par exemple, en appelant la aws configure commande), veillez à spécifier l'ID de clé secrète et la clé d'accès secrète d'un utilisateur IAM qui dispose, au minimum, des autorisations AWS d'accès suivantes en plus des autorisations spécifiées dansConditions préalables à la configuration d'une instance sur site. Cela permet de télécharger et d'installer l' CodeDeploy agent sur l'instance locale. Les autorisations d'accès peuvent ressembler à ceci :
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*", "iam:CreateAccessKey", "iam:CreateUser", "iam:DeleteAccessKey", "iam:DeleteUser", "iam:DeleteUserPolicy", "iam:ListAccessKeys", "iam:ListUserPolicies", "iam:PutUserPolicy", "iam:GetUser", "tag:getTagKeys", "tag:getTagValues", "tag:GetResources" ], "Resource" : "*" }, { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : [ "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-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-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
Note
Si vous voyez des erreurs d'accès refusé lorsque vous tentez d'accéder à l'un des compartiments Amazon S3 présentés précédemment, essayez d'omettre la
/*
partie de l'ARN des ressources du compartiment, par exemple,.arn:aws:s3:::aws-codedeploy-sa-east-1
Étape 2 : Appelez la commande d'enregistrement
Pour cette étape, nous supposons que vous inscrivez l'instance sur site à partir de l'instance sur site elle-même. Vous pouvez également enregistrer une instance sur site à partir d'un appareil ou d'une instance distinct sur lequel elle est AWS CLI installée et configurée comme décrit à l'étape précédente.
Utilisez la commande AWS CLI pour appeler le registre, en spécifiant :
-
Nom qui identifie de manière unique l'instance locale à CodeDeploy (avec l'
--instance-name
option).Important
Pour mieux identifier l'instance sur site ultérieurement, notamment à des fins de débogage, nous vous recommandons vivement d'utiliser un nom mappé à une caractéristique unique de l'instance sur site (par exemple, le numéro de série ou un identificateur de ressource interne unique, le cas échéant). Si vous spécifiez une adresse MAC pour un nom, sachez que les adresses MAC contiennent des CodeDeploy caractères interdits, tels que deux points (
:
). Pour obtenir la liste des caractères autorisés, consultez la page CodeDeploy quotas. -
Facultativement, l'ARN d'un utilisateur IAM existant que vous souhaitez associer à cette instance sur site (avec l'
--iam-user-arn
option). Pour obtenir l'ARN d'un utilisateur IAM, appelez la commande get-user ou choisissez le nom d'utilisateur IAM dans la section Utilisateurs de la console IAM, puis recherchez la valeur de l'ARN utilisateur dans la section Résumé. Si cette option n'est pas spécifiée, un utilisateur IAM CodeDeploy sera créé en votre nom dans votre AWS compte et l'associera à l'instance locale.Important
Si vous spécifiez l'option
--iam-user-arn
, vous devez également créer manuellement le fichier de configuration de l'instance sur site, comme décrit dans Étape 4 : ajouter un fichier de configuration à l'instance locale.Vous ne pouvez associer qu'un seul utilisateur IAM à une seule instance locale. Essayer d'associer un seul utilisateur IAM à plusieurs instances locales peut entraîner des erreurs, des échecs de déploiements sur ces instances sur site ou des déploiements sur des instances sur site bloquées dans un état d'attente perpétuel.
-
Facultativement, un ensemble de balises d'instance sur site (avec
--tags
option) qui CodeDeploy seront utilisées pour identifier l'ensemble d'instances Amazon EC2 sur lesquelles effectuer le déploiement. Spécifiez chaque balise avecKey=
(par exemple,tag-key
,Value=tag-value
Key=Name,Value=Beta Key=Name,Value=WestRegion
). Si cette option n'est pas spécifiée, aucune balise ne sera inscrite. Pour enregistrer les balises ultérieurement, appelez la commande add-tags-to-on-premises-instances. -
Facultativement, la AWS région dans laquelle l'instance locale sera enregistrée CodeDeploy (avec l'
--region
option). Il doit s'agir de l'une des régions prises en charge répertoriées dans Région et des points de terminaison dans Références générales AWS(par exemple,us-west-2
). Si cette option n'est pas spécifiée, la AWS région par défaut associée à l'utilisateur IAM appelant sera utilisée.
Par exemple :
aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2
La commande register exécute les opérations suivantes :
-
Si aucun utilisateur IAM existant n'est spécifié, crée un utilisateur IAM, lui attache les autorisations requises et génère une clé secrète et une clé d'accès secrète correspondantes. L'instance sur site utilisera cet utilisateur IAM ainsi que ses autorisations et informations d'identification pour s'authentifier et interagir avec lui. CodeDeploy
-
Enregistre l'instance locale auprès CodeDeploy de.
-
Si cela est spécifié, CodeDeploy les balises spécifiées avec l'
--tags
option sont associées au nom de l'instance locale enregistrée. -
Si un utilisateur IAM a été créé, il crée également le fichier de configuration requis dans le répertoire à partir duquel la register commande a été appelée.
Si cette commande rencontre des erreurs, un message d'erreur s'affiche, qui décrit comment suivre manuellement les étapes restantes. Sinon, un message de réussite s'affiche, qui décrit comment appeler la commande install, telle qu'elle est répertoriée à l'étape suivante.
Étape 3 : appelez la commande d'installation
À partir de l'instance locale, utilisez la commande AWS CLI pour appeler l'installation, en spécifiant :
-
Le chemin d'accès au fichier de configuration (avec l'option
--config-file
). -
Eventuellement, s'il faut remplacer le fichier de configuration qui existe déjà sur l'instance sur site (avec l'option
--override-config
). Si cette option n'est pas spécifiée, le fichier de configuration existant n'est pas remplacé. -
Facultativement, la AWS région dans laquelle l'instance locale sera enregistrée CodeDeploy (avec l'
--region
option). Il doit s'agir de l'une des régions prises en charge répertoriées dans Région et des points de terminaison dans Références générales AWS(par exemple,us-west-2
). Si cette option n'est pas spécifiée, la AWS région par défaut associée à l'utilisateur IAM appelant sera utilisée. -
Facultativement, un emplacement personnalisé à partir duquel installer l' CodeDeploy agent (avec l'
--agent-installer
option). Cette option est utile pour installer une version personnalisée de l' CodeDeploy agent qui n'est CodeDeploy pas officiellement prise en charge (telle qu'une version personnalisée basée sur le référentiel de l'CodeDeployagentdans GitHub). La valeur doit être le chemin d'accès à un compartiment Amazon S3 contenant soit : -
Script d'installation de l' CodeDeploy agent (pour les systèmes d'exploitation basés sur Linux ou Unix, similaire au fichier d'installation dans le référentiel de l'CodeDeployagent
dans GitHub). -
Un fichier du package d'installation de l' CodeDeploy agent (.msi) (pour les systèmes d'exploitation Windows).
Si cette option n'est pas spécifiée, il CodeDeploy fera de son mieux pour installer depuis son propre emplacement une version officiellement prise en charge de l' CodeDeploy agent compatible avec le système d'exploitation de l'instance locale.
-
Par exemple :
aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi
La commande install exécute les opérations suivantes :
-
Vérifie si l'instance sur site est une instance Amazon EC2. Si c'est le cas, un message d'erreur s'affiche.
-
Copie le fichier de configuration des instances locales de l'emplacement spécifié sur l'instance vers l'emplacement où l' CodeDeploy agent s'attend à le trouver, à condition que le fichier ne se trouve pas déjà à cet emplacement.
Pour Ubuntu Server et Red Hat Enterprise Linux (RHEL), il s'agit de
/etc/codedeploy-agent/conf
/codedeploy.onpremises.yml
.Pour Windows Server, il s'agit de
C:\ProgramData\Amazon\CodeDeploy
\conf.onpremises.yml
.Si l'option
--override-config
a été spécifiée, la commande crée ou remplace le fichier. -
Installe l' CodeDeploy agent sur l'instance locale, puis le démarre.
Étape 4 : Déployer les révisions de l'application sur l'instance locale
Vous êtes maintenant prêt à déployer les révisions d'application sur l'instance sur site inscrite et balisée.
Vous déployez des révisions d'applications sur des instances sur site de la même manière que le déploiement de révisions d'applications sur des instances Amazon EC2. Pour obtenir des instructions, veuillez consulter Créez un déploiement avec CodeDeploy. Ces instructions sont liées à des prérequis, y compris à la création d'une application, à la création d'un groupe de déploiement et à la préparation d'une révision d'application. Si vous avez besoin d'un exemple simple de révision d'application à déployer, vous pouvez créer celui décrit dans Étape 2 : Création d'un exemple de révision d'application, dans la rubrique Tutoriel : Déployer une application sur une instance locale avec CodeDeploy (Windows Server, Ubuntu Server ou Red Hat Enterprise Linux).
Important
Si vous réutilisez un rôle de CodeDeploy service existant dans le cadre de la création d'un groupe de déploiement qui cible les instances locales, vous Tag:get*
devez inclure dans la Action
partie de la déclaration de politique du rôle de service. Pour plus d’informations, consultez Étape 2 : créer un rôle de service pour CodeDeploy.
Étape 5 : suivre les déploiements vers l'instance sur site
Après avoir déployé une révision d'application sur les instances sur site inscrites et balisées, vous pouvez suivre la progression du déploiement.
Vous suivez les déploiements sur des instances sur site de la même manière que le suivi des déploiements sur des instances Amazon EC2. Pour obtenir des instructions, veuillez consulter Afficher les détails CodeDeploy du déploiement .
Pour découvrir plus d'options, consultez Gestion des opérations des instances sur site dans CodeDeploy.