できること
AWS Amplify Hostingは、GitリポジトリとCI/CDを連携させたブランチベースのプレビューデプロイをサポートしています。プルリクエストごとに自動でプレビューURLが発行される機能を使えば、相手がログインなしでブランチの最新状態を確認できます。ただしプレビューURLはAmplifyのドメイン(*.amplifyapp.com)形式で、カスタムドメインを設定するには追加の手順が必要です。
PCとスマホでの表示確認はAmplifyのプレビューURLを送るだけで実施できます。AmplifyはCDNにCloudFrontを使っているため表示速度は速く、レビュワーが重いページを待たされるストレスは小さいです。内部情報の混入チェックはビルド前の環境変数管理で対応し、Amplify環境変数に本番のAPIキーを設定しないようプロジェクト設定を確認します。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
できないこと
AWS Amplify Hostingのパスワード保護機能は、Amplifyコンソールから設定できるBasic認証の形式です。ユーザー名とパスワードのペアをコンソール上で設定し、全体にかけることはできますが、「Aさんには別のパスワード、Bさんには別のパスワード」という個別管理はできません。また、メール認証やドメイン認証による細かい制御も標準機能の範囲外です。
閲覧期限の自動設定もAmplify Hosting標準機能にはありません。ブランチを削除すればプレビューURLは消えますが、プルリクエストがマージ済みでもブランチが存在する限りURLは有効なままです。承認後に確実にURLを無効化するワークフローを設計しないと、期限なしのレビューURLが長期間残存します。
認証と期限の違い
Amplify HostingのBasic認証はAWSコンソールまたはCLIで設定でき、設定後は全アクセスに対してユーザー名・パスワードのダイアログが表示されます。「誰でも見てよい」場合は認証なしで十分ですが、その場合もrob ots.txtやmetaタグでのnoindex設定を忘れると、Googleのクローラーが開発中のページをインデックスする場合があります。
会社内限定公開をAmplify Hostingで実現するには、AWS Cognito + Lambda@Edgeを組み合わせてCloudFrontレベルで認証を追加する構成が必要です。このアーキテクチャはドメイン認証や期限制御が実装可能ですが、設計・実装・テストで1週間程度の工数を要します。認証付き共有サービスはこれをサービスとして提供するため、導入即日から使えます。
- 誰でも見てよい: URL共有のみでもよいが、検索除外は確認する
- 特定の相手だけ: パスワードまたはメール認証を使う
- 会社内だけ: 会社ドメイン認証を検討する
- 短期レビュー: 期限を設定して古いURLを残さない
差し替え・レビュー運用
Amplify Hostingでは、gitプッシュのたびに自動でビルドが走るため、修正を加えてpushするだけで同じプレビューURLに最新版が反映されます。「修正後も同じURLで見られるか」をレビュワーに伝える際は、「このURLで常に最新版が確認できます」と説明でき、URLの再送が不要な点はメリットです。ただし複数バージョンを並べて比較したい場合はブランチを分ける必要があります。
最終版と途中版の混在を防ぐには、レビュー用ブランチのネーミングルールを定めることが有効です。例えば`review/v1`→`review/v2`のようにブランチを切り替えると、それぞれ別のAmplify URLが発行されて版管理ができます。レビュー完了後は`review/`プレフィックスを持つブランチをAmplifyのデプロイ対象から除外するルールを設けると、不要なURLが残りません。
- 確認してほしい観点を3つ以内に絞る
- 期限と返信先を明記する
- 修正後も同じURLで見られるか伝える
- 最終版と途中版が混ざらないようタイトルを付ける
向いているケース早見表
AWS Amplify Hostingがレビュー用途に向いているのは、すでにAmplifyでCI/CDを組んでいてGitブランチのプレビュー機能を自然に使えるチームです。エンジニアが全員AWSに慣れており、レビュワーも社内メンバーのみというケースでは、Amplifyの自動プレビューが最もシームレスです。
認証付きHTML共有サービスへの切り替えが有効なのは、非エンジニアのディレクターやクライアントに共有URLを独立管理させたい場合、またはAWS環境を持たない外部の制作パートナーがHTML成果物を共有する場面です。AmplifyのAWSコンソール権限を渡さずに共有・期限管理ができる点が実用的なメリットになります。
よくある質問
Amplify HostingのBasic認証はHTTPS通信で保護されていますか?Basic認証自体のセキュリティ強度はどの程度ですか?
AmplifyはCloudFront経由のHTTPS通信を使うため、Basic認証の認証情報は暗号化されて送信されます。ただしBasic認証は総当たり攻撃に対して脆弱なため、推測されにくい長いパスワードを設定し、定期的に変更する運用が望ましいです。
AmplifyのプレビューURLはプルリクエストをcloseすれば自動で消えますか?
Amplifyコンソールで「プルリクエストプレビュー」を有効にしている場合、PRがcloseまたはmergeされると対応するプレビュー環境が自動削除されます。ただしこの設定がオフの場合は手動削除が必要です。
AWS Amplify HostingとS3+CloudFrontの構成を使っている場合、認証付き共有サービスとどう使い分ければいいですか?
S3+CloudFrontの構成ではLambda@Edgeで認証を追加できますが、レビュー専用の一時URLを都度作るのは手間がかかります。本番配信はAWSのまま、レビュー共有だけ認証付きサービスに集約する役割分担が最もシンプルです。