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 Transform. AWS

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 rincian pekerjaan:

    • Nama pekerjaan: Nama deskriptif untuk proyek Anda

    • Deskripsi: Deskripsi opsional

    • Wilayah target: AWS wilayah untuk penerapan

  5. Pilih Buat pekerjaan

    penting

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

Langkah 2: Connect ke database SQL Server

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

Buat konektor database

  1. Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Connect to resources

  2. Pilih Connect to SQL Server database

  3. Pilih Buat konektor baru

  4. Masukkan informasi konektor:

    • Nama C onnector: Nama deskriptif

    • AWS ID akun: Akun tempat SQL Server di-host

  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 Anda menyetujui permintaan konektor, klik Kirim untuk melanjutkan ke pengaturan koneksi kode sumber.

Langkah 3: Connect 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 Personal Access Token (PAT) (disarankan)

Terbaik untuk tim yang memerlukan cakupan izin khusus, dukungan penyedia yang dihosting 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 saat diperlukan. Anda bertanggung jawab untuk mengelola rotasi dan kedaluwarsa token.

AWS CodeConnections

Terbaik untuk tim yang menginginkan manajemen kredensyal otomatis. AWS CodeConnections menggunakan integrasi penyedia terkelola yang menangani otentikasi melalui alur otorisasi OAuth 2.0. AWS mengelola seluruh siklus hidup kredenal, termasuk penyegaran dan rotasi token otomatis. Tidak diperlukan manajemen kredensyal 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 Penyegaran otomatis
Fleksibilitas izin Cakupan yang sepenuhnya dapat disesuaikan Izin tetap
Self-hosted dukungan penyedia Didukung Tidak tersedia
Kompleksitas pengaturan Sedang (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 saat 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 dihosting sendiri dan khusus:

  • GitHub dan Server GitHub Perusahaan

  • GitLab.com dan GitLab Self-Managed

  • Bitbucket Cloud dan Pusat Data Bitbucket

  • Azure DevOps dan DevOps Azure 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. Atur kedaluwarsa untuk durasi pekerjaan transformasi. Jangan atur kedaluwarsa agar tidak pernah kedaluwarsa.

Awas

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

GitHub

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

Izin repositori

Izin Akses Tujuan
Daftar Isi Membaca dan menulis 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 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 — Autentikasi pembawa, tidak diperlukan nama pengguna)

Izin Akses Tujuan
Repositori Membaca dan menulis Daftar repo, membaca cabang, dan menulis kode yang diubah melalui git push

Token API Akun (ATAT — Autentikasi dasar dengan email) atau Kata Sandi Aplikasi (ATBB — Autentikasi dasar dengan nama pengguna)

Lingkup Tujuan
read:account Mengidentifikasi pengguna yang diautentikasi untuk menyelesaikan keanggotaan repositori
read:workspace:bitbucket Daftar ruang kerja yang dapat diakses token sehingga AWS Transform dapat menghitung repositori mereka. Tidak diperlukan jika Anda menentukan daftar ruang kerja secara 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
Azure 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 Membaca & menulis Membaca kode sumber, daftar repositori dan cabang, dan menulis kode yang diubah kembali
Profil Pengguna Baca Memvalidasi akses token dan menemukan identitas pengguna untuk pencarian organisasi
Manajemen Hak Anggota Baca Daftar organisasi yang dapat diakses 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 nilai kunci berdasarkan penyedia dan jenis hosting Anda:

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

      • Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci bernama 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 yang diberi nama email dengan alamat email Bitbucket Anda.

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

      • Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci bernama 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 yang diberi nama email dengan alamat email Bitbucket Anda.

    Contoh berikut menunjukkan cara rahasia mencari penyedia yang GitHub dihosting di AWS Secrets Manager 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 dihosting 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. Lengkapi wizard dan pilih Store.

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

Jika Anda menggunakan kunci KMS yang dikelola pelanggan untuk mengenkripsi rahasia Anda (bukan kunci AWS-managed default), Anda harus memperbarui kebijakan kunci KMS untuk memungkinkan AWS Transform 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 ini memastikan kunci KMS hanya dapat digunakan melalui AWS Secrets Manager layanan. kms:EncryptionContext:SecretARNKondisi ini membatasi dekripsi ke 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 tugas AWS Transform Anda, navigasikan ke Connect to resources.

  2. Pilih Connect source code repository.

  3. Pilih Konektor PAT sebagai metode otentikasi.

  4. Masukkan ARN Rahasia dari Langkah 2.

  5. (Opsional) Masukkan ARN Kunci KMS 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 tugas 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

Verifikasi bahwa 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

Verifikasi bahwa ARN Rahasia sudah 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. Regenerasi 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 kredensyal OAuth sementara melalui alur otorisasi OAuth 2.0. Izin dikonfigurasi di aplikasi penyedia dan dikelola sepenuhnya oleh AWS. Anda mengotorisasi aplikasi sekali, dan AWS menangani semua manajemen kredensyal.

  1. Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Connect to resources.

  2. Pilih Connect source code repository.

  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 Connect.

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 lainnya, 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 Disetujui.

penting

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

Langkah 4: Buat konektor penyebaran (opsional)

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

Siapkan konektor penyebaran

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

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

  3. Tambahkan nama yang membantu Anda mengingat konektor dengan mudah

  4. Kirimkan permintaan konektor untuk persetujuan.

Persetujuan konektor penyebaran

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

  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 Disetujui

penting

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

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 Transform memverifikasi

  • Konektivitas basis data: Koneksi aktif, pengguna memiliki izin yang diperlukan, database dapat diakses, versi didukung

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

  • Kesiapan lingkungan: Konfigurasi VPC mendukung DMS, peran layanan yang AWS diperlukan ada, konektivitas jaringan dibuat, 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, kendala, tipe data, kolom yang dihitung, kolom identitas, hubungan kunci asing

  • Kode aplikasi: .NET struktur proyek, 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 basis data, 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

  • Pantau kemajuan di worklog

  • AWS Transform menampilkan pembaruan waktu nyata saat objek ditemukan

Tinjau hasil penemuan

Setelah penemuan selesai, navigasikan ke Discovery dan penilaian untuk meninjau:

Analisis Database:

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

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

  • Item tindakan: Objek yang mungkin membutuhkan perhatian manusia

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

  • Fitur yang tidak didukung: Fitur yang memerlukan solusi

Analisis Aplikasi:

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

  • Versi .NET: Terdeteksi versi.NET Core

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

  • Koneksi basis data: Jumlah string koneksi yang ditemukan

  • Kompleksitas kode: Penilaian kompleksitas transformasi

Peta Ketergantungan:

  • Representasi visual dari hubungan aplikasi-ke-database

  • Cross-database dependensi

  • 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, Kerangka Entitas dengan konfigurasi standar Intervensi manusia minimal diharapkan, tingkat keberhasilan otomatisasi tinggi
Sedang (Kelas B) T-SQL Pola lanjutan, prosedur tersimpan 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, Pialang Layanan, 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 upaya

  • Penilaian risiko dan strategi mitigasi

  • Pendekatan yang direkomendasikan

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

Langkah 7: Buat dan tinjau rencana gelombang

Untuk perkebunan besar dengan banyak 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 Gelombang dalam rencana kerja

  2. Tinjau gelombang yang diusulkan

  3. Untuk setiap gelombang, tinjau:

    • Database disertakan

    • Aplikasi disertakan

    • Ketergantungan pada gelombang lain

    • Perkiraan waktu transformasi

    • Tingkat kompleksitas

    • Aplikasi yang dapat digunakan

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. Ubah gelombang di JSON dengan:

    • Memindahkan database antar gelombang

    • Memisahkan gelombang menjadi kelompok-kelompok yang lebih kecil

    • Menggabungkan gelombang bersama

    • Mengubah urutan gelombang

    • Menambahkan atau menghapus database dari ruang lingkup

  3. Unggah file JSON kembali ke konsol dengan memilih Unggah paket gelombang

  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 ombak.

penting

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

Modernisasi basis data 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 Menyetujui 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.

Bagaimana konversi skema bekerja

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

  • Menganalisis skema dan hubungan SQL Server

  • Memetakan tipe data dari SQL Server ke PostgreSQL setara

  • Transformasi T-SQL ke PL/pgSQL

  • Menangani kolom identitas, kolom yang dihitung, dan kendala

  • 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

  • Tipe data yang paling umum

  • Prosedur tersimpan sederhana

  • Fungsi dan pemicu dasar

  • Kolom identitas (dikonversi ke SERIAL atau DIHASILKAN)

  • 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 indeks pencarian

  • Operasi tipe data XML

  • Tipe data HIERARCHYID (membutuhkan ekstensi ltree)

Tidak otomatis dikonversi:

  • Majelis CLR

  • Server tertaut

  • Pialang Layanan

  • Lowongan kerja SQL Server Agent

Mulai konversi skema

  1. Arahkan ke konversi Skema dalam rencana kerja

  2. Tinjau pengaturan konversi:

    • Target versi PostgreSQL

    • Opsi ekstensi (ltree, PostGIS, dll.)

    • Konvensi penamaan

  3. Pilih Mulai konversi

  4. Pantau kemajuan di worklog

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

Tinjau hasil konversi

Setelah konversi selesai, navigasikan ke konversi skema Tinjau:

Ringkasan Konversi:

  • Objek dikonversi: Hitungan objek yang berhasil dikonversi

  • Item tindakan: Objek yang membutuhkan perhatian manusia

  • Peringatan: Potensi masalah 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: Memicu perubahan sintaks dan 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

    • 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 PL/pgSQL yang 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 dilakukan:

  • 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 dikonversi ke huruf kecil (konvensi PostgreSQL)

Menyetujui konversi skema

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

  2. Pilih Menyetujui 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 memerlukan skema dan transformasi 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

Transformasi skema dan kode saja:

  • Berguna untuk development/testing lingkungan

  • Kapan data akan dimigrasikan secara terpisah

  • Untuk proyek pembuktian konsep

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 instans 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:

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

  • Database menengah (10-100 GB): 2-8 jam

  • Database 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 untuk mencocokkan database PostgreSQL.

Apa yang akan ditransformasikan

Perubahan Kerangka Entitas:

  • Penyedia basis data: 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

  • Parameter: SqlParameter → NpgsqlParameter

  • S QL sintaks: → 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 kerja

  2. Tinjau pengaturan transformasi:

    • Targetkan versi.NET (jika memutakhirkan)

    • Versi penyedia PostgreSQL

    • Preferensi gaya kode

  3. Pilih Mulai transformasi

  4. Pantau kemajuan di worklog

  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

  • Ulasan 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 kerja

  2. Tinjau hasil keseluruhan:

    • Konversi skema: Objek dikonversi, item tindakan, peringatan

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

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

    • Skor kesiapan: Kesiapan keseluruhan untuk penerapan

Hasilkan laporan transformasi

AWS Transform menghasilkan laporan transformasi yang komprehensif:

  1. Pilih Hasilkan laporan

  2. Pilih jenis laporan:

    • Ringkasan eksekutif: High-level ikhtisar untuk pemangku kepentingan

    • Detail 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 basis data 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 kerja

  2. Pilih Jalankan validasi

  3. AWS Transform mengeksekusi tes validasi:

    • Konektivitas basis data

    • Kompatibilitas skema

    • Integritas data

    • Membangun aplikasi

    • Fungsionalitas dasar

  4. Tinjau hasil validasi:

    • Lulus: Tes yang berhasil

    • Gagal: Tes yang perlu diperhatikan

    • Peringatan: Potensi masalah untuk ditinjau

Daftar periksa pengujian

Fungsi Database:

  • 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

Fungsionalitas Aplikasi:

  • Aplikasi dimulai dengan sukses

  • Koneksi basis data dibuat

  • Operasi CRUD bekerja dengan benar

  • Panggilan prosedur tersimpan berhasil

  • Transaksi commit/rollback dengan benar

  • Penanganan kesalahan berfungsi seperti yang diharapkan

Integritas Data:

  • Jumlah baris yang cocok dengan sumber

  • Kunci utama unik

  • Kunci asing valid

  • Kolom yang dihitung benar

  • Penanganan nol sesuai

  • Tipe 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 wajar

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 menyebarkan ke produksi:

  • Semua tes validasi lulus

  • Pengujian kinerja selesai

  • Tinjauan keamanan selesai

  • Backup dan rencana rollback didokumentasikan

  • Pemantauan dan peringatan dikonfigurasi

  • Tim dilatih pada lingkungan baru

  • Pemangku kepentingan diinformasikan tentang penyebaran

  • Jendela pemeliharaan dijadwalkan

Terapkan ke Amazon ECS

  1. Arahkan ke Deployment dalam rencana pekerjaan

  2. Pilih Deploy ke ECS

  3. Konfigurasikan pengaturan penerapan:

    • Cluster: Pilih atau buat cluster ECS

    • Layanan: Konfigurasikan layanan ECS

    • Definisi tugas: Tinjau definisi tugas yang dihasilkan

    • Load balancer: Konfigurasikan ALB/NLB

    • Auto-scaling: Tetapkan kebijakan penskalaan

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

  5. Pilih Deploy

Pantau penyebaran

AWS Transform menyebarkan aplikasi Anda:

  1. Menciptakan klaster Aurora PostgreSQL

  2. Menerapkan skema basis data

  3. Memuat data (jika ada)

  4. Menyebarkan wadah aplikasi

  5. Mengkonfigurasi penyeimbang beban

  6. Menyiapkan auto-scaling

Pantau kemajuan penerapan dan verifikasi:

  • Penyediaan infrastruktur

  • Inisialisasi basis data

  • Deployment aplikasi

  • Pemeriksaan kesehatan lewat

  • Aplikasi dapat diakses

  • Koneksi database bekerja

  • Log menunjukkan operasi normal

Post-deployment validasi

Setelah penyebaran:

Pengujian Asap:

  • Verifikasi fungsionalitas kritis

  • Uji alur kerja pengguna kunci

  • Periksa poin integrasi

  • Pantau tingkat kesalahan

Pemantauan Kinerja:

  • Lacak waktu respons

  • Memantau kueri basis data

  • Periksa pemanfaatan sumber daya

  • Tinjau log aplikasi

Validasi Pengguna:

  • Lakukan pengujian penerimaan pengguna

  • Kumpulkan umpan balik

  • Mengatasi masalah apa pun

  • Pelajaran dokumen yang dipetik

Prosedur rollback

Jika masalah muncul setelah penerapan:

Rollback Segera:

  • Kembali ke versi aplikasi sebelumnya

  • Beralih kembali ke SQL Server (jika masih tersedia)

  • Pulihkan dari cadangan jika diperlukan

Rollback Sebagian:

  • Gulung kembali komponen tertentu

  • Menyimpan perubahan basis data

  • Kembalikan kode aplikasi saja

Perbaiki Maju:

  • Terapkan perbaikan terbaru ke versi Aurora PostgreSQL

  • Menyebarkan kode aplikasi yang diperbarui

  • Monitor untuk resolusi

penting

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

Post-deployment optimasi

Setelah penerapan berhasil:

Tuning Kinerja:

  • Optimalkan kueri lambat

  • Sesuaikan pengaturan kolam koneksi

  • Fine-tune Parameter Aurora PostgreSQL

  • Tinjau dan optimalkan indeks

Optimalisasi Biaya:

  • Right-size Contoh Aurora

  • Konfigurasikan auto-scaling dengan tepat

  • Tinjau pengaturan penyimpanan

  • Optimalkan retensi cadangan

Pengaturan pemantauan:

  • Konfigurasikan CloudWatch dasbor

  • Mengatur peringatan

  • Aktifkan Pemantauan yang Ditingkatkan

  • Konfigurasikan Performance Insights

Dokumentasi:

  • Perbarui runbook

  • Perubahan arsitektur dokumen

  • Melatih tim operasi

  • Buat panduan pemecahan masalah