AWS Solution Architect Professional 受験記(キーワード編)

# はじめに
この記事は勉強記と題していますが、個人で学習した時の特につまづいたキーワードや覚えておきたいユースケースをメモのように残しているものとなります。

過去に書いたAWS Solution Architect AssociateのProfessional版というイメージですね。
(良ければ[Associate](https://qiita.com/ryo0819/items/41e9f49e46bac0a5da79)のほうも参考にしてみてください)

それでは早速キーワードの方からご覧ください。

## AWS移行関連(特に意識した方が良い項目)
- `DataSync`：オンプレミスのストレージとAWSのストレージサービス(EFSやS3)間でデータ転送する
    - データ移行、処理、バックアップなど高速に行う
- **`Migration Evaluator`**：リソース使用とコスト最適化について推奨してくれる、CMDBエクスポートからのデータを使用することができる、完全無料で使用が可能
- `IDフェデレーション`：異なるセキュリティドメイン間で認証情報を共有し、ユーザーが複数のシステムに対してシングルサインオンできるようにすること
- `Migration Hub`：AWSへの移行の進行状況を追跡、サーバーのグループ化が可能
    - 推奨するEC2インスタンスタイプを生成できる
    - `Data Exploration`：Migration Hubの1つで収集した移行データを探索・分析ができる
- `Database Migration Service (DMS)`：異なるデータベースエンジン間でデータ移行するサービス
    - レプリケーションしている変更データキャプチャ(CDC)をサポート(データベースの変更をキャプチャ、データベースやデータウェアハウスに反映)
- `Application Discovery Service`：アプリケーションのインベントリ情報を収集
    - データセンター全体のデータ収集を自動化し、クラウド移行を支援
    - CMDBは対応していない
- `App2Container`：アプリケーションをコンテナ化してAWSに移行するサービス
- `Schema Conversion Tool(SCT)`：異なるDBプラットフォーム間でスキーマの変換をサポート

## アプリケーション・EC2関連
- `App Stream 2.0`：ブラウザからWindowsベースのアプリケーションにアクセスできるようにするフルマネージドサービス
- `Elastic Beanstalk`：アプリケーションのデプロイとスケーリング、インフラ管理を自動化する
- `Systems Manager`：AWSやオンプレを一元管理、多数のインスタンスやリソースを管理する(Fleet Managerも)
- `Amplify`：ウェブサイトとモバイルアプリケーションを迅速に作成・デプロイできるプラットフォーム
- `Compute Optimizer`：インスタンスやEBSの最適化推奨を提供する利用無料のサービス
- `クラスタープレイスメントグループ`：ネットワーク上でインスタンス間の距離を最小にして、仮遅延ネットワーク性能を実現、分散型アプリ向け
- `パーティションプレイスメントグループ`：単一のリージョン内で複数のAZにわたりインスタンスを分散、大規模かつ高負荷向け
- `スプレッドプレイスメントグループ`：各インスタンスを異なるハードウェアに割り当てる、最大7インスタンスまでで、単一のハードウェア障害の影響を減らす
- `Serverless Application Model(SAM)`：サーバーレスアプリケーションの作成・テスト・デプロイを楽にする
- `API Gateway`：RESTful APIとWeb Socket APIの両方をサポート
- `起動テンプレートのAttribute-Based Instance Type Selection`：起動テンプレートでCPUやメモリの要件を設定するだけでインスタンスタイプを自動で選択してくれるもの
    - 決めるものとしてはvCPU、メモリ、GPU Count
- `Elastic File System(EFS)`：複数のEC2からマウントして利用できる高可用・高耐久なファイルストレージ
    - POSIX互換、スケールアウト型のシステム、NFSバージョン4、Multi-AZなどが装備されている
    - IOパフォーマンスモード：EFSの性能モードの1つで、大量の並列読み書きに最適(ビッグデータ分析など)
- `Amazon FSx`：Fully Managed Windows File Storageというファイルシステム
    - SMBプロトコルをサポート、コストはStorage Gatewayよりも高い
- `Data Lifecycle Manager (DLM)`：EBSスナップショットのライフサイフルを自動化する
    - 作成・保持・削除の設定ができる
    - EBSスナップショットとAMIのライフサイフルを管理しS3にデータはコピーしない
- `ECRライフサイクルルール`：ECRリポジトリ内のイメージの保持期間や数を自動的に管理できる
- `awsvpcネットワークモード(ECS関連)`：各タスクに専用のENIを割り当てるネットワークモード
    - 最小権限に従ってセキュリティを確保できる
- `スティッキー、スティッキネス`：セッションの永続性という意味(ALBで使われる)、クライアントのリクエストを一定期間同じインスタンスにルーティングする設定
- `WAF`：レートベースのルール→一定期間に一定数を超えるリクエストを検出したときのルール
    - 特定のIPアドレスからのリクエスト数に制限できる
- `ACL`：ルールに基づいてリクエストを許可orブロック
- `モノリシックなアプリケーション`：1つのアプリケーションが1つのユニットとして機能し、密結している設計
    - 一部の変更が全体に影響するのでデプロイが困難
- `Lambda`：実行制限時間は15分まで、メモリ制限は3GB(最新は10GB)、同時実行は1000回
- `Lambdaのエイリアス`：新しいバージョンをデプロイしても、既存のシステムが参照しているものを残すこと
    - update-alias コマンドのrouting-configパラメータでCanaryリリースを実現可能
- `EC2 Instance Connect`：ブラウザベースのSSHクライアント機能、一時的にSSHキーを発行

## S3関連
- `S3 Storage Lens`：複数のアカウントにわたるS3を全体的に分析する
    - 最適化・管理するダッシュボードとメトリクスを提供
- `S3 File Gateway`：オンプレのアプリケーションがS3をネイティブに使用できるようにする
    - ストレージゲートウェイ・NFSをしてファイルインターフェースを提供し、S3にデータを保存
    - Refresh Cache API：ファイルの更新や変更をS3 File Gatewayに通知するAPI
- `S3 Block Public Access`：指定したバケットに対するパブリックアクセスをブロックする
    - Ignore Public ACLsオプションを有効にすると設定されたACLによるアクセスが無視される
- `Access Control List(ACL)`：オブジェクトレベルでアクセス権限を制御するもの
- `S3クロスリージョンレプリケーション(CRR)`：1つのリージョンにあるオブジェクトを別のリージョンにも複製
- **`S3 Muti-Region Access Point`**：複数のリージョンにまたがるS3バケットに対して1つのエンドポイントからアクセスできるようにする
- `S3ゲートウェイ`：オンプレからStorage Gatewayを経由してS3に安全にアクセスできるようにする
- `Storage Gateway`：オンプレミスとS3とのデータ移行と続合を管理
    - 大量のデータ転送には向いていない
    - ※ファイルゲートウェイはNFSとSMBプロトコルをサポート
- `S3 Replication Time Control (RTC)`：S3のレプリケーションを迅速に行う機能
    - レプリケーション売了までの時間を短縮可能
- `Transfer for SFTP`：SFTPフルマネージドでS3やEFSにシームレスにデータ転送を行う
- `Transfer family`：FTP、FTPS、SFTPプロトコルを使用するためのフルマネージド転送サービス

## RDS関連
- `データベースアクティビティストリーム`：Auroraの機能、全てのアクティビティをリアルタイムにキャプチャ&監視できる
- `Auroraライトフォワーディング`：セカンダリーレプリカに対する書き込みリクエストをプライマリに転送できる
- `Aurora Serverless`：管理が必要ないAurora(MySQL/Postgresの2種類)、リードレプリカは作れない、一時的に使用しない時間帯は自動でスケーウダウンする
- `Dynano DBのAuto Scaling`：読み取り・書き取りのキャパシティユニットを自動的に調整
- `Dynamo DB`の単語
    - WCU：書き込みキャパシティユニット、書き込み操作のスループットを管理
    - RCU：読み取りキャパシティユニット、読み込み操作のスループットを管理
- `Dynamoグローバルテーブル`：Dynamo DBの1機能で、複数のリージョンにテーブルをレプリケーションできる
    - グローバルな規模でもスコアデータなどを一貫性を保ちつつ、保持することができる
- `RDS Proxy`：RDSやAuroraの接続管理とスケーリング簡易化、同時接続数に制限があると有効
    - 挿入操作が多い時に一部の通信を吸収し、影響を低減してくれる
- `Babelfish`：Auroraに組み込まれた機能microsoft SQL Serverと互換性がある
    - Aurora Postgres SQL with Babelfishなどが該当
- `Neptune`：グラフデータベースの移行先
    - ユースケースとしては主に不正検出やレコメンデーションエンジンなど

## ネットワーク関連
- `インターフェースVPCエンドポイント`：PrivateLinkを使用してAWSサービスとプライベート接続できる機能(VPC内から他のサービスへ)
    - `Private Link`：VPC間でプライベートな接続を可能にして、Publicインターネット経由のデータ転送を防ぐサービス
        - VPCエンドポイントサービスにアクセスするサービス
- `プライベートDNSネーミング`：VPCエンドポイントで有効化するとそのサービスの標準的なパブリックDNSネームでAWSサービスに接続できる
- `Direct Connect`：AWSとオンプレミスを専用回線で接続するサービス、非公開のデータ送信
    - プライベートVIF：Amazon VPCと専用接続を介して通信する仮想インターフェース
    - パブリックVIF：パブリックIPアドレスを通じて公開サービスと専用接続を介して通信するインターフェース
    - Transit VIF：Direct Connectを通じて複数のVPCにアクセスするためのインターフェース
- `Direct Connectゲートウェイ`：異なるリージョンにあるVPCとオンプレのネットワークを接続するゲートウェイ
    - 同一のDirect Connectから複数のVPCに接続するにも必要
- `API Gatewayエッジ最適化エンドポイント`：リージョン外のユーザーがAPIと通信する時に使用、キャッシュもある
    - CloudFrontを利用してパフォーマンスを最適化
- `ゲートウェイロードバランサー`：VPCトラフィックのインスペクションやフィルタリングに使用
    - →何かをルーティングするわけではない
- `ENI`：EC2インスタンスに付加される仮想的なネットワークインタフェース
    - MACアドレスやElastic IPの設定ができる
- **`Site-to-Site VPN`**：オンプレとVPC間の安全な接続を提供
- `ハブアンドスポーク設計`：中心(ハブ)から枝分かれ(スポーク)するようなネットワーク設計
- `AWS Global Accelerator`：インターネットトラフィックを自分のアプリケーションに最適なパスにルーティングループし、パフォーマンスを向上させるサービス
    - S3、CloudFrontには適用ができない
- `CloudFront`：カスタムHTTPメソッド(LINKやUNLINKなど)をサポートしていない
    - ただしGlobal Acceleratorはサポートしている
- `Route 53インバウンドリソルバ`：オンプレとVPC間でDNSリクエストとレスポンスのルーティングを行う
- `Route 53リゾルバ`：AWSとオンプレネットワーク間のDNS名前解決をシームレスに行う
    - `DNSエンドポイント`：上記で作成されるVPCのエンドポイントの1つ、DNSリクエストをリゾルバルールにルーティングする
- **`トランジットゲートウェイ`**：複数のVPC間やVPN接続をスケーラブルに管理できる
- `トランジットゲートウェイルートテーブル`：トランジットゲートウェイの振る舞いを決めるテーブル
    - VPCアタッチメントごとに異なるルートテーブルを使い、VPC間の通信を制御可能
- `NATゲートウェイ`：プライベートサブネットからインターネット or 他のAWSサービスに接続するサービス
    - 固定のIPを所有、プライベートIPを所有している固定のIPに変換
- `Elastic IP`：固定のパブリックIPアドレスで所有者が変わらない限り固定のまま
- `Global Accelerator`：アプリケーションのパフォーマンス向上、グローバルなIPアドレスを提供
    - **標準アクセラレータ：複数のリージョンへのトラフィックを自動的に最適なエンドポイントに向ける**
    - カスタムルーティングアクセラレータ：毎秒数百万のTCP・UDPフローを持定のエンドポイントにルーティング
        - 独自のトラフィック分散ロジックを使用する際に必要
- `Elastic Fabric Adapter(EFA)`：HPCワークロード向けに設計されたネットワークインターフェースの一種

## バックアップ系
- `Backup`：AWSリソースのバックアップを中央化し、自動化するサービス
    - S3には書き込まず、かわりにVaultに保存をする
- `Backup Vault`：バックアップデータを保管する専用のスペース、データへの不正アクセスを防止
    - Backup Vault Lock：バックアップデータの削除や変更を防止する機能があり、一度設定すると变更は不可能
        - コンプライアンスモードとガバナンスモードがある

## データストリーム、リアルタイム関連
- Kinesis関連の単語
    - `シャーディング`：増加させるとストリームを抜けるデータ量を増加させることができる
    - `ファンアウト`：1つのデータストリームが複数のコンシューマーにデータを同時に提供
        - こちらはスロットリングに対する策
        - コンシューマーが個別にデータを取得せず、共有されたキャッシュを見に行くようにできる
- `AppSync`：データの追加・変更・削除をリアルタイムに行い、アプリケーションのデータを自動で同期
    - オフラインユーザーとのデータ同期能力も保持
    - AppSync x Web Socketでリアルタイムにコメントデータを配信したりもできる
- `Kinesis Data Firehose`：大量のデータをほぼリアルタイムでデータストアにロード可能
    - データの処理、変換、S3バケットなど同時にロードすることが可能
- `Data Stream`：大量のリアルタイムデータを容易に収集、処理、分析できるサービス
    - 特に高帯域のデータ抽出やミリ秒単位の処理が可能
- `Data Pipeline`：ETLワークロードに適している
- `Managed Streaming for Apache Kafka (MSK)`：Apache Kafka の移行先
    - クラスター管理が楽になる

## IAM・Organizations関連(特に意識した方が良い項目)
- `IAMアイデンティティセンター(Single-Sign-On)`：1つのユーザーIDとパスワードで複数のAWSアカウントやクラウドアプリケーションにSSOできる
    - Azure Active Directoryとの連携も容易
    - **オンプレにある場合はManaged Microsoft ADをデプロイしなくても利用可能**
- `IAMのAccess Advisor`：IAMのツールでユーザー・グループ・ロールのアクセス許可に基づき、アクセスを表示
- **`IAM Access Analyzer`**：AWSリソースへの公開アクセスを分析するサービス
    - S3が公開された時などパブリックアクセスがあった時に警告できる(Access Analyzer Findingイベントが発行される)
- `IAMアイデンティティセンター`：Single-Sign-Onを使用して権限セットと権限を使える
    - ユーザーをうまく結びつけることが可能
- `組織のすべての機能`：有効にするとセキュリティ設定の一貫性が確保される
- `Organizational Unit(OU)`：Organizationsにおいて、アカウントをグルーピングするための概念
- `Organization Account AccessRole`：Organizationsで新しく作成されたメンバーアカウントに自動的に作成されるIAMロール
    - 管理アカウントからメンバーアカウントのリソースにアクセスできるもの
- `クロスアカウント管理`：Organizationsを利用して、管理アカウントから他のアカウントのリソースを一元管理する機能
- `SCP(Service Control Policies)`：Organizations を使用してAWSサービスへのアクセスを制御するポリシー
- `SSManaged Instance Coreマネージドポリシー`：System Manager Agentと通信するためにEC2に必要
- `Full AWS Access`：Organizations内の全てのAWSサービスへのアクセスを許可するポリシー
    - デフォルトでは、全ての新しいOUやアカウントに適用される
- `拒否リスト戦略`：必要でないor許可されていないリソースや操作に対するアクセスを明示的に拒否
- `Control Tower`：複数のAWSアカウントやリソースをセキュリティとコンプライアンスのベストプラクティスに基づいて設定ガバナンス・管理する
    - `Control Towerのプロアクティブコントロール`：ガバナンスの自動化とコンプライアンスの状態監視
        - 監視と通知に重点が置かれている
- `Config`：リソース設定の監視を行い、異常があった場合にアラート
- `Config aggregator`：複数のアカウント・リージョンのAWS Configの結果を集約できる
- `Secrets manager`：認証情報や機密情報を保存・ローテーションできる
    - また、定期的なパスワードの変更を実現
- `Service Catalog`：アプリケーション・インフラストラクチャのリソースを他のユーザーやチームと共有できる
    - 例)EMRバージョンやクラスター構成を管理できる
- `Tag Editor`：AWSリソースにメタデータを追加するためのツール、一括でタブの更新が可能
- `Tag Option`：Service Catalogを使用してタグ管理・制御できる
- `タグポリシー`：Organizationsで設定可能なポリシーの1つ、リソースのタグ付けに対するルールを強制
- `Directory Service`：Active Directoryとしての役割を果たす
    - Microsoft Active Directory：ユーザーとリソース認証と認可を管理
    - Directory Service Simple AD：スタンドアロンのマネージドディレクトリサービス
    - Active Directoryほど高機能ではない
- `Active Directory Connector`：オンプレのADとAWSをシームレスに統合

## グループ分けなし
- `Elastic Disaster Recovery`：システムの柔軟性を高め、ディザスタリカバリを最小のオーバーヘッドと最小のコストで提供
    - RTO(復旧目標時間)とRPO(データ損失許容時間)の目標に合わせて設計できる
- `Snowball Edge Compute Optimized`：リモートのネットワーク接続が制限されている場所に適している
- `CloudFormation Stack Sets`：新しいアカウントを作成した時に自動的にスタックのデプロイを行う
- `Open SearchのUltra Warmノード`：大量の分析可能データをコスト的に保存できる
    - 操作は普通のノードに比べると遅い(S3のIAのイメージ)
    - `Cold Storageノード`：(S3のGlacierのイメージ)
- `Elastic Search Service`：構造化JSONデータ、動的スキーマをサポート
    - Kibanaという可視ツールが組み込まれている
- `Batch`：大量のバッチ処理ワークロードを効率的に運用する
    - `AWS Batch with スポットインスタンス`：AWS Batchのスポットインスタンス
- `Textract`：機械学習(OCR)を利用して、スキャンしたドキュメントからテキストとデータを抽出
    - Comprehend：NLP(Natural Language Pracessing)を使用してテキストからインサイトを取得
- `X-Rayトレース`：アプリケーションの問題診断とパフォーマンス分析ツール
- `Outposts`：AWSサービスとAPIをオンプレで使用できるようにするフルマネージドサービス
    - データ規制や低レイテンシーが必要なアプリケーションに適している
- `Inspector`：脆弱性評価とセキュリティ検査を行うサービス
- `Amazon Connect Contact Lens`：通話内容の分析が可能(スパムコールの検知には向いていない)
- `Replication Agent`：オンプレ上のアプリケーションデータの継続的なバックアップと迅速な復旧が可能
- `Cost and Usage Report (CUR)`：使用コストと使用量に関する詳細なレポート
    - 管理アカウントだけが使用できる
- `QuickSight`：エンドユーザー向けBIサービス、データ可視化、レポート作成などができる
- `Resouce Access Manager(RAM)`：1つのアカウントで作成したリソースを他のアカウントと共有できる
- `IoT Core`：デバイスからクラウドへのセキュアな通信を可能にするサービス
    - Message Queuing Telemetry Transport(MQTT)に対応
- `Step Function`：複数のAWSサービス協調動作させるワークフローを作成・管理する
- `Simple Queue Service(SQS)`：メッセージキューイングサービス、アプリケーション間で情報を伝達させる
    - ApproximateAgeOfOldestMessageメトリクス：SQSのメトリクスで、キューにある最も古いメッセージの経過時間を示す
        - SQSのスケールイン・アウトの判断材料になる
- `Code Artifact`：セキュアで安定したパッケージ管理を提供するアーティファクトリポジトリサービス
- `フィールドレベルの暗号化`：一部のデータだけ暗号化する方法
- `Workspace`：Desktop-as-a-Service(daas)
    - 仮想デスクトップ環境を提供
    - セキュリティタスクに使用はできない
- `Open Virtualization Format`：VMware環境からのアプリケーションのエクスポートに使用できる
- `VM Import/Export`：EC2への仮想マシンの移行や退避をサポート
    - 直接VMWareから移行はできない
- `Client VPN`：AWSリソースに対してセキュアでオンデマンドのVPN接続を提供、リモートワークや自宅の作業で必要になる
- `Egress-Onlyインターネットゲートウェイ`：IPv6トラフィック専用のインターネットゲートウェイ
    - Elastic IP紐付け不可
    - VPCからインターネットへのアウトバウンド通信のみ可能に
- System Managerドキュメント：事前定義されたシステム操作や独自のスクリプトを指示できる
- `Firewall Manager`：AWSの複数アカウントにわたり、セキュリティルールを一元管理できる
    - WAFやShieldのような防御ルールを統一して管理できる
- `IoT Greengrass`：IoTデバイスがインターネット接続なしでもAWSと同様のサービスをできる
- `Amazon Connect`：古いハードウェアベースのコールセンターシステムを置き換えるのに適している
    - ユーザーを手動でデプロイする必要がある
- `Amazon Pinpoint`：目標となる顧客に向けて直接的で関連性の高い通信を行うサービス

# おわりに
キーワード一覧として色々記載してしまい長くなりましたが、だいたい自分がつまづいたり足りなかったキーワードは以上となります。
グルーピングや不足している情報などまだまだあると思いますが、気になった部分がありましたらコメントいただけると幸いです。
(2024年はなかなかに仕事が忙しくアウトプットできていなかったですが、このような形でなんとかできてよかった。。。)


それでは、次回のユースケース学習記録でお会いしましょうbb