前回の続きです。
AWS で WordPress ブログを構築、ドメインを取得して公開するまで(Part 2)
EC2 / WordPress のサーバーにドメイン名でアクセスできるように
Amazon Route53 でドメイン名を取得して、パブリックホストゾーンを設定します。
ここから先は有料です。
はい。無料ではございません。
ドメインは無料でも取得できますが、結局パブリックホストゾーンの設定で有料になるという感じです。
事前準備
AWS のアカウントは持っているという想定です。
あと、ドメイン登録用にメールアドレス。
料金(2019年8月現在)
ドメイン名の取得、および更新料
.com - 12.00 USD/年
.net - 11.00 USD/年
ホストゾーン
ホストゾーンごとに 0.50 USD/月 – 最初の 25 個のホストゾーン
ホストゾーンごとに 0.10 USD/月 – それ以上のホストゾーン
標準的クエリ
100 万件のクエリごとに 0.400 USD – 最初の 10 億件のクエリ/月
100 万件のクエリごとに 0.200 USD – 10 億件を超えた分のクエリ/月
.com の場合は 0.50 + (12.00 / 12) = 1.50 USD(160 JPY/月)
月で100万件のクエリなんて、そのくらいコンテンツが成長できたら素敵ですけどね。
月で100万件超えてもおよそ 200 JPY/月。
ドメイン名の取得とホストゾーンの設定って何してるの?
お金を払うのなら、ちゃんと理解していないといけないですね。
つまり、こういうことらしいです。
注:AWS 公式を見る限り Route53 はレジストラではないらしい?
(話を分かりやすくするため、無理やり Route53 をレジストラに仕立てあげてます)
クライアント「example.com ドメインが欲しいんですけど」
Route53「わかりました問い合わせてみます」
・・・
Route53「example.com ってまだ登録できます?」
root TLD「gTLD に確認してみます」
gTLD「ああ、それなら登録できますよ」
root TLD「登録できるみたいです」
Route53「承知しました。クライアントに登録可能と伝えます」
・・・
クライアント「じゃあ取得してください」
Route53「かしこまりました。ドメイン名を申請します」
・・・
gTLD「登録しました。登録は1年間有効です。ドメインを継続したい場合は更新してください」
要するに、
世界で唯一の(被らない)ドメイン名を一手に管理しているレジストリという組織があって、TLD(トップレベルドメイン)のサーバーに登録することをドメイン名の取得というらしいです。
で、レジストリとクライアントの仲介役がレジストラ。
クライアント「ドメイン名 example.com と EC2 のグローバル(世界に唯一の)IP アドレスを紐付けたい」
Route53「わかりました。ネームサーバーに登録しておきます」
・・・
訪問者「example.com のブログが見たい」
ブラウザ「最寄りの Name Server に確認してみます」
Name Server「わかりました。example.com の IP アドレスは・・・はい、ご案内します」
EC2「承知しました。ブログの内容を転送しますね」
・・・
ブラウザ「転送されてきました。表示します」
訪問者「・・・ example.com のブログってあまり面白くないわね」
つまり、
訪問者がドメイン名でアクセスしてきたら、内部で IP アドレスに変換して
目的のサーバー(EC2 / WordPress)へトラフィックを誘導し、応答として訪問者の画面にブログの内容を転送・ブラウザで表示させるという仕組みのようです。
理屈はわかったので、やってみましょう。
ドメイン名の取得
まずは、EC2 のいつ変わってもおかしくない IP アドレスを固定します。
IP 固定には Elastic IP を利用します。
これは EC2 インスタンスに関連付けられている限り無料のようです。
Elastic IP 画面にアクセスします。
「新しいアドレスの割り当て」ボタンを押して進めます。
新しい Elastic IP アドレスが発行されます。
これを EC2 インスタンス ID に関連付けます。
「アクション」から「アドレスの関連付け」を選択します。
リソースタイプ:インスタンス
インスタンス:EC2 / WordPress のインスタンス ID
プライベート IP:EC2 / WordPress のプライベート IP
をそれぞれ選択・入力したら「関連付け」ボタンを押します。
はい。これで Elastic IP アドレスと EC2 / WordPress のインスタンスが関連付けられました。
Elastic IP アドレスで WordPress にアクセスできるはずですが、できないときはインスタンスの再起動を行います。
※注意!
インスタンスの停止・終了はエフェメラル(短命)ストレージを揮発させます。
データは全て失われるので注意しましょう。
次に、Amazon Route53 にアクセスして「ドメインの登録」を行います。
取得したいドメイン名を入力します。
TLD は比較的お安い「.net」を選択しました。
取得可能なら、カートに入れて「続行」ボタンを押します。
登録者の連絡先は入力が必要です。
ここは日本語で入力してみました。「続行」ボタンで先に進みます。
ドメインを自動的に更新しますか:有効化
規約に同意(残念ながら、日本語ではなかったです)
「購入の完了」ボタンで申し込みできます。キャンセルはできないのでよく確認しましょう。
この辺はなんだか Amazon で買い物をしているみたいな感覚ですね。
登録が完了すると、メールが届きます。
今回の場合、あまり混み合ってなかったのか 20 分もかからないうちに完了メールが来ました。
パブリックホストゾーンの設定
ここまでくれば後もう少しです。
頑張りましょう。
ホストゾーンの画面では、ドメイン取得と同時に AWS によって自動的に設定されている項目があるので、これに A レコード(IPv4 アドレス)を追加して、ドメイン名でサーバーにアクセスできるようにします。
ドメイン名を取得した場合、
NS レコードと、SOA レコードはすでに Amazon にて登録済みとなります。
これに A レコードを追加するため、「レコードセットの作成」ボタンを押します。
名前:空白
タイプ:A-IPv4 アドレス
エイリアス:いいえ
TTL(秒):300
値:Elastic IP アドレス
ルーティングポリシー:シンプル
以上のように設定して、「作成」ボタンを押します。
A レコードが追加されました。
これで、ようやく取得したドメイン名でブログページを表示することができます。
ところが問題発生。
確かにブログページは表示されるようになったんですが・・・次回に続く。