Day 1 – 一起學習 AWS Cloud Development Kit (AWS CDK)

2020 12th 鐵人賽

https://i0.wp.com/ithelp.ithome.com.tw/upload/images/20201019/20117701PWxRmGljdw.jpg?w=640&ssl=1

前言

開賽第一天先來跟大家聊聊為什麼想要學習 AWS Cloud Development Kit (AWS CDK),如果用過 AWS 的使用者應該都知道如果要在 AWS 建構一個雲端基礎架構(IaC)有以下兩種方法

  1. 手動建立
  2. AWS CloudFormation

手動建立

這是最基礎的方法,相信大家跟我一樣一開始都是使用這個方法學習 AWS 的,使用這個方法沒有問題,不過問題是如果今天收到的需求是一次建立 10 台 EC2 並且都是不一樣 type 的 EC2 相信會是一個按到手酸的節奏,而且不小心手滑可能會建立錯或是忘記自己建立到哪一台就是一個一直做重複動作的節奏

AWS CloudFormation

如果使用這個方法可以先寫好腳本並且可以在部署前先 Review,基本上就可以解決上面提出的問題了,不過有個美中不足是 CloudFormation 腳本寫起來本身不太好閱讀,因為他就是一串 JSON 或是 YAML,如果有寫過就知道有時候寫一寫會不清楚自己在寫什麼,而且還沒有註解功能 (╥﹏╥)

簡單介紹 AWS CDK

https://i1.wp.com/ithelp.ithome.com.tw/upload/images/20200916/201177010TWDfhzFsh.png?w=640&ssl=1

為了解決這個問題 AWS 就在 2019-07-11 發佈了第一版的 AWS 雲端開發套件 (AWS CDK),也就實作了基礎架構即代碼(IaC)讓 CloudFormation 可以用程式碼來寫解決了很多問題像是

  • 可以撰寫測試腳本
  • 不用定義繁瑣的 AWS IAM (Identity and Access Management)
  • 目前的部署腳本與上一版先做差異分析
  • 如果有服務 ID 需要給予下一個服務也可以直接處理

文章目錄

以下是我 30 天鐵人賽文章的總整理,如果沒時間一篇一篇看可以直接挑自己喜歡的主題下去看: