Trả lại AWS CloudFormation Yêu cầu không hợp lệ Yêu cầu khi cố gắng tạo AWS :: Route53 :: Recordset


13

Tôi thua lỗ về điều này.

99% thời gian CloudFormation khá tốt trong việc cung cấp cho bạn một số loại thông báo gỡ lỗi mà bạn có thể làm việc, nhưng "Yêu cầu không hợp lệ" đã khiến tôi bối rối, đặc biệt là khi tài nguyên bắt đầu khá đơn giản.

Đây là tài nguyên được cung cấp cho tôi các sự cố (mẫu được tạo bởi Ansible, do đó các ký hiệu {{...}}),

"DatabaseDNSRecord": {
    "Type": "AWS::Route53::RecordSet",
    "Properties": {
        "HostedZoneId": "HOSTED_ZONE_ID",
        "Name": "db.{{ item.env_name|lower }}v2.<DOMAIN>.com.",
        "ResourceRecords": [
            {
                "Fn::GetAtt": [ "Database", "Endpoint.Address" ]
            }
        ],
        "Type": "CNAME"
    },
    "DependsOn": "Database"
}

Từ những gì tôi có thể nói từ các tài liệu, mọi thứ được yêu cầu đều có mặt, chính xác và đúng định dạng.

Điều duy nhất tôi có thể nghĩ là tôi đang thêm tài nguyên này vào ngăn xếp CloudFormation hiện có mà tôi đã tạo trước đó đã tạo Databasetài nguyên, mà đối với bản ghi là AWS::RDS::DBInstance(rất vui khi đăng mẫu tài nguyên cho điều đó nếu cần, không có gì đặc biệt) .

Bất cứ ý tưởng tại sao tôi nhận được "Yêu cầu không hợp lệ"?

Cảm ơn.

Chỉnh sửa: Tôi đã thử điều này có và không có một TTLlỗi tương tự.

Câu trả lời:


18

Hóa ra tôi đã không thử TTL DependsOn .

Làm việc với cả hai.


3
thêm TTLlàm việc cho tôi, DependsOnlà không cần thiết. cảm ơn!
tmont

1

Ngoài TTL và DependsOn, ý tưởng chính là đảm bảo rằng hệ thống không cố gắng tạo tập bản ghi bằng các tham chiếu không tồn tại.

Như vậy, DependsOn không chỉ tồn tại mà còn phải liệt kê tất cả các tài nguyên được tham chiếu trong định nghĩa RecordSetgroup (Tải cân bằng, các mục DNS khác, ENI, v.v.). Điều này sẽ đảm bảo rằng thông tin điện toán đám mây trì hoãn việc tạo các bản ghi DNS cho đến khi các điều kiện tiên quyết được đáp ứng.


0

Tôi có một vấn đề tương tự, tôi vừa thiết lập TTLtài sản và nó hoạt động tốt, có vẻ như TTLtài sản là phải cho các bộ hồ sơ như vậy.

Tôi không sử dụng DependsOnlàm bộ bản ghi phụ thuộc vào "ResourceRecords" : [ { "Fn::GetAtt" : [ "ApplicationRds" , "Endpoint.Address" ] } ],tài nguyên "ApplicationRds", vì vậy tôi không thấy bất kỳ lợi ích nào để sử dụngDependsOn


0

Nếu lỗi tương tự đang xảy ra khi tạo hồ sơ mà làm có một TTLbộ, kiểm tra nếu họ không ALIASghi -type, khi họ phải không có một TLL (vì nó được sao chép từ AliasTarget).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.