localstackの使い方
こんにちは東です。
今回はローカル開発環境でAWSサービスの環境を作成できる「localstack」の紹介をしたいと思います。
localstackとは、dockerコンテナ上でAWSのサービスを再現し、LambdaやS3、DynamoDB等をローカル開発環境にて利用することができるようになります。
※以下の内容は、Docker For Windowsが導入されていることを前提としています
localstackの取得~実行
以下のコマンドを実行することで、localstackのコンテナが作成されます。
$ git clone https://github.com/localstack/localstack
$ cd localstack
$ docker-compose up -d
動作確認
localstackに用意されているS3に対してバケットを作成してみます。
endpointを指定することで、localstackに対する操作が行えます。
バケットの作成
. コマンド
aws s3 mb s3://test-bucket --endpoint-url=http://localhost:4572
・実行結果
$ aws s3 mb s3://test-bucket --endpoint-url=http://localhost:4572
make_bucket: test-bucket
バケット一覧の取得
・コマンド
aws s3 ls --endpoint-url=http://localhost:4572
・実行結果
$ aws s3 ls --endpoint-url=http://localhost:4572
2020-05-08 10:58:54 test-bucket
上記の一覧取得で「test-bucket」が表示されていれば作成完了です。
導入~動作確認を簡単に書いてみましたが、他にも使えるサービスは多く存在します。
利用できるサービスと対応するポートは下記の通りです。
- API Gateway: 4567
- Kinesis: 4568
- DynamoDB: 4569
- DynamoDB Streams: 4570
- Elasticsearch: 4571
- S3: 4572
- Firehose: 4573
- Lambda: 4574
- SNS: 4575
- SQS: 4576
- Redshift: 4577
- ES: 4578
- SES: 4579
- Route53: 4580
- CloudFormation: 4581
- CloudWatch: 4582
- SSM: 4583
- SecretsManager: 4584
- StepFunctions: 4585
- CloudWatch Logs: 4586
- CloudWatch Events: 4587
- STS: 4592
- IAM: 4593
- EC2: 4597
AWS環境が使えない状況や、実際の環境で試す前の確認などで使うと便利かと思います。
元々Javaエンジニアからはじまり、気付けばJS(ES6)、AWS、Python3.6、OutsystemsPlatform、PHPと色々やってました。
得意技: Java、JS(ES6)、AWSの一部リソース
勉強中: AWSの各種リソースと、Python3.6
MarkDownからASCiiDocへ目覚めつつある今日この頃。
座右の銘は「一言芳恩」「華麗奔放」「不決断こそ最大の害悪である」です。
コメント