

# ローカル書き込み転送の有効化
<a name="aurora-mysql-write-forwarding-enabling"></a>

デフォルトでは、Aurora MySQL DB クラスターのローカル書き込み転送は有効になっていません。ローカル書き込み転送は、インスタンスレベルではなくクラスターレベルで有効にします。

**重要**  
バイナリロギングを使用するクロスリージョンリードレプリカに対してローカル書き込み転送を有効にすることもできますが、書き込み操作はソース AWS リージョン に転送されません。これらは、binlog リードレプリカクラスターのライター DB インスタンスに転送されます。  
この方法は、セカンダリ AWS リージョン の binlog リードレプリカへの書き込みの用途がある場合にのみ使用してください。そうしないと、複製されたデータセットが互いに矛盾する「スプリットブレイン」シナリオになってしまう可能性があります。  
どうしても必要な場合を除いて、クロスリージョンのリードレプリカでのローカル書き込み転送ではなく、グローバルデータベースでのグローバル書き込み転送を使用することをお勧めします。詳細については、「[Amazon Aurora Global Database の書き込み転送を使用する](aurora-global-database-write-forwarding.md)」を参照してください。

## コンソール
<a name="aurora-mysql-write-forwarding-enabling.CON"></a>

DB クラスターを作成または変更するときに、AWS マネジメントコンソール を使用して、**[リードレプリカの書き込み転送]** の **[ローカル書き込み転送を有効にする]** チェックボックスを選択します。

## AWS CLI
<a name="aurora-mysql-write-forwarding-enabling.CLI"></a>

AWS CLI で書き込み転送を有効にするには、`--enable-local-write-forwarding` オプションを使用します。このオプションは、`create-db-cluster` コマンドを使用して新しい DB クラスターを作成するときに機能します。`modify-db-cluster` コマンドを使用して、既存の DB クラスターを変更する場合にも機能します。これらの同じ CLI コマンドで `--no-enable-local-write-forwarding` オプションを使用することで、書き込み転送をオフにすることができます。

次の例では、書き込み転送を有効にした Aurora MySQL DB クラスターを作成します。

```
aws rds create-db-cluster \
  --db-cluster-identifier write-forwarding-test-cluster \
  {{--enable-local-write-forwarding}} \
  --engine aurora-mysql \
  --engine-version {{8.0.mysql_aurora.3.04.0}} \
  --master-username myuser \
  --master-user-password mypassword \
  --backup-retention 1
```

次に、書き込み転送を使用できるように、ライター DB インスタンスとリーダー DB インスタンスを作成します。詳細については、「[Amazon Aurora DB クラスターの作成](Aurora.CreateInstance.md)」を参照してください。

## RDS API
<a name="aurora-mysql-write-forwarding-enabling.API"></a>

Amazon RDS API を使用して書き込み転送を有効にするには、`EnableLocalWriteForwarding` パラメータを `true` に設定します。このパラメータは、`CreateDBCluster` オペレーションを使用して新しい DB クラスターを作成するときに機能します。この操作は、`ModifyDBCluster` オペレーションを使用して既存の DB クラスターを変更する場合にも機能します。`EnableLocalWriteForwarding` パラメータを `false` に設定することで、書き込み転送をオフにすることができます。

## データベースセッションの書き込み転送を有効にする
<a name="aurora-mysql-write-forwarding-enabling-session"></a>

`aurora_replica_read_consistency` パラメータは、書き込み転送を有効にする DB パラメータと DB クラスターパラメータです。読み取り整合性レベルには、`EVENTUAL`、`SESSION`、または `GLOBAL` を指定できます。整合性レベルの詳細については、[書き込み転送の読み取り整合性](aurora-mysql-write-forwarding-consistency.md) を参照してください。

このパラメータには、次の規則が適用されます。
+ デフォルト値は null です。
+ 書き込み転送は、`aurora_replica_read_consistency` を `EVENTUAL`、`SESSION`、または `GLOBAL` に設定した場合にのみ使用できます。このパラメータは、書き込み転送が有効な DB クラスターのリーダーインスタンスにのみ関係します。
+ マルチステートメントトランザクション内で、このパラメータを設定したり (空の場合)、設定解除したり (既に設定されている場合) することはできません。そのようなトランザクション中に、ある有効な値から別の有効な値に変更できますが、このアクションはお勧めしません。