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.
Masuk ke konsol AWS Transform
Pilih Buat pekerjaan modernisasi
Pilih pekerjaan modernisasi Windows dan kemudian pilih modernisasi SQL Server
Masukkan rincian pekerjaan:
Nama pekerjaan: Nama deskriptif untuk proyek Anda
Deskripsi: Deskripsi opsional
Wilayah target: AWS wilayah untuk penerapan
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
Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Connect to resources
Pilih Connect to SQL Server database
Pilih Buat konektor baru
Masukkan informasi konektor:
Nama C onnector: Nama deskriptif
AWS ID akun: Akun tempat SQL Server di-host
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 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
Buka AWS Secrets Manager konsol.
Pilih Simpan rahasia baru.
Untuk Tipe rahasia, pilih Tipe rahasia lainnya.
Tambahkan pasangan nilai kunci berdasarkan penyedia dan jenis hosting Anda:
Cloud-hosted penyedia — Tambahkan kunci bernama
tokenPAT Anda sebagai nilainya.Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci bernama
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 yang diberi namaemaildengan 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), dantoken(PAT Anda).Untuk Azure DevOps dengan organisasi tertentu, tambahkan juga kunci bernama
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 yang diberi namaemaildengan 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" }Pilih Berikutnya.
Masukkan nama rahasia, misalnya
github-pat-myproject.(Opsional) Pilih kunci KMS yang dikelola pelanggan untuk enkripsi.
Lengkapi wizard dan pilih Store.
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:
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 tugas AWS Transform Anda, navigasikan ke Connect to resources.
Pilih Connect source code repository.
Pilih Konektor PAT sebagai metode otentikasi.
Masukkan ARN Rahasia dari Langkah 2.
(Opsional) Masukkan ARN Kunci KMS 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 tugas 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
-
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.
Dalam pekerjaan modernisasi SQL Server Anda, navigasikan ke Connect to resources.
Pilih Connect source code repository.
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 Connect.
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 lainnya, 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 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
Pilih Ya jika Anda ingin menerapkan aplikasi Anda. Memilih Tidak akan melewati langkah ini.
Tambahkan AWS akun Anda di mana Anda ingin menyebarkan aplikasi yang diubah.
Tambahkan nama yang membantu Anda mengingat konektor dengan mudah
Kirimkan permintaan konektor untuk persetujuan.
Persetujuan konektor penyebaran
Administrator AWS akun Anda harus menyetujui permintaan koneksi untuk konektor penyebaran.
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 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
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, 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
Arahkan ke perencanaan Gelombang dalam rencana kerja
Tinjau gelombang yang diusulkan
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:
Pilih Unduh semua gelombang untuk mendapatkan file JSON dengan semua gelombang
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
Unggah file JSON kembali ke konsol dengan memilih Unggah paket gelombang
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 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
Setelah meninjau dan menyesuaikan (jika diperlukan), pilih Menyetujui 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.
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
Arahkan ke konversi Skema dalam rencana kerja
Tinjau pengaturan konversi:
Target versi PostgreSQL
Opsi ekstensi (ltree, PostGIS, dll.)
Konvensi penamaan
Pilih Mulai konversi
Pantau kemajuan di worklog
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
Pilih Lihat item tindakan
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
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
Setelah meninjau semua item tindakan dan membuat modifikasi yang diperlukan
Pilih Menyetujui 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 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
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 instans 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:
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
Arahkan ke Transformasi aplikasi dalam rencana kerja
Tinjau pengaturan transformasi:
Targetkan versi.NET (jika memutakhirkan)
Versi penyedia PostgreSQL
Preferensi gaya kode
Pilih Mulai transformasi
Pantau kemajuan di worklog
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
Arahkan ke ringkasan Transformasi dalam rencana kerja
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:
Pilih Hasilkan laporan
Pilih jenis laporan:
Ringkasan eksekutif: High-level ikhtisar untuk pemangku kepentingan
Detail 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 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
Arahkan ke Validasi dalam rencana kerja
Pilih Jalankan validasi
AWS Transform mengeksekusi tes validasi:
Konektivitas basis data
Kompatibilitas skema
Integritas data
Membangun aplikasi
Fungsionalitas dasar
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
Arahkan ke Deployment dalam rencana pekerjaan
Pilih Deploy ke ECS
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
Tinjau infrastruktur-sebagai-kode (CloudFormation templat atau kode CDK) AWS
Pilih Deploy
Pantau penyebaran
AWS Transform menyebarkan aplikasi Anda:
Menciptakan klaster Aurora PostgreSQL
Menerapkan skema basis data
Memuat data (jika ada)
Menyebarkan wadah aplikasi
Mengkonfigurasi penyeimbang beban
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