我们用CloudFormation(执行版)创建一个VPC环境

大家好,
我是系统解决方案部SRE团队的冈崎。

上次,我想介绍一种使用“CloudFormation”的简单方法。
这次,我想实际使用上次填写的模板文件创建一个VPC。

创建一个堆栈

首先,登录到您的开发服务器,并为将运行 CloudFormation 的用户注册 API 密钥,如下所示。

[root@localhost ~]# aws configure AWS Access Key ID [****************XXXX]: AWS Secret Access Key [****************XXXX]: Default region name [ap-northeast-1]: Default output format [XXXX]:

如果您没有 aws 命令,请按以下步骤安装:

[root@localhost ~]# yum install epel-release [root@localhost ~]# yum install python-pip [root@localhost ~]# pip install awscli

请确保您拥有上次创建的 vpc.yml 文件,然后运行以下命令创建 VPC。

[root@localhost ~]# ls -l 总计 4 -rw-r--r--. 1 root root 1713 3月 22 06:20 vpc.yml [root@localhost ~]# aws cloudformation create-stack \ > --stack-name vpc \ > --region ap-northeast-1 \ > --template-body file://./vpc.yml

执行后,如果显示以下消息且没有任何错误,则创建过程将继续进行。

arn:aws:cloudformation:ap-northeast-1:189461266018:stack/vpc/7b29dce0-4c70-11e9-8b3c-0ee87e6fb924

您可以使用以下命令检查状态。
当显示“CREATE_COMPLETE”时,表示资源已创建完成。

aws cloudformation describe-stacks --stack-name vpc STACKS 2019-03-28T02:12:32.683Z False False arn:aws:cloudformation:ap-northeast-1:189461266018:stack/vpc/f23007a0-50fe-11e9-88b0-0e819627e6da vpc CREATE_COMPLETE DRIFTINFORMATION NOT_CHECKED PARAMETERS PublicSubnetCider 10.31.0.0/24 PARAMETERS ProjectCode test PARAMETERS VPCCider 10.31.0.0/16

让我们检查一下每个资源的构建是否已经完成。

 

 

 

 

 

 

 

 

 

 

 

已成功创建具有指定标识符的 VPC 和子网。

删除资源

现在,让我们一次性删除这次创建的所有资源。
如果手动删除,您需要导航到每个资源页面并逐个删除,但
使用 CloudFormation 创建的资源可以从单个控制台删除。
返回开发服务器并执行以下命令。

[root@localhost ~]# aws cloudformation delete-stack --stack-name vpc

现在我们来检查删除进度。
运行以下命令,如果显示“DELETE_IN_PROGRESS”,则表示删除正在进行中。

[root@localhost ~]# aws cloudformation describe-stacks --stack-name vpc STACKS 2019-03-28T02:12:32.683Z 2019-03-28T02:20:53.902Z False False arn:aws:cloudformation:ap-northeast-1:189461266018:stack/vpc/f23007a0-50fe-11e9-88b0-0e819627e6da vpc DELETE_IN_PROGRESS DRIFTINFORMATION NOT_CHECKED PARAMETERS PublicSubnetCider 10.31.0.0/24 PARAMETERS ProjectCode test PARAMETERS VPCCider 10.31.0.0/16

堆栈删除完成后,您将看到以下错误消息:

[root@localhost ~]# aws cloudformation describe-stacks --stack-name vpc 调用 DescribeStacks 操作时发生错误 (ValidationError):ID 为 vpc 的堆栈不存在

现在我们来检查删除操作是否真的完成了。
我们可以确认 VPC 已经消失了。

 

 

 

 

 

 

解释

以下是对每条命令的逐步解释:

# aws cloudformation create-stack \ ↑ 使用 aws cloudformation 声明您将使用 CloudFormation。使用 create-stack 创建堆栈,或使用 delete-stack 删除堆栈。> --stack-name vpc \ ↑ stack-name [name] 设置堆栈名称。> --region ap-northeast-1 \ ↑ --region [region] 设置要创建资源的区域。> --template-body file://./vpc.yml ↑ --template-body [file URL] 指定模板文件的 URL。

这样,您就可以用最少的命令创建一个 VPC。
如果您想更改之前设置的参数值,可以按如下方式编写命令。

# aws cloudformation create-stack \ > --stack-name vpc \ > --region ap-northeast-1 \ > --template-body file://./vpc.yml > --parameters \ > ParameterKey=ProjectCode,ParameterValue=test-beyondjapan \ > ParameterKey=VPCCider,ParameterValue="10.23.0.0/16" \ > ParameterKey=PublicSubnetCider,ParameterValue="10.23.0.0/24"

您可以在 parameters 中声明每个参数的用途,在 ParameterKey 中指定参数 ID,并在 ParameterValue 中指定值。

概括

这次,我们能够直接在控制台中创建和删除堆栈和资源。
使用 CloudFormation,您可以轻松创建和删除 AWS 资源。
在本篇及之前的文章中,我们仅介绍了如何创建 VPC,但下次我们将介绍一些实用内容,例如创建 EC2 实例,敬请期待。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
848
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

冈崎润一郎

拥有丰富的手机游戏搬迁及运营经验。

他每天负责多云运营、服务器建设和搬迁。 随着案件数量的增加,我正在考虑如何提高工作效率。 我们经常考虑根据每个云的优点来重新定位服务器的方法。

在云间迁移、从物理到云的迁移过程中,我们在日本MSP协会举办的比赛中取得了两连胜。