【学習メモ】SAA学習まとめ

## RDS

- リージョンサービス
- AZ単位で跨ぐことは可能


## S3

- Glacier Flexible Retrieval （旧Glacier）は1~5分での素早いデータ取得
- Glacier Deep Archiveはデータにアクセスする際は12時間以内の復元が可能
- Transfer Acceleration：クライアントとS3バケットの間で、高速、簡単、安全にファイルを長距離転送できるようになる


### 特徴

- 容量は無制限
- バージョニング機能あり
- 一定時間後に削除が可能

S3はグローバルサービス、データはリージョンごとに保存される仕様。複数のリージョンに保存されるのではなく、複数のAZに保存される。

## セキュリティグループ

インスタンス単位で設定するファイアウォール


## ネットワークACL

サブネット単位で設定するファイアウォール

## AWS Backup

- AWS Storage　Gatewayを使用して、オンプレミス及びAWSサービス全体のデータのバックアップの自動化を簡単にできる完全マネージド型のバックアップサービス
- バックアップポリシーを一元的に設定し　Amαzon EBSボリューム、Amazon RDSデータベース、Amazon DyanamoDBテーブル、AmazonEFSファイルシステム、Amazon Storage GatewayボリュームなどのAWSリソースのアクティビティを監視することができる

## CloudWatch

- モニタリングの仕組み
- AWS クラウドリソースと AWS で実行されるアプリケーションの監視サービス
- EC２インスタンスでは5分間隔の基本モニタリングがデフォルト、1分間隔の詳細モニタリング有償

## CloudWatch Logs

- CloudWatch Logsとはログ収集サービス
- 関連サービス
    - AWS CloudTrail
    - IAM(AWS Identity and Access Management)
    - AWS Kinesis Data Stream(高速かつ継続的にデータの取り込みと集約を行うためのデータサービス)
    - AWS Lambda

## Amazon CloudTrail

- AWS インフラストラクチャ全体でアカウントアクティビティをログに記録し、継続的に監視し、保持が可能

## Kinesis Data Firehose

- データをリアルタイムで収集、処理、分析することができる
- プログラムコードを実行して解析処理することはできない


## Amazon DLM(Data Lifecycle Manager)

- EBS ボリュームのSnapshotの生成・削除のライフサイクルを自動化できるサービス

## Amazon EFS

- NFSv4プロトコルを使用

## Amazon FSx

- SMBプロトコルを使って、最大数千台のコンピューティングインスタンスからアクセス可能なNFTSファイルシステムを提供する

## AWS ADS

- オンプレミスからAWSへの移行計画支援のため、オンプレミスのデータセンターに関する情報収集に特化したサービス
- サーバの設定データ、使用状況データなどを収集、保存しAWSで稼働した場合のそう所有コスト（TCO）の見積もりやAWSのへの移行計画に使用できる

## CloudFront

- 監査のためにすること
    - CloudFront APIに送信されるリクエストを取得する
    - CloudFrontアクセスをログを有効にする

## Amazon Athena

- Amazon Athenaは標準のSQLを使用してS3のデータを簡単に分析できるインタラクティブなサービス

## Reseravtionモデルを使用できるサービス

- Amazon EC2
- Amazon RDS
- Amazon ElastiCache
- OpenSearch Service
- Amazon Redshift
- AmazonDynamoDB

https://docs.aws.amazon.com/ja_jp/whitepapers/latest/cost-optimization-reservation-models/reservation-models-for-other-aws-services.html

## DNSレコード

- CNAMEレコード：別名に対する正式名を指定するためのリソースレコード、CNAMEリソースレコードを設定すると、ドメイン名を別名に置き換えることができます。
- Aレコード：ドメインまたはサブドメインをIPアドレスに紐づけるために利用する。名前解決の関連付けには利用できない。
- エイリアスレコード：CloudFrontディストリビューションやAmazon S3バケットなど、選択したAWSリソースにトラフィックをルーティングできる
- AAAAレコード：特定のホスト名に対応するIPv6アドレスを定義するレコード

## AWS Shield

マネージド型の分散サービス妨害 (DDoS) に対する保護サービス

### standard（無料）

- 追加料金なしですべてのAWSユーザーが自動的に利用できる
- インフラストラクチャ（L3および4）を標的とするDDoS攻撃を保護
- AWSへの受信トラフィックをモニタリングし、悪意のあるトラフィックがあれば検出する
- 攻撃を自動的に緩和

スタンダードは、すべてのAWSユーザーが無料で利用できるのがポイントですが、DDoS攻撃の履歴を参照したり、レポート化したり、通知を送信したりということはできません。

ただし、AWS WAFを同時に利用すれば、L7層のDDoSを検知したり通知したりといったことが可能です。

### advanced（有料）

- アプリケーションレイヤー（L7層）におけるDDoS攻撃も検出
- 高度なルーティング技術を利用した、より大規模なDDoS攻撃に対する追加の緩和機能
- AWSの他サービスとの連携でより可視化された状態の提供と攻撃の通知が利用可能
- DDoS攻撃の影響で請求金額が大きく上がった場合の払い戻し
- 24時間365日の専門サポート



## Amazon GuardDuty

## AWS WAF

## 他

### プライベートサブネットとパブリックサブネットの違いは？

- サブネットのルートテーブルを確認する。これにインターネットゲートウェイ(0.0.0.0/0)への経路が追加されているかどうか
- サブネットのトラフィックがインターネットゲートウェイにルーティングされる場合、そのサブネットはパブリックサブネットと呼ばれる


### パブリックサブネットにする手順

- VPCにIGWをアタッチ
- サブネットのルートテーブルがインターネットゲートウェイに繋がっていることを確認
- サブネットのインスタンスに、グローバルに一意な IP アドレス (パブリック IPv4 アドレス、Elastic IP アドレス、IPv6 アドレス) が割り当てられていることを確認
- ネットワークアクセスコントロールとセキュリティグループルールがインスタンス間で関連するトラフィックを許可していることを確認


### MemcachedとRedisのどちらを選択するべきか比較する場合

>「シングルスレッドで動作するインメモリキャッシュDBであり、全てのデータ操作は排他的である特徴」と「pub/sub機能を利用できる特徴」が正解となります。
他の選択肢は全てMemchachedの特徴です。

####  ElastiCacheにおけるRedisの特徴

- 複雑なデータ型が必要である。
- インメモリデータセットをソートまたはランク付けする必要がある。
- 読込処理の負荷に対して、リードレプリカを複製する必要がある。
- pub/sub機能が必要
- 自動的なフェイルオーバーが必要である
- キーストアの永続性が必要である。
- バックアップと復元の機能が必要である。
- 複数のデータベースをサポートする必要がある

#### ElastiCacheにおけるMemcachedの特徴は以下の通りです。

- シンプルなデータ型が必要である
- 複数のコアまたはスレッドを持つ大きなノードを実行する必要がある。
- システムでの需要の増減に応じてノードを追加または削除するスケールアウトおよびスケールイン機能が必要である。
- データベースなどのオブジェクトをキャッシュする必要がある。
- キーストアの永続性は必要ない
- バックアップと復元の機能が必要でない
- 複数のデータベースを利用できない
-  ElastiCacheはデータ処理を高速化するため、ストレージではなくメモリとキャッシュを活用しているところに最大の特徴があります。


### ネットワークの遅延を考慮し、ユーザのロケーションに近いリージョンにアクセスができるようトラフィックをルーティングする方法は？


- Route53のトラフィックフローを利用して地理的近接性ルーティングポリシーを設定する

地理的近接性ルーティングは、リソースの場所に基づいてトラフィックをルーティングし、必要に応じてトラフィックをある場所のリソースから別の場所のリソースに移動する場合に使用する

**※余談**

位置情報ルーティングはユーザーの位置情報（IPアドレスによる）基づいて特定のリージョンに対して、ルーティングさせる設定をすることができる。ユーザーとリソースに基づいた地理的近接性ルーティングと似ていますが、リソースに基づかない等の違いがある

参考資料
--- 

- [【合格したので】AWS SAA 対策まとめ【更新終わります】](https://nwengblog.com/aws-saa/#toc10)
- [AWS サービスがどこにあるのかまとめ](https://qiita.com/saitotak/items/d2ede050e7a2224da46d)
- [【AWS Shield とは？】初心者にもわかりやすく解説](https://www.wafcharm.com/blog/aws-shield-for-beginners/)