

# Amazon Aurora のカスタムエンドポイントに関する考慮事項
<a name="Aurora.Endpoints.Custom.Considerations"></a>

以下のセクションを使用して、カスタムエンドポイントの管理、プロパティの指定、メンバーシップルールの使用を行います。

**Topics**
+ [カスタムエンドポイントの管理](#Aurora.Endpoints.Custom.Managing)
+ [カスタムエンドポイントのプロパティの指定](#Aurora.Endpoints.Custom.Properties)
+ [カスタムエンドポイントのメンバーシップルール](#Aurora.Endpoints.Custom.Membership)

## カスタムエンドポイントの管理
<a name="Aurora.Endpoints.Custom.Managing"></a>

新しく作成された Aurora クラスターにはカスタムエンドポイントがないため、これらのオブジェクトを自分で作成して管理する必要があります。これを行うには、AWS マネジメントコンソール、AWS CLI、または Amazon RDS API を使用します。

**注記**  
スナップショットから復元した Aurora クラスターのカスタムエンドポイントも作成して管理する必要があります。カスタムエンドポイントはスナップショットに含まれていません。カスタムエンドポイントは、復元後に再度作成します。復元したクラスターが元のクラスターと同じリージョン内にある場合は、新しいエンドポイント名を選択します。

AWS マネジメントコンソール からカスタムエンドポイントを使用するには、Aurora クラスターの詳細ページに移動し、[**カスタムエンドポイント**] セクションの制御を使用します。

AWS CLI からカスタムエンドポイントを使用するには、以下のオペレーションを使用できます。
+ [create-db-cluster-endpoint](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster-endpoint.html)
+ [describe-db-cluster-endpoints](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-endpoints.html)
+ [modify-db-cluster-endpoint](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-endpoint.html)
+ [delete-db-cluster-endpoint](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-cluster-endpoint.html)

Amazon RDS API からカスタムエンドポイントを使用するには、以下の関数を使用できます。
+ [CreateDBClusterEndpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterEndpoint.html)
+ [DescribeDBClusterEndpoints](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterEndpoints.html)
+ [ModifyDBClusterEndpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterEndpoint.html)
+ [DeleteDBClusterEndpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBClusterEndpoint.html)

## カスタムエンドポイントのプロパティの指定
<a name="Aurora.Endpoints.Custom.Properties"></a>

カスタムエンドポイント名の最大長は 63 文字です。名前の形式は次のとおりです。

```
{{endpoint_name}}.cluster-custom-{{customer_DNS_identifier}}.{{AWS_Region}}.rds.amazonaws.com
```

同じカスタムエンドポイント名を同じ AWS リージョン の複数のクラスターで再利用することはできません。カスタム DNS 識別子は、特定の AWS リージョンの AWS アカウントに関連付けられた一意識別子です。

各カスタムエンドポイントの対応するタイプにより、このエンドポイントに関連付けることができる DB インスタンスが決まります。現在、タイプは `READER` または `ANY` のいずれかです。カスタムエンドポイントのタイプには、以下の考慮事項が適用されます。
+ カスタムエンドポイントタイプを AWS マネジメントコンソール で選択することはできません。AWS マネジメントコンソール で作成するすべてのカスタムエンドポイントは `ANY` タイプになります。

  AWS CLI または Amazon RDS API を使用してカスタムエンドポイントタイプを設定および変更できます。
+ リーダー DB インスタンスのみが、`READER` カスタムエンドポイントの一部となることができます。
+ リーダー DB インスタンスとライター DB インスタンスの両方が、`ANY` カスタムエンドポイントの一部となることができます。Aurora はクラスターエンドポイントに接続を指示し、`ANY` のタイプを関連付けられた DB インスタンスのいずれかに同じ確率で割り当てます。`ANY` タイプは、任意のレプリケーショントポロジを使用するクラスターに適用されます。
+  作成しようとしているカスタムエンドポイントのタイプがクラスターのレプリケーション設定に適切なものではない場合、Aurora はエラーを返します。

## カスタムエンドポイントのメンバーシップルール
<a name="Aurora.Endpoints.Custom.Membership"></a>

 DB インスタンスをカスタムエンドポイントに追加したり、カスタムエンドポイントから削除したりすると、この DB インスタンスへの既存の接続はアクティブのまま残ります。

 カスタムエンドポイントに含めたり、カスタムエンドポイントから除外したりする DB インスタンスのリストを定義できます。これらのリストは、それぞれ*静的*リストおよび*除外*リストと呼ばれます。包含/除外機構を使用して、さらに DB インスタンスのグループを細分化したり、カスタムエンドポイントのセットがクラスターのすべての DB インスタンスをカバーしていることを確認したりできます。各カスタムエンドポイントには、これらのリストタイプの 1 つのみを含めることができます。

AWS マネジメントコンソール で次の操作を行います。
+ 選択は、**[Attach future instances added to this cluster]** (今後追加されるインスタンスをこのクラスターにアタッチする) チェックボックスによって表されます。このチェックボックスをオフのままにすると、カスタムエンドポイントはページで指定された DB インスタンスのみを含む静的リストを使用します。このチェックボックスをオンにすると、カスタムエンドポイントは除外リストを使用します。この場合、カスタムエンドポイントは、ページで選択されなかったものを除いて、クラスター内のすべての DB インスタンス (今後追加するものも含む) を表します。
+ コンソールではエンドポイントタイプを指定できません。コンソールを使用して作成されたカスタムエンドポイントは、すべて `ANY` タイプです。

  そのため、フェイルオーバーやプロモーションにより DB インスタンスのロールがライターとリーダーの間で変更されても、Aurora はカスタムエンドポイントのメンバーシップを変更しません。

AWS CLI および Amazon RDS API では:
+ エンドポイントタイプを指定できます。そのため、エンドポイントタイプが `READER` に設定されているとき、フェイルオーバーやプロモーション時にエンドポイントのメンバーシップは自動的に調整されます。

  例えば、タイプ `READER` のカスタムエンドポイントには Aurora レプリカが含まれ、これは、その後、ライター DB インスタンスに昇格されます。新しいライターインスタンスは、カスタムエンドポイントの一部ではなくなります。
+ ロールを変更した後に、個々のメンバーをリストに追加したり、リストから削除したりできます。[modify-db-cluster-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/modify-db-cluster-endpoint.html) AWS CLI コマンドまたは [ModifyDBClusterEndpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterEndpoint.html) API オペレーションを使用してください。

DB インスタンスは、複数のカスタムエンドポイントに関連付けることができます。例えば、ユーザーが新しい DB インスタンスをクラスターに追加するか、Aurora が Autoscaling 機構を通じて DB インスタンスを自動的に追加するとします。このような場合、DB インスタンスは該当するすべてのカスタムエンドポイントに追加されます。どのエンドポイントに DB インスタンスが追加されるかは、カスタムエンドポイントのタイプである `READER` または `ANY` と、各エンドポイントに定義されている静的リストや除外リストに基づきます。例えば、エンドポイントに DB インスタンスの静的リストが含まれている場合、新しく追加された Aurora レプリカはこのエンドポイントに追加されません。逆に、エンドポイントに除外リストが含まれている場合、新しく追加された Aurora レプリカは、この除外リストに名前が存在せず、ロールがカスタムエンドポイントのタイプと一致すれば、エンドポイントに追加されます。

Aurora レプリカは、使用不可になっても、カスタムエンドポイントに関連付けられたままになります。例えば、異常、停止、再起動などに伴って、カスタムエンドポイントの一部として残ります。ただし、レプリカが再度使用可能になるまでは、これらのエンドポイントを通じてレプリカに接続することはできません。