View a markdown version of this page

AWSSupport-TroubleshootDMSEndpointConnection - AWS Systems Manager Referensi Buku Runbook Otomasi

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

AWSSupport-TroubleshootDMSEndpointConnection

Deskripsi

AWSSupport-TroubleshootDMSEndpointConnectionRunbook membantu mendiagnosis dan memecahkan masalah konektivitas antara instance AWS Database Migration Service replikasi dan titik akhir. AWS DMS Otomatisasi menggunakan pemeriksaan Reachability Analyzer untuk menguji konektivitas jaringan dan menganalisis konfigurasi jaringan untuk mengidentifikasi potensi masalah konektivitas yang dapat mencegah migrasi yang berhasil. AWS DMS

penting

Anda harus telah menguji konektivitas antara instance AWS DMS replikasi dan titik akhir menggunakan AWS DMS konsol atau API sebelum menjalankan runbook ini. Jika Anda belum menguji koneksi, lakukan terlebih dahulu, jika tidak, Anda mungkin perlu menjalankan kembali runbook ini. Baik contoh AWS DMS replikasi dan titik akhir harus dalam keadaan tersedia untuk pengujian konektivitas yang akurat.

penting

Runbook ini membuat dan memanggil AWS Lambda fungsi, yang akan dikenakan biaya Lambda. Setiap analisis Reachability Analyzer yang dijalankan juga menimbulkan biaya. Untuk detail harga, lihat halaman Harga Amazon VPC di bawah tab Analisis Jaringan dan AWS Lambda Harga.

Bagaimana cara kerjanya?

Runbook melakukan analisis sistematis AWS DMS konektivitas melalui fase-fase berikut:

Fase 1: Validasi Sumber Daya dan Prasyarat

  • Validasi Endpoint: Memverifikasi AWS DMS titik akhir yang ada, mengambil konfigurasinya (nama server, port, jenis mesin), dan mengonfirmasi bahwa mesin database didukung untuk pemecahan masalah.

  • Status Uji Koneksi: Mengambil status pengujian koneksi saat ini antara instance replikasi dan titik akhir menggunakan AWS DMS DescribeConnections API, termasuk pesan kegagalan apa pun dari upaya pengujian sebelumnya.

  • Analisis Instans Replikasi: Mengumpulkan detail konfigurasi jaringan termasuk ID VPC Amazon, subnet, grup keamanan IDs IDs, dan mengidentifikasi Elastic Network Interface (ENI) terkait untuk instance replikasi.

Tahap 2: Resolusi DNS dan Penemuan Jalur Jaringan

  • Resolusi DNS berbasis Amazon VPC: Membuat fungsi Lambda sementara dalam VPC Amazon yang sama dengan instance replikasi untuk menyelesaikan nama host titik akhir ke alamat IP-nya dari dalam konteks VPC Amazon, memastikan resolusi DNS pribadi yang akurat.

  • Identifikasi Target: Menentukan target yang sesuai untuk Reachability Analyzer berdasarkan apakah titik akhir berada dalam VPC Amazon yang sama (menggunakan ENI) atau eksternal (menggunakan alamat IP yang diselesaikan).

  • IPv6 Pemeriksaan Kompatibilitas: Memvalidasi alamat yang diselesaikan IPv4, karena Reachability Analyzer tidak mendukung alamat. IPv6

Fase 3: Analisis Jalur Jaringan Komprehensif

  • Eksekusi Reachability Analyzer: Membuat Jalur Wawasan Jaringan dari instans replikasi ENI ke target (ENI titik akhir atau alamat IP) dan menjalankan analisis komprehensif untuk menguji konektivitas TCP pada port yang ditentukan.

  • Analisis Jaringan Multi-layer: Memeriksa jalur jaringan lengkap termasuk tabel rute, grup keamanan, jaringan, gateway internet ACLs, gateway NAT, koneksi peering VPC Amazon, dan gateway transit untuk mengidentifikasi hambatan konektivitas.

  • Generasi Penjelasan Terperinci: Untuk konektivitas yang gagal, berikan penjelasan spesifik untuk setiap komponen jaringan yang memblokir lalu lintas, termasuk nomor aturan yang tepat, blok CIDR, rentang port, dan pembatasan protokol.

Tahap 4: Pembuatan Laporan dan Pembersihan Sumber Daya

  • Pelaporan Komprehensif: Menghasilkan laporan terperinci yang berisi ringkasan uji koneksi, hasil analisis jalur jaringan, dan penjelasan kegagalan spesifik dengan panduan remediasi.

  • Manajemen Sumber Daya: Secara otomatis membersihkan sumber daya yang dibuat (fungsi Lambda, peran IAM, Jalur Wawasan Jaringan) kecuali PersistReachabilityAnalyzerResults parameter diatur untuk mempertahankan hasil analisis untuk penyelidikan lebih lanjut.

  • Penanganan Kesalahan: Menyediakan laporan kesalahan spesifik untuk berbagai skenario kegagalan termasuk mesin basis data yang tidak didukung, sumber daya yang hilang, kegagalan resolusi DNS, dan masalah izin.

Runbook mendukung konektivitas pemecahan masalah untuk beberapa mesin database termasuk Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptunus, Amazon Redshift, Amazon S3, Azure SQL Database, MySQL, Oracle, PostgreSQL, SQL Server, dan banyak lainnya. DB2

Jalankan Otomasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

/

Izin IAM yang diperlukan

AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

  • cloudformation:CreateStack

  • cloudformation:DeleteStack

  • cloudformation:DescribeStacks

  • cloudformation:DescribeStackEvents

  • dms:DescribeEndpoints

  • dms:DescribeReplicationInstances

  • dms:DescribeConnections

  • iam:GetRole

  • iam:PassRole

  • iam:SimulatePrincipalPolicy

  • lambda:CreateFunction

  • lambda:DeleteFunction

  • lambda:GetFunction

  • lambda:InvokeFunction

  • lambda:ListTags

  • lambda:TagResource

  • lambda:UntagResource

  • lambda:UpdateFunctionCode

Izin IAM opsional

Izin berikut hanya diperlukan dalam AutomationAssumeRole jika Anda tidak memberikan LambdaRoleArn parameter dan ingin otomatisasi membuat peran eksekusi Lambda untuk Anda:

  • iam:CreateRole

  • iam:DeleteRole

  • iam:AttachRolePolicy

  • iam:DetachRolePolicy

  • iam:TagRole

  • iam:UntagRole

penting

Selain tindakan yang disebutkan di atas, Amazon AutomationAssumeRole harus memiliki kebijakan VPCReachability AnalyzerFullAccessPolicy terkelola terlampir sehingga pengujian Reachability Analyzer berhasil dilakukan.

Contoh Kebijakan:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDMSTroubleshootingActions", "Effect": "Allow", "Action": [ "dms:DescribeEndpoints", "dms:DescribeReplicationInstances", "dms:DescribeConnections", "lambda:GetFunction", "lambda:ListTags", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:TagResource", "lambda:UntagResource", "lambda:UpdateFunctionCode", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:CreateStack", "cloudformation:DeleteStack", "iam:GetRole", "iam:SimulatePrincipalPolicy", "iam:CreateRole", "iam:DeleteRole", "iam:TagRole", "iam:UntagRole" ], "Resource": "*" }, { "Sid": "AllowDMSLambdaInvocation", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:*:lambda:*:*:function:AWSSupport-TroubleshootDMSEndpointConnection-*" }, { "Sid": "AllowPassRoleToDMSLambda", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:*:iam::*:role/AWSSupport-TroubleshootDMSEndpointConnection-*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } }, { "Sid": "AllowRolePolicyManagement", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "iam:ResourceTag/AWSSupport-TroubleshootDMSEndpointConnection": "true" } } } ] }

Instruksi

Ikuti langkah-langkah ini untuk mengonfigurasi otomatisasi:

  1. Arahkan ke AWSSupport-TroubleshootDMSEndpointConnectionSystems Manager di bawah Documents.

  2. Pilih Jalankan otomatisasi.

  3. Untuk parameter input, masukkan yang berikut ini:

    • AutomationAssumeRole (Opsional):

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

      • Tipe: AWS::IAM::Role::Arn

    • DmsEndpointArn (Diperlukan)

      • Deskripsi: (Wajib) Nama Sumber Daya Amazon (ARN) dari Titik Akhir. AWS Database Migration Service

      • Tipe: String

      • Pola yang Diizinkan: ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:endpoint:[A-Z0-9]{1,48}$

    • DmsReplicationInstanceArn (Diperlukan)

      • Deskripsi: (Wajib) Nama Sumber Daya Amazon (ARN) dari instance AWS Database Migration Service Replikasi.

      • Tipe: String

      • Pola yang Diizinkan: ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:rep:[A-Z0-9]+$

    • PersistReachabilityAnalyzerResults (Opsional)

      • Deskripsi: (Opsional) Bendera yang menginformasikan apakah hasil eksekusi Analisis Wawasan Jaringan harus disimpan atau tidak.

      • Tipe: Boolean

      • Nilai yang Diizinkan: [true, false]

      • Default: false

    • LambdaRoleArn (Opsional)

      • Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) dari peran AWS AWS Identity and Access Management (IAM) yang memungkinkan AWS Lambda fungsi mengakses AWS layanan dan sumber daya yang diperlukan. Jika tidak ada peran yang ditentukan, Automasi Systems Manager ini akan membuat satu peran IAM untuk Lambda di akun Anda.

      • Tipe: AWS::IAM::Role::Arn

      • Default: ""

    • Akui (Diperlukan)

      • Deskripsi: (Wajib) Masukkan yes untuk mengetahui bahwa runbook ini akan membuat fungsi Lambda di akun Anda dan akan membuat peran IAM jika tidak disediakan. LambdaRoleArn

      • Tipe: String

      • Pola yang Diizinkan: ^[Yy][Ee][Ss]$

  4. Pilih Jalankan.

  5. Otomatisasi dimulai.

  6. Dokumen melakukan langkah-langkah berikut:

    • DescribeEndpointAndCheckEngine:

      Mengambil konfigurasi AWS DMS endpoint dan memvalidasi jika tipe mesin database didukung untuk pemecahan masalah. Mengekstrak nama server, port, dan jenis mesin dari konfigurasi endpoint.

    • BranchOnEndpointAndCheckEngineErrors:

      Memcabangkan otomatisasi berdasarkan kesalahan apa pun dari validasi titik akhir. Jika kesalahan ditemukan, otomatisasi berlanjut untuk menghasilkan laporan kesalahan; jika tidak, itu berlanjut dengan pengujian konektivitas.

    • GetTestConnectionStatus:

      Mengambil status koneksi dan pesan kesalahan untuk AWS DMS titik akhir menggunakan API. DescribeConnections Langkah ini memeriksa apakah tes koneksi telah dilakukan dan menangkap pesan kegagalan apa pun.

    • BranchOnTestConnectionStatusErrors:

      Memcabangkan otomatisasi berdasarkan kesalahan status pengujian koneksi. Jika kesalahan terdeteksi, otomatisasi menghasilkan laporan kesalahan; jika tidak, itu dilanjutkan dengan analisis contoh replikasi.

    • DescribeReplicationInstance:

      Mengambil detail konfigurasi jaringan untuk instance AWS DMS replikasi termasuk ID VPC Amazon, subnet, grup keamanan IDs IDs, dan mengidentifikasi Antarmuka Jaringan Elastis (ENI) terkait.

    • ValidateResourcePermissions:

      Memvalidasi bahwa peran eksekusi memiliki izin yang diperlukan untuk membersihkan sumber daya yang akan dibuat selama proses otomatisasi.

    • Buat DNSResolver Lambda:

      Membuat AWS CloudFormation tumpukan yang berisi fungsi Lambda yang diterapkan dalam VPC Amazon yang sama dengan instance replikasi. Fungsi ini digunakan untuk menyelesaikan nama DNS ke alamat IP pribadi dari dalam konteks VPC Amazon.

    • DescribeCloudFormationErrorFromStackEvents:

      Jika pembuatan CloudFormation tumpukan gagal, langkah ini menjelaskan kesalahan dari peristiwa tumpukan untuk memberikan informasi kegagalan terperinci untuk pemecahan masalah.

    • Dapatkan DNSResolverLambdaName:

      Mengambil nama fungsi Lambda penyelesai DNS dari output tumpukan untuk digunakan CloudFormation pada langkah selanjutnya.

    • ResolveDmsEndpoint:

      Memanggil fungsi Lambda untuk menyelesaikan AWS DMS nama host endpoint ke alamat IP-nya dari dalam VPC Amazon. Ini memastikan resolusi DNS pribadi yang akurat dan memvalidasi kompatibilitas IPv4 .

    • BranchOnResolveDmsEndpointErrors:

      Cabang otomatisasi berdasarkan kesalahan resolusi DNS. Jika titik akhir tidak dapat diselesaikan atau diselesaikan ke IPv6 alamat, otomatisasi menghasilkan laporan kesalahan.

    • GetReachabilityAnalyzerTarget:

      Mengidentifikasi target yang sesuai untuk Reachability Analyzer berdasarkan konfigurasi Amazon VPC dan lokasi titik akhir. Menentukan apakah akan menggunakan ENI (untuk titik akhir VPC Amazon yang sama) atau alamat IP (untuk titik akhir eksternal) sebagai target.

    • GenerateErrors:

      Membuat laporan kesalahan komprehensif saat kegagalan terjadi pada langkah sebelumnya. Ini termasuk rincian tentang kesalahan validasi titik akhir, kegagalan pengujian koneksi, atau masalah resolusi DNS dengan panduan remediasi tertentu.

    • GenerateReport:

      Membuat laporan pemecahan masalah komprehensif yang berisi status koneksi, hasil analisis jalur jaringan menggunakan Reachability Analyzer, penjelasan rinci tentang hambatan konektivitas, dan tindakan yang direkomendasikan untuk resolusi.

    • CheckStackExists:

      Memeriksa apakah CloudFormation tumpukan berhasil dibuat dan perlu dihapus selama pembersihan. Langkah ini memastikan manajemen sumber daya yang tepat terlepas dari keberhasilan atau kegagalan otomatisasi.

    • Hapus DNSResolver Lambda:

      Menghapus CloudFormation tumpukan yang berisi fungsi Lambda penyelesai DNS dan sumber daya terkait (PersistReachabilityAnalyzerResultskecuali disetel true ke), memastikan tidak ada sumber daya sisa yang tersisa setelah otomatisasi selesai.

  7. Setelah selesai, tinjau bagian Output untuk hasil eksekusi yang terperinci:

    • GetTestConnectionStatus.status

      Status pengujian koneksi saat ini antara instance AWS DMS replikasi dan titik akhir (misalnya, berhasil, gagal, pengujian).

    • DescribeCloudFormationErrorFromStackEvents.Acara

      Jika pembuatan CloudFormation tumpukan gagal, output ini berisi peristiwa kesalahan terperinci dari proses pembuatan tumpukan untuk membantu mendiagnosis masalah penerapan infrastruktur.

    • GenerateReport.laporan

      Laporan pemecahan masalah komprehensif yang berisi hasil analisis koneksi, temuan Reachability Analyzer, analisis jalur jaringan, hambatan konektivitas spesifik yang diidentifikasi, dan rekomendasi remediasi terperinci dengan tautan ke dokumentasi yang relevan. AWS

    • GenerateErrors.laporan

      Jika kesalahan terjadi selama proses otomatisasi, output ini memberikan laporan kesalahan terperinci termasuk alasan kegagalan spesifik, sumber daya yang terpengaruh, dan panduan untuk menyelesaikan masalah sebelum mencoba kembali otomatisasi.

Referensi

Otomatisasi Systems Manager