Ajout d'une ressource à un projet - AWS CodeStar

Le 31 juillet 2024, Amazon Web Services (AWS) cessera de prendre en charge la création et la visualisation de AWS CodeStar projets. Après le 31 juillet 2024, vous ne pourrez plus accéder à la AWS CodeStar console ni créer de nouveaux projets. Toutefois, les AWS ressources créées par AWS CodeStar, y compris vos référentiels sources, vos pipelines et vos versions, ne seront pas affectées par cette modification et continueront de fonctionner. AWS CodeStar Les connexions et AWS CodeStar les notifications ne seront pas affectées par cette interruption.

 

Si vous souhaitez suivre le travail, développer du code et créer, tester et déployer vos applications, Amazon CodeCatalyst propose un processus de démarrage rationalisé et des fonctionnalités supplémentaires pour gérer vos projets logiciels. En savoir plus sur les fonctionnalités et les tarifs d'Amazon CodeCatalyst.

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.

Ajout d'une ressource à un projet

Chaque AWS CodeStar modèle pour tous les projets est fourni avec un AWS CloudFormation fichier qui modélise les dépendances AWS d'exécution de votre application, telles que les tables de base de données et les fonctions Lambda. Ce fichier est stocké dans votre référentiel source dans le fichier /template.yml.

Note

Vous pouvez utiliser ces étapes pour les projets suivants, créés avec les modifications de prise en charge de projet suivantes :

  • Tout projet Lambda.

  • Pour les projets Amazon EC2 ou Elastic Beanstalk créés après le 3 août 2018AWS CodeStar, provisionnez un fichier dans le référentiel de projets. /template.yml

Vous pouvez modifier ce fichier en ajoutant des ressources AWS CloudFormation à la section Resources. La modification du fichier template.yml permet à AWS CodeStar et AWS CloudFormation d'ajouter la nouvelle ressource à votre projet. Certaines ressources nécessitent que vous ajoutiez d'autres autorisations à la politique relative au rôle de CloudFormation travailleur de votre projet. Pour plus d'informations sur les éléments du modèle et le formatage, consultez la section Référence AWS des types de ressources.

Une fois que vous avez déterminé les ressources que vous devez ajouter à votre projet, voici la procédure générale à suivre pour personnaliser un modèle. Pour obtenir la liste des AWS CloudFormation ressources et leurs propriétés requises, consultez la section Référence AWS des types de ressources.

Suivez les étapes décrites dans cette section pour modifier votre modèle de AWS CodeStar projet afin d'ajouter une ressource, puis d'étendre les autorisations du rôle de CloudFormation travailleur du projet dans IAM. Dans cet exemple, la AWS::SQS::Queueressource est ajoutée au template.yml fichier. La modification déclenche une réponse automatique AWS CloudFormation qui ajoute une file d'attente Amazon Simple Queue Service à votre projet.

Étape 1 : Modifier le rôle du CloudFormation travailleur dans IAM

Vous devez être connecté en tant qu'administrateur pour effectuer les étapes 1 et 5.

Note

Vous pouvez ignorer cette étape si votre projet était configuré avec une stratégie de limite de permissions.

Pour les projets créés après le 6 décembre 2018 PDT, configurez AWS CodeStar votre projet avec une politique de limites d'autorisations.

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

  2. Créez un projet ou choisissez un projet existant avec un template.yml file, puis ouvrez la page Ressources du projet.

  3. Sous Ressources du projet, recherchez le rôle IAM créé pour le AWS CloudFormation rôle CodeStarWorker/dans la liste des ressources. Le nom du rôle respecte le format suivant : role/CodeStarWorker-Project_name-CloudFormation.

  4. Le rôle ouvre la console IAM. Dans l'onglet Autorisations dans Stratégies en ligne, développez la ligne de votre stratégie de rôle de service, puis choisissez Modifier la stratégie.

  5. Choisissez l'onglet JSON pour modifier la stratégie.

    Note

    La stratégie attachée au rôle de travail est CodeStarWorkerCloudFormationRolePolicy.

  6. Dans le champ JSON, ajoutez la déclaration de stratégie suivante dans l'élément Statement.

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  7. Choisissez Examiner une stratégie afin de vous assurer que la stratégie ne contient aucune erreur, puis choisissez Enregistrer les modifications.

Étape 2 : modifier le fichier template.yml

  1. Ouvrez la AWS CodeStar console à l'adresse https://console.aws.amazon.com/codestar/.

  2. Choisissez votre projet sans serveur, puis ouvrez la page Code. Au niveau supérieur de votre référentiel, prenez note de l'emplacement de template.yml.

  3. Utilisez un IDE, la console ou la ligne de commande dans votre référentiel local pour modifier le fichier template.yml dans votre référentiel. Collez la ressource dans la section Resources. Dans cet exemple, lorsque le texte suivant est copié, il ajoute la section Resources.

    Resources: TestQueue: Type: AWS::SQS::Queue

    Cet exemple présente un modèle modifié :

    AWS CloudFormation template with HelloWorld Lambda function and TestQueue SQS queue.

Étape 3 : valider et transférer votre modification de modèle

  • Validez et transférez les modifications dans le fichier template.yml que vous avez enregistré à l'étape 2.

    Note

    Votre pipeline est démarré. Si vous validez les modifications avant de mettre à jour les autorisations IAM, votre pipeline démarre et la mise à jour de la pile AWS CloudFormation rencontre des erreurs, ce qui entraîne l'annulation de la mise à jour de la pile. Si cela se produit, corrigez les autorisations, puis redémarrez votre pipeline.

Étape 4 : surveiller la mise à jour de la pile AWS CloudFormation

  1. La mise à jour de la pile AWS CloudFormation démarre lorsque le pipeline de votre projet commence l'étape Déployer. Vous pouvez choisir l'étape AWS CloudFormation dans votre pipeline dans votre tableau de bord AWS CodeStar pour voir la mise à jour de la pile.

    Résolution de problèmes 

    La mise à jour de la pile échoue si les autorisations des ressources requises sont manquantes. Affichez l'état de défaillance dans le tableau de bord AWS CodeStar pour le pipeline de votre projet.

    Choisissez le CloudFormationlien dans la phase de déploiement de votre pipeline pour résoudre le problème de la AWS CloudFormation console. Dans la console, dans la liste Événements, choisissez votre projet pour afficher les détails de création de la pile. Un message présente les détails de l'échec. Dans cet exemple, l'autorisation sqs:CreateQueue est manquante.

    CloudFormation stack events showing failed updates and resource creation errors.

    Ajoutez les autorisations manquants en modifiant la stratégie attachée au rôle de travail AWS CloudFormation de votre projet. Consultez Étape 1 : Modifier le rôle du CloudFormation travailleur dans IAM.

  2. Après une exécution réussie de votre pipeline, les ressources sont créées dans votre pile AWS CloudFormation. Dans la liste Ressources dans AWS CloudFormation, consultez la ressource créée pour votre projet. Dans cet exemple, la TestQueue file d'attente est répertoriée dans la section Ressources.

    L'URL de file d'attente est disponible dans AWS CloudFormation. Le format de l'URL de file d'attente est le suivant :

    https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME}

    Pour plus d'informations, consultez Envoyer un message Amazon SQS, Recevoir un message d'une file d'attente Amazon SQS et Supprimer un message d'une file d'attente Amazon SQS.

Étape 5 : ajouter des autorisations de ressources avec une stratégie en ligne

Accorder aux membres de l'équipe l'accès à votre nouvelle ressource en ajoutant la stratégie en ligne adaptée au rôle de l'utilisateur. Les ressources ne nécessitent pas toutes que vous ajoutiez des autorisations. Pour effectuer les étapes suivantes, vous devez vous être connecté à la console soit en tant qu'utilisateur root, soit en tant qu'utilisateur administrateur du compte, soit en tant qu'utilisateur IAM ou utilisateur fédéré avec la politique AdministratorAccess gérée ou un équivalent.

Pour utiliser l'éditeur de politique JSON afin de créer une politique
  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de gauche, sélectionnez Policies (Politiques).

    Si vous sélectionnez Politiques pour la première fois, la page Bienvenue dans les politiques gérées s'affiche. Sélectionnez Mise en route.

  3. En haut de la page, sélectionnez Créer une politique.

  4. Dans la section Éditeur de politiques, choisissez l'option JSON.

  5. Entrez le document de politique JSON suivant :

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  6. Choisissez Suivant.

    Note

    Vous pouvez basculer à tout moment entre les options des éditeurs visuel et JSON. Toutefois, si vous apportez des modifications ou si vous choisissez Suivant dans l'éditeur visuel, IAM peut restructurer votre politique afin de l'optimiser pour l'éditeur visuel. Pour de plus amples informations, consulte Restructuration d'une politique dans le Guide de l'utilisateur IAM.

  7. Sur la page Vérifier et créer, saisissez un Nom de politique et une Description (facultative) pour la politique que vous créez. Vérifiez les Autorisations définies dans cette politique pour voir les autorisations accordées par votre politique.

  8. Choisissez Create policy (Créer une politique) pour enregistrer votre nouvelle politique.