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.
Commencer à utiliser l' AWS DevOps agent à l'aide du AWS CDK
Présentation de
Ce guide explique comment utiliser le AWS Cloud Development Kit (AWS CDK) pour créer et déployer des ressources d' AWS DevOps agent. L'application AWS CDK automatise la création d'un espace d'agents, de rôles AWS Identity and Access Management (IAM), d'une application d'opérateur et d'associations de comptes via. AWS AWS CloudFormation
L'approche AWS CDK automatise les étapes manuelles décrites dans le guide d'intégration de la CLI en définissant toutes les ressources requises sous forme d'infrastructure sous forme de code.
AWS DevOps L'agent est disponible dans les 6 AWS régions suivantes : USA Est (Virginie du Nord), USA Ouest (Oregon), Asie-Pacifique (Sydney), Asie-Pacifique (Tokyo), Europe (Francfort) et Europe (Irlande). Pour plus d'informations sur les régions prises en charge, consultezRégions prises en charge.
Conditions préalables
Avant de commencer, assurez-vous de disposer des éléments suivants :
AWS Interface de ligne de commande (AWS CLI) installée et configurée avec les informations d'identification appropriées
Node.js version 18 ou ultérieure
AWS Interface de ligne de commande (CLI) CDK installée dans le monde entier. Pour installer la CLI AWS CDK, exécutez la commande suivante :
npm install -g aws-cdk
Un AWS compte pour le compte de surveillance (principal)
(Facultatif) Un deuxième AWS compte si vous souhaitez configurer la surveillance entre comptes
Ce que couvre ce guide
Ce guide est divisé en deux parties :
Partie 1 — Déployez un espace d'agent avec une application d'opérateur et une AWS association dans votre compte de surveillance. Une fois cette partie terminée, l'agent peut surveiller les problèmes liés à ce compte.
Partie 2 (facultatif) — Ajoutez une AWS association source pour un compte de service et déployez un rôle IAM entre comptes dans ce compte. Cette configuration permet à l'espace des agents de surveiller les ressources entre les comptes.
Ressources créées
Partie 1 : DevOpsAgentStack (compte de surveillance)
Rôle IAM (
DevOpsAgentRole-AgentSpace) : assumé par le service DevOps Agent pour surveiller le compte. Inclut la politiqueAIDevOpsAgentAccessPolicygérée et une politique en ligne qui permet de créer le rôle lié au service Resource Explorer.Rôle IAM (
DevOpsAgentRole-WebappAdmin) : rôle d'application opérateur avec la politiqueAIDevOpsOperatorAppAccessPolicygérée pour les opérations de l'agent.Espace d'agent (
MyCDKAgentSpace) : espace d'agent central, créé à l'aide de laAWS::DevOpsAgent::AgentSpaceCloudFormation ressource. Inclut la configuration de l'application pour les opérateurs.Association (AWS moniteur) — Lie le compte de surveillance à l'espace des agents en utilisant la
AWS::DevOpsAgent::AssociationCloudFormation ressource.Association (AWS source) — (Facultatif) Lie le compte de service à l'espace des agents pour la surveillance entre comptes.
Partie 2 : ServiceStack (compte de service, facultatif)
Rôle IAM (
DevOpsAgentRole-SecondaryAccount) : rôle multicompte avec un nom fixe. Approuvé par l'espace réservé aux agents dans le compte de surveillance. Inclut la politiqueAIDevOpsAgentAccessPolicygérée et une politique en ligne qui permet de créer le rôle lié au service Resource Explorer.Fonction Lambda (
echo-service) : exemple de service simple qui renvoie les événements d'entrée.
Configuration
Étape 1 : Cloner le référentiel d'échantillons
Exécutez les commandes suivantes pour cloner le référentiel et accéder au répertoire du projet :
git clone https://github.com/aws-samples/sample-aws-devops-agent-cdk.git cd sample-aws-devops-agent-cdk
Étape 2 : Installation des dépendances
Exécutez la commande suivante pour installer les dépendances du projet :
npm install
Partie 1 : Déploiement de l'espace agent
Dans cette section, vous allez créer l'espace agent, les rôles IAM, l'application opérateur et une AWS association dans votre compte de surveillance.
Étape 1 : configurer l'ID du compte de surveillance
Ouvrez lib/constants.ts et définissez l'identifiant de votre compte de surveillance :
L'exemple suivant montre la constante à mettre à jour :
export const MONITORING_ACCOUNT_ID = "<YOUR_MONITORING_ACCOUNT_ID>";
Étape 2 : démarrer l'environnement AWS CDK
Si vous n'avez pas démarré le AWS CDK dans votre compte de surveillance, exécutez la commande suivante :
cdk bootstrap aws://<MONITORING_ACCOUNT_ID>/<REGION> --profile monitoring
Étape 3 : Création et déploiement
Exécutez les commandes suivantes pour créer le TypeScript code et déployer la pile :
npm run build cdk deploy DevOpsAgentStack --profile monitoring
Étape 4 : Enregistrez les sorties de la pile
Une fois le déploiement terminé, le AWS CDK imprime les sorties de la pile. Enregistrez ces valeurs pour une utilisation ultérieure.
L'exemple suivant montre le résultat attendu :
Outputs: DevOpsAgentStack.AgentSpaceArn = arn:aws:aidevops:<REGION>:123456789012:agentspace/abc123 DevOpsAgentStack.AgentSpaceRoleArn = arn:aws:iam::123456789012:role/DevOpsAgentRole-AgentSpace DevOpsAgentStack.OperatorRoleArn = arn:aws:iam::123456789012:role/DevOpsAgentRole-WebappAdmin DevOpsAgentStack.AssociationId = assoc-xyz
Si vous prévoyez de terminer la partie 2, enregistrez la AgentSpaceArn valeur. Vous en avez besoin pour configurer la pile de comptes de service.
Étape 5 : vérifier le déploiement
Pour vérifier que l'espace agent a bien été créé, exécutez la commande AWS CLI suivante :
aws devopsagent get-agent-space \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION>
À ce stade, votre espace d'agent est déployé avec l'application opérateur activée et votre compte de surveillance associé. L'agent peut surveiller les problèmes liés à ce compte.
Partie 2 (facultatif) : Ajouter une surveillance entre comptes
Dans cette section, vous étendez la configuration afin que votre espace agent puisse surveiller les ressources d'un deuxième AWS compte (le compte de service). Cela implique deux actions :
Ajouter une AWS association source dans le DevOpsAgentStack qui pointe vers le compte de service.
Déployer le ServiceStack dans le compte de service avec un rôle IAM qui fait confiance à l'espace de l'agent.
Important
Vous devez terminer la partie 1 avant de continuer. ServiceStack Requiert le résultat AgentSpaceArn du DevOpsAgentStack déploiement.
Étape 1 : configurer l'ID du compte de service
Ouvrez lib/constants.ts et définissez l'identifiant de votre compte de service :
L'exemple suivant montre la constante à mettre à jour :
export const SERVICE_ACCOUNT_ID = "<YOUR_SERVICE_ACCOUNT_ID>";
DevOpsAgentStack crée une AWS association source à l'aide de cet identifiant de compte. Si vous avez déployé le DevOpsAgentStack avant de définir cette valeur, redéployez-le pour créer l'association :
Exécutez les commandes suivantes pour le redéploiement :
npm run build cdk deploy DevOpsAgentStack --profile monitoring
Étape 2 : définir l'ARN de l'espace agent
Copiez la AgentSpaceArn valeur de la DevOpsAgentStack sortie (partie 1, étape 4) et définissez-la dans lib/constants.ts :
L'exemple suivant montre la constante à mettre à jour :
export const AGENT_SPACE_ARN = "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/<SPACE_ID>";
ServiceStack Utilise cette valeur pour définir la politique de confiance relative au rôle de compte secondaire. Le n' ServiceStack est synthétisé que lorsque cette valeur est définie.
Étape 3 : démarrer le compte de service
Si vous n'avez pas démarré le AWS CDK dans votre compte de service, exécutez la commande suivante :
cdk bootstrap aws://<SERVICE_ACCOUNT_ID>/<REGION> --profile service
Étape 4 : Déployez le ServiceStack
Exécutez les commandes suivantes pour créer et déployer le ServiceStack en utilisant les informations d'identification du compte de service :
npm run build cdk deploy ServiceStack --profile service
Cela crée les ressources suivantes dans le compte de service :
Un rôle IAM (
DevOpsAgentRole-SecondaryAccount) qui fait confiance à l'espace des agents dans le compte de surveillanceUne fonction Echo Lambda (
echo-service) comme exemple de service
Étape 5 : vérifier le déploiement
Pour vérifier que la fonction Lambda a été déployée avec succès, exécutez les commandes suivantes pour tester le service Echo :
aws lambda invoke \ --function-name echo-service \ --payload '{"test": "hello world"}' \ --profile service \ response.json cat response.json
Résolution des problèmes
Cette section décrit les problèmes courants et explique comment les résoudre.
CloudFormation type de ressource introuvable
Vérifiez que vous déployez dans unRégions prises en charge.
Vérifiez que votre AWS CLI est configurée avec les autorisations appropriées.
La création du rôle IAM a échoué
Vérifiez que votre rôle de déploiement dispose des autorisations nécessaires pour créer des rôles IAM.
Vérifiez que les conditions de la politique de confiance correspondent à votre numéro de compte.
Le déploiement entre comptes échoue avec le message « Impossible d'assumer le rôle dans le compte cible »
Chaque pile doit être déployée avec les informations d'identification du compte cible. Utilisez l'
--profileindicateur pour spécifier le profil de AWS CLI correct.Vérifiez que le AWS CDK a été amorcé dans le compte cible.
Retards de propagation de l'IAM
La propagation des modifications de rôle IAM peut prendre quelques minutes. Si la création de l'espace agent échoue immédiatement après la création du rôle, attendez quelques minutes avant de procéder au redéploiement.
Nettoyage
Pour supprimer toutes les ressources, détruisez les piles dans l'ordre inverse.
Exécutez les commandes suivantes pour détruire les piles :
# If you deployed the ServiceStack, destroy it first cdk destroy ServiceStack --profile service # Then destroy the DevOpsAgentStack cdk destroy DevOpsAgentStack --profile monitoring
Avertissement : Cette action supprime définitivement votre espace agent et toutes les données associées. Cette action ne peut être annulée. Assurez-vous d'avoir sauvegardé toutes les informations importantes avant de continuer.
Considérations sur la sécurité
L'application AWS CDK crée des rôles IAM avec des politiques de confiance qui autorisent uniquement le principal du
aidevops.amazonaws.com.rproxy.govskope.caservice à les assumer.Les politiques de confiance incluent des conditions qui limitent l'accès à votre AWS compte spécifique et à l'ARN de votre espace agent.
Toutes les politiques suivent le principe du moindre privilège. Passez en revue et personnalisez les politiques IAM en fonction des exigences de sécurité de votre organisation.
Le rôle entre comptes (
DevOpsAgentRole-SecondaryAccount) utilise un nom fixe et est limité à un ARN d'espace agent spécifique.
Étapes suivantes
Après avoir déployé votre AWS DevOps agent à l'aide du AWS CDK :
Découvrez la gamme complète des fonctionnalités de l' DevOps agent dans le guide de l'utilisateur de l'AWS DevOps agent.
Envisagez d'intégrer le déploiement du AWS CDK dans vos CI/CD pipelines pour une gestion automatisée de l'infrastructure.