AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
AWSサービスの一つであるAWS Amplifyはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
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. アーキテクチャおよび技術要素
- 開発者がReact、Next.js、Vue.jsなどでWebアプリを作成し、Gitリポジトリへpushする。
- Amplify Hostingがブランチ変更を検知し、ビルド環境で依存関係のインストール、テスト、ビルドを実行する。
- ビルド成果物またはSSRアプリがAmplifyのホスティング基盤へデプロイされ、グローバルCDNから配信される。
- カスタムドメインとTLS証明書を設定し、リダイレクト/リライトやセキュリティヘッダーを適用する。
- 必要に応じてAmplify Gen 2でCognito、AppSync、DynamoDB、S3、Lambdaなどのバックエンドを定義する。
- フロントエンドは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. 設定・デプロイ手順(ハンズオン例)
- React、Next.js、Vue.jsなどでアプリケーションを作成し、Gitリポジトリにpushする。
- Amplifyコンソールでリポジトリとブランチを接続し、ビルド設定を確認する。
- 環境変数、ビルドコマンド、出力ディレクトリ、プレビュー設定を構成する。
- 初回ビルドを実行し、発行されたAmplifyドメインで動作確認する。
- 必要に応じてカスタムドメイン、HTTPS、リダイレクト/リライト、セキュリティヘッダーを設定する。
- Amplify Gen 2で認証、データ、ストレージ、関数を定義し、フロントエンドから利用する。
- ビルドログ、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など関連サービスにも課金される。