View a markdown version of this page

AWS DevOps Guida all'onboarding dell'agente CLI - AWS DevOps Agente

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS DevOps Guida all'onboarding dell'agente CLI

Panoramica di

Con AWS DevOps Agent, puoi monitorare e gestire la tua AWS infrastruttura. Questa guida illustra come configurare l' AWS DevOps agente utilizzando l'interfaccia a riga di AWS comando (AWS CLI). Crei ruoli IAM, configura uno spazio agente e associ il tuo AWS account. Inoltre, abiliti l'app per l'operatore e, facoltativamente, connetti integrazioni di terze parti. Il completamento di questa guida richiede circa 20 minuti.

AWS DevOps Agent è disponibile in sei AWS regioni: Stati Uniti orientali (Virginia settentrionale), Stati Uniti occidentali (Oregon), Asia Pacifico (Sydney), Asia Pacifico (Tokyo), Europa (Francoforte) ed Europa (Irlanda). Per ulteriori informazioni sulle regioni supportate, consulta. Regioni supportate

Prerequisiti

Prima di iniziare, assicurati di disporre di:

  • AWS CLI versione 2 installata e configurata

  • Autenticazione sul tuo account AWS di monitoraggio

  • Autorizzazioni per creare ruoli IAM ( AWS Identity and Access Management) e allegare policy

  • Un AWS account da utilizzare come account di monitoraggio

  • Familiarità con la AWS sintassi CLI e JSON

In questa guida, sostituisci i seguenti valori segnaposto con i tuoi:

  • <MONITORING_ACCOUNT_ID>— L'ID dell'account a 12 cifre per l' AWS account di monitoraggio (principale)

  • <EXTERNAL_ACCOUNT_ID>— L'ID dell' AWS account secondario a 12 cifre da monitorare (utilizzato nel passaggio 4)

  • <REGION>— Il codice AWS regionale per il tuo spazio agente (ad esempio, us-east-1 o) eu-central-1

  • <AGENT_SPACE_ID>— L'identificatore dello spazio dell'agente restituito dal comando create-agent-space

Configurazione dei ruoli IAM

1. Crea il ruolo DevOps Agent Space

Crea la policy di fiducia IAM eseguendo il seguente comando:

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

Crea il ruolo IAM:

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

Salva il ruolo ARN eseguendo il seguente comando:

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

Allega la policy AWS gestita:

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

Crea e allega una policy in linea per consentire la creazione del ruolo collegato al servizio 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. Crea il ruolo IAM dell'app operatore

Crea la policy di fiducia IAM eseguendo il seguente comando:

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

Crea il ruolo IAM:

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

Salva il ruolo ARN eseguendo il seguente comando:

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

Allega la policy dell'app per operatori AWS gestiti:

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

Questa policy gestita concede all'app dell'operatore le autorizzazioni per accedere alle funzionalità dello spazio agente. Queste funzionalità includono indagini, consigli, gestione delle conoscenze, chat e AWS integrazione dell'assistenza. La policy definisce l'accesso allo spazio specifico dell'agente utilizzando la aws:PrincipalTag/AgentSpaceId condizione. Per ulteriori informazioni sull'elenco completo delle azioni, vedereDevOps Autorizzazioni IAM dell'agente.

Fasi di onboarding

1. Crea uno spazio per gli agenti

Esegui il comando seguente per creare uno spazio agente:

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

Facoltativamente, specifica --kms-key-arn di utilizzare una chiave AWS KMS gestita dal cliente per la crittografia. Puoi anche utilizzarla --tags per aggiungere tag di risorse e --locale impostare la lingua per le risposte degli agenti.

Salva i dati agentSpaceId della risposta (che si trova inagentSpace.agentSpaceId).

Per elencare gli spazi degli agenti in un secondo momento, esegui il comando seguente:

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

2. Associa il tuo AWS account

Associa il tuo AWS account per attivare il rilevamento della topologia. accountTypeImpostare uno dei seguenti valori:

  • monitor— L'account principale in cui è presente lo spazio dell'agente. Questo account ospita l'agente e viene utilizzato per l'individuazione della topologia.

  • source— Un account aggiuntivo monitorato dall'agente. Utilizza questo tipo quando associ account esterni nel passaggio 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. Abilita l'app per l'operatore

I flussi di autenticazione possono utilizzare IAM, IAM Identity Center (IDC) o un provider di identità esterno (IdP). Esegui il comando seguente per abilitare l'app operatore per il tuo spazio agente:

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>

Per l'autenticazione IAM Identity Center, usa --auth-flow idc e fornisci--idc-instance-arn. Per un provider di identità esterno, usa --auth-flow idp e fornisci--issuer-url,--idp-client-id, e--idp-client-secret. Per ulteriori informazioni, consultare Configurazione dell'autenticazione IAM Identity Center e Configurazione dell'autenticazione tramite provider di identità esterno (IdP).

4. (Facoltativo) Associa account di origine aggiuntivi

Per monitorare account aggiuntivi con AWS DevOps Agent, crea un ruolo IAM tra più account.

Crea il ruolo tra più account nell'account esterno

Passa all'account esterno e crea la politica di fiducia. Con questa politica di fiducia, il responsabile del servizio AWS DevOps Agent (aidevops.amazonaws.com) può assumere direttamente il ruolo nell'account secondario. Le aws:SourceAccount aws:SourceArn condizioni generali forniscono una prevenzione sostitutiva confusa. Questo controllo di sicurezza impedisce a un servizio non autorizzato di utilizzare il ruolo dell'utente per accedere alle risorse. Queste condizioni consentono solo all'Agent Space dell'account principale di assumere il ruolo. Sostituiscilo MONITORING_ACCOUNT_ID con l'ID dell'account principale che ospita l'Agent Space configurato nel passaggio 2.

Esegui il comando seguente per creare la policy di fiducia:

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>" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/<AGENT_SPACE_ID>" } } } ] } EOF

Crea il ruolo IAM per più account:

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

Salva il ruolo ARN eseguendo il seguente comando:

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

Allega la policy AWS gestita:

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

Allega la policy in linea per consentire la creazione del ruolo collegato al servizio Resource Explorer nell'account esterno:

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

Associa l'account esterno

Torna al tuo account di monitoraggio, quindi esegui il comando seguente per associare l'account esterno:

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. (Facoltativo) Associato GitHub

Per istruzioni sulla registrazione GitHub tramite la console, vedere. Connessione alle CI/CD condotte

Elenca i servizi registrati:

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

Salva <SERVICE_ID> per ServiceType:. github

Dopo esserti registrato GitHub nella console, associa i GitHub repository eseguendo il seguente comando:

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. (Facoltativo) Registrati e associa ServiceNow

Innanzitutto, registra il ServiceNow servizio con le credenziali OAuth:

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>

Salva i dati restituiti<SERVICE_ID>, quindi associa: 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. (Facoltativo) Registra e associa Dynatrace

Innanzitutto, registra il servizio Dynatrace con le credenziali 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>

Salva quello restituito<SERVICE_ID>, quindi associa Dynatrace. Le risorse sono facoltative. L'ambiente specifica a quale ambiente Dynatrace associarsi.

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 risposta include informazioni sul webhook per l'integrazione. Puoi usare questo webhook per avviare un'indagine da parte di Dynatrace. Per ulteriori informazioni, consulta Connessione di Dynatrace.

8. (Facoltativo) Registra e associa Splunk

Innanzitutto, registra il servizio Splunk con BearerToken le credenziali.

L'endpoint utilizza il seguente formato: 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>

Salva il file restituito<SERVICE_ID>, quindi associa 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 risposta include informazioni sul webhook per l'integrazione. Puoi usare questo webhook per attivare un'indagine da Splunk. Per ulteriori informazioni, consulta Connessione a Splunk.

9. (Facoltativo) Registra e associa New Relic

Innanzitutto, registra il servizio New Relic con le credenziali della chiave API.

Regione: Uno o. US EU

Campi opzionali: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>

Salva i dati restituiti<SERVICE_ID>, quindi associa 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 risposta include informazioni sul webhook per l'integrazione. Puoi usare questo webhook per avviare un'indagine da parte di New Relic. Per ulteriori informazioni, consulta Connettere New Relic.

10. (Facoltativo) Registra e associa Datadog

È necessario innanzitutto registrare Datadog tramite la console dell' AWS DevOps agente utilizzando il flusso OAuth prima di poterlo associare tramite la CLI. Per ulteriori informazioni, consulta Connessione DataDog.

Elenca i servizi registrati:

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

Salva <SERVICE_ID> per ServiceType:. mcpserverdatadog

Quindi associa 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 risposta include informazioni sul webhook per l'integrazione. Puoi usare questo webhook per attivare un'indagine da Datadog. Per ulteriori informazioni, consulta Connessione DataDog.

11. (Facoltativo) Crea una skill, un agente personalizzato e un trigger pianificato

Puoi fornire all'agente informazioni personalizzate e automatizzarle in base a una pianificazione creando risorse e un trigger nello spazio dell'agente. Questo esempio crea un'abilità, un agente personalizzato e un trigger basato sul tempo che esegue l'agente personalizzato ogni giorno. Per ulteriori informazioni sulla gestione delle risorse, vedereGestione delle risorse.

Crea una competenza che l'agente carica quando pertinente:

aws devops-agent create-asset \ --agent-space-id <AGENT_SPACE_ID> \ --asset-type skill \ --metadata '{"name":"rds-performance-investigation","description":"Investigation procedures for RDS performance issues.","agent_types":["GENERIC"]}' \ --content '{"file":{"path":"SKILL.md","body":{"text":"# RDS Performance Investigation\nUse this skill when investigating database latency, connection errors, or query timeouts."}}}' \ --region <REGION>

Crea un agente personalizzato che può essere richiamato da un trigger. Notalo assetId nella risposta: il trigger lo fa riferimento come: custom:<assetId>

aws devops-agent create-asset \ --agent-space-id <AGENT_SPACE_ID> \ --asset-type custom_agent \ --metadata '{"name":"rds-firefighter","skills":["rds-performance-investigation"]}' \ --content '{"file":{"path":"AGENT.md","body":{"text":"# RDS Firefighter\nCustom agent for RDS incidents."}}}' \ --region <REGION>

Crea un trigger basato sul tempo che esegua l'agente personalizzato ogni giorno. Sostituisci <CUSTOM_AGENT_ASSET_ID> con quello assetId della risposta precedente:

aws devops-agent create-trigger \ --agent-space-id <AGENT_SPACE_ID> \ --type TIME_BASED \ --condition '{"schedule":{"expression":"rate(1 day)"}}' \ --action '{"actionType":"create:task","task":{"agent":"custom:<CUSTOM_AGENT_ASSET_ID>"}}' \ --status Active \ --region <REGION>

La risposta include untriggerId. Nota questo valore: lo usi come <TRIGGER_ID> nel comando successivo.

Per mettere in pausa il trigger senza eliminarlo, aggiorna il suo stato in: Inactive

aws devops-agent update-trigger \ --agent-space-id <AGENT_SPACE_ID> \ --trigger-id <TRIGGER_ID> \ --status Inactive \ --region <REGION>

12. (Facoltativo) Eliminare uno spazio agente

L'eliminazione di uno spazio agente rimuove tutte le associazioni, le configurazioni e i dati di indagine relativi a tale spazio agente. Questa azione non può essere annullata.

Per eliminare uno spazio dell'agente, esegui il comando seguente:

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

Verifica

Per verificare la configurazione, esegui i seguenti comandi:

# 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>

Fasi successive

Note

  • Sostituisci <AGENT_SPACE_ID><MONITORING_ACCOUNT_ID>, <EXTERNAL_ACCOUNT_ID><REGION>, e così via con i tuoi valori effettivi.

  • Per un elenco delle regioni supportate, consulta Regioni supportate.