AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト – アソシエイト

AWS Amplify の概要と試験出題ポイントは?

AWSサービスの一つであるAWS Amplifyはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

AWS Amplify 徹底解説 | Hosting・Gen 2・AWS認定試験ポイント

1. サービス概要

AWS Amplifyは、Web/モバイルアプリケーションのフロントエンド開発、バックエンド定義、GitベースのCI/CD、ホスティングをまとめて支援するサービス群です。 2026年6月時点では、Amplify HostingによるフルスタックWebアプリの継続的デプロイと、Amplify Gen 2によるTypeScript中心のコードファーストなバックエンド定義が重要です。

試験では「ReactなどのフロントエンドをGit連携でビルドし、グローバルCDNへ公開したい」「認証、GraphQL API、ストレージをフロントエンド開発者が素早く組み込みたい」というシナリオでAmplifyを選びます。 単なる静的配信だけならS3 + CloudFront、汎用コンテナ実行ならApp Runner/ECS、サーバーアプリ運用ならElastic Beanstalkなどと比較します。

2. 主な特徴と機能

2.1 Amplify Hosting

Amplify Hostingは、Gitリポジトリと接続してWebアプリを自動ビルドし、AWSのグローバルCDNにデプロイするマネージドホスティングです。 React、Angular、Vue.jsなどのSPA、静的サイトジェネレーター、Next.js/NuxtなどのSSRフレームワークを扱えます。

2.2 継続的デプロイ

GitHub、GitLab、Bitbucket、AWS CodeCommitなどのブランチに変更が入ると、Amplifyがビルド、テスト、デプロイを実行します。 ブランチ単位の環境、プルリクエストプレビュー、ロールバック、アトミックデプロイにより、フロントエンドのリリースを簡素化します。

2.3 Amplify Gen 2

Amplify Gen 2はTypeScriptでバックエンドをコードファーストに定義する開発体験です。 認証、データ、ストレージ、関数などをアプリケーションコードに近い形で定義し、AWS CDKベースの基盤としてデプロイできます。

2.4 認証・データ・ストレージ統合

AmplifyはAmazon Cognitoによる認証、AWS AppSync/DynamoDBによるGraphQLデータ、Amazon S3によるファイル保存、AWS Lambdaによるカスタム処理と統合します。 フロントエンドライブラリやUIコンポーネントにより、ログイン画面、API呼び出し、ファイルアップロードを短時間で実装できます。

2.5 SSR/SPA/静的サイト対応

静的SPAだけでなく、サーバーサイドレンダリング(SSR)やハイブリッドレンダリングのフレームワークもサポートします。 Next.js、Nuxt、Astro、SvelteKitなどを使う場合は、対応状況とアダプター、ビルド設定、ランタイム制約を確認します。

2.6 カスタムドメインと運用機能

カスタムドメイン、HTTPS証明書、リダイレクト/リライト、環境変数、パスワード保護、カスタムヘッダー、E2Eテスト連携など、公開Webアプリに必要な運用機能を提供します。 CloudFrontを直接細かく運用するよりも、フロントエンドチーム向けに簡単な操作で公開できます。

3. アーキテクチャおよび技術要素

  1. 開発者がReact、Next.js、Vue.jsなどでWebアプリを作成し、Gitリポジトリへpushする。
  2. Amplify Hostingがブランチ変更を検知し、ビルド環境で依存関係のインストール、テスト、ビルドを実行する。
  3. ビルド成果物またはSSRアプリがAmplifyのホスティング基盤へデプロイされ、グローバルCDNから配信される。
  4. カスタムドメインとTLS証明書を設定し、リダイレクト/リライトやセキュリティヘッダーを適用する。
  5. 必要に応じてAmplify Gen 2でCognito、AppSync、DynamoDB、S3、Lambdaなどのバックエンドを定義する。
  6. フロントエンドはAmplify LibrariesやSDKを通じて、認証済みユーザーとしてAPI、ストレージ、関数へアクセスする。

Amplifyはフロントエンド開発者に寄った抽象化を提供しますが、実体としてはCognito、AppSync、DynamoDB、S3、Lambda、CloudFront、Route 53、IAMなどのAWSサービスを組み合わせます。 試験では、Amplifyの背後で何が作られ、どのサービスに課金・権限・監視が必要になるかを意識します。

4. セキュリティと認証・認可

  • HTTPS: Amplify Hostingは公開アプリへのHTTPSアクセスを提供し、カスタムドメインにも証明書を設定できる。
  • IAMサービスロール: ビルドやデプロイに必要な権限を最小化し、不要な管理者権限を避ける。
  • 環境変数/シークレット: APIキーや接続情報は環境変数やシークレット管理で扱い、リポジトリへ平文で保存しない。
  • Amazon Cognito: ユーザー登録、サインイン、MFA、フェデレーション、グループベース認可を実装できる。
  • API認可: AppSync/API GatewayではCognito、IAM、APIキー、Lambdaオーソライザーなど要件に合う方式を選択する。
  • ブランチ保護: プレビュー環境や検証ブランチにはパスワード保護、アクセス制御、不要環境の削除を適用する。
  • 監査とログ: CloudTrail、CloudWatch Logs、ビルドログ、Cognitoログ、AppSyncログを確認し、障害調査と監査に備える。

5. 料金形態

Amplifyの料金は、Hostingのビルド/ホスティング利用量と、連携するAWSサービスの利用量で考えます。

  • ビルド: Git連携によるビルド時間に応じて料金が発生する。
  • ホスティング: 保存データ量、データ転送、リクエストなどに応じて料金が発生する。
  • SSR: SSRやサーバー処理を使う場合、静的サイトより実行コストや制約を考慮する。
  • バックエンド: Cognito、AppSync、DynamoDB、S3、Lambda、CloudWatchなどは各サービスの料金体系で課金される。
  • コスト最適化: 不要ブランチ環境の削除、ビルドキャッシュ、ビルド回数削減、ログ保持期間、データ転送量を見直す。

6. よくあるアーキテクチャ・設計パターン

  • SPAホスティング: React、Angular、Vue.jsをAmplify HostingでCI/CDし、グローバル配信する。
  • Next.jsフルスタック: SSR/SSGを含むNext.jsアプリをGit連携でデプロイし、APIや認証と統合する。
  • 認証付きWebアプリ: CognitoとAmplify UIを使い、サインアップ、サインイン、MFA、ユーザー属性管理を実装する。
  • GraphQLデータアプリ: AppSync、DynamoDB、Cognitoを組み合わせ、リアルタイム更新や認可付きデータアクセスを提供する。
  • ファイル共有/アップロード: S3をストレージとして使い、認証ユーザー単位のアップロードやダウンロードを実装する。
  • プレビュー環境: プルリクエストごとに検証用URLを発行し、レビュー後に不要環境を削除する。
  • モバイル連携: iOS、Android、React NativeからAmplify Librariesを使い、認証、API、ストレージへアクセスする。

7. 設定・デプロイ手順(ハンズオン例)

  1. React、Next.js、Vue.jsなどでアプリケーションを作成し、Gitリポジトリにpushする。
  2. Amplifyコンソールでリポジトリとブランチを接続し、ビルド設定を確認する。
  3. 環境変数、ビルドコマンド、出力ディレクトリ、プレビュー設定を構成する。
  4. 初回ビルドを実行し、発行されたAmplifyドメインで動作確認する。
  5. 必要に応じてカスタムドメイン、HTTPS、リダイレクト/リライト、セキュリティヘッダーを設定する。
  6. Amplify Gen 2で認証、データ、ストレージ、関数を定義し、フロントエンドから利用する。
  7. ビルドログ、CloudWatch、Cognito/AppSync/S3/Lambdaの設定、料金アラームを確認する。

8. 試験で問われやすいポイント

8.1 サービス選択

  • Q: AWS Amplifyはどのような用途で選ぶ?
    A: Web/モバイルアプリをGit連携でビルド・ホスティングし、認証、API、ストレージなどを素早く組み込む用途。
  • Q: 静的サイトを最も低レベルに構成したい場合の代表選択肢は?
    A: Amazon S3 + Amazon CloudFront。AmplifyはCI/CDやブランチ管理を含む開発者向け体験を提供する。
  • Q: コンテナ化したWeb APIを運用したい場合、Amplify Hostingが第一候補?
    A: いいえ。要件によりApp Runner、ECS、EKS、Elastic Beanstalkなどを検討する。

8.2 HostingとGen 2

  • Q: Amplify Hostingの主な特徴は?
    A: Gitベースの継続的デプロイ、グローバルCDN配信、ブランチ環境、カスタムドメイン、SSR/SPA/静的サイト対応。
  • Q: Amplify Gen 2の特徴は?
    A: TypeScriptで認証、データ、ストレージ、関数などのバックエンドをコードファーストに定義できること。
  • Q: プルリクエストごとに検証URLを作りたい場合に使う機能は?
    A: Amplify Hostingのプレビュー/ブランチデプロイ機能。

8.3 連携サービスと料金

  • Q: Amplifyでユーザー認証を実装する代表サービスは?
    A: Amazon Cognito。
  • Q: GraphQL APIやリアルタイムデータ連携でよく使うサービスは?
    A: AWS AppSyncとAmazon DynamoDB。
  • Q: ファイルアップロードや画像保存でよく使うサービスは?
    A: Amazon S3。
  • Q: Amplifyの料金で注意する点は?
    A: Hostingのビルド時間、ストレージ、データ転送に加え、Cognito、AppSync、DynamoDB、S3、Lambdaなど関連サービスにも課金される。