iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
Build on AWS

從零到雲端:AWS 開發之路系列 第 15

Day15 認識 AWS Lambda(無伺服器運算)

  • 分享至 

  • xImage
  •  

今天正式進入第3週:Serverless(無伺服器)的學習!前兩週我們體驗了EC2(雲端主機)、S3(儲存空間)、RDS(資料庫),這些都需要啟動伺服器並自己管理。而從今天開始,我們要學習「無伺服器」(Serverless)的世界。

什麼是Serverless?

Serverless 並不是「沒有伺服器」,而是 我們不用自己維護伺服器。
在傳統的 EC2 架構下,我們要自己:

  • 選擇主機規格
  • 啟動伺服器
  • 更新系統、打安全補丁
  • 管理網路安全與擴充
    但在Serverless架構裡,這些麻煩事 AWS 幫我們處理好了。我們只要寫程式碼,AWS會在需要的時候自動幫我們執行,而且是用多少算多少,不需要24小時一直開著一台機器。

認識AWS Lambda

AWS Lambda是AWS最有代表性的Serverless服務。它的特色是:
1. 事件觸發

  • Lambda 不需要你手動「啟動」伺服器,它是被「事件」觸發的。
  • 事件來源可以是很多東西,例如:
    (1) 使用者呼叫API(透過 API Gateway)
    (2) S3上傳一個檔案
    (3) DynamoDB寫入一筆資料
    (4) CloudWatch定時排程

2. 自動伸縮

  • 如果有1個人呼叫Lambda,就執行一次程式。
  • 如果有1000個人同時呼叫,AWS會自動同時開1000個Lambda實例。
  • 完全不需要自己配置伺服器大小。

Lambda的計費方式

主要分兩部分:
- 請求數 (Requests): 每次觸發 Lambda(執行一次 function),就算1個請求。
- 執行時間 (Duration): 依照程式實際跑多久來算(以毫秒計算),再乘上你設定的記憶體大小(MB)。
換句話說:記憶體越大、程式跑越久,花費越高。

免費額度每個月都有:

  • 100萬次請求免費
  • 400,000GB-秒(GB-seconds)免費運算量

實際體驗:建立第一個Lambda函數

今天先不用寫太複雜的程式,只要先體驗一下Lambda的操作。
進入AWS Console中搜尋Lambda,點選「建立函數」(Create function)

  • 選擇「從頭開始」(Author from scratch)
  • Function name:helloLambda
  • Runtime:Python 3.x 或 Node.js 18(都可以)
    https://ithelp.ithome.com.tw/upload/images/20250923/20169251wzjgrF9UXM.png

建立完成後,我們在下方會看到範例程式碼,我們先用這個範例來測試是否可以上傳:

  • 先幫它設定好測試事件的名稱
  • JSON就是Lambda執行時會收到的event參數,我們可以隨便放資料來測試。
    https://ithelp.ithome.com.tw/upload/images/20250924/20169251A1yISAHxS7.jpg
    點擊「Test」即會跳出傳送是否成功
    https://ithelp.ithome.com.tw/upload/images/20250923/20169251fvXbMPZFdQ.png

上一篇
Day14 本週回顧與心得文章 (week 2)
系列文
從零到雲端:AWS 開發之路15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言