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
Gambaran umum
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, mengatur 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 Utara), 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 Identitas dan Manajemen Akses (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 nilai milik Anda sendiri:
<MONITORING_ACCOUNT_ID>— ID akun 12 digit Anda untuk AWS akun pemantauan (utama)<EXTERNAL_ACCOUNT_ID>— ID AWS akun 12 digit dari akun sekunder untuk dipantau (digunakan pada langkah 4)<REGION>— Kode AWS Wilayah untuk ruang agen Anda (misalnya,us-east-1ataueu-central-1)<AGENT_SPACE_ID>— Pengidentifikasi ruang agen yang dikembalikan olehcreate-agent-spaceperintah
Pengaturan peran IAM
1. Membuat 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
Buat dan lampirkan kebijakan sebaris 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 AWS aplikasi operator 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 Dukungan. Kebijakan mencakup akses ke ruang agen tertentu dengan menggunakan aws:PrincipalTag/AgentSpaceId kondisi tersebut. Untuk informasi selengkapnya tentang daftar lengkap tindakan, lihatDevOps Izin IAM agen.
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, tent --kms-key-arn ukan untuk menggunakan kunci AWS KMS yang dikelola pelanggan untuk enkripsi. Anda juga dapat menggunakan --tags untuk menambahkan tag sumber daya dan --locale untuk mengatur bahasa untuk tanggapan agen.
Simpan agentSpaceId dari respons (terletak diagentSpace.agentSpaceId).
Untuk membuat daftar ruang agen Anda nanti, jalankan perintah berikut:
aws devops-agent list-agent-spaces \ --region <REGION>
2. Asosiasikan Anda AWS akun
Kaitkan AWS akun Anda untuk mengaktifkan penemuan topologi. Atur accountType ke salah satu nilai berikut:
monitor— Akun utama tempat ruang agen ada. Akun ini menghosting agen dan digunakan untuk penemuan topologi.source— Akun tambahan yang dipantau agen. Gunakan jenis ini saat Anda mengaitkan akun eksternal pada 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 otentikasi Pusat Identitas IAM, gunakan --auth-flow idc dan berikan--idc-instance-arn. Untuk penyedia identitas eksternal, gunakan --auth-flow idp dan berikan--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) Mengaitkan 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. Dengan kebijakan kepercayaan ini, AWS DevOps Agen service principal (aidevops.amazonaws.com) dapat mengambil peran dalam akun sekunder secara langsung. Kondisi aws:SourceAccount dan aws:SourceArn kondisi memberikan pencegahan wakil yang membingungkan. Kontrol keamanan ini mencegah layanan yang tidak sah menggunakan peran Anda untuk mengakses sumber daya Anda. Kondisi ini hanya mengizinkan Ruang Agen Anda di akun utama untuk mengambil peran tersebut. Ganti MONITORING_ACCOUNT_ID dengan ID akun utama yang menampung Ruang Agen yang Anda atur pada langkah 2.
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>" }, "ArnLike": { "aws:SourceArn": "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 sebaris untuk memungkinkan 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
Mengaitkan 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, kaitkan 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 kredenSIAL 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>
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 kaitkan Dynatrace
Pertama, daftarkan layanan Dynatrace dengan kredenSIAL 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>
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 kaitkan Splunk
Pertama, daftarkan layanan Splunk dengan BearerToken kredenSIAL.
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) Daftarkan dan kaitkan Relik Baru
Pertama, daftarkan layanan New Relic dengan kredenSIAL kunci API.
Wilayah: En US tah 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 kaitkan Datadog
Anda harus terlebih dahulu mendaftarkan Datadog melalui konsol AWS DevOps Agen dengan menggunakan alur OAuth 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) Buat keterampilan, agen khusus, dan pemicu terjadwal
Anda dapat memberikan pengetahuan khusus kepada agen dan mengotomatikannya sesuai jadwal dengan membuat aset dan pemicu di ruang agen. Contoh ini membuat skill, agen kustom, dan pemicu berbasis waktu yang menjalankan agen kustom setiap hari. Untuk informasi selengkapnya tentang mengelola aset, lihatMengelola aset.
Buat keterampilan yang dimuat agen bila relevan:
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>
Buat agen kustom yang dapat dipanggil oleh pemicu. Perhatikan assetId dalam respon—pemicu mereferensikannya sebagai: 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>
Buat pemicu berbasis waktu yang menjalankan agen kustom setiap hari. Ganti <CUSTOM_AGENT_ASSET_ID> dengan assetId respon sebelumnya:
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>
Jawabannya termasuk atriggerId. Perhatikan nilai ini—Anda menggunakannya seperti <TRIGGER_ID> pada perintah berikutnya.
Untuk menjeda pemicu tanpa menghapusnya, perbarui statusnya keInactive:
aws devops-agent update-trigger \ --agent-space-id <AGENT_SPACE_ID> \ --trigger-id <TRIGGER_ID> \ --status Inactive \ --region <REGION>
12. (Opsional) Menghapus 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 pengaturan 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
Untuk menghubungkan integrasi tambahan, lihatMengkonfigurasi integrasi dan pengetahuan.
Untuk mempelajari keterampilan dan kemampuan agen, lihatDevOps Keterampilan Agen.
Untuk informasi selengkapnya tentang mengelola keterampilan, agen khusus, dan aset lainnya sebagai infrastruktur sebagai kode, lihatMengelola aset.
Untuk memahami aplikasi web operator, lihatApa itu Aplikasi Web DevOps Agen?.
Catatan
Ganti
<AGENT_SPACE_ID>,<MONITORING_ACCOUNT_ID>,<EXTERNAL_ACCOUNT_ID>,<REGION>, dan seterusnya dengan nilai aktual Anda.Untuk mengetahui daftar Wilayah yang didukung, lihat Wilayah yang Didukung.