Prerequisite
自分でGithub Pagesを持っている
自分のドメインをGithub Pagesに設定する
1. Domain購入
お名前ドットコムで買った。
nakamasato.com
2. Github PagesのDomain設定
この中でDNSレコードの設定があるので、AWSのRoute53を使用
3. AWSのRoute53でHostedZone作成 (Terraform)
-
Route53のゾーンとレコードを作成
Terraform の場合:
main.tfresource "aws_route53_zone" "nakamasato-com" { name = "nakamasato.com" comment = "my domain" tags = { Environment = "test" } } resource "aws_route53_record" "about" { zone_id = aws_route53_zone.nakamasato-com.zone_id name = "about" type = "CNAME" ttl = "5" records = ["nakamasato.github.io"] }
cliの場合:
aws route53 create-hosted-zone --name nakamasato.com --caller-reference 2021-10-24-12:10
--caller-reference
は失敗したときに同じRequestをRetryしてくれる用の uniqueなStringroute53.json{ "Comment": "create record for about", "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "about.nakamasato.com.", "Type": "CNAME", "TTL": 5, "ResourceRecords": [ { "Value": "nakamasato.github.io" } ] } } ] }
aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXX --change-batch file://route53.json
-
確認
nslookup -type=ns nakamasato.com Server: 192.168.3.1 Address: 192.168.3.1#53 Non-authoritative answer: nakamasato.com nameserver = ns-437.awsdns-54.com. nakamasato.com nameserver = ns-1430.awsdns-50.org. nakamasato.com nameserver = ns-2010.awsdns-59.co.uk. nakamasato.com nameserver = ns-696.awsdns-23.net. Authoritative answers can be found from: ns-437.awsdns-54.com internet address = 205.251.193.181 ns-696.awsdns-23.net internet address = 205.251.194.184 ns-1430.awsdns-50.org internet address = 205.251.197.150 ns-2010.awsdns-59.co.uk internet address = 205.251.199.218
-
about.nakamasato.com
を Github Pagesに設定 + Enforce HTTPS をクリック
Route53の料金
個人で使う場合はTrafficも少ないと思うので、以下の2つで良さそうなので、月1ドルくらいを想定
- 0.50USD ホストゾーンごと /月
- 0.40USD 100 万クエリごと