---
# System prepended metadata

title: 第5回AWS勉強会

---

# 第5回AWS勉強会
**CloudFrontとRoute53について考えてみる**

## CloudFront
### 概要
- 高速で安全性が高くプログラム可能なコンテンツ配信ネットワーク (CDN)
- エッジロケーションを利用する（エッジロケーション：オリジンサーバとビューワーの間にあるもの）
- リージョン別エッジキャッシュを利用する（エッジロケーションとオリジンサーバの間にあるもの。エッジロケーションよりもキャッシュできる容量が大きい）

<u>(イメージ図)</u>
![コンテンツ配信方法](https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/images/how-cloudfront-delivers-content.png)

### 主なユースケース
- 静的ウェブサイトのコンテンツ配信（S3との連携）
- オンデマンドおよびライブストリーミングビデオの配信

### CloudFrontの設定(ディストリビューションの作成)
(主な設定項目)
- コンテンツオリジン（どこからファイルを取得するか。最大25個指定できる）
- アクセス（誰に使用させるか）
- セキュリティ（HTTPSを必須にさせるか）
- 地域制限（特定の国のユーザをアクセスできないようにするか）

## Route53
### 概要
- 可用性と拡張性に優れたドメインネームシステム（DNS）ウェブサービス
- なぜ53?：DNSが使用するポート番号が53
- SLA100%


### プロセス
1. ドメイン登録
2. ホストゾーン作成
3. レコード作成

#### 1. ドメイン登録
任意のドメインを取得できる。　※重複が無ければ
> 例：i_am_iwatsuka.co.jp

#### 2. ホストゾーン作成
レコードのコンテナ(ドメイン内のルーティング情報を保持するコンテナ)
1つのネームサーバー (NS) レコードと Start of Authority (SOA) レコードを自動的に作成

<u>（ホストゾーンのイメージ図）ホストゾーンはRoute53の概念。DNSゾーンと類似。</u>
![ゾーン](https://www.atmarkit.co.jp/fnetwork/dnstips/image/007_01.gif)
![ゾーン](https://manual.iij.jp/dns/help/images/1480651_1803542.png)

#### 3. レコード作成
ドメイン内のルーティング情報
> 例1：
> example.com のインターネットトラフィックをデータセンター内のホストの IP アドレスにルーティングします。
> 例2：
> そのドメイン宛のメール (ichiro@example.com) をメールサーバー (mail.example.com) にルーティングします。
> 例3：
operations.tokyo.example.com というサブドメインのトラフィックを異なるホストの IP アドレスにルーティングします。

<レコードの種類>
|レコード名|役割|
|:--|:--|:--|
|Aレコード|ドメイン名とIPアドレス(IPv4)の対応
|AAAAレコード|ドメイン名とIPアドレス(IPv6)の対応
|MXレコード|メールサーバへのルーティング
|NSレコード|ゾーン情報を管理するネームサーバ名を定義
|CNAMEレコード|ドメイン名と別ドメイン名の対応
|などなど、|代表的なレコードはサポートされている。|
|ALIASレコード|AWSプロダクト(ELBやS3等）で利用できるCNAMEレコード(実体はAレコード)

### ユースケース
- Route53で新しいドメインを登録
プロセス 1~3 を実施
- 既存で登録されているドメインを利用
プロセス 2~3 を実施（NSレコードを既存のドメインサービス側へ設定する必要あり）

■なぜ、CNAMEではなくALIASレコードをお勧めするのか
- パフォーマンスが良い
CNAMEの場合、DNSクエリが2回発生。ALIASの場合、1回。
※ALIASが使えるところでCNAMEが使われていると、AWS Trust Advisorで警告を出してくれる。
- zone apexに対するマッピングに対応
Zone Apex（最上位ゾーン）には、CNAMEを設定できない。
Zone Apexから直接Aレコードへマッピングできるものは良いが、
できないもの(IPアドレスが可変のもの)は、ALIASレコードを利用してドメイン名で指定する。
- ただし、指定できるものに限りがあるので、気にすべき
ALIASレコードはAWS内で利用する限られたDNS名に対してのみ指定可能です。具体的には、CloudFront distribution, ELB, static website設定をしたS3バケット, 他のRoute 53リソースレコードセット の何れかです。


### その他の機能
|機能|説明|
|:--|:--|
|加重ルーティング|複数のエンドポイントに対して、<br>8:2のような形で分散させる
|レイテンシールーティング|複数リージョンでサービス展開している際に、<br>遅延が一番小さいリージョンへルーティングさせる
|フェイルオーバールーティング|エンドポイントを監視し、疎通できないときは<br>別のエンドポイントへルーティングする。<br>障害時にソーリーページを表示する場合などで利用
|位置情報ルーティング|クライアントの位置情報を基に<br>エンドポイントを変える

<参考資料>
初歩：DNSって？（少し古い資料）
http://fujiike.hateblo.jp/entry/2015/09/14/191934

ALIASレコード
https://dev.classmethod.jp/cloud/aws/amazon-route-53-alias-records/