「ゼロからわかるAmazon Web Services超入門 はじめてのクラウド」の感想・忘備録3

「ゼロからわかるAmazon Web Services超入門 はじめてのクラウド」の感想・忘備録2の続き

Route 53で管理するドメインの登録

Route53で新規取得したドメインはRoute53管理画面⇒Hosted zonesに表示される。
他のレジストラで取得したドメインをRoute53で管理したい場合は、「Created Hosted Zone」をクリックして登録する。

AWSでSSL使うための構成

構成1:EC2インスタンスに証明書をインストールする。

Apacheに秘密鍵と証明書をインストールする。
AWS以外でも使われる一般的な方法。

構成2:ELBを使う(S3のWeb site hostingの場合はCloudFront)

ブラウザ⇔ELBはHTTPS、ELB⇔EC2はHTTP通信となる。
秘密鍵と証明書は ELBにインストールする。
EC2の設定変更は必要ないので、こちらの方がオススメ。
デメリットはELBの費用がかかる点。
なお、S3のWeb site hostingはこちらの方法でしかSSLにすることができない。 (S3に証明書をインストールすることはできないため)

AWS Certificate ManagerでのSSL証明書作成手順

  1. AWS Certificate Manager管理画面を開く
  2. 「証明書のプロビジョニング」をクリック
  3. リージョンを選択
    ELBの場合:リージョンはELBと同じリージョンを選択する。 CloudFrontの場合:米国東部リージョンを選択しなければならない。
  4. 「パブリック証明書のリクエスト」をクリック
  5. 「証明書のリクエスト」をクリック
  6. ドメイン名を入力
  7. 検証方法を選択
    「DNSの検証」の方が簡単。CNAMEレコードを追加する必要があるが、Route53を使っている場合は勝手に設定してくれる
  8. 「確定とリクエスト」をクリック
  9. 検証画面が表示される。Route53を使っている場合は「Route53でのレコード作成」が表示されるのでクリック
  10. 「作成」をクリック

ELBの作成手順

  1. EC2管理画面を開く
  2. 「ロードバランサー」をクリック
  3. 「ロードバランサーの作成」をクリック
  4. ALBを選択
    ALB:HTTP、HTTPS用のロードバランサー
  5. スキーム:インターネット向け、プロトコル:HTTPS、AZ:振り分けたいEC2が配置してあるサブネットをすべてチェック
  6. 証明書:AWS Certificate Managerから証明書を選択する
  7. セキュリティポリシーの選択:デフォルト(ELBSecurityPolicy-2016-08)のまま
  8. セキュリティグループ:「新しいセキュリティグループを作成する」を選択すると、ポート443が自動的に設定される
  9. ルーティングの設定:新しいターゲットグループ、ターゲットの種類:インスタンス、プロトコル:HTTP(※ELB⇔EC2間はHTTPなので注意)、ポート:80
  10. ターゲットの登録:EC2インスタンスを選択し「追加」をクリック

DNS参照先をELBに向けるための手順

  1. Route53管理画面を開く
  2. 「Hosted zones」でドメインを選択
  3. AレコードのAliasをYESにし、ロードバランサーを選択

※Route53以外のDNSサーバの場合は、CNAMEでELBのエントリポイントをセットする

CloudFrontを作成し、S3バケットへHTTPSアクセスできるようにする手順

  1. CloudFront管理画面を開く
  2. 「Create Distribution」をクリック
  3. 「WEBのGetStarted」をクリック
  4. 以下の内容を入力
  5. StatusがIn ProgressからDeployedになるまで待つ
  6. WebディストリビューションのIDをクリックすると「Domain Name」に、「[ID].cloudfront.net」と表示される。 このドメインにアクセスすると、CloudFrontを経由して、オリジン(サイト)へアクセスできるようになる。
[Origin Settings]
  • Origin Domain Name:S3バケットを選択
    ※S3には制御用のURLとWebアクセス用URLがある。エラーになる場合は、S3のStatic website hostingのエンドポイントを確認しよう
  • Origin Path:特定のパスのみ配信する場合は入力
  • Origin ID:Origin Domain NameとOrigin Pathから自動生成される
  • Restrict Bucket Access:CloudFront以外はバケットにアクセスさせない場合はYESを選択
  • Origin Custom Headers:CloudFront⇒S3へのリクエストに追加したいHTTPヘッダがある場合は入力
[Default Cache Behavior Settings]

キャッシュの設定だが、通常はデフォルトのままで問題ない

[Distribution Settings]
  • Price Class:キャッシュサーバの配置場所。広いほど費用がかかる。
  • AWS WAF Web ACL:Webアプリ向けのファイアウォールを有効にするかどうか。
    Web Application Firewall:アプリケーションレベルで通信の中身を解析し、特定の攻撃パターン(シグネチャ)に一致する通信を検知・遮断する 月額でルール数+5ドルかかる。ルールが5個だったら10ドル。
  • Alternate Domain Names(CNAMEs):ドメイン名を入力する。
  • SSL Certificate:Custom SSL Certificate(example.com)を選択し、あらかじめ作成しておいた証明書を選択。
  • Custom SSL Client Support:Only Clients that Support Server Name Indecation(SNI)を選択する。
    SNIに対応していないブラウザではアクセスできないが、IE6以前やOpera7以前などごく一部なので問題ない。ALL Clientsにすると月600ドルかかる。
  • Security Policy:推奨のTLSv1.1_2016を選択。
  • Supported HTTP Versions:デフォルトの「HTTP/2, HTTP/1.1, HTTP/1.0」のまま。
  • Default Root Object:アクセスしたときに見せたいパスを指定する。通常は空欄のまま。
  • Logging、Bucket for Logs、Cookie Logging:ログ保存設定。Onにすると容量に応じた費用がかかる。
  • Enable IPv6:デフォルトのEnableのままでOK。
  • Comment:空欄でOK。
  • Distribution State:配信を有効にするかどうか。あとで有効にする場合はDisabledにしておく。

DNS参照先をCloudFrontに向けるための手順

  1. Route53管理画面を開く
  2. Hosted zonesでドメインを選択
  3. AレコードのAliasをYESにし、作成したCloudFrontのDestributionを選択する

【新しい記事】

【古い記事】

コメントを残す

メールアドレスが公開されることはありません。