Khó khăn 1: Xung đột tài nguyên do Hard-code Name
develop và local) trên cùng 1 tài khoản AWS (do trùng tên TopicName và Secrets Manager Name).${AWS::StackName} hoặc để AWS tự động sinh ID ngẫu nhiên, giúp các môi trường hoàn toàn cô lập và có thể scale không giới hạn.Khó khăn 2: Policy Template gây lỗi AccessDenied ngầm
AWSSecretsManagerGetSecretValuePolicy để cấp quyền cho Lambda đọc khóa HMAC. Tuy nhiên, khi deploy, Lambda vẫn bị lỗi 500 do AccessDeniedException và ResourceNotFoundException.Statement với Resource: !Ref HmacSecretV2). Việc đổi Logical ID sang HmacSecretV2 cũng giúp CloudFormation ép tạo tài nguyên mới, đồng bộ lại ARN chuẩn xác nhất.Những trải nghiệm này đã mang lại bài học vô giá về sự tỉ mỉ khi vận hành hạ tầng Serverless và nguyên tắc Đặc quyền Tối thiểu trên AWS.
Trong quá trình thực hiện dự án, tôi đã trực tiếp tham gia hiện thực hóa cả hai mảng Frontend và Backend. Việc tự tay kết nối các dịch vụ Serverless ở phía sau với giao diện người dùng giúp tôi nắm bắt bao quát toàn bộ luồng đi của dữ liệu. Nhờ có cái nhìn tổng thể này, tôi cũng tham gia theo dõi tiến độ kỹ thuật chung, hỗ trợ gỡ lỗi và định hướng cách ráp nối các module lại với nhau sao cho hệ thống vận hành trơn tru và đồng nhất nhất có thể.