ハンズオン事前準備(簡易版): 前日まで (独自ドメインを利用する場合)

2. Route53 委任セットNSのWhoisDBへの登録 (handson-cli-route53-before-dgset-XXXXXXXXXX)

手順の目的 [why]

Route53 委任セット"handson-cli-route53-before-dgset-XXXXXXXXXX"を取得します。

設定値の指定

設定値の指定

手順に必要な設定値を変数に格納をします。

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

2. ドメイン名

ドメイン名を指定します。

変数の設定:

DIR_TMP="${HOME}/environment/tmp-handson-cli-route53-before"

変数の設定:

FILE_TMP="${DIR_TMP}/handson-cli-domain.tmp" \
  && echo ${FILE_TMP}

結果(例):

${HOME}/environment/tmp-handson-cli-route53-before/handson-cli-domain.tmp

コマンド:

source ${FILE_TMP} \
  && echo ${DOMAIN_NAME}

結果(例):

<独自ドメイン名>

3. 委任セットファイル用ディレクトリの指定

委任セットファイル用ディレクトリを指定します。

変数の設定:

DIR_ROUTE53_REUSABLE_DELEGATION_SET="${HOME}/environment/conf-handson-cli-route53-before"

ディレクトリが存在することを確認します。

コマンド:

ls -d ${DIR_ROUTE53_REUSABLE_DELEGATION_SET}

結果(例:存在する場合):

${HOME}/environment/conf-handson-cli-route53-before

存在しない場合は作成します。

コマンド:

mkdir -p ${DIR_ROUTE53_REUSABLE_DELEGATION_SET}

4. 委任セットファイル名の指定

委任セットファイル名を指定します。

変数の設定:

FILE_ROUTE53_REUSABLE_DELEGATION_SET="${DIR_ROUTE53_REUSABLE_DELEGATION_SET}/${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}.txt" \
  && echo ${FILE_ROUTE53_REUSABLE_DELEGATION_SET}

結果(例):

${HOME}/environment/conf-handson-cli-route53-before/handson-cli-route53-before-dgset-XXXXXXXXXX.txt

設定値の確認

各変数に正しい設定値が格納されていることを確認しながら保存します。

変数の確認:

cat << END

  # 1. ROUTE53_REUSABLE_DELEGATION_SET_CALLER:"handson-cli-route53-before-dgset-XXXXXXXXXX"
       ROUTE53_REUSABLE_DELEGATION_SET_CALLER="${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}"
  #    DOMAIN_NAME:"<独自ドメイン名>"
       DOMAIN_NAME="${DOMAIN_NAME}"
  # 2. DIR_ROUTE53_REUSABLE_DELEGATION_SET:"${HOME}/environment/conf-handson-cli-route53-before"
       DIR_ROUTE53_REUSABLE_DELEGATION_SET="${DIR_ROUTE53_REUSABLE_DELEGATION_SET}"
  # 3. FILE_ROUTE53_REUSABLE_DELEGATION_SET:"${HOME}/environment/conf-handson-cli-route53-before/handson-cli-route53-before-dgset-XXXXXXXXXX.txt"
       FILE_ROUTE53_REUSABLE_DELEGATION_SET="${FILE_ROUTE53_REUSABLE_DELEGATION_SET}"

END

下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

Route53委任セットのNS情報を取得します。

コマンド:

ARRAY_NS_RECORDS=$( \
  aws route53 list-reusable-delegation-sets \
    --query "DelegationSets[?CallerReference == \`${ROUTE53_REUSABLE_DELEGATION_SET_CALLER}\`].NameServers" \
    --output text \
  | sed 's|/delegationset/||' \
) \
  && echo ${ARRAY_NS_RECORDS}

結果(例):

ns-xxx.awsdns-xx.org ns-xxx.awsdns-xx.com ns-xxx.awsdns-xx.net ns-xxx.awsdns-xx.co.uk

Route53委任リストを作成します。

コマンド:

for i in $( echo ${ARRAY_NS_RECORDS} ); do echo $i >> ${FILE_ROUTE53_REUSABLE_DELEGATION_SET}; done \
  && cat ${FILE_ROUTE53_REUSABLE_DELEGATION_SET}

結果(例):

ns-xxx.awsdns-xx.org
ns-xxx.awsdns-xx.com
ns-xxx.awsdns-xx.net
ns-xxx.awsdns-xx.co.uk

完了確認

「Route53委任セットファイル"${HOME}/environment/conf-handson-cli-route53-before/handson-cli-route53-before-dgset-XXXXXXXXXX.txt"ファイルが存在する。」ことを確認します。

コマンド:

ls ${FILE_ROUTE53_REUSABLE_DELEGATION_SET}

結果(例):

${HOME}/environment/conf-handson-cli-route53-before/handson-cli-route53-before-dgset-XXXXXXXXXX.txt

ドメインを取得したレジストラが提供する管理画面で、ネームサーバ情報として、委任セットのレコードを全て登録します。

注釈

参考: ネームサーバー変更手順(さくらのドメインでの設定例): https://help.sakura.ad.jp/hc/ja/articles/206205831

Route53委任セットのレコード以外は登録しないでください。

(さくらのドメインの場合は、デフォルト値が"NS1.DNS.NE.JP"と"NS2.DNS.NE.JP"ですが、Route53委任セットのレコードでこれらを上書きします。)

ハンズオン後に戻すため、あらかじめ登録されていたネームサーバ情報をメモしておいてください。

WhoisDBの更新を確認します。

コマンド:

whois ${DOMAIN_NAME} \
  | grep 'Name Server'

結果(例):

Name Server: NS-xxxx.AWSDNS-xx.ORG
Name Server: NS-xx.AWSDNS-xx.COM
Name Server: NS-xxx.AWSDNS-xx.NET
Name Server: NS-xxxx.AWSDNS-xx.CO.UK

注釈

Whois DBの更新完了までに必要な時間は、ドメイン管理事業者やレジストリ(トップレベルドメインの管理者)によって異なります。

手順の完了