LocalStack - AWS Cloud trên máy tính của bạn
LocalStack giúp bạn giả lập hơn 80 dịch vụ AWS trên máy tính của bạn, cho phép bạn phát triển và kiểm tra ứng dụng AWS của mình một cách nhanh chóng.
Giới thiệu về LocalStack
LocalStack là một framework mã nguồn mở, cho phép bạn giả lập hơn 80 dịch vụ AWS trên local. Điều này giúp việc phát triển và kiểm thử ứng dụng trở nên dễ dàng hơn, mà không cần có tài khoản AWS.
Tuy nhiên, một số dịch vụ yêu cầu phiên bản trả phí LocalStack Pro để sử dụng🙃
Các điểm nổi bật của LocalStack
- Giả lập hơn 80 dịch vụ AWS
LocalStack hỗ trợ mô phỏng các dịch vụ AWS quan trọng như S3, Lambda, RDS, SQS, SNN và nhiều dịch vụ khác. Bạn có thể xem và tương tác với các tài nguyên này như là khi sử dụng các dịch vụ thực tế từ AWS. Điều này rất hữu ích trong quá trình phát triển và kiểm thử ứng dụng, vì bạn có thể làm việc cục bộ mà không cần tài khoản AWS và tất nhiên là cả internet. - Dễ dàng cài đặt và sử dụng
LocalStack được viết bằng Python và có thể được cài đặt thông qua pip. Sau khi cài đặt, bạn có thể chạy LocalStack bằng một dòng lệnh duy nhất. Nó cung cấp cả giao diện web UI và các API để tương tác với các dịch vụ. - Cấu hình linh hoạt
LocalStack cho phép bạn cấu hình nhiều thuộc tính khác nhau, chẳng hạn như port của từng dịch vụ, thông tin đăng nhập, quyền truy cập và nhiều hơn nữa. Bạn có thể tùy chỉnh việc để phù hợp với yêu cầu của của bạn.
Hướng dẫn setup LocalStack
LocalStack hỗ trợ nhiều hệ điều hành và nhiều phương thức để cài đặt và sử dụng như nhưng ở đây tôi sẽ hướng dẫn setup localstack trên Ubuntu với pip:
1. Cài đặt LocalStack bằng pip
pip install localstask
- Sau khi cài đặt thành công, bạn có thể chạy LocalStack bằng cách chạy lệnh
localstask start
màn hình hiện ra như sau là đã start thành công
__ _______ __ __
/ / ____ _________ _/ / ___// /_____ ______/ /__
/ / / __ \/ ___/ __ `/ /\__ \/ __/ __ `/ ___/ //_/
/ /___/ /_/ / /__/ /_/ / /___/ / /_/ /_/ / /__/ ,<
/_____/\____/\___/\__,_/_//____/\__/\__,_/\___/_/|_|
💻 LocalStack CLI 3.1.0
👤 Profile: default
[11:09:15] starting LocalStack in Docker mode 🐳
───────────────────────────────────── LocalStack Runtime Log (press CTRL-C to quit) ─────────────────────────────────────
LocalStack version: 3.0.3.dev
LocalStack Docker container id: 06bb3bfac191
LocalStack build date: 2024-01-19
LocalStack build git hash: fd8b8ace
2024-02-01T04:09:17.982 INFO --- [-functhread4] hypercorn.error : Running on https://0.0.0.0:4566 (CTRL + C to quit)
2024-02-01T04:09:17.982 INFO --- [-functhread4] hypercorn.error : Running on https://0.0.0.0:4566 (CTRL + C to quit)
Ready.
Kết nối với LocalStack
Chúng ta thường thao tác với các dịch vụ AWS thông qua AWS CLI hoặc từ ứng dụng thông qua AWS SDK.
AWS CLI và AWS SDK đều hỗ trợ ghi đè endpoint của AWS. Để thao tác với LocalStack thông qua AWS CLI chúng ta chỉ cần thêm param --endpointurl http://localhost:4566
.
Để thao tác với LocalStack, chúng ta nên cài thêm awslocal
để thuận tiện hơn cho việc sử dụng:
pip install awscli-local
Ví dụ tương tác với LocalStack
Nếu muốn sử dụng UI thì các bạn cần có tài khoản Localstack để truy cập, bạn có thể tham khảo thêm tại đây. Tuy còn nhiều hạn chế nhưng tôi thấy đây là một công cụ rất tiện cho các bạn trong quá trình thực hành thao tác với AWS.