AWS CLI を使用して Route 53 のトラフィックポリシーレコードを作成するにはどうすればよいですか?

所要時間2分
0

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 ファイルのフルパスに置き換えます。

必須のパラメータは以下のとおりです。

  • --name
  • --document

任意のパラメータは以下のとおりです。

  • --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

AWS公式
AWS公式更新しました 1年前
コメントはありません