iT邦幫忙

2025 iThome 鐵人賽

DAY 4
2
Build on AWS

一步步帶你認識 Cloud Native —— 用AWS免費服務打造雲原生專案系列 第 4

Day4 SDK?CDK?程式化部署AWS服務邁向CI/CD!(1): IAM設定、終端部署S3 Bucket

  • 分享至 

  • xImage
  •  

歡迎來到本系列的第四篇文章!


上一篇文章中,我們成功設計出了 多人時間表管理工具 的系統架構。今天,我們將正式踏進 AWS Console,開始準備專案的第一步:環境準備與程式化部署。

前言

首先我們來熟悉一下軟體開發常常聽見的幾種Development Kit

  • SDK(Software Development Kit)

一組工具與函式庫,讓我們可以用程式碼與外部服務互動。
例如,你可以用 AWS SDK for Python 直接在程式裡呼叫 DynamoDB API,存取資料表,而不必手動進AWS Console 點點點。

SDK應該算是比較常出現的關鍵字,那麼 CDK呢?

  • CDK(Cloud Development Kit)

讓你用熟悉的程式語言(TypeScript、Python、Java 等)描述基礎設施。
這意味著你不需要用 JSON/YAML 寫 CloudFormation Template,而是可以用程式碼「生成」基礎設施設定。
例如:用 CDK 建立 S3 Bucket、用 CDK 定義 Lambda 函式、用 CDK 自動部署整個專案到 AWS等...

簡單一個小總結:

SDK:幫你用程式碼操作「已存在的服務」
CDK:幫你用程式碼「建立與部署服務」

那麼要怎麼樣來使用SDK、CDK工具呢?最簡單的方式就是透過CLI(Commandline Interface)


AWS IAM存取管理來啟動CLI

但在啟動CLI之前,我們要想辦法讓我們的電腦可以透過terminal和AWS帳號溝通,而IAM可以幫助我們達成這件事情

1.建立專案專用的 IAM 使用者

1.登入 AWS Console → 搜尋並進入「IAM」
https://ithelp.ithome.com.tw/upload/images/20250814/20178103NZIldbDC6N.png

2.建立新人員(User)(幫他隨便取個名字就好)不要選錯了喔
https://ithelp.ithome.com.tw/upload/images/20250814/20178103byKJbYB96M.png
3.選擇直接連接附加策略為這個User建立一個合理權限的群組(例如 AdministratorAccess直接全開,視情況需要可以縮小權限)完成後點下一步建立人員
https://ithelp.ithome.com.tw/upload/images/20250814/20178103i1MMRHqSxA.png

4.點進去User的名字並點選建立存取金鑰並選擇CLI。
https://ithelp.ithome.com.tw/upload/images/20250814/20178103H81aWE3iGe.png
5.記下/下載使用者的 Access Key ID 與 Secret Access Key(只會顯示一次!)
https://ithelp.ithome.com.tw/upload/images/20250814/201781036Pgx8OnXlQ.png

下一步就是進入CLI啦

1.下載AWS CLI(可以直接安裝在python環境或是用brew, apt等裝在系統環境)

pip install awscli

驗證安裝:

aws --version

**2.透過CLI介面登入剛剛建立的User **
設定憑證:

aws configure

系統會依序詢問:

AWS Access Key ID [None]: 你的AccessKeyID #複製貼上即可
AWS Secret Access Key [None]: 你的SecretAccessKey
Default region name [None]: ap-east-2#台北
Default output format [None]: json

在完成後可以嘗試:

aws sts get-caller-identity 

應該會得到類似這樣的訊息:

{
    "UserId": "AIDAVVZOOBLSCBEJI45Q7",
    "Account": "390402542308",
    "Arn": "arn:aws:iam::390402542308:user/AWSIAMUser"
}

如果你看到訊息就恭喜你成功了!

當你完成Configure後,會有一份檔案被存入你的電腦中,於是在使用SDK或CDK時,它們會直接參照這份檔案而不需要再次Configure喔!

現在我們來試著透過CLI介面部署一個S3 Bucket吧

aws s3 mb s3://my-bucket-name #這樣做會部署一個S3 Bucket到你的預設region中
#注意名字不能和別人撞到!因為S3 bucket的名字必須是**全球**唯一的!

接下來檢查是否有建立成功

aws s3 ls
#如成功應會顯示類似下面的訊息
2025-08-dd hh:mm:ss 30days-sample-bucket

也可以上AWS Console去查看S3也會發現自己剛剛部署的Bucket!
接下來更可以用

aws s3 cp ./檔案路徑 s3://bucket名稱

來上傳檔案到S3 bucket中

恭喜你完成部署了第一個物件到AWS上!

不過許多涉及到其他服務的進階操作就需要更多的IAM設定了~~
與其一個一個設定,更好的方法是使用SDK以及CDK!!

同時他們也更好的兼容CI/CD Pipeline,可以結合外部工具讓自動化部署變得更輕鬆

不過今天的內容頗豐,這部分就留到下次吧...

結語

其實原本真的想要把所有內容都帶完的,不過寫到一半發現實在是太長了!
既然30天這麼漫長,我們就慢慢來吧XD,敬請期待明天的內容,將會介紹AWS中的SDK以及CDK工具!


上一篇
Day3 Cloud Native服務正式著床!Serverless服務的架構設計?
下一篇
Day5 SDK 操作 S3 部暑網站! & S3服務介紹 | 程式化部署AWS服務邁向CI/CD!(2)
系列文
一步步帶你認識 Cloud Native —— 用AWS免費服務打造雲原生專案23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言