【SAA試験対策】AWS認定ソリューションアーキテクト-アソシエイトの暗記用語のまとめ 〜 ELB・Route53編
目次
こんにちは。
AWSの認定試験の勉強をしています。特にSAA(ソリューションアーキテクト - アソシエイト)試験で出てきそうな、個人的に覚えにくい・忘れやすい用語をまとめてみました。
試験概要はこちら:AWS 認定 ソリューションアーキテクト – アソシエイト
尚、本記事で取り扱っている用語はAWS公式の実際の出題ではなく、自分が勉強していて覚えにくかった用語を元にしていますので、認定試験では出題されない可能性もあります。あくまでも参考程度に御覧ください。
そもそもAWSって何?という方はこちらの記事を御覧ください。
AWS公式ドキュメントでは概念的な言葉でわかりにくい表現がどうしてもあります。このブログではふわっとした言葉を極力なくして、わかりやすく伝えていこうと思います。
AWSの基礎や体系立てた知識の習得には書籍もオススメです。
AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト
今回はELBとRoute53編です。どちらもネットワークの可用性(信頼性)を高めるルーティング方法として関連のあるサービスなのでまとめてみました。
それでは用語についてまとめていきます。
ELB
Elastic Load Balancingの略で、ネットワークにあるEC2インスタンスへのリクエストの経路をさばくサービスです。
【AWS公式】Elastic Load Balancing とは
EC2のメニューから使います。ALB, NLB, CLBの3つのタイプがあります。
負荷分散に加えて、主な共通の機能は以下の通り。
ヘルスチェック
ぶら下がっているインスタンスの正常・異常をチェックできます。
応答が来なくなった異常なインスタンスを切り離すことで、リクエストが行かないようにできます。
検知のしきい値やタイミングを設定できます。
SSL(TLS)サポート
ELBに証明書をインストールしてSSL Termination(TLSターミネーション)できます。
つまり、外部ネットワークからELBまではSSL通信(HTTPS)で、それ以降の内部は簡略化した非暗号化通信(HTTP)、といった通信構造にできます。
ちなみにSSL(Secure Sockets Layer)とTLS(Transport Layer Security)は同じインターネット通信の暗号化技術を指しています。SSLがバージョン3.0になったときに TLSと呼ばれるようになりました。名前は歴史の長いSSLの方が通じやすかったりします。
【AWS公式】Application Load Balancer の HTTPS リスナーを作成する
ALB
ApplicationのA。一番汎用的で使いやすいタイプです。
OSI参照モデルでいうL7層(レイヤー7)でさばきます。これはHTTPとかHTTPSのレベルの通信でさばくということで、つまりパケットの中身を見て、その小包の宛先によって分散先を細かく変えることができます。
URLにかかれているリクエストを見て分散を分けられるので、Application的なバランサーです。
【AWS公式】Application Load Balancer とは
NLB
NetworkのN。細かく分けられないけど高速なタイプです。
こちらはL4層(レイヤー4)、つまりTCPやUDPといったパケットの中身を見ないレベルでさばくため、いちいち小包を開かないので非常に高速にさばくことができます。
IPアドレスやポート番号を使ってリクエストをさばきます。
1秒で数百万規模のリクエストをさばくことができます。
【AWS公式】Network Load Balancer とは
CLB
ClassicのC。旧世代のロードバランサーなので実用はもう考えなくてよいタイプ。
初期に提供されていたタイプで、複雑な設定はできず、ぶら下がっているインスタンスはすべて同じ機能である必要がある、といった制限があります。
Pre-Warming申請
暖気運転の申請のことで、あらかじめ大規模なアクセスが予測されている時、事前申請することでELBのスケールをスムーズに行うことができます。
NLBは元々高速なので、こういった申請は不要です。
スティッキーセッション
ELBの機能で、同じユーザからのリクエストは同じインスタンスにさばくという、セッションのキャッシュ機能。
インスタンスを作ったり消したりするAuto Scalingと相性が悪いので、基本的に推奨されていない設定です。
なので、デフォルトで無効になっています。
セッション情報を保存したいときはDynamoDBやElastiCacheなどに置いて、サーバーをステートレスに保っておく(サーバーとは別のところで管理する)ことが推奨されています。
ちなみにセッション情報はDynamoDBよりElastiCacheに保存した方がファイルアクセスを挟まない分、高速で良いです。
【AWS公式】Application Load Balancer のスティッキーセッション
Connection Draining
登録解除の遅延機能です。
あるインスタンスをメンテナンスしたいので停止したい、といったときに、ELBからすぐ切り離すと、今リクエストを処理しているセッションが停止してしまいます。そのようなことがないように、入り口を封鎖して出口は空けておくような状態にしておく機能です。
これによってELBからインスタンスにリクエストが来なくなるので、一定時間たってから安全にインスタンスを切り離すことができるようになります。
ELBの問題点
基本的にアプリケーションの高可用性を保ちたい場合は、1リージョン内でAZを2つ以上使って、複数の同じ構築のネットワークをELBで分散するのがベターです。
リージョンやAZについてはこちらの記事にまとめています。
リージョン災害が起こると復旧に時間がかかるので、可用性をより高く保ちたい場合には、東京&北米など、リージョンを複数使って分散したい場合も出てきます。
しかし、ELBは同じリージョンの中でしか分散できません。
そこで、リージョンの経路を分散させるソリューションとしてRoute53があります。
Amaozon Route53
可用性のあるDNS(Domain Name System)サービスです。
DNSとはDNSレコード(IPアドレスとURLの紐付けテーブル)を元にルーティングするサーバーです。
DNSレコードのことをゾーンファイルとも言います。
主な機能としてドメイン登録、DNSルーティング、ヘルスチェックができます。
ホストゾーン
ドメインとサブドメインのトラフィックのルーティング情報を保持するコンテナです。
hoge.com
がドメインとすると、サブドメインとはsub.hoge.com
といった名前のことです。
Route53にドメインを設定すると、ドメイン名と同じホストゾーンが自動生成されます。
パブリックホストゾーン
インターネット上に公開されたDNSレコードを管理するホストゾーンのことです。
プライベートホストゾーン
VPC内のDNSレコードを管理するホストゾーンのことです。
ALIASレコード(エイリアスレコード)
リクエストに対してAWSサービスのエンドポイントのIPアドレスを返すレコードタイプ。
一般的にレコードタイプは以下のようなものがあります
A
: ホスト名とIPアドレスの関連づけMX
: メールサーバのホスト名を定義CNAME
: ホストの別名を定義(別のドメインに転送するときなど)
これらに加えて、AWS専用のレコードタイプとしてALIASレコードがあります。
例えばS3バケットや、CloudFront、ELBなどと紐付けて使うことができます。
【AWS公式】エイリアスレコードと非エイリアスレコードの選択
ルーティングポリシー
Route53では以下のようなルーティングの方法を使い分けられます。
- シンプルルーティング : レコードに設定した値に基づく方法
- 加重ルーティング : 複数のエンドポイントに対して設定した重みに基づく方法
- レイテンシールーティング : リージョン間の遅延の少なさに基づく方法
- フェイルオーバールーティング : ヘルスチェック結果に基づく方法
- 位置情報ルーティング : ユーザの位置情報(国・地域)に基づく方法
- 地理的近接性ルーティング : リソースの位置情報に基づく方法
これらのうち複数を組み合わせることもできます。
トラフィックフロー
ビジュアルエディタを使用して視覚的に複雑なレコード作成・管理できる機能です。
ちなみに、上述のポリシーのうち地理的近接性ルーティングはトラフィックフローを利用しないと作成できません。
【AWS公式】DNS トラフィックのルーティングにトラフィックフローを使用する
まとめ
というわけで、AWS認定試験のSAA(ソリューションアーキテクト - アソシエイト)で必要となりそうなELB、Route53関連の用語について忘れないようにまとめてみました。
信頼性の高いシステムを組むこと、というのはAWSのWell-architected Frameworkでも提唱されているので、その基本となるELBとRoute53の基本についてはぜひ覚えておきたいですね。
このページも定期的に見直して知識の定着を行っていきたいです。
また別のカテゴリについてもまとめる予定です。
AWSの基礎からの勉強や、体系立てた知識の整理には書籍もオススメです。こちらは2020年の最新試験(SAA-C02)の問題にも対応しています。
(模擬問題付き)改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応