View a markdown version of this page

AWS DevOps Guia de integração do Agent CLI - AWS DevOps Agente

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS DevOps Guia de integração do Agent CLI

Visão geral do

Com o AWS DevOps Agent, você pode monitorar e gerenciar sua AWS infraestrutura. Este guia orienta você na configuração do AWS DevOps Agente usando a Interface de Linha de AWS Comando (AWS CLI). Você cria funções do IAM, configura um espaço para agentes e associa sua AWS conta. Você também ativa o aplicativo do operador e, opcionalmente, conecta integrações de terceiros. Esse guia leva aproximadamente 20 minutos para ser concluído.

AWS DevOps O agente está disponível em seis AWS regiões: Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon), Ásia-Pacífico (Sydney), Ásia-Pacífico (Tóquio), Europa (Frankfurt) e Europa (Irlanda). Para obter mais informações sobre as regiões suportadas, consulteRegiões aceitas.

Pré-requisitos

Antes de começar, verifique se você tem o seguinte:

  • AWS CLI versão 2 instalada e configurada

  • Autenticação em sua conta AWS de monitoramento

  • Permissões para criar funções de gerenciamento de AWS identidade e acesso (IAM) e anexar políticas

  • Uma AWS conta para usar como conta de monitoramento

  • Familiaridade com a sintaxe AWS CLI e JSON

Ao longo deste guia, substitua os seguintes valores de espaço reservado pelos seus próprios:

  • <MONITORING_ACCOUNT_ID>— Seu ID de AWS conta de 12 dígitos para a conta de monitoramento (primária)

  • <EXTERNAL_ACCOUNT_ID>— O ID da AWS conta de 12 dígitos da conta secundária a ser monitorada (usada na etapa 4)

  • <REGION>— O código de AWS região do seu espaço de agente (por exemplo, us-east-1 oueu-central-1)

  • <AGENT_SPACE_ID>— O identificador de espaço do agente que é retornado pelo create-agent-space comando

Configuração de funções do IAM

1. Crie a função de espaço do DevOps agente

Crie a política de confiança do IAM executando o seguinte 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

Crie o perfil do IAM:

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

Salve o ARN da função executando o seguinte comando:

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

Anexe a política AWS gerenciada:

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

Crie e anexe uma política embutida para permitir a criação da função vinculada ao serviço do 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. Crie a função IAM do aplicativo operador

Crie a política de confiança do IAM executando o seguinte 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

Crie o perfil do IAM:

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

Salve o ARN da função executando o seguinte comando:

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

Anexe a política de aplicativo AWS gerenciado do operador:

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

Essa política gerenciada concede ao aplicativo do operador permissões para acessar os recursos do espaço do agente. Esses recursos incluem investigações, recomendações, gerenciamento de conhecimento, bate-papo e integração com o AWS Support. A política abrange o acesso ao espaço específico do agente usando a aws:PrincipalTag/AgentSpaceId condição. Para obter mais informações sobre a lista completa de ações, consulteDevOps Permissões do agente IAM.

Etapas de integração

1. Crie um espaço para agentes

Execute o comando a seguir para criar um espaço de agente:

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

Opcionalmente, especifique --kms-key-arn o uso de uma chave AWS KMS gerenciada pelo cliente para criptografia. Você também pode usar --tags para adicionar tags de recursos e --locale definir o idioma das respostas dos agentes.

Salve o agentSpaceId da resposta (localizada emagentSpace.agentSpaceId).

Para listar seus espaços de agente posteriormente, execute o seguinte comando:

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

2. Associe seu AWS account

Associe sua AWS conta para ativar a descoberta de topologia. accountTypeDefina o como um dos seguintes valores:

  • monitor— A conta principal na qual existe o espaço do agente. Essa conta hospeda o agente e é usada para descoberta de topologia.

  • source— Uma conta adicional que o agente monitora. Use esse tipo ao associar contas externas na etapa 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. Ativar o aplicativo do operador

Os fluxos de autenticação podem usar IAM, IAM Identity Center (IDC) ou um provedor de identidade externo (IdP). Execute o comando a seguir para ativar o aplicativo do operador para seu espaço 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 autenticação do IAM Identity Center, use --auth-flow idc e forneça--idc-instance-arn. Para um provedor de identidade externo, use --auth-flow idp e forneça --issuer-url--idp-client-id, --idp-client-secret e. Para obter mais informações, consulte Configurando a autenticação do IAM Identity Center e Configurando a autenticação do provedor de identidade externo (IdP).

4. (Opcional) Associar contas de origem adicionais

Para monitorar contas adicionais com o AWS DevOps Agent, crie uma função de contas cruzadas do IAM.

Crie a função entre contas na conta externa

Mude para a conta externa e crie a política de confiança. Com essa política de confiança, o AWS DevOps agente principal do serviço (aidevops.amazonaws.com) pode assumir a função diretamente na conta secundária. As aws:SourceArn condições aws:SourceAccount e fornecem uma prevenção secundária confusa. Esse controle de segurança impede que um serviço não autorizado use sua função para acessar seus recursos. Essas condições permitem que somente seu Espaço do Agente na conta principal assuma a função. MONITORING_ACCOUNT_IDSubstitua pelo ID da conta principal que hospeda o Agent Space que você configurou na etapa 2.

Execute o comando a seguir para criar a política de confiança:

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

Crie a função IAM entre contas:

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

Salve o ARN da função executando o seguinte comando:

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

Anexe a política AWS gerenciada:

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

Anexe a política embutida para permitir a criação da função vinculada ao serviço do Resource Explorer na conta 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

Associar a conta externa

Volte para sua conta de monitoramento e execute o seguinte comando para associar a conta 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) Associado GitHub

Para obter instruções sobre como se registrar GitHub por meio do console, consulteConexão a CI/CD tubulações.

Liste os serviços registrados:

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

Salve o <SERVICE_ID> para ServiceType:. github

Depois de se registrar GitHub no console, associe GitHub os repositórios executando o seguinte 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) Registre-se e associe-se ServiceNow

Primeiro, registre o ServiceNow serviço com as credenciais do 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>

Salve o retornado <SERVICE_ID> e associe 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 e associe a Dynatrace

Primeiro, registre o serviço Dynatrace com as credenciais do 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>

Salve o devolvido e, em seguida<SERVICE_ID>, associe o Dynatrace. Os recursos são opcionais. O ambiente especifica a qual ambiente Dynatrace se associar.

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>

A resposta inclui informações de webhook para integração. Você pode usar esse webhook para iniciar uma investigação da Dynatrace. Para obter mais informações, consulte Conectando a Dynatrace.

8. (Opcional) Registre e associe o Splunk

Primeiro, registre o serviço Splunk com BearerToken as credenciais.

O endpoint usa o seguinte 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>

Salve o retornado <SERVICE_ID> e associe o 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>

A resposta inclui informações de webhook para integração. Você pode usar esse webhook para iniciar uma investigação da Splunk. Para obter mais informações, consulte Conectando o Splunk.

9. (Opcional) Registre e associe a New Relic

Primeiro, registre o serviço New Relic com as credenciais da chave da API.

Região: Um US ou outroEU.

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

Salve o devolvido <SERVICE_ID> e associe a 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>

A resposta inclui informações de webhook para integração. Você pode usar esse webhook para iniciar uma investigação da New Relic. Para obter mais informações, consulte Conectando a New Relic.

10. (Opcional) Registre e associe o Datadog

Você deve primeiro registrar o Datadog por meio do console do AWS DevOps Agente usando o fluxo OAuth antes de poder associá-lo por meio da CLI. Para obter mais informações, consulte Conectando DataDog.

Liste os serviços registrados:

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

Salve o <SERVICE_ID> para ServiceType:. mcpserverdatadog

Em seguida, associe o 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>

A resposta inclui informações de webhook para integração. Você pode usar esse webhook para iniciar uma investigação do Datadog. Para obter mais informações, consulte Conectando DataDog.

11. (Opcional) Crie uma habilidade, um agente personalizado e um acionador agendado

Você pode fornecer ao agente conhecimento personalizado e automatizá-lo de acordo com um cronograma criando ativos e um gatilho no espaço do agente. Esse exemplo cria uma habilidade, um agente personalizado e um gatilho baseado em tempo que executa o agente personalizado diariamente. Para obter mais informações sobre o gerenciamento de ativos, consulteGerenciar ativos.

Crie uma habilidade que o agente carregue quando 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>

Crie um agente personalizado que um gatilho possa invocar. Observe o assetId na resposta — o gatilho faz referência a ele 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>

Crie um gatilho baseado em tempo que execute o agente personalizado diariamente. <CUSTOM_AGENT_ASSET_ID>Substitua assetId pelo da resposta 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>

A resposta inclui umtriggerId. Anote esse valor — você o usa como <TRIGGER_ID> no próximo comando.

Para pausar o gatilho sem excluí-lo, atualize seu status para: Inactive

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

12. (Opcional) Excluir um espaço do agente

A exclusão de um espaço do agente remove todas as associações, configurações e dados de investigação desse espaço do agente. Esta ação não pode ser desfeita.

Para excluir um espaço do agente, execute o seguinte comando:

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

Verificação

Para verificar sua configuração, execute os seguintes 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>

Próximas etapas

Observações

  • Substitua <AGENT_SPACE_ID><MONITORING_ACCOUNT_ID>,<EXTERNAL_ACCOUNT_ID>,<REGION>, e assim por diante com seus valores reais.

  • Para obter uma lista de regiões compatíveis, consulte Regiões aceitas.