AWS :: Route53 :: RecordSet oluşturmaya çalışırken “Geçersiz istek” döndüren AWS CloudFormation


13

Bunu kaybettim.

CloudFormation zamanının% 99'u, çalışabileceğiniz bir tür hata ayıklama mesajı vermekte oldukça iyidir, ancak "Geçersiz istek" , özellikle kaynakla başlamak oldukça basit olduğunda beni şaşırttı.

Bu bana sorunları veren kaynak (Ansible tarafından oluşturulan şablon, dolayısıyla {{...}} notasyonlar),

"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"
}

Dokümanlardan söyleyebileceğim kadarıyla, gereken her şey mevcut, doğru ve doğru biçimde.

Aklıma gelen tek şey şey şu ekleyerek bir bu kaynağın mevcut Daha önce zaten oluşturulmuş oluşturulur CloudFormation yığını Databasekayıt için bir olan kaynak, AWS::RDS::DBInstance(bunun için de kaynak şablonu göndermek için mutlu gerekirse, hiçbir özel) .

"Geçersiz istek" almamın bir fikri var mı?

Teşekkürler.

Düzenleme: Ben TTLaynı hata ile ve bir hata olmadan denedim .

Yanıtlar:


18

Görünüşe göre denemedim TTL ve DependsOn .

Her ikisiyle de çalışır.


3
eklemek TTLbenim için çalıştı DependsOn, gereksizdi. Teşekkürler!
tmont

1

TTL ve DependsOn'un ötesinde, ana fikir, sistemin mevcut olmayan referansları kullanarak kayıt kümesi oluşturmaya çalışmadığından emin olmaktır.

Bu nedenle, DependsOn yalnızca var olmamalı, aynı zamanda RecordSetGroup tanımında (Yük Dengeleyiciler, diğer DNS girdileri, ENI'ler, vb.) Başvurulan tüm kaynakları listelemelidir. Bu, bulut oluşturma işleminin önkoşullar sağlanana kadar DNS kayıtlarının oluşturulmasını geciktirmesini sağlayacaktır.


0

Ben benzer bir sorun var, ben sadece TTLözelliği ayarlamak ve gayet iyi çalışıyor, TTLözelliği gibi kayıt kümeleri için bir zorunluluk gibi görünüyor .

DependsOnKayıt kümesi "ResourceRecords" : [ { "Fn::GetAtt" : [ "ApplicationRds" , "Endpoint.Address" ] } ],"ApplicationRds" kaynağından bağlıdır gibi kullanmıyorum , bu yüzden kullanmak için herhangi bir kazanç görmüyorumDependsOn


0

Kayıt oluştururken aynı hata oluyorsa yapmak bir var TTLonlar değil kontrol, set ALIAStipi kayıtlar onlar gerektiği gibi, değil bir TLL var (o kopyalanır olarak AliasTarget).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.