View a markdown version of this page

AWS DevOps Guía de incorporación de Agent CLI - AWS DevOps Agente

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS DevOps Guía de incorporación de Agent CLI

Descripción general de

Con AWS DevOps Agent, puede supervisar y gestionar su AWS infraestructura. En esta guía se explica cómo configurar el AWS DevOps agente mediante la interfaz de línea de AWS comandos (AWS CLI). Debe crear funciones de IAM, configurar un espacio de agente y asociar su AWS cuenta. También habilitas la aplicación del operador y, si lo deseas, conectas integraciones de terceros. Esta guía tarda aproximadamente 20 minutos en completarse.

AWS DevOps El agente está disponible en seis AWS regiones: EE.UU. Este (Norte de Virginia), EE.UU. Oeste (Oregón), Asia Pacífico (Sídney), Asia Pacífico (Tokio), Europa (Fráncfort) y Europa (Irlanda). Para obtener más información sobre las regiones compatibles, consulteRegiones admitidas.

Requisitos previos

Antes de comenzar, asegúrese de que dispone de lo siguiente:

  • AWS La versión 2 de la CLI está instalada y configurada

  • Autenticación en su cuenta AWS de monitoreo

  • Permisos para crear funciones de administración de AWS identidades y accesos (IAM) y adjuntar políticas

  • Una AWS cuenta para usar como cuenta de monitoreo

  • Familiaridad con la sintaxis de AWS CLI y JSON

A lo largo de esta guía, sustituya los siguientes valores de marcador de posición por los suyos propios:

  • <MONITORING_ACCOUNT_ID>— Tu ID de AWS cuenta de 12 dígitos para la cuenta de monitoreo (principal)

  • <EXTERNAL_ACCOUNT_ID>— El identificador de AWS cuenta de 12 dígitos de la cuenta secundaria que se va a supervisar (usado en el paso 4)

  • <REGION>— El código de AWS región de tu espacio de agente (por ejemplo, us-east-1 oeu-central-1)

  • <AGENT_SPACE_ID>— El identificador del espacio de agente que devuelve el create-agent-space comando

Configuración de roles de IAM

1. Cree el rol de espacio de DevOps agente

Cree la política de confianza de IAM ejecutando el siguiente 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

Cree el rol de IAM:

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

Guarde el ARN del rol ejecutando el siguiente comando:

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

Adjunte la política AWS gestionada:

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

Cree y adjunte una política en línea para permitir la creación de la función vinculada al servicio 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. Cree el rol de IAM de la aplicación de operador

Cree la política de confianza de IAM ejecutando el siguiente 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

Cree el rol de IAM:

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

Guarde el ARN del rol ejecutando el siguiente comando:

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

Adjunte la política de la aplicación de operador AWS gestionada:

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

Esta política gestionada otorga a la aplicación del operador permisos para acceder a las funciones del espacio de agentes. Estas funciones incluyen las investigaciones, las recomendaciones, la gestión del conocimiento, el chat y la integración del AWS soporte. La política regula el acceso al espacio de agente específico mediante la aws:PrincipalTag/AgentSpaceId condición. Para obtener más información sobre la lista completa de acciones, consulteDevOps Permisos de IAM del agente.

Pasos de incorporación

1. Crea un espacio para agentes

Ejecute el siguiente comando para crear un espacio de agentes:

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

Si lo desea, especifique --kms-key-arn el uso de una clave de AWS KMS administrada por el cliente para el cifrado. También puede utilizarla --tags para agregar etiquetas de recursos y --locale establecer el idioma de las respuestas de los agentes.

agentSpaceIdGuarde el de la respuesta (que se encuentra enagentSpace.agentSpaceId).

Para enumerar los espacios de sus agentes más adelante, ejecute el siguiente comando:

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

2. Asocie su AWS inscrita

Asocie su AWS cuenta para activar la detección de topologías. accountTypeEstablézcalo en uno de los siguientes valores:

  • monitor— La cuenta principal en la que existe el espacio de agente. Esta cuenta aloja el agente y se usa para descubrir la topología.

  • source— Una cuenta adicional que monitorea el agente. Utilice este tipo cuando asocie cuentas externas en el paso 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. Habilita la aplicación de operador

Los flujos de autenticación pueden usar IAM, IAM Identity Center (IDC) o un proveedor de identidad externo (IdP). Ejecute el siguiente comando para habilitar la aplicación del operador en su espacio de 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>

Para la autenticación del IAM Identity Center, utilícela --auth-flow idc y proporcione--idc-instance-arn. En el caso de un proveedor de identidad externo, utilice --auth-flow idp y proporcione --issuer-url--idp-client-id, y--idp-client-secret. Para obtener más información, consulte Configuración de la autenticación de IAM Identity Center y Configuración de la autenticación de un proveedor de identidad externo (IdP).

4. (Opcional) Asocie cuentas de origen adicionales

Para supervisar cuentas adicionales con el AWS DevOps agente, cree una función multicuenta de IAM.

Cree el rol multicuenta en la cuenta externa

Cambie a la cuenta externa y cree la política de confianza. Con esta política de confianza, el principal de servicio del AWS DevOps agente (aidevops.amazonaws.com) puede asumir directamente el rol en la cuenta secundaria. Las aws:SourceArn condiciones aws:SourceAccount y proporcionan una prevención confusa para los diputados. Este control de seguridad evita que un servicio no autorizado utilice su función para acceder a sus recursos. Estas condiciones permiten que solo su espacio de agente en la cuenta principal asuma el rol. MONITORING_ACCOUNT_IDSustitúyalo por el ID de la cuenta principal que aloja el espacio de agente que configuró en el paso 2.

Ejecute el siguiente comando para crear la política de confianza:

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

Cree la función de IAM multicuenta:

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

Guarde el ARN del rol ejecutando el siguiente comando:

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

Adjunte la política AWS gestionada:

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

Adjunte la política integrada para permitir la creación del rol vinculado al servicio Resource Explorer en la cuenta externa:

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

Asocie la cuenta externa

Vuelva a su cuenta de supervisión y, a continuación, ejecute el siguiente comando para asociar la cuenta externa:

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. (Opcional) Asociar GitHub

Para obtener instrucciones sobre cómo registrarse GitHub a través de la consola, consulte. Conexión a CI/CD tuberías

Enumere los servicios registrados:

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

Guarde el <SERVICE_ID> para ServiceType:. github

Después de registrarse GitHub en la consola, asocie los GitHub repositorios ejecutando el siguiente 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. (Opcional) Registrar y asociar ServiceNow

En primer lugar, registre el ServiceNow servicio con las credenciales de 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>

Guarde lo devuelto y, a continuación<SERVICE_ID>, asocie: 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. (Opcional) Registre y asocie a Dynatrace

Primero, registre el servicio Dynatrace con las credenciales de 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>

Guarde las devueltas y, a continuación<SERVICE_ID>, asocie Dynatrace. Los recursos son opcionales. El entorno especifica a qué entorno de Dynatrace se debe asociar.

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 respuesta incluye información sobre los webhooks para la integración. Puede utilizar este webhook para iniciar una investigación por parte de Dynatrace. Para obtener más información, consulte Conectando Dynatrace.

8. (Opcional) Registra y asocia Splunk

En primer lugar, registre el servicio Splunk con BearerToken las credenciales.

El punto final usa el siguiente 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>

Guarde lo devuelto y<SERVICE_ID>, a continuación, asocie 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 respuesta incluye información sobre los webhooks para la integración. Puedes usar este webhook para iniciar una investigación desde Splunk. Para obtener más información, consulte Conexión de Splunk.

9. (Opcional) Registra y asocia New Relic

En primer lugar, registre el servicio New Relic con las credenciales de la clave de API.

Región: Ya sea US o. EU

Campos opcionales: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>

Guarde los datos devueltos <SERVICE_ID> y, a continuación, asocie 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 respuesta incluye información sobre los webhooks para la integración. Puedes usar este webhook para iniciar una investigación desde New Relic. Para obtener más información, consulte Conectando New Relic.

10. (Opcional) Registra y asocia Datadog

Primero debes registrar Datadog a través de la consola del AWS DevOps agente mediante el flujo de OAuth antes de poder asociarlo a través de la CLI. Para obtener más información, consulte Conectando DataDog.

Enumere los servicios registrados:

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

Guarde el <SERVICE_ID> para ServiceType:. mcpserverdatadog

A continuación, asocie 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 respuesta incluye información sobre los webhooks para la integración. Puedes usar este webhook para iniciar una investigación por parte de Datadog. Para obtener más información, consulte Conectando DataDog.

11. (Opcional) Crea una habilidad, un agente personalizado y un activador programado

Puede proporcionar al agente conocimientos personalizados y automatizarlos según un cronograma creando activos y un activador en el espacio de agentes. En este ejemplo, se crea una habilidad, un agente personalizado y un activador basado en el tiempo que ejecuta el agente personalizado a diario. Para obtener más información sobre la administración de activos, consulteAdministración de activos.

Cree una habilidad que el agente cargue cuando sea relevante:

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 personalizado que pueda invocar un disparador. Tenga en cuenta lo assetId siguiente en la respuesta: el disparador hace referencia a él como: 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>

Cree un desencadenador basado en el tiempo que ejecute el agente personalizado a diario. <CUSTOM_AGENT_ASSET_ID>Sustitúyalo assetId por el de la respuesta anterior:

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 respuesta incluye untriggerId. Tenga en cuenta este valor: lo usa como <TRIGGER_ID> en el siguiente comando.

Para pausar el disparador sin eliminarlo, actualice su estado a: Inactive

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

12. (Opcional) Eliminar un espacio de agente

Al eliminar un espacio de agentes, se eliminan todas las asociaciones, configuraciones y datos de investigación de ese espacio de agentes. Esta acción no se puede deshacer.

Para eliminar un espacio de agentes, ejecute el siguiente comando:

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

Verificación

Para verificar la configuración, ejecute los siguientes comandos:

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

Siguientes pasos

Notas

  • Sustituya <AGENT_SPACE_ID><MONITORING_ACCOUNT_ID>,<EXTERNAL_ACCOUNT_ID>,<REGION>,, y así sucesivamente por sus valores reales.

  • Para obtener una lista de las regiones admitidas, consulte Regiones admitidas.