簡體   English   中英

更新現有Route53資源記錄集中的TTL

[英]Update TTL in existing Route53 Resource Record set

我的Route53帳戶中沒有幾條A記錄。 我想批量更新所有這些的TTL。

我使用的邏輯是,我使用“ ListResourceRecordSets”操作獲取所有記錄。 為每個記錄創建以下更改對象。

array(
    'Action' => 'UPSERT',
    'ResourceRecordSet' => array(
        'Name' => OLD_CNAME,
        'Type' => 'A',
        'TTL' => NEW_TTL,
        'ResourceRecords' => array(array(
                'Value' => OLD_IP
            )),
));

然后,我發送“ ChangeResourceRecordSets”請求,其中包含在上一步中創建的更改對象。

Route53返回此錯誤驗證錯誤:[ChangeBatch] [Changes] [0] [Change] [Action]必須是“ CREATE”或“ DELETE”之一。[ChangeBatch] [Changes] [1] [Change] [Action]必須是“創建”或“刪除”之一)

PS我找不到ChangeResourceRecordSets調用的任何UPSERT示例。

將您的AWS開發工具包SDK更新到支持UPSERT的更高版本,或者您首先必須刪除記錄集,然后使用新更改添加它們。

UPSERT於2014年初添加: https : //aws.amazon.com/blogs/aws/new-features-for-route-53-improved-health-checks-https-record-modification/因此您必須擁有真正的老SDK。

要在沒有UPSERT的情況下進行操作:

array(
'Action' => 'DELETE',
'ResourceRecordSet' => array(
    'Name' => OLD_CNAME,
    'Type' => 'A',
    'TTL' => OLD_TTL,
    'ResourceRecords' => array(array(
            'Value' => OLD_IP
        )),
));

接着:

array(
'Action' => 'CREATE',
'ResourceRecordSet' => array(
    'Name' => OLD_CNAME,
    'Type' => 'A',
    'TTL' => NEW_TTL,
    'ResourceRecords' => array(array(
            'Value' => OLD_IP
        )),
));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM