LoginSignup
0
0

More than 3 years have passed since last update.

会社のITインフラをゼロから試行錯誤してみる(ドメイン取得とネームサーバー設定)

Last updated at Posted at 2021-05-22

Overview

  • AWS Route53でドメイン取得
  • とりあえずSESでメールアドレス確保して送受信環境構築

はじめに

具体的な構築はなるべくコマンドラインで記載していきます。
普段の業務ではGUIベースで構築することが多いので同じことをやりたくないだけで特に意味はありません。

使用ツール

AWS CloudShellという超絶便利なサービスがあるので活用していきます。
image.png

下記キャプチャーの右端のコンソールっぽいアイコン。
image.png

1.ドメイン取得

Route53でも取得可能ですが、今回はもともと購入していたドメインを活用します。
ホストゾーンを作成して連携させます。

2.ホストゾーン作成

aws-cli-v2
aws route53 create-hosted-zone --name "hogehoge.com" --caller-reference "hogehogehogehoge"
return
{
    "Location": "https://route53.amazonaws.com/2013-04-01/hostedzone/XXXXXXXXXXXXXXXXXXXXX",
    "HostedZone": {
        "Id": "/hostedzone/XXXXXXXXXXXXXXXXXXXXX",
        "Name": "hogehoge.com.",
        "CallerReference": "hogehogehogehoge",
        "Config": {
            "PrivateZone": false
        },
        "ResourceRecordSetCount": 2
    },
    "ChangeInfo": {
        "Id": "/change/XXXXXXXXXXXXXXXXXXXXX",
        "Status": "PENDING",
        "SubmittedAt": "YYYY-MM-DDT06:13:42.844000+00:00"
    },
    "DelegationSet": {
        "NameServers": [
            "ns-9999.awsdns-37.co.uk",
            "ns-9999.awsdns-17.com",
            "ns-9999.awsdns-20.net",
            "ns-9999.awsdns-04.org"
        ]
    }
}

外部レジストラーでドメインを取得した場合は、"NameServers"のレコードをレジストラー側のネームサーバー設定に置き換えます。

3.レコード登録

Jsonファイルを作っておいてCliで読み込ませる感じです。
試しにSESで生成された認証用のレコードを手動で登録してみました。
ここで詰まったのが、TXTレコードのValueをそのまま入れようとするとエラーで弾かれてしまいます。

FATAL problem: InvalidCharacterString (Value should be enclosed in quotation marks) encountered with XXXXX

その原因は入力する値自体が"値"である必要があるらしく、エスケープして入力する必要があります。

change-batch.json
{
  "Comment": "SES",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "_amazonses.hogehoge.com",
        "Type": "TXT",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXX\""
          }
        ]
      }
    },
  ]
}
aws-cli-v2
aws route53 change-resource-record-sets --hosted-zone-id hogehogehogehoge --change-batch file://change-batch.json
return
{
    "ChangeInfo": {
        "Id": "/change/XXXXXXXXXXXXXX",
        "Status": "PENDING",
        "SubmittedAt": "YYYY-MM-DDT07:05:38.982000+00:00",
        "Comment": "SES"
    }
}

※SES側でドメイン作るときに自動でレコード登録してくれるので最後のレコード登録は不要です。なにかの参考にしていただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0