View a markdown version of this page

AWS DevOps Panduan orientasi Agen CLI - AWS DevOps Agen

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS DevOps Panduan orientasi Agen CLI

Ikhtisar

Dengan AWS DevOps Agen, Anda dapat memantau dan mengelola AWS infrastruktur Anda. Panduan ini memandu Anda melalui pengaturan AWS DevOps Agen dengan menggunakan AWS Command Line Interface (AWS CLI). Anda membuat peran IAM, menyiapkan ruang agen, dan mengaitkan AWS akun Anda. Anda juga mengaktifkan aplikasi operator dan secara opsional menghubungkan integrasi pihak ketiga. Panduan ini membutuhkan waktu sekitar 20 menit untuk menyelesaikannya.

AWS DevOps Agen tersedia di enam AWS Wilayah: AS Timur (Virginia N.), AS Barat (Oregon), Asia Pasifik (Sydney), Asia Pasifik (Tokyo), Eropa (Frankfurt), dan Eropa (Irlandia). Untuk informasi selengkapnya tentang Wilayah yang didukung, lihatWilayah yang Didukung.

Prasyarat

Sebelum Anda mulai, pastikan Anda memiliki yang berikut:

  • AWS CLI versi 2 diinstal dan dikonfigurasi

  • Otentikasi ke akun AWS pemantauan Anda

  • Izin untuk membuat peran AWS Identity and Access Management (IAM) dan melampirkan kebijakan

  • AWS Akun untuk digunakan sebagai akun pemantauan

  • Keakraban dengan sintaks AWS CLI dan JSON

Sepanjang panduan ini, ganti nilai placeholder berikut dengan milik Anda sendiri:

  • <MONITORING_ACCOUNT_ID>— ID AWS akun 12 digit Anda untuk akun pemantauan (utama)

  • <EXTERNAL_ACCOUNT_ID>— 12 digit ID AWS akun dari akun sekunder untuk dipantau (digunakan pada langkah 4)

  • <REGION>— Kode AWS Wilayah untuk ruang agen Anda (misalnya, us-east-1 ataueu-central-1)

  • <AGENT_SPACE_ID>— Pengidentifikasi ruang agen yang dikembalikan oleh perintah create-agent-space

Pengaturan peran IAM

1. Buat peran ruang DevOps Agen

Buat kebijakan kepercayaan IAM dengan menjalankan perintah berikut:

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

Buat peran IAM:

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

Simpan peran ARN dengan menjalankan perintah berikut:

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

Lampirkan kebijakan AWS terkelola:

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

Membuat dan melampirkan kebijakan inline untuk memungkinkan pembuatan peran terkait layanan 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. Buat peran IAM aplikasi operator

Buat kebijakan kepercayaan IAM dengan menjalankan perintah berikut:

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

Buat peran IAM:

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

Simpan peran ARN dengan menjalankan perintah berikut:

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

Lampirkan kebijakan aplikasi operator AWS terkelola:

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

Kebijakan terkelola ini memberikan izin aplikasi operator untuk mengakses fitur ruang agen. Fitur-fitur ini termasuk investigasi, rekomendasi, manajemen pengetahuan, obrolan, dan integrasi AWS Support. Kebijakan mencakup akses ke ruang agen tertentu dengan menggunakan aws:PrincipalTag/AgentSpaceId kondisi tersebut. Untuk informasi selengkapnya tentang daftar lengkap tindakan, lihatDevOps Izin Agen IAM.

Langkah-langkah orientasi

1. Buat ruang agen

Jalankan perintah berikut untuk membuat ruang agen:

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

Secara opsional, tentukan --kms-key-arn untuk menggunakan kunci AWS KMS yang dikelola pelanggan untuk enkripsi. Anda juga dapat menggunakan --tags untuk menambahkan tag sumber daya dan --locale mengatur bahasa untuk tanggapan agen.

Simpan agentSpaceId dari respons (terletak diagentSpace.agentSpaceId).

Untuk membuat daftar spasi agen Anda nanti, jalankan perintah berikut:

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

2. Kaitkan AWS akun Anda

Kaitkan AWS akun Anda untuk mengaktifkan penemuan topologi. Atur accountType ke salah satu nilai berikut:

  • monitor— Akun utama tempat ruang agen ada. Akun ini menampung agen dan digunakan untuk penemuan topologi.

  • source— Akun tambahan yang dipantau agen. Gunakan jenis ini saat Anda mengaitkan akun eksternal di langkah 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. Aktifkan aplikasi operator

Alur otentikasi dapat menggunakan IAM, IAM Identity Center (IDC), atau penyedia identitas eksternal (iDP). Jalankan perintah berikut untuk mengaktifkan aplikasi operator untuk ruang agen Anda:

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>

Untuk autentikasi IAM Identity Center, gunakan --auth-flow idc dan sediakan. --idc-instance-arn Untuk penyedia identitas eksternal, gunakan --auth-flow idp dan sediakan--issuer-url,--idp-client-id, dan--idp-client-secret. Untuk informasi selengkapnya, lihat Menyiapkan Autentikasi Pusat Identitas IAM dan Menyiapkan Otentikasi Penyedia Identitas Eksternal (IDP).

4. (Opsional) Kaitkan akun sumber tambahan

Untuk memantau akun tambahan dengan AWS DevOps Agen, buat peran lintas akun IAM.

Buat peran lintas akun di akun eksternal

Beralih ke akun eksternal dan buat kebijakan kepercayaan. MONITORING_ACCOUNT_IDIni adalah akun utama yang menampung ruang agen yang Anda atur di langkah 2. Konfigurasi ini memungkinkan layanan AWS DevOps Agen untuk mengambil peran dalam akun sumber sekunder atas nama akun pemantauan.

Jalankan perintah berikut untuk membuat kebijakan kepercayaan:

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

Buat peran IAM lintas akun:

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

Simpan peran ARN dengan menjalankan perintah berikut:

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

Lampirkan kebijakan AWS terkelola:

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

Lampirkan kebijakan inline untuk mengizinkan pembuatan peran terkait layanan Resource Explorer di akun eksternal:

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

Kaitkan akun eksternal

Beralih kembali ke akun pemantauan Anda, lalu jalankan perintah berikut untuk mengaitkan akun eksternal:

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. (Opsional) Rekanan GitHub

Untuk petunjuk tentang mendaftar GitHub melalui konsol, lihatMenghubungkan ke CI/CD jaringan pipa.

Daftar layanan terdaftar:

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

Simpan <SERVICE_ID> untuk ServiceType:. github

Setelah Anda mendaftar GitHub di konsol, asosiasikan GitHub repositori dengan menjalankan perintah berikut:

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. (Opsional) Daftar dan asosiasikan ServiceNow

Pertama, daftarkan ServiceNow layanan dengan OAuth kredensil:

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>

Simpan yang dikembalikan<SERVICE_ID>, lalu kaitkan 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. (Opsional) Daftar dan asosiasikan Dynatrace

Pertama, daftarkan layanan Dynatrace dengan OAuth kredensi:

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>

Simpan yang dikembalikan<SERVICE_ID>, lalu kaitkan Dynatrace. Sumber daya bersifat opsional. Lingkungan menentukan lingkungan Dynatrace mana yang akan diasosiasikan.

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>

Responsnya mencakup informasi webhook untuk integrasi. Anda dapat menggunakan webhook ini untuk memicu penyelidikan dari Dynatrace. Untuk informasi selengkapnya, lihat Menghubungkan Dynatrace.

8. (Opsional) Daftar dan asosiasikan Splunk

Pertama, daftarkan layanan Splunk dengan BearerToken kredensil.

Titik akhir menggunakan format berikut: 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>

Simpan yang dikembalikan<SERVICE_ID>, lalu kaitkan 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>

Responsnya mencakup informasi webhook untuk integrasi. Anda dapat menggunakan webhook ini untuk memicu penyelidikan dari Splunk. Untuk informasi selengkapnya, lihat Menghubungkan Splunk.

9. (Opsional) Daftar dan asosiasikan New Relic

Pertama, daftarkan layanan New Relic dengan kredenal kunci API.

Wilayah: Salah satu US atauEU.

Bidang opsional: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>

Simpan yang dikembalikan<SERVICE_ID>, lalu kaitkan 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>

Responsnya mencakup informasi webhook untuk integrasi. Anda dapat menggunakan webhook ini untuk memicu penyelidikan dari New Relic. Untuk informasi selengkapnya, lihat Menghubungkan Relik Baru.

10. (Opsional) Daftar dan asosiasikan Datadog

Anda harus terlebih dahulu mendaftarkan Datadog melalui konsol AWS DevOps Agen dengan menggunakan OAuth alur sebelum Anda dapat mengaitkannya melalui CLI. Untuk informasi selengkapnya, lihat Menghubungkan DataDog.

Daftar layanan terdaftar:

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

Simpan <SERVICE_ID> untuk ServiceType:. mcpserverdatadog

Kemudian kaitkan 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>

Responsnya mencakup informasi webhook untuk integrasi. Anda dapat menggunakan webhook ini untuk memicu penyelidikan dari Datadog. Untuk informasi selengkapnya, lihat Menghubungkan DataDog.

11. (Opsional) Hapus ruang agen

Menghapus ruang agen akan menghapus semua asosiasi, konfigurasi, dan data investigasi untuk ruang agen tersebut. Tindakan ini tidak dapat dibatalkan.

Untuk menghapus ruang agen, jalankan perintah berikut:

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

Verifikasi

Untuk memverifikasi penyiapan Anda, jalankan perintah berikut:

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

Langkah selanjutnya

Catatan

  • Ganti <AGENT_SPACE_ID><MONITORING_ACCOUNT_ID>,,<EXTERNAL_ACCOUNT_ID>,<REGION>,, dan sebagainya dengan nilai aktual Anda.

  • Untuk mengetahui daftar Wilayah yang didukung, lihat Wilayah yang Didukung.