【AWS】AWS SAAまとめ①

# 用語一覧
|用語|説明|
|-|-|
|CDN|Content Delivery Network:世界中に配置されているCDNネットワークから効率的にコンテンツを配信する仕組み。閲覧者に最も近い拠点から配信するため、非常に効率がよい。|
|エッジロケーション|CDNなどのグローバルインフラストラクチャサービスを提供するための拠点。ユーザーは地理的に近いエッジロケーションから配布されるコンテンツを利用できるため、ネットワークの物理的な距離が短くなることで低レイテンシー（データの送受信に時間がかからない）の通信が可能になる。|
|CIDR|Classless Inter-Domain Routing:IPアドレスのクラス分類を考慮せず、IPアドレスを割り当てる仕組み。IPアドレス空間を効率的に利用できる。|
|NATゲートウェイ|プライベートサブネットからインターネットへ接続するためのネットワークアドレス変換機能を提供する。|
|セキュリティグループ|EC2インスタンスなどに適用するファイアウォール。|
|ステートフル|状態を維持する。|
|ネットワークアクセスコントロールリスト（ACL）|サブネット単位で設定するファイアウォール機能。|
|ステートレス|状態を保たない。|

### セキュリティグループとネットワークACLの主な違い
|項目|セキュリティグループ|ネットワークACL(デフォルト)|
|-|-|-|
|適用範囲|インスタンス単位|サブネット単位|
|デフォルト動作（インバウンド）|すべて拒否|すべて許可|
|デフォルト動作（アウトバウンド）|すべて許可|すべて許可|
|ルールの評価|すべてのルールが適用される|ルールの順番で適用される|
|ステータス|ステートフル|ステートレス|
---
|用語|説明|
|-|-|
|ENI|Elastic Network Interface:VPC内のネットワークインターフェイスを提供するサービス。利用可能なAWSサービスにアタッチすることでENIに紐づいたIPアドレスを利用できる。|
|AWS Direct Connect|オンプレミス環境とAWSの間を専用線で接続するサービス。|
|Direct Connectゲートウェイ|通常、Direct Connectはオンプレミス環境とVPCを「１対１」でしか接続できないが、Direct Connectゲートウェイを利用することで、オンプレミス環境と全リージョン内の複数のVPCを「１対多」で接続できる。|
|AWS Virtual Private Network(VPN)|オンプレミスネットワークやクライアントデバイスとAWSネットワーク間をVPN接続するサービス。|
|IPSec|Security Architecture for Internet Protocol:IPパケットを暗号化し、盗聴や改ざんを防ぐ技術のこと。|
|AWS Client VPN|クライアントデバイスからAmazon EC2などのVPCのリソースへのVPN接続を提供するサービス。|
|仮想プライベートゲートウェイ|オンプレミス環境とAWSを接続する際に利用するゲートウェイ。|
|VPCピアリング|異なるVPC間をプライベート接続するサービス。|
|AWS Transit Gateway|VPC内にハブの機能を備えたゲートウェイを配置するサービス。|
|VPCエンドポイント|VPC内のリソースから各種のAWSサービスへのアクセスやAPIコールは、VPCエンドポイントを利用することで、AWSのプライベートネットワークからアクセスできるようになる。|

### Elastic Load Balancing(ELB)
`Elastic Load Balancing(ELB)`は、Amazon EC2や特定のIPアドレスへのトラフィックを分散するロードバランジングサービスで、EC2インスタンスを登録するだけで利用できる。
ELBには以下の4種類がある.
|ELBの種類|説明|
|-|-|
|Classic Load Balancer(CLB)|標準的なロードバランジングを提供する。CLBに対するTCPリクエストをバックエンドインスタンスに振り分け、指定されたポートへトラフィックを転送する。|
|Application Load Balancer(ALB)|リクエストレベル（レイヤー７）で動作し、リクエストの内容に応じて、あらかじめ設定したターゲットにルーディングして処理を振り分ける。|
|Network Load Balancer(NLB)|レイヤー４で動作し、低レイテンシーで高いスループットを実現する場合に利用する。送信元のアドレスを保持するため、レスポンスはクライアントへ直接返す。|
|Gateway Load Balancer(GLB)|レイヤー３で動作し、ファイアウォールや侵入検知などの仮想アプライアンスの可用性をより高められる。|
---
|用語|説明|
|-|-|
|Amazon CloudFront|エッジロケーションからコンテンツを配信するCDNサービス。|
|Amazon Route53|可用性の高いDNSを提供するためのマネージドサービス。|
|パブリックホストゾーン|公開Webサーバーの名前解決などに利用する。|
|プライベートホストゾーン|社内システムなど、インターネットを介さない通信における名前解決に利用する。|

### Route 53の主なルーディングポリシー
|ルーディングポリシー|説明|
|-|-|
|レイテンシーベースルーディング|レイテンシーが最も低いリソースにルーディングする|
|加重ルーディング|複数のリソースに加重度を設定し、指定した比率に応じて処理を分散するようにルーディングする|
|位置情報ルーディング|接続元のクライアントの位置から、地理的に近い場所にルーディングする|
|フェイルオーバールーディング|ルーディング先の対象になるリソースをヘルスチェックし、利用できるリソースにルーディングする|
|シンプルルーディング|設定されたレコードの情報に従ってルーディングする|
|地理的近接性ルーディング|ユーザーとリソースの地理的場所に基づいてルーディングする|
|複数値回答ルーディング|最大８個からランダムに選ばれた正常なレコードを使用して、　Route 53がDNSクエリに応答する|
---
|用語|説明|
|-|-|
|Elastic IP(EIP)|固定のグローバルIPアドレス提供するサービス。|
|AWS Identity and Access Management(IAM)|AWSを利用するユーザーに対してAWSへのアクセスを安全に制御するための仕組み。|
|Amazon EC2|AWSクラウド上で仮想サーバーを提供する、AWSの代表的なコンピューティングサービス。|
|AMI|EC2インスタンスのイメージファイル。|
|Auto Scaling|リソースの使用状況をモニタリングし、その状況に応じてEC2インスタンスなどのAWSリソースを、自動でスケールアウトまたはスケールインするサービス。|

### Auto Scaling
#### 【Auto Scalingの種類】
|種類|対象サービス|機能|
|-|-|-|
|EC2 Auto Scaling|EC2|スケーリングポリシーに従いEC2インスタンスをスケーリングする。|
|Application Auto Scaling|EC2以外|Amazon ECSサービスやAmazon EMRクラスター、Amazon Auroraレプリカなど、Amazon EC2以外のリソースを、使用状況に応じて自動スケーリングする。|
|AWS Auto Scaling|EC2、EC2以外|自動スケーリングと予測スケーリングの機能を持つ。|

EC2 Auto Scalingでは、あらかじめ設定したAmazon Machine Image(AMI)からEC2インスタンスを起動するため、AMIを常に最新にしておくことが重要。アプリケーションなどの設定は、ユーザーデータ（EC2インスタンスの起動時に提供されるスクリプトやコマンド）を利用してAmazon S3やGitリポジトリからソースやスクリプトを取得することで、EC2インスタンスを最新の状態にすることができる。

EC2 Auto Scalingを実行するには、次の３つの設定を行う。

#### スケーリングプラン
いつ、どのような条件でAuto Scalingを実行するかを定義する。具体的には以下の条件で実行が可能。
・正常なインスタンス数を維持するように実行
・手動でスケーリングを実行
・スケジュールを指定して実行
・CloudWatchのメトリクスに応じて自動実行

このうち、自動実行の場合は以下のポリシータイプの設定が可能。
|ポリシータイプ|説明|
|-|-|
|シンプルスケーリング|１つのスケーリングポリシーに基づいて実行|
|ステップスケーリング|Amazon CloudWatchアラームの設定に応じた一連のスケーリングポリシーに基づいて実行|
|ターゲットトラッキングスケーリング|特定のメトリクスのターゲット値を維持するように実行|
|予測スケーリング|過去のAmazon CloudWatch履歴データから予測データを作成し、その予測に基づいて実行|

#### 起動設定
Auto Scalingの実行時に起動するEC2インスタンスの情報を定義する。

#### Auto Scalingグループ
EC2インスタンスの管理を行う範囲のことを指し、Auto Scalingで実際に起動するEC2インスタンスの最小数、最大数、希望数を定義する。

### Amazon Elastic Container Service(ECS)
フルマネージド型のコンテナオーケストレーションサービス。ECSを利用することで、Dockerコンテナを簡単に実行、停止、管理することができる。

#### Amazon ECS
ECS環境を構築するには、以下のような作業を行う。
#### ①クラスター作成
コンテナはEC2インスタンスやオンプレミスのサーバーや仮想マシン（VM）、AWS Fargateなどのインフラストラクチャ上で動作する。それらのインフラストラクチャを論理グループ化して管理するタスクまたはサービスを「`クラスター`」といい、ECS環境では、まずこのクラスターを作成する。

#### ②タスク定義
タスク定義では、Dockerイメージの格納先やメモリ使用量の制限、ネットワーク、ストレージ、ヘルスチェックに関する項目の設定を行う。
コンテナイメージを取得するタスク実行ロールや、コンテナから他のAWSサービスへのAPIリクエストに使われるタスクロールもここで指定する。

#### ③ELB設定
トラフィックをコンテナ全体に分散して処理できるようにするために、ELBの設定を行う。

#### ④サービス設定
クラスター上で起動するコンテナ数や起動するコンテナの最大数などを設定する。

---
|用語|説明|
|-|-|
|Amazon Elastic Container Service Anywhere(ECS Anywhere)|ECSをユーザーが所有するインフラストラクチャ環境上で実行することができる。|
|Amazon Elastic Kubernetes Service(EKS)|EKSはKubernetes向けのフルマネージド型のコンテナオーケストレーションサービスの１つ。|
|Amazon Elastic Kubernetes Service Distro(EKS Distro)|EKSの機能を使用しながらもKubernetesの管理をユーザー側で行いたい場合は、オープンソースとして公開されているEKS Distroを使用すると実現できる。|
|Amazon Elastic Kubernetes Service Anywhere(EKS Anywhere)|EKS Distroを使用してAWS以外の環境に構築されたKubernetesクラスターをAWSのEKSコンソールで管理したい場合は、Amazon EKS Anywhereを使用する。|
|AWS Fargate|コンテナ向けのサーバーレスコンピューティングエンジンで、ECSとEKSの両方で動作する。|

# 参考
https://www.amazon.co.jp/%E6%A8%A1%E6%93%AC%E5%95%8F%E9%A1%8C%E4%BB%98%E3%81%8D-AWS%E8%AA%8D%E5%AE%9A-%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88%E6%95%99%E7%A7%91%E6%9B%B8-%E7%AC%AC3%E7%89%88%EF%BC%BBSAA-C03%EF%BC%BD%E5%AF%BE%E5%BF%9C/dp/4295016098/ref=sr_1_3?keywords=aws+saa&qid=1682091471&sprefix=aws+saa%2Caps%2C172&sr=8-3