Ekspor Amazon RDS untuk tabel SQL Server ke bucket S3 dengan menggunakan AWS DMS - AWS Prescriptive Guidance

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

Ekspor Amazon RDS untuk tabel SQL Server ke bucket S3 dengan menggunakan AWS DMS

Subhani Shaik, Amazon Web Services

Ringkasan

Amazon Relational Database Service (Amazon RDS) untuk SQL Server tidak mendukung pemuatan data ke server terkait mesin DB lainnya di Amazon Web Services (AWS) Cloud. Sebagai gantinya, Anda dapat menggunakan AWS Database Migration Service (AWS DMS) untuk mengekspor tabel Amazon RDS for SQL Server ke bucket Amazon Simple Storage Service (Amazon S3), tempat data tersedia untuk engine DB lainnya.

AWS DMS membantu Anda memigrasikan database ke AWS dengan cepat dan aman. Database sumber tetap beroperasi penuh selama migrasi, meminimalkan waktu henti ke aplikasi yang bergantung pada database. AWS DMS dapat memigrasikan data Anda ke dan dari basis data komersial dan sumber terbuka yang paling banyak digunakan.

Pola ini menggunakan AWS Secrets Manager saat mengonfigurasi titik akhir AWS DMS. Secrets Manager membantu Anda melindungi rahasia yang diperlukan untuk mengakses aplikasi, layanan, dan sumber daya TI Anda. Anda dapat menggunakan layanan untuk memutar, mengelola, dan mengambil kredenal database, kunci API, dan rahasia lainnya sepanjang siklus hidupnya. Pengguna dan aplikasi mengambil rahasia dengan panggilan ke Secrets Manager, mengurangi kebutuhan untuk hardcode informasi sensitif. Secrets Manager menawarkan rotasi rahasia dengan integrasi bawaan untuk Amazon RDS, Amazon Redshift, dan Amazon DocumentDB. Selain itu, layanan ini dapat diperluas ke jenis rahasia lainnya, termasuk kunci API dan OAuth token. Dengan Secrets Manager, Anda dapat mengontrol akses ke rahasia dengan menggunakan izin halus dan mengaudit rotasi rahasia secara terpusat untuk sumber daya di AWS Cloud, layanan pihak ketiga, dan di tempat.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Ember S3

  • Awan pribadi virtual (VPC)

  • Sebuah subnet DB

  • Amazon RDS for SQL Server

  • Peran AWS Identity and Access Management (IAM) dengan akses (daftar, dapatkan, dan letakkan objek) ke bucket S3 atas nama instans Amazon RDS.

  • Secrets Manager untuk menyimpan kredensil instans RDS.

Arsitektur

Tumpukan teknologi

  • Amazon RDS for SQL Server

  • AWS DMS

  • Amazon S3

  • AWS Secrets Manager

Arsitektur target

Diagram berikut menunjukkan arsitektur untuk mengimpor data dari instans Amazon RDS ke bucket S3 dengan bantuan AWS DMS.

Deskripsi mengikuti diagram.
  1. Tugas migrasi AWS DMS menghubungkan ke instans Amazon RDS sumber melalui titik akhir sumber

  2. Menyalin data dari sumber instans Amazon RDS

  3. Tugas migrasi AWS DMS terhubung ke bucket S3 target melalui titik akhir target

  4. Mengekspor data yang disalin ke bucket S3 dalam format nilai yang dipisahkan koma (CSV)

Alat

Layanan AWS

Layanan lainnya

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat contoh Amazon RDS for SQL Server.

  1. Buka AWS Management Console, pilih RDS, dan gunakan opsi Standard create untuk membuat instans Amazon RDS dengan edisi yang diperlukan, seperti SQL Server Express Edition, SQL Server Standard Edition, atau SQL Server Enterprise Edition. Untuk versi, pilih 2016 atau yang lebih baru.

  2. Di bawah Template, pilih Dev/Test.

DBA, DevOps insinyur

Siapkan kredensil untuk instance.

  1. Masukkan nama untuk contoh.

  2. Berikan nama pengguna dan kata sandi untuk instans Amazon RDS.

DBA, DevOps insinyur

Konfigurasikan kelas instance, penyimpanan, penskalaan otomatis, dan ketersediaan.

  1. Pilih kelas instans DB dari daftar: Kelas Standard, Memory Optimized, dan Burstable. Pilih jenis instans DB yang mengalokasikan kapasitas komputasi, jaringan, dan memori yang dibutuhkan oleh beban kerja yang direncanakan untuk instans DB ini. Untuk informasi selengkapnya, lihat dokumentasi AWS.

  2. Pilih Jenis Penyimpanan dari daftar: General Purpose SSD, Provisioned IOPS SSD, atau Magnetic. Alokasikan ukuran penyimpanan default sesuai kebutuhan.

  3. Pilih Aktifkan penskalaan otomatis penyimpanan untuk meningkatkan penyimpanan Amazon RDS berdasarkan perencanaan kapasitas Anda.

  4. Penerapan multi-AZ dengan instans replikasi didukung oleh AWS DMS. Jika terjadi pemadaman di Availability Zone, perangkat keras internal, atau jaringan, AWS DMS akan membuat instance siaga dan menyediakan ketersediaan tinggi (HA) melalui failover otomatis ke replika siaga. Tergantung pada ukuran impor Anda, pilih opsi yang sesuai.

DBA, DevOps insinyur

Tentukan VPC, grup subnet, akses publik, dan grup keamanan.

Pilih grup keamanan VPC, subnet DB, dan VPC sesuai kebutuhan untuk membuat instans Amazon RDS. Ikuti praktik terbaik, misalnya:

  • Jangan aktifkan akses publik ke instans RDS DB.

  • Jangan gunakan CIDR 0.0.0.0/0 di grup keamanan.

  • Gunakan hanya alamat IP dan detail port yang diperlukan untuk mengakses instans RDS.

DBA, DevOps insinyur

Konfigurasikan pemantauan, pencadangan, dan pemeliharaan.

  1. Tentukan opsi cadangan yang Anda inginkan. Secara default, pencadangan otomatis diaktifkan dengan periode retensi 7 hari.

  2. Pilih pengaturan jendela pemutakhiran dan Pemeliharaan versi minor otomatis yang sesuai untuk menerapkan modifikasi atau pemeliharaan yang tertunda ke database oleh Amazon RDS.

  3. Pilih Buat basis data.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Buat tabel dan muat contoh data.

Dalam database baru, buat tabel. Gunakan kode contoh di bagian Informasi tambahan untuk memuat data ke dalam tabel.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Buat secret.

  1. Di konsol, pilih Secrets Manager, dan pilih Simpan rahasia baru.

  2. Masukkan nama pengguna dan kata sandi untuk database Amazon RDS for SQL Server.

Rahasia ini akan digunakan untuk titik akhir sumber AWS DMS.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Buat peran IAM untuk akses ke Amazon RDS.

  1. Di konsol, pilih IAM, dan buat peran IAM yang memberikan akses bucket S3 read/write ke Amazon RDS.

  2. Di bawah Fitur, pilih Integrasi S3.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Buat ember S3.

Untuk menyimpan data dari Amazon RDS for SQL Server, di konsol, pilih S3, lalu pilih Buat bucket. Pastikan bucket S3 tidak tersedia untuk umum.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Buat peran IAM untuk AWS DMS untuk mengakses Amazon S3.

Buat peran IAM yang memungkinkan AWS DMS membuat daftar, mendapatkan, dan meletakkan objek dari bucket S3.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Buat titik akhir sumber AWS DMS.

  1. Di konsol, pilih Database Migration Service, dan pilih Endpoints. Buat titik akhir Sumber, pilih kotak centang Select RDS DB instance.

  2. Untuk mesin Sumber, pilih Microsoft SQL Server.

  3. Di bawah Access to endpoint database, pilih AWS Secrets Manager, dan masukkan peran rahasia dan IAM yang Anda buat sebelumnya, dan nama database.

  4. Uji titik akhir sumber.

DBA, DevOps insinyur

Buat titik akhir target AWS DMS.

Buat titik akhir Target, pilih Amazon S3 sebagai mesin Target.

Berikan nama bucket S3 dan nama folder untuk peran IAM yang Anda buat sebelumnya.

DBA, DevOps insinyur

Buat instance replikasi AWS DMS.

Di VPC, subnet, dan grup keamanan yang sama, buat instance replikasi AWS DMS. Untuk informasi selengkapnya tentang memilih kelas instans, lihat dokumentasi AWS.

DBA, DevOps insinyur

Buat tugas migrasi AWS DMS.

Untuk mengekspor data dari Amazon RDS for SQL Server ke bucket S3, buat tugas migrasi database. Untuk jenis migrasi, pilih Migrasi data yang ada. Pilih titik akhir AWS DMS dan instance replikasi yang Anda buat.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Jalankan tugas migrasi database.

Untuk mengekspor data tabel SQL Server, mulai tugas migrasi database. Tugas akan mengekspor data dari Amazon RDS for SQL Server ke bucket S3 dalam format CSV.

DBA, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus sumber daya.

Untuk menghindari biaya tambahan, gunakan konsol untuk menghapus sumber daya dalam urutan berikut:

  1. Tugas migrasi

  2. Instans replikasi

  3. Titik akhir

  4. Bucket S3

  5. Contoh basis data

DBA, DevOps insinyur

Sumber daya terkait

Informasi tambahan

Untuk membuat database dan tabel, dan untuk memuat contoh data, gunakan kode berikut.

--Step1: Database creation in RDS SQL Server CREATE DATABASE [Test_DB] ON PRIMARY ( NAME = N'Test_DB', FILENAME = N'D:\rdsdbdata\DATA\Test_DB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%) LOG ON ( NAME = N'Test_DB_log', FILENAME = N'D:\rdsdbdata\DATA\Test_DB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO --Step2: Create Table USE Test_DB GO Create Table Test_Table(ID int, Company Varchar(30), Location Varchar(20)) --Step3: Load sample data. USE Test_DB GO Insert into Test_Table values(1,'AnyCompany','India') Insert into Test_Table values(2,'AnyCompany','USA') Insert into Test_Table values(3,'AnyCompany','UK') Insert into Test_Table values(4,'AnyCompany','Hyderabad') Insert into Test_Table values(5,'AnyCompany','Banglore')