View a markdown version of this page

AWS DevOps Guide d'intégration de l'Agent CLI - AWS DevOps Agent

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.

AWS DevOps Guide d'intégration de l'Agent CLI

Présentation de

Avec AWS DevOps Agent, vous pouvez surveiller et gérer votre AWS infrastructure. Ce guide explique comment configurer l' AWS DevOps agent à l'aide de l'interface de ligne de AWS commande (AWS CLI). Vous créez des rôles IAM, configurez un espace d'agent et associez votre AWS compte. Vous activez également l'application opérateur et connectez éventuellement des intégrations tierces. Il faut environ 20 minutes pour compléter ce guide.

AWS DevOps L'agent est disponible dans six AWS régions : États-Unis Est (Virginie du Nord), États-Unis 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 CLI version 2 installée et configurée

  • Authentification auprès de votre compte AWS de surveillance

  • Autorisations permettant de créer des rôles AWS Identity and Access Management (IAM) et d'associer des politiques

  • Un AWS compte à utiliser comme compte de surveillance

  • Connaissance de la AWS CLI et de la syntaxe JSON

Tout au long de ce guide, remplacez les valeurs d'espace réservé suivantes par les vôtres :

  • <MONITORING_ACCOUNT_ID>— Votre identifiant de AWS compte à 12 chiffres pour le compte de surveillance (principal)

  • <EXTERNAL_ACCOUNT_ID>— L'identifiant de AWS compte à 12 chiffres du compte secondaire à surveiller (utilisé à l'étape 4)

  • <REGION>— Le code de AWS région de votre espace d'agent (par exemple, us-east-1 oueu-central-1)

  • <AGENT_SPACE_ID>— L'identifiant de l'espace agent renvoyé par la create-agent-space commande

Configuration des rôles IAM

1. Création du rôle DevOps d'espace Agent

Créez la politique de confiance IAM en exécutant la commande suivante :

cat > devops-agentspace-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<MONITORING_ACCOUNT_ID>" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/*" } } } ] } EOF

Créez le rôle IAM :

aws iam create-role \ --region <REGION> \ --role-name DevOpsAgentRole-AgentSpace \ --assume-role-policy-document file://devops-agentspace-trust-policy.json

Enregistrez l'ARN du rôle en exécutant la commande suivante :

aws iam get-role --role-name DevOpsAgentRole-AgentSpace --query 'Role.Arn' --output text

Joignez la politique AWS gérée :

aws iam attach-role-policy \ --role-name DevOpsAgentRole-AgentSpace \ --policy-arn arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy

Créez et attachez une politique en ligne pour autoriser la création du rôle lié au service Resource Explorer :

cat > devops-agentspace-additional-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateServiceLinkedRoles", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer" ] } ] } EOF aws iam put-role-policy \ --role-name DevOpsAgentRole-AgentSpace \ --policy-name AllowCreateServiceLinkedRoles \ --policy-document file://devops-agentspace-additional-policy.json

2. Création du rôle IAM de l'application opérateur

Créez la politique de confiance IAM en exécutant la commande suivante :

cat > devops-operator-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceAccount": "<MONITORING_ACCOUNT_ID>" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/*" } } } ] } EOF

Créez le rôle IAM :

aws iam create-role \ --role-name DevOpsAgentRole-WebappAdmin \ --assume-role-policy-document file://devops-operator-trust-policy.json \ --region <REGION>

Enregistrez l'ARN du rôle en exécutant la commande suivante :

aws iam get-role --role-name DevOpsAgentRole-WebappAdmin --query 'Role.Arn' --output text

Joignez la politique de l'application AWS gérée pour les opérateurs :

aws iam attach-role-policy \ --role-name DevOpsAgentRole-WebappAdmin \ --policy-arn arn:aws:iam::aws:policy/AIDevOpsOperatorAppAccessPolicy

Cette politique gérée accorde à l'application de l'opérateur les autorisations nécessaires pour accéder aux fonctionnalités de l'espace agent. Ces fonctionnalités incluent les enquêtes, les recommandations, la gestion des connaissances, le chat et l'intégration du AWS Support. La politique définit l'accès à l'espace d'agent spécifique en utilisant la aws:PrincipalTag/AgentSpaceId condition. Pour plus d'informations sur la liste complète des actions, consultezDevOps Autorisations IAM de l'agent.

Étapes d'intégration

1. Création d'un espace d'agent

Exécutez la commande suivante pour créer un espace d'agent :

aws devops-agent create-agent-space \ --name "MyAgentSpace" \ --description "AgentSpace for monitoring my application" \ --region <REGION>

Spécifiez éventuellement --kms-key-arn l'utilisation d'une clé AWS KMS gérée par le client pour le chiffrement. Vous pouvez également les utiliser --tags pour ajouter des balises de ressources et --locale définir la langue des réponses des agents.

Enregistrez le agentSpaceId depuis la réponse (située à l'adresseagentSpace.agentSpaceId).

Pour répertorier vos espaces d'agent ultérieurement, exécutez la commande suivante :

aws devops-agent list-agent-spaces \ --region <REGION>

2. Associez votre AWS compte

Associez votre AWS compte pour activer la découverte de topologies. Définissez accountType l'une des valeurs suivantes :

  • monitor— Le compte principal sur lequel se trouve l'espace agent. Ce compte héberge l'agent et est utilisé pour la découverte de la topologie.

  • source— Un compte supplémentaire surveillé par l'agent. Utilisez ce type lorsque vous associez des comptes externes à l'étape 4.

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id aws \ --configuration '{ "aws": { "assumableRoleArn": "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/DevOpsAgentRole-AgentSpace", "accountId": "<MONITORING_ACCOUNT_ID>", "accountType": "monitor" } }' \ --region <REGION>

3. Activez l'application pour opérateurs

Les flux d'authentification peuvent utiliser IAM, IAM Identity Center (IDC) ou un fournisseur d'identité externe (IdP). Exécutez la commande suivante pour activer l'application opérateur pour votre espace agent :

aws devops-agent enable-operator-app \ --agent-space-id <AGENT_SPACE_ID> \ --auth-flow iam \ --operator-app-role-arn "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/DevOpsAgentRole-WebappAdmin" \ --region <REGION>

Pour l'authentification IAM Identity Center, utilisez --auth-flow idc et fournissez--idc-instance-arn. Pour un fournisseur d'identité externe, utilisez --auth-flow idp et fournissez --issuer-url--idp-client-id, et--idp-client-secret. Pour plus d’informations, consultez Configuration de l'authentification IAM Identity Center et Configuration de l'authentification par fournisseur d'identité externe (IdP).

4. (Facultatif) Associer des comptes sources supplémentaires

Pour surveiller des comptes supplémentaires avec AWS DevOps l'Agent, créez un rôle multi-comptes IAM.

Création du rôle multi-comptes dans le compte externe

Passez au compte externe et créez la politique de confiance. MONITORING_ACCOUNT_IDIl s'agit du compte principal qui héberge l'espace d'agent que vous avez configuré à l'étape 2. Cette configuration permet au service AWS DevOps Agent d'assumer un rôle dans les comptes sources secondaires au nom du compte de surveillance.

Exécutez la commande suivante pour créer la politique de confiance :

cat > devops-cross-account-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<MONITORING_ACCOUNT_ID>", "sts:ExternalId": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/<AGENT_SPACE_ID>" } } } ] } EOF

Créez le rôle IAM entre comptes :

aws iam create-role \ --role-name DevOpsAgentCrossAccountRole \ --assume-role-policy-document file://devops-cross-account-trust-policy.json

Enregistrez l'ARN du rôle en exécutant la commande suivante :

aws iam get-role --role-name DevOpsAgentCrossAccountRole --query 'Role.Arn' --output text

Joignez la politique AWS gérée :

aws iam attach-role-policy \ --role-name DevOpsAgentCrossAccountRole \ --policy-arn arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy

Joignez la politique intégrée pour autoriser la création du rôle lié au service Resource Explorer dans le compte externe :

cat > devops-cross-account-additional-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateServiceLinkedRoles", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::<EXTERNAL_ACCOUNT_ID>:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer" ] } ] } EOF aws iam put-role-policy \ --role-name DevOpsAgentCrossAccountRole \ --policy-name AllowCreateServiceLinkedRoles \ --policy-document file://devops-cross-account-additional-policy.json

Associer le compte externe

Revenez à votre compte de surveillance, puis exécutez la commande suivante pour associer le compte externe :

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id aws \ --configuration '{ "sourceAws": { "accountId": "<EXTERNAL_ACCOUNT_ID>", "accountType": "source", "assumableRoleArn": "arn:aws:iam::<EXTERNAL_ACCOUNT_ID>:role/DevOpsAgentCrossAccountRole" } }' \ --region <REGION>

5. (Facultatif) Associer GitHub

Pour obtenir des instructions sur l'enregistrement GitHub via la console, consultezRaccordement aux CI/CD pipelines.

Répertoriez les services enregistrés :

aws devops-agent list-services \ --region <REGION>

Enregistrez le <SERVICE_ID> pour github ServiceType :.

Après vous être enregistré GitHub dans la console, associez GitHub des référentiels en exécutant la commande suivante :

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id <SERVICE_ID> \ --configuration '{ "github": { "repoName": "<GITHUB_REPO_NAME>", "repoId": "<GITHUB_REPO_ID>", "owner": "<GITHUB_OWNER>", "ownerType": "organization" } }' \ --region <REGION>

6. (Facultatif) Inscrivez-vous et associez-vous ServiceNow

Tout d'abord, enregistrez le ServiceNow service avec des OAuth informations d'identification :

aws devops-agent register-service \ --service servicenow \ --service-details '{ "servicenow": { "instanceUrl": "<SERVICENOW_INSTANCE_URL>", "authorizationConfig": { "oAuthClientCredentials": { "clientName": "<SERVICENOW_CLIENT_NAME>", "clientId": "<SERVICENOW_CLIENT_ID>", "clientSecret": "<SERVICENOW_CLIENT_SECRET>" } } } }' \ --region <REGION>

Enregistrez le résultat<SERVICE_ID>, puis associez ServiceNow :

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id <SERVICE_ID> \ --configuration '{ "servicenow": { "instanceUrl": "<SERVICENOW_INSTANCE_URL>" } }' \ --region <REGION>

7. (Facultatif) Enregistrez et associez Dynatrace

Tout d'abord, enregistrez le service Dynatrace avec des informations d'identification : OAuth

aws devops-agent register-service \ --service dynatrace \ --service-details '{ "dynatrace": { "accountUrn": "<DYNATRACE_ACCOUNT_URN>", "authorizationConfig": { "oAuthClientCredentials": { "clientName": "<DYNATRACE_CLIENT_NAME>", "clientId": "<DYNATRACE_CLIENT_ID>", "clientSecret": "<DYNATRACE_CLIENT_SECRET>" } } } }' \ --region <REGION>

Enregistrez le résultat<SERVICE_ID>, puis associez Dynatrace. Les ressources sont facultatives. L'environnement indique à quel environnement Dynatrace doit être associé.

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id <SERVICE_ID> \ --configuration '{ "dynatrace": { "envId": "<DYNATRACE_ENVIRONMENT_ID>", "resources": [ "<DYNATRACE_RESOURCE_1>", "<DYNATRACE_RESOURCE_2>" ] } }' \ --region <REGION>

La réponse inclut des informations sur le webhook pour l'intégration. Vous pouvez utiliser ce webhook pour déclencher une enquête auprès de Dynatrace. Pour de plus amples informations, veuillez consulter Connecter Dynatrace.

8. (Facultatif) Enregistrez et associez Splunk

Enregistrez d'abord le service Splunk avec des BearerToken informations d'identification.

Le point de terminaison utilise le format suivant : https://<XXX>.api.scs.splunk.com/<XXX>/mcp/v1/

aws devops-agent register-service \ --service mcpserversplunk \ --service-details '{ "mcpserversplunk": { "name": "<SPLUNK_NAME>", "endpoint": "<SPLUNK_ENDPOINT>", "authorizationConfig": { "bearerToken": { "tokenName": "<SPLUNK_TOKEN_NAME>", "tokenValue": "<SPLUNK_TOKEN_VALUE>" } } } }' \ --region <REGION>

Enregistrez le résultat<SERVICE_ID>, puis associez Splunk :

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id <SERVICE_ID> \ --configuration '{ "mcpserversplunk": { "name": "<SPLUNK_NAME>", "endpoint": "<SPLUNK_ENDPOINT>" } }' \ --region <REGION>

La réponse inclut des informations sur le webhook pour l'intégration. Vous pouvez utiliser ce webhook pour déclencher une enquête depuis Splunk. Pour de plus amples informations, veuillez consulter Connecter Splunk.

9. (Facultatif) Enregistrez et associez New Relic

Enregistrez d'abord le service New Relic avec les informations d'identification clés de l'API.

Région : L'un US ou l'autreEU.

Champs facultatifs :applicationIds,entityGuids, alertPolicyIds

aws devops-agent register-service \ --service mcpservernewrelic \ --service-details '{ "mcpservernewrelic": { "authorizationConfig": { "apiKey": { "apiKey": "<YOUR_NEW_RELIC_API_KEY>", "accountId": "<YOUR_ACCOUNT_ID>", "region": "US", "applicationIds": ["<APP_ID_1>", "<APP_ID_2>"], "entityGuids": ["<ENTITY_GUID_1>"], "alertPolicyIds": ["<POLICY_ID_1>"] } } } }' \ --region <REGION>

Enregistrez le résultat<SERVICE_ID>, puis associez New Relic :

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id <SERVICE_ID> \ --configuration '{ "mcpservernewrelic": { "accountId": "<YOUR_ACCOUNT_ID>", "endpoint": "https://mcp.newrelic.com/mcp/" } }' \ --region <REGION>

La réponse inclut des informations sur le webhook pour l'intégration. Vous pouvez utiliser ce webhook pour lancer une enquête auprès de New Relic. Pour de plus amples informations, veuillez consulter Connecter New Relic.

10. (Facultatif) Enregistrez et associez Datadog

Vous devez d'abord enregistrer Datadog via la console de l' AWS DevOps Agent en utilisant le OAuth flux avant de pouvoir l'associer via la CLI. Pour de plus amples informations, veuillez consulter Connecter DataDog.

Répertoriez les services enregistrés :

aws devops-agent list-services \ --region <REGION>

Enregistrez le <SERVICE_ID> pour mcpserverdatadog ServiceType :.

Associez ensuite Datadog :

aws devops-agent associate-service \ --agent-space-id <AGENT_SPACE_ID> \ --service-id <SERVICE_ID> \ --configuration '{ "mcpserverdatadog": { "name": "Datadog-MCP-Server", "endpoint": "<DATADOG_MCP_ENDPOINT>" } }' \ --region <REGION>

La réponse inclut des informations sur le webhook pour l'intégration. Vous pouvez utiliser ce webhook pour déclencher une enquête depuis Datadog. Pour de plus amples informations, veuillez consulter Connecter DataDog.

11. (Facultatif) Supprimer un espace d'agent

La suppression d'un espace d'agent entraîne la suppression de toutes les associations, configurations et données d'investigation associées à cet espace d'agent. Cette action ne peut être annulée.

Pour supprimer un espace d'agent, exécutez la commande suivante :

aws devops-agent delete-agent-space \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION>

Vérification

Pour vérifier votre configuration, exécutez les commandes suivantes :

# List your agent spaces aws devops-agent list-agent-spaces \ --region <REGION> # Get details of a specific agent space aws devops-agent get-agent-space \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION> # List associations for an agent space aws devops-agent list-associations \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION>

Étapes suivantes

Remarques

  • Remplacez <AGENT_SPACE_ID><MONITORING_ACCOUNT_ID>,<EXTERNAL_ACCOUNT_ID>,<REGION>, et ainsi de suite par vos valeurs réelles.

  • Pour obtenir une liste des régions prises en charge, consultez Régions prises en charge.