AWS認定 ソリューションアーキテクト プロフェッショナル(SAP-C02)試験範囲で個人利用しにくいサービスの概要まとめ

# はじめに
AWS認定 ソリューションアーキテクト プロフェッショナルでは、幅広いAWSサービスの知識が求められ、その中には企業利用をするケースを想定しているものもあるため、個人で検証できないような構成に関する設問も多い。一番良いのは実務経験のなかでこれらを覚えていくことだが、すべてのサービスを網羅的に実務で経験するというのは、環境によっては難しいと考えられるため、そういったサービスの概要をまとめておく。
なお、試験範囲はSAP-C02を前提として作成している。

この記事が、認定試験受験者の一助になれば幸いだ。

# マイグレーション系マネージドサービス
データ移行、システム移行はオンプレミスのシステムを前提にしていることが多いため、環境が作りにくい。
AWSは親切なことに、物理サーバだろうと仮想サーバだろうと移行できるように色々なメニューを用意してくれている。正しくユースケースを理解していないと得点につなげられない。

## AWS Migration Hub
異なるサービスを使用した移行作業を追跡し、管理するための一元管理サービス。

### Migration Hub Strategy Recommendations
AWS Migration Hubの機能で、移行の計画や実施を最適化するための推奨戦略やレポートを提供する

### AWS Application Discovery Service
オンプレミスのアプリケーションを発見し、マイグレーション計画を策定するためのサービス。
- AWS Migration Hubに統合されている
- 物理サーバにも対応している
- 詳細なメトリクス(CPU、RAM使用量、実行中のプロセスなど)を収集することができる
- CMDB(構成管理データベース)データのインポートについて対応していない

### AWS Application Discovery Service Agentless Collector
インストールが不要で、短時間で大量のデバイス情報を収集することが可能なツール。
- VMWare環境でのみ動作する。***物理サーバが出てくるときは使えない***
- 詳細なメトリクス(CPU、RAM使用量、実行中のプロセスなど)を収集することは***できない***

### AWS Application Discovery Agent
オンプレミス環境のサーバアプリケーション、ネットワーク依存関係、実行環境を詳しく理解するためのツール。

### Data Exploration
収集した移行データを探索、分析することができる。

## AWS Application Migration Service
異なる移行タスクを自動化し、簡易化するためのサービス。
- 移行前の環境のインベントリ取得には使わない

## Migration Evaluator(旧称: TCO Readiness at AWS)
AWS移行計画の最初のステップとして、オンプレミスのIT環境を評価(現状分析およびAWSへの移行に伴うコスト見積もりを自動化)し、最適なAWS移行パスを特定するツール。
- CMDB(構成管理データベース)データのエクスポートデータを使用可能
- 完全無料

## AWS DataSync
オンプレミスのデータセンターとAWSストレージサービス間で、大量のデータを継続的に簡単、高速、安全に転送するサービス。
- カスタムフィルターを用いて特定のデータのみを選択的に転送することが可能

# AWS Organization系サービス
複数AWSアカウント(しかも数百という単位)を扱うためのノウハウであるため、これも個人では環境を揃えにくい。
安全に組織運営するための知識を問われる問題が多く、正しく押さえておかないとこちらも得点に繋げられない。

## AWS Organizations
一元的に複数のAWSアカウントを管理するためのサービス。
アカウントの構造化、組織全体のポリシーの一元化が可能。

### OU(組織単位)
AWS Organizationsの階層型管理体制の一部で、アカウントを論理的にグループ化し、ポリシーを共有するのに使用される。
- OUに設定されたポリシーは、そのOUに含まれる全てのアカウントに適用される

### SCP(サービスコントロールポリシー)
AWS Organizationsで設定可能なポリシーの一つ。
組織内のAWSサービスの使用を制限することができる。
- デフォルトは、すべての操作が許可されるFullAWSAccessポリシーが適用されている
- 上位OUは下位OUに暗黙的に引き継がれる
- 仕組みについては[クラスメソッド先生]がとても分かりやすい

https://dev.classmethod.jp/articles/organizations-scp-inheritance/

- SCPでできないことを理解しておく(Principal/NotPrincipal句が書けない、Resource句はDenyでしか使えない(Allowでは"*"としか書けない)、NotAction句はDenyでしか使えない

https://qiita.com/Keennak/items/c79ed381eef6eca4a1cb#resource%E5%8F%A5%E3%81%AFdeny%E3%81%A7%E3%81%97%E3%81%8B%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%84allow%E3%81%A7%E3%81%AF%E3%81%A8%E3%81%97%E3%81%8B%E6%9B%B8%E3%81%91%E3%81%AA%E3%81%84

### タグポリシー
AWS Organizationsで設定可能なポリシーの一つ。
リソースのタグ付けに対するルールを強制できる。
ただし、タグ付けそのものを強制することはできない。タグ付けそのものを強制する場合は、SCPを使う。

### AWS Config
AWSリソースの設定を監視し、設定変更の記録を取るサービス。
- 単独のAWS Configでリージョンの制限やタグポリシーの適用は行えない
- 問題点の検知はできるが、制限はできない

#### AWS Config適合性パック
AWS Configルールと関連するリメディエーションアクションをパックとしてまとめ、複数のアカウントまたはリージョンにデプロイできる。
- 中央管理的なルール設定に使用されることが多い

### 一括請求
組織内の全てのアカウントの料金を一つの請求書にまとめることができる。

### OrganizationAccountAccessRole
組織でアカウントを作成した際に、ルートユーザーに加えて作成されるIAMロールのデフォルト名
- 組織のメンバーアカウントを作った場合は自動作成される
- 既存アカウントに招待する場合は自動作成***されない***ため、このロールを作って管理者権限を付与し、組織の管理アカウントからのstsを可能にする信頼関係ポリシーを設定する

[参考：AWS Organizationsユーザーガイド](https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_create-cross-account-role)

### AWS Billing and Cost Management
AWSの請求とコスト管理に関する情報を提供するインターフェース。
- 組織の管理者アカウントで操作する
- リザーブドインスタンスの割引の共有をアカウント単位にON/OFFできる

## AWS Budgets
コストと使用量に対する予算を作成し、管理するためのツール。

## AWSコストと使用状況レポート(AWS CUR)
AWSの使用料金とコストに関する詳細データを提供するレポート。
- タグ情報が含まれる
- 詳細なコスト分析が可能

## AWS Cost Explorer
AWSの使用状況を理解し、コストを制御するためのツール。支出と使用状況のトレンドを視覚化し、予測分析を行うことが可能。
- 組織全体で共通の管理アカウントを介してCost Explorerを使用することで、全アカウントに跨る使用率の低いインスタンスの情報とその最適化のための提案を一覧で見ることができる。***Cost Explorerのユースケースの問題文で「各アカウントで」という表現が出てきた場合は注意***
- 過去12ヶ月間のコスト比較や今後12ヶ月間のコスト予測を行うことが可能

## AWS Control Tower
多数のAWSアカウントを容易に設定して管理するためのサービス。最適なセキュリティとコンプライアンスのベストプラクティスを組み込んでいる。
- カスタムポリシーを適用するためにはIAMロールを作成して適切な権限を付与する必要がある。AWSServiceCatalogAdminFullAccess IAMポリシーをAWSControlTowerBlueprintAccessロールにアタッチすることで、AWS Control Tower経由でのカスタマイズのリクエストが可能になる
- 予防コントロール(予防ガードレール)で特定のリソースの作成をエラーにして予防できる
- 検出コントロール(検出ガードレール)でルール違反のリソースを検出できる
- ガードレールはOUに対して設定する

## AWS Service Catalog
組織内の他のユーザーが使うための承認済み製品リストを作成、管理するためのサービス。
- たとえばCloudFormationテンプレートを組織内に展開するなどに使用

### プロアクティブコントロール
ガバナンスの自動化と、コンプライアンスの状態の監視と通知に重点を置いている。
問題点の検知はできるが、制限はできない。

## AWS Resource Access Manager(RAM)
各種リソースをアカウント間で共有できるサービス。
リソースにより共有可不可があるが、広範に及ぶので、試験によく出るものを押さえておくと良い。実運用をする際は[AWS公式のユーザーガイド](https://docs.aws.amazon.com/ja_jp/ram/latest/userguide/shareable.html)を確認しよう。

<table>
  <caption>試験でよく出る共有可不可のリスト</caption>
  <thead>
    <tr>
      <th>全アカウントと共有可能</th>
      <th>自組織のアカウントのみ共有可能</th>
      <th>共有不可能<br>※←出題されやすいもの</th>
    </tr>
  </thead>
  <tr>
    <td>AWS Transit Gateway<br>Amazon Aurora DBクラスター<br>プレフィックスリスト</td>
    <td>サブネット</td>
    <td>AWS CodeArtifact<br>AWS Secrets Manager<br>AWS Lambda<br>セキュリティグループ</td>
  </tr>
</table>

## AWS IAMアイデンティティセンター(Single Sign-On)
複数のAWSアカウントやビジネスアプリケーションへのシングルサインオンアクセスを可能にするサービス。
- オンプレミスのAD FSと連携して使用する

## AWS Firewall Manager
AWS Organizationsを連携して、複数アカウント複数リージョンに対して中央管理方式でFirewallルールを設定・適用することができるサービス。
- セキュリティ設定の一元管理機能を用いて、AWS WAFのWeb ACLを新たに作成したALBとAPI Gateway APIにアタッチすることも可能

## AWS Security Hub
AWSリソースについてのセキュリティアラートや確認結果を中心的に収集し、分析・表示することができるサービス。
- 新たにアカウントが組織に追加されると、Security Hubが新規アカウントの存在を自動的に検出する

# オンプレミス/アカウント間接続系サービス
オンプレミス-AWS接続はそもそもスイッチ・ルータ等も必要になるため、オンプレミス環境を作りにくく、マルチアカウント接続は個人では大量のアカウントを扱うことが難しい。AWSの色々な接続サービスの特性を理解していないと理解が及びにくい。

## AWS Site-to-Site VPN
オンプレミスネットワークとAWSリソースの間で安全な通信を可能にするサービス。
- 50Mbpsのトラフィック要件のコスト効率が良い

## AWSDirect Connect
AWSとオンプレミス環境間で専用の物理的な接続を確立するサービス。
- Site-to-Site VPNに比べてコストが高くなる

### 専用接続
単一のアカウントに関連付けられた物理イーサネット接続。
- ポートスピードは1Gbps, 10Gbps, 100Gbpsを指定可能

### ホスト接続
AWS Direct Connectパートナーが運用している物理イーサネット接続。
- ポートスピードは50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbpsを指定可能

### VIF(仮想インターフェース)
AWS Direct Connect接続からの仮想インターフェース。
- パブリックVIF/プライベートVIF/トランジットVIFがあるがある
- パブリックVIFを使うとパブリックなAWSサービス(S3/DynamoDB等)にアクセスできる(プライベートVIFだとできない)
- トランジットVIFはAWS Transit Gatewayにアクセスできる

## Transit Gateway
サイト間のVPN接続や、異なるアカウント間、異なるVPC間での通信を集約するサービス。
- VPN接続自体のコストは増える
- 通信はインターネットを経由することがある(「プライベート接続」が要件の場合は使えないので注意)

## AWS Storage Gateway
オンプレミスの環境とAWSクラウドの間でデータをシームレスに移動させるためのサービス。ハイブリッドクラウド型のストレージを実現する。
データ転送を目的としているが、***リカバリソリューションとしては不適合***なのでDR系の問題では注意。

### Amazon S3ファイルゲートウェイ
オンプレミスのアプリケーションがS3と同じようにファイルベースのストレージを利用できるようにする機能。
- NFSとSMBプロトコルをサポートする

### Amazon FSxファイルゲートウェイ
オンプレミスのWindowsと、FSx for Windowsの接続をする機能。

### ボリュームゲートウエイ
オンプレミスのアプリケーションが、iSCSIブロックストレージを利用できるようにする機能。
- AWS BackupまたはEBSスナップショットスケジュールでEBSスナップショットをバックアップとして作成可能
- 保管型は非同期で保存データが保管される
- キャッシュ型は、すべてのデータがAWSに保管され、オンプレミスには頻繁にアクセスするデータだけキャッシュで補完される
- キャッシュ型はオンプレミスのストレージ容量を削減しながら、レイテンシを下げられる

### テープゲートウェイ
オンプレミスで使用しているバックアップソフトウェアはそのままに、保存先をテープ装置からAWSの仮想テープライブラリにする機能。
- GlacierプールまたはDeepArchiveプールを選択できる

# ディザスタリカバリ系サービス

## AWS Elastic Disaster Recovery
災害復旧ワークロードを自動化し、ビジネス継続性を向上させ、ダウンタイムを短縮するサービス。

### AWS Replication Agent
サーバーに接続されているボリュームコンテンツのブロックレベル読み取りを実行し、それをレプリケーションサーバーに複製する。これを利用することで、データの一貫性を保ちつつバックアップや移行を行うことができる。
- エージェントは OS レベルの読み取りフィルターとして機能して書き込みをキャプチャし、ブロックレベルの変更を レプリケーション サーバーに同期して、ほぼゼロのRPOを保証する