View a markdown version of this page

Alur kerja modernisasi SQL Server - AWS Transformasi

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

Alur kerja modernisasi SQL Server

Bagian ini memberikan panduan langkah demi langkah dari proses modernisasi SQL Server lengkap menggunakan AWS Transform.

Langkah 1: Buat pekerjaan modernisasi SQL Server

Mulailah perjalanan modernisasi Anda dengan membuat pekerjaan transformasi baru di konsol AWS Transform.

  1. Masuk ke konsol AWS Transform

  2. Pilih Buat pekerjaan modernisasi

  3. Pilih pekerjaan modernisasi Windows dan kemudian pilih modernisasi SQL Server

  4. Masukkan detail pekerjaan:

    • Nama pekerjaan: Nama deskriptif untuk proyek Anda

    • Deskripsi: Deskripsi opsional

    • Wilayah target: AWS wilayah untuk penerapan

  5. Pilih Buat pekerjaan

    penting

    Jangan menyertakan informasi identitas pribadi (PII) dalam nama pekerjaan Anda.

Langkah 2: Hubungkan ke database SQL Server

Hu AWS bungkan Transform ke database SQL Server Anda untuk mengaktifkan analisis skema dan konversi.

Buat konektor database

  1. Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Menghubungkan ke sumber daya

  2. Pilih Hubungkan ke database SQL Server

  3. Pilih Buat konektor baru

  4. Masukkan informasi konektor:

    • Nama onnector C: Nama deskriptif

    • AWS ID akun: Akun tempat SQL Server dihosting

  5. Setelah dikonfirmasi, Anda akan menerima tautan untuk persetujuan. Salin tautan persetujuan untuk mendapatkan persetujuan dari AWS admin Anda untuk akun tersebut. Setelah mereka menyetujui, Anda dapat melanjutkan ke langkah berikutnya.

  6. Setelah administrator menyetujui permintaan konektor, klik Kirim untuk melanjutkan ke pengaturan koneksi kode sumber.

Langkah 3: Hubungkan repositori kode sumber

AWS Transform membutuhkan akses ke kode sumber aplikasi.NET Anda untuk menganalisis dan mengubah kode yang berinteraksi dengan database SQL Server Anda. AWS Transform mendukung tiga metode untuk menyediakan kode sumber.

Pilih metode otentikasi Anda

Konektor Token Akses Pribadi (PAT) (disarankan)

Terbaik untuk tim yang membutuhkan cakupan izin khusus, dukungan penyedia yang di-host sendiri, atau akses ke API khusus penyedia seperti Rahasia. GitHub Anda membuat PAT di penyedia kode sumber Anda dengan izin khusus, menyimpannya AWS Secrets Manager, dan AWS Transform mengambilnya bila diperlukan. Anda bertanggung jawab untuk mengelola rotasi token dan kedaluwarsa.

AWS CodeConnections

Terbaik untuk tim yang menginginkan manajemen kredensia otomatis. AWS CodeConnections menggunakan integrasi penyedia terkelola yang menangani otentikasi melalui aliran otorisasi OAuth 2.0. AWS mengelola seluruh siklus hidup kredensi, termasuk penyegaran dan rotasi token otomatis. Tidak diperlukan manajemen kredenSIAL manual.

Amazon S3

Unggah kode sumber Anda langsung ke bucket Amazon S3. AWS Transform mengakses kode dari bucket selama pekerjaan transformasi.

Fitur Konektor PAT (disarankan) AWS CodeConnections
Manajemen kredensial Manual (dikelola pelanggan) Otomatis (AWS-dikelola)
Siklus hidup token Diperlukan rotasi manual Refresh otomatis
Fleksibilitas izin Cakupan yang sepenuhnya dapat disesuaikan Izin tetap
Self-hosted dukungan penyedia Didukung Tidak tersedia
Kompleksitas pengaturan Moderat (pembuatan dan penyimpanan token manual) Rendah (otorisasi satu kali)
Penyimpanan token Pelanggan AWS Secrets Manager AWS-dikelola

Siapkan konektor PAT (disarankan)

Dengan konektor PAT, Anda membuat Token Akses Pribadi di penyedia kode sumber Anda dengan izin khusus, menyimpannya dengan aman AWS Secrets Manager, dan AWS Transform mengambilnya bila diperlukan. Anda bertanggung jawab untuk mengelola siklus hidup token termasuk rotasi dan kedaluwarsa. AWS Transform secara otomatis membuat peran IAM yang diperlukan dengan izin untuk mengakses rahasia Anda.

Konektor PAT mendukung penyedia berikut, termasuk DNS/URL versi yang di-host sendiri dan kustom:

  • GitHub dan Server GitHub Perusahaan

  • GitLab.com dan GitLab Self-Managed

  • Bitbucket Cloud dan Pusat Data Bitbucket

  • Azure DevOps dan Azure DevOps Server

Buat Token Akses Pribadi

Buat PAT di penyedia kode sumber Anda. Izin yang diperlukan bervariasi menurut penyedia. Pilih tab untuk penyedia Anda.

penting

Salin token segera setelah pembuatan. Anda tidak dapat melihatnya lagi. Tetapkan kedaluwarsa untuk durasi pekerjaan transformasi. Jangan mengatur kedaluwarsa agar tidak pernah kedaluwarsa.

Awas

Jangan pernah menyerahkan token PAT ke repositori kode atau membagikannya melalui saluran yang tidak aman. Selalu simpan di dalamnya AWS Secrets Manager.

GitHub

Arahkan ke Peng aturan, Pengaturan pengembang, Token akses pribadi, Fine-grained token. Pilih repositori untuk diubah dan berikan izin berikut.

Izin repositori

Izin Akses Tujuan
Daftar Isi Baca dan tulis Membaca kode sumber dan menulis kode yang diubah kembali ke repositori
Metadata Read-only Mengakses informasi repositori dasar

Izin organisasi (diperlukan untuk repositori organisasi)

Izin Akses Tujuan
Anggota Read-only Daftar organisasi yang dapat diakses oleh token untuk penemuan repositori
GitLab

Arahkan ke Edit Profil, Akses Token. Pilih cakupan berikut.

Lingkup Tujuan
read_api Membaca metadata repositori, informasi proyek, detail pengguna, dan daftar grup dan cabang
read_repository Membaca file kode sumber dan struktur repositori untuk analisis
write_repository Menulis kode yang diubah kembali ke repositori
Bitbucket

Arahkan ke Pengaturan Akun, Keamanan, Buat dan kelola Token API. Cakupan yang diperlukan tergantung pada jenis token Anda.

Workspace/Repository Token (ATCT - Auth Pembawa, tidak perlu nama pengguna)

Izin Akses Tujuan
Repositori Baca dan tulis Mendaftarkan repo, membaca cabang, dan menulis kode yang diubah melalui git push

Token API Akun (ATAT - Auth Dasar dengan email) atau Kata Sandi Aplikasi (ATBB - Auth Dasar dengan nama pengguna)

Lingkup Tujuan
read:account Mengidentifikasi pengguna yang diautentikasi untuk menyelesaikan keanggotaan repositori
read:workspace:bitbucket Mencantumkan ruang kerja yang dapat diakses token sehingga AWS Transform dapat menghitung repositori mereka. Tidak diperlukan jika Anda menentukan daftar ruang kerja di rahasia.
read:repository:bitbucket Daftar repositori dan membaca metadata dan informasi cabang
write:repository:bitbucket Menulis kode yang diubah kembali ke repositori melalui git push
Biru DevOps

Arahkan ke Pengaturan pengguna, Token akses pribadi. Pilih Cakupan yang ditentukan khusus. Untuk lingkup organisasi, pilih Semua organisasi yang dapat diakses (disarankan) atau tentukan satu organisasi.

Lingkup Akses Tujuan
Kode Baca & tulis Membaca kode sumber, mencantumkan repositori dan cabang, dan menulis kode yang diubah kembali
Profil Pengguna Membaca Memvalidasi akses token dan menemukan identitas pengguna untuk pencarian organisasi
Manajemen Hak Anggota Membaca Daftar organisasi yang dapat diakses oleh token untuk penemuan repositori

Simpan PAT di AWS Secrets Manager

  1. Buka AWS Secrets Manager konsol.

  2. Pilih Simpan rahasia baru.

  3. Untuk Tipe rahasia, pilih Tipe rahasia lainnya.

  4. Tambahkan pasangan kunci-nilai berdasarkan penyedia dan jenis hosting Anda:

    • Cloud-hosted penyedia — Tambahkan kunci bernama token dengan PAT Anda sebagai nilainya.

      • Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci yang diberi nama organization dengan nama organisasi Anda.

      • Untuk kata sandi aplikasi Bitbucket (ATBB), tambahkan juga kunci bernama username dengan nama pengguna Bitbucket Anda. Untuk token API akun Bitbucket (ATAT), tambahkan kunci bernama email dengan alamat email Bitbucket Anda.

    • Self-hosted dan DNS/URL penyedia khusus — Tambahkan kunci berikut: host (URL server Anda, misalnyahttps://github.mycompany.com), provider_type (github,, gitlabbitbucket, atauado), dan token (PAT Anda).

      • Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci yang diberi nama organization dengan nama organisasi Anda.

      • Untuk kata sandi aplikasi Bitbucket (ATBB), tambahkan juga kunci bernama username dengan nama pengguna Bitbucket Anda. Untuk token API akun Bitbucket (ATAT), tambahkan kunci bernama email dengan alamat email Bitbucket Anda.

    Contoh berikut menunjukkan bagaimana rahasia terlihat AWS Secrets Manager untuk penyedia yang di- GitHub host cloud:

    { "token": "your-github-personal-access-token" }

    Contoh berikut menunjukkan kata sandi aplikasi Bitbucket (ATBB):

    { "token": "your-bitbucket-app-password", "username": "my-bitbucket-username" }

    Contoh berikut menunjukkan GitLab instance yang di-host sendiri:

    { "host": "https://gitlab.mycompany.com", "provider_type": "gitlab", "token": "your-gitlab-personal-access-token" }
  5. Pilih Berikutnya.

  6. Masukkan nama rahasia, misalnyagithub-pat-myproject.

  7. (Opsional) Pilih kunci KMS yang dikelola pelanggan untuk enkripsi.

  8. Selesaikan wizard dan pilih Store.

  9. Salin Rahasia ARN. Anda memerlukan nilai ini saat mengonfigurasi pekerjaan AWS Transform.

Jika Anda menggunakan kunci KMS yang dikelola pelanggan untuk mengenkripsi rahasia Anda (bukan kunci yang AWS dikelola default), Anda harus memperbarui kebijakan kunci KMS agar AWS Transform dapat mendekripsi rahasia. Tambahkan pernyataan berikut ke kebijakan kunci KMS yang dikelola pelanggan Anda:

{ "Sid": "Allow AWS Transform to decrypt secrets", "Effect": "Allow", "Principal": { "Service": "transform.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.REGION.amazonaws.com", "kms:EncryptionContext:SecretARN": "YOUR-SECRET-ARN" } } }

Ganti REGION dengan AWS Wilayah Anda (misalnya,us-east-1) dan YOUR-SECRET-ARN dengan ARN rahasia Anda. kms:ViaServiceKondisi memastikan kunci KMS hanya dapat digunakan melalui AWS Secrets Manager layanan. kms:EncryptionContext:SecretARNKondisi ini membatasi dekripsi untuk rahasia spesifik Anda.

Untuk memperbarui kebijakan kunci KMS Anda:

  1. Buka konsol AWS KMS dihttps://console.aws.amazon.com/kms.

  2. Di panel navigasi, pilih Kunci yang dikelola pelanggan.

  3. Pilih kunci KMS Anda.

  4. Di tab Kebijakan kunci, pilih Edit.

  5. Tambahkan pernyataan kebijakan ke kebijakan yang ada.

  6. Pilih Simpan perubahan.

catatan

Jika Anda menggunakan kunci AWS-managed default (aws/secretsmanager), Anda tidak perlu mengubah kebijakan kunci KMS apa pun.

Konfigurasikan AWS Transformasi pekerjaan

  1. Dalam pekerjaan AWS Transformasi Anda, navigasikan ke Mengh ubungkan ke sumber daya.

  2. Pilih Hu bungkan repositori kode sumber.

  3. Pilih PAT Connector sebagai metode otentikasi.

  4. Masukkan Rahasia ARN dari Langkah 2.

  5. (Opsional) Masukkan Kunci KMS ARN jika Anda menggunakan kunci KMS yang dikelola pelanggan.

  6. Pilih repositori dan cabang Anda.

  7. Pilih Lanjutkan.

AWS Transform secara otomatis membuat peran IAM dengan izin yang diperlukan untuk mengakses rahasia Anda.

Rotasi dan pemeliharaan token

Anda bertanggung jawab untuk memutar token PAT sebelum kedaluwarsa. Untuk memutar token:

  1. Buat PAT baru di penyedia kode sumber Anda dengan izin yang sama.

  2. Perbarui nilai rahasia di AWS Secrets Manager.

  3. Verifikasi bahwa pekerjaan AWS Transform Anda dapat mengakses repositori dengan token baru.

  4. Cabut PAT lama di penyedia kode sumber Anda.

Memecahkan masalah konektor PAT

Akses Ditolak — PAT Tidak Valid

Pastikan PAT belum kedaluwarsa. Konfirmasikan bahwa PAT memiliki cakupan yang diperlukan untuk penyedia Anda. Periksa apakah PAT disimpan dengan benar AWS Secrets Manager.

Tidak dapat mengambil rahasia

Pastikan ARN Rahasia benar. Periksa log pekerjaan untuk mengonfirmasi bahwa AWS Transform membuat peran IAM. Jika Anda menggunakan kunci KMS yang dikelola pelanggan, verifikasi kebijakan kunci.

Izin tidak cukup

PAT mungkin tidak memiliki cakupan yang diperlukan untuk operasi. Buat ulang PAT dengan cakupan yang diperlukan dan perbarui nilai rahasia di AWS Secrets Manager.

Penyiapan AWS CodeConnections

AWS CodeConnections menggunakan integrasi penyedia terkelola yang secara otomatis mengambil kredentif OAuth sementara melalui aliran otorisasi OAuth 2.0. Izin dikonfigurasi di aplikasi penyedia dan dikelola sepenuhnya oleh AWS. Anda mengotorisasi aplikasi sekali, dan AWS menangani semua manajemen kredensia.

  1. Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Menghubun gkan ke sumber daya.

  2. Pilih Hu bungkan repositori kode sumber.

  3. Jika Anda tidak memiliki koneksi yang ada, pilih Buat koneksi.

  4. Pilih penyedia repositori Anda:

    • GitHub / GitHub Perusahaan

    • GitLab.com

    • Bitbucket Cloud

    • Repositori Azure

  5. Ikuti alur otorisasi untuk penyedia Anda.

  6. Setelah otorisasi, pilih Hu bungkan.

Pilih repositori dan cabang Anda

  1. Pilih repositori Anda dari daftar.

  2. Pilih cabang yang ingin Anda ubah (biasanya utama, master, atau kembangkan).

  3. (Opsional) Tentukan subdirektori jika aplikasi.NET Anda tidak ada di root repositori.

  4. Pilih Lanjutkan.

catatan

AWS Transform membuat cabang baru untuk kode yang diubah. Anda dapat meninjau dan menggabungkan perubahan melalui proses peninjauan kode normal Anda.

Persetujuan akses repositori

Untuk GitHub dan beberapa platform lain, administrator repositori harus menyetujui permintaan koneksi:

  1. AWS Transform menampilkan tautan verifikasi.

  2. Bagikan tautan ini dengan administrator repositori Anda.

  3. Administrator meninjau dan menyetujui permintaan dalam pengaturan repositori mereka.

  4. Setelah administrator menyetujui permintaan, status koneksi berubah menjadi Dis etujui.

penting

Proses persetujuan dapat memakan waktu tergantung pada kebijakan organisasi Anda. Rencanakan sesuai dengan itu.

Langkah 4: Buat konektor penerapan (opsional)

Jika Anda ingin menerapkan aplikasi yang diubah ke AWS akun Anda, Anda memiliki opsi untuk memilih konektor penerapan.

Siapkan konektor penerapan

  1. Pilih Ya jika Anda ingin menerapkan aplikasi Anda. Memilih Tidak akan melewati langkah ini.

  2. Tambahkan AWS akun Anda di mana Anda ingin menerapkan aplikasi yang diubah.

  3. Tambahkan nama yang membantu Anda mengingat konektor dengan mudah

  4. Kirim permintaan konektor untuk persetujuan.

Persetujuan konektor penerapan

Administrator AWS akun Anda harus menyetujui permintaan koneksi untuk konektor penerapan.

  1. AWS Transform menampilkan tautan verifikasi

  2. Bagikan tautan ini dengan administrator AWS akun Anda

  3. Administrator meninjau dan menyetujui permintaan dalam pengaturan repositori mereka

  4. Setelah disetujui, status koneksi berubah menjadi Dis etujui

penting

Proses persetujuan dapat memakan waktu tergantung pada kebijakan organisasi Anda. Rencanakan sesuai dengan itu.

Langkah 5: Konfirmasikan sumber daya Anda

Setelah terhubung ke database dan repositori Anda, AWS Transform memverifikasi bahwa semua sumber daya yang diperlukan dapat diakses dan siap untuk transformasi.

Apa AWS Transformasi memverifikasi

  • Konektivitas database: Kon eksi aktif, pengguna memiliki izin yang diperlukan, database dapat diakses, versi didukung

  • Akses reposit ori: Repositori dapat diakses, cabang ada, file proyek.NET terdeteksi, koneksi database dapat ditemukan

  • Kesiapan lingkungan: Konfigur asi VPC mendukung DMS, peran AWS layanan yang diperlukan ada, konektivitas jaringan ditetapkan, kompatibilitas wilayah dikonfirmasi

Tinjau daftar periksa pra-penerbangan

  1. Arahkan ke Konfirmasi sumber daya Anda dalam rencana pekerjaan

  2. Tinjau item daftar periksa:

    • ✅ Koneksi database diverifikasi

    • ✅ Akses repositori dikonfirmasi

    • ✅ Versi .NET didukung

    • ✅ Kerangka Entitas atau ADO.NET terdeteksi

    • ✅ Konfigurasi jaringan valid

    • ✅ Izin yang diperlukan diberikan

  3. Jika semua item ditampilkan sebagai lengkap, pilih Lanjutkan

  4. Jika ada item yang menunjukkan peringatan atau kesalahan, atasi sebelum melanjutkan

Langkah 6: Penemuan dan penilaian

AWS Transform menganalisis database SQL Server dan aplikasi.NET Anda untuk memahami ruang lingkup dan kompleksitas modernisasi.

Apa yang ditemukan

  • Objek database: Tabel, tampilan, indeks, prosedur tersimpan, fungsi, pemicu, batasan, tipe data, kolom yang dihitung, kolom identitas, hubungan kunci asing

  • Kode aplikasi: Struktur proyek .NET, model dan konfigurasi Entity Framework, kode akses ADO.NET data, string koneksi database, panggilan prosedur tersimpan, kueri SQL dalam kode

  • Dependensi: Aplikasi mana yang menggunakan database mana, dependensi lintas database, prosedur tersimpan bersama, pola akses data umum

Proses penemuan

  • AWS Transform memulai penemuan secara otomatis setelah konfirmasi sumber daya

  • Penemuan biasanya memakan waktu 5-15 menit tergantung pada ukuran database dan kompleksitas aplikasi

  • Memantau kemajuan di log kerja

  • AWS Transform menampilkan pembaruan waktu nyata saat objek ditemukan

Tinjau hasil penemuan

Setelah penemuan selesai, navigasikan ke Discovery and assessment untuk meninjau:

Analisis Basis Data:

  • Jumlah objek: Jumlah tabel, tampilan, prosedur tersimpan, fungsi, pemicu

  • Skor kompleksitas: Penilaian kompleksitas transformasi (Rendah, Sedang, Tinggi)

  • Item tindakan: Objek yang mungkin memerlukan perhatian manusia

  • Fitur yang didukung: Fitur database yang akan dikonversi secara otomatis

  • Fitur yang tidak didukung: Fitur yang memerlukan solusi

Analisis Aplikasi:

  • Jenis proyek: In ASP.NET ti, Aplikasi Konsol, Perpustakaan Kelas, dll.

  • Versi.NET: Versi .NET Core yang terdeteksi

  • Kerangka akses data: Versi Kerangka Entitas atau ADO.NET

  • Koneksi database: Jumlah string koneksi yang ditemukan

  • Kompleksitas kode: Penilaian kompleksitas transformasi

Peta Ketergantungan:

  • Representasi visual dari hubungan aplikasi-ke-database

  • Cross-database ketergantungan

  • Komponen bersama

Memahami penilaian kompleksitas

AWS Transform mengklasifikasikan modernisasi Anda menjadi tiga kategori:

Kompleksitas Karakteristik Hasil yang Diharapkan
Rendah (Kelas A) Pola SQL standar (ANSI SQL), prosedur tersimpan sederhana, tipe data dasar, Entity Framework dengan konfigurasi standar Intervensi manusia minimal diharapkan, tingkat keberhasilan otomatisasi tinggi
Sedang (Kelas B) P T-SQL ola lanjutan, prosedur tersimpan yang kompleks dengan logika bisnis, fungsi yang ditentukan pengguna, kolom yang dihitung Beberapa intervensi manusia diperlukan, ulasan ahli direkomendasikan
Tinggi (Kelas C) Rakitan CLR, server tertaut, Service Broker, pencarian teks lengkap yang kompleks Diperlukan refactoring manusia yang signifikan, pertimbangkan pendekatan bertahap

Laporan penilaian

AWS Transform menghasilkan laporan penilaian terperinci yang mencakup:

  • Ringkasan eksekutif dengan ikhtisar tingkat tinggi

  • Inventaris database lengkap

  • Inventaris aplikasi

  • Persentase kesiapan transformasi

  • Estimasi usaha

  • Penilaian risiko dan strategi mitigasi

  • Pendekatan yang disarankan

Anda dapat mengunduh laporan penilaian untuk ditinjau secara offline dan berbagi dengan pemangku kepentingan.

Langkah 7: Hasilkan dan tinjau rencana gelombang

Untuk perkebunan besar dengan beberapa database dan aplikasi, AWS Transform menghasilkan rencana gelombang yang mengurutkan modernisasi dalam kelompok logis.

Apa itu rencana gelombang?

Rencana gelombang mengatur modernisasi Anda ke dalam fase (gelombang) berdasarkan:

  • Ketergantungan antara database dan aplikasi

  • Prioritas bisnis

  • Toleransi risiko

  • Ketersediaan sumber daya

  • Kompleksitas teknis

Setiap gelombang berisi sekelompok database dan aplikasi yang dapat dimodernisasi bersama tanpa merusak dependensi.

Tinjau rencana gelombang

  1. Arahkan ke perencanaan Wave dalam rencana pekerjaan

  2. Tinjau gelombang yang diusulkan

  3. Untuk setiap gelombang, tinjau:

    • Database termasuk

    • Aplikasi termasuk

    • Ketergantungan pada gelombang lain

    • Perkiraan waktu transformasi

    • Tingkat kompleksitas

    • Aplikasi yang dapat disebarkan

Sesuaikan rencana gelombang

Anda dapat menyesuaikan rencana gelombang agar sesuai dengan kebutuhan bisnis Anda dengan 2 cara:

Menggunakan JSON:

  1. Pilih Unduh semua gelombang untuk mendapatkan file JSON dengan semua gelombang

  2. Memodifikasi gelombang di JSON dengan:

    • Memindahkan database antar gelombang

    • Membagi gelombang menjadi kelompok-kelompok yang lebih kecil

    • Menggabungkan gelombang bersama-sama

    • Mengubah urutan gelombang

    • Menambahkan atau menghapus database dari cakupan

  3. Unggah file JSON kembali ke konsol dengan memilih Upload wave plan

  4. AWS Transform memvalidasi perubahan Anda dan memperingatkan jika dependensi dilanggar

  5. Pilih Konfirmasi gelombang untuk memperbarui rencana gelombang

Menggunakan Obrolan:

Anda dapat memodifikasi rencana gelombang dengan mengobrol dengan agen dan memintanya untuk memindahkan repositori dan database ke gelombang tertentu. Pendekatan ini bekerja dengan baik jika Anda perlu melakukan pengeditan kecil pada gelombang.

penting

Pastikan dependensi dihormati saat menyesuaikan gelombang. Mengubah aplikasi dependen sebelum database-nya dapat menyebabkan masalah.

Modernisasi database tunggal

Jika Anda memodernisasi satu database dan aplikasi, AWS Transform membuat rencana sederhana dengan satu gelombang. Anda dapat melanjutkan langsung ke transformasi tanpa perencanaan gelombang.

Menyetujui rencana gelombang

  1. Setelah meninjau dan menyesuaikan (jika diperlukan), pilih Setujui rencana gelombang

  2. AWS Transform mengunci rencana gelombang dan melanjutkan ke transformasi

  3. Anda masih dapat memodifikasi rencana nanti dengan memilih Edit rencana gelombang

Langkah 8: Konversi skema

AWS Transform mengonversi skema database SQL Server Anda ke Aurora PostgreSQL, termasuk tabel, tampilan, prosedur tersimpan, fungsi, dan pemicu.

Cara kerja konversi skema

AWS Transform menggunakan Kon AWS versi Skema DMS yang ditingkatkan dengan AI generatif untuk:

  • Menganalisis skema dan hubungan SQL Server

  • Memetakan tipe data dari SQL Server ke setara PostgreSQL

  • Transformasi T-SQL menjadi PL/pgSQL

  • Menangani kolom identitas, kolom yang dihitung, dan batasan

  • Validasi konversi dan integritas referensial

  • Hasilkan item tindakan untuk objek yang membutuhkan tinjauan manusia

Konversi yang didukung

Secara otomatis dikonversi:

  • Tabel, tampilan, dan indeks

  • Kunci utama dan kunci asing

  • Periksa batasan dan nilai default

  • Jenis data yang paling umum

  • Prosedur tersimpan sederhana

  • Fungsi dasar dan pemicu

  • Kolom identitas (dikonversi ke SERIAL atau GENERATED)

  • Kolom yang paling dihitung

Mungkin memerlukan tinjauan manusia:

  • Prosedur tersimpan yang kompleks dengan tingkat lanjut T-SQL

  • Server-specific Fungsi SQL (GETUTCDATE, SUSER_SNAME, dll.)

  • Kolom yang dihitung dengan ekspresi kompleks

  • Full-text pencarian indeks

  • Operasi tipe data XML

  • Jenis data HIERARCHYID (membutuhkan ekstensi ltree)

Tidak dikonversi secara otomatis:

  • Majelis CLR

  • Server tertaut

  • Pialang Layanan

  • Lowongan kerja SQL Server Agent

Mulai konversi skema

  1. Arahkan ke konversi Skema dalam rencana pekerjaan

  2. Tinjau pengaturan konversi:

    • Target versi PostgreSQL

    • Opsi ekstensi (ltree, PostGIS, dll.)

    • Konvensi penamaan

  3. Pilih Mulai konversi

  4. Memantau kemajuan di log kerja

  5. Konversi biasanya memakan waktu 10-30 menit tergantung pada jumlah objek database

Tinjau hasil konversi

Setelah konversi selesai, arahkan ke Tinjau konversi skema:

Ringkasan Konversi:

  • Objek yang dikonversi: Hitungan objek yang berhasil dikonversi

  • Item tindakan: Objek yang membutuhkan perhatian manusia

  • Peringatan: Masalah potensial untuk ditinjau

  • Kesalahan: Objek yang tidak dapat dikonversi

Ulasan oleh Object Type:

  • Tabel: Pemetaan tipe data, kendala, indeks

  • Prosedur tersimpan: T-SQL ke PL/pgSQL konversi

  • Fungsi: Tanda tangan fungsi dan perubahan logika

  • Pemicu: Sintaks pemicu dan perubahan waktu

Tinjau item tindakan

  1. Pilih Lihat item tindakan

  2. Untuk setiap item tindakan, tinjau:

    • Nama objek: Objek database

    • Jenis masalah: Apa yang membutuhkan perhatian

    • Tingkat keparahan: Kritis, Peringatan, atau Info

    • Rekomendasi: Resolusi yang disarankan

    • Kode asli: Versi SQL Server

    • Kode yang dikonversi: Versi PostgreSQL

  3. Untuk setiap item tindakan, Anda dapat:

    • Terima: Gunakan kode yang dikonversi

    • Ubah: Edit kode yang dikonversi

    • Bendera untuk nanti: Tandai untuk tinjauan manusia setelah transformasi

Contoh: Konversi prosedur tersimpan

Server SQL T-SQL:

CREATE PROCEDURE GetProductsByCategory @CategoryId INT, @PageSize INT = 10 AS BEGIN SET NOCOUNT ON; SELECT TOP (@PageSize) ProductId, Name, Price, DATEDIFF(DAY, CreatedDate, GETUTCDATE()) AS DaysOld FROM Products WHERE CategoryId = @CategoryId ORDER BY Name END

PostgreSQL yang PL/pgSQL dikonversi:

CREATE OR REPLACE FUNCTION get_products_by_category( p_category_id INTEGER, p_page_size INTEGER DEFAULT 10 ) RETURNS TABLE ( product_id INTEGER, name VARCHAR(255), price NUMERIC(18,2), days_old INTEGER ) AS $$ BEGIN RETURN QUERY SELECT p.product_id, p.name, p.price, EXTRACT(DAY FROM (NOW() - p.created_date))::INTEGER AS days_old FROM products p WHERE p.category_id = p_category_id ORDER BY p.name LIMIT p_page_size; END; $$ LANGUAGE plpgsql;

Perubahan yang dibuat:

  • Prosedur dikonversi ke fungsi mengembalikan TABEL

  • Nama parameter diawali dengan p_

  • TOP dikonversi ke LIMIT

  • DATEDIFF dikonversi ke EXTRACT

  • GETUTCDATE () dikonversi ke NOW ()

  • Nama kolom diubah menjadi huruf kecil (konvensi PostgreSQL)

Menyetujui konversi skema

  1. Setelah meninjau semua item tindakan dan membuat modifikasi yang diperlukan

  2. Pilih Set ujui konversi skema

  3. AWS Transform menyiapkan skema yang dikonversi untuk penerapan ke Aurora PostgreSQL

catatan

Anda dapat mengunduh skema yang dikonversi sebagai skrip SQL untuk tinjauan offline atau kontrol versi.

Langkah 9: Migrasi data (opsional)

AWS Transform menyediakan opsi untuk memigrasikan data dari SQL Server ke Aurora PostgreSQL. Migrasi data bersifat opsional dan dapat dilewati jika Anda hanya membutuhkan transformasi skema dan kode.

Opsi migrasi data

Opsi 1: Migrasi Data Produksi

Migrasikan data produksi aktual Anda menggunakan AWS DMS:

  • Beban awal penuh dari semua data

  • Replikasi berkelanjutan selama pengujian (CDC)

  • Pemotongan waktu henti minimal

  • Validasi data dan pemeriksaan integritas

Opsi 2: Lewati Migrasi Data

Transformasikan skema dan kode saja:

  • Berguna untuk development/testing lingkungan

  • Kapan data akan dimigrasikan secara terpisah

  • Untuk proof-of-concept project

Konfigurasikan migrasi data

  1. Arahkan ke Migrasi data dalam rencana pekerjaan

  2. Pilih opsi migrasi Anda:

    • Migrasikan data produksi

    • Lewati migrasi data

  3. Jika memigrasikan data produksi, konfigurasikan:

    • Jenis migrasi: Beban penuh, atau beban penuh+CDC

    • Validasi: Aktifkan validasi data

    • Kinerja: Ukuran instance DMS

    • Pilih >Mulai migrasi

Proses migrasi data produksi

Jika Anda memilih untuk memigrasikan data produksi:

  1. Sinkronisasi awal: AWS DMS melakukan beban penuh dari semua tabel

  2. Replikasi berkelanjutan: (Jika CDC diaktifkan) Menjaga data tetap disinkronkan

  3. Validasi: Memverifikasi jumlah baris dan integritas data

  4. Persiapan cutover: Mempersiapkan sinkronisasi akhir

Garis Waktu Migrasi:

  • Basis data kecil (< 10 GB): 30 menit - 2 jam

  • Basis data sedang (10-100 GB): 2-8 jam

  • Basis data besar (> 100 GB): 8+ jam

Validasi data

AWS Transform memvalidasi data yang dimigrasi dengan pemeriksaan berikut:

  • Perbandingan jumlah baris (sumber vs target)

  • Integritas kunci utama

  • Hubungan kunci asing

  • Kompatibilitas tipe data

  • Hasil kolom yang dihitung

  • Penanganan nilai nol

Langkah 10: Transformasi kode aplikasi

AWS Transform mengubah kode aplikasi.NET Anda untuk bekerja dengan Aurora PostgreSQL alih-alih SQL Server. Ini meminta nama cabang target di repositori Anda untuk melakukan kode sumber yang diubah. Setelah Anda memasukkan nama cabang, AWS Transform akan membuat cabang baru dan memulai transformasi agar sesuai dengan database PostgreSQL.

Apa yang ditransformasikan

Perubahan Kerangka Entitas:

  • Penyedia database: UseSqlServer () → UseNpgsql ()

  • String koneksi: Format SQL Server → Format PostgreSQL

  • Pemetaan tipe data: tipe SQL Server → tipe PostgreSQL

  • DbContext konfigurasi: SQL Server-specific → PostgreSQL-specific

  • File migrasi: Diperbarui untuk kompatibilitas PostgreSQL

ADO.NET Perubahan:

  • Kelas koneksi: SqlConnection → NpgsqlConnection

  • Kelas perintah: SqlCommand → NpgsqlCommand

  • Pembaca data: SqlDataReader → NpgsqlDataReader

  • Param eter: SqlParameter → NpgsqlParameter

  • Sintaks S QL: T-SQL → PostgreSQL SQL

Perubahan Konfigurasi:

  • String koneksi di appsettings.json

  • NuGet Paket penyedia database

  • Konfigurasi injeksi ketergantungan

  • Startup/Program.cs konfigurasi

Mulai transformasi kode

  1. Arahkan ke Transformasi aplikasi dalam rencana pekerjaan

  2. Tinjau pengaturan transformasi:

    • Target versi.NET (jika memutakhirkan)

    • Versi penyedia PostgreSQL

    • Preferensi gaya kode

  3. Pilih Mulai transformasi

  4. Memantau kemajuan di log kerja

  5. Transformasi biasanya memakan waktu 15-45 menit tergantung pada ukuran basis kode

Langkah 11: Tinjau hasil transformasi

Sebelum melanjutkan ke penerapan, tinjau hasil transformasi lengkap untuk memastikan semuanya siap untuk pengujian.

Anda dapat mengunduh kode yang diubah dari cabang repositori untuk:

  • Pengujian dan validasi lokal

  • Tinjauan kode di IDE Anda

  • Integrasi dengan CI/CD pipeline Anda

  • Komit kontrol versi

Anda juga dapat mengunduh ringkasan transformasi untuk meninjau perubahan bahasa alami yang dibuat oleh AWS Transform sebagai bagian dari transformasi.

Ringkasan transformasi

  1. Arahkan ke Ringkasan Transformasi dalam rencana pekerjaan

  2. Tinjau hasil keseluruhan:

    • Konversi skema: Objek dikonversi, item tindakan, peringatan

    • Migrasi data: Tabel dimigrasi, baris ditransfer, status validasi

    • Transformasi kode: File diubah, baris dimodifikasi, masalah diselesaikan

    • Skor kesiapan: Keseluruhan kesiapan untuk penerapan

Menghasilkan laporan transformasi

AWS Transform menghasilkan laporan transformasi komprehensif:

  1. Pilih Buat laporan

  2. Pilih jenis laporan:

    • Ringkasan eksekutif: ikh High-level tisar untuk pemangku kepentingan

    • Rincian teknis: Dokumentasi transformasi lengkap

    • Item tindakan: Daftar tugas manusia yang diperlukan

  3. Pilih Unduh laporan

Laporan tersebut meliputi:

  • Ruang lingkup dan tujuan transformasi

  • Objek dan kode diubah

  • Masalah yang dihadapi dan resolusi

  • Hasil validasi

  • Penilaian kesiapan penerapan

  • Rekomendasi untuk pengujian

Langkah 12: Validasi dan pengujian

Sebelum menerapkan ke produksi, validasi bahwa aplikasi yang diubah berfungsi dengan benar dengan Aurora PostgreSQL.

Jenis validasi

Validasi Otomatis: AWS Transform melakukan pemeriksaan otomatis:

  • Validasi skema terhadap database sumber

  • Verifikasi integritas data

  • Pengujian kesetaraan kueri

  • Validasi string koneksi

  • Validasi konfigurasi

Validasi Manusia: Anda harus melakukan pengujian tambahan:

  • Pengujian fungsional fitur aplikasi

  • Pengujian integrasi dengan sistem lain

  • Pengujian kinerja dan pembandingan

  • Pengujian penerimaan pengguna

  • Pengujian keamanan

Jalankan validasi otomatis

  1. Arahkan ke Validasi dalam rencana pekerjaan

  2. Pilih J alankan validasi

  3. AWS Transform menjalankan tes validasi:

    • Konektivitas database

    • Kompatibilitas skema

    • Integritas data

    • Pembuatan aplikasi

    • Fungsionalitas dasar

  4. Tinjau hasil validasi:

    • Lulus: Tes yang berhasil

    • Gagal: Tes yang membutuhkan perhatian

    • Peringatan: Masalah potensial untuk ditinjau

Daftar periksa pengujian

Fungsi Basis Data:

  • Semua tabel dapat diakses

  • Prosedur yang disimpan dijalankan dengan benar

  • Fungsi mengembalikan hasil yang diharapkan

  • Memicu api dengan tepat

  • Kendala ditegakkan dengan benar

  • Indeks meningkatkan kinerja kueri

Fungsi Aplikasi:

  • Aplikasi dimulai dengan sukses

  • Koneksi database dibuat

  • Operasi CRUD bekerja dengan benar

  • Panggilan prosedur yang disimpan berhasil

  • Transaksi commit/rollback dengan benar

  • Penanganan kesalahan berfungsi seperti yang diharapkan

Integritas Data:

  • Sumber kecocokan jumlah baris

  • Kunci utama unik

  • Kunci asing valid

  • Kolom yang dihitung benar

  • Penanganan nol sesuai

  • Jenis data yang kompatibel

Kinerja:

  • Waktu respons kueri dapat diterima

  • Pengumpulan koneksi dikonfigurasi

  • Indeks dioptimalkan

  • Tidak ada masalah kueri N+1

  • Operasi batch efisien

  • Pemanfaatan sumber daya masuk akal

Langkah 13: Penerapan

Setelah validasi berhasil, gunakan aplikasi dan database modern Anda ke produksi.

Opsi deployment

  • Amazon ECS dan Amazon EC2 Linux

Pre-deployment daftar periksa

Sebelum menerapkan ke produksi:

  • Semua tes validasi lulus

  • Pengujian kinerja selesai

  • Tinjauan keamanan selesai

  • Rencana cadangan dan rollback didokumentasikan

  • Pemantauan dan peringatan dikonfigurasi

  • Tim dilatih di lingkungan baru

  • Pemangku kepentingan diberitahu tentang penerapan

  • Jendela pemeliharaan dijadwalkan

Terapkan ke Amazon ECS

  1. Arahkan ke Deployment dalam rencana pekerjaan

  2. Pilih Men yebarkan ke ECS

  3. Konfigurasikan pengaturan penerapan:

    • Cluster: Pilih atau buat cluster ECS

    • Layanan: Konfigurasikan layanan ECS

    • Definisi tugas: Tinjau definisi tugas yang dihasilkan

    • Penyeimbang beban: Konfigurasikan ALB/NLB

    • Auto-scaling: Tetapkan kebijakan penskalaan

  4. Tinjau infrastruktur sebagai kode (template atau kode CDK) CloudFormation AWS

  5. Pilih Deplo y

Memantau penyebaran

AWS Transform menerapkan aplikasi Anda:

  1. Membuat cluster Aurora PostgreSQL

  2. Menerapkan skema database

  3. Memuat data (jika ada)

  4. Menyebarkan wadah aplikasi

  5. Mengkonfigurasi penyeimbang beban

  6. Menyiapkan penskalaan otomatis

Pantau kemajuan penerapan dan verifikasi:

  • Penyediaan infrastruktur

  • Inisialisasi database

  • Deployment aplikasi

  • Pemeriksaan kesehatan lulus

  • Aplikasi dapat diakses

  • Koneksi database berfungsi

  • Log menunjukkan operasi normal

Post-deployment validasi

Setelah penerapan:

Pengujian asap:

  • Verifikasi fungsionalitas penting

  • Uji alur kerja pengguna utama

  • Periksa titik integrasi

  • Pantau tingkat kesalahan

Pemantauan Kinerja:

  • Lacak waktu respons

  • Memantau kueri database

  • Periksa pemanfaatan sumber daya

  • Tinjau log aplikasi

Validasi Pengguna:

  • Lakukan pengujian penerimaan pengguna

  • Kumpulkan umpan balik

  • Mengatasi masalah apa pun

  • Dokumen pelajaran yang dipelajari

Prosedur rollback

Jika masalah muncul setelah penerapan:

Kembalikan Segera:

  • Kembali ke versi aplikasi sebelumnya

  • Beralih kembali ke SQL Server (jika masih tersedia)

  • Pulihkan dari cadangan jika diperlukan

Kembalikan Sebagian:

  • Putar kembali komponen tertentu

  • Simpan perubahan database

  • Kembalikan kode aplikasi saja

Memperbaiki Maju:

  • Terapkan hotfix ke versi Aurora PostgreSQL

  • Terapkan kode aplikasi yang diperbarui

  • Monitor untuk resolusi

penting

Simpan database SQL Server Anda tersedia untuk periode setelah cutover untuk mengaktifkan rollback jika diperlukan.

Post-deployment optimasi

Setelah penerapan berhasil:

Penyetelan kinerja:

  • Optimalkan kueri lambat

  • Sesuaikan pengaturan kumpulan koneksi

  • Fine-tune Parameter Aurora PostgreSQL

  • Meninjau dan mengoptimalkan indeks

Optimalisasi Biaya:

  • Right-size Contoh Aurora

  • Konfigurasikan penskalaan otomatis dengan tepat

  • Tinjau pengaturan penyimpanan

  • Optimalkan retensi cadangan

Pengaturan Pemantauan:

  • Konfigurasikan CloudWatch dasbor

  • Siapkan peringatan

  • Aktifkan Pemantauan yang Ditingkatkan

  • Konfigurasikan Wawasan Kinerja

Dokumentasi:

  • Perbarui runbook

  • Perubahan arsitektur dokumen

  • Tim operasi kereta

  • Buat panduan pemecahan masalah