亚马逊AWS官方博客

Category: AWS CloudFormation

使用 AWS CDK 增强您的基础设施

最近几年,很多团队都在采用基础设施即代码 (IaC)。它使基础设施的预置变得更加轻松,并有助于保持环境的一致性。

但是,由于使用声明式模板,您可能还未掌握“常见”代码所用的很多做法。您可能已感受到了每个 AWS CloudFormation 模板只是上一个项目或 StackOverflow 的复制和粘贴带来的问题。但您会信任这些代码段吗? 如何通过代码库调整改进项甚至是安全修复呢? 如何在公司或社区内共享最佳实践?

Read More
aws-cloudformation

基于 Tag 驱动的 EBS 类型优化 CloudFormation 模板

企业中用于做报表的数据库服务器只是在每天的某个时间点需要大规模的磁盘IO操作,持续时间大约几个小时,如果按照高峰时期的磁盘IO需求来设定EBS卷的类型,需要IOPS为10000的io1卷。而按照平时大多数时候的磁盘IO水平来看,gp2类型的磁盘已经可以满足要求。为了能够做到物尽其用,节省成本,在IO高峰时候使用io1卷,而平时使用gp2卷会是一个理想的安排。本文介绍了一种通过设置EBS TAG来自动修改EBS类型的方法,以满足企业节省成本的需要。

Read More
aws-cloudformation

建立 VPC 并基于参数动态创建子网的 CloudFormation 模板

本文介绍一个可以建立包含多个(可自定义)子网(包含子网路由)的 VPC 脚本。通过这个脚本创建 VPC 时,不需要指定每个子网的 CIDR, 只需要输入子网支持的 IP 地址个数,子网的路由类型(内部子网,通过 NAT 访问 Internet 或者通过 Internet Gateway 访问 Internet),在VPC内对S3和DynamoDB的访问,该脚本会自动创建 VPC EndPoint 并配置合适的路由。配合文中提到的其他脚本,可以快速创建 Landing Zone(AWS 基本运行环境,包含 VPC, Subnet, 堡垒机,CloudTrail, AWS Config, Log 复制等)

Read More

如何使用AWS CodePipeline,AWS CodeBuild与AWS CloudFormation实现Amazon ECS上的持续集成持续部署解决方案

作者:郭威 1. 前述 通过本文章,您将了解如何通过AWS CodePipeline,AWS CodeBuild,AWS CloudFormation 来实现基于Amazon ECS的持续集成持续部署方案。 开发人员在GitHub中提交的新版本代码,会自动触发代码获取,打包镜像,上传镜像仓库,更新新版本容器服务,注册到负载均衡器等操作。 方案中会涉及使用如下组件: GitHub:示例使用的源,一个提交到GitHub上的PHP示例网站。AWS CodePipeline支持GitHub, AWS CodeCommit服务,或者S3作为源。此次实例使用的Demo软件工程可以从以下链接Fork: https://github.com/awslabs/ecs-demo-php-simple-app Docker:作为发布服务使用的容器。演示方案的Build阶段会使用AWS CodeBuild托管的ubuntu/docker 1.12.1基础镜像。 Amazon EC2:作为ECS的容器宿主机集群。 Amazon VPC:服务所在的网络。 Amazon ECS:AWS托管的容器编排服务。文档链接 http://docs.aws.amazon.com/zh_cn/AmazonECS/latest/developerguide/Welcome.html Amazon ECR:AWS 托管的容器镜像仓库。文档链接 http://docs.aws.amazon.com/zh_cn/AmazonECR/latest/userguide/what-is-ecr.html AWS CodePipeline:AWS 托管的持续集成持续交付服务,可以快速可靠的更新应用程序和服务,集成支持GitHub,Jenkins等主流开源工具。文档链接 http://docs.aws.amazon.com/zh_cn/codepipeline/latest/userguide/welcome.html AWS CodeBuild:AWS 托管的构建服务,用于打包代码生成可部署的软件包。文档链接 http://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/welcome.html AWS CloudFormation:批量创建和管理AWS资源的自动化脚本。文档链接 http://docs.aws.amazon.com/zh_cn/AWSCloudFormation/latest/UserGuide/Welcome.html 2.方案架构 流程如下: 开发者将一个新版本的代码工程提交到GitHub Pipeline的Source阶段,检测到指定GitHub的repo有新版本的更新,从GitHub上拉取代码工程,开启已设定好的CICD Pipeline Pipeline的Build阶段,AWS CodeBuild将新版本的代码工程打包为Docker镜像 AWS CodeBuild将打包好的镜像推送到Amazon ECR Pipeline的Deploy阶段,AWS CodePipeline触发AWS CloudFormation,其定义了Amazon ECS的Task […]

Read More