

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

# Migrasikan Db2 untuk LUW ke Amazon EC2 dengan pemulihan bencana ketersediaan tinggi
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery"></a>

*Feng Cai, Aruna Gangireddy, dan Venkatesan Govindan, Amazon Web Services*

## Ringkasan
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-summary"></a>

Saat pelanggan memigrasikan beban kerja IBM Db2 LUW (Linux, UNIX, dan Windows) mereka ke Amazon Web Services (AWS), menggunakan Amazon Elastic Compute Cloud (Amazon EC2) dengan model Bring Your Own License (BYOL) adalah cara tercepat. Namun, memigrasikan sejumlah besar data dari Db2 lokal ke AWS dapat menjadi tantangan, terutama ketika jendela pemadaman pendek. Banyak pelanggan mencoba mengatur jendela pemadaman menjadi kurang dari 30 menit, yang menyisakan sedikit waktu untuk database itu sendiri.

Pola ini mencakup cara menyelesaikan migrasi Db2 dengan jendela pemadaman pendek dengan menggunakan Db2 high availability disaster recovery (HADR). Pendekatan ini berlaku untuk database Db2 yang berada di platform Linux kecil dan tidak menggunakan Fitur Partisi Data (DPF).

## Prasyarat dan batasan
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Instans Db2 yang berjalan pada instans Amazon EC2 yang cocok dengan tata letak sistem file lokal
+ Bucket Amazon Simple Storage Service (Amazon S3) yang dapat diakses oleh instans EC2
+ Kebijakan dan peran AWS Identity and Access Management (IAM) untuk melakukan panggilan terprogram ke Amazon S3
+ Zona waktu dan jam sistem yang disinkronkan di Amazon EC2 dan server lokal
+ Jaringan lokal yang terhubung ke AWS melalui AWS [ Site-to-SiteVPN atau AWS](https://aws.amazon.com/vpn/) [Direct](https://aws.amazon.com/directconnect/) Connect
+ Komunikasi antara server lokal dan Amazon EC2 di port HADR

**Keterbatasan**
+ [Instans lokal Db2 dan Amazon EC2 harus berada di keluarga platform yang sama.](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ HADR tidak didukung dalam lingkungan database yang dipartisi.
+ HADR tidak mendukung penggunaan mentah I/O (akses disk langsung) untuk file log database.
+ HADR tidak mendukung logging tak terbatas.
+ `LOGINDEXBUILD`harus disetel ke`YES`, yang akan meningkatkan penggunaan log untuk membangun kembali indeks.
+ Beban kerja lokal Db2 harus dicatat. Tetapkan `blocknonlogged=yes` dalam konfigurasi database untuk memblokir transaksi yang tidak tercatat.

**Versi produk**
+ Db2 untuk LUW versi 11.5.9 dan yang lebih baru

## Arsitektur
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-architecture"></a>

**Tumpukan teknologi sumber**
+ Db2 di Linux x86\_64****

**Tumpukan teknologi target**
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Amazon S3
+ AWS Site-to-Site VPN

**Arsitektur target**

Dalam diagram berikut, Db2 di tempat berjalan `db2-server1` sebagai primer. Ini memiliki dua target siaga HADR. Satu target siaga ada di tempat dan bersifat opsional. Target siaga lainnya,`db2-ec2`, ada di Amazon EC2. Setelah database dipotong ke AWS, `db2-ec2` menjadi yang utama.

![Alur kerja untuk bermigrasi dengan jendela pemadaman singkat Db2 lokal dengan menggunakan Db2 HADR.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2db43e4b-f0ea-4a92-96da-4cafb7d3368b/images/5295420e-3cd8-4127-9a18-ade971c36339.png)


1. Log dialirkan dari database lokal utama ke database lokal siaga.

1. Menggunakan Db2 HADR, log dialirkan dari database lokal utama melalui Site-to-Site VPN ke Db2 di Amazon EC2.

1. Pencadangan Db2 dan log arsip dikirim dari database lokal utama ke bucket S3 di AWS.

## Alat
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-tools"></a>

**Layanan AWS**
+ [AWS Command Line Interface (AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) menautkan jaringan internal Anda ke lokasi Direct Connect melalui kabel serat optik Ethernet standar. Dengan koneksi ini, Anda dapat membuat antarmuka virtual langsung ke layanan AWS publik sambil melewati penyedia layanan internet di jalur jaringan Anda.
+ [Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas](https://docs.aws.amazon.com/ec2/) komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
+ [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) membantu Anda meneruskan lalu lintas antar instans yang Anda luncurkan di AWS dan jaringan jarak jauh Anda sendiri.

**Alat-alat lainnya**
+ [db2cli adalah perintah CLI interaktif](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) Db2.

## Praktik terbaik
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-best-practices"></a>
+ Pada database target, gunakan [titik akhir gateway untuk Amazon](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) S3 untuk mengakses gambar cadangan database dan file log di Amazon S3.
+ Pada database sumber, gunakan [AWS PrivateLink untuk Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) untuk mengirim gambar cadangan database dan file log ke Amazon S3.

## Epik
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-epics"></a>

### Tetapkan variabel lingkungan
<a name="set-environment-variables"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tetapkan variabel lingkungan. | Pola ini menggunakan nama dan port berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)<br />Anda dapat mengubahnya agar sesuai dengan lingkungan Anda. | DBA | 

### Konfigurasikan server Db2 lokal
<a name="configure-the-on-premises-db2-server"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan AWS CLI. | Untuk mengunduh dan menginstal AWS CLI versi terbaru, jalankan perintah berikut:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrator Linux | 
| Siapkan tujuan lokal untuk log arsip Db2. | Kondisi seperti pekerjaan batch pembaruan berat dan perlambatan jaringan dapat menyebabkan server siaga HADR mengalami lag. Untuk catch up, server siaga membutuhkan log transaksi dari server utama. Urutan tempat untuk meminta log adalah sebagai berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)<br />Dalam pengaturan ini, `/db2logs` diatur oleh `LOGARCHMETH2` pada sumber sebagai area pementasan. Log yang diarsipkan di direktori ini akan disinkronkan ke Amazon S3 dan diakses oleh Db2 di Amazon EC2. Pola yang digunakan `LOGARCHMETH2` karena `LOGARCHMETH1` mungkin telah dikonfigurasi untuk menggunakan alat vendor pihak ketiga yang tidak dapat diakses oleh perintah AWS CLI:<pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Jalankan backup database online. | Jalankan backup database online, dan simpan ke sistem file backup lokal:<pre>db2 backup db sample online to /backup </pre> | DBA | 

### Siapkan bucket S3 dan kebijakan IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat ember S3. | Buat bucket S3 untuk server lokal untuk mengirim image Db2 cadangan dan file log ke AWS. Bucket akan diakses oleh Amazon EC2:<pre>aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1 </pre> | Administrator AWS | 
| Buat kebijakan IAM. | `db2bucket.json`File berisi kebijakan IAM untuk mengakses bucket S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::hadrmig-db2/*",<br />                "arn:aws:s3:::hadrmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre><br />Untuk membuat kebijakan, gunakan perintah AWS CLI berikut:<pre>aws iam create-policy \<br />      --policy-name db2s3hapolicy \<br />      --policy-document file://db2bucket.json </pre><br />Output JSON menunjukkan Nama Sumber Daya Amazon (ARN) untuk kebijakan, yang mewakili ID `aws_account_id` akun Anda:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"</pre> | Administrator AWS, administrator sistem AWS | 
| Lampirkan kebijakan IAM ke peran IAM. | Biasanya, instans EC2 dengan Db2 berjalan akan memiliki peran IAM yang ditetapkan oleh administrator sistem. Jika tidak ada peran IAM yang ditetapkan, Anda dapat memilih **Ubah peran IAM** di konsol Amazon EC2.<br />Lampirkan kebijakan IAM ke peran IAM yang terkait dengan instans EC2. Setelah kebijakan dilampirkan, instans EC2 dapat mengakses bucket S3:<pre>aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole   </pre> |  | 

### Kirim gambar cadangan database sumber dan file log ke Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan AWS CLI di server Db2 lokal. | Konfigurasikan AWS CLI dengan `Access Key ID` dan `Secret Access Key` yang Anda buat sebelumnya:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre> | Administrator AWS, administrator sistem AWS | 
| Kirim gambar cadangan ke Amazon S3. | Sebelumnya, cadangan database online disimpan ke direktori `/backup` lokal. Untuk mengirim gambar cadangan itu ke bucket S3, jalankan perintah berikut:<pre>aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup</pre> | Administrator AWS, administrator sistem AWS | 
| Kirim log arsip Db2 ke Amazon S3. | Sinkronkan log arsip Db2 lokal dengan bucket Amazon S3 yang dapat diakses oleh instans Db2 target di Amazon EC2:<pre>aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS</pre><br />Jalankan perintah ini secara berkala dengan menggunakan cron atau alat penjadwalan lainnya. Frekuensi tergantung pada seberapa sering database sumber mengarsipkan file log transaksi. |  | 

### Connect Db2 di Amazon EC2 ke Amazon S3 dan mulai sinkronisasi database awal
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-initial-database-sync"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat PKCS12 keystore. | Db2 menggunakan keystore enkripsi Public-Key Cryptography Standards (PKCS) untuk menjaga kunci akses AWS tetap aman. Buat keystore, dan konfigurasikan sumber Db2 untuk menggunakannya:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Buat alias akses penyimpanan Db2. | Db2 menggunakan alias akses penyimpanan untuk mengakses Amazon S3 secara langsung dengan`INGEST`,,, `LOAD` atau perintah. `BACKUP DATABASE` `RESTORE DATABASE` <br />Karena Anda menetapkan peran IAM ke instans EC2, `USER` dan tidak `PASSWORD` diperlukan:<br />`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`<br />Misalnya, skrip Anda mungkin terlihat seperti berikut: <br />`db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'" ` | DBA | 
| Atur area pementasan. | Sebaiknya gunakan`DB2_ENABLE_COS_SDK=ON`,`DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore`, dan tautan ke `awssdk` perpustakaan untuk melewati area pementasan Amazon S3 untuk pencadangan dan pemulihan basis data:<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2stop<br />db2start</pre> | DBA | 
| Kembalikan database dari gambar cadangan. | Kembalikan database target di Amazon EC2 dari gambar cadangan di bucket S3:<pre>db2 create db sample on /data1<br />db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing</pre> | DBA | 

### Siapkan HADR tanpa HADR di tempat
<a name="set-up-hadr-with-no-hadr-on-premises"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan server Db2 lokal sebagai yang utama. | Memperbarui pengaturan konfigurasi database untuk HADR pada `db2-server1` (sumber lokal) sebagai primer. Setel `HADR_SYNCMODE` ke `SUPERASYNC` mode, yang memiliki waktu respons transaksi terpendek:<br />`db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully`<br />Beberapa penundaan jaringan antara pusat data lokal dan AWS diharapkan terjadi. (Anda dapat menetapkan `HADR_SYNCMODE` nilai yang berbeda berdasarkan keandalan jaringan. Untuk informasi selengkapnya, lihat bagian [Sumber daya terkait](#migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources)). | DBA | 
| Ubah tujuan arsip log database target. | Ubah tujuan arsip log database target agar sesuai dengan lingkungan Amazon EC2:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF<br />DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully</pre> | DBA | 
| Konfigurasikan HADR untuk Db2 di server Amazon EC2. | Perbarui konfigurasi database untuk HADR aktif `db2-ec2` sebagai siaga:<br />`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully` | DBA | 
| Verifikasi pengaturan HADR. | Verifikasi parameter HADR pada sumber dan target server Db2.<br />Untuk memverifikasi pengaturan`db2-server1`, jalankan perintah berikut:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-ec2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50012<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre><br /> Untuk memverifikasi pengaturan`db2-ec2`, jalankan perintah berikut:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre><br />`HADR_REMOTE_SVC`Parameter `HADR_LOCAL_HOST``HADR_LOCAL_SVC`,`HADR_REMOTE_HOST`,, dan menunjukkan pengaturan HADR satu primer dan satu siaga. | DBA | 
| Mulai instance Db2 HADR. | Mulai instance Db2 HADR di server siaga terlebih dahulu: `db2-ec2`<pre>db2 start hadr on db sample as standby<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre><br />Mulai Db2 HADR di server utama (sumber): `db2-server1`<pre>db2 start hadr on db sample as primary<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre><br />Koneksi HADR antara Db2 di tempat dan di Amazon EC2 kini telah berhasil dibuat. Server utama Db2 `db2-server1` memulai streaming catatan log transaksi `db2-ec2` secara real time. | DBA | 

### Mengatur HADR ketika HADR ada di tempat
<a name="set-up-hadr-when-hadr-exists-on-premises"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tambahkan Db2 di Amazon EC2 sebagai siaga tambahan. | Jika HADR berjalan pada instans Db2 lokal, Anda dapat menambahkan Db2 di Amazon EC2 sebagai `HADR_TARGET_LIST` siaga tambahan menggunakan dengan menjalankan perintah berikut pada: `db2-ec2`<br />`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | DBA | 
| Tambahkan informasi siaga tambahan ke server lokal. | Pembaruan `HADR_TARGET_LIST` pada dua server lokal (primer dan siaga).<br />`db2-server1`Aktif, jalankan kode berikut:<br />`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.`<br />`db2-server2`Aktif, jalankan kode berikut:<br />`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.` | DBA | 
| Verifikasi pengaturan HADR. | Verifikasi parameter HADR pada sumber dan target server Db2.<br />`db2-server1`Aktif, jalankan kode berikut:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50011<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre><br />`db2-server2`Aktif, jalankan kode berikut:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50011<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre><br />`db2-ec2`Aktif, jalankan kode berikut:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre><br />`HADR_TARGET_LIST`Parameter `HADR_LOCAL_HOST``HADR_LOCAL_SVC`,`HADR_REMOTE_HOST`,`HADR_REMOTE_SVC`,, dan menunjukkan satu pengaturan HADR utama dan dua siaga. |  | 
| Berhenti dan mulai Db2 HADR. | `HADR_TARGET_LIST`sekarang diatur di ketiga server. Setiap server Db2 mengetahui dua lainnya. Hentikan dan mulai ulang HADR (pemadaman singkat) untuk memanfaatkan konfigurasi baru.<br />`db2-server1`Aktif, jalankan perintah berikut:<pre>db2 stop hadr on db sample<br />db2 deactivate db sample<br />db2 activate db sample</pre><br />`db2-server2`Aktif, jalankan perintah berikut:<pre>db2 deactivate db sample<br />db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre><br />`db2-ec2`Aktif, jalankan perintah berikut:<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre><br />`db2-server1`Aktif, jalankan perintah berikut:<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre><br />Koneksi HADR antara Db2 di tempat dan di Amazon EC2 sekarang berhasil dibuat. Server utama Db2 `db2-server1` memulai streaming catatan log transaksi ke keduanya `db2-server2` dan `db2-ec2` secara real time.  | DBA | 

### Jadikan Db2 di Amazon EC2 sebagai yang utama selama jendela cutover
<a name="make-db2-on-amazon-ec2-as-primary-during-the-cutover-window"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Pastikan tidak ada lag HADR di server siaga. | Periksa status HADR dari server `db2-server1` utama. Jangan khawatir ketika `HADR_STATE` dalam `REMOTE_CATCHUP` status, yang normal ketika `HADR_SYNCMODE` diatur ke`SUPERASYNC`. `PRIMARY_LOG_TIME`Dan `STANDBY_REPLAY_LOG_TIME` menunjukkan bahwa mereka sinkron:<pre>db2pd -hadr -db sample<br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL<br />                        HADR_SYNCMODE = SUPERASYNC<br />                           STANDBY_ID = 2<br />                        LOG_STREAM_ID = 0<br />                           HADR_STATE = REMOTE_CATCHUP<br />.....<br />                     PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />                     STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />              STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)</pre> | DBA | 
| Jalankan pengambilalihan HADR. | Untuk menyelesaikan migrasi, buat database `db2-ec2` utama dengan menjalankan perintah pengambilalihan HADR. Gunakan perintah `db2pd` untuk memverifikasi `HADR_ROLE` nilai:<pre>db2 TAKEOVER HADR ON DATABASE sample<br />DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.<br /><br />db2pd -hadr -db sample<br />Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988<br /><br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL</pre><br />Untuk menyelesaikan migrasi ke AWS, arahkan koneksi aplikasi ke Db2 di Amazon EC2. |  | 

## Pemecahan masalah
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Jika Anda menggunakan NAT untuk alasan firewall dan keamanan, host dapat memiliki dua alamat IP (satu internal dan satu eksternal), yang dapat menyebabkan kegagalan pemeriksaan alamat IP HADR. `START HADR ON DATABASE`Perintah akan mengembalikan pesan berikut:<br />`HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.` | Untuk [mendukung HADR di lingkungan NAT,](https://www.ibm.com/docs/en/db2/11.5?topic=support-hadr-nat) Anda dapat mengonfigurasi `HADR_LOCAL_HOST` dengan alamat internal dan eksternal. Misalnya, jika server Db2 memiliki nama internal `host1` dan nama eksternal`host1E`, `HADR_LOCAL_HOST` bisa. `HADR_LOCAL_HOST: "host1 \| host1E"` | 

## Sumber daya terkait
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources"></a>
+ [Operasi pencadangan dan pemulihan Db2 antara sistem operasi dan platform perangkat keras yang berbeda](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Mengatur Db2 STORAGE ACCESS ALIAS dan REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Pemulihan bencana ketersediaan tinggi Db2](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr)
+ [hadr\_syncmode - Mode sinkronisasi HADR untuk penulisan log dalam parameter konfigurasi status rekan](https://www.ibm.com/docs/en/db2/11.5?topic=dcp-hadr-syncmode-hadr-synchronization-mode-log-writes-in-peer-state)