Upgrade to Pro — share decks privately, control downloads, hide ads and more …

S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running ...

S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline

Avatar for Daisuke Garaike

Daisuke Garaike

August 04, 2026

More Decks by Daisuke Garaike

Other Decks in Programming

Transcript

  1. LocalStack を使う • Docker • compose.yaml services: app: environment: AWS_S3_ENDPOINT:

    http://localstack:4566/ localstack: image: localstack/localstack-pro:latest environment: LOCALSTACK_AUTH_TOKEN: ${TOKEN} 4
  2. アプリで localstack に向ける必要がある services: app: environment: AWS_S3_ENDPOINT: http://s3.localhost.localstack.cloud:4566/ localstack: image:

    localstack/localstack-pro:latest networks: default: aliases: - s3.localhost.localstack.cloud environment: 9 LOCALSTACK_AUTH_TOKEN: ${TOKEN}
  3. LocalStack やめよう • MinIO を使おう ◦ 追記: MinIO は登壇時点でメンテナンスを 終了しているようです。

    使用する際は自己責任でお願いいたします。 MinIO の他にも S3 フェイクを実現する サービスはあるので、それらを使うことを 推奨いたします。 14
  4. トークン認証は解決するが、公開 DNS 問題は? • *.localhost は、localhost になる ◦ RFC 6761

    “Special-Use Domain Names” (2013) ◦ 外部の DNS に問い合わせずにループバック • MinIO に自分は s3.localhost だと 思わせれば勝ち ◦ [BUCKET].s3.localhost -> localhost ◦ MINIO_DOMAIN で指定可能 15