Có khi nào bạn gặp phải trường hợp là chạy một ECS Task nhưng báo lỗi là không tìm thấy Secret trong SecretManager được khai báo trong taskdefinition?
Mặc dù khi kiểm tra là có tồn tại Secret đó.
Một nguyên nhân mà mình gặp phải đó là tên của Secret đó có kết thúc là -xxxxxx
(Gạch ngang và 6 ký tự).
Lý giải:
Khi các bạn tạo ra một Secret có dạng ví dụ như sau dev-au/shared-config/mysql-vars
. Thì nó có một Secret ARN là arn:aws:secretsmanager:ap-southeast-2:058264301000:secret:dev-au/shared-config/mysql-vars-ZptsLA
-ZptsLA
là ký tự được SecretManager tự thêm vào để đảm bảo tính duy nhất.
Vậy nếu bạn đặt tên dev-au/shared-config/mysql-server
, thì SecretManager tự động hiểu -server
là ký tự mà nó đã thêm vào (vì có gạch ngang và 6 ký tự), và tìm chính xác hoàn toàn tuyệt đối ARN arn:aws:secretsmanager:ap-southeast-2:058264301000:secret:dev-au/shared-config/mysql-vars-server
dẫn tới hệ thống báo không có Secret này.
Vì thế:
- Hạn chế sử dụng sử dụng
-xxxxxx
ở cuối tên Secret. - Nếu lỡ đặt rồi, thì cần phải đưa chính xác ARN của Secret tức là bao gồm các ký tự ngẫu nhiên được sinh ra.
Top comments (0)