Création d'une instance Amazon EC2 pour CodeDeploy (modèle)AWS CloudFormation - AWS CodeDeploy

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.

Création d'une instance Amazon EC2 pour CodeDeploy (modèle)AWS CloudFormation

Vous pouvez utiliser notre AWS CloudFormation modèle pour lancer rapidement une instance Amazon EC2 exécutant Amazon Linux ou Windows Server. Vous pouvez utiliser AWS CLI la CodeDeploy console ou les AWS API pour lancer l'instance avec le modèle. Outre le lancement de l'instance, le modèle effectue les opérations suivantes :

  • Indique d' AWS CloudFormation autoriser l'instance à participer aux CodeDeploy déploiements.

  • Marque l'instance afin de CodeDeploy pouvoir la retrouver lors d'un déploiement.

  • Installe et exécute l' CodeDeploy agent sur l'instance.

Vous n'êtes pas obligé d'utiliser notre AWS CloudFormation pour configurer une instance Amazon EC2. Pour découvrir des alternatives, consultez la page Utilisation d'instances pour CodeDeploy.

Nous ne fournissons pas de AWS CloudFormation modèle pour les instances Amazon EC2 exécutant Ubuntu Server ou Red Hat Enterprise Linux (RHEL).

Avant de commencer

Avant de pouvoir utiliser le AWS CloudFormation modèle pour lancer des instances Amazon EC2, assurez-vous de suivre les étapes suivantes.

  1. Assurez-vous d'avoir créé un utilisateur administratif, comme décrit dansÉtape 1 : Configuration. Vérifiez que l'utilisateur dispose des autorisations minimales suivantes et ajoutez celles qui ne sont pas présentes :

    • formation des nuages : *

    • codedeploy:*

    • ec2:*

    • iam : AddRoleToInstanceProfile

    • iam : CreateInstanceProfile

    • iam : CreateRole

    • iam : DeleteInstanceProfile

    • iam : DeleteRole

    • iam : DeleteRolePolicy

    • iam : GetRole

    • iam : DeleteRolePolicy

    • iam : PutRolePolicy

    • iam : RemoveRoleFromInstanceProfile

  2. Assurez-vous de disposer d'une paire de clés d'instance pour activer l'accès SSH à l'instance Amazon EC2 exécutant Amazon Linux ou l'accès RDP à l'instance exécutant Windows Server.

    Pour trouver le nom d'une paire de clés, ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2. Dans le volet de navigation, sous Réseau et sécurité, choisissez Paires de clés et notez le nom de la paire de clés dans la liste.

    Pour générer une nouvelle paire de clés, consultez Création de votre paire de clés à l'aide d'Amazon EC2. Assurez-vous que la paire de clés est créée dans l'une des régions répertoriées dans Région et que les points de terminaison sont créés dans Références générales AWS. Sinon, vous ne pouvez pas utiliser la paire de clés de l'instance avec CodeDeploy.

Lancer une instance Amazon EC2 avec le AWS CloudFormation modèle (console)

  1. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

    Important

    Connectez-vous au AWS Management Console avec le même compte que celui que vous avez utiliséCommencer avec CodeDeploy. Dans la barre de navigation, dans le sélecteur de région, choisissez l'une des régions répertoriées dans Région et des points de terminaison dans. Références générales AWS CodeDeploy ne prend en charge que ces régions.

  2. Sélectionnez Créer une pile.

  3. Dans Choisir un modèle, choisissez Spécifier l'URL d'un modèle Amazon S3. Dans le champ, tapez l'emplacement du AWS CloudFormation modèle pour votre région, puis choisissez Next.

    Région Emplacement du AWS CloudFormation modèle
    Région US East (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région US East (N. Virginia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région US West (N. California) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région US West (Oregon) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Canada (Centre) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Irlande) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Paris) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Francfort) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Israël (Tel Aviv) http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Hong Kong) http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Seoul) Region http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Singapour) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asia Pacific (Sydney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Mumbai) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Amérique du Sud (São Paulo) aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
  4. Dans la zone Stack name (Nom de pile), saisissez un nom pour la pile (par exemple CodeDeployDemoStack).

  5. Dans Paramètres, saisissez ce qui suit et choisissez Suivant.

    • Pour InstanceCount, saisissez le nombre d'instances que vous souhaitez lancer. (Nous vous recommandons de conserver la valeur par défaut 1.)

    • Pour InstanceType, tapez le type d'instance que vous souhaitez lancer (ou laissez la valeur par défaut t1.micro).

    • Pour KeyPairName, tapez le nom de la paire de clés de l'instance. Tapez le nom de la paire de clés uniquement, pas l'extension de fichier de la paire de clés.

    • Dans le OperatingSystemchamp box, tapez Windows pour lancer des instances exécutant Windows Server (ou conservez la valeur par défaut de Linux).

    • Pour SSHLocation, tapez la plage d'adresses IP à utiliser pour la connexion à l'instance avec SSH ou RDP (ou conservez la valeur par défaut 0.0.0.0/0).

      Important

      La valeur par défaut 0.0.0.0/0 est fournie à des fins de démonstration uniquement. CodeDeploy n'exige pas que les instances Amazon EC2 aient un accès illimité aux ports. Comme bonne pratique, nous vous recommandons de limiter l'accès aux ports SSH (et HTTP). Pour plus d'informations, consultez la section Conseils pour sécuriser votre instance Amazon EC2.

    • Pour TagKey, tapez la clé de balise d'instance CodeDeploy qui sera utilisée pour identifier les instances lors du déploiement (ou laissez la valeur par défaut Nom).

    • Pour TagValue, tapez la valeur de balise d'instance CodeDeploy qui sera utilisée pour identifier les instances lors du déploiement (ou conservez la valeur par défaut de CodeDeployDemo).

  6. Dans la page Options, laissez les zones d'option vides et sélectionnez Suivant.

    Important

    AWS CloudFormation les tags sont différents des CodeDeploy tags. AWS CloudFormation utilise des balises pour simplifier l'administration de votre infrastructure. CodeDeploy utilise des balises pour identifier les instances Amazon EC2. Vous avez spécifié des CodeDeploy balises sur la page Spécifier les paramètres.

  7. Sur la page de révision, dans Fonctionnalités, cochez la case Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM, puis choisissez Créer.

    Après avoir AWS CloudFormation créé la pile et lancé les instances Amazon EC2, CREATE_COMPLETE sera affiché dans la colonne Status de la AWS CloudFormation console. Ce processus peut prendre plusieurs minutes.

Pour vérifier que l' CodeDeploy agent s'exécute sur les instances Amazon EC2, consultezGestion des opérations des CodeDeploy agents, puis passez à. Créez une application avec CodeDeploy

Lancez une instance Amazon EC2 avec le AWS CloudFormation modèle ()AWS CLI

  1. Utilisez notre AWS CloudFormation modèle lors d'un appel à la create-stack commande. Cette pile lancera une nouvelle instance Amazon EC2 avec l' CodeDeploy agent installé.

    Pour lancer une instance Amazon EC2 exécutant Amazon Linux :

    aws cloudformation create-stack \ --stack-name CodeDeployDemoStack \ --template-url templateURL \ --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro \ ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Linux \ ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name \ ParameterKey=TagValue,ParameterValue=CodeDeployDemo \ --capabilities CAPABILITY_IAM

    Pour lancer une instance Amazon EC2 exécutant Windows Server :

    aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Windows ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name ParameterKey=TagValue,ParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

    KeyName est le nom de la paire de clés de l'instance. Tapez le nom de la paire de clés uniquement, pas l'extension de fichier de la paire de clés.

    template-url est l'emplacement du AWS CloudFormation modèle pour votre région :

    Région Emplacement du AWS CloudFormation modèle
    Région US East (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région US East (N. Virginia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région US West (N. California) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région US West (Oregon) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Canada (Centre) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Irlande) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Paris) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Europe (Francfort) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Israël (Tel Aviv) http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Hong Kong) http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Seoul) Region http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Singapour) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asia Pacific (Sydney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Asie-Pacifique (Mumbai) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Région Amérique du Sud (São Paulo) aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json

    Cette commande crée une AWS CloudFormation pile nomméeCodeDeployDemoStack, en utilisant le AWS CloudFormation modèle du compartiment Amazon S3 spécifié. L'instance Amazon EC2 est basée sur le type d'instance t1.micro, mais vous pouvez utiliser n'importe quel type. Elle est balisée avec la valeur CodeDeployDemo, mais vous pouvez la baliser avec une valeur quelconque. La paire de clés d'instance spécifiée lui est appliquée.

  2. Appelez la describe-stacks commande pour vérifier que la AWS CloudFormation pile nommée CodeDeployDemoStack a été créée avec succès :

    aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query "Stacks[0].StackStatus" --output text

    Ne continuez pas tant que la valeur CREATE_COMPLETE n'est pas retournée.

Pour vérifier que l' CodeDeploy agent s'exécute sur l'instance Amazon EC2, consultezGestion des opérations des CodeDeploy agents, puis passez à. Créez une application avec CodeDeploy