amazon-web-services - 在 AWS CloudFormation 中定义表、 View 和索引

标签 amazon-web-services amazon-redshift aws-cloudformation amazon-aurora

在 AWS CloudFormation 中,您可以使用 JSON/YAML 模板定义服务堆栈。特别是,我正在使用 RedshiftAurora集群。

该模板允许您定义集群的管理属性,但似乎没有明确的方法来定义集群中的表、 View 和索引,以便当我推送堆栈更新时,数据库会自动更新根据需要调整架构,类似于管理完整堆栈更新的方式。

有没有办法在 Cloud Formation 中管理 Redshift 和 Aurora 数据库的架构?

最佳答案

Amazon CloudFormation 可用于创建 AWS 资源。将其视为代表您调用标准 AWS API

资源的“内容”可以通过 AWS API 调用控制, CloudFormation 也可以对其进行管理。例如,在 Amazon DynamoDB 中创建表、在 Amazon S3 中创建存储桶以及在 Amazon Kinesis 中创建流。这些是区域范围内且完全由 AWS 提供的服务示例。

相比之下,如果服务必须部署在可用区内,则 CloudFormation 无权访问。示例包括:Amazon EC2 实例、Amazon RDS 实例、Amazon Redshift 集群、Amazon EMR 集群和 Amazon Elasticsearch 集群。它们都在虚拟机之上运行,并且“内容”无法通过 AWS API 调用访问。

在此类系统中执行自动操作的唯一方法是直接调用它们。例如,建立与数据库的 JDBC 连接,然后传递一些 SQL 命令。这可以通过在 Amazon EC2 实例上运行的应用程序、AWS Lambda 函数或连接到 Internet 的任何计算机来完成。

Amazon CloudFormation 可以触发 AWS Lambda-backed Custom Resources 。此 Lambda 函数几乎可以执行任何函数,但您将负责编写此函数的代码。

关于amazon-web-services - 在 AWS CloudFormation 中定义表、 View 和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45553456/

相关文章:

amazon-web-services - AWS Spot 实例限制

aws-cloudformation - 为不需要的模板指定的 AWS CloudFormation 参数值

forms - 是否公开展示 x-amz-credential 或任何亚马逊的东西?

amazon-web-services - 执行 aws cp 后获取对象的版本

linux - 2 个 AWS EC2 实例之间的 rsync : cannot locate . pem 文件

sql - 如何在 DBT 模型中使用引号内的 env_var?

sql - 如何将两个表合并在一起,选择具有较高值的​​列,而无法使用 MERGE 语句?

sql - (REDSHIFT) 垂直合并/FIRST_VALUE() 作为聚合

amazon-web-services - AWS CDK 生成的资源标识符非常糟糕且不可读。有任何解决这个问题的方法吗?

amazon-web-services - AWS 云信息 : Create Route to an Instance - CF can't find instance ID