網頁

2021年4月21日 星期三

[野人獻曝] AWS Go CDK 初步使用筆記

AWS 之前推出了 Cloud Development Kit (CDK)工具,
讓以前寫 YAML 透過 CloudFormation 建立資源的麻煩和不便減少許多,
只是彼時只支援 C#、Java、JavaScript / TypeScript 以及 Python。

不過最近開始支援 Go 了,
所以我就來稍微試用一下!

為了要使用 CDK Go,
必須確認開發機器上是否有以下工具:

  • aws-cdk:CDK 工具,可以透過這個工具進行建立新專案 / 部署等動作,最新版本: 1.100.0。
  • Go:由於 CDK 會使用到 Go 內建的 embed 套件,所以版本必須為 1.16.x 以上
  • aws-cdk-go:CDK 的 Go 函式庫,目前還在 preview 階段,最新版本是:1.100.0
以上工具安裝完後,即可開始建立新專案。

建立新專案

建立一個目錄後並切換到該目錄,
接著輸入:

cdk init --language go

 然後就會在該目錄下建立出相關的專案檔

開發

使用你習慣的 IDE,打開以該目錄為檔名的 .go 檔,
你所有需要的程式碼即會集中在這裡。

部署

輸入以下指令即可開始部署作業:

cdk deploy

輸入以下指令則可以確認這次修改後會有什麼樣的資源變動

cdk diff

輸入以下指令則可以刪除

cdk destroy

注意事項 

CDK 有兩種類型的物件:awscdk.NewCfn*awscdk.New*
前者是為了仍在使用 YAML 操作重複類型資源的狀況下使用,
只需要帶入模板檔路徑與該模板所需參數即可建立相應資源;
後者則偏向懶人包,
可以在建立資源時一併設定其他相依資源的屬性以便一起建立,
如果未設定的狀況下也會以預設的屬性直接建立。