AWS認定セキュリティ インフラストラクチャのセキュリティ2

3 min read読了の目安(約3400字

こんにちは!
現在AWS認定セキュリティ試験の勉強中です。
前回に引き続き試験範囲の1つである インフラストラクチャのセキュリティ で出題される可能性があるサービスの特徴などをまとめていきたいと思います。
基本的にはNRIネットコム株式会社の「要点整理から攻略する『AWS認定 セキュリティ-専門知識』」という本を使って勉強しております。とてもわかりやすいのでおすすめです。

目次

  • Route53
  • CloudFront
  • ELB

Route53

DNSのマネージドサービスです。

DNSとは??

インターネット上でドメイン名を管理・運用するために開発されたシステムのことです。Domain Name Systemの略です。
Route53を使うことでURLとサービスを紐づけてくれます。あるURLにアクセスすると設定したサービスがよばれるようになります。

単純な名前解決だけではなく、エンドポイントの状態やリクエストを行ったユーザーの地理的な場所などを考慮したルーティングが可能です。

以下のような様々な名前解決の方法があります

ファイルオーバールーティング

ヘルスチェックを設定し、そのリソースが正常でないときの名前解決先を設定することができます。
例: リソースが正常でないときにsorryページを表示する

位置情報ルーティング

ユーザーの地理的な場所に基づいて名前解決をする方法です
例: 日本からのアクセスなら日本用サイト、アメリカからならアメリカ用サイトを表示

大陸別、国別で振り分けることができます。アメリカは州別の指定も可能です。

レイテンシーに基づくルーティング

レイテンシー(遅延)が最小のものを呼び出す方法です。必ずしも地理的に近いリージョンになるわけではなく、地域や時間帯によってかわるそうです。

複数値回答ルーティング

1レコードに複数の値を設定することで、1つのDNSクエリに対して複数の値をかえすことができます。
ヘルスチェックを関連づけておくと、ヘルスチェックの結果が正常である場合にのみ対応するIPアドレスを返します。

加重ルーティング

名前解決先を複数設定し振り分けの割合を指定することができます。

例: 全リクエストの10%はSorryページに飛ばす、一部のユーザーのみ新しいバージョンに振り分けるなど

ルーティングに関する詳しい内容はこちらのaws様の記事をご覧ください。
ルーティングポリシーの選択

ドメインからIPアドレスへの変換だけでなく、EC2, ELB, S3などAWSのサービスへのルーティング設定もできます

CloudFront

静的データおよび動的データを高速に配信するためのCDNサービスです。キャッシュを使うことでレスポンスがより高速になります。

AWS内のリソース(EC2, S3など)をオリジンとして利用する場合は、それらとの間のデータ転送に料金が発生しません。

僕も個人開発で作成したアプリでCloudFront経由でS3とEC2にアクセスするような構成にしているのですが、CloudFrontにかかる料金は1ヶ月2円とか3円とかです。安過ぎです。ほぼ無料と言ってもよいですね笑

現状僕の作成したアプリへのアクセスはかなり少ないのでこの価格ですが、アクセスが多いサイトだとCloudFrontにかかる値段も多少高くなるかもしれません。

オリジンがS3の場合は、CloudFrontにOAI(特別なユーザー)を設定し、さらにS3のバケットポリシーでそのOAIのみが読み取り可能というように指定する。こうするとCloudFront経由でないとS3にアクセスできないのでS3が攻撃される確率を減らすことができます。

ELB

アプリケーションへのトラフィックを複数のターゲットに分散させるためのサービスです。
アプリケーションの可用性を向上させることができます。

可用性とは??

システムが停止することなく稼働し続ける能力のことです。アベイラビリティーとも言われます。

ターゲットとなるのはEC2, コンテナ, IPアドレス, Lambdaなどです。ELBにも種類があり、ELBの種類によってターゲットにできるサービスが異なります。

IPアドレスはVPCのプライベートIPアドレスのみが指定可能

ELBには以下の3種類があります。

ALB

レイヤー7(アプリケーション層)で動作します
ターゲットはEC2, コンテナ, IPアドレス, Lambdaです。

トラフィック状況に応じて自動でリクエスト処理能力をスケールするため安定した性能でサービスを提供することができるが、急激なトラフィック増加には弱いです

ALBはIPアドレスへのルーティングに対応しているため、オンプレミスのサーバーとVPC接続し、プライベートIPアドレスを持たせることができれば、クラウドとオンプレミスのハイブリッド構成とすることができます。

NLB

レイヤー4(トランスポート層)で動作します
ターゲットはEC2, コンテナです。

TCPとUDP両方に対応

TCPって何?? UDPって何??

TCP
コネクション型通信(通信開始前に相手との間で仮想的な通信路を確保する)
信頼性の高い通信を実現するために使用される
UDP
コネクションレス型通信(通信開始前に相手との間で、事前のやり取りなし)
信頼性が高くはないが、高速性やリアルタイム性を求める通信に使用される

遅延も少なく短時間でかなりの数のリクエストを処理できます。
急激なトラフィック増加時にも安定した処理ができます。

ALB・CLBと違いNLBはセキュリティグループを利用することができません。だからアクセス制御はターゲットのセキュリティグループで行います。

CLB

レイヤー7とレイヤー4の両方で動作します

EC2-ClassicとVPCの両方で動作するが基本的にはEC2-Classicでのロードバランサーとして利用されることが想定されている。VPC環境ではALBまたはNLBを利用するこどが推奨されています

EC2-Classicとは??

いまはデフォルトでVPCが1つ用意されていてEC2などはVPC内に構築されますが、VPCというものがない時代はAWSクラウドの共有領域に作成されていたそうです。その当時から存在しVPCに移行されていないものはEC2-Classicとよばれています。(RDS-Classic等もあるそうです)

NLBを使用するタイミングがいまいち分からなかったので調べてみるとクラスメソッド様の記事でこう書いてありました。

ずっと望まれていた静的なIPアドレスを持つロードバランサーが登場しました。どうしてもアクセス先をドメイン名ではなくIPアドレスで許可しなければならない場合などに重宝するでしょう。

どうしてもアクセス先をドメイン名ではなくIPアドレスで許可しなければならない場合っていつ来るんだろう。。僕にはまだ分からない。。

また調べてみて分かったら追記します