Sunday, September 29, 2024

[AWS] Lambda in VPC

-

Lambda by default

Mặc định, Lambda function của bạn được khởi chạy bên ngoài Virtual Private Cloud (VPC) của bạn (trong một VPC do AWS quản lý). Do đó, nó không thể truy cập tài nguyên trong VPC của bạn như cơ sở dữ liệu quan hệ RDS, ElastiCache, cân bằng tải nội bộ… Điều này có thể là vấn đề đối với các ứng dụng phức tạp hoặc có nhu cầu bảo mật cao, khi bạn muốn các function chỉ truy cập vào những tài nguyên nội bộ trong VPC của bạn. Để giải quyết vấn đề này, AWS cung cấp tính năng cho phép bạn triển khai Lambda function trong VPC của bạn, bằng cách kết nối function với một hoặc nhiều subnet trong VPC và gán quyền truy cập thông qua các security group. Khi đó, Lambda function có thể truy cập vào các tài nguyên nội bộ trong VPC của bạn.

Lambda in VPC

Khi bạn muốn cho phép Lambda truy cập vào tài nguyên trong VPC của mình như RDS, ElastiCache, internal ELB, thì bạn cần phải định nghĩa ID của VPC, các Subnet và các Security Group. Sau đó, Lambda sẽ tạo ra một Elastic Network Interface (ENI) trong các subnet của bạn để có thể truy cập vào tài nguyên trong VPC. ENI là một thành phần trong mô hình mạng của Amazon, giúp kết nối các tài nguyên trong VPC và các dịch vụ khác như Lambda. Nó là một giao diện mạng ảo được gắn vào một instance EC2 hoặc một service khác để liên kết với các subnet trong VPC. ENI cho phép giao tiếp giữa Lambda và các tài nguyên khác trong VPC của bạn.

Lambda with RDS Proxy

Khi Lambda truy cập trực tiếp vào cơ sở dữ liệu của bạn, nó có thể mở quá nhiều kết nối trong tình huống tải cao. Điều này có thể dẫn đến việc cơ sở dữ liệu của bạn không hoạt động đúng cách. Để khắc phục vấn đề này, bạn có thể sử dụng RDS Proxy.

RDS Proxy là một dịch vụ của AWS giúp cải thiện khả năng mở rộng và tính sẵn sàng của cơ sở dữ liệu. Nó giúp tăng hiệu suất bằng cách tạo ra một pool các kết nối đến cơ sở dữ liệu và chia sẻ chúng giữa các phiên lambda. Ngoài ra, RDS Proxy còn giúp tăng tính sẵn sàng bằng cách giảm thời gian chuyển sang chế độ thay thế (failover) điều khiển cơ sở dữ liệu, và bảo vệ các kết nối đã thiết lập. Nó còn cung cấp cho bạn sự an toàn với việc bảo mật thông tin xác thực bằng cách sử dụng IAM authentication và lưu trữ thông tin đăng nhập trong Secrets Manager.

Chú ý rằng để sử dụng RDS Proxy, Lambda function phải được triển khai trong VPC của bạn vì RDS Proxy không bao giờ được truy cập từ bên ngoài.

Previous article
Next article

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories