Route53ホストゾーン"<事前に用意した独自ドメイン>"を作成します。
手順に必要な設定値を変数に格納をします。
1. Route53委任セット識別子、ドメイン名
Route53委任セット識別子とドメイン名を指定します。
変数の設定: DIR_TMP_ROUTE53_REUSABLE_DELEGATION_SET="${HOME}/environment/tmp-handson-cli-route53-before" 変数の設定: FILE_TMP_ROUTE53_REUSABLE_DELEGATION_SET="${DIR_TMP_ROUTE53_REUSABLE_DELEGATION_SET}/handson-cli-route53-reusable_delegation_set.tmp" \ && echo ${FILE_TMP_ROUTE53_REUSABLE_DELEGATION_SET} 結果(例): ${HOME}/environment/tmp-handson-cli-route53-before/handson-cli-route53-reusable_delegation_set.tmp コマンド: source ${FILE_TMP_ROUTE53_REUSABLE_DELEGATION_SET} \ && echo ${ROUTE53_REUSABLE_DELEGATION_SET_CALLER} 結果(例): handson-cli-route53-before-dgset-XXXXXXXXXX
変数の設定:
DIR_TMP_ROUTE53_REUSABLE_DELEGATION_SET="${HOME}/environment/tmp-handson-cli-route53-before"
FILE_TMP_ROUTE53_REUSABLE_DELEGATION_SET="${DIR_TMP_ROUTE53_REUSABLE_DELEGATION_SET}/handson-cli-route53-reusable_delegation_set.tmp" \ && echo ${FILE_TMP_ROUTE53_REUSABLE_DELEGATION_SET}
結果(例):
${HOME}/environment/tmp-handson-cli-route53-before/handson-cli-route53-reusable_delegation_set.tmp
コマンド:
source ${FILE_TMP_ROUTE53_REUSABLE_DELEGATION_SET} \ && echo ${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}
handson-cli-route53-before-dgset-XXXXXXXXXX
Route53ゾーン名を指定します。
変数の設定: ROUTE53_HOSTED_ZONE_NAME="${DOMAIN_NAME}" \ && echo ${ROUTE53_HOSTED_ZONE_NAME} 結果(例): <事前に用意した独自ドメイン>
ROUTE53_HOSTED_ZONE_NAME="${DOMAIN_NAME}" \ && echo ${ROUTE53_HOSTED_ZONE_NAME}
<事前に用意した独自ドメイン>
3. Route53ホストゾーン識別子
Route53ホストゾーン識別子を指定します。
変数の設定: ROUTE53_HOSTED_ZONE_CALLER="${ROUTE53_HOSTED_ZONE_NAME}-$(date +%s)" \ && echo ${ROUTE53_HOSTED_ZONE_CALLER} 結果(例): <事前に用意した独自ドメイン>-XXXXXXXXXX
ROUTE53_HOSTED_ZONE_CALLER="${ROUTE53_HOSTED_ZONE_NAME}-$(date +%s)" \ && echo ${ROUTE53_HOSTED_ZONE_CALLER}
<事前に用意した独自ドメイン>-XXXXXXXXXX
4. Route53ホストゾーンに対するコメント
Route53ホストゾーンに対するコメントを指定します。
変数の設定: ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_NAME} zone" \ && echo ${ROUTE53_HOSTED_ZONE_COMMENT} <事前に用意した独自ドメイン> zone
ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_NAME} zone" \ && echo ${ROUTE53_HOSTED_ZONE_COMMENT} <事前に用意した独自ドメイン> zone
ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_NAME} zone" \ && echo ${ROUTE53_HOSTED_ZONE_COMMENT}
<事前に用意した独自ドメイン> zone
各変数に正しい設定値が格納されていることを確認しながら保存します。
変数の確認: cat << END # 1. ROUTE53_REUSABLE_DELEGATION_SET_CALLER:"handson-cli-route53-before-dgset-XXXXXXXXXX" ROUTE53_REUSABLE_DELEGATION_SET_CALLER="${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}" # ROUTE53_HOSTED_ZONE_NAME:"<事前に用意した独自ドメイン>" ROUTE53_HOSTED_ZONE_NAME="${ROUTE53_HOSTED_ZONE_NAME}" # 3. ROUTE53_HOSTED_ZONE_CALLER:"<事前に用意した独自ドメイン>-XXXXXXXXXX" ROUTE53_HOSTED_ZONE_CALLER="${ROUTE53_HOSTED_ZONE_CALLER}" # 4. ROUTE53_HOSTED_ZONE_COMMENT:"<事前に用意した独自ドメイン> zone" ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_COMMENT}" END
変数の確認:
cat << END # 1. ROUTE53_REUSABLE_DELEGATION_SET_CALLER:"handson-cli-route53-before-dgset-XXXXXXXXXX" ROUTE53_REUSABLE_DELEGATION_SET_CALLER="${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}" # ROUTE53_HOSTED_ZONE_NAME:"<事前に用意した独自ドメイン>" ROUTE53_HOSTED_ZONE_NAME="${ROUTE53_HOSTED_ZONE_NAME}" # 3. ROUTE53_HOSTED_ZONE_CALLER:"<事前に用意した独自ドメイン>-XXXXXXXXXX" ROUTE53_HOSTED_ZONE_CALLER="${ROUTE53_HOSTED_ZONE_CALLER}" # 4. ROUTE53_HOSTED_ZONE_COMMENT:"<事前に用意した独自ドメイン> zone" ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_COMMENT}" END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
委任セットIDを取得します。
コマンド: ROUTE53_REUSABLE_DELEGATION_SET_ID=$( \ aws route53 list-reusable-delegation-sets \ --query "DelegationSets[?CallerReference == \`${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}\`].Id" \ --output text \ | sed 's|/delegationset/||' \ ) \ && echo ${ROUTE53_REUSABLE_DELEGATION_SET_ID} 結果(例): NXXXXXXXXXXXXXXXXXXXX
ROUTE53_REUSABLE_DELEGATION_SET_ID=$( \ aws route53 list-reusable-delegation-sets \ --query "DelegationSets[?CallerReference == \`${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}\`].Id" \ --output text \ | sed 's|/delegationset/||' \ ) \ && echo ${ROUTE53_REUSABLE_DELEGATION_SET_ID}
NXXXXXXXXXXXXXXXXXXXX
Route53ホストゾーンを作成します。
変数の確認: cat << END # ROUTE53_HOSTED_ZONE_NAME:"<事前に用意した独自ドメイン>" ROUTE53_HOSTED_ZONE_NAME="${ROUTE53_HOSTED_ZONE_NAME}" # ROUTE53_HOSTED_ZONE_CALLER:"<事前に用意した独自ドメイン>-XXXXXXXXXX" ROUTE53_HOSTED_ZONE_CALLER="${ROUTE53_HOSTED_ZONE_CALLER}" # ROUTE53_HOSTED_ZONE_COMMENT:"<事前に用意した独自ドメイン> zone" ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_COMMENT}" # ROUTE53_REUSABLE_DELEGATION_SET_ID:"NXXXXXXXXXXXXXXXXXXXX" ROUTE53_REUSABLE_DELEGATION_SET_ID="${ROUTE53_REUSABLE_DELEGATION_SET_ID}" END コマンド: aws route53 create-hosted-zone \ --name ${ROUTE53_HOSTED_ZONE_NAME} \ --caller-reference ${ROUTE53_HOSTED_ZONE_CALLER} \ --hosted-zone-config Comment="${ROUTE53_HOSTED_ZONE_COMMENT}" \ --delegation-set-id ${ROUTE53_REUSABLE_DELEGATION_SET_ID} 結果(例): { "HostedZone": { "ResourceRecordSetCount": 2, "CallerReference": "<事前に用意した独自ドメイン>-XXXXXXXXXX", "Config": { "Comment": "<事前に用意した独自ドメイン> zone", "PrivateZone": false }, "Id": "/hostedzone/xxxxxxxxxxxxx", "Name": "<事前に用意した独自ドメイン>." }, "DelegationSet": { "NameServers": [ "ns-xxx.awsdns-xx.co.uk", "ns-xxx.awsdns-xx.net", "ns-xxx.awsdns-xx.com", "ns-xxx.awsdns-xx.org" ] }, "Location": "https://route53.amazonaws.com/2013-04-01/hostedzone/xxxxxxxxxxxxx", "ChangeInfo": { "Status": "PENDING", "SubmittedAt": "2021-12-13T01:23:45.678Z", "Id": "/change/xxxxxxxxxxxxx" } }
cat << END # ROUTE53_HOSTED_ZONE_NAME:"<事前に用意した独自ドメイン>" ROUTE53_HOSTED_ZONE_NAME="${ROUTE53_HOSTED_ZONE_NAME}" # ROUTE53_HOSTED_ZONE_CALLER:"<事前に用意した独自ドメイン>-XXXXXXXXXX" ROUTE53_HOSTED_ZONE_CALLER="${ROUTE53_HOSTED_ZONE_CALLER}" # ROUTE53_HOSTED_ZONE_COMMENT:"<事前に用意した独自ドメイン> zone" ROUTE53_HOSTED_ZONE_COMMENT="${ROUTE53_HOSTED_ZONE_COMMENT}" # ROUTE53_REUSABLE_DELEGATION_SET_ID:"NXXXXXXXXXXXXXXXXXXXX" ROUTE53_REUSABLE_DELEGATION_SET_ID="${ROUTE53_REUSABLE_DELEGATION_SET_ID}" END
aws route53 create-hosted-zone \ --name ${ROUTE53_HOSTED_ZONE_NAME} \ --caller-reference ${ROUTE53_HOSTED_ZONE_CALLER} \ --hosted-zone-config Comment="${ROUTE53_HOSTED_ZONE_COMMENT}" \ --delegation-set-id ${ROUTE53_REUSABLE_DELEGATION_SET_ID}
{ "HostedZone": { "ResourceRecordSetCount": 2, "CallerReference": "<事前に用意した独自ドメイン>-XXXXXXXXXX", "Config": { "Comment": "<事前に用意した独自ドメイン> zone", "PrivateZone": false }, "Id": "/hostedzone/xxxxxxxxxxxxx", "Name": "<事前に用意した独自ドメイン>." }, "DelegationSet": { "NameServers": [ "ns-xxx.awsdns-xx.co.uk", "ns-xxx.awsdns-xx.net", "ns-xxx.awsdns-xx.com", "ns-xxx.awsdns-xx.org" ] }, "Location": "https://route53.amazonaws.com/2013-04-01/hostedzone/xxxxxxxxxxxxx", "ChangeInfo": { "Status": "PENDING", "SubmittedAt": "2021-12-13T01:23:45.678Z", "Id": "/change/xxxxxxxxxxxxx" } }
「Route53ホストゾーン"<事前に用意した独自ドメイン>"が存在する。」ことを確認します。
コマンド: aws route53 list-hosted-zones \ --query "HostedZones[?Name == \`${ROUTE53_HOSTED_ZONE_NAME}.\` \ && Config.PrivateZone == \`false\`].Name" \ --output text 結果(例): <事前に用意した独自ドメイン>.
aws route53 list-hosted-zones \ --query "HostedZones[?Name == \`${ROUTE53_HOSTED_ZONE_NAME}.\` \ && Config.PrivateZone == \`false\`].Name" \ --output text
<事前に用意した独自ドメイン>.
Route53ダッシュボード( https://console.aws.amazon.com/route53/v2/home#Dashboard)にアクセスします。
左ペインの"ホストゾーン"をクリックします。
ホストゾーン一覧(画面)
検索欄にホストゾーン名"<事前に用意した独自ドメイン>"を入力して、エンターキーを押します。
ホストゾーン名"<事前に用意した独自ドメイン>"が表示されていることを確認します。