できること
Amplify Hostingでビルドされた成果物はS3バケットに格納されているため、Amplifyコンソールから直接ダウンロードするか、CI/CDのビルドアーティファクトをローカルに落としてzipにまとめることができます。このzipファイルを認証付き共有サービスにアップロードすれば、Amplifyのパイプラインを変更せずにレビューURLを切り替えられます。
切り替えを検討する際は、まず「レビュワーがAWSアカウントを持っているか」を確認します。社外の承認者がAWSコンソールやAmplifyのURLに不慣れな場合、モバイルブラウザでパスワードを入力してすぐ確認できる専用URLの方が、余計なサポート対応を減らせます。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
できないこと
Amplify Hostingのままでは、異なる取引先に対して個別のパスワードを設定したURLを発行することができません。例えばA社とB社に同じデザインの異なるカスタマイズ版を個別に確認してもらうケースでは、Amplifyでは同じBasic認証が全員に適用されてしまいます。
また、Amplify Hostingは共有URLに閲覧期限を付ける機能を持たないため、「このURLは金曜日の17時まで有効」という明示的な期限を設定することができません。期限が重要なケース(入札参加前のプレビュー・NDA締結前の確認・期間限定キャンペーンの事前承認)では、別の手段で期限管理が必要になります。
認証と期限の違い
Amplify HostingのBasic認証は「誰でも見てよいが一応制限したい」レベルの用途に適しています。一方、「特定の相手だけに見せ、それ以外には絶対見せたくない」という要件ではメール認証やドメイン認証が必要で、Amplifyのみではこれを実現できません。切り替えのタイミングは、この「アクセス制御の厳格さ」の要件が上がった瞬間です。
短期レビュー案件で「今週中だけ」という期限がある場合、Amplifyブランチの手動削除に頼ると削除忘れが発生しやすくなります。認証付き共有サービスで期限を設定しておけば、指定日時に自動でアクセスが遮断されるため、「期限後に確認しようとしたら見られてしまった」というミスを防げます。
- 誰でも見てよい: URL共有のみでもよいが、検索除外は確認する
- 特定の相手だけ: パスワードまたはメール認証を使う
- 会社内だけ: 会社ドメイン認証を検討する
- 短期レビュー: 期限を設定して古いURLを残さない
差し替え・レビュー運用
切り替えのワークフローとして、CIパイプラインにビルドアーティファクトのzip化とアップロードAPIへの送信ステップを追加する方法があります。GitHubActionsならビルドステップの後に`curl`でアップロードAPIを呼ぶだけで自動化でき、AmplifyのデプロイとレビューURL発行を同時に実行できます。
修正が入るたびに再アップロードが必要になる点は手動運用では工数増になります。修正頻度が高いプロジェクトでは、「コードレビューが完了し、本番マージの直前」という1度だけのタイミングで切り替えURLを発行し、最終確認だけを共有サービスで行う運用にするとアップロード回数を最小化できます。
- 確認してほしい観点を3つ以内に絞る
- 期限と返信先を明記する
- 修正後も同じURLで見られるか伝える
- 最終版と途中版が混ざらないようタイトルを付ける
向いているケース早見表
Amplify Hostingのまま継続が向いているのは、社内エンジニアのみがレビューに関わるプロジェクト、または既にAmplify + Cognitoで認証を実装済みのアプリです。これらのケースでは切り替えコストが切り替えメリットを上回らない可能性が高いです。
認証付き共有URLへの切り替えが有効なのは、社外の非エンジニアがレビュワーに加わった瞬間です。特に「初めてのクライアント」「NDA締結前の事前確認」「役員など高職位の最終承認者」といった相手には、AWSの設定を変えずに即日で認証付きURLを発行できる専用サービスの方が対応力が高くなります。
よくある質問
AmplifyのビルドアーティファクトをS3から直接ダウンロードして別サービスにアップロードする場合、ビルドごとに変わるS3パスはどこで確認できますか?
Amplifyコンソールの「ビルド」タブから対象ビルドを選択し、「アーティファクト」セクションにS3パスが表示されます。また`aws amplify get-job`コマンドでビルドジョブの詳細からアーティファクトURLを取得することもできます。
Amplify HostingからレビューURLを切り替えた後、古いAmplifyプレビューURLにアクセスが来た場合はどうすれば防げますか?
古いレビュー用ブランチをAmplifyコンソールで削除するか、ブランチの自動デプロイを無効化してAmplify側のURLを無効化します。CloudFrontのキャッシュが残る場合は数分でクリアされますが、即時無効化は手動キャッシュ削除が必要です。
認証付き共有サービスへの切り替えをGitHub Actionsで自動化する際、APIキーをSecretsに登録する以外に注意すべき点はありますか?
アップロード先サービスのAPIレートリミットとファイルサイズ上限を事前に確認してください。動画やフォントを含む大きなzipでは上限に引っかかる可能性があります。また失敗時のリトライ設定とSlack通知を入れておくと運用ミスを早期に検知できます。