aws環境をlocalPC上に実現できるloaclstackを試してみました

記事の更新日:2026/09/30 評価を加筆

1.概要

aws環境をlocalPC上に実現できるloaclstackを試してみました。これは製品版があり、awsが提供しています。awsのクラウド環境とオンプレミスの環境を透過に接続する方法です。バックアップ用途が多いのではないかと思っています。

今回はLocalPC環境では評価や試験が難しいs3に関して調べてみました。aws上のs3で実施する前に、LocalPCで確認することでミスがなくなります。s3の本番環境でミスをすると復旧作業に影響が出ることも考えられるので、localstack利用は選択肢になります。

私の評価は以下の通りです。

(1) aws学習には最適で、Dockerを利用してコンテナで試験でき、負担が少ない
(2) S3環境のコマンドをLocalPCで実行でき、無償利用の価値がある部分です
(3) LocalPC環境なので無理なことや無駄なことでも試すことができる点がとても良い
(4) EC2の仮想マシンが利用できると応用範囲が拡大できるが有償版が必要になる

2.詳細

(a) 環境

HW: CPU i3-7100
    Memory 16GB
    SSD 250GB
OS: Ubuntu-20.04.6

(b) 構築手順

参考資料の通りに構築できます。DockerはUbuntu-20.04の標準品利用。
docker-compose.ymlを以下のように作成
version "3"
services:
  localstack:
    container_name: localstack
    image: localstack/localstack:latest
    ports:
      - "127.0.0.1:4566:4566"            # LocalStack Gateway
      - "127.0.0.1:4510-4559:4510-4559"  # external services port range
    environment:
      # LocalStack configuration: https://docs.localstack.cloud/references/configuration/
      - DEBUG=${DEBUG:-0}
    volumes:
      - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"

(c) 起動と試験

docker compose up -d でコンテナを起動します。
docker exec -it localstack bash でコンテナにログイン
下記コマンドを利用してs3のテストを実施できました
awslocal s3api create-bucket --bucket test
awslocal s3 ls
awslocal s3 cp /etc/hosts s3://test/hosts
awslocal s3 ls s3://test
awslocal s3 cp s3://test/hosts /tmp/hosts
cat /tmp/hosts
awslocal s3api list-objects --bucket test
awslocal s3 rb s3://test --force
awslocal s3 ls

3.所見

aws環境のように利用できますが、無償版のlocalstackは利用制限があり、EC2などは利用できません。PRO版のlocalstack-proは有償でEC2なども利用できます。しかし、普通にdockerを利用した仮想マシン利用で良い気がします。学習用途には向いています。

4.追加

aws環境の学習は大変です。従量課金なので注意して利用していないと想定しない金額の請求書を受けて動揺してしまう事態も考えられます。awsを個人で利用するにはクレジットカードを登録して利用することになるので、ある程度の覚悟が必要です。

もちろん、aws側も初心者の利用を想定した仕組みは用意されていて、大きなリソースを一度に利用することはできない仕組みとなっています。そのために、一度の設定で大きな支払いを伴う処理を利用することはできません。熟知した方でないとできない仕組みはあります。

仮想マシン関連はVMwareaやVirtualBoxを利用した仮想環境で十分試験ができますが、よく利用するs3環境を仮想環境で構築することは難しいのでlocalstackで事前学習する価値はあります。また、会社でaws学習を進めるのであれば、有償版のlocalstak-proを利用してEC2を含めた学習環境の整備をすることも一つの手段です。

コメント