SAP-C03 · LESSON 1

クラウド向けアーキテクチャの設計と実装25% · 4項目

要件を処理量・遅延・データ分類・テナント境界に分けます。RAG は取り込み、索引更新、権限付き検索、回答の経路を設計し、推論 API の容量と障害時の動作も定めます。既存の SQS・Step Functions・ECS の選択を AI 部分と接続し、学習アルゴリズムの実装とは区別します。

1.1AI を既存アーキテクチャへ組み込む

AI を既存アーキテクチャへ組み込む

概念

要件を処理量・遅延・データ分類・テナント境界に分けます。RAG は取り込み、索引更新、権限付き検索、回答の経路を設計し、推論 API の容量と障害時の動作も定めます。既存の SQS・Step Functions・ECS の選択を AI 部分と接続し、学習アルゴリズムの実装とは区別します。

仕組み・手順

  1. 要件と成功条件を先に書き出す。
  2. 検証環境で操作し、成功・失敗の証跡を残す。
  3. 結果を確認してから、下の分野別練習で判断を確かめる。

業務での例

2つのテナントで同じ検索語を使い、文書の越境が起きないことを確認する。

紛らわしい点・試験の注意

ミニクイズ

Q1. SQS 標準キューの注文メッセージを Lambda で処理している。まれに同じ注文が二重に登録される。最も適切な対策はどれか。

  1. Lambda の同時実行数を最大まで増やして、すべてのメッセージを1回の呼び出しで一度に処理させる
  2. SQS の標準キューを削除して、注文はメールで受け付け、担当者が手作業でシステムに登録する運用にする
  3. 処理済みの注文 ID を DynamoDB に記録し、同じメッセージを2回受け取っても二重に処理しないようにする
  4. メッセージの保持期間を最短の1分にして、古いメッセージが再配信される前に自動で消えるようにする
答えと解説を見る

正解:C 処理済みの注文 ID を DynamoDB に記録し、同じメッセージを2回受け取っても二重に処理しないようにする

SQS 標準キューは「少なくとも1回」の配信で、まれに重複する。処理側をべき等にする(処理済みの ID を記録する)か、FIFO キューの重複排除を使う。

Q2. AWS Step Functions の説明として誤っているものはどれか。

  1. ワークフロー(標準ワークフロー)は最大 15 分までしか実行できない
  2. 各ステップの再試行やエラー時の処理を、ステートマシンの定義で指定できる
  3. Lambda・ECS・DynamoDB など多くの AWS サービスを直接呼び出せる
  4. 人の承認などの外部の処理を、タスクトークンを使って待つことができる
答えと解説を見る

正解:A ワークフロー(標準ワークフロー)は最大 15 分までしか実行できない

標準ワークフローは最大 1 年間実行できる。15 分の上限は Lambda 関数1回の実行時間の上限。

参考リンク

1.2ネットワーク接続の戦略を設計する

概念

大規模な組織では、Transit Gateway をハブにして多数の VPC・VPN・Direct Connect を接続し、ルートテーブルで経路を分離します(本番と開発を分ける、検査用 VPC を通すなど)。オンプレミスとの名前解決は Route 53 Resolver のインバウンド・アウトバウンドエンドポイント、サービスの公開は PrivateLink(重複する CIDR でも接続できる)を使います。Direct Connect は回復性の推奨(複数のロケーション・複数の接続)に従います。

仕組み・手順

  1. VPC の CIDR を重複しないように計画する(重複する場合は PrivateLink)
  2. Transit Gateway のルートテーブルで環境ごとに経路を分ける
  3. Direct Connect を 2 つのロケーションに冗長化し、バックアップに Site-to-Site VPN を置く
  4. Route 53 Resolver のエンドポイントとルールでオンプレミスと双方向の名前解決をする
  5. 共有のネットワークは RAM(Resource Access Manager)で他のアカウントに共有する

業務での例

200 個の VPC を Transit Gateway に集約し、全ての外部向けの通信を検査用 VPC の Network Firewall に通す。オンプレミスの社内ドメインはアウトバウンドエンドポイントの転送ルールで解決する。

紛らわしい点・試験の注意

ミニクイズ

Q1. オンプレミスのサーバーから、Direct Connect 経由でインターネットを通らずに S3 へ大量のファイルを送りたい。最も適切な構成はどれか。

  1. S3 のゲートウェイ VPC エンドポイントを作り、オンプレミスのルーターのルートテーブルからそのエンドポイントを指定する
  2. VPC に NAT ゲートウェイを作り、オンプレミスからの通信を Direct Connect 経由で NAT ゲートウェイに向けて送る
  3. S3 のインターフェイス VPC エンドポイントを作り、オンプレミスから Direct Connect 経由でそのエンドポイントに接続する
  4. オンプレミスのサーバーにパブリック IP を割り当てて、インターネット経由で S3 のパブリックエンドポイントに送る
答えと解説を見る

正解:C S3 のインターフェイス VPC エンドポイントを作り、オンプレミスから Direct Connect 経由でそのエンドポイントに接続する

ゲートウェイエンドポイントは VPC 内のルートテーブルでしか使えず、オンプレミスからは到達できない。オンプレミスから使うには、プライベート IP を持つインターフェイスエンドポイントを Direct Connect や VPN 経由で利用する。

Q2. Transit Gateway に VPC A と VPC B をアタッチし、Transit Gateway のルートテーブルには両方の経路が伝播している。しかし A の EC2 から B の EC2 に通信できない。次に確認すべきこととして最も適切なものはどれか。

  1. Transit Gateway のアタッチメントで、アプライアンスモードが有効になっているか
  2. Transit Gateway のルートテーブルに、静的なルートも追加されているか
  3. A と B の VPC で、DNS の解決と DNS ホスト名が有効になっているか
  4. A と B の各サブネットのルートテーブルに、相手の CIDR を Transit Gateway に向けるルートがあるか
答えと解説を見る

正解:D A と B の各サブネットのルートテーブルに、相手の CIDR を Transit Gateway に向けるルートがあるか

Transit Gateway 側の経路だけでなく、各 VPC のサブネットのルートテーブルにも相手の CIDR を Transit Gateway に向けるルートが必要。その後、セキュリティグループとネットワーク ACL も確認する。 【他の選択肢】アプライアンスモードは検査用のアプライアンスの経路のための設定。経路はすでに伝播しているため静的なルートは要らない。DNS の設定は IP アドレスでの通信には関係しない。

参考リンク

1.3信頼性の要件を満たす戦略を策定する

概念

信頼性の設計では、障害の影響範囲を小さくする(セルベースのアーキテクチャ・シャッフルシャーディング)、依存関係を疎結合にする(SQS・EventBridge)、再試行(指数バックオフとジッター)とタイムアウト・サーキットブレーカー、クォータ(Service Quotas)の監視と引き上げを組み合わせます。

仕組み・手順

  1. 単一障害点を洗い出し、複数 AZ に冗長化する
  2. 依存先が遅くなっても全体が止まらないよう、タイムアウトと非同期化を入れる
  3. 再試行は指数バックオフとジッターで行い、冪等にする
  4. Service Quotas の上限に近づいたらアラームで通知し、事前に引き上げる
  5. ヘルスチェックで異常なリソースを自動で外す

業務での例

外部の決済 API が遅くなったとき、タイムアウトとサーキットブレーカーで注文の受付を保ち、決済は SQS に溜めて後から処理する。

紛らわしい点・試験の注意

ミニクイズ

Q1. アプリケーション間の連携方法を選んでいる。受注を受け付ける側と処理する側を切り離し、処理に失敗したメッセージは再試行のあとデッドレターキューに送りたい。最も適したサービスはどれか。

  1. AWS Step Functions
  2. Amazon SQS
  3. Amazon SNS
  4. Amazon EventBridge
答えと解説を見る

正解:B Amazon SQS

SQS は送信側と受信側の間でメッセージを保持し、処理に繰り返し失敗したメッセージをデッドレターキューへ移せる。

参考リンク

1.4パフォーマンス目標を満たすソリューションを設計する

概念

性能の目標(レイテンシ・スループット)は、キャッシュ(CloudFront・ElastiCache・DAX・API Gateway のキャッシュ)、データベースの選択(目的別の DB)、計算資源の選択(インスタンスの種類・GPU・Graviton)、非同期化、グローバルな配置(エッジ・複数リージョン)で満たします。負荷テストで目標を確認します。

仕組み・手順

  1. 性能の目標を数値(p99 のレイテンシなど)で決める
  2. アクセスのパターンに合う目的別の DB を選ぶ
  3. 繰り返し読まれるデータをキャッシュする
  4. 重い処理は非同期にして、応答を速くする
  5. 負荷テストで目標を満たすか確認する

業務での例

世界の利用者に p99 200 ミリ秒以内で応答するため、静的なコンテンツは CloudFront、API の読み取りは DynamoDB グローバルテーブルと DAX で各リージョンから返す。

紛らわしい点・試験の注意

ミニクイズ

Q1. 性能の要件に合うストレージを選んでいる。処理中の一時的なキャッシュ用で、とにかく高速な領域が必要。インスタンスが止まればデータは消えてよい。最も適したものはどれか。

  1. Amazon FSx for Lustre
  2. Amazon EFS
  3. EBS io2 ボリューム
  4. インスタンスストア
答えと解説を見る

正解:D インスタンスストア

インスタンスストアはホストに直結したディスクで高速だが、停止・終了でデータが失われるため一時的な用途に使う。

参考リンク

レッスンは当サイトがAWS 認定の公式ページと公式試験ガイドをもとに独自に作成したもので、試験の内容を保証するものではありません。製品の仕様は変わることがあるため、参考リンク先の最新情報を確認してください。

ご利用上の注意(非公式・独自問題・合格保証なし)