Nhật ký xử lý sự cố

Thứ đã cứu vãn cuộc đời mình

For everyone having the same issue. I have found a solution that works for me. None of the other solutions here and in the web helped me. 

1. Follow the following steps in this solution: https://stackoverflow.com/questions/39144688/aws-lambda-invoke-not-calling-another-lambda-function-node-js
2. Additional to that do the following: VPC Dashboard > Route Tables > click on one of your Route Table > click on Subnet Associations > click Edit > for each of your Route Table (public, or private) select the appropriate subnet (public, or private) and save. Do this step for each of your 2 Route Table. 
3. Go to your lambda function, then configure the Subnets in Configuration to your private Subnet. This is the only one you need. And you are now able to invoke the other lambda function outside the vpc.

Chém vậy thôi nhưng thực ra là cũng gần như thế, không làm được là bị (anh Phương) quẩy tưng bừng. Mà đọc hướng dẫn các kiểu làm theo, không thấy hiệu quả gì cả.
Ban đầu, hệ thống có mysql, redis. Redis ở AWS bắt buộc phải ở trong VPC mới kết nối được, thế là Lambda trong cùng VPC với Redis thì ok, nằm ở VPC khác hoặc No VPC là timeout. Mình cấu hình mãi không sao cho Lambda đâm ra ngoài internet để kết nối sang mysql được. Bực quá, quẫn chí, tạo luôn mysql khác, nằm cùng VPC với Redis, thế là kết nối ngon.
Sang ngày hôm sau, sếp yêu cầu kết nối tới SNS để gửi SMS tới điện thoại, mysql và SNS để No VPC thì ok rồi. Lại thêm SES để gửi email, No VPC vẫn ok. Vậy là 3 ông mysql, SNS, SES để No VPC là ngon lành. Sếp yêu cầu kết nối thêm cả Redis vào, hì hục cấu hình, đọc đi đọc lại hướng dẫn, tài liệu. Éo làm sao kết nối được, toàn timeout. Điên hết người. Thôi bảo sếp: anh muốn nhanh thì làm 2 lambda đi, một cái kết nối tới Redis và mysql, để ở trong VPC, check xong thì gọi sang cai lambda thứ hai, để ở ngoài VPC để gọi tới SNS và SES. Sếp bảo ĐẾU, phức tạp thế ai mà làm. Ờ cũng phải. Thôi thử tạo VPC mới đúng theo chúng nó hướng dẫn xem có ăn không nào (mình trước giờ là sửa đổi cái VPC hiện tại đã có sẵn). Tạo mới VPC rồi cấu hình thì lại kết nối được VPC ra ngoài internet mới ghê. Ah đây rồi, vậy là hướng dẫn nó đúng đắn, có tương lai rồi, không phải là hướng dẫn bố láo (hoặc AWS đã đổi). Hì hục quan sát kĩ hai cái VPC xem khác nhau ở chỗ khỉ nào mà sao cái cũ không ra internet được, cái mới lại ra được.
Rút cục thì cũng tìm ra chân trời. Vi diệu đừng hỏi luôn. Thôi không nói đâu. Cái gì mình giỏi thì không làm miễn phí – Tùng Hà bảo thế = ))
 

1 thought on “Nhật ký xử lý sự cố”

Leave a Reply