【re:Invent2022】使用AWS CloudFormation定制资源的Terraform提供者
首先
我是爱莱特企业云事业部的黑野。
这个讲座是关于在拉斯维加斯举行的re:Invent的第二天的讲座的感想。
平时我经常使用Terraform和CloudFormation,所以我参加这个讲座是希望能学到一些新东西。
会议摘要
![IMG_8878.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/3-0.jpeg)
会议水平
- 300 – Advanced
卡车
- Customer Enablement (CEN), Architecture (ARC), CEN: BuildOn.AWS
发ߪ
-
- Martijn van Dongen, Cloud Evangelist, Schuberg Philis
- Sohan Maheshwar, Senior Developer Advocate, Amazon Web Services
参与者
-
- 合計で100人くらいだと思う。キャパにだいぶ余裕はある感じがした。
-
- セッション冒頭でアンケートを取っていておおよそこれくらい。
Terraformユーザー:7~8割
CloudFormationユーザー:6~7割
CDKユーザー:2~3割
Terraform用户大多数也是使用CloudFormation的用户。
概述
Terraform、AWS CloudFormation和AWS CDK支持广泛的AWS服务。通常,用户希望自动化更多操作,甚至创建不被直接支持的资源。在本次会议中,探讨如何使用您选择的编程语言或Docker容器构建CloudFormation自定义资源。这种方法已经在CloudFormation和CDK中成功使用,并且在Terraform中也表现良好。使用Terraform模块,您只需在项目中添加几行代码即可使用自定义提供程序。探索这个解决方案如何设计,以确保安全、简单、具备未来性和可靠性。
会议议程
![IMG_8880.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/16-0.jpeg)
![IMG_8889.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/17-0.jpeg)
关于CloudFormation
![IMG_8891.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/19-0.jpeg)
关于 CloudFormation 自定义资源的内容。
这里是关于CloudFormation自定义模板的用法和概述。
![IMG_8894.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/22-0.jpeg)
![IMG_8896.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/23-0.jpeg)
CloudFormation自定义资源演示
这个Lambda函数执行是针对API的,它是一个创建独角兽数据的函数。
使用CloudFormation模板调用Lambda
![IMG_8902.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/27-0.jpeg)
执行自定义资源的CloudFormation模板
![IMG_8906.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/29-0.jpeg)
![IMG_8907.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/30-0.jpeg)
到此为止,CloudFormation的自定义资源已经结束。
关于Terraform
![IMG_8909.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/33-0.jpeg)
有关Terraform Provider
![IMG_8910.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/35-0.jpeg)
关于HCL(HashiCorp配置语言)语法。
![IMG_8913.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/37-0.jpeg)
关于Terraform模块
关于Terraform模块,主要讨论了其高度的可重用性。
Terraform模块可以通过创建代码包的方式在各种环境中创建通用资源。
![IMG_8915.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/40-0.jpeg)
使用Terraform时使用自定义资源的配置图。
![IMG_8916.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/42-0.jpeg)
额外赠品
AWS CDKについて説明がありましたが、内容が多くなるので、簡単にまとめます。
关于AWS CDK
![IMG_8929.jpg](https://cdn.silicloud.com/blog-img/blog/img/657d8615913a08637a6bb201/46-0.jpeg)
总结和观点
-
- セッションレベル300 – Advancedだったので少し難しい内容かと思いましたが、Terraform、CloudFormation、AWS CDK初心者の方にも大変役に立つセッションかと思います。
初心者だけでなく、初心者卒業できそうくらいの方が1ステップ上がるために視聴してみると大変良いかと思います。
TerraformでCloudFormationカスタムリソースを実行したことが無いので、これを機に試してみたいと思いました。
デモが3回ありましたが、ユニコーンの名前が毎回変わり、”Warner”→”Andy”→”Jeff”でした。
明日はワークショップにいくつか参加してみようと思いますので、少しテイストの違う内容をお届けできればと思います!