📃

ACM,CloudFrontについて

2021/06/01に公開

ACM(AWS Certificate Manager)

無料のSSL証明書を発行できる

作成手順:

  1. ロードバランサーのリスナーを選択し、HTTPSのリスナーを追加、転送先にターゲットグループを選択
  2. 新しいACM証明書を発行というリンクをクリック
  3. *.ドメイン名を記述(*をつけることでドメインを固定にしない、CloudFrontなどで使えるため)
  4. 検証が必要、DNS検証を選択
  5. 作成し、Route53でのレコードの作成をクリックし、Route53のホストゾーンに紐づけた状態で作成👉検証完了
  6. リスナー追加画面に戻り、デフォルトのSSL証明書に証明書を選択、更新ボタンを押す(HTTPのリスナーがあれば削除)
  7. セキュリティグループのインバウンドルールにHTTPSを追加(HTTPの通信があれば削除する)

これでHTTPS通信が完了する

👉EC2にあるのがwordpressなら/var/www/html/wp-config.php内に下記を記述しなければ、スタイルシートが当てられない状態になってしまう

if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
  $_SERVER['HTTPS'] = 'on';
  $_ENV['HTTPS'] = 'on';
}

CloudFront

キャッシュサーバー(クライアントとサーバーの間にある)を配置することができる、CDNサービス
👉通信を高速化するもので、サーバー(EC2)に情報を取りにいかなくても一度通信したことのあるページならキャッシュサーバーに情報を保存しておける仕組み
👉ユーザーにとっては高速化、サーバーにとっては直接リクエストが減るので、負荷軽減になる
👉ちなみにキャッシュはエッジロケーションに保存される、コンテンツを配信をするネットワーク、CDNという

作成手順:

  1. リージョンをバージニア北部に変更👉CloudFrontはバージニアリージョンでしか作成できない
  2. 証明書のプロビジョニングを選択、証明書をリクエスト
  3. *.ドメイン名を記述
  4. 検証が必要、DNS検証を選択
  5. 作成し、Route53でのレコードの作成をクリックし、Route53のホストゾーンに紐づけた状態で作成👉検証完了
  6. CloudFront画面からcreateDistribusionを選択
  7. webのデリバリーメソッドを選択
  8. オリジナルドメイン名に固定ドメイン(1)を記述、プロトコルポリシーをHTTPSを選択
  9. キャッシュポリシーを追加、TTLSettings(EC2の変更を反映する時間、キャッシュの期限)を設定し、作成、作成したものをキャッシュポリシーに選択
  10. カスタムSSL Certificateを選択し、作成した証明書を選択
  11. Alternate Domain Namesに固定ドメイン(2)を記述し、作成👉CloudFrontのドメイン名を控える
  12. リージョンを元に戻し、固定ドメイン(2)のレコードを追加する
  13. CloudFrontのディストリビューションへのエイリアスでバージニアリージョンのCloudFrontのドメイン名を指定、レコード作成
    👉固定ドメイン(2)でアクセスすると固定ドメイン(1)に変換し、EC2にアクセスが通るようになる
    👉つまり、固定ドメイン(2)でアクセスするとCloudFrontでキャッシュされたページが表示され、固定ドメイン(1)でアクセスするとキャッシュされていないページが閲覧できる
GitHubで編集を提案

Discussion