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.
Masuk ke konsol AWS Transform
Pilih Buat pekerjaan modernisasi
Pilih pekerjaan modernisasi Windows dan kemudian pilih modernisasi SQL Server
Masukkan detail pekerjaan:
Nama pekerjaan: Nama deskriptif untuk proyek Anda
Deskripsi: Deskripsi opsional
Wilayah target: AWS wilayah untuk penerapan
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
Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Menghubungkan ke sumber daya
Pilih Hubungkan ke database SQL Server
Pilih Buat konektor baru
Masukkan informasi konektor:
Nama onnector C: Nama deskriptif
AWS ID akun: Akun tempat SQL Server dihosting
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.
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
Buka AWS Secrets Manager konsol.
Pilih Simpan rahasia baru.
Untuk Tipe rahasia, pilih Tipe rahasia lainnya.
Tambahkan pasangan kunci-nilai berdasarkan penyedia dan jenis hosting Anda:
Cloud-hosted penyedia — Tambahkan kunci bernama
tokendengan PAT Anda sebagai nilainya.Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci yang diberi nama
organizationdengan nama organisasi Anda.Untuk kata sandi aplikasi Bitbucket (ATBB), tambahkan juga kunci bernama
usernamedengan nama pengguna Bitbucket Anda. Untuk token API akun Bitbucket (ATAT), tambahkan kunci bernamaemaildengan 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), dantoken(PAT Anda).Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci yang diberi nama
organizationdengan nama organisasi Anda.Untuk kata sandi aplikasi Bitbucket (ATBB), tambahkan juga kunci bernama
usernamedengan nama pengguna Bitbucket Anda. Untuk token API akun Bitbucket (ATAT), tambahkan kunci bernamaemaildengan 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" }Pilih Berikutnya.
Masukkan nama rahasia, misalnya
github-pat-myproject.(Opsional) Pilih kunci KMS yang dikelola pelanggan untuk enkripsi.
Selesaikan wizard dan pilih Store.
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:
Buka konsol AWS KMS di
https://console.aws.amazon.com/kms.Di panel navigasi, pilih Kunci yang dikelola pelanggan.
Pilih kunci KMS Anda.
Di tab Kebijakan kunci, pilih Edit.
Tambahkan pernyataan kebijakan ke kebijakan yang ada.
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
Dalam pekerjaan AWS Transformasi Anda, navigasikan ke Mengh ubungkan ke sumber daya.
Pilih Hu bungkan repositori kode sumber.
Pilih PAT Connector sebagai metode otentikasi.
Masukkan Rahasia ARN dari Langkah 2.
(Opsional) Masukkan Kunci KMS ARN jika Anda menggunakan kunci KMS yang dikelola pelanggan.
Pilih repositori dan cabang Anda.
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:
Buat PAT baru di penyedia kode sumber Anda dengan izin yang sama.
Perbarui nilai rahasia di AWS Secrets Manager.
Verifikasi bahwa pekerjaan AWS Transform Anda dapat mengakses repositori dengan token baru.
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.
Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Menghubun gkan ke sumber daya.
Pilih Hu bungkan repositori kode sumber.
Jika Anda tidak memiliki koneksi yang ada, pilih Buat koneksi.
Pilih penyedia repositori Anda:
GitHub / GitHub Perusahaan
GitLab.com
Bitbucket Cloud
Repositori Azure
Ikuti alur otorisasi untuk penyedia Anda.
Setelah otorisasi, pilih Hu bungkan.
Pilih repositori dan cabang Anda
Pilih repositori Anda dari daftar.
Pilih cabang yang ingin Anda ubah (biasanya utama, master, atau kembangkan).
(Opsional) Tentukan subdirektori jika aplikasi.NET Anda tidak ada di root repositori.
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:
AWS Transform menampilkan tautan verifikasi.
Bagikan tautan ini dengan administrator repositori Anda.
Administrator meninjau dan menyetujui permintaan dalam pengaturan repositori mereka.
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
Pilih Ya jika Anda ingin menerapkan aplikasi Anda. Memilih Tidak akan melewati langkah ini.
Tambahkan AWS akun Anda di mana Anda ingin menerapkan aplikasi yang diubah.
Tambahkan nama yang membantu Anda mengingat konektor dengan mudah
Kirim permintaan konektor untuk persetujuan.
Persetujuan konektor penerapan
Administrator AWS akun Anda harus menyetujui permintaan koneksi untuk konektor penerapan.
AWS Transform menampilkan tautan verifikasi
Bagikan tautan ini dengan administrator AWS akun Anda
Administrator meninjau dan menyetujui permintaan dalam pengaturan repositori mereka
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
Arahkan ke Konfirmasi sumber daya Anda dalam rencana pekerjaan
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
Jika semua item ditampilkan sebagai lengkap, pilih Lanjutkan
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
Arahkan ke perencanaan Wave dalam rencana pekerjaan
Tinjau gelombang yang diusulkan
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:
Pilih Unduh semua gelombang untuk mendapatkan file JSON dengan semua gelombang
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
Unggah file JSON kembali ke konsol dengan memilih Upload wave plan
AWS Transform memvalidasi perubahan Anda dan memperingatkan jika dependensi dilanggar
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
Setelah meninjau dan menyesuaikan (jika diperlukan), pilih Setujui rencana gelombang
AWS Transform mengunci rencana gelombang dan melanjutkan ke transformasi
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
Arahkan ke konversi Skema dalam rencana pekerjaan
Tinjau pengaturan konversi:
Target versi PostgreSQL
Opsi ekstensi (ltree, PostGIS, dll.)
Konvensi penamaan
Pilih Mulai konversi
Memantau kemajuan di log kerja
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
Pilih Lihat item tindakan
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
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
Setelah meninjau semua item tindakan dan membuat modifikasi yang diperlukan
Pilih Set ujui konversi skema
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
Arahkan ke Migrasi data dalam rencana pekerjaan
Pilih opsi migrasi Anda:
Migrasikan data produksi
Lewati migrasi data
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:
Sinkronisasi awal: AWS DMS melakukan beban penuh dari semua tabel
Replikasi berkelanjutan: (Jika CDC diaktifkan) Menjaga data tetap disinkronkan
Validasi: Memverifikasi jumlah baris dan integritas data
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
Arahkan ke Transformasi aplikasi dalam rencana pekerjaan
Tinjau pengaturan transformasi:
Target versi.NET (jika memutakhirkan)
Versi penyedia PostgreSQL
Preferensi gaya kode
Pilih Mulai transformasi
Memantau kemajuan di log kerja
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
Arahkan ke Ringkasan Transformasi dalam rencana pekerjaan
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:
Pilih Buat laporan
Pilih jenis laporan:
Ringkasan eksekutif: ikh High-level tisar untuk pemangku kepentingan
Rincian teknis: Dokumentasi transformasi lengkap
Item tindakan: Daftar tugas manusia yang diperlukan
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
Arahkan ke Validasi dalam rencana pekerjaan
Pilih J alankan validasi
AWS Transform menjalankan tes validasi:
Konektivitas database
Kompatibilitas skema
Integritas data
Pembuatan aplikasi
Fungsionalitas dasar
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
Arahkan ke Deployment dalam rencana pekerjaan
Pilih Men yebarkan ke ECS
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
Tinjau infrastruktur sebagai kode (template atau kode CDK) CloudFormation AWS
Pilih Deplo y
Memantau penyebaran
AWS Transform menerapkan aplikasi Anda:
Membuat cluster Aurora PostgreSQL
Menerapkan skema database
Memuat data (jika ada)
Menyebarkan wadah aplikasi
Mengkonfigurasi penyeimbang beban
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