【问题标题】:How does `pending-reboot` apply method works for AWS Aurora Serverless database?`pending-reboot` 应用方法如何适用于 AWS Aurora Serverless 数据库?
【发布时间】:2021-06-28 16:50:52
【问题描述】:

我有一个 AWS Aurora 无服务器 v1 数据库,它由 Terraform 管理,我指定了一个静态参数 tls_version 并使用 pending_reboot 作为 apply_method,然后我在 terraform 中应用了更改。

来自this page,它说:“例如,假设您修改参数组中的参数或将不同的参数组与您的集群相关联。在这些情况下,您必须重新启动集群以使更改生效

我的问题是:应用 Terraform 后,当我检查参数组时,我没有看到任何地方显示我 pending我是否必须重新启动集群?如果是这样,如何重启 Aurora 无服务器集群,因为我检查了 AWS 控制台,找不到重启按钮:

但是当我检查一个非无服务器集群时,我可以看到它的实例有一个“重启”按钮,我很困惑,我应该怎么做才能使参数组生效,我该如何验证它?谢谢。

【问题讨论】:

    标签: amazon-web-services terraform terraform-provider-aws amazon-aurora aws-aurora-serverless


    【解决方案1】:

    您无法手动重启 Aurora Serverless 集群。当modifying 参数组时,立即应用更改:

    对于 Aurora,当您修改数据库集群时,只有对数据库集群标识符、IAM 数据库身份验证和新主密码设置的更改会受到立即应用设置的影响。无论立即应用设置的值如何,所有其他修改都会立即应用。

    不仅如此,tls_version 仅适用于预配置集群。运行

    aws rds describe-db-cluster-parameters \
    --db-cluster-parameter-group-name default.aurora-mysql5.7 | 
    jq '.Parameters[] | select (.ParameterName=="tls_version")'
    
    {
                "ParameterName": "tls_version",
                "Description": "The protocols permitted by the server for encrypted connections.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "list",
                "AllowedValues": "TLSv1,TLSv1.1,TLSv1.2",
                "IsModifiable": true,
                "ApplyMethod": "pending-reboot",
                "SupportedEngineModes": [
                    "provisioned"
                ]
            }
    

    你可以看到它只适用于“预配置”引擎模式。

    【讨论】:

    • 查看stackoverflow.com/questions/57790826/… 了解类似问题
    • 'tls_version 仅用于预置集群'-您是否有 AWS 文档中提到的链接?根据我的阅读和测试,(我从 Terraform 配置它),它看起来与无服务器引擎模式兼容,在参数组中我可以清楚地看到 Value 已设置为我想要的。
    • @Cecilia 它隐含在描述中:"SupportedEngineModes":"provisioned"。如果它也适用于无服务器,则结果会显示 "SupportedEngineModes":"provisioned", "serverless",就像 time_zone 之类的参数一样:aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name default.aurora-mysql5.7 | jq '.Parameters[] | select (.ParameterName=="time_zone")'
    • AWS 文档不太容易理解......也许他们只是给了我们一个例子,我以前见过这种情况。在我看到他们说它只适用于一种特定类型之前,我仍然认为它适用于无服务器引擎,因为我在 Terraform 中的测试结果没有抱怨“不支持此参数”或其他任何东西,我可以在 AWS 控制台中看到该值已设置为我想要的值。
    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 2021-08-19
    • 2020-12-04
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2023-02-10
    相关资源
    最近更新 更多