Practice AWS tại localhost

Localstack là một giải pháp để các bạn sinh viên hoặc các bạn ko muốn lab mà chưa có account personal AWS cũng như sợ rằng vấn đề cost là điều làm bạn lo lắng. các sử dụng rất đơn giản và hướng dẫn này mình làm trên  HĐH Ubuntu. Các bạn có thể tham khảo cũng như xem thêm document của chính chủ.

I. Cài đặt

Đảm bảo rằng bạn đã cài sẵn docker và docker-compose.

Download file nén binary:

curl -Lo localstack-cli-2.3.0-linux-amd64-onefile.tar.gz \
https://github.com/localstack/localstack-cli/releases/download/v2.3.0/localstack-cli-2.3.0-linux-amd64-onefile.tar.gz

Giải nén

sudo tar xvzf localstack-cli-2.3.0-linux-*-onefile.tar.gz -C /usr/local/bin

Kiểm tra lại localstack được cài đặt thành công hay chưa:

localstack --version
2.3.0

II. Get API key localstack

Tiến hành tạo account, sau khi tạo thành công bạn có thể tạo được API key.

Quay lại local machine, run command sau để nạp API key:

export LOCALSTACK_API_KEY=XXXXXXXXXX

Tạo file docker-compose.yml

version: "3.8"

services:
localstack:
container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}"
image: localstack/localstack
ports:
- "127.0.0.1:4566:4566" # LocalStack Gateway
- "127.0.0.1:4510-4559:4510-4559" # external services port range
environment:
- DEBUG=${DEBUG-}
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"

start container:

docker-compose up
root@tritran-thinkpad-l15:/tmp# docker-compose up
Starting localstack_main ... done
Attaching to localstack_main
localstack_main | 
localstack_main | LocalStack version: 2.3.1.dev
localstack_main | LocalStack Docker container id: 898fe80f20d8
localstack_main | LocalStack build date: 2023-09-29
localstack_main | LocalStack build git hash: eb04e122
localstack_main | 
localstack_main | 2023-09-30T16:08:58.564 INFO --- [-functhread4] hypercorn.error : Running on https://0.0.0.0:4566 (CTRL + C to quit)
localstack_main | 2023-09-30T16:08:58.564 INFO --- [-functhread4] hypercorn.error : Running on https://0.0.0.0:4566 (CTRL + C to quit)
localstack_main | 2023-09-30T16:08:58.820 INFO --- [ MainThread] localstack.utils.bootstrap : Execution of "start_runtime_components" took 903.21ms
localstack_main | Ready.

Bạn quay lại dashboard localstack sẽ thấy service ở trạng thái running

III. Add credentials để tương tác với aws-cli

Thêm vào file ~/.aws/credentials nội dung sau:

[localtest]
aws_access_key_id = test
aws_secret_access_key = test
region = us-east-1

Bạn có thể trực tiếp dùng aws-cli hoặc dùng awslocal wrapper cũng được:

https://github.com/localstack/awscli-local

Nếu dùng aws-cli thì bạn phải thêm –endpoint-url http://localhost:4566 vào:

That’s all. hy vọng giúp ích mọi người.