K's Atelier

個人的な学習記録

Xserver+Route53+CloudFront+Certificate Manager+S3で静的サイトをHTTPS対応する

やっとできた。

はまったところを概要だけ書いておく。あとで詳細な手順を書こう。

作業順

  1. S3のバケットを作る
    1. バケット名はサブドメイン名と同一にする。
    2. 一旦静的Web hostingを有効にして,httpでアクセスできることを確認しておく。
  2. Certificate Manager
    1. N.Virginia限定。
    2. ドメイン名はワイルドカード指定とそうでないものの2件を登録する。
  3. CloudFront
    1. 先にOrigine Access Controlを作る
    2. CloudFront Distributionを作る。
      1. alternate domain nameに,サブドメイン名を指定する。
      2. Certificate Managerで作成した証明書を指定する。
    3. distribution作成時に出力されるS3 Bucket policyをS3バケットに適用する。
    4. この段階で,distributionのDNS名を使用してS3バケットにアクセスできることを確認する。
  4. Route53
    1. Xserverに登録したドメイン名でHosted Zoneを作る。
    2. サブドメイン CNAME CloudFront_distribution_DNS名」レコードを作る。
  5. Xserver
    1. Route53に記載されているNSレコードをXserverに追加する。
    2. https://サブドメイン名/パス でS3バケット内のオブジェクトにアクセスできることを確認する。

要所要所でnslookup,digを使用し,DNSが正しく反映されているかを確認する。

 

いや長い。長いよ。頭が整理できるとこの構成の意味も分かるのだが,どこにドメイン名,サブドメイン名が必要なのかを初見で判断するのは難しい。最初は「Route53が必要なわけ無いじゃん」と思ったけど,SSL証明書AWSサービス内で完結させるためにはRoute53が必要ってことですかね。

AWSの勉強というより,いわゆるネットワーク,DNSの勉強が重要。