📝

Amplify Hosting のビルド時にソースを S3 バケットにアップロードしてみた

に公開

ビルドフェーズでアップロードしてみました。

前提

  • Amplify Hosting のソースリポジトリは CodeCommit
  • CodeCommit には index.html のみをプッシュ済み
  • Amplify Hosting の IAM ロールには AdministratorAccess 権限を付与
  • S3 バケットはデフォルト設定で作成済み

ビルドの設定

amplify.yml
version: 1
frontend:
  phases:
    build:
      commands:
        - "TZ=Asia/Tokyo aws s3 sync . s3://my-bucket-name/$(TZ=Asia/Tokyo date +%Y-%m-%d_%H-%M)/ --exclude '.git/*'"
  artifacts:
    baseDirectory: /
    files:
      - index.html
  • タイムゾーンを JST に設定
  • s3 sync コマンドでソースを S3 バケットにアップロード
  • S3 バケットのプレフィックスは yyyy-mm-dd_hh-MM

ビルド結果

# Executing command: TZ=Asia/Tokyo aws s3 sync . s3://an-makoto-test2025/$(TZ=Asia/Tokyo date +%Y-%m-%d_%H-%M)/ --exclude '.git/*'
2025-06-24T00:50:15.806Z [INFO]: Completed 1.2 KiB/1.4 KiB (26.9 KiB/s) with 3 file(s) remaining
2025-06-24T00:50:15.807Z [INFO]: upload: ./amplify.sh to s3://an-makoto-test2025/2025-06-24_09-50/amplify.sh
Completed 1.2 KiB/1.4 KiB (26.9 KiB/s) with 2 file(s) remaining
2025-06-24T00:50:15.847Z [INFO]: Completed 1.2 KiB/1.4 KiB (13.9 KiB/s) with 2 file(s) remaining
2025-06-24T00:50:15.848Z [INFO]: upload: ./index.html to s3://an-makoto-test2025/2025-06-24_09-50/index.html
Completed 1.2 KiB/1.4 KiB (13.9 KiB/s) with 1 file(s) remaining
2025-06-24T00:50:15.870Z [INFO]: Completed 1.4 KiB/1.4 KiB (13.2 KiB/s) with 1 file(s) remaining
2025-06-24T00:50:15.871Z [INFO]: upload: ./amplify.yml to s3://an-makoto-test2025/2025-06-24_09-50/amplify.yml
2025-06-24T00:50:15.944Z [INFO]: # Completed phase: build

S3 バケットにソースがアップロードされていることも確認できます。

まとめ

今回は Amplify Hosting のビルド時にソースを S3 バケットにアップロードしてみました。
どなたかの参考になれば幸いです。

Discussion