Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menciptakan lingkungan pengujian
Panduan ini menyediakan pengujian langsung untuk memvalidasi fungsionalitas respons insiden AWS DevOps Agen menggunakan arsitektur sampel. Gunakan suplemen ini jika Anda ingin menguji DevOps Agen sebelum menghubungkan sistem produksi Anda.
Prasyarat
AWS akun dengan akses administratif
AWS DevOps Ruang Agen dibuat dengan dan dikonfigurasi menggunakan alur peran Auto create DevOps Agent
Ikhtisar biaya dan keamanan
Perlindungan biaya
Tes EC2: GRATIS (Tingkat AWS Gratis) atau ~ $0,02 selama 2 jam
Tes Lambda: GRATIS (tingkat gratis 1M requests/month )
CloudWatch: GRATIS (10 alarm, termasuk metrik dasar)
Perkiraan biaya total yang diharapkan: $0,00 - $0,05 untuk pengujian lengkap
Fitur keamanan dalam tes ini
Pengakhiran otomatis: Shutdown otomatis bawaan
Tingkat Gratis memenuhi syarat: Menggunakan jenis instans terkecil
Cakupan terbatas: Sumber daya uji minimal dan terisolasi
Pembersihan mudah: Langkah-langkah konsol sederhana untuk menghapus semuanya
Tidak ada dampak produksi: Lingkungan pengujian yang benar-benar terpisah
Siapkan AWS akun Anda untuk pengujian
penting
Sumber daya infrastruktur perlu digunakan di AWS akun tempat Anda membuat akun cloud utama DevOps Agen Space. Wilayah spesifik tidak masalah.
Masuk ke AWS Konsol: https://console.aws.amazon.com
Pastikan Anda bekerja di AWS akun yang sama di mana Ruang DevOps Agen Anda berada
Anda dapat menggunakan wilayah mana pun untuk sumber daya pengujian Anda
catatan
Pemetaan 1:1 antara akun utama DevOps Agen Anda dan sumber daya lingkungan pengujian yang Anda buat menyederhanakan penyiapan pengujian. Anda dapat dengan mudah memperluas Ruang DevOps Agen Anda untuk memasukkan akun sekunder dan mengaktifkan investigasi lintas akun.
Pilih tes Anda
Anda dapat menjalankan tes secara independen atau keduanya bersama-sama:
Opsi uji A: Uji kapasitas CPU EC2
Tujuan: Validasi kemampuan AWS DevOps Agen untuk mendeteksi dan menyelidiki masalah kinerja EC2
Perkiraan waktu: 5 menit setup +10 menit eksekusi otomatis
Kesulitan: Sepenuhnya otomatis (tidak perlu langkah manual)
Opsi uji B: Tes tingkat kesalahan Lambda
Tujuan: Validasi kemampuan AWS DevOps Agen untuk mendeteksi dan menyelidiki kesalahan fungsi Lambda
Perkiraan waktu: pengaturan 10 menit+2 menit untuk memicu
Kesulitan: Sangat mudah
Opsi uji A: Uji kapasitas CPU EC2
Langkah 1: Menyebarkan CloudFormation tumpukan untuk tes EC2
Kami akan menggunakannya CloudFormation untuk membuat sumber daya pengujian kami, yang memungkinkan AWS DevOps Agen melacak dan menyelidikinya dengan benar.
Arahkan ke CloudFormation:
Di AWS Console, cari "CloudFormation" dan klik CloudFormation
Klik Buat tumpukan> Dengan sumber daya baru (standar)
Unggah templat:
Buat file lokal baru yang disebut
AWS-DevOpsAgent-ec2-test.yamlSalin dan tempel CloudFormation template ini ke dalam file:
-
AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS DevOps Agent EC2 CPU Test Stack' Parameters: MyIP: Type: String Description: Your current IP address for SSH access (find at https://whatismyipaddress.com) Default: '0.0.0.0/0' Resources: # Security Group for SSH access TestSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: AWS-DevOpsAgent-test-sg GroupDescription: AWS DevOps Agent beta testing security group SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: !Ref MyIP Description: SSH access from your IP Tags: - Key: Name Value: AWS-DevOpsAgent-Test-SG - Key: Purpose Value: AWS-DevOpsAgent-Testing # Key Pair for SSH access TestKeyPair: Type: AWS::EC2::KeyPair Properties: KeyName: AWS-DevOpsAgent-test-key KeyType: rsa Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Key - Key: Purpose Value: AWS-DevOpsAgent-Testing # EC2 Instance for CPU testing TestInstance: Type: AWS::EC2::Instance Properties: InstanceType: t3.micro ImageId: '{{resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}' KeyName: !Ref TestKeyPair SecurityGroupIds: - !Ref TestSecurityGroup UserData: Fn::Base64: !Sub | #!/bin/bash yum update -y yum install -y htop # Create the CPU stress test script cat > /home/ec2-user/cpu-stress-test.sh << 'EOF' #!/bin/bash echo "Starting AWS DevOpsAgent CPU Stress Test" echo "Time: $(date)" echo "Instance: $(curl -s http://169.254.169.254/latest/meta-data/instance-id)" echo "" # Get number of CPU cores CORES=$(nproc) echo "CPU Cores: $CORES" echo "" echo "Starting stress test (5 minutes)..." echo "This will generate >70% CPU usage to trigger CloudWatch alarm" echo "" # Create CPU load using yes command echo "Starting CPU load processes..." for i in $(seq 1 $CORES); do (yes > /dev/null) & CPU_PID=$! echo "Started CPU load process $i (PID: $CPU_PID)" echo $CPU_PID >> /tmp/cpu_test_pids done # Auto-cleanup after 5 minutes (sleep 300 && echo "Stopping CPU load processes..." && kill $(cat /tmp/cpu_test_pids 2>/dev/null) 2>/dev/null && rm -f /tmp/cpu_test_pids) & echo "" echo "CPU load processes started for 5 minutes" echo "Check CloudWatch for alarm trigger in 3-5 minutes" EOF chmod +x /home/ec2-user/cpu-stress-test.sh chown ec2-user:ec2-user /home/ec2-user/cpu-stress-test.sh # Create auto-shutdown script (safety mechanism) cat > /home/ec2-user/auto-shutdown.sh << 'SHUTDOWN_EOF' #!/bin/bash echo "Auto-shutdown scheduled for 2 hours from now: $(date)" sleep 7200 echo "Auto-shutdown executing at: $(date)" sudo shutdown -h now SHUTDOWN_EOF chmod +x /home/ec2-user/auto-shutdown.sh nohup /home/ec2-user/auto-shutdown.sh > /home/ec2-user/auto-shutdown.log 2>&1 & echo "AWS DevOpsAgent test setup completed at $(date)" > /home/ec2-user/setup-complete.txt Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Instance - Key: Purpose Value: AWS-DevOpsAgent-Testing # CloudWatch Alarm for CPU utilization CPUAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: AWS-DevOpsAgent-EC2-CPU-Test AlarmDescription: AWS-DevOpsAgent beta test - EC2 CPU utilization alarm MetricName: CPUUtilization Namespace: AWS/EC2 Statistic: Average Period: 60 EvaluationPeriods: 1 Threshold: 70 ComparisonOperator: GreaterThanThreshold Dimensions: - Name: InstanceId Value: !Ref TestInstance TreatMissingData: notBreaching Outputs: InstanceId: Description: EC2 Instance ID for testing Value: !Ref TestInstance SecurityGroupId: Description: Security Group ID Value: !Ref TestSecurityGroup AlarmName: Description: CloudWatch Alarm Name Value: !Ref CPUAlarm SSHCommand: Description: SSH command to connect to instance Value: !Sub 'ssh -i "AWS-DevOpsAgent-test-key.pem" ec2-user@${TestInstance.PublicDnsName}'
-
Di CloudFormation konsol, pilih Unggah file templat
Klik Pilih berkas
Pilih
AWS-DevOpsAgent-ec2-test.yamlfileKlik Berikutnya
Konfigurasikan tumpukan:
Nama tumpukan:
AWS-DevOpsAgent-EC2-TestParameter:
MyIP: Biarkan sebagai default
0.0.0.0/0(Anda dapat mengamankan ini nanti jika diperlukan)
Klik Berikutnya
Konfigurasikan opsi tumpukan:
Tinggalkan default, klik Berikutnya
Tinjau dan buat:
Periksa Saya mengakui bahwa AWS CloudFormation mungkin membuat sumber daya IAM
Klik Kirim
Tunggu penyelesaian:
Pembuatan tumpukan membutuhkan waktu 3-5 menit
Status akan berubah dari
CREATE_IN_PROGRESSmenjadiCREATE_COMPLETEPenting: Instans EC2 Anda sekarang menjadi bagian dari CloudFormation tumpukan yang AWS DevOpsAgent dapat melacak!
Opsional: Akses SSH aman (hanya jika Anda berencana untuk terhubung ke instans)
Lewati langkah ini jika Anda hanya ingin menjalankan pengujian otomatis
Arahkan ke Grup Keamanan EC2:
Di AWS Konsol, buka EC2 → Grup Keamanan
Menemukan
AWS-DevOpsAgent-test-sg
Perbarui aturan SSH:
Pilih grup keamanan → tab Aturan masuk → Edit aturan masuk
Temukan aturan SSH (port 22)
Ubah sumber dari
0.0.0.0/0ke IP Anda:[YOUR_IP]/32Dapatkan IP Anda dari https://whatismyipaddress.com
Klik Simpan aturan
Langkah 2: Tunggu eksekusi tes otomatis
Eksekusi uji otomatis:
Tes stress CPU akan secara otomatis dimulai 5 menit setelah peluncuran instance
Tidak diperlukan intervensi manual - tunggu saja, tes berjalan sepenuhnya di latar belakang
Pantau tes:
Instans melakukan booting dan menyiapkan tes secara otomatis
Skrip akan berjalan selama 5 menit dan menghasilkan> 70% penggunaan CPU
CloudWatch alarm harus dipicu dalam 8-10 menit total (5 menit penundaan+3-5 menit untuk alarm)
Opsional: Jalankan ulang manual (untuk pengujian tambahan):
Connect ke instans Anda: konsol EC2 → → Connect
AWS-DevOpsAgent-Test-Instance→ Session ManagerJalankan stress test lagi:
./cpu-stress-test.shSempurna untuk AWS DevOpsAgent respons pengujian beberapa kali
Opsi uji B: Tes tingkat kesalahan Lambda
Langkah 1: Menyebarkan CloudFormation tumpukan untuk tes Lambda
Arahkan ke CloudFormation:
Di AWS konsol, pergi ke CloudFormation
Klik Buat tumpukan → Dengan sumber daya baru (standar)
Unggah templat:
Buat file lokal baru yang disebut
AWS-DevOpsAgent-lambda-test.yamlSalin dan tempel CloudFormation template ini ke dalam file:
-
AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS DevOpsAgent Lambda Error Test Stack' Resources: # IAM Role for Lambda function LambdaExecutionRole: Type: AWS::IAM::Role Properties: RoleName: AWS-DevOpsAgentLambdaTestRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: lambda.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Tags: - Key: Name Value: AWS-DevOpsAgent-Lambda-Test-Role - Key: Purpose Value: AWS-DevOpsAgent-Testing # Lambda function that generates errors TestLambdaFunction: Type: AWS::Lambda::Function Properties: FunctionName: AWS-DevOpsAgent-test-lambda Runtime: python3.12 Handler: index.lambda_handler Role: !GetAtt LambdaExecutionRole.Arn Code: ZipFile: | import json import random import time from datetime import datetime def lambda_handler(event, context): print(f"AWS DevOpsAgent Test Lambda - {datetime.now()}") print(f"Event: {json.dumps(event)}") # Intentionally generate errors for testing error_scenarios = [ "Simulated database connection timeout", "Test API rate limit exceeded", "Intentional validation error for AWS DevOpsAgent testing" ] # Always throw an error for testing purposes error_message = random.choice(error_scenarios) print(f"Generating test error: {error_message}") # This will create a Lambda error that CloudWatch will detect raise Exception(f"AWS DevOpsAgent Test Error: {error_message}") Description: AWS DevOpsAgent beta test function - intentionally generates errors Timeout: 30 Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Lambda - Key: Purpose Value: AWS-DevOpsAgent-Testing # CloudWatch Alarm for Lambda errors LambdaErrorAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: AWS-DevOpsAgent-Lambda-Error-Test AlarmDescription: AWS-DevOpsAgent beta test - Lambda error rate alarm MetricName: Errors Namespace: AWS/Lambda Statistic: Sum Period: 60 EvaluationPeriods: 1 Threshold: 0 ComparisonOperator: GreaterThanThreshold Dimensions: - Name: FunctionName Value: !Ref TestLambdaFunction TreatMissingData: notBreaching Outputs: LambdaFunctionName: Description: Lambda Function Name for testing Value: !Ref TestLambdaFunction LambdaFunctionArn: Description: Lambda Function ARN Value: !GetAtt TestLambdaFunction.Arn AlarmName: Description: CloudWatch Alarm Name Value: !Ref LambdaErrorAlarm TestCommand: Description: AWS CLI command to test the function Value: !Sub 'aws lambda invoke --function-name ${TestLambdaFunction} --payload "{\"test\":\"AWS DevOpsAgent validation\"}" response.json'
-
Di CloudFormation konsol, pilih Unggah file templat
Klik Pilih berkas
Pilih
AWS-DevOpsAgent-lambda-test.yamlfileKlik Berikutnya
Konfigurasikan tumpukan:
Nama tumpukan:
AWS-DevOpsAgent-Lambda-TestKlik Berikutnya
Konfigurasikan opsi tumpukan:
Tinggalkan default, klik Berikutnya
Tinjau dan buat:
Periksa Saya mengakui bahwa AWS CloudFormation mungkin membuat sumber daya IAM
Klik Kirim
Tunggu penyelesaian:
Pembuatan tumpukan membutuhkan waktu 2-3 menit
Status akan berubah menjadi
CREATE_COMPLETE
Langkah 2: Memicu kesalahan Lambda
Arahkan ke konsol Lambda:
Pergi ke konsol AWS Lambda
Temukan fungsi Anda
AWS-DevOpsAgent-test-lambda
Uji fungsinya:
Klik tab Uji
Klik Buat acara baru
Nama acara:
AWS-DevOpsAgent-test-eventGunakan payload JSON ini:
-
{ "test": "AWS DevOpsAgent validation", "timestamp": "2024-01-01T00:00:00Z" }
-
Klik Simpan
Menghasilkan kesalahan:
Klik tombol Uji 3 kali (tunggu 10 detik di antara masing-masing)
Setiap tes akan menghasilkan kesalahan yang disengaja
CloudWatch alarm harus dipicu dalam 2-3 menit
AWS DevOpsAgentseharusnya sekarang dapat mendeteksi alarm dengan Investigasi di aplikasi Operator yang akan Anda atur selanjutnya.
Validasi AWS DevOps Deteksi Agen
Langkah 1: CloudWatch Alarm periksa kewarasan (opsional)
Langkah ini untuk memastikan bahwa tes di atas sekarang dalam keadaan alarm.
Untuk Tes EC2:
Di CloudWatch konsol, buka Alarm
Tunggu 3-5 menit setelah memulai stress test
Alarm Anda harus ditampilkan Dalam keadaan alarm
Jika masih “OK”: Tunggu 2-3 menit lagi (CloudWatch metrik dapat ditunda)
Untuk Tes Lambda:
Periksa
AWS-DevOpsAgent-Lambda-Error-TestalarmHarus ditampilkan Dalam alarm dalam 2-3 menit setelah menjalankan tes
Langkah 2: Mulai Investigasi AWS DevOps Agen
Buka AWS DevOps Agen Anda AgentSpace
Klik Akses admin. Ini akan membuka aplikasi web DevOps Agent Space di jendela baru
Klik tombol Mulai Investigasi di sisi kanan layar
Lengkapi formulir berikut:
Detail investigasi: Jelaskan investigasi yang ingin Anda jalankan. Sertakan detail apa pun yang Anda bisa tentang tujuan investigasi, area untuk dijelajahi, atau informasi yang relevan.
Titik awal investigasi: Jelaskan informasi yang ingin Anda mulai penyelidikan. Anda dapat menyebutkan alarm, metrik, cuplikan log, atau apa pun untuk memberi DevOps Agen titik awal untuk bekerja. Dalam hal ini, berikan ringkasan alarm yang baru saja Anda buat.
Tanggal dan waktu kejadian (ISO 8601 lebih disukai) ::MMZ YYYY-MM-DDTHH
Beri nama investigasi Anda: contoh:
Oncall_investigation_1:2025-10-27AWS ID akun untuk insiden tersebut
Wilayah tempat kejadian itu terjadi
Prioritas - AWS DevOpsAgent memungkinkan untuk dua investigasi bersamaan. Prioritas memungkinkan Anda untuk menentukan urutan pelaksanaan investigasi Anda.
Klik Selidiki untuk meluncurkan penyelidikan.
Klik Investigasi Anda yang tercantum di dasbor. Anda akan dibawa ke layar Detail Investigasi di mana Anda dapat melihat langkah-langkah terperinci yang diambil DevOps Agen.
Hasil yang Diharapkan
Hasil tes EC2:
Mendeteksi alarm CPU EC2
Mengidentifikasi akar penyebab: “beban kerja pengujian stres CPU”
Menampilkan garis waktu: Uji stres → Lonjakan CPU → Alarm
Memberikan rekomendasi untuk pemantauan dan penskalaan
Hasil tes Lambda:
Mendeteksi lonjakan tingkat kesalahan Lambda
Mengidentifikasi akar penyebab: “Pengecualian uji yang disengaja”
Menampilkan garis waktu: Pemanggilan fungsi → Kesalahan → Alarm
Memberikan rekomendasi untuk penanganan dan pemantauan kesalahan
Instruksi pembersihan
Tes pembersihan A (tes EC2)
Pembersihan otomatis
Instance akan otomatis berakhir setelah 2 jam (dibangun ke dalam CloudFormation template)
Pembersihan manual (segera)
Hapus CloudFormation Stack:
Pergi ke CloudFormation konsol
Pilih
AWS-DevOpsAgent-EC2-TesttumpukanKlik Hapus
Konfirmasikan penghapusan
Ini akan secara otomatis menghapus semua sumber daya: instans EC2, grup keamanan, key pair, dan alarm CloudWatch
Tes pembersihan B (tes Lambda)
Hapus CloudFormation Stack:
Pergi ke CloudFormation konsol
Pilih
AWS-DevOpsAgent-Lambda-TesttumpukanKlik Hapus
Konfirmasikan penghapusan
Ini akan secara otomatis menghapus semua sumber daya: Fungsi Lambda, peran IAM, dan alarm CloudWatch
Pemecahan masalah
Masalah umum
“Tidak dapat terhubung ke instans EC2"
Periksa Grup Keamanan: Pastikan SSH (port 22) terbuka untuk IP Anda
Periksa Izin Kunci: Jalankan
chmod 400 AWS-DevOpsAgent-test-key.pemVerifikasi IP Publik: Instance harus memiliki IP publik yang ditetapkan
Tunggu Instance: Pastikan instance dalam status “Running”
“Alarm tidak memicu”
Tunggu Metrik: CloudWatch metrik dapat memakan waktu 2-5 menit untuk muncul
Periksa CPU Load: SSH ke instance dan jalankan
topuntuk memverifikasi CPU> 70%Verifikasi Uji Stres: Jalankan
ps aux | grep yesuntuk melihat apakah proses pemuatan sedang berjalanTunggu Diperpanjang: Terkadang membutuhkan waktu hingga 7-8 menit untuk pemicu alarm pertama
Validasi uji
Pengujian AWS DevOp Agen Anda berhasil ketika:
Validasi teknis
Akurasi Investigasi: Hasil tes EC2 harus menunjukkan dengan benar bahwa alarm dipicu karena beban CPU. Hasil tes Lambda harus menunjukkan bahwa ini adalah kegagalan yang disengaja.
Akurasi Garis Waktu: Urutan peristiwa yang ditampilkan dengan benar
Kualitas Rekomendasi: Saran yang dapat ditindaklanjuti disediakan