+ 作るログイン
1 / 23
AWS でサービスを作る ― 知識ゼロから、構成を自分で考えられるまで / 全32章

AWS 14:Route 53 と HTTPS ― 覚えやすい名前と、鍵のかかった通信

発行
アニメモ公式
版
第2版
改訂
コマ
全23

ALB には AWS が付けた長い名前しかなく、http:// の通信は途中で誰でも読めます。IP アドレスと DNS の関係、名前を調べる旅(リゾルバー・ルート・.com・Route 53)、ドメインとホストゾーン、A・CNAME・エイリアスの違い、TTL、そして HTTPS と証明書の役割、ACM による無料の証明書、ALB での 443番の受け付けと http から https への転送、ヘルスチェックとフェイルオーバーまでを、フォトログの入口を例に説明します。

入口の名前が長すぎて、しかも通信が丸見え

第13章までで、フォトログは入口(ALB)・計算(Web サーバー)・データ(RDS)の3層になりました。利用者は ALB に向かってアクセスすれば使えます。

ところが、ALB の名前は、AWS が自動で付けた図の上の板のような長い名前です。

困りごとなぜ困るか
長くて覚えられない人に教えられない。名刺にも広告にも載せられない
ALB を作り直すと名前が変わる今まで配った URL が全部つながらなくなる
http:// のまま通信が暗号化されておらず、途中で読まれる
ブラウザに「保護されていない通信」と出る利用者が不安になって去る。ログインの画面ならなおさら

欲しいものは2つです。自分で決めた覚えやすい名前(この本では例として example.com を使います。実際には自分で買った名前に置き換えてください)と、鍵のかかった通信(https://)です。

この章では、名前を Route 53、鍵(証明書)を ACM で付け、ALB で HTTPS を受け付けるところまで作ります。その前に、インターネットで「名前」がどう扱われているのかを、ゼロから見ていきます。

※2026年9月時点の情報です。画面・料金・細部は変わることがあります。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 1 / 23
  • 入口の名前が長すぎて、しかも通信が丸見え
  • http://photolog-alb-1234567890.ap-northeast-1.elb.amazonaws.com/
  • NG
  • 長くて覚えられない。人に教えることも、名刺に載せることもできない
  • NG
  • ALB を作り直すと名前が変わり、今までの URL がすべて無効になる
  • NG
  • http:// のままでは、カフェの Wi-Fi でパスワードを盗み見られる
  • NG
  • ブラウザのアドレス欄に「保護されていない通信」と出て、利用者が逃げる
  • 欲しいのは「example.com」のような自分の名前と、鍵のかかった「https://」
  • → 名前は Route 53、鍵(証明書)は ACM で付ける
  • ひらめき
  • ALB には AWS が付けた長い名前しかない。しかも http:// の通信は、途中で誰でも読める。

IP アドレスは電話番号、DNS は電話帳

インターネットにつながった機械どうしは、IP アドレスという数字の住所で相手を指定して通信します(第5章)。203.0.113.10 のような形です。

でも、人は数字の並びを覚えるのが苦手です。そこで、覚えやすい名前(ドメイン名)を付け、必要なときに数字に直します。この「名前 → 数字」の変換をする仕組みが DNS(Domain Name System)です。

電話インターネット
覚えやすい名前「山田さん」example.com(ドメイン名)
実際の宛先電話番号203.0.113.10(IP アドレス)
名前を番号に直すもの電話帳・連絡先DNS

スマートフォンで「山田さん」を押すと、裏で電話番号が引かれて電話がかかります。同じように、ブラウザに example.com と打つと、裏で DNS が IP アドレスを調べ、その住所のサーバーにつなぎます。

名前と番号を分けておくと、もう1つ良いことがあります。番号が変わっても、電話帳を書き換えれば名前はそのまま使えることです。サーバーを引っ越しても、利用者に配った URL は変わりません。

では、世界中に何億とある名前を、DNS はどうやって調べているのでしょうか。次から、ブラウザが example.com を調べる旅を、図の小包で追います。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 2 / 23
  • IP アドレスは電話番号、DNS は電話帳
  • example.com
  • 調べる
  • 203.0.113.10
  • サーバー
  • 電話
  • インターネット
  • 覚えやすい名前
  • 「山田さん」
  • example.com(ドメイン名)
  • 実際の宛先
  • 090-XXXX-XXXX
  • 203.0.113.10(IP アドレス)
  • 名前を番号に直すもの
  • 電話帳・連絡先
  • DNS
  • ひらめき
  • 機械どうしは数字の住所(IP アドレス)で通信する。人が覚えやすい名前を数字に直すのが DNS。

名前を調べる旅 ①:ブラウザは、まず「調べる係」に聞く

ブラウザが example.com を開こうとすると、まず「example.com の IP アドレスは?」という問い合わせを作ります。図の青い小包です。

ブラウザ(とパソコン)は、この問い合わせを自分で世界中に聞いて回ることはしません。リゾルバーと呼ばれる「調べる係」に丸投げします。

登場人物役割
ブラウザ「この名前の IP アドレスを教えて」と頼むだけ
リゾルバー代わりにあちこちへ聞いて回り、答えを持ってくる係。家なら回線の会社、会社ならその会社のネットワーク、または公開されているもの

リゾルバーは、最近調べた答えを覚えています。誰かが少し前に同じ名前を聞いていれば、すぐに答えを返せます。覚えていなければ、次の旅に出ます。

ちなみに、AWS の VPC の中のサーバーも、同じようにリゾルバーを使います。VPC には AWS が用意したリゾルバーがあり、第13章の RDS のエンドポイントのような名前も、ここで IP アドレスに直されています。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 3 / 23
  • 名前を調べる旅 ①:ブラウザは、まず「調べる係」に聞く
  • インターネット
  • ルートサーバー
  • 「.com の係は向こう」
  • ノートPC
  • ブラウザ
  • 検索
  • リゾルバー
  • インターネット
  • .com の係
  • 利用者の手元
  • 調べる係(回線の会社)
  • 「example.com は Route 53 へ」
  • 問い合わせ
  • 場所
  • Route 53
  • 「203.0.113.10 です」
  • 「example.com の IP は?」
  • ブラウザ → リゾルバー
  • ひらめき
  • ブラウザは自分で世界中を探さない。回線の会社などが用意した「リゾルバー」に丸投げする。

名前を調べる旅 ②:リゾルバーは、上から順にたずね歩く

リゾルバーは、図の番号の順に聞いて回ります。

順番聞く相手返ってくる答え
1ルートサーバー(DNS のいちばん上)「.com のことなら、.com の係に聞いて」
2.com の係「example.com のことなら、Route 53 のこの名前サーバーに聞いて」
3Route 53(あなたのドメインの係)「example.com は 203.0.113.10 です」

DNS は、世界中の名前を1か所で持っているのではありません。右端の区画ごとに係が分かれていて、下の区画の係を紹介していく仕組みです。これを委任と呼びます。

最後に本当の答えを持っている係を、権威ある名前サーバーと呼びます。あなたのドメインについては、あなたが設定した Route 53 がこの係になります。

ここが大事なところです。1の「ルート」と2の「.com の係」は世界共通のもので、あなたが触ることはありません。あなたが作って管理するのは、3の Route 53 の中身だけです。そして、2の「.com の係」に「example.com は Route 53 に聞いて」と紹介してもらうための手続きが、この後の「名前サーバーの登録」です。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 4 / 23
  • 名前を調べる旅 ②:リゾルバーは、上から順にたずね歩く
  • インターネット
  • ルートサーバー
  • 1
  • 「.com の係は向こう」
  • ノートPC
  • ブラウザ
  • 検索
  • リゾルバー
  • 2
  • インターネット
  • .com の係
  • 利用者の手元
  • 調べる係(回線の会社)
  • 「example.com は Route 53 へ」
  • 3
  • 場所
  • Route 53
  • 「203.0.113.10 です」
  • 問い合わせ
  • ひらめき
  • ルート → .com の係 → Route 53 の順に聞く。最後に答えを持つのが、あなたの Route 53。

名前を調べる旅 ③:答えを持ち帰り、しばらく覚えておく

Route 53 の答え(緑の小包)は、リゾルバーを経由してブラウザに届きます。ブラウザは教わった IP アドレス、つまり ALB につなぎます。

旅は毎回するわけではありません。答えには TTL(Time To Live、生きていてよい時間)という数字が付いていて、リゾルバーやブラウザはその秒数のあいだ答えを覚えておきます。

TTL の間TTL が過ぎたら
覚えた答えをすぐ返す。旅は省略もう一度 Route 53 まで聞きに行く

これで DNS は、世界中から膨大な問い合わせが来ても耐えられます。一方で、Route 53 の中身を書き換えても、TTL が過ぎるまでは古い答えを使う人がいる、ということでもあります。これは後で「引っ越し」のときに大事になります。

まとめると、名前を調べる旅はこうでした。

誰が何をする
ブラウザリゾルバーに頼む
リゾルバールート → .com → Route 53 の順に聞き、答えを覚える
Route 53あなたが書いた電話帳の中身を答える

次は、その「電話帳」を作るために、まずドメインを手に入れる話です。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 5 / 23
  • 名前を調べる旅 ③:答えを持ち帰り、しばらく覚えておく
  • インターネット
  • ルートサーバー
  • 「.com の係は向こう」
  • ノートPC
  • ブラウザ
  • 検索
  • リゾルバー
  • インターネット
  • .com の係
  • 利用者の手元
  • 調べる係(回線の会社)
  • 「example.com は Route 53 へ」
  • 203.0.113.10
  • 時計
  • 覚えておく時間=TTL
  • 場所
  • Route 53
  • (例:300秒)
  • 「203.0.113.10 です」
  • リゾルバー → ブラウザ
  • ひらめき
  • ブラウザは教わった IP アドレスへつなぐ。答えは TTL の間だけ覚え、次からは旅を省く。

ドメイン名は、右から左へ大きい順に読む

www.example.com という名前は、右から左へ読みます。住所を「日本・東京都・千代田区」と大きい順に読むのと同じで、右ほど大きな区画です。

部分呼び名意味
comトップレベルドメインいちばん大きい区画。.com、.net、.jp など
exampleあなたが買う名前「.com の中の example」はあなたのもの
wwwサブドメイン持ち主が自由に作れる。img、api なども作れる

ドメイン名は、登録事業者(レジストラ)から買います。正確には「買う」というより、1年ごとに料金を払って借り続けるものです。Route 53 自身も登録事業者として、ドメインの登録を受け付けています。

買うときに知っておくこと内容
料金トップレベルドメインごとに年額が違う。最初の年だけ安いものもあるので、更新の値段も見る
更新更新を忘れると期限で切れ、サイトもメールも止まる。他人に取られることもある
持ち主の情報登録には連絡先が必要。公開される範囲は登録事業者やトップレベルドメインで違う

ドメインを持っていない場合は、Route 53 の「ドメインを登録」から探して買えます。すでに他の会社で持っている場合も、そのまま使えます(次で説明します)。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 6 / 23
  • ドメイン名は、右から左へ大きい順に読む
  • www
  • .
  • example
  • .
  • com
  • サブドメイン
  • 買った名前
  • トップレベル
  • 自由に作れる
  • 年ごとに料金
  • .com .jp .net など
  • カート
  • ドメインを買う(登録する)
  • 旗
  • 持っている間だけ使える
  • 登録事業者から。Route 53 でも買える
  • 更新を忘れると他人に取られる
  • ひらめき
  • example.com は「.com という大きな区画の中の example」。右ほど大きく、左ほど細かい。

ホストゾーン:あなたのドメインの「電話帳」

Route 53 で、あなたのドメインの電話帳にあたるものをホストゾーンと呼びます。example.com のホストゾーンを作ると、中にレコード(電話帳の1行)を書いていけます。

ホストゾーンを作ると、Route 53 は名前サーバーを4つ割り当てます。ns-123.awsdns-45.com のような名前で、ホストゾーンの中に NS レコードとして自動で書かれます。この4つが、旅の3番目に出てきた「あなたのドメインの係」です。

あとは、.com の係に「example.com の係はこの4つです」と伝えれば、世界中から引けるようになります。これは登録事業者を通して行います。

ドメインの買い方やること
Route 53 で買ったホストゾーンも名前サーバーの登録も自動で済む
他の会社で買ったRoute 53 でホストゾーンを作り、その会社の画面で名前サーバーを Route 53 の4つに書き換える

図の左の板がホストゾーンの中身の例です。NS のほかに、ALB を指す行や、www を指す行が並んでいます。

名前サーバーを書き換えた直後は、古い情報が各地のリゾルバーに残っていることがあります(TTL)。切り替わるまで時間がかかることがあるので、落ち着いて待ちます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 7 / 23
  • ホストゾーン:あなたのドメインの「電話帳」
  • 本
  • ホストゾーン:example.com
  • 会社
  • 登録事業者
  • 「example.com の係はこの4つ」
  • 名前
  • 種類
  • 値
  • example.com
  • NS
  • 名前サーバー×4
  • Route 53 で買った場合は、
  • example.com
  • エイリアス
  • ALB
  • ホストゾーンも名前サーバーの登録も
  • 自動で済む。よそで買った場合は、
  • www
  • CNAME
  • example.com
  • その会社の画面で名前サーバーを
  • Route 53 の4つに書き換える
  • ひらめき
  • ホストゾーンを作ると、Route 53 の名前サーバーが4つ割り当てられる。それを登録事業者に伝える。

レコード:電話帳の1行。種類ごとに役割が違う

ホストゾーンには、種類の違うレコードを書きます。よく使うものを並べます。

種類意味例
A名前 → IPv4 アドレス(ふつうの数字の住所)example.com → 203.0.113.10
AAAA名前 → IPv6 アドレス(新しい長い住所)example.com → 2001:db8::10
CNAME名前 → 別の名前(「あっちと同じ」という別名)www.example.com → example.com
エイリアスRoute 53 独自。AWS の部品を直接指すexample.com → ALB
MXこの名前宛てのメールをどこへ届けるかメールサービスのサーバー名
TXT自由な文字。持ち主の確認やメールの設定に使う"v=spf1 ..."
NSこのドメインの係(名前サーバー)Route 53 の4つ

レコードは「名前・種類・値・TTL」の4つで1行です。

項目意味
名前どの名前についての行か(example.com、www.example.com など)
種類A・CNAME など
値答え(IP アドレスや別の名前)
TTLこの答えを覚えてよい秒数

この中で、AWS で構成を作るときにいちばん大事なのがエイリアスです。なぜふつうの A レコードではだめなのかを、次に見ます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 8 / 23
  • レコード:電話帳の1行。種類ごとに役割が違う
  • 種類
  • 意味
  • 例
  • A
  • 名前 → IPv4 アドレス
  • example.com → 203.0.113.10
  • AAAA
  • 名前 → IPv6 アドレス
  • example.com → 2001:db8::10
  • CNAME
  • 名前 → 別の名前(別名)
  • www.example.com → example.com
  • エイリアス
  • Route 53 独自。AWS の部品を直接指す
  • example.com → ALB
  • MX
  • この名前宛てのメールの届け先
  • メールサービスの名前
  • TXT
  • 自由な文字。持ち主の確認などに使う
  • "v=spf1 ..."
  • NS
  • このドメインの係(名前サーバー)
  • ns-123.awsdns-45.com など
  • ひらめき
  • よく使うのは A・AAAA・CNAME・エイリアス。メールの MX、確認用の TXT も覚えておく。

エイリアス:変わり続ける ALB の住所を、名前ごと指す

ALB(第11章)には、決まった IP アドレスがありません。混んでくると AWS が裏で台数を増やしたり、機械を入れ替えたりするため、IP アドレスは AWS の都合で増えたり変わったりします。図の右の3つの札がその様子です。

だから、A レコードに ALB の IP アドレスを数字で書くと、ある日突然つながらなくなります。ALB は必ず名前で指す必要があります。

名前で指すなら CNAME がありますが、DNS には1つ決まりがあります。

決まり困ること
CNAME は、ドメインのてっぺん(example.com そのもの。ゾーンの頂点と呼ぶ)には置けないwww.example.com は CNAME で ALB を指せるが、example.com は指せない

そこで Route 53 にはエイリアスという独自のレコードがあります。

エイリアスの性質内容
指せるものALB、CloudFront(第15章)、S3 の Web サイト、API Gateway など AWS の部品
置ける場所ゾーンの頂点にも置ける
答え方Route 53 が ALB の今の IP アドレスを調べ、A レコードのように答える
料金AWS の部品を指すエイリアスへの問い合わせは無料

AWS の部品を指すなら、迷わずエイリアスを選びます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 9 / 23
  • エイリアス:変わり続ける ALB の住所を、名前ごと指す
  • 203.0.113.10(今日)
  • example.com
  • エイリアス
  • ネットワーク
  • ALB
  • AWS が付けた長い名前
  • 198.51.100.23(明日)
  • 203.0.113.77(増えた)
  • NG
  • CNAME はドメインのてっぺん(example.com そのもの)には置けない決まり
  • OK
  • エイリアスはてっぺんにも置ける。AWS の部品への問い合わせは無料
  • ひらめき
  • ALB の IP は AWS の都合で変わるので、A に数字を書けない。エイリアスなら名前で指せる。

TTL:答えを覚えておく時間。変える前には短くしておく

旅の③で見た TTL は、長ければ良い、短ければ良い、というものではありません。

TTL が長い(例:1日=86400秒)TTL が短い(例:60秒)
速さ覚えた答えを使うので速い問い合わせが増える
料金問い合わせが少なく安い問い合わせの回数が増える
行き先を変えたとき古い答えが最長1日残る1分ほどで新しい答えに切り替わる

ふだんは長めでも困りません。困るのは行き先を変えるときです。

たとえば、別の ALB に引っ越すとき、TTL が1日のままレコードを書き換えると、最長1日のあいだ、一部の利用者は古い ALB につなぎ続けます。そこで次の手順にします。

いつやること
引っ越しの前日TTL を短く(例:60秒)しておく。古い長い TTL が切れるのを待つ
当日行き先を書き換える。数分で全員が新しい行き先へ
落ち着いたらTTL を元の長さに戻す

なお、エイリアスでは TTL を自分で決めません。指す先(ALB など)に合わせた値が使われます。

ここまでで「名前」はそろいました。次は「鍵」です。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 10 / 23
  • TTL:答えを覚えておく時間。変える前には短くしておく
  • TTL が長い(例:1日)
  • TTL が短い(例:60秒)
  • 速さ
  • 覚えた答えを使うので速い
  • 問い合わせが増える
  • 料金
  • 問い合わせが少ない
  • 問い合わせが増える
  • 行き先を変えたとき
  • 古い答えが最長1日残る
  • 1分ほどで新しい答えに
  • ひらめき
  • 引っ越しの前日に TTL を短くし、終わったら戻す
  • エイリアスの TTL は指す先(ALB など)の設定に従う
  • ひらめき
  • TTL が長いと問い合わせが減って速いが、行き先を変えても古い答えがしばらく使われ続ける。

http:// の通信は、はがきと同じ。途中の誰でも読める

HTTP は、ブラウザとサーバーが Web の内容をやり取りするときの決まり事です。http:// で始まる URL は、この決まりでそのまま通信します。

インターネットの通信は、あなたのサーバーに届くまでに、Wi-Fi の機械、回線の会社の機械など、たくさんの機械を経由します。HTTP の通信は暗号化されていないので、途中の機械からは中身がそのまま見えます。はがきと同じです。

図では、カフェの Wi-Fi でログインしたときの小包に、パスワード(たとえば password=hana87)が書かれたまま流れています。同じ Wi-Fi にいる悪意のある人は、これを読めます。

危険何が起きるか
のぞき見パスワードや、ログイン中の印(クッキー)が盗まれる。なりすましてログインされる
書き換え途中で表示を書き換えられたり、ダウンロードするファイルに悪いものを混ぜられたりする
なりすまし偽のサーバーが「example.com です」と答えても気づけない

今のブラウザは、HTTP のサイトに「保護されていない通信」と表示します。ログインや写真の投稿がある以上、フォトログは全部の通信を暗号化する必要があります。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 11 / 23
  • http:// の通信は、はがきと同じ。途中の誰でも読める
  • パスワード
  • VPC
  • ノートPC
  • ブラウザ
  • Wi-Fi
  • ネットワーク
  • ALB
  • サーバー
  • Web(EC2)
  • カフェの Wi-Fi
  • 入口
  • 読まれる:パスワード、ログインの札(クッキー)
  • 見る
  • のぞく人
  • 書き換えられる:表示される内容、ダウンロード
  • 中身が全部読める
  • ひらめき
  • 通信は多くの機械を経由する。暗号化しないと、途中でのぞき見も書き換えもできてしまう。

HTTPS:暗号化して、相手が本物かも確かめる

HTTPS は、HTTP を TLS という仕組みで包んだものです。https:// で始まる URL は、この方法で通信しています。

TLS は3つのことをします。

働き防ぐもの
暗号化のぞき見。途中の人には意味のない文字の並びにしか見えない(図の緑の小包)
改ざんの検出書き換え。途中で1文字でも変えられたら、受け取った側が気づく
相手の確認なりすまし。証明書で「本物の example.com」かを確かめる

暗号化は、ブラウザとサーバーが最初に鍵を安全に決めてから始まります。その鍵を決める手順の中で、サーバーは自分の証明書を差し出します。

図の錠前は、ブラウザから ALB までの区間に鍵がかかっていることを表しています。ブラウザのアドレス欄に鍵のマークが出ているのが、この状態です。

大事なのは、暗号化だけでは足りないという点です。相手が偽物なら、偽物と暗号で話すことになるからです。だから「相手が本物か」を確かめる証明書が、HTTPS の要になります。次に、証明書とは何かを見ます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 12 / 23
  • HTTPS:暗号化して、相手が本物かも確かめる
  • (読めない)
  • VPC
  • 守られている
  • 証明書=身分証
  • ノートPC
  • ブラウザ
  • 暗号化された通信
  • ネットワーク
  • ALB
  • サーバー
  • 錠
  • 入口
  • Web(EC2)
  • OK
  • 暗号化:途中の人には意味のない文字の並びにしか見えない
  • OK
  • 改ざんの検出:途中で書き換えられたら、受け取った側が気づける
  • ひらめき
  • HTTPS は HTTP を TLS という仕組みで包んだもの。のぞき見・書き換え・なりすましの3つを防ぐ。

証明書:「この名前の持ち主です」と、信頼できる機関が保証した身分証

証明書(サーバー証明書)は、Web サイトの身分証です。図の左のような項目が書かれています。

項目意味
名前どの名前(example.com など)の身分証か
発行した機関身分を確かめて発行した認証局(CA)
有効期限いつまで有効か
公開鍵暗号の鍵を決めるのに使う鍵

認証局は、「本当にこの名前の持ち主か」を確かめてから証明書を発行する機関です。ブラウザや OS には、信頼できる認証局の一覧が最初から入っています。

ブラウザは、証明書を受け取ると、図の右の3つを確かめます。

確かめること合わないとき
信頼できる認証局の発行か自分で作った「自称」の証明書は警告が出る
開いた名前と合っているか別の名前の証明書なら警告が出る
期限が切れていないか期限切れなら警告が出る

1つでも合わないと、ブラウザは大きな警告画面を出して止めます。利用者の多くはそこで去ります。特に期限切れは、ある日突然サイト全体が警告画面になる、よくある事故です。

昔は、証明書を買い、期限のたびに更新作業をするのが手間でした。AWS ではこれを ACM に任せられます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 13 / 23
  • 証明書:「この名前の持ち主です」と、信頼できる機関が保証した身分証
  • 守られている
  • 証明書(サーバー証明書)
  • OK
  • 信頼できる認証局の発行か
  • 名前
  • example.com
  • OK
  • アクセスした名前と合っているか
  • 発行した機関
  • 認証局(CA)
  • OK
  • 期限が切れていないか
  • 有効期限
  • 決まった日まで
  • 1つでも合わないと、ブラウザは
  • 公開鍵
  • 暗号化に使う鍵
  • 大きな警告を出して止める
  • ひらめき
  • ブラウザは、証明書が信頼できる認証局の発行で、名前が合っていて、期限内かを確かめる。

ACM:証明書を無料で発行し、期限前に自動で更新する

ACM(AWS Certificate Manager)は、証明書を発行・更新してくれるサービスです。

発行の流れは図の番号の順です。

順番起きること
1ACM に「example.com の証明書をください」と頼む
2ACM が「持ち主なら、この CNAME レコードを置いてください」と言う。Route 53 なら画面のボタン1つで追加できる(DNS 検証)
3ACM がその1行を確認し、証明書を発行する

DNS に指定の1行を置けるのは、そのドメインの持ち主だけです。だから、それで持ち主の確認になります。

ACM の証明書内容
料金ALB・CloudFront など、ACM と連携した部品で使う分は無料
有効期間業界のルール変更に合わせ、2026年から最長198日
更新期限の前に ACM が自動で更新する。確認用の CNAME が残っていることが条件
鍵ふつうは取り出せない(盗まれる心配が減る)。取り出して他の場所で使える有料の証明書もある

有効期間が短くなっても、自動で更新されるなら手間は増えません。確認用の CNAME を消さないことだけ覚えておいてください。消すと、ある日更新に失敗し、期限切れの事故になります。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 14 / 23
  • ACM:証明書を無料で発行し、期限前に自動で更新する
  • 守られている
  • ACM
  • 証明書を発行・更新
  • 1行置いて
  • 場所
  • Route 53
  • 錠
  • 証明書
  • 確認用の CNAME を1行
  • 発行された
  • ACM の証明書
  • 料金
  • ALB・CloudFront などで使う分は無料
  • 有効期間と更新
  • いまは最長198日。期限の前に自動で更新(確認用の1行を消さないこと)
  • 使える場所
  • ACM と連携した AWS の部品だけ(鍵は取り出せない。取り出せる有料版もある)
  • ひらめき
  • ACM は ALB などに付ける証明書を無料で発行する。DNS の1行で持ち主を確かめる。

ALB に証明書を付け、443番で HTTPS を受ける

証明書ができたら、ALB に付けます。

ポート(第8章)の番号は、HTTP が 80番、HTTPS が 443番と決まっています。ALB に443番のリスナー(第11章の「受付の窓口」)を足し、ACM の証明書を選びます。

設定値
リスナーHTTPS・443番
証明書ACM で発行した example.com の証明書
セキュリティポリシーどの暗号の方式を許すか。AWS の推奨の既定値でよい
alb-sg(第8章)443番を 0.0.0.0/0(どこからでも)許可
転送先これまでと同じターゲットグループ(Web サーバー)

図のように、暗号は ALB でほどきます。ALB から VPC の中の Web サーバーへは、ふつうの HTTP で渡します。これを TLS の終端を ALB に置く、と言います。

良い点内容
証明書の管理が1か所Web サーバーが何台でも、証明書は ALB に1つ
Web サーバーが楽暗号の計算を ALB が引き受ける

VPC の中は外から入れないように作ってある(第6・8章)ので、ここを HTTP にするのが一般的です。規則などで「中まで全部暗号化」が求められる場合は、ALB から Web サーバーへも HTTPS にできます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 15 / 23
  • ALB に証明書を付け、443番で HTTPS を受ける
  • VPC
  • 開いた錠
  • ここで暗号をほどく
  • ノートPC
  • ブラウザ
  • HTTPS(443番)
  • ネットワーク
  • ALB
  • サーバー
  • 入口
  • Web(EC2)
  • 錠
  • HTTP
  • リスナー
  • 443番・HTTPS
  • 証明書
  • ACM で発行したもの
  • alb-sg
  • 443番を 0.0.0.0/0 から
  • ひらめき
  • 暗号は ALB でほどき、VPC の中の Web へは中身を渡す。証明書の管理が ALB 1か所で済む。

http:// で来た人は、https:// へ案内し直す

443番を作っても、利用者が http://example.com と打ったり、古いリンクから来たりすると、80番に届きます。そのとき、中身を返してはいけません。https へ案内し直すだけにします。

図の番号の順に動きます。

順番起きること
1ブラウザが http://(80番)で来る
2ALB の80番のリスナーが「301:こちらへ移りました」と、https:// の URL を返す
3ブラウザが自動で https://(443番)につなぎ直す

301 は「恒久的に移動しました」という意味の答えです。ALB のリスナーには「転送(リダイレクト)」という動作があり、80番の既定の動作を「443番の HTTPS へ転送、301」にするだけで設定できます。アプリの変更は要りません。

さらに一歩進めると、アプリの応答に HSTS という印(Strict-Transport-Security)を付けられます。一度 HTTPS で来たブラウザに「次からは最初から https で来て」と覚えさせるもので、最初の http の1回すら通らなくなります。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 16 / 23
  • http:// で来た人は、https:// へ案内し直す
  • VPC
  • ① http://(80番)
  • ノートPC
  • ブラウザ
  • ② 301:https へどうぞ
  • ネットワーク
  • ALB
  • サーバー
  • ③ https://(443番)
  • 入口
  • Web(EC2)
  • HTTP/1.1 301 Moved Permanently
  • Location: https://example.com/
  • ひらめき
  • 80番は「https へどうぞ」と返すだけ(301 転送)。中身は443番でしか渡さない。

作り方:6つの手順で、名前と鍵が付く

図の番号の順に作ります。順番には理由があります。証明書の発行には DNS が要り、HTTPS の設定には証明書が要るからです。

順番やることポイント
1ドメインを用意Route 53 で登録、または手持ちのものを使う
2ホストゾーンよそで買ったなら、名前サーバーを Route 53 の4つに書き換える
3ACM で証明書ALB と同じリージョンで。名前は example.com と www.example.com。DNS 検証
4ALB に443番証明書を選び、転送先は既存のターゲットグループ
580番は転送既定の動作を「HTTPS の443番へ、301」に変える
6エイリアスを作るexample.com の A(エイリアス)→ ALB

証明書を CLI で頼む場合は次のようになります。

bash
aws acm request-certificate \
  --domain-name example.com \
  --subject-alternative-names www.example.com \
  --validation-method DNS

最後に、ブラウザで確かめます。https://example.com で鍵のマークが出ること、http://example.com が https:// に変わること、証明書の名前と期限が正しいことを見ます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 17 / 23
  • 作り方:6つの手順で、名前と鍵が付く
  • カート
  • ドメインを用意
  • 本
  • ホストゾーン
  • 守られている
  • ACM で証明書
  • Route 53 で買う/持ち込む
  • NS を登録事業者に
  • DNS 検証で発行
  • ネットワーク
  • ALB に443番
  • 更新
  • 80番は転送
  • 場所
  • エイリアスを作る
  • 証明書を付ける
  • 301 で https へ
  • example.com → ALB
  • 確かめ方:ブラウザで https://example.com を開き、鍵のマークが出て、http:// が https:// に変わるか
  • 証明書の画面で「発行済み」になるまで数分〜30分ほど。確認用の CNAME は消さずに残す
  • ひらめき
  • 順番が大事。証明書の発行には DNS が要り、HTTPS の設定には証明書が要る。

Route 53 は「どこへ案内するか」も選べる

Route 53 は、ただ答えを返すだけでなく、誰に・どの答えを返すかを選べます。これをルーティングポリシーと呼びます。

ルーティング案内のしかた使いどころ
シンプルいつも同じ答えふつうの構成。フォトログはまずこれ
フェイルオーバー本番が不調なら予備へ別リージョンの予備に切り替える(第29章)
加重決めた割合(例:9対1)で振り分ける新しい版を少しの人だけで試す
レイテンシー利用者から通信の速いリージョンへ世界に向けたサービス
位置情報利用者の国や地域で決める国ごとに違う内容を出す

フェイルオーバーを支えるのがヘルスチェックです。Route 53 が世界の複数の場所から定期的に相手を叩き、答えが返らなければ「不調」と判断して、案内から外します。

第11章の ALB のヘルスチェックとの違いに注意してください。

ALB のヘルスチェックRoute 53 のヘルスチェック
見るもの1台1台の Web サーバーALB やリージョン丸ごと
外したらそのサーバーに振らないその行き先を DNS の答えから外す

大きな単位の故障に備えるのが Route 53、1台の故障に備えるのが ALB、という分担です。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 18 / 23
  • Route 53 は「どこへ案内するか」も選べる
  • ルーティング
  • 案内のしかた
  • 使いどころ
  • シンプル
  • いつも同じ答え
  • ふつうの構成
  • フェイルオーバー
  • 本番が不調なら予備へ
  • 災害への備え(第29章)
  • 加重
  • 決めた割合で振り分ける
  • 新しい版を少しずつ試す
  • レイテンシー
  • 利用者から近いリージョンへ
  • 世界に向けたサービス
  • 位置情報
  • 利用者の国・地域で決める
  • 国ごとの出し分け
  • OK
  • ヘルスチェック:Route 53 が定期的に相手を叩き、答えなければ案内から外す
  • ひらめき
  • 正常な先だけに案内するフェイルオーバーや、近い地域へ案内する方法がある。

フォトログでは:3行のレコードで入口がそろう

フォトログの example.com のホストゾーンには、次の行を書きます。

名前種類行き先
example.comA(エイリアス)ALB。アプリ本体
www.example.comA(エイリアス)ALB。アプリ側で example.com へ転送してもよい
img.example.comA(エイリアス)CloudFront(第15章)。写真の配信
_xxxx.example.comCNAMEACM の確認用。消さない

img.example.com は、次の第15章で作る写真の配信の入口です。先に名前だけ決めておきます。

証明書は、ALB 用には example.com と www.example.com の2つの名前を入れて1枚作ります。1枚の証明書に複数の名前を入れられます。

注意が1つあります。第15章で使う CloudFront 用の証明書だけは、バージニア北部(us-east-1)リージョンで作る決まりがあります。CloudFront は世界中に配る仕組みなので、証明書を1か所で受け取るためです。東京で作った証明書は CloudFront の画面で選べません。

証明書作るリージョン
ALB 用(example.com、www)ALB と同じ(東京)
CloudFront 用(img.example.com)バージニア北部(us-east-1)

これで、利用者は https://example.com でフォトログを開けるようになりました。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 19 / 23
  • フォトログでは:3行のレコードで入口がそろう
  • 名前
  • 種類
  • 行き先
  • example.com
  • A(エイリアス)
  • ALB(アプリ本体)
  • www.example.com
  • A(エイリアス)
  • ALB(または example.com へ転送)
  • img.example.com
  • A(エイリアス)
  • CloudFront(第15章。写真の配信)
  • _xxxx.example.com
  • CNAME
  • ACM の確認用。消さない
  • 証明書には example.com と www.example.com の両方の名前を入れておく
  • CloudFront 用の証明書だけは、バージニア北部(us-east-1)で作る決まり(第15章)
  • ひらめき
  • てっぺんと www は ALB へ、写真の配信用の名前は第15章の CloudFront へ。すべてエイリアス。

お金:ドメインは年ごと、ホストゾーンは月ごと、問い合わせは回数

この章の部品の料金は、主に次のとおりです。

課金されるもの単位メモ
ドメインの登録1年ごと。トップレベルドメインで値段が違う更新の値段も確かめる。自動更新にしておく
ホストゾーン1つにつき月ごと作ってから12時間以内に消せば、ホストゾーンの料金はかからない
問い合わせ回数ごとAWS の部品を指すエイリアスへの問い合わせは無料
ヘルスチェック1つにつき月ごと使わなくなったら消す
ACM の証明書ALB・CloudFront などで使う分は無料取り出せる証明書は有料
ALB の443番リスナーを足しても ALB の料金の仕組みは同じALB 自体は時間と処理量(第11章)

この章の部品は、全体の中ではかなり安い部類です。ただし、ホストゾーンの料金は月の途中で消しても日割りにならないので、練習で作ったものは12時間以内に消すと無駄がありません。

単価は料金ページで確かめてください。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 20 / 23
  • お金:ドメインは年ごと、ホストゾーンは月ごと、問い合わせは回数
  • 課金されるもの
  • 単位
  • メモ
  • ドメインの登録
  • 1年ごと(.com・.jp で違う)
  • 自動更新にしておく
  • ホストゾーン
  • 1つにつき月ごと
  • 作って12時間以内に消せば無料
  • 問い合わせ
  • 回数ごと
  • AWS 部品へのエイリアスは無料
  • ヘルスチェック
  • 1つにつき月ごと
  • 使わないなら消す
  • ACM の証明書
  • ALB などで使う分は無料
  • 取り出せる証明書は有料
  • 単価は料金ページで確かめる。ドメインはいちばん安い年だけで選ばず、更新の値段も見る
  • ひらめき
  • ACM の証明書は ALB で使う分は無料。Route 53 の問い合わせも、AWS の部品へのエイリアスは無料。

よくある落とし穴

DNS と証明書の事故は、「ある日突然、全員がつながらない」という形で出るのが特徴です。

事故何が起きるか防ぎ方
名前サーバーの書き換え忘れRoute 53 に何を書いても、世界からは見えない登録事業者の画面の名前サーバーが、ホストゾーンの NS の4つと一致しているか見る
確認用 CNAME を消す更新に失敗し、期限切れで警告画面「ACM 用」とわかる名前のまま残す
ドメインの更新忘れサイトもメールも止まる。他人に取られることも自動更新をオンにし、支払い方法の期限も見る
CloudFront 用の証明書を東京で作るCloudFront の画面で選べないus-east-1 で作り直す
TTL が長いまま引っ越す古い行き先に最長で TTL の間つながる前日に短くしておく
80番で中身まで返すhttp のまま使われ続ける80番は転送だけにする

もう1つ、同じドメインのホストゾーンを2つ作ってしまう事故もあります。作り直したつもりで古いほうが残っていると、登録事業者が指している名前サーバーと、あなたが編集しているホストゾーンが食い違い、「書いたのに反映されない」になります。NS の4つが一致しているかで見分けます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 21 / 23
  • よくある落とし穴
  • NG
  • よそで買ったドメインの名前サーバーを、Route 53 の4つに書き換え忘れる
  • NG
  • ACM の確認用 CNAME を「要らなそう」と消し、証明書が更新できなくなる
  • NG
  • ドメインの更新を忘れ、期限切れで止まる(他人に取られることも)
  • NG
  • CloudFront 用の証明書を東京リージョンで作り、選べずに迷う
  • NG
  • TTL を長くしたまま引っ越し、古い行き先に1日つながり続ける
  • NG
  • 80番で中身まで返してしまい、http:// のまま使われ続ける
  • ひらめき
  • DNS と証明書の事故は「ある日突然、全員がつながらない」の形で出る。期限と名前サーバーを疑う。

片付け:レコード → 証明書 → ホストゾーン の順に消す

使われているものは消せないので、外側から順に外します。

順番消すもの補足
1自分で作ったレコードホストゾーンは、NS と SOA(自動で作られる2行)以外が空でないと消せない
2ALB の443番のリスナー証明書が ALB で使われている間は、証明書を消せない
3ACM の証明書使用中でなくなれば消せる
4ホストゾーン空になったら消す

ドメインをどうするかは、別に考えます。

決めることやること
ドメインも手放す自動更新を切る。期限が来たら切れる。登録料は途中で返金されない
ドメインは残すホストゾーンも残す。消すと、その名前が引けなくなる

ヘルスチェックを作った場合は、それも消します。残すと月ごとの料金がかかり続けます。

最後に、https://example.com を開いてつながらないこと(残すならつながること)、翌日の請求で Route 53 の料金を確かめます。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 22 / 23
  • 片付け:レコード → 証明書 → ホストゾーン の順に消す
  • 場所
  • レコード
  • ネットワーク
  • ALB のリスナー
  • 守られている
  • 証明書
  • 本
  • ホストゾーン
  • NS と SOA 以外
  • 443番を外す
  • 使用中でなければ
  • 空になったら
  • OK
  • ヘルスチェックも消したか(残すと月ごとに課金)
  • OK
  • ドメインを手放すなら、自動更新を切る(ドメインは途中で返金されない)
  • OK
  • ドメインを残すなら、ホストゾーンも残す(消すと名前が引けなくなる)
  • ひらめき
  • 使われているものは消せないので、外側から順に外す。ドメインは更新しなければ期限で切れる。

まとめ:名前は Route 53、鍵は ACM、案内し直しは ALB

この章で見たことをまとめます。

項目内容
IP アドレスと DNS機械は数字の住所で話す。名前を数字に直すのが DNS
名前を調べる旅ブラウザ → リゾルバー → ルート → .com → Route 53。答えは TTL の間覚える
ドメイン右ほど大きな区画。年ごとに借りる
ホストゾーンドメインの電話帳。名前サーバー4つを登録事業者に伝える
エイリアスALB などを名前ごと指す。ゾーンの頂点にも置け、問い合わせは無料
HTTPS暗号化・改ざんの検出・相手の確認
証明書と ACM名前の身分証。ACM が無料で発行し自動で更新(確認用の1行を残す)
ALB443番で受けて暗号をほどく。80番は 301 で https へ
ルーティングフェイルオーバーや近い地域への案内も選べる

これで、利用者は https://example.com という覚えやすい名前で、安全にフォトログを開けるようになりました。

残る大きな問題は、写真です。いま写真は、投稿を受けた Web サーバーのディスクに保存されています。Auto Scaling でサーバーが入れ替わると写真は消え、別のサーバーに振られた人には見えません。しかも、大きな写真を配るたびに Web サーバーが忙しくなります。

次の第15章では、写真の置き場所 S3 と、世界中に速く配る CloudFront を使います。

  • AWS でサービスを作る 14 ― Route 53 と HTTPS
  • 23 / 23
  • まとめ:名前は Route 53、鍵は ACM、案内し直しは ALB
  • IP アドレスと DNS
  • 機械は数字の住所で話す。名前を数字に直すのが DNS
  • 名前を調べる旅
  • リゾルバーがルート → .com → Route 53 の順に聞く
  • ホストゾーン
  • ドメインの電話帳。名前サーバー4つを登録事業者へ
  • エイリアス
  • ALB などを名前ごと指す。てっぺんにも置ける
  • TTL
  • 答えを覚える時間。引っ越し前は短く
  • HTTPS
  • 暗号化・改ざん検出・本物の確認
  • ACM
  • 証明書を無料発行・自動更新(DNS の1行で確認)
  • ALB
  • 443番で受けて暗号をほどく。80番は 301 で転送
  • ひらめき
  • 次の第15章:写真を Web サーバーに置くと、入れ替わったときに消える。写真の置き場を作る。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]