

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

# Ikhtisar DR Orchestrator Framework
<a name="dr-orchestrator-framework-overview"></a>

DR Orchestrator Framework menyediakan solusi satu-klik untuk mengatur dan mengotomatiskan DR Lintas wilayah untuk database. AWS Ini menggunakan [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)dan [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)untuk melakukan langkah-langkah yang diperlukan selama failover dan failback. Mesin status Step Functions memberikan dasar untuk pengambilan keputusan dalam desain orkestrator. Operasi API untuk melakukan tindakan failover atau failback dikodekan ke dalam fungsi Lambda yang dipanggil dari dalam mesin status. Fungsi Lambda dijalankan [AWS SDK untuk Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) APIs untuk berinteraksi dengan AWS database.

DR Orchestrator Framework berisi dua mesin status utama yang sesuai dengan fase failover dan failback.

Untuk Amazon RDS, fase failover mempromosikan replika baca RDS lintas wilayah menjadi instans DB mandiri. Untuk Amazon Aurora, ketika Wilayah utama turun selama pemadaman yang jarang dan tidak terduga, simpul penulisnya tidak tersedia. Replikasi antara node penulis dan cluster sekunder berhenti. Anda harus melepaskan cluster sekunder dari database global dan mempromosikannya sebagai cluster mandiri. Aplikasi dapat menghubungkan dan mengirim lalu lintas tulis ke cluster mandiri. Anda dapat menggunakan proses yang sama ini untuk [beralih ke](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html) cluster DB primer dari database global ke Regions sekunder.  Gunakan pendekatan ini untuk skenario terkontrol seperti berikut:
+ Pemeliharaan operasional
+ Prosedur operasional yang direncanakan
+ Promosi klaster sekunder Amazon ElastiCache (Redis OSS) sebagai klaster utama baru Anda

Fase failback menetapkan replikasi langsung data antara Wilayah primer hidup dan Wilayah sekunder baru.

Sangat penting untuk memahami bahwa DR Orchestrator hanya berlaku untuk database. Semua aplikasi yang mereferensikan database ini dan berada di Wilayah yang sama mungkin memerlukan solusi failover tandem yang terpisah. Setelah database gagal ke Wilayah sekunder, aplikasi perlu diperbarui untuk terhubung ke instance database baru, yang akan berfungsi sebagai sumber data.

## Proses failover
<a name="failover-process"></a>

Untuk melakukan failover, jalankan `DR Orchestrator FAILOVER` state machine. Pada tahap ini, database sekunder sudah ada di Wilayah sekunder, baik sebagai replika baca (Amazon RDS) atau sebagai cluster sekunder (Amazon Aurora). Ketika Anda menjalankan mesin `DR Orchestrator FAILOVER` negara, itu mempromosikan database sekunder untuk menjadi yang utama.

### Arsitektur `DR Orchestrator FAILOVER`
<a name="failover-architecture"></a>

Diagram berikut menunjukkan konsep proses failover untuk Amazon Aurora saat menggunakan DR Orchestrator. Amazon Aurora dan Amazon ElastiCache menggunakan alur kerja yang sama tetapi dengan mesin status dan fungsi Lambda yang berbeda.



![Diagram arsitektur dari proses failover lintas wilayah.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/automate-dr-solution-relational-database/images/dr-orchestrator-failover.png)


1. Mesin `DR Orchestrator FAILOVER` status membaca parameter input JSON.

1. Berdasarkan `resourceType`**** parameter, mesin negara memanggil mesin negara lain:`Promote RDS Read Replica`,`Failover Aurora Cluster`, atau`Failover ElastiCache`. Jika lebih dari satu sumber daya dilewatkan dalam input, mesin status ini berjalan secara paralel.

1. Mesin `Failover Aurora Cluster`**** negara memanggil fungsi Lambda di masing-masing dari tiga langkah berikut. 

1. Fungsi `Resolve imports`**** Lambda menyelesaikan `"! import <export-variable-name>"` dengan nilai aktual dari template. `App-Stack` AWS CloudFormation 

1. Fungsi **`Failover Aurora Cluster`******Lambda**** mempromosikan replika baca sebagai instans DB mandiri.

1. Fungsi **`Check Failover Status`**Lambda memeriksa status instans DB yang dipromosikan. Setelah status **TERSEDIA**, fungsi Lambda mengirimkan token sukses kembali ke mesin status panggilan dan selesai.

1. Anda dapat mengarahkan aplikasi Anda ke database mandiri di DR Region (`us-west-2`), yang sekarang menjadi database utama.

## Proses Failback
<a name="failback-process"></a>

Setelah Region (`us-east-1`) primer Anda aktif lagi, Anda dapat gagal kembali ke sana, sehingga database `us-east-1` menjadi yang utama lagi. Untuk memulai failback, jalankan mesin `DR Orchestrator FAILBACK` status. Seperti namanya, mesin status ini mulai mereplikasi perubahan di Region (`us-west-2`) primer baru Anda kembali ke Region (`us-east-1`) primer sebelumnya, yang bertindak sebagai sekunder saat ini.

Setelah replikasi dibuat antara dua Wilayah, Anda dapat memulai failback. Untuk gagal kembali dan kembali ke Region (`us-east-1`) primer asli Anda, jalankan mesin `DR Orchestrator FAILOVER` status di Region sekunder saat ini (`us-east-1`) untuk mempromosikannya ke Region primer.

### Arsitektur `DR Orchestrator FAILBACK`
<a name="failback-architecture"></a>

Diagram berikut menunjukkan konsep proses failback untuk Amazon Aurora saat menggunakan DR Orchestrator.



![Diagram arsitektur dari proses failback lintas wilayah.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/automate-dr-solution-relational-database/images/dr-orchestrator-failback.png)


1. Sebelum memulai failback, ambil snapshot DB manual untuk digunakan saat melakukan analisis akar penyebab (RCA).

   Selain itu`DeletionProtection`, nonaktifkan cluster Aurora di Region () `us-east-1` primer sebelumnya.

1. Mesin `DR Orchestrator FAILBACK` status membaca parameter input JSON.

1. Berdasarkan`resourceType`, mesin `DR Orchestrator FAILBACK` negara memanggil mesin `Create Aurora Secondary DB Cluster`**** negara.

1. Mesin `Create Aurora Secondary DB Cluster`**** negara memanggil fungsi Lambda di masing-masing dari lima langkah berikut.

1. Fungsi `Resolve import`**** Lambda menyelesaikan `"! import <export-variable-name>"` dengan nilai aktual dari template. `App-Stack` CloudFormation 

1. Fungsi `Delete DB Instance`**** Lambda menghapus contoh primer sebelumnya.

1. Fungsi `Check DB instance status`**** Lambda memeriksa `Delete DB Instance status` sampai DB dihapus.

1. ****Fungsi `Create Read Replica` Lambda membuat replika baca di Region sekunder dari instans DB yang ada di Region primer baru.

1. Fungsi `Check DB instance status`**** Lambda memeriksa status instans DB replika baca. Ketika status **TERSEDIA**, fungsi Lambda mengirimkan token sukses kembali ke mesin status panggilan, yang selesai.

## DR Orkestrator FAILOVER
<a name="dr-orchestrator-failover"></a>

Gunakan mesin `DR Orchestrator FAILOVER` negara dalam acara DR ketika Region utama (`us-east-1`) sedang down atau selama acara yang direncanakan seperti pemeliharaan operasional.

Fungsi ini dapat dipanggil untuk gagal melalui satu atau beberapa database secara paralel.



![Diagram mesin negara yang menunjukkan failover untuk jenis sumber daya yang berbeda.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/automate-dr-solution-relational-database/images/dr-orchestrator-failover-state-machine.jpg)


Mesin status menerima parameter dalam format JSON seperti yang ditunjukkan pada kode berikut:

```
{
  "StatePayload": [
    {
      "layer": 1,
      "resources": [
        {
          "resourceType": "PromoteRDSReadReplica",
          "resourceName": "Promote RDS MySQL Read Replica",
          "parameters": {
            "RDSInstanceIdentifier": "!Import rds-mysql-instance-identifier",
            "TargetClusterIdentifier": "!Import rds-mysql-instance-global-arn"
          }
        },
        {
          "resourceType": "FailoverElastiCacheCluster",
          "resourceName": "Failover ElastiCache Cluster",
          "parameters": {
            "GlobalReplicationGroupId": "!Import demo-redis-cluster-global-replication-group-id",
            "TargetRegion": "!Import demo-redis-cluster-target-region",
            "TargetReplicationGroupId": "!Import demo-redis-cluster-target-replication-group-id"
          }
        }
      ]
    }
  ]
}
```

### Rincian parameter
<a name="parameters"></a>

Tabel berikut menunjukkan parameter yang digunakan oleh mesin `DR Orchestrator FAILOVER` negara.


| Nama parameter | Deskripsi | Nilai yang diharapkan | 
| --- | --- | --- | 
| layer(diperlukan: nomor) | Urutan pemrosesan. Semua sumber daya yang didefinisikan dalam lapisan 1 harus dijalankan sebelum sumber daya lapisan 2 dijalankan. | 1 atau 2, dan seterusnya | 
| sumber daya (diperlukan: array kamus) | Semua sumber daya dalam satu lapisan berjalan secara paralel. | <pre>{<br />"resourceType":"String",<br />"resourceName":"String",<br />"parameters":{<br />"<param1>":"<!Import cft-output-1">,<br />....<br />}</pre> | 
| resourceType(diperlukan: string) | Jenis sumber daya untuk mengidentifikasi sumber daya | PromoteRDSReadReplica atau FailoverElastiCacheCluster | 
| resourceName(opsional: string) | Untuk mengidentifikasi portofolio aplikasi mana yang dimiliki sumber daya ini | Promote RDS for MySQL Read Replica | 
| parameter (diperlukan: array kamus) | Daftar parameter yang diperlukan untuk gagal atau gagal kembali AWS database | <pre>{<br />          "<param1>":"<!Import<br />                cft-output-1>",<br />                "<param2>":"<!Import<br />                cft-output-2>",<br />                }</pre> | 

## DR Orchestrator GAGAL
<a name="dr-orchestrator-failback"></a>

Gunakan mesin `DR Orchestrator FAILBACK` status setelah acara DR, ketika Region (`us-east-1`) primer sebelumnya sudah habis. Anda dapat membuat [replika baca](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.Create) untuk Amazon RDS di Wilayah primer sebelumnya dari Region (`us-west-2`) primer baru agar sesuai dengan strategi DR Anda. Karena ini adalah acara yang direncanakan, Anda dapat menjadwalkan kegiatan ini selama akhir pekan atau selama jam kerja di luar puncak dengan perkiraan waktu henti.



![Diagram mesin negara yang menunjukkan jenis sumber daya untuk failback.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/automate-dr-solution-relational-database/images/dr-orchestrator-failback-state-machine.jpg)


Mesin status menerima parameter dalam format JSON seperti yang ditunjukkan pada kode berikut:

```
{
  "StatePayload": [
    {
      "layer": 1,
      "resources": [
        {
          "resourceType": "CreateRDSReadReplica",
          "resourceName": "Create RDS for MySQL Read Replica",
          "parameters": {
            "RDSInstanceIdentifier": "!Import rds-mysql-instance-identifier",
            "TargetClusterIdentifier": "!Import rds-mysql-instance-global-arn",
            "SourceRDSInstanceIdentifier": "!Import rds-mysql-instance-source-identifier",
            "SourceRegion": "!Import rds-mysql-instance-SourceRegion",
            "MultiAZ": "!Import rds-mysql-instance-MultiAZ",
            "DBInstanceClass": "!Import rds-mysql-instance-DBInstanceClass",
            "DBSubnetGroup": "!Import rds-mysql-instance-DBSubnetGroup",
            "DBSecurityGroup": "!Import rds-mysql-instance-DBSecurityGroup",
            "KmsKeyId": "!Import rds-mysql-instance-KmsKeyId",
            "BackupRetentionPeriod": "7",
            "MonitoringInterval": "60",
            "StorageEncrypted": "True",
            "EnableIAMDatabaseAuthentication": "True",
            "DeletionProtection": "True",
            "CopyTagsToSnapshot": "True",
            "AutoMinorVersionUpgrade": "True",
            "Port": "!Import rds-mysql-instance-DBPortNumber",
            "MonitoringRoleArn": "!Import rds-mysql-instance-RDSMonitoringRole"
          }
        }
      ]
    }
  ]
}
```