📃
ACM,CloudFrontについて
ACM(AWS Certificate Manager)
無料のSSL証明書を発行できる
作成手順:
- ロードバランサーのリスナーを選択し、HTTPSのリスナーを追加、転送先にターゲットグループを選択
- 新しいACM証明書を発行というリンクをクリック
- *.ドメイン名を記述(*をつけることでドメインを固定にしない、CloudFrontなどで使えるため)
- 検証が必要、DNS検証を選択
- 作成し、Route53でのレコードの作成をクリックし、Route53のホストゾーンに紐づけた状態で作成👉検証完了
- リスナー追加画面に戻り、デフォルトのSSL証明書に証明書を選択、更新ボタンを押す(HTTPのリスナーがあれば削除)
- セキュリティグループのインバウンドルールに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という
作成手順:
- リージョンをバージニア北部に変更👉CloudFrontはバージニアリージョンでしか作成できない
- 証明書のプロビジョニングを選択、証明書をリクエスト
- *.ドメイン名を記述
- 検証が必要、DNS検証を選択
- 作成し、Route53でのレコードの作成をクリックし、Route53のホストゾーンに紐づけた状態で作成👉検証完了
- CloudFront画面からcreateDistribusionを選択
- webのデリバリーメソッドを選択
- オリジナルドメイン名に固定ドメイン(1)を記述、プロトコルポリシーをHTTPSを選択
- キャッシュポリシーを追加、TTLSettings(EC2の変更を反映する時間、キャッシュの期限)を設定し、作成、作成したものをキャッシュポリシーに選択
- カスタムSSL Certificateを選択し、作成した証明書を選択
- Alternate Domain Namesに固定ドメイン(2)を記述し、作成👉CloudFrontのドメイン名を控える
- リージョンを元に戻し、固定ドメイン(2)のレコードを追加する
- CloudFrontのディストリビューションへのエイリアスでバージニアリージョンのCloudFrontのドメイン名を指定、レコード作成
👉固定ドメイン(2)でアクセスすると固定ドメイン(1)に変換し、EC2にアクセスが通るようになる
👉つまり、固定ドメイン(2)でアクセスするとCloudFrontでキャッシュされたページが表示され、固定ドメイン(1)でアクセスするとキャッシュされていないページが閲覧できる
Discussion