【AWS】CloudFrontとは

## CloudFrontとは
フルマネージド型CDN(コンテンツ・デリバリー・ネットワーク)サービスです。
100以上のエッジロケーションにコンテンツをコピーして配信する機能を持っています。（キャッシュ機能）

図にすると以下の通りです。
![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/978c84b0-e703-454a-5def-4d9fc777ce58.png)

ユーザーはEC2から情報を取りにいくのではなく、
CloudFrontから情報を取りにいくようになります。
EC2からデータを取りに行かないようになるため、EC2への負荷が軽減されます。

### 設計に関して
`Origin`には、EC2やS3、ELBなど様々なリソースを配置できます。
`CloudFront`には、**Behaviors**でどのような振る舞いをするか設定し、**Cache Policy**でTTL（Originの設定を何秒間ごとに読み込むかどうか時間を決める機能）を設定できます。

![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/88049876-2337-b27b-e39e-ac44a0bc0b14.png)

| 向いているデータ                                                       | 向いていないデータ                             |
| ---------------------------------------------------------------------- | ---------------------------------------------- |
| 頻繁にアクセスされるデータもしくはデータが多少古くても問題にならない時 | 変化が激しいデータもしくはアクセスがほぼない時 |
| 例）SNS のプロフィールなど                                             | 例）ビットコイン板情報                         |


## では実際にキャッシュサーバーを設置してみよう！
### アーキテクチャ
![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/05bd26d5-00b8-d470-f0cf-501c9b43ca2a.png)

これだけでは、クライアントとRoute53とCloudFrontとELBの構成が複雑なので簡略化した分かりやすい図を作りました。

![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/053da2e8-65de-412d-d967-2430e923742c.png)

そして、`ELB`と`CloudFront`の2つにACM(AWS Certificate Manager)をアタッチして、HTTPS通信が可能になれば完了です！

### 1. AWSへログイン
### 2. 東京リージョンになっていることを確認
![スクリーンショット 2021-05-01 14.21.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/73a9450b-47d7-5c13-54a7-e5e882db1e49.png)

### 3. VPCを作成（IP：10.0.0.0/21）
■ルート
コンソールで「VPC」と検索→左ペイン内の「VPC」を選択→「VPCを作成」を選択

![スクリーンショット 2021-05-01 14.24.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/2cda6785-513b-61a1-de80-15562d8439e6.png)

### 4. サブネットを作成（IP:10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24）
■ルート
コンソールで「VPC」と検索→左ペイン内の「サブネット」を選択→「サブネットを作成」を選択

#### Public Subnetを作成
WordPressに使うサブネットを作成します。

![スクリーンショット 2021-05-01 14.27.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/a9a204ca-5384-1b74-f1ce-e38b6d0522d2.png)

#### Private Subnetを作成
RDB(MySQL)に使うサブネットを作成します。

![スクリーンショット 2021-05-01 14.29.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/be11f4be-8af3-5c26-ffcb-58112991fc7e.png)

### 5. Publicサブネットをインターネットに接続するためにInternet Gatewayを作成
■ルート
コンソールで「VPC」と検索→左ペイン内の「インターネットゲートウェイ」を選択→「インターネットゲートウェイの作成」を選択

![スクリーンショット 2021-05-01 14.43.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/074ac6fa-fd66-59c4-a9ee-0b75097d966f.png)

これではVPCとアタッチできていないので、インターネットへ接続できません。
なのでアタッチさせましょう！
![スクリーンショット 2021-05-01 14.44.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/1bc732ed-4d5e-8624-4c6c-633fdf04010e.png)
これでアタッチしました。

### 6. EC2がインターネット接続するためにルートテーブルを作成
■ルート
コンソールで「VPC」と検索→左ペイン内の「サブネット」を選択→「Public-Subnet1」を選択→「ルートテーブル」を選択→「ルート」へ移動→「ルートを編集」を選択

![スクリーンショット 2021-05-01 14.49.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/1943619f-47f3-3ab3-5866-f6a069afefb2.png)

### 7. Publicサブネット内にEC２を構築
■ルート
コンソールで「EC2」と検索→左ペイン内の「インスタンス」を選択→「インスタンスを起動」を選択

■ステップの流れ
STEP１　Amazon Linux 2 AMI
STEP2　t2.micro
STEP3　「ネットワーク」、「サブネット」、「パブリックIP」を変更
![スクリーンショット 2021-05-01 14.35.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/29a3ea9a-b714-3402-a994-52547b575b9f.png)
STEP4　そのままでOK
STEP5　Name＝WEBSERVER1で設定
STEP6　セキュリティグループを変更
![スクリーンショット 2021-05-01 14.37.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/d023ba9f-f697-9ae5-4f06-389d7bb0a3e9.png)
STEP7　キーペアの作成
![スクリーンショット 2021-05-01 14.38.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/e9eed1f2-8a0a-9565-8b68-361c77a03636.png)

#### SSH接続でログイン
```terminal:ターミナル
// ①キーペアがあるところへ移動
$ cd desktop

// ②キーペア発見
$ ls -l keypair.pem
-rw-r--r--@ 1 ryo  staff  1704  5  1 14:38 keypair.pem

// ③権限を４００に変更
$ chmod 400 keypair.pem

// ④SSH接続
$ ssh -i keypair.pem ec2-user@(パブリックIPアドレス)

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|
```

#### EC2にWordPressを導入
```terminal:ターミナル
// 権限が足りないので権限をrootに移動
$ sudo su -

// EC2のパッケージを最新の状態にアップデート
$ yum -y update

// WordPressが動くために必要なツールをダウンロード（PHP, Apache, MySQL）
$ amazon-linux-extras install php7.2 -y
$ yum -y install mysql httpd php-mbstring php-xml gd php-gd

// Apacheが再起動後も自動的に動くようにする
$ systemctl enable httpd.service

// Apacheをスタート状態に
$ systemctl start httpd.service

// カレントディレクトリにWordPressの最新パッケージを入れる
$ wget http://ja.wordpress.org/latest-ja.tar.gz ~/

// あるか確認する
$ ls -l
total 16076
-rw-r--r-- 1 root root 16458939 Apr 21 00:00 latest-ja.tar.gz（あった）

// 拡張子がgzなので展開しましょう
$ tar zxvf ~/latest-ja.tar.gz

// ディレクトリごと/var/www/htmlへコピーする
$ cp -r ~/wordpress/* /var/www/html/

// /var/www/htmlをapacheのユーザーに権限変更
$ chown apache:apache -R /var/www/html
```

#### AMIの作成
作成した**WEBSERVER１**を停止してAMIを作成します。
■ルート
コンソールで「EC2」と検索→左ペイン内の「インスタンス」を選択→「インスタンスの状態」から停止を選択
コンソールで「EC2」と検索→左ペイン内の「インスタンス」を選択→「アクション」から「イメージを作成」を選択

![スクリーンショット 2021-05-02 21.35.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/465d57aa-3800-7bd0-5166-9cfc742a6c30.png)

では作成したAMIを使ってインスタンスを作成しましょう。
ステップ５のタグは、**Name＝WEBSERVER2**とします。
![スクリーンショット 2021-05-02 21.40.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/fd7614fd-a09d-d091-8593-ed38314b6269.png)
![スクリーンショット 2021-05-02 21.42.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/8c483ec6-1284-fb80-7e10-147b333d8d82.png)

### 8. PrivateサブネットにRDSを構築
RDSには、**エンドポイント通信**という機能がありました。
もし通信障害などが発生して、親のRDSが使えなくなった時子のRDSに接続してくれる機能です。
つまり、このことから**異なるAZにサブネットがないとRDSは使えません**。

ということで複数のサブネットにまたがる形でRDSは構築されるので、
**サブネットグループ**というものが必要になります。

■ルート
コンソールで「RDS」と検索→左ペイン内の「サブネットグループ」を選択→「DB サブネットグループを作成」を選択

![スクリーンショット 2021-05-01 15.04.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/66a4ad75-be0e-13c7-945e-b623b74d7bf6.png)

それでは次に、DBを作成していきましょう。
■ルート
コンソールで「RDS」と検索→左ペイン内の「データベース」を選択→「データベースの作成」を選択

![スクリーンショット 2021-05-01 15.10.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/8d20faa0-e801-423d-de9f-09398b4d1e52.png)
![スクリーンショット 2021-05-01 15.10.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/c8b29bfb-0625-442b-586a-e1088ca689da.png)
![スクリーンショット 2021-05-01 15.11.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/1e9937ea-0fa3-9e8d-f468-1f9d6a24834e.png)
![スクリーンショット 2021-05-01 15.11.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/c6fc8cd0-2efb-5c26-f551-6d0e5d937447.png)
![スクリーンショット 2021-05-01 15.11.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/728b9689-044e-d3f4-dc55-98a5f4cc6f1f.png)

次にRDSで作ったセキュリティグループを修正します。
■ルート
コンソールで「VPC」と検索→左ペイン内の「セキュリティグループ」を選択→「RDS-SG-1」を選択

DBは重要な情報が入っているため誰でも彼でもアクセスできると困ります。
なので、PublicサブネットのEC2（セキュリティグループ→WEB-SG-1）からしか触れないように修正します。

![スクリーンショット 2021-05-01 15.23.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/d4da3ac7-1bb8-ac88-ec13-52d77a60728a.png)

### 9. ロードバランサーを導入
■ルート
コンソールで「EC2」と検索→左ペイン内の「ロードバランサー」を選択→「ロードバランサーの作成」を選択

![スクリーンショット 2021-05-02 21.52.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/ca08224c-90eb-b071-78e9-94111f0644ed.png)
![スクリーンショット 2021-05-02 21.53.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/fd86b60f-ab9d-35b9-dac3-99306552c1eb.png)
![スクリーンショット 2021-05-02 21.54.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/8f06a976-e488-0a7e-91c1-c07e64777730.png)
![スクリーンショット 2021-05-02 21.54.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/60b42622-b24b-ed3d-44f7-a8c342a7205d.png)

### 10. RDSのサイトアドレスをロードバランサーのDNSに書き換え
```terminal:ターミナル
// ①RDSへログイン
$ mysql -h database-1.xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -u (管理者) -p

// ②WordPressのテーブルを使用
MySQL [(none)]> USE wordpress;

// ③指定のカラム
// errorが出た場合はEC22つにWordpressログインをしてからやり直してください
MySQL [(none)]> SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
+-----------+-------------+-----------------------+----------+
| option_id | option_name | option_value          | autoload |
+-----------+-------------+-----------------------+----------+
|         2 | home        | http://13.231.153.132 | yes      |
|         1 | siteurl     | http://13.231.153.132 | yes      |
+-----------+-------------+-----------------------+----------+

// ④ロードバランサーのDNS名に置き換える
MySQL [(none)]> UPDATE wp_options SET option_value = 'http://xx.xx.xx.xx' WHERE option_name IN ('siteurl', 'home');
```

### 11. EC２のセキュリティグループのアクセス許可をロードバランサーからに変更する
■ルート
コンソールで「EC2」と検索→左ペイン内の「セキュリティグループ」を選択→「WEB-SG-1」を選択

![スクリーンショット 2021-05-02 22.07.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/1a3213e8-953c-1194-4842-fb61350c2374.png)

### 12. RDSも冗長化構成へ変更
■ルート
コンソールで「RDS」と検索→左ペイン内の「データベース」を選択→「database-1」を選択
![スクリーンショット 2021-05-02 22.10.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/06f457fa-b376-5303-44a1-beb4beb1117c.png)

### 13. freenomでドメインを購入
今回はデモのため無料でドメインを取得できるfreenomを使います。
こちらが分かりやすいのでこちらを参考にしてください。

https://note.com/dafujii/n/n406f385651e2

購入した後は、「Services」 → 「My Domains」 -> 「Management Tools」 → 「NameServers」を開きます。
![スクリーンショット 2021-05-15 16.24.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/607c5714-7719-6353-3773-4f9d26368d88.png)

### 13. Route53の設定をします
■ルート
コンソールで「Route53」と検索→左ペイン内の「ホストゾーン」を選択→「ホストゾーンの作成」を選択

![スクリーンショット 2021-05-15 16.27.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/fa7b5bb1-69f6-4551-2988-a026e1b2e654.png)

![スクリーンショット 2021-05-15 16.28.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/e958d927-26d5-d508-02a5-ef8afbaaab55.png)

このネームサーバーの値をFreenomの方に書き写します。
![スクリーンショット 2021-05-15 16.29.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/a7b3566d-b498-13cb-6689-d7d5e5c31540.png)

### 14. 取得したドメインでアクセスできるようにする
■ルート
コンソールで「Route53」と検索→左ペイン内の「ホストゾーン」を選択→「aws-lesson.tk」を選択→「レコードを作成」を選択

![スクリーンショット 2021-05-15 16.34.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/da2c6d97-5887-b156-64a7-3f4f60b985cd.png)

![スクリーンショット 2021-05-15 16.34.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/6ad7e891-d49d-9e88-3a84-9d5e0804ee7d.png)

これでロードバランサーとblog.aws-lesson.tkは結びつきました。
blog.aws-lesson.tkにアクセスしてみましょう！

![スクリーンショット 2021-05-15 16.36.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/4f673123-b616-c1fa-e3e2-f7b9289c7bbe.png)

成功です！！

### 15. エラーページを表示するためにフェイルオーバールーティングの設定をします
これでプライマリの表示は完成しました。
次に障害が起きた時に備えてエラーページを作成しましょう。
そしてそのエラーページをセカンダリで表示させます。

■ルート
コンソールで「S3」と検索→左ペイン内の「バケット」を選択→「バケットを作成」を選択

![スクリーンショット 2021-05-15 16.40.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/89356694-aeca-9237-703b-dd7ee480db06.png)

![スクリーンショット 2021-05-15 16.43.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/738a8d15-6b8c-fecf-52dd-436108829a88.png)

ではここにエラーページをアップしましょう！
![スクリーンショット 2021-05-15 16.50.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/82887303-a6e5-a55f-5aea-e585bdcf01f1.png)

一番下に、「静的ウェブサイトホスティング」があるのでそれを選択します。
![スクリーンショット 2021-05-15 16.51.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/280589a3-7d1a-9a30-61a4-15e192d3a03e.png)

![スクリーンショット 2021-05-15 16.52.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/0d049cc1-acd3-5b9b-d415-aa4b01a4abec.png)

次にバケットポリシーを編集します。

![スクリーンショット 2021-05-15 16.53.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/cd2e3bce-47c8-5c85-07a8-c3c50b761fcf.png)

```json:ポリシー
{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"PublicRead",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject","s3:GetObjectVersion"],
      "Resource":["arn:aws:s3:::blog.aws-lesson.tk/*"]
    }
  ]
}
```

これでエラーメッセージが表示されます。

### 16. それではRoute53でセカンダリの設定を行います
■ルート
コンソールで「Route53」と検索→左ペイン内の「ホストゾーン」を選択→「aws-lesson.tk」を選択

フェイルオーバーに変更します。
まずはプライマリを変更します。
![スクリーンショット 2021-05-15 16.58.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/cbae0da0-ea22-79a0-56f7-9ccb8c47890e.png)

![スクリーンショット 2021-05-15 17.00.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/53005845-b7a3-67e1-1811-8c3303c8139b.png)

次にセカンダリを変更します。
![スクリーンショット 2021-05-15 17.02.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/4aa30e83-4026-d058-3aa3-55a3a3a58950.png)

![スクリーンショット 2021-05-15 17.01.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/2aad9e35-3bdc-a953-c167-f6cdc497396b.png)


### 17. HTTPS通信を可能にするためにロードバランサーでリスナーを追加
■ルート
コンソールで「EC2」と検索→左ペイン内の「ロードバランサー」を選択→「LB-1」を選択→「リスナーの追加」を選択

![スクリーンショット 2021-05-15 17.09.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/ab7dd0c6-3067-30c2-9ab2-015c59fcef2b.png)

「新しいACM証明書をリクエスト」で発行を行います。

![スクリーンショット 2021-05-15 17.12.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/2ae801e8-2051-7123-edd7-9e42d28d1f5a.png)

![スクリーンショット 2021-05-15 17.12.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/d8274a97-5df0-8702-f9ff-a90c472e02f4.png)

![スクリーンショット 2021-05-15 17.13.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/fc4f70d6-b6cd-95c8-c4d0-92f3b3a775ae.png)

Route５３にあるかどうか確かめましょう。
![スクリーンショット 2021-05-15 17.15.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/76483116-2190-a171-6875-c10360b5a898.png)

ありました！！

![スクリーンショット 2021-05-15 17.15.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/42cd7685-636e-8a04-82d5-4ad640b6aead.png)

### 18. セキュリティグループの修正でHTTPSも受け付けられるようにしよう
■ルート
コンソールで「EC2」と検索→左ペイン内の「ロードバランサー」を選択→「LB-1」を選択→「セキュリティグループ」を選択

![スクリーンショット 2021-05-15 17.18.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/07c104b0-43a7-5025-141c-9951b644391d.png)

これで完了です。
![スクリーンショット 2021-05-15 17.19.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/7aa2d561-8214-a91b-59d5-7643a37a9206.png)

しかし、WordPressの仕様上表示が乱れてしまうのでここを直しましょう！

### 19. SSHコマンドでEC2と接続
1台目のEC2と2台目のEC2両方ともに行います。

```terminal:ターミナル
$ ssh -i keypair.pem ec2-user@52.193.252.134
$ sudo su -
$ cd /var/www/html/

// wp-config.phpを開いて修正する
$ vi wp-config.php

// 「編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。」の上にコードを挿入する
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
  $_SERVER['HTTPS'] = 'on';
  $_ENV['HTTPS'] = 'on';
}
```

### 20. ロードバランサーでHTTP通信ができないようにする
■ルート
コンソールで「EC2」と検索→左ペイン内の「ロードバランサー」を選択→「LB-1」を選択→「セキュリティグループ」を選択

![スクリーンショット 2021-05-15 17.30.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/db611d0e-46a6-29f8-edd0-15c3d067f771.png)

![スクリーンショット 2021-05-15 17.31.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/2f5fc8a0-63c4-bc30-17e8-92d6041c5818.png)

### 21. Route 53の設定を変更する
以下のようにレコード名を`alb.aws-lesson.tk`に変更します。

![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/1f6b9ee4-2110-e787-38a6-730201b502f9.png)

■ルート
コンソールで「Route 53」と検索→左ペイン内の「ホストゾーン」を選択→「aws-lesson.tk」を選択

![スクリーンショット 2021-05-16 11.37.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/cef701a3-d6a1-8f3f-19a8-e3b620fa93d7.png)

### 22. ロードバランサーで発行している証明書をどのサブドメインでも使えるようにする
■ルート
コンソールで「EC2」と検索→左ペイン内の「ロードバランサー」を選択→「リスナー」を選択

![スクリーンショット 2021-05-16 11.39.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/6abb0d0f-8bab-e43d-7a22-357870e96adf.png)

![スクリーンショット 2021-05-16 11.41.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/358188aa-b377-9a27-ea6a-480480226a14.png)

### 23. CloudFront用の証明書を発行
■ルート
コンソールで「AWS Certificate Manager」と検索→リージョン「バージニア北部」を選択

![スクリーンショット 2021-05-16 11.44.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/93003248-c18e-9725-9698-e61e20d7a909.png)

![スクリーンショット 2021-05-16 11.44.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/5d7d4f0e-8643-332e-0c1c-553cdc1eceb2.png)

### 24. CloudFrontの設定
■ルート
コンソールで「CloudFront」と検索

![スクリーンショット 2021-05-16 11.46.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/0a04d07d-011b-85b5-82c9-8f6401371eeb.png)

キャッシュポリシーを作成します。

![スクリーンショット 2021-05-16 11.48.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/25cadda8-52b6-edab-df51-0874807529d5.png)

![スクリーンショット 2021-05-16 11.48.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/8d69785e-57ce-c294-e0e9-aff8399fba22.png)

SSL証明書は先ほど作ったものを読み込みます。
そして、`blog.aws-lesson.tk`にアクセスできるよう、CNAMEsを設定します。
![スクリーンショット 2021-05-16 11.49.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/cc6909a2-3f1b-ff13-b989-42f58b37138d.png)

ドメインネームが発行されました
![スクリーンショット 2021-05-16 11.55.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/8d99156c-fcc3-c4bd-6bc7-eaaf56938e81.png)

### 25. Route53でCloudFontのドメインとblog.aws-lesson.tkを接続
■ルート
コンソールで「Route53」と検索→左ペイン内の「ホストゾーン」を選択→「aws-lesson.tk」を選択

![スクリーンショット 2021-05-16 11.57.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/0e998cda-469a-f57f-d4bd-bf3d70a1025e.png)

これで完成です！！

## 削除手順
S3
Route53
RDS
CloudFront
LB
EC2
AMI
AWS Certificate Manager（東京とバージニア2つ）
VPC