IT未経験者がAWSアソシエイト勉強中に間違えたもの Part3

<h3>Amazon S3に保存しているデータのストレージクラスの変更やオブジェクトの削除を自動化する機能</h3>

・ライフサイクルポリシー

ライフサイクルポリシーはS3バケット内のデータに対して、ストレージクラスの変更やオブジェクトの削除を自動化する機能
指定した期間が経過したデータを自動的に、よりコストパフォーマンスの高いストレージへ移動したり、保管期限の過ぎたデータを削除したりできる。アクセス頻度が予測できるデータや、保管期間が決められているデータのバケットに設定することで、コスト削減の効果が期待できる。

※間違えたもの：MFA Delete
MFA Delete
S3のバージョニング機能で世代管理されているオブジェクトを削除する際に、MFAデバイス認証が必要となる機能

<h3>プライベートサブネット内のEC2インスタンスからAmazon CloudWatch Logsへ、プライベートリンク経由でログを送信するときに使うサービス</h3>

・AWS Private Link

S3やDynamoDBなどインターネットから直接利用できるVPC外のAWSサービスへのアクセスは、VPC内のAWSリソースからインターネットゲートウェイを経由して通信する。
「VPCエンドポイント」は、セキュリティ上の制約でインターネットとの通信が制限されているプライベートサブネット内のAWSリソースから、インターネットゲートウェイを経由せずにVPC外のAWSサービスへアクセス可能にする機能
VPCエンドポイントにはゲートウェイ型とAWS PrivateLinkはAmazon CloudWatch LogsやAmazon SNS、AWS CloudFormationなど多数のサービスで利用できる。
なおAmazon CloudWatch Logsは、AWSサービスやEC2インスタンスのOSやアプリケーションのログを収集し、一元管理するサービス
PrivateLinは、サービスへ接続したいリソースが配置されているサブネットにプライベートIPアドレスを持つENIを作成し、ENIとサービスをリンクさせる。

<h3>オンプレミスのサーバーを運用していて、日増しにトラフィックが増え動画のダウンロードができないエラーを解決するサービス</h3>

・CloudFrontを利用し、オリジンサーバーにオンプレミスのサーバーを指定する

Amazon CloudFrontは、AWS上で動作する安全で高速なコンテンツ配信ネットワーク
CloudFrontを利用すると、世界各地に配置されているエッジロケーションから、自動的にクライアントと物理的な距離が近いエッジロケーションが選択される。そしてエッジロケーション内のエッジサーバー（世界各地の配信サーバー）がコンテンツを配信する。
CloudFrontのオリジンサーバー（オリジナルデータがあるサーバー）には、インスタンスやS3などのAWSサービスや、オンプレミスのサーバーを設定できる

CloudFrontを利用してオンプレミスのサーバーをオリジンサーバーに設定することで、オンプレミス環境上に保存されている動画ファイルが世界各地のエッジサーバーにキャッシュされる。クライアントは物理的な距離が近いエッジサーバーから動画ファイルをダウンロードするのでオリジンサーバーの負荷が軽減され、問題の解決につながる

<h3>Amazon FSx For Lustreとは</h3>
LustreとはLinux上で動作するオープンソースのファイルシステムで、主にスーパーコンピューターなどのHPC（High Performance Computing)や機械学習の分野で利用される。
大量のクライアント（ファイルシステムを利用する端末）から、低レイテンシかつ高スループットにファイルアクセスを行う必要があるシステムで利用されている。
FSx For Lustreを利用するには、LinuxをインストールしたEC2インスタンスからファイルシステムをアタッチ（マウント）する。1つのファイルシステムには、1台〜数千台のインスタンスから同時アクセスが可能
また、EC2インスタンスやFargate,ECSなどで実行されるコンテナからもLustreファイルシステムへアクセスできる。
その際は、タスクロールと呼ばれるIAMロールの設定が必要になる。

Fargate
コンテナ向けのサーバーレスコンピューティングエンジン。ECSやEKS（いずれもコンテナを生成したり管理するサービス）に対応している。Fargateを利用することにより、コンテナが動作する環境（ホスト）を意識することなくコンテナを実行できる。

特徴
・フルマネージドシステム
・Amazon S3と連携できる
・POSIXに準拠したファイルシステム
POSIX
Linuxを含めたUNIX系OSにおけるプログラミングに関する標準規格

<h3>Amazon CloudWatchとは</h3>

サービスを継続して運用するために、管理者はたとえばストレージが全て使い切られる前に余剰を確保しておいたり、負荷が高くなり機能不全に陥る前に追加のリソースを用意したりと、状況に応じた適切な処置を行う必要がある。
Amaozn CloudWatchは、AWSサービスやオンプレミス（自社運用）のシステムを監視し、閾値（境界値）を超える・下回るなどした場合に管理者に通報するなど、サービスのリソース（CPU使用率やストレージの使用状況など）の状態に応じたアクションを取らせることができる。管理者はCloudWatchを利用することにより、サービスの安定した運用やパフォーマンスの向上、サービスの改善に役立てることができる。

・CloudWatchの機能
CloudWatch
メトリクス（リソース情報）の収集、アラームの定義
CloudWatch Logs
AWSサービスや、EC2インスタンスのOS・アプリケーションのログ管理
CloudWatch Events（EventBridge)
AWSリソースの変化に応じてアクションを実行
CloudWatch Logs Insights
クエリの実行による柔軟なログ解析を行う機能
CloudWatch Logsにおける単語のフィルタリングよりも高度な処理が可能で、たとえば「特定のアプリケーションが一定期間に出力した”Error”を含むメッセージをカウントする」のようなクエリを実行できる。

<h3>Amazon FSx For Windowsファイルサーバーが提供する機能</h3>

・NTFS（NT File System)
Windowsにおける標準のファイルシステム
・SMB（Server Message Block）
主にWindowsコンピュータ間において、ファイル共有やプリンタ共有に使用されるプロトコル
・AD（Active Directory)
ADはWindows環境においてユーザーやコンピューターをドメインという単位で一括管理する機能
・Windows ACL（Access Control List）
ACLはADによって実現されるアクセス制御
ファイルやフォルダなどのリソースに対し、ユーザーごとにアクセス許可/拒否を設定できる。
・DFS名前空間（Distributed File System Namespace)
DFS：Windowsコンピューター間で複数のコンピュータに存在する共有フォルダなどを一括管理する機能
DFS名前空間：異なるコンピュータ上の共有フォルダへ統一された名称でアクセスできるようにしたもの（例：//ADドメイン/共有名/フォルダ名
・DFSR(DFS Replication)
共有フォルダ間を関連づけて自動的に複製する機能
特定のコンピュータへのアクセス集中を防いだり（負荷分散）、意図しない削除からファイルを保護する（可用性の向上）ことができる

<h3>ECSの起動タイプ</h3>

・AWS Fargate（Fargate起動タイプ）
AWS Fargateはコンテナ向けのサーバーレスコンピューティングエンジン
コンテナ実行環境のCPUやメモリのスペック、アクセス権限（IAM）などを設定するだけで、サーバーの環境構築や管理をすることなくコンテナを実行できる。
Fargateの利用料金は、タスクで指定したCPU/メモリに応じて課金される。実行したタスクのリソース使用量に対して料金が発生するので、不定期にタスクが実行されるシステムや、常にタスクが実行可能な状態でなければならないシステムなどに向いている

・EC2起動タイプ
EC2起動タイプはユーザーが管理するEC2インスタンス上でコンテナを実行する。
コンテナを実行するEC２インスタンス、ネットワーク、IAMなどを設定すると、ECSがAWS CloudFormationのスタックを作成および実行して、構築したコンテナ実行環境をECSに登録する。EC2起動タイプでは通常のインスタンスと同様にOSやミドルウェアのアップデート、スケーリングなどのサーバー管理をユーザーで実施する必要がある
EC2起動タイプの利用料金は、指定したEC2インスタンスタイプに応じて課金される。
EC2起動タイプの利用料金は、指定したEC2インスタンスタイプに応じて課金される。インスタンスの起動時間に対して料金が発生するので、インスタンス起動中に多数のタスクが実行されるシステムなどに向いている。

<h3>AWSへのセキュアな接続</h3>

オンプレミスなどのユーザー環境からAWSへ接続した場合、通常なインターネット回線を経由する。
しかしインターネット回線は不特定多数の利用者と回線を共有するため、通信内容の傍受やデータの改竄などのリスクがある。このようなリスクを軽減し、AWSへセキュアに通信できるサービスが
・AWS Direct Connect
・AWS VPN

【AWS Direct Connect】
AWS Direct Connect（DX)はオンプレミスなどのユーザー環境からAWSへ、専用回線を使ってセキュアに接続するサービス。インターネット回線ではなく専用回線を敷設して使用するので、安定した高速なネットワークで接続できる。
Direct Connectは、Direct ConnectロケーションのDirect ConnectエンドポイントからAWSネットワークへの接続を保証している。AWSユーザーはDirect Connectロケーション内にルーターを設置し、オンプレミスから専用線を引き込む必要がある。工事費用と時間をかけてでも、安定した通信と強固なセキュリティ環境を求めるケースに適している。
●AWS Direct Connectロケーション
Direct Connectロケーションとは、オンプレミスとAWSのデータセンターとを相互に接続するポイントのこと
各リージョンに複数用意されており、ユーザーは接続するロケーションを選択できる。
●AWS Direct Connectエンドポイント
Direct Connectにはパブリック接続とプライベート接続がある。パブリック接続はS3やDynamoDBなどのVPC外にあるAWSリソースへの接続に利用する。プライベート接続はVPCに仮想プライベートゲートウェイ（VGW：Virtual Private Gateway）を配置し、VPC内のAWSリソースへ接続する
●Direct Connectゲートウェイ
Direct Connectのプライベート接続はDirect Connectエンドポイントと仮想プライベートゲートウェイを１対１で接続するので、通常は1つのVPCにしか接続できない。
Direct Connectエンドポイントから複数のVPCに接続したい場合は「Dircet Connectゲートウェイ」を利用する。
Direct ConnectゲートウェイはDirect Connectエンドポイントと仮想プライベートゲートウェイの間に配置されて、世界中の各リージョンにある複数のVPCへ接続できるようになる。なお、VPCは他のAWSアカウントのものであっても接続できる。
Direct Connectゲートウェイで接続した複数のVPCは、Direct Connectエンドポイントとの通信は可能ですが、Direct Connectゲートウェイ経由でVPC同士の通信はできない。
VPC同士の通信を行う場合は、VPCピアリングもしくはAWS Transit Gatewayを利用する。
○Direct Connectの高可用性の実現
Direct Connectでは、オンプレミスから複数のDirect Connectロケーションへの接続をサポートしている。
利用しているロケーションの障害に備えて複数のロケーションへ接続することで、可用性を高められるようになっている。

【AWS VPN】
AWS VPNには「AWS Client VPN」と「AWS Site-to-Site VPN」の２種類の接続方法がある。

●AWS Client VPN
AWS Client VPNは、パソコンなどの端末とVPCのClient VPNエンドポイントを、インターネットVPNで接続するサービス。OpenVPNというVPNソフトウェアを利用しており、Windows、macOSだけでなくiOSやAndroidにも対応している。
Client VPNは機器の導入等が不要なので、手軽にセキュアな通信でAWSへアクセスできる。
●AWS Site-to-Site VPN
AWS Site-to-Site VPN(サイト間VPN）は、カスタマーゲートウェイ（オンプレミスのルーター）とVPCの仮想プライベートゲートウェイを、インターネットVPNで接続するサービスです。Site-to-Site VPNはインターネット上に仮想の専用線であるVPNトンネルを張り、IPsecという暗号化技術を使って通信を保護する
○AWS Site-to-Site VPNの高可用性の実現
AWS Site-to-Site VPNで使用する仮想プライベートゲートウェイとVPNトンネルは、機器障害に対する高可用性を保つためにAWS側で冗長化されている。一方カスタマーゲートウェイはオンプレミス内の機器なので、高可用性を保つためにはAWSユーザー側で冗長化する必要がある
○AWS Site-to-Site VPNのネットワーク監視
VPNトンネルを経由したネットワークトラフィック情報は、Amazon CloudWatchで収集できる。CloudWatchには指定した仮想プライベートゲートウェイのVPNトンネルの状態、送受信したバイト数が記録される。VPNトンネルの状態をCloudWatchで監視すれば、VPNトンネルに異常が発生した場合にアラームを出すことができる。

<h3>RDSで暗号化を行う方法</h3>

・データベース作成時に暗号化オプションを有効にする
Amazon RDSは、データベースインスタンスを暗号化することができる
また、データベースインスタンスの暗号化を行うと、バックアップやスナップショット、ログ、RR（リードレプリカ：参照専用のデータベースレプリカ）へも暗号化が行われる
暗号化を行う場合は、データベースの作成時に指定する。データベースの作成後に暗号化を有効化することはできない
※暗号化を有効化したデータベースを後から無効にすることはできない

<h3>プレイスメントグループとは</h3>

プレイスメントグループとは
複数のEC2インスタンスをグループ化し、インスタンス間で低遅延な通信を可能にする機能
たとえば「クラスタープレイスメントグループ」では、グループ内のEC2インスタンスは単一AZ内の物理的に近い距離に配置されるため、通信の遅延が起こりにくく高速な通信が可能
※クラスタープレイスメントグループが所属するAZに何らかの障害が発生した場合はサービスが利用不能になってしまうため、可用性を犠牲にしてもEC2インスタンス間の通信遅延を極力無くしたい場合に利用する。

<h3>S3のデータの暗号化を自動で行う方法</h3>

・バケットのデフォルト暗号化を有効にする
S3バケットのオプションには、サーバー側の暗号化をバケット単位で利用できる「デフォルト暗号化」がある
デフォルト暗号化は、S3へデータを保存するときに「サーバー側の暗号化」を自動で適用する機能
デフォルト暗号化で使用する鍵は「SSE-S3」か「SSE-KMS」のどちらかを選択する。

<h3>VPCにおけるサブネットについて</h3>

・サブネットは1つのAZに属する

サブネットはVPCを論理的に分割したネットワーク空間
サブネットは1つのAZに属し、1つのAZ内に複数のサブネットを作成できる。
インターネットから直接アクセスされるAWSリソースを配置するサブネットはパブリックサブネット、インターネットから直接アクセスされないAWSリソースを配置するサブネットはプライベートサブネット。サブネットの設定にパブリックサブネットやプライベートサブネットという選択はなく、インターネットゲートウェイへのルーティング設定があるサブネットは、パブリックサブネットの役割をもつ。

【サブネット】
サブネットはVPCを論理的に分割したネットワーク空間
サブネットは1つのAZに属し、1つのAZ内に複数のサブネットを作成できる
インターネットから直接通信があるサブネットはパブリックサブネット、インターネットから直接通信がないサブネットはプライベートサブネットという
サブネットの設定にパブリックサブネットやプライベートサブネットという選択はなく、インターネットゲートウェイへのルーティング設定があるサブネットは、パブリックサブネットの役割をもつ

<h3>Amazon Simple Email Service（SES)の利用について気をつけること</h3>

・バウンス率や苦情率を注視して、常に低く保つ運用を行う

Amazon SESでは高い信頼性を保つために、利用者に対して「バウンス」「苦情」に関する制約を設けている。
「バウンス」「苦情」は、メールの送信者が適切なメールを配信しているかどうか（スパムメールの送信者かどうか）を判断する指針になる。

バウンス（送信者への差し戻しメール）
メールの受信者のメールアドレスが存在しない場合や送信者のドメインやIPアドレスがブロックされているような場合、メールは受信者へ配信されずに送信者へ差し戻される。このようなメールをバウンスと呼ぶ

苦情（スパムメールの報告）
メールの受信者が、メールクライアントの「スパムとして報告」などの報告を行った場合、「苦情」としてカウントされる

※バウンス率・苦情率が一定の値を超えるとSESがメールの送信を停止することがあるため、利用者は値を注視し常に低く保つように運用する必要がある

<h3>AWS Global Acceleratorとは</h3>
AWS Global Acceleratorは、ユーザーからAWSリソースまでのアクセス経路をAWSネットワークを利用して最適化するサービス。
通常、ユーザーがAWSリソースにアクセスするとき、AWSリソースがあるリージョンまでに経由するインターネット回線の影響を受けるため、遅延の発生やデータ損失などのリスクがあります。Amazon Global Acceleratorは、ユーザーと地理的に近いエッジロケーションから高パフォーマンスなAWSネットワークを経由してAWSリソースへアクセスするため、遅延の発生やデータ損失などのリスクを少なくする。

機能
・リージョン間の負荷分散
複数のリージョンで展開しているWebアプリケーションなどへのリージョン間の負荷分散が可能
負荷分散先（エンドポイント）はALB、NLB、EC2インスタンス、ElasticIPアドレスを指定できる。
・エンドポイントのヘルスチェク
ELBと同様に、Global Acceleratorにもヘルスチェック機能がある
ヘルスチェックで異常となったエンドポイントは、負荷分散先から除外される
・固定パブリックIPアドレスが利用可能
Global Acceleratorは2つの固定パブリックIPアドレスを保有しており、ユーザーはこの固定IPアドレスへアクセスする。エンドポイントが増減してもIPアドレスに影響なくサービスを継続できるため可用性が向上する。
また、Elastic IPアドレスを割り当てられないALBへアクセスが、Global Acceleratorを利用して固定IPアドレスでアクセス可能になる。

<h3>IAMのPermissions Boundary（アクセス許可協会）とは</h3>

IAMでは、IAMユーザーやIAMロールに対して「ここまでの範囲内であれば自由に操作を行える」という境界を設定できる。これを「Permission Boundary（アクセス許可境界）」と呼ぶ。アクセス許可境界が設定されたユーザーは、境界で許可された範囲とIAMポリシーの両方で許可されている範囲でアクションを行える
※複数の権限の場合、両方の権限で許可されているアクションが許可される（どちらかの権限で拒否されている場合は、拒否される）
アクセス許可境界は、例えばLambda関数の作成をしている開発者に対して、必要なリソースへのアクセス権は都度自由に設定できるようにしておきたいが、開発者自身のアクセス権を操作させたくないようなケースで有用。
開発者にある程度の権限を与えておくことにより、アクセス権が必要になった際に、いちいち管理者が対応する必要がなくなる。一方、権限を超えた操作をしないようにアクセス許可境界を設定しておけば、セキュリティリスクも抑えられる