AWS VPC Endpoint 使用場景

AWS VPC Endpoint 使用場景

POSTED BY   Chris
2022 年 3 月 14 日

VPC Endpoint 之前總是看過觀念和文件,沒實地 hands-on 過,這次剛好有同事提到相關問題,就趁著這次好好操作一次並釐清一些概念,順手記錄下來,不免俗的,一樣會用 AWS CDK 搭配觀看 AWS Management Console 來理解   為何需要 AWS VPC Endpoint ? 個人認為最主要有兩個原因,一個是安全性、一個是節費,安全性的意思是如果 applicat...

CDK 指定 Physical names 運作方式

CDK 指定 Physical names 運作方式

POSTED BY   Chris
2021 年 12 月 4 日

有看過 CDK 官方文件或 CDK best practice 文件的人大概都知道,當我們在開發 CDK 時,任何資源都盡量不要使用 physical name,而為什麼不這樣做的原因,在文件上的解釋雖然滿清楚,但具體上怎麼運作的還是不清楚,相信剛看完文件也可能會一知半解,所以這篇來講一下具體底層運作的方式   原理概述 CDK 底層都是 CloudFormation 在運作,Physical n...

CDK Pipelines – 專為 CDK 打造的  CI/CD 利器

CDK Pipelines – 專為 CDK 打造的 CI/CD 利器

POSTED BY   Chris
2021 年 11 月 7 日

在這 CI/CD 工具多如繁星的現在,常常會造成不知道要選擇哪一套工具,所以了解工具的特點及優勢就顯的重要,而今年正式 GA 的 CDK Pipelines,到底有什麼特點及優勢呢?使用場景是什麼?真實環境使用上如何使用以及要注意什麼?這些都是我剛接觸 CDK Pipelines 會問自己的問題,先來講一下特點及優勢部分   特點及優勢 CDK Pipelines 是屬於 high level 的...

使用 AWS CDK 實作 CodeDeploy Blue/Green、Canary 部署

使用 AWS CDK 實作 CodeDeploy Blue/Green、Canary 部署

POSTED BY   Chris
2021 年 8 月 23 日

原理和流程的部分在進階持續部署 – 使用 Blue/Green、Canary 降低發版風險已說明過,這篇來說明使用 AWS CDK 的實作方式   概述 此篇最主要介紹 ECS on Fargate 中使用 CodePipeline 整合 CodeDeploy 的方式來實現 Blue/Green or Canary 的部署方式 AWS CodePipeline 可以整合 CodeDeploy 一起...

持續部署 – 使用 ECS Rolling Update 實現 zero downtime

持續部署 – 使用 ECS Rolling Update 實現 zero downtime

POSTED BY   Chris
2021 年 7 月 10 日

在 container 大行其道的現今,containerized application 已經很常見的應用在開發環境和線上環境之中,而這篇來介紹一下, ECS Cluster 中,使用 ECS Service 搭配 ELB,用 Rolling update 的部署方式來達成不停機的更新,而更靈活的部署方式,如 Blue / Green 、Canary 的部署方式,AWS CodeDeploy 也...

使用 CDK 打造 Docker Image 建置 Lambda

使用 CDK 打造 Docker Image 建置 Lambda

POSTED BY   Chris
2021 年 5 月 17 日

從去年底 AWS re:invent 2020 公佈 lambda 支持使用 docker image 建置,這個算是大消息,也是一個突破,一來 docker image 支持上限到 10G,二來在 deploy 之前,可以在本地啟動 docker 來測試 lambda,相當吸引人,可以參考一下這篇 AWS Blog Post ,再來大概介紹一下 CDK 怎麼建置   CDK IaC 建置 一般 ...

CDK 使用 ssm parameter 注意事項

CDK 使用 ssm parameter 注意事項

POSTED BY   Chris
2021 年 5 月 7 日
AWS, CDK

最近使用 CDK 常遇到有一個情境,就是開發 Construct 時,會使用到 lambda,然後 lambda 上需要有一些環境變數,而這些環境變數中不乏有敏感資料,如 GitHub Token、Slack token 等...,而 CDK 最終是 synth 成 CloudFormation,所以最終生成的 CloudFormation 中就要注意會不會曝露一些敏感資料,尤其在 GitHub ...

Projen 初探 – 打造 CDK 的利器

Projen 初探 – 打造 CDK 的利器

POSTED BY   Chris
2021 年 5 月 3 日

圖片來源: https://github.com/projen/projen/blob/main/logo/projen.svg 在開發程式時,不管開發何種程式語言,第一件事就是要配置開發環境,有些程式語言的框架會提供 scaffold 來下簡單的 cli 指令後,就能自動建立專案該有最基本的設定檔、專案結構目錄、檔案等,那 porjen 最不一樣的,就是它並非一次性 (one-off) 的自動生...

打造 CI/CD 管道 – AWS CodeBuild + CodePipeline (一)

打造 CI/CD 管道 – AWS CodeBuild + CodePipeline (一)

POSTED BY   Chris
2021 年 4 月 25 日

Blog 荒廢了快 4 個月,再不寫就要生蜘蛛絲了.... 當初立下的每個月至少寫個 2 篇來記錄學習的目標,在忙著專案和上線事情下,目標就離我愈來愈遠了(淚) ...,相信這種情境每個軟體工程師都有遇過相似的,也是一個很好的藉口覺得時間永遠不夠的話,打造 CI/CD 管道,正是可以讓軟體工程師把節省的時間花在對的地方上,自動化可節省日常手動建置、部署等流程時間,「改善日常工作流程」是 DevOp...

使用 CDK 建置 AWS CodeDeploy 應用於 AutoScaling (二) – WaitCondition 和 CreationPolicy 使用方式

使用 CDK 建置 AWS CodeDeploy 應用於 AutoScaling (二) – WaitCondition 和 CreationPolicy 使用方式

POSTED BY   Chris
2020 年 12 月 8 日

第二篇最主要是敘述一下踩到的雷或是開發上卡住的部分,軟體開發只要有親手去做,基本上踩到雷都是正常的,只是每個人或許踩到的雷都不相同,這篇就這次實作中踩到的雷,做個說明,有些雷踩完後也覺得又學到了新的東西,也是一個不錯的經驗   項目 CDK 開發時,該選擇包成 construct 或 stack ? CDK AWS IAM policy 的 service-role prefix 問題 經由二個以...

使用 CDK 建置 AWS CodeDeploy 應用於 AutoScaling (一)

使用 CDK 建置 AWS CodeDeploy 應用於 AutoScaling (一)

POSTED BY   Chris
2020 年 12 月 6 日
AWS, CDK

CI/CD 近年來已經從火紅的新技術,到現在快變成必備技能,雖然工具繁多,但會個一、二套,了解原理後,使用其他套也比較能得心應手,再加上 IaC (Infrastructure as Code) 大行其道,也有了愈來愈方便的工具,如 AWS CDK,讓整個從 Infra 建置到完成 CI/CD,都可以用程式碼來自動完成 這篇文章針對 AWS CodeDeploy 應用在 AWS Auto Scal...

10 分鐘快速了解 AWS CDK 相關名詞

10 分鐘快速了解 AWS CDK 相關名詞

POSTED BY  
2020 年 11 月 22 日
AWS, CDK

以下的解釋,是基於 AWS CDK 官方文件,和使用 CDK Typescript 的角度,來解釋這些相關名詞 Construct 最基礎的函式庫 (或理解成最基礎的雲元件), CDK App、Stack 和一切引入 @aws-cdk 中的 Resources,都是繼承它來的 區分 L1 Construct、L2 Construct、Patterns Construct L1 Construct ...

CDK 引用 CommandRunner 執行 AWS CLI 指令

CDK 引用 CommandRunner 執行 AWS CLI 指令

POSTED BY   Chris
2020 年 12 月 20 日

不管使用 CDK 或用 CloudFormation,如果想要在生成某些 AWS Resources 後,接著執行與這些 Resources 相關的指令或一些自訂指令時,大都需要手動執行而無法並自動化,這篇文章推薦使用 AWSUtility::CloudFormation::CommandRunner 這個 CloudFormation Custom Resource Type,以下就讓我們來看怎...