前言
開賽第一天先來跟大家聊聊為什麼想要學習 AWS Cloud Development Kit (AWS CDK),如果用過 AWS 的使用者應該都知道如果要在 AWS 建構一個雲端基礎架構(IaC)有以下兩種方法
- 手動建立
- 寫 AWS CloudFormation
手動建立
這是最基礎的方法,相信大家跟我一樣一開始都是使用這個方法學習 AWS 的,使用這個方法沒有問題,不過問題是如果今天收到的需求是一次建立 10 台 EC2 並且都是不一樣 type 的 EC2 相信會是一個按到手酸的節奏,而且不小心手滑可能會建立錯或是忘記自己建立到哪一台就是一個一直做重複動作的節奏
寫 AWS CloudFormation
如果使用這個方法可以先寫好腳本並且可以在部署前先 Review,基本上就可以解決上面提出的問題了,不過有個美中不足是 CloudFormation 腳本寫起來本身不太好閱讀,因為他就是一串 JSON 或是 YAML,如果有寫過就知道有時候寫一寫會不清楚自己在寫什麼,而且還沒有註解功能 (╥﹏╥)
簡單介紹 AWS CDK
為了解決這個問題 AWS 就在 2019-07-11 發佈了第一版的 AWS 雲端開發套件 (AWS CDK),也就實作了基礎架構即代碼(IaC)讓 CloudFormation 可以用程式碼來寫解決了很多問題像是
- 可以撰寫測試腳本
- 不用定義繁瑣的 AWS IAM (Identity and Access Management)
- 目前的部署腳本與上一版先做差異分析
- 如果有服務 ID 需要給予下一個服務也可以直接處理
文章目錄
以下是我 30 天鐵人賽文章的總整理,如果沒時間一篇一篇看可以直接挑自己喜歡的主題下去看:
- 基礎介紹
- 分析 CDK 範例
- 使用 CDK 部署服務
- Lambda
- 靜態網頁
- 虛擬機 – EC2
- 負載平衡 – Elastic Load Balancing
- 自動擴展 – Auto Scaling
- 資料庫 – Relational Database Service(RDS)
- 容器服務 – Elastic Container Service(ECS)
- Day 19 – CDK 建置 Amazon Elastic Container Service(ECS)Cluster
- Day 20 – CDK 建置 Amazon Elastic Container Service(ECS)Service – EC2
- Day 21 – CDK 建置 Amazon Elastic Container Service(ECS)Service – EC2 與 RDS
- Day 22 – CDK 建置 Amazon Elastic Container Service(ECS)Service – Fargate
- Day 23 – CDK 建置 Amazon Elastic Container Service(ECS)Service – Fargate 與 EC2 混搭
- Day 24 – CDK 建置 Amazon Elastic Container Service(ECS)Service – 一個 Container 服務多個 Port
- Kubernetes Service – Amazon Elastic Kubernetes Service(EKS)
- 系統監控 – CloudWatch
- 實例介紹
《AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC》
第 12 屆 iT 邦幫忙鐵人賽 DevOps 組冠的《用 CDK 定 義 AWS 架構》
第 11 屆 iT 邦幫忙鐵人賽《LINE bot 好好玩 30 天玩轉 LINE API》
一個熱愛分享的雲端工程師!