Amazon Route 53 にトラフィックポリシーレコードを作成して複数のリソースに DNS トラフィックフローをルーティングしようと考えています。
簡単な説明
Route 53 トラフィックポリシーレコードの作成に AWS コマンドラインインターフェイス (AWS CLI) を使用することができます。始める前に、AWS CLI をインストールして設定します。
トラフィックポリシーの作成に Route 53 コンソールを使用する場合は、「Creating a traffic policy」を参照してください。
解決方法
AWS CLI でトラフィックポリシーを作成する
トラフィックポリシーの設定を行う JSON ファイルを作成します。基本的な構文、エンドポイント、ルールについては、「Traffic Policy Document Format」を参照してください。
AWS CLI でトラフィックポリシーを作成するには、独自のパラメータを指定して create-traffic-policy コマンドを実行します。
$ aws route53 create-traffic-policy --name POLICY_NAME --document file://JSON_FILE
注: POLICY_NAME を貴社のポリシー名に置き換えます。JSON_FILE を貴社の JSON ファイルのフルパスに置き換えます。
必須のパラメータは以下のとおりです。
任意のパラメータは以下のとおりです。
- --comment
- --cli-input-json
- --generate-cli-skeleton
出力に表示されているトラフィックポリシー ID とバージョン番号を書き留めます。
{
"TrafficPolicy": {
"Document": JSON_DOCUMENT,
"Version": VERSION_NUMBER,
"Type": "POLICY_TYPE",
"Id": "TRAFFIC_POLICY_ID",
"Name": "POLICY_NAME"
}
}
トラフィックポリシーレコードを作成するには、create-traffic-policy-instance API コールを実行します。
$ aws route53 create-traffic-policy-instance --hosted-zone-id VALUE --name VALUE --ttl VALUE --traffic-policy-id VALUE --traffic-policy-version VALUE
注: 各 VALUE を、そのパラメーターに関連する値に置き換えます。
トラフィックポリシーの例
次のトラフィックポリシーの例では、2 つのエンドポイントを指す加重レコードを作成しています。
このポリシーでは、次の値を指定します。
- 現在のポリシー形式のバージョン (AWSPolicyFormatVersion)
- レコードタイプ (RecordType)
注:エンドポイントのタイプに基づいてこの値を設定します。この例では、レコードタイプは A です。
- IP アドレス (Type) を指す 2 つのエンドポイント (EndPointReference)
- エンドポイントごとの異なる加重 (Weight) と加重ルール (RuleType)
- トラフィックポリシーの開始点
注: 次の例では、StartRule は、エンドポイントで始まるポリシー (StartEndpoint) ではなく、ルールで始まるポリシーを指定しています。
- ヘルスチェック設定 (EvaluateTargetHealth)
注: HealthCheck を使用してこの設定を行います。以下は、ヘルスチェックを実行しない例です。
{
"AWSPolicyFormatVersion": "2015-10-01",
"RecordType": "A",
"Endpoints": {
"endpoint-1": {
"Type": "value",
"Value": "192.0.1.1"
},
"endpoint-2": {
"Type": "value",
"Value": "192.0.1.2"
}
},
"Rules": {
"weighted-rule-name": {
"RuleType": "weighted",
"Items": [
{"Weight": "30",
"EvaluateTargetHealth": true,
"EndpointReference": "endpoint-1"
},
{"Weight": "20",
"EvaluateTargetHealth": false,
"EndpointReference": "endpoint-2"
}
]
}
},
"StartRule": "weighted-rule-name"
}
関連情報
Supported DNS record types