關於將 AWS Lambda 工作負載移轉至 OCI 函數
成功的移轉需要比在平台之間移動程式碼多。OCI Functions 是 AWS Lambda 移轉計畫的預設目標。在選取 OCI Functions 作為目標之前,請先識別呼叫每個函數的方式、與其互動的服務、其依賴的操作行為,以及必須保留哪些行為。
此產品目錄包含收集觸發程式類型、持續時間上限、記憶體使用量、有效負載大小、並行、重試和失敗行為、相依性、IAM 權限、網路路徑、記錄日誌、監督以及復原預期。這些特性決定 OCI Functions 或其他 OCI 服務是更好的目標。
評估期間,請驗證 OCI Functions 是否支援工作負載的呼叫、有效負載、逾時、記憶體、並行、網路、相依性及整合需求。
如果 OCI 函數無法符合記載的需求,請先暫停移轉並完成例外複查,再提議非函數架構。例外情況必須包括技術限制、經修訂的總成本模型、移轉工作、營運影響,以及經修訂方法的明確核准。
您將執行的作業
- 建立 Lambda 組態、觸發程式、相依性、權限、流量、失敗及作業訊號的證據型產品目錄。
- 比較來源行為與 OCI Functions 限制、呼叫模式、觸發程式模式、安全性、相依性封裝、網路及可觀察性。
- 將可攜式業務邏輯與提供者特定的事件剖析、識別、SDK 呼叫、部署封裝、記錄日誌、加密密碼、重試及作業程式碼分開。
- 將函數部署為 OCI Functions 容器映像,並在切換之前驗證輸出、錯誤、副作用、延遲、容量、重試、安全性、可觀察性及倒回整備度。
如何使用這份手冊
對於大型 Lambda 資產,請勿從手動評估每個功能開始。從一個代表性範例開始,示範主要程式實際執行、觸發程式、相依性、流量設定檔以及關鍵業務層次。
使用範例來:
- 確認代表性工作負載的 OCI Functions 移轉方法。
- 識別所需的轉接器和目標程式碼變更。
- 識別必要的安全、網路、部署及作業變更。
- 預估移轉工作、風險和可重複使用的模式。
- 選取代表性工作負載以進行工作移轉試驗。
它不會自動轉換 Lambda 程式碼,也不會產生所有必要的整合。
架構
先將 Lambda 函數、其觸發程式及其作業行為納入庫存。然後將可攜式商業邏輯與提供者特定的轉接器隔離。目標實行會在 OCI Functions 應用程式中執行、從容器登錄中儲存的容器映像部署、使用 OCI IAM 和資源主體進行程式實際執行存取、從已核准的加密密碼存放區 (例如 OCI Vault) 擷取加密密碼,並在需要時透過 OCI 日誌記錄、監控、警示及 APM 發出作業訊號。
AWS Lambda 與 OCI Functions 的關係對應
這是 OCI Functions 周圍重新建立的工作負載附加群組檢視

migrate-lambda-functions-arch.png 圖解描述
migrate-lambda-functions-arch-oracle.zip#GUID-B6E215FE-1619-4CDD-B055-0194D46ADBF8
架構原則
- 先評估,然後進行移轉。 觸發程式、有效負載、重試、層、權限、網路以及作業行為可能會有所不同。
- 將觸發程式移轉視為行為移轉。 比較事件型態、認證、重試、排序、批次處理、重複傳遞、篩選、失效字母或失敗目的地,以及中毒訊息處理。
- 測量來源工作負載。 擷取呼叫速率、尖峰並行、持續時間百分位數、持續時間上限、記憶體使用狀況、冷啟動敏感路徑、有效負載大小、錯誤率、調節率、DLQ 或失敗計數、存量 (Backlog) 以及下游限制。
- 保持業務邏輯可攜。 隔離轉接器以進行事件剖析、身分識別、SDK 呼叫、物件或訊息存取、記錄日誌、組態、加密密碼及重試行為。
- 讓作業成為移轉的一部分。 切換之前必須有日誌、度量、警示、儀表板、追蹤、執行手冊、倒回觸發程式以及失敗測試。
核心組成
此架構通常包括來源 Lambda 工作負載、移轉記錄、OCI 呼叫層、 OCI Functions 應用程式和影像,以及支援的安全、網路和作業服務。將來源視為證據,而不是直接藍圖;從所需的行為和驗證結果中選擇 OCI 元件。
AWS Lambda 和 OCI 等效概念
此按鍵的用意是作為翻譯指南,並非一對一的同等性承諾。針對每個資料列,比較來源行為與目標 OCI 行為,並在移轉記錄中保留證據。
| AWS Lambda 概念 | OCI 概念或樣式 | 要比較或驗證的內容 |
|---|---|---|
| 功能與處理程式 | OCI Functions 與 Fn FDK 處理程式 | 程式實際執行、架構、處理程式進入點、事件剖析器、回應物件、錯誤行為、本機測試路徑以及程式實際執行特定程式庫支援。 |
| ZIP 封裝,圖層,延伸 | 容器映像檔或共用基礎映像檔 | 相依性版本、原生程式庫、影像大小、啟動行為、擴充行為、內嵌 SDK 假設,以及是否應跨函數共用相依性。 |
| 執行角色和資源原則 | OCI Identity and Access Management (IAM) 原則、動態群組和資源主體 | 程式實際執行動作、區間和資源範圍、跨帳戶或跨區間存取、加密密碼讀取、物件或佇列存取,以及拒絕路徑測試。 |
| API 閘道與 Lambda | OCI API 閘道加上 OCI 函數 | 認證、路由與方法、標頭、查詢字串、主體綱要、狀態代碼、回應標頭、逾時、有效負載大小、延遲以及錯誤主體。 |
| S3 物件事件 | 透過 OCI 活動進行 OCI Object Storage 事件 | 事件綱要、物件描述資料、命名空間、儲存桶以及前置碼篩選、建立 / 更新 / 刪除行為、重試、重複項目、冪等,以及預防輸入 / 輸出迴圈。 |
| SQS,streams,串流,SNS,EventBridge,日誌訂閱 | OCI Queue、 OCI Streaming 、 OCI Notifications 、 OCI Events 、 OCI Connector Hub 或重新設計的流程 | 批次大小、訂購、重試、部分失敗、失效字母或失敗目的地、可見性或重試時段、壓抑、中毒訊息、扇出、篩選以及重複傳遞。 |
| 同步或非同步呼叫 | 同步或分離呼叫 | 呼叫程式回應語意、結果處理、呼叫逾時、執行逾時、取消連附的完成處理、成功 / 失敗目的地,以及重試路徑。 |
| 記憶體,逾時,有效負載,臨時假設 | OCI Functions 記憶體、逾時、要求、回應、影像和程式實際執行設定值 | p95/p99 與最長持續時間、逾時計數、記憶體空餘空間、要求 / 回應有效負載大小、暫時儲存假設、大型負載卸載設計和相依性負載時間。 |
| 保留 / 佈建的並行與事件來源調整 | OCI 服務限制、應用程式並行、佈建的並行、觸發控制和下游保護 | 目前和尖峰並行、冷啟動敏感度、節流或 429s、佇列時效或待處理項目、重試風暴、下游容量限制,以及來源設定是否保留容量、容量上限流量或減少延遲。 |
| CloudWatch 日誌、度量、警示、X 光 | OCI Logging 、 OCI Monitoring 、警訊、儀表板,以及 Oracle Application Performance Monitoring ( APM),視需要 | 必要的日誌欄位、關聯 ID、呼叫計數、持續時間、錯誤率、逾時計數、警示臨界值、追蹤、儀表板、執行手冊以及未預期事件回應擁有權。 |
| 加密密碼管理員,參數存放區,KMS,VPC 網路 | OCI Vault 、金鑰、VCN、子網路、閘道、專用端點、DNS 和安全規則 | 加密密碼輪換、流失檢查、路由規則、傳出、DNS、允許清單、專用存取、未授權路徑封鎖,以及下游連線限制。 |