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-1o)eu-central-1<AGENT_SPACE_ID>— L'identificatore dello spazio dell'agente restituito dal comandocreate-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
Per connettere integrazioni aggiuntive, consultaConfigurazione di integrazioni e conoscenze.
Per saperne di più sulle competenze e le capacità degli agenti, consultaDevOps Competenze degli agenti.
Per ulteriori informazioni sulla gestione delle competenze, degli agenti personalizzati e di altre risorse come infrastruttura come codice, consultaGestione delle risorse.
Per informazioni sull'app web per gli operatori, consultaChe cos'è un' DevOps Agent Web App?.
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.