View a markdown version of this page

AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Referensi Runbook Otomasi

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

AWSSupport-SetupIPMonitoringFromVPC

Deskripsi

AWSSupport-SetupIPMonitoringFromVPCmembuat instance Amazon Elastic Compute Cloud (Amazon EC2) sementara yang menjalankan Amazon Linux 2023 di subnet yang ditentukan. Runbook terus menjalankan pengujian ping, MTR, traceroute, dan tracetcp terhadap IP target yang dipilih (IPv4 atau IPv6). Ini menyimpan hasil dalam grup CloudWatch log Amazon dan menerapkan filter metrik untuk memvisualisasikan statistik latensi dan kehilangan paket dengan cepat di CloudWatch dasbor.

Biaya tambahan

Runbook ini menimbulkan biaya tambahan AWS . Ini menyediakan instance Amazon EC2, grup CloudWatch log, dan CloudWatch dasbor di akun Anda menggunakan AWS CloudFormation. Instance pengujian berjalan terus menerus sampai Anda menghapus CloudFormation tumpukan. Jika Anda menyet RetainDashboardAndLogsOnDeletion el ke True (default), CloudWatch dasbor dan grup log tetap ada setelah penghapusan tumpukan. Sumber daya ini terus dikenakan biaya hingga Anda menghapusnya secara manual. Untuk detail harga, lihat Harga Amazon EC2 dan CloudWatch Harga https://aws.amazon.com/cloudwatch/pricing/ Amazon.

Informasi Tambahan

Anda dapat menggunakan hasil pengujian di Amazon CloudWatch Logs untuk pemecahan masalah jaringan dan analisis pola dan tren. Selain itu, Anda dapat mengonfigurasi CloudWatch alarm dengan pemberitahuan Amazon Simple Notification Service saat kehilangan paket atau latensi mencapai ambang batas. Anda juga dapat menggunakan hasil ini saat membuka kasus dengan AWS Dukungan, untuk membantu mengisolasi masalah dengan cepat dan mengurangi waktu penyelesaian saat menyelidiki masalah jaringan.

Jalankan Otomatisasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

Linux,macOS, Windows

Parameter

  • AutomationAssumeRole

    Tipe: String

    Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Manajer Sistem untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Sistem Manajer Otomasi menggunakan izin pengguna yang memulai runbook ini.

  • CloudWatchLogGroupNamePrefix

    Tipe: String

    Default: /AWSSupport-SetupIPMonitoringFromVPC

    Deskripsi: (Opsional) Awalan digunakan untuk setiap grup CloudWatch log yang dibuat untuk hasil pengujian.

  • CloudWatchLogGroupRetentionInDays

    Tipe: String

    Nilai yang valid: 1 | 3 | 5 | 7 | 14 | 30 | 60 | 90 | 120 | 150 | 180 | 365 | 400 | 545 | 731 | 1827 | 3653

    Standar: 7

    Deskripsi: (Opsional) Jumlah hari yang ingin Anda simpan hasil pemantauan jaringan.

  • InstanceType

    Tipe: String

    Nilai yang valid: t2.micro | t2.small | t2.medium | t2.large | t3.micro | t3.small | t3.medium | t3.large | t4g.micro | t4g.small | t4g.medium | t4g.large

    Standar: t3.micro

    Deskripsi: (Opsional) Jenis instans Amazon EC2 untuk instans pemantauan. Ukuran yang disarankan: t3.micro.

  • SubnetId

    Tipe: String

    Deskripsi: (Diperlukan) ID subnet untuk instance monitor. Ketahuilah bahwa jika Anda menentukan subnet pribadi, maka Anda harus memastikan ada akses internet untuk memungkinkan instance monitor mengatur pengujian (misalnya, menginstal CloudWatch agen, berinteraksi dengan AWS Systems Manager dan CloudWatch).

  • Tips Target

    Tipe: String

    Deskripsi: (Diperlukan) Comma-separated daftar alamat IPv4 atau IPv6 untuk dipantau. Tidak boleh ada spasi. Ukuran maksimum adalah 255 karakter. Ketahuilah bahwa jika Anda memberikan IP yang tidak valid, maka otomatisasi akan gagal dan mengembalikan pengaturan pengujian.

  • TestInstanceSecurityGroupId

    Tipe: String

    Deskripsi: (Opsional) ID grup keamanan untuk instance pengujian. Jika tidak ditentukan, otomatisasi membuat satu selama pembuatan instance. Pastikan grup keamanan mengizinkan akses keluar ke IP pemantauan.

  • TestInstanceProfileName

    Tipe: String

    Deskripsi: (Opsional) Nama profil AWS Identity and Access Management instans yang ada untuk instance pengujian. Jika tidak ditentukan, otomatisasi membuat satu selama pembuatan instance. Peran harus memiliki izin berikut:logs:CreateLogStream,logs:DescribeLogGroups,logs:DescribeLogStreams, logs:PutLogEvents dan Kebijakan Ter AWS kelolaAmazonSSMManagedInstanceCore.

  • TestInterval

    Tipe: String

    Deskripsi: (Opsional) Jumlah menit antara interval tes. Nilai defaultnya adalah 1 menit dan maksimum adalah 10 menit.

  • RetainDashboardAndLogsOnDeletion

    Tipe: String

    Deskripsi: (Opsional) False Tentukan untuk menghapus CloudWatch dasbor dan grup log saat menghapus CloudFormation tumpukan. Nilai default-nya adalah True. Secara default, runbook mempertahankan dasbor dan log. Anda harus menghapusnya secara manual ketika mereka tidak lagi diperlukan.

Izin IAM yang diperlukan

AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

Awas

Disarankan untuk melewati TestInstanceProfileName parameter atau memastikan pagar pengaman keamanan di tempat untuk mencegah penyalahgunaan izin IAM yang dapat berubah.

Disarankan agar pengguna yang menjalankan otomatisasi memiliki kebijakan yang dikelola AmazonSSMAutomationRole IAM terlampir. Selain itu, pengguna harus memiliki kebijakan berikut yang dilampirkan ke akun pengguna, grup, atau peran mereka:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:GetRolePolicy", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile", "iam:PutRolePolicy", "iam:TagRole" ], "Resource": [ "arn:aws:iam::111122223333:role/SetupIPMonitoringFromVPC*", "arn:aws:iam::111122223333:instance-profile/SetupIPMonitoringFromVPC*" ], "Effect": "Allow" }, { "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudwatch:PutDashboard", "cloudwatch:DeleteDashboards", "ec2:AuthorizeSecurityGroupEgress", "ec2:CreateSecurityGroup", "ec2:CreateLaunchTemplate", "ec2:DeleteSecurityGroup", "ec2:DescribeImages", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypes", "ec2:DescribeVpcs", "ec2:DeleteLaunchTemplate", "ec2:DeleteSecurityGroup", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeInstanceStatus", "ec2:CreateTags", "ec2:AssignIpv6Addresses", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeLaunchTemplates", "ec2:RevokeSecurityGroupEgress", "logs:CreateLogGroup", "logs:DeleteLogGroup", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "logs:TagResource", "ssm:DescribeInstanceInformation", "ssm:GetParameter", "ssm:GetParameters", "ssm:SendCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Resource": [ "*" ], "Effect": "Allow" } ] }

Jika TestInstanceProfileName parameter disediakan, izin IAM berikut tidak diperlukan untuk menjalankan runbook:

  • sudah: CreateRole

  • sudah: CreateInstanceProfile

  • sudah: DetachRolePolicy

  • sudah: AttachRolePolicy

  • sudah: AddRoleToInstanceProfile

  • sudah: RemoveRoleFromInstanceProfile

  • sudah: DeleteRole

  • sudah: DeleteRolePolicy

  • sudah: DeleteInstanceProfile

Langkah-langkah Dokumen

  1. aws:executeAwsApi- jelaskan subnet yang disediakan untuk mendapatkan status asosiasi blok VPC ID dan IPv6 CIDR.

  2. aws:executeScript- memvalidasi IP target yang disediakan adalah alamat IPv4 and/or IPv6 yang benar secara sintaksis, dapatkan arsitektur jenis instance yang dipilih, dan verifikasi subnet memiliki asosiasi kumpulan IPv6 jika ada IP target yang IPv6.

  3. aws:createStack- buat CloudFormation tumpukan yang menyediakan instans pengujian Amazon EC2, profil instans IAM (jika tidak disediakan), grup keamanan (jika tidak disediakan), grup CloudWatch log, dan CloudWatch dasbor.

    (Pembersihan) Jika langkah gagal:

    aws:executeScript- jelaskan peristiwa CloudFormation tumpukan untuk mengidentifikasi alasan kegagalan.

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  4. aws:waitForAwsResourceProperty- tunggu CloudFormation tumpukan untuk menyelesaikan pembuatan.

    (Pembersihan) Jika langkah gagal:

    aws:executeScript- jelaskan peristiwa CloudFormation tumpukan untuk mengidentifikasi alasan kegagalan.

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  5. aws:executeScript- jelaskan sumber CloudFormation daya tumpukan untuk mendapatkan ID instance pengujian, ID grup keamanan, peran IAM, profil instance, dan nama dasbor.

    (Pembersihan) Jika langkah gagal:

    aws:executeScript- jelaskan peristiwa CloudFormation tumpukan untuk mengidentifikasi alasan kegagalan.

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  6. aws:waitForAwsResourceProperty- tunggu instance pengujian menjadi instance terkelola.

    (Pembersihan) Jika langkah gagal:

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  7. aws:runCommand- instal CloudWatch agen,mtr, dan traceroute pada instance uji.

    (Pembersihan) Jika langkah gagal:

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  8. aws:runCommand- tentukan skrip pengujian jaringan (MTR, ping, tracepath, dan traceroute) untuk masing-masing IP yang disediakan.

    (Pembersihan) Jika langkah gagal:

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  9. aws:runCommand- mulai tes jaringan dan jadwalkan eksekusi berikutnya menggunakan timer systemd yang berjalan setiap TestInterval menit.

    (Pembersihan) Jika langkah gagal:

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  10. aws:runCommand- konfigurasikan CloudWatch agen untuk mendorong hasil tes dari /home/ec2-user/logs/ ke CloudWatch Log.

    (Pembersihan) Jika langkah gagal:

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  11. aws:runCommand- konfigurasikan rotasi log untuk hasil pengujian di/home/ec2-user/logs/.

  12. aws:executeScript- mengatur kebijakan retensi untuk semua grup CloudWatch log yang dibuat oleh CloudFormation tumpukan.

  13. aws:executeScript- membuat filter metrik grup CloudWatch log untuk latensi ping dan kehilangan paket ping.

    (Pembersihan) Jika langkah gagal:

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  14. aws:executeScript- perbarui CloudWatch dasbor untuk menyertakan widget untuk latensi ping dan statistik kehilangan paket ping.

    (Pembersihan) Jika langkah gagal:

    aws:executeAwsApi- hapus CloudWatch dasbor, jika ada.

    aws:deleteStack- menghapus CloudFormation tumpukan dan semua sumber daya terkait.

  15. aws:branch- mengevaluasi SleepTime parameter. Jika disetel ke0, otomatisasi berakhir tanpa menghapus tumpukan.

  16. aws:sleep- tunggu SleepTime durasi yang ditentukan sebelum menghapus CloudFormation tumpukan.

  17. aws:deleteStack- hapus CloudFormation tumpukan. Berdasarkan RetainDashboardAndLogsOnDeletion parameter, CloudWatch dasbor dan grup log dipertahankan atau dihapus.

    (Pembersihan) Jika penghapusan tumpukan gagal:

    aws:executeScript- jelaskan peristiwa CloudFormation tumpukan untuk mengidentifikasi alasan kegagalan penghapusan.

Keluaran

update CloudWatchDashboard.StackUrl - URL tumpu CloudFormation kan.

update CloudWatchDashboard.DashboardUrl - URL CloudWatch dasbor.

update CloudWatchDashboard.DashboardName - nama CloudWatch dasbor.

update CloudWatchDashboard.LogGroups - daftar grup CloudWatch log yang dibuat.

jelaskan StackResources.HelperInstanceId - ID instance pengujian.

jelaskan StackResources.StackName - nama CloudFormation tumpukan.