Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
VPCKloning silang dengan Amazon Aurora
Misalkan Anda ingin memaksakan kontrol akses jaringan yang berbeda pada cluster asli dan klon. Misalnya, Anda dapat menggunakan kloning untuk membuat salinan klaster Aurora produksi yang VPC berbeda untuk pengembangan dan pengujian. Atau Anda dapat membuat klon sebagai bagian dari migrasi dari subnet publik ke subnet pribadi, untuk meningkatkan keamanan database Anda.
Bagian berikut menunjukkan cara mengatur konfigurasi jaringan untuk klon sehingga cluster asli dan klon dapat mengakses node penyimpanan Aurora yang sama, bahkan dari subnet yang berbeda atau berbeda. VPCs Memverifikasi sumber daya jaringan terlebih dahulu dapat menghindari kesalahan selama kloning yang mungkin sulit didiagnosis.
Jika Anda tidak terbiasa dengan bagaimana Aurora berinteraksi denganVPCs, subnet, dan grup subnet DB, lihat dulu. Amazon VPC dan Aurora Anda dapat mengerjakan tutorial di bagian itu untuk membuat sumber daya semacam ini di AWS konsol, dan memahami bagaimana mereka cocok bersama.
Karena langkah-langkahnya melibatkan peralihan antara EC2 layanan RDS dan layanan, contoh menggunakan AWS CLI perintah untuk membantu Anda memahami cara mengotomatiskan operasi tersebut dan menyimpan output.
Topik
Sebelum Anda mulai
Sebelum Anda mulai menyiapkan VPC klon silang, pastikan untuk memiliki sumber daya berikut:
-
Cluster Aurora DB untuk digunakan sebagai sumber kloning. Jika ini adalah pertama kalinya Anda membuat cluster Aurora DB, lihat tutorial Memulai dengan Amazon Aurora untuk menyiapkan cluster menggunakan mesin database My SQL atau PostgreSQL.
-
SedetikVPC, jika Anda berniat membuat VPC klon silang. Jika Anda tidak memiliki VPC untuk digunakan untuk klon, lihat Tutorial: Membuat VPC untuk digunakan dengan klaster DB (khusus IPv4) atauTutorial: Membuat VPC untuk digunakan dengan klaster DB (mode tumpukan ganda).
Mengumpulkan informasi tentang lingkungan jaringan
Dengan VPC kloning silang, lingkungan jaringan dapat berbeda secara substansional antara cluster asli dan klonnya. Sebelum Anda membuat klon, kumpulkan dan catat informasi tentang, subnetVPC, grup subnet DB, dan AZs digunakan dalam cluster asli. Dengan begitu, Anda dapat meminimalkan kemungkinan masalah. Jika masalah jaringan terjadi, Anda tidak perlu mengganggu aktivitas pemecahan masalah apa pun untuk mencari informasi diagnostik. Bagian berikut menunjukkan CLI contoh untuk mengumpulkan jenis informasi ini. Anda dapat menyimpan detail dalam format mana pun yang nyaman untuk dikonsultasikan saat membuat klon dan melakukan pemecahan masalah apa pun.
Langkah 1: Periksa Availability Zones dari cluster asli
Sebelum Anda membuat klon, verifikasi mana yang AZs digunakan cluster asli untuk penyimpanannya. Seperti dijelaskan dalamPenyimpanan Amazon Aurora, penyimpanan untuk setiap cluster Aurora dikaitkan dengan tepat tiga. AZs Karena Klaster DB Amazon Aurora mengambil keuntungan dari pemisahan komputasi dan penyimpanan, aturan ini benar terlepas dari berapa banyak instance dalam cluster.
Misalnya, jalankan CLI perintah seperti berikut ini, ganti nama cluster Anda sendiri.
Contoh berikut menghasilkan daftar yang diurutkan menurut abjad dengan nama AZ. my_cluster
aws rds describe-db-clusters \ --db-cluster-identifier
my_cluster
\ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' \ --output text
Contoh berikut menunjukkan output sampel dari perintah sebelumnya. describe-db-clusters
Ini menunjukkan bahwa penyimpanan untuk cluster Aurora selalu menggunakan tiga. AZs
us-east-1c
us-east-1d
us-east-1e
Untuk membuat klon di lingkungan jaringan yang tidak memiliki semua sumber daya untuk terhubung ke iniAZs, Anda harus membuat subnet yang terkait dengan setidaknya dua subnet tersebutAZs, dan kemudian membuat grup subnet DB yang berisi dua atau tiga subnet tersebut. Contoh berikut menunjukkan caranya.
Langkah 2: Periksa grup subnet DB dari cluster asli
Jika Anda ingin menggunakan jumlah subnet yang sama untuk klon seperti pada cluster asli, Anda bisa mendapatkan jumlah subnet dari grup subnet DB dari cluster asli. Grup subnet Aurora DB berisi setidaknya dua subnet, masing-masing terkait dengan AZ yang berbeda. Catat subnet mana AZs yang terkait dengannya.
Contoh berikut menunjukkan bagaimana menemukan kelompok subnet DB dari cluster asli, dan kemudian bekerja mundur ke yang sesuai. AZs Gantikan nama cluster Anda
dengan perintah pertama. Gantikan nama grup subnet DB my_cluster
dengan perintah kedua. my_subnet
aws rds describe-db-clusters --db-cluster-identifier
my_cluster
\ --query '*[].DBSubnetGroup' --output text aws rds describe-db-subnet-groups --db-subnet-group-namemy_subnet_group
\ --query '*[].Subnets[].[SubnetAvailabilityZone.Name]' --output text
Output sampel mungkin terlihat mirip dengan berikut ini, untuk cluster dengan grup subnet DB yang berisi dua subnet. Dalam hal ini, two-subnets
adalah nama yang ditentukan saat membuat grup subnet DB.
two-subnets
us-east-1d
us-east-1c
Untuk cluster di mana grup subnet DB berisi tiga subnet, output mungkin terlihat mirip dengan berikut ini.
three-subnets
us-east-1f
us-east-1d
us-east-1c
Langkah 3: Periksa subnet dari cluster asli
Jika Anda memerlukan detail lebih lanjut tentang subnet di cluster asli, jalankan AWS CLI perintah yang mirip dengan berikut ini. Anda dapat memeriksa atribut subnet seperti rentang alamat IP, pemilik, dan sebagainya. Dengan begitu, Anda dapat menentukan apakah akan menggunakan subnet yang berbeda dalam hal yang samaVPC, atau membuat subnet dengan karakteristik serupa di tempat yang berbeda. VPC
Temukan subnet IDs dari semua subnet yang tersedia di Anda. VPC
aws ec2 describe-subnets --filters Name=vpc-id,Values=
my_vpc
\ --query '*[].[SubnetId]' --output text
Temukan subnet yang tepat digunakan dalam grup subnet DB Anda.
aws rds describe-db-subnet-groups --db-subnet-group-name
my_subnet_group
\ --query '*[].Subnets[].[SubnetIdentifier]' --output text
Kemudian tentukan subnet yang ingin Anda selidiki dalam daftar, seperti pada perintah berikut. Ganti nama subnet Anda untuk
dan sebagainya. my_subnet_1
aws ec2 describe-subnets \ --subnet-ids '["
my_subnet_1
","my_subnet2
","my_subnet3
"]'
Contoh berikut menunjukkan sebagian output dari describe-subnets
perintah tersebut. Output menunjukkan beberapa atribut penting yang dapat Anda lihat untuk setiap subnet, seperti AZ terkait dan bagian darinya. VPC
{
'Subnets': [
{
'AvailabilityZone': 'us-east-1d',
'AvailableIpAddressCount': 54,
'CidrBlock': '10.0.0.64/26',
'State': 'available',
'SubnetId': 'subnet-000a0bca00e0b0000',
'VpcId': 'vpc-3f3c3fc3333b3ffb3',
...
},
{
'AvailabilityZone': 'us-east-1c',
'AvailableIpAddressCount': 55,
'CidrBlock': '10.0.0.0/26',
'State': 'available',
'SubnetId': 'subnet-4b4dbfe4d4a4fd4c4',
'VpcId': 'vpc-3f3c3fc3333b3ffb3',
...
Langkah 4: Periksa Availability Zones dari instans DB di cluster asli
Anda dapat menggunakan prosedur ini untuk memahami yang AZs digunakan untuk instance DB di cluster asli. Dengan begitu, Anda dapat mengatur hal yang sama persis AZs untuk instance DB di klon. Anda juga dapat menggunakan lebih banyak atau lebih sedikit instans DB di klon tergantung pada apakah klon digunakan untuk produksi, pengembangan dan pengujian, dan sebagainya.
Untuk setiap instance di cluster asli, jalankan perintah seperti berikut ini. Pastikan bahwa instance telah selesai dibuat dan berada dalam Available
status terlebih dahulu. Gantikan pengenal instance untuk
. my_instance
aws rds describe-db-instances --db-instance-identifier
my_instance
\ --query '*[].AvailabilityZone' --output text
Contoh berikut menunjukkan output dari menjalankan perintah sebelumnya. describe-db-instances
Cluster Aurora memiliki empat instance database. Oleh karena itu, kami menjalankan perintah empat kali, mengganti pengidentifikasi instans DB yang berbeda setiap kali. Output menunjukkan bagaimana instans DB tersebut tersebar di maksimal tigaAZs.
us-east-1a
us-east-1c
us-east-1d
us-east-1a
Setelah klon dibuat dan Anda menambahkan instance DB ke dalamnya, Anda dapat menentukan nama AZ yang sama ini dalam perintah. create-db-instance
Anda dapat melakukannya untuk menyiapkan instance DB di cluster baru yang dikonfigurasi untuk persis sama AZs seperti di cluster asli.
Langkah 5: Periksa yang dapat VPCs Anda gunakan untuk klon
Jika Anda berniat untuk membuat klon yang berbeda VPC dari aslinya, Anda bisa mendapatkan daftar yang VPC IDs tersedia untuk akun Anda. Anda juga dapat melakukan langkah ini jika Anda perlu membuat subnet tambahan yang VPC sama dengan cluster asli. Ketika Anda menjalankan perintah untuk membuat subnet, Anda menentukan VPC ID sebagai parameter.
Untuk membuat daftar semua VPCs untuk akun Anda, jalankan CLI perintah berikut:
aws ec2 describe-vpcs --query '*[].[VpcId]' --output text
Contoh berikut menunjukkan output sampel dari perintah sebelumnya. describe-vpcs
Output menunjukkan bahwa ada empat VPCs di AWS akun saat ini yang dapat digunakan sebagai sumber atau tujuan untuk VPC kloning silang.
vpc-fd111111
vpc-2222e2cd2a222f22e
vpc-33333333a33333d33
vpc-4ae4d4de4a4444dad
Anda dapat menggunakan yang VPC sama dengan tujuan untuk klon, atau yang berbedaVPC. Jika cluster asli dan klonnya samaVPC, Anda dapat menggunakan kembali grup subnet DB yang sama untuk klon. Anda juga dapat membuat grup subnet DB yang berbeda. Misalnya, grup subnet DB baru mungkin menggunakan subnet pribadi, sedangkan grup subnet DB cluster asli mungkin menggunakan subnet publik. Jika Anda membuat klon dalam yang berbedaVPC, pastikan bahwa ada cukup subnet di baru VPC dan bahwa subnet dikaitkan dengan hak AZs dari cluster asli.
Membuat sumber daya jaringan untuk klon
Jika saat mengumpulkan informasi jaringan Anda menemukan bahwa sumber daya jaringan tambahan diperlukan untuk klon, Anda dapat membuat sumber daya tersebut sebelum mencoba mengatur klon. Misalnya, Anda mungkin perlu membuat lebih banyak subnet, subnet yang terkait dengan spesifikAZs, atau grup subnet DB baru.
Langkah 1: Buat subnet untuk klon
Jika Anda perlu membuat subnet baru untuk klon, jalankan perintah yang mirip dengan berikut ini. Anda mungkin perlu melakukan ini saat membuat klon di tempat yang berbedaVPC, atau saat membuat beberapa perubahan jaringan lain seperti menggunakan subnet pribadi alih-alih subnet publik.
AWS secara otomatis menghasilkan ID subnet. Gantikan nama klon VPC untuk
. Pilih rentang alamat untuk my_vpc
--cidr-block
opsi untuk mengizinkan setidaknya 16 alamat IP dalam rentang tersebut. Anda dapat menyertakan properti lain yang ingin Anda tentukan. Jalankan perintah aws ec2 create-subnet help
untuk melihat semua pilihan.
aws ec2 create-subnet --vpc-id
my_vpc
\ --availability-zoneAZ_name
--cidr-blockIP_range
Contoh berikut menunjukkan beberapa atribut penting dari subnet yang baru dibuat.
{
'Subnet': {
'AvailabilityZone': 'us-east-1b',
'AvailableIpAddressCount': 59,
'CidrBlock': '10.0.0.64/26',
'State': 'available',
'SubnetId': 'subnet-44b4a44f4e44db444',
'VpcId': 'vpc-555fc5df555e555dc',
...
}
}
Langkah 2: Buat grup subnet DB untuk klon
Jika Anda membuat klon dalam subnet yang berbedaVPC, atau kumpulan subnet yang berbeda dalam hal yang samaVPC, maka Anda membuat grup subnet DB baru dan menentukannya saat membuat klon.
Pastikan Anda mengetahui semua detail berikut. Anda dapat menemukan semua ini dari output dari contoh sebelumnya.
-
VPCdari cluster asli. Untuk petunjuk, silakan lihat Langkah 3: Periksa subnet dari cluster asli.
-
VPCdari klon, jika Anda membuatnya berbedaVPC. Untuk petunjuk, silakan lihat Langkah 5: Periksa yang dapat VPCs Anda gunakan untuk klon.
-
Tiga AZs terkait dengan penyimpanan Aurora untuk cluster asli. Untuk petunjuk, silakan lihat Langkah 1: Periksa Availability Zones dari cluster asli.
-
Dua atau tiga AZs terkait dengan grup subnet DB untuk cluster asli. Untuk petunjuk, silakan lihat Langkah 2: Periksa grup subnet DB dari cluster asli.
-
Subnet IDs dan terkait AZs dari semua subnet dalam yang ingin VPC Anda gunakan untuk klon. Gunakan
describe-subnets
perintah yang sama seperti diLangkah 3: Periksa subnet dari cluster asli, menggantikan VPC ID tujuanVPC.
Periksa berapa banyak AZs keduanya terkait dengan penyimpanan cluster asli, dan terkait dengan subnet di tujuanVPC. Agar berhasil membuat klon, harus ada dua atau tiga AZs kesamaan. Jika Anda memiliki kurang dari dua AZs kesamaan, kembalilah keLangkah 1: Buat subnet untuk klon. Buat satu, dua, atau tiga subnet baru yang AZs terkait dengan penyimpanan cluster asli.
Pilih subnet di tujuan VPC yang terkait dengan penyimpanan Aurora di cluster awalnya. AZs Idealnya, pilih tigaAZs. Melakukannya memberi Anda fleksibilitas paling besar untuk menyebarkan instans DB klon di beberapa AZs untuk ketersediaan sumber daya komputasi yang tinggi.
Jalankan perintah yang mirip dengan berikut ini untuk membuat grup subnet DB baru. Gantikan subnet Anda dalam daftar. IDs Jika Anda menentukan subnet IDs menggunakan variabel lingkungan, berhati-hatilah untuk mengutip daftar --subnet-ids
parameter dengan cara yang mempertahankan tanda kutip ganda di sekitar. IDs
aws rds create-db-subnet-group --db-subnet-group-name
my_subnet_group
\ --subnet-ids '["my_subnet_1
","my_subnet_2
","my_subnet3
"]' \ --db-subnet-group-description 'DB subnet group with 3 subnets for clone'
Contoh berikut menunjukkan output sebagian dari create-db-subnet-group
perintah.
{
'DBSubnetGroup': {
'DBSubnetGroupName': 'my_subnet_group
',
'DBSubnetGroupDescription': 'DB subnet group with 3 subnets for clone',
'VpcId': 'vpc-555fc5df555e555dc',
'SubnetGroupStatus': 'Complete',
'Subnets': [
{
'SubnetIdentifier': 'my_subnet_1
',
'SubnetAvailabilityZone': {
'Name': 'us-east-1c'
},
'SubnetStatus': 'Active'
},
{
'SubnetIdentifier': 'my_subnet_2
',
'SubnetAvailabilityZone': {
'Name': 'us-east-1d'
},
'SubnetStatus': 'Active'
}
...
],
'SupportedNetworkTypes': [
'IPV4'
]
}
}
Pada titik ini, Anda belum benar-benar membuat klon. Anda telah membuat semua sumber daya yang relevan VPC dan subnet sehingga Anda dapat menentukan parameter yang sesuai dengan create-db-instance
perintah restore-db-cluster-to-point-in-time
dan saat membuat klon.
Membuat klon Aurora dengan pengaturan jaringan baru
Setelah Anda memastikan bahwa konfigurasi yang tepat dariVPCs, subnetAZs, dan grup subnet tersedia untuk digunakan cluster baru, Anda dapat melakukan operasi kloning yang sebenarnya. CLIContoh berikut menyoroti opsi seperti--db-subnet-group-name
,--availability-zone
, dan --vpc-security-group-ids
yang Anda tentukan pada perintah untuk mengatur klon dan instance DB-nya.
Langkah 1: Tentukan grup subnet DB untuk klon
Saat Anda membuat klon, Anda dapat mengonfigurasi semua pengaturan kananVPC, subnet, dan AZ dengan menentukan grup subnet DB. Gunakan perintah dalam contoh sebelumnya untuk memverifikasi semua hubungan dan pemetaan yang masuk ke grup subnet DB.
Misalnya, perintah berikut menunjukkan kloning cluster asli ke klon. Pada contoh pertama, cluster sumber dikaitkan dengan dua subnet dan klon dikaitkan dengan tiga subnet. Contoh kedua menunjukkan kasus sebaliknya, kloning dari cluster dengan tiga subnet ke cluster dengan dua subnet.
aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier cluster-with-3-subnets \ --db-cluster-identifier cluster-cloned-to-2-subnets \ --restore-type copy-on-write --use-latest-restorable-time \ --db-subnet-group-name two-subnets
Jika Anda bermaksud menggunakan instance Aurora Serverless v2 di klon, sertakan --serverless-v2-scaling-configuration
opsi saat Anda membuat klon, seperti yang ditunjukkan. Melakukannya memungkinkan Anda menggunakan db.serverless
kelas saat membuat instance DB di klon. Anda juga dapat memodifikasi klon nanti untuk menambahkan atribut konfigurasi penskalaan ini. Nomor kapasitas dalam contoh ini memungkinkan setiap instance v2 Tanpa Server di cluster untuk menskalakan antara 2 dan 32 Unit Kapasitas Aurora (). ACUs Untuk informasi tentang fitur Aurora Serverless v2 dan cara memilih rentang kapasitas, lihat. Menggunakan Aurora Serverless v2
aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier cluster-with-2-subnets \ --db-cluster-identifier cluster-cloned-to-3-subnets \ --restore-type copy-on-write --use-latest-restorable-time \ --db-subnet-group-name three-subnets \ --serverless-v2-scaling-configuration 'MinCapacity=2,MaxCapacity=32'
Terlepas dari jumlah subnet yang digunakan oleh instans DB, penyimpanan Aurora untuk cluster sumber dan klon dikaitkan dengan tiga. AZs Contoh berikut mencantumkan yang AZs terkait dengan cluster asli dan klon, untuk kedua restore-db-cluster-to-point-in-time
perintah dalam contoh sebelumnya.
aws rds describe-db-clusters --db-cluster-identifier cluster-with-3-subnets \ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' --output text
us-east-1c us-east-1d us-east-1f
aws rds describe-db-clusters --db-cluster-identifier cluster-cloned-to-2-subnets \ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' --output textus-east-1c us-east-1d us-east-1f
aws rds describe-db-clusters --db-cluster-identifier cluster-with-2-subnets \ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' --output textus-east-1a us-east-1c us-east-1d
aws rds describe-db-clusters --db-cluster-identifier cluster-cloned-to-3-subnets \ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' --output textus-east-1a us-east-1c us-east-1d
Karena setidaknya dua AZs tumpang tindih antara setiap pasangan cluster asli dan klon, kedua cluster dapat mengakses penyimpanan Aurora dasar yang sama.
Langkah 2: Tentukan pengaturan jaringan untuk instance di klon
Saat Anda membuat instance DB di klon, secara default mereka mewarisi grup subnet DB dari cluster itu sendiri. Dengan begitu, Aurora secara otomatis menetapkan setiap instance ke subnet tertentu, dan membuatnya di AZ yang terkait dengan subnet. Pilihan ini nyaman, terutama untuk sistem pengembangan dan pengujian, karena Anda tidak perlu melacak subnet IDs atau AZs sambil menambahkan instance baru ke klon.
Sebagai alternatif, Anda dapat menentukan AZ saat Anda membuat instance Aurora DB untuk klon. AZ yang Anda tentukan harus dari himpunan AZs yang terkait dengan klon. Jika grup subnet DB yang Anda gunakan untuk klon hanya berisi dua subnet, maka Anda hanya dapat memilih dari yang AZs terkait dengan dua subnet tersebut. Pilihan ini menawarkan fleksibilitas dan ketahanan untuk sistem yang sangat tersedia, karena Anda dapat memastikan bahwa instance penulis dan instance pembaca siaga berbeda. AZs Atau jika Anda menambahkan pembaca tambahan ke cluster, Anda dapat memastikan bahwa mereka tersebar di tigaAZs. Dengan begitu, bahkan dalam kasus kegagalan AZ yang jarang terjadi, Anda masih memiliki instance penulis dan instance pembaca lain di dua lainnyaAZs.
Contoh berikut menambahkan instance DB yang disediakan ke klaster Aurora SQL Postgre kloning yang menggunakan grup subnet DB kustom.
aws rds create-db-instance --db-cluster-identifier
my_aurora_postgresql_clone
\ --db-instance-identifiermy_postgres_instance
\ --db-subnet-group-namemy_new_subnet
\ --engine aurora-postgresql \ --db-instance-class db.t4g.medium
Contoh berikut menunjukkan sebagian output dari perintah tersebut.
{
'DBInstanceIdentifier': 'my_postgres_instance
',
'DBClusterIdentifier': 'my_aurora_postgresql_clone
',
'DBInstanceClass': 'db.t4g.medium',
'DBInstanceStatus': 'creating'
...
}
Contoh berikut menambahkan instance Aurora Serverless v2 DB ke SQL klon Aurora My yang menggunakan grup subnet DB kustom. Untuk dapat menggunakan instance v2 Tanpa Server, pastikan untuk menentukan --serverless-v2-scaling-configuration
opsi untuk restore-db-cluster-to-point-in-time
perintah, seperti yang ditunjukkan pada contoh sebelumnya.
aws rds create-db-instance --db-cluster-identifier
my_aurora_mysql_clone
\ --db-instance-identifiermy_mysql_instance
\ --db-subnet-group-namemy_other_new_subnet
\ --engine aurora-mysql \ --db-instance-class db.serverless
Contoh berikut menunjukkan sebagian output dari perintah tersebut.
{
'DBInstanceIdentifier': 'my_mysql_instance
',
'DBClusterIdentifier': 'my_aurora_mysql_clone
',
'DBInstanceClass': 'db.serverless',
'DBInstanceStatus': 'creating'
...
}
Langkah 3: Membangun konektivitas dari sistem klien ke klon
Jika Anda sudah terhubung ke cluster Aurora dari sistem klien, Anda mungkin ingin mengizinkan jenis konektivitas yang sama ke klon baru. Misalnya, Anda mungkin tersambung ke cluster asli dari instans atau instance Amazon Cloud9. EC2 Untuk mengizinkan koneksi dari sistem klien yang sama, atau yang baru yang Anda buat di tujuanVPC, siapkan grup subnet DB dan grup VPC keamanan yang setara seperti di VPC file. Kemudian tentukan grup subnet dan grup keamanan saat Anda membuat klon.
Contoh berikut menyiapkan klon Aurora Serverless v2. Konfigurasi itu didasarkan pada kombinasi --engine-mode provisioned
dan --serverless-v2-scaling-configuration
saat membuat cluster DB, dan kemudian --db-instance-class db.serverless
saat membuat setiap instans DB di cluster. Mode provisioned
mesin adalah default, sehingga Anda dapat menghilangkan opsi itu jika Anda mau.
aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier serverless-sql-postgres\ --db-cluster-identifier serverless-sql-postgres-clone \ --db-subnet-group-name 'default-vpc-1234' \ --vpc-security-group-ids 'sg-4567' \ --serverless-v2-scaling-configuration 'MinCapacity=0.5,MaxCapacity=16' \ --restore-type copy-on-write \ --use-latest-restorable-time
Kemudian, saat membuat instance DB di klon, tentukan opsi yang sama--db-subnet-group-name
. Secara opsional, Anda dapat menyertakan --availability-zone
opsi dan menentukan salah satu yang AZs terkait dengan subnet dalam grup subnet itu. AZ itu juga harus menjadi salah satu yang AZs terkait dengan cluster asli.
aws rds create-db-instance \ --db-cluster-identifier serverless-sql-postgres-clone \ --db-instance-identifier serverless-sql-postgres-clone-instance \ --db-instance-class db.serverless \ --db-subnet-group-name 'default-vpc-987zyx654' \ --availability-zone 'us-east-1c' \ --engine aurora-postgresql
Memindahkan cluster dari subnet publik ke subnet pribadi
Anda dapat menggunakan kloning untuk memigrasikan klaster antara subnet publik dan pribadi. Anda dapat melakukan ini saat menambahkan lapisan keamanan tambahan ke aplikasi Anda sebelum menerapkannya ke produksi. Untuk contoh ini, Anda seharusnya sudah menyiapkan subnet pribadi dan NAT gateway sebelum memulai proses kloning dengan Aurora.
Untuk langkah-langkah yang melibatkan Aurora, Anda dapat mengikuti langkah-langkah umum yang sama seperti pada contoh sebelumnya untuk dan. Mengumpulkan informasi tentang lingkungan jaringan Membuat klon Aurora dengan pengaturan jaringan baru Perbedaan utama adalah bahwa bahkan jika Anda memiliki subnet publik yang memetakan ke semua AZs dari cluster asli, sekarang Anda harus memverifikasi bahwa Anda memiliki cukup subnet pribadi untuk cluster Aurora, dan bahwa subnet tersebut terkait dengan semua yang sama yang AZs digunakan untuk penyimpanan Aurora di cluster asli. Mirip dengan kasus penggunaan kloning lainnya, Anda dapat membuat grup subnet DB untuk klon dengan tiga atau dua subnet pribadi yang terkait dengan yang diperlukan. AZs Namun, jika Anda menggunakan dua subnet pribadi di grup subnet DB, Anda harus memiliki subnet pribadi ketiga yang terkait dengan AZ ketiga yang digunakan untuk penyimpanan Aurora di cluster asli.
Anda dapat berkonsultasi dengan daftar periksa ini untuk memverifikasi bahwa semua persyaratan ada untuk melakukan operasi kloning jenis ini.
-
Catat tiga AZs yang terkait dengan cluster asli. Untuk petunjuk, silakan lihat Langkah 1: Periksa Availability Zones dari cluster asli.
-
Rekam tiga atau dua AZs yang terkait dengan subnet publik di grup subnet DB untuk cluster asli. Untuk petunjuk, silakan lihat Langkah 3: Periksa subnet dari cluster asli.
-
Buat subnet pribadi yang memetakan ke ketiga AZs yang terkait dengan cluster asli. Juga lakukan pengaturan jaringan lainnya, seperti membuat NAT gateway, untuk dapat berkomunikasi dengan subnet pribadi. Untuk petunjuk, lihat Membuat subnet di Panduan Pengguna Amazon Virtual Private Cloud.
-
Buat grup subnet DB baru yang berisi tiga atau dua subnet pribadi yang terkait dengan AZs dari titik pertama. Untuk petunjuk, silakan lihat Langkah 2: Buat grup subnet DB untuk klon.
Ketika semua prasyarat sudah ada, Anda dapat menjeda aktivitas database pada cluster asli saat Anda membuat klon dan mengalihkan aplikasi Anda untuk menggunakannya. Setelah klon dibuat dan Anda memverifikasi bahwa Anda dapat terhubung ke sana, menjalankan kode aplikasi Anda, dan sebagainya, Anda dapat menghentikan penggunaan cluster asli.
nd-to-end Contoh E membuat VPC klon silang
Membuat klon yang berbeda VPC dari aslinya menggunakan langkah-langkah umum yang sama seperti pada contoh sebelumnya. Karena VPC ID adalah properti dari subnet, Anda tidak benar-benar menentukan VPC ID sebagai parameter saat menjalankan salah satu RDS CLI perintah. Perbedaan utamanya adalah Anda lebih mungkin perlu membuat subnet baru, subnet baru yang dipetakan ke spesifikAZs, grup VPC keamanan, dan grup subnet DB baru. Itu terutama benar jika ini adalah cluster Aurora pertama yang Anda buat di dalamnya. VPC
Anda dapat berkonsultasi dengan daftar periksa ini untuk memverifikasi bahwa semua persyaratan ada untuk melakukan operasi kloning jenis ini.
-
Catat tiga AZs yang terkait dengan cluster asli. Untuk petunjuk, silakan lihat Langkah 1: Periksa Availability Zones dari cluster asli.
-
Rekam tiga atau dua AZs yang terkait dengan subnet dalam grup subnet DB untuk cluster asli. Untuk petunjuk, silakan lihat Langkah 2: Periksa grup subnet DB dari cluster asli.
-
Buat subnet yang memetakan ke ketiga AZs yang terkait dengan cluster asli. Untuk petunjuk, silakan lihat Langkah 1: Buat subnet untuk klon.
-
Lakukan pengaturan jaringan lainnya, seperti menyiapkan grup VPC keamanan, untuk sistem klien, server aplikasi, dan sebagainya untuk dapat berkomunikasi dengan instans DB di klon. Untuk petunjuk, silakan lihat Mengontrol akses dengan grup keamanan.
-
Buat grup subnet DB baru yang berisi tiga atau dua subnet yang terkait dengan AZs dari titik pertama. Untuk petunjuk, silakan lihat Langkah 2: Buat grup subnet DB untuk klon.
Ketika semua prasyarat sudah ada, Anda dapat menjeda aktivitas database pada cluster asli saat Anda membuat klon dan mengalihkan aplikasi Anda untuk menggunakannya. Setelah klon dibuat dan Anda memverifikasi bahwa Anda dapat terhubung ke sana, menjalankan kode aplikasi Anda, dan sebagainya, Anda dapat mempertimbangkan apakah akan menjaga kedua asli dan klon berjalan, atau menghentikan penggunaan cluster asli.
Contoh Linux berikut menunjukkan urutan AWS CLI operasi untuk mengkloning cluster Aurora DB dari VPC satu ke yang lain. Beberapa bidang yang tidak relevan dengan contoh tidak ditampilkan dalam output perintah.
Pertama, kami memeriksa IDs sumber dan tujuanVPCs. Nama deskriptif yang Anda tetapkan VPC saat Anda membuatnya direpresentasikan sebagai tag dalam metadata. VPC
$
aws ec2 describe-vpcs --query '*[].[VpcId,Tags]'[ [ 'vpc-0f0c0fc0000b0ffb0', [ { 'Key': 'Name', 'Value': 'clone-vpc-source' } ] ], [ 'vpc-9e99d9f99a999bd99', [ { 'Key': 'Name', 'Value': 'clone-vpc-dest' } ] ] ]
Cluster asli sudah ada di sumbernyaVPC. Untuk mengatur klon menggunakan set yang sama AZs untuk penyimpanan Aurora, kami memeriksa AZs yang digunakan oleh cluster asli.
$
aws rds describe-db-clusters --db-cluster-identifier original-cluster \ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' --output textus-east-1c us-east-1d us-east-1f
Kami memastikan ada subnet yang sesuai dengan yang AZs digunakan oleh cluster asli:us-east-1c
,us-east-1d
, danus-east-1f
.
$
aws ec2 create-subnet --vpc-id vpc-9e99d9f99a999bd99 \ --availability-zone us-east-1c --cidr-block 10.0.0.128/28{ 'Subnet': { 'AvailabilityZone': 'us-east-1c', 'SubnetId': 'subnet-3333a33be3ef3e333', 'VpcId': 'vpc-9e99d9f99a999bd99', } }
$
aws ec2 create-subnet --vpc-id vpc-9e99d9f99a999bd99 \ --availability-zone us-east-1d --cidr-block 10.0.0.160/28{ 'Subnet': { 'AvailabilityZone': 'us-east-1d', 'SubnetId': 'subnet-4eeb444cd44b4d444', 'VpcId': 'vpc-9e99d9f99a999bd99', } }
$
aws ec2 create-subnet --vpc-id vpc-9e99d9f99a999bd99 \ --availability-zone us-east-1f --cidr-block 10.0.0.224/28{ 'Subnet': { 'AvailabilityZone': 'us-east-1f', 'SubnetId': 'subnet-66eea6666fb66d66c', 'VpcId': 'vpc-9e99d9f99a999bd99', } }
Contoh ini menegaskan bahwa ada subnet yang memetakan ke yang diperlukan AZs di tujuanVPC.
aws ec2 describe-subnets --query 'sort_by(*[] | [?VpcId == `vpc-9e99d9f99a999bd99`] | [].{SubnetId:SubnetId,VpcId:VpcId,AvailabilityZone:AvailabilityZone}, &AvailabilityZone)' --output table
--------------------------------------------------------------------------- | DescribeSubnets | +------------------+----------------------------+-------------------------+ | AvailabilityZone | SubnetId | VpcId | +------------------+----------------------------+-------------------------+ | us-east-1a | subnet-000ff0e00000c0aea | vpc-9e99d9f99a999bd99 | | us-east-1b | subnet-1111d111111ca11b1 | vpc-9e99d9f99a999bd99 | | us-east-1c | subnet-3333a33be3ef3e333 | vpc-9e99d9f99a999bd99 | | us-east-1d | subnet-4eeb444cd44b4d444 | vpc-9e99d9f99a999bd99 | | us-east-1f | subnet-66eea6666fb66d66c | vpc-9e99d9f99a999bd99 | +------------------+----------------------------+-------------------------+
Sebelum membuat cluster Aurora DB diVPC, Anda harus memiliki grup subnet DB dengan subnet yang memetakan ke yang digunakan AZs untuk penyimpanan Aurora. Saat Anda membuat cluster biasa, Anda dapat menggunakan set tigaAZs. Saat Anda mengkloning cluster yang ada, grup subnet harus cocok setidaknya dua dari tiga AZs yang digunakannya untuk penyimpanan Aurora.
$
aws rds create-db-subnet-group \ --db-subnet-group-name subnet-group-in-other-vpc \ --subnet-ids '["subnet-3333a33be3ef3e333","subnet-4eeb444cd44b4d444","subnet-66eea6666fb66d66c"]' \ --db-subnet-group-description 'DB subnet group with 3 subnets: subnet-3333a33be3ef3e333,subnet-4eeb444cd44b4d444,subnet-66eea6666fb66d66c'{ 'DBSubnetGroup': { 'DBSubnetGroupName': 'subnet-group-in-other-vpc', 'DBSubnetGroupDescription': 'DB subnet group with 3 subnets: subnet-3333a33be3ef3e333,subnet-4eeb444cd44b4d444,subnet-66eea6666fb66d66c', 'VpcId': 'vpc-9e99d9f99a999bd99', 'SubnetGroupStatus': 'Complete', 'Subnets': [ { 'SubnetIdentifier': 'subnet-4eeb444cd44b4d444', 'SubnetAvailabilityZone': { 'Name': 'us-east-1d' } }, { 'SubnetIdentifier': 'subnet-3333a33be3ef3e333', 'SubnetAvailabilityZone': { 'Name': 'us-east-1c' } }, { 'SubnetIdentifier': 'subnet-66eea6666fb66d66c', 'SubnetAvailabilityZone': { 'Name': 'us-east-1f' } } ] } }
Sekarang subnet dan grup subnet DB sudah ada. Contoh berikut menunjukkan restore-db-cluster-to-point-in-time
yang mengkloning cluster. --db-subnet-group-name
Opsi ini mengaitkan klon dengan kumpulan subnet yang benar yang memetakan ke set yang benar AZs dari cluster asli.
$
aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier original-cluster \ --db-cluster-identifier clone-in-other-vpc \ --restore-type copy-on-write --use-latest-restorable-time \ --db-subnet-group-name subnet-group-in-other-vpc{ 'DBClusterIdentifier': 'clone-in-other-vpc', 'DBSubnetGroup': 'subnet-group-in-other-vpc', 'Engine': 'aurora-postgresql', 'EngineVersion': '15.4', 'Status': 'creating', 'Endpoint': 'clone-in-other-vpc.cluster-c0abcdef.us-east-1.rds.amazonaws.com' }
Contoh berikut menegaskan bahwa penyimpanan Aurora di klon menggunakan set yang sama AZs seperti di cluster asli.
$
aws rds describe-db-clusters --db-cluster-identifier clone-in-other-vpc \ --query 'sort_by(*[].AvailabilityZones[].{Zone:@},&Zone)' --output textus-east-1c us-east-1d us-east-1f
Pada titik ini, Anda dapat membuat instance DB untuk klon. Pastikan bahwa grup VPC keamanan yang terkait dengan setiap instance memungkinkan koneksi dari rentang alamat IP yang Anda gunakan untuk EC2 instance, server aplikasi, dan sebagainya yang ada di tujuanVPC.