从 CloudFormation 启用 Aurora 数据 API
Posted
技术标签:
【中文标题】从 CloudFormation 启用 Aurora 数据 API【英文标题】:Enable Aurora Data Api from CloudFormation 【发布时间】:2019-07-22 17:08:23 【问题描述】:我有一个 CloudFormation 模板,它使用 aurora serverless 创建我的 RDS 集群。我希望在启用数据 API 的情况下创建集群。
该选项存在于 Web 控制台上: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html
但我在 CloudFormation 文档中找不到它。 如何从模板中打开此选项?
【问题讨论】:
在“路线图”github.com/aws-cloudformation/… 【参考方案1】:将the EnableHttpEndpoint
property 设置为true
,例如:
AWSTemplateFormatVersion: '2010-09-09'
Description: Aurora PostgreSQL Serverless Cluster
Resources:
ServerlessWithDataAPI:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora-postgresql
EngineMode: serverless
EnableHttpEndpoint: true
ScalingConfiguration:
...
【讨论】:
【参考方案2】:您可以通过创建自定义资源支持的 lambda 从 CloudFormation 启用数据 API,并使用任何可用的 SDK 启用它。
我使用 boto3 (python),所以 lambda 的代码类似于以下:
import boto3
client = boto3.client('rds')
response = client.modify_db_cluster(
DBClusterIdentifier='string',
EnableHttpEndpoint=True|False
)
显然,您需要处理不同的自定义资源请求类型,并从 lambda 成功或失败返回。但要回答您的问题,这是目前通过 CloudFormation 设置数据 API 的最佳方式,恕我直言。
更多关于函数(Boto3)的信息: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rds.html#RDS.Client.modify_db_cluster
【讨论】:
【参考方案3】:目前只能在网络控制台中启用数据 API。此功能仍处于测试阶段,因此 CloudFormation 支持和 us-east-1 之外的可用性等问题仍待定,在生产中使用数据 API 时应谨慎,因为它可能仍会发生变化。
【讨论】:
自 2019 年 12 月起可通过 CloudFormation 启用 - 请参阅答案 ***.com/a/58759313/1373514以上是关于从 CloudFormation 启用 Aurora 数据 API的主要内容,如果未能解决你的问题,请参考以下文章
AWS Cloudformation 启用 Performance Insights
如何在 CloudFormation 中启用 VirtualMFADevice?
使用 cloudformation 为 S3 存储桶启用 Lambda 函数
带有 cloudformation 的 AWS EMR 集群:如何启用调试