Cara memindahkan basis data RDS ke VPC berbeda

11

Saya tidak memilih VPC ketika membuat database MySQL RDS, jadi itu membuatnya di dalam VPC "default" yang dibuat secara otomatis. Saya sekarang tidak dapat menambahkannya ke grup keamanan saya yang telah ditentukan sebelumnya, atau mengaksesnya dari instance di VPC saya yang ada. Solusi yang jelas adalah memindahkannya ke VPC yang tepat, tetapi sepertinya tidak ada pilihan untuk mengedit VPC pada layar "Modify db instance". Apakah ada cara untuk memilih VPC yang berbeda, atau satu-satunya pilihan saya untuk menghapus db dan membuatnya kembali di dalam VPC yang benar?

Cerin
sumber

Jawaban:

12

Amazon baru-baru ini mengeluarkan siaran pers yang mengumumkan bahwa Anda sekarang dapat mengubah VPC untuk instance RDS yang ada:

Anda sekarang dapat dengan mudah mengubah Amazon Virtual Private Cloud (Amazon VPC) yang digunakan oleh instance Amazon RDS DB Anda. Anda dapat menentukan VPC baru untuk instance DB yang ada yang digunakan dalam konfigurasi Single-AZ dengan menggunakan Amazon RDS Management Console, Amazon RDS API, atau AWS Command Line Tools. Selain itu, jika Anda menjalankan instance DB pada lingkungan EC2-Classic, Anda dapat beralih ke lingkungan EC2-VPC dengan memodifikasi instance DB yang ada. Jika akun AWS Anda dibuat sebelum 2013-12-04, Anda berpotensi menjalankan RDS di lingkungan EC2-Classic.

Fitur ini tersedia untuk semua wilayah yang didukung oleh Amazon RDS, dan tersedia untuk semua versi MySQL, MariaDB, Microsoft SQL Server, Oracle, dan PostgreSQL yang didukung.

Perhatikan bahwa fitur ini hanya didukung untuk instance DB yang berjalan dalam penerapan AZ Tunggal. Jika Anda ingin mengubah lingkungan VPC dari instance DB dalam penyebaran Multi-AZ, Anda dapat memodifikasi sementara Anda menjadi penerapan AZ tunggal dan kemudian mengaktifkan kembali Multi-AZ setelah Anda mengubah lingkungan EC2-VPC .

Siddharth Sharma
sumber
2
Satu hal yang perlu diperhatikan: Anda dapat mengubah VPC tetapi Zona Ketersediaan database TIDAK akan berubah. Jadi, jika db Anda berada dalam VPC di subnet us-west-2a tetapi yang lain tidak memiliki subnet di AZ itu, itu tidak akan membiarkan Anda berubah ke VPC itu
Matt Dodge
10

Sederhana - ambil snapshot dari instance RDS Anda saat ini dan kemudian pulihkan snapshot itu ke instance baru di VPC Anda.

EEAA
sumber
2
Drop-down VPC dinonaktifkan untuk saya sampai saya berkata "ya" untuk penerapan Multi-AZ.
Ian Phillips
Bagaimana saya harus menangani data yang ditambahkan saat saya memuat snapshot? Apakah ada cara untuk meminimalkan waktu henti?
iGili
RDS sangat mampu bertindak sebagai pelipur lara MySQL ke sistem lain, jadi mungkin itu cara untuk pergi.
EEAA
3

Untuk menghindari downtime ketika bermigrasi ke VPC baru, Anda harus menyiapkan mesin Multi-AZ DB untuk klaster RDS asli Anda sehingga pembuatan snapshot tidak akan menyebabkan penangguhan I / O singkat. Cluster juga harus mengaktifkan pencatatan biner sehingga ketika Anda memuat snapshot Anda di VPC baru Anda dapat mengatur replikasi antara database untuk memulihkan data yang mungkin telah dimasukkan atau diperbarui setelah snapshot dibuat.

Ikuti panduan ini dari dokumen RDS

EDIT

Saya harus melakukan ini dengan RDS Aurora dan harus membuat sedikit modifikasi pada panduan di atas:

  • Ketika memulihkan dari snapshot Aurora Anda tidak dapat mengatur grup parameter sehingga instance mendapatkan parameter default secara otomatis. Setelah instance tersedia, ubah parameter untuk memasukkan logging biner dan reboot.

  • Menjalankan SHOW MASTER STATUS\Gtidak akan memberi Anda file log biner yang benar dan posisi db asli pada saat snapshot diambil, reboot instance membuat file log biner baru. Alih-alih jalankan SHOW BINARY LOGS;untuk menemukan file log sebelumnya dan file_size dan gunakan nilai-nilai itu ketika mengatur replikasi.

MarkAWard
sumber