OCI関数へのAWSラムダ・ワークロードの移行について
移行を成功させるには、プラットフォーム間でコードを移動する以上のことが必要です。OCI関数は、AWSラムダ移行イニシアチブのデフォルトのターゲットです。ターゲットとしてOCI関数を選択する前に、各関数の起動方法、その関数が相互作用するサービス、その関数が依存する操作動作、および保持する必要がある動作を特定します。
このインベントリには、トリガー・タイプ、最大期間、メモリー使用、ペイロード・サイズ、同時実行性、再試行と失敗の動作、依存関係、IAM権限、ネットワーク・パス、ロギング、モニタリングおよびリカバリの期待値の収集が含まれます。これらの特性によって、OCI関数と別のOCIサービスのどちらが適切なターゲットになるかが決まります。
評価中に、ワークロードの呼出し、ペイロード、タイムアウト、メモリー、同時実行性、ネットワーキング、依存関係および統合要件がOCI関数でサポートできることを検証します。
OCI関数が文書化された要件を満たせない場合は、移行を一時停止し、例外レビューを完了してから、非関数アーキテクチャを提案してください。例外には、技術的制約、改訂された合計コスト・モデル、移行作業、運用上の影響および改訂されたアプローチの明示的な承認が含まれる必要があります。
何をするか
- ラムダ構成、トリガー、依存性、権限、トラフィック、障害および操作シグナルのエビデンスベースのインベントリを作成します。
- ソースの動作とOCI Functionsの制限、起動モード、トリガー・パターン、セキュリティ、依存関係パッケージング、ネットワーキングおよび可観測性を比較します。
- 移植可能なビジネス・ロジックを、プロバイダ固有のイベント解析、アイデンティティ、SDKコール、デプロイメント・パッケージング、ロギング、シークレット、再試行および操作コードから分離します。
- OCI Functionsコンテナ・イメージとして機能をデプロイし、カットオーバー前の出力、エラー、副作用、レイテンシ、容量、再試行、セキュリティ、可観測性およびロールバックの準備状況を検証します。
このプレイブックの使用方法
大きなラムダエステートの場合、すべての機能を手動で評価することから始めてはいけません。プライマリ・ランタイム、トリガー、依存関係、トラフィック・プロファイルおよびビジネスクリティカル度レベルをカバーする代表的なサンプルから始めます。
サンプルを使用して、次のことを行います。
- 代表的なワークロードのOCI関数移行アプローチを確認します。
- 必要なアダプタおよびターゲット・コードの変更を識別します。
- 必要なセキュリティー、ネットワーキング、デプロイメントおよび運用の変更を特定すること。
- 移行作業、リスクおよび再利用可能なパターンを見積もります。
- 作業中の移行パイロットの代表的なワークロードを選択します。
ラムダ・コードを自動的に変換したり、必要なすべての統合を生成したりすることはありません。
アーキテクチャ
最初に、ラムダ関数とそのトリガーおよびその動作のインベントリを作成します。次に、ポータブル・ビジネス・ロジックをプロバイダ固有のアダプタから分離します。ターゲット実装は、OCI Functionsアプリケーションで実行され、コンテナ・レジストリに格納されているコンテナ・イメージからデプロイされ、ランタイム・アクセスにOCI IAMおよびリソース・プリンシパルを使用し、OCI Vaultなどの承認済シークレット・ストアからシークレットを取得し、必要に応じてOCIロギング、モニタリング、アラームおよびAPMを介して操作シグナルを発行します。
AWSラムダとOCI関数の関係マップ
これは、OCI関数を中心に再作成するためのワークロード・エンベロープのグループ化されたビューです

図migration-lambda-functions-arch.pngの説明
migrate-lambda-functions-arch-oracle.zip#GUID-B6E215FE-1619-4CDD-B055-0194D46ADBF8
アーキテクチャの原則
- 最初に評価してから移行します。 トリガー、ペイロード、再試行、レイヤー、権限、ネットワーキングおよび操作動作が異なる場合があります。
- トリガー移行を動作移行として処理します。 イベント・シェイプ、認証、再試行、順序付け、バッチ処理、重複配信、フィルタリング、デッドレター宛先または障害宛先、および中毒メッセージ処理を比較します。
- ソース・ワークロードを測定します。 起動率、ピーク同時実行性、継続時間パーセンタイル、最大継続時間、メモリー使用、コールド・スタート依存パス、ペイロード・サイズ、エラー率、スロットル・レート、DLQまたは障害数、バックログおよびダウンストリーム制限を取得します。
- ビジネス・ロジックの移植性を維持します。 イベント解析、アイデンティティ、SDKコール、オブジェクトまたはメッセージ・アクセス、ロギング、構成、シークレットおよび再試行動作のアダプタを分離します。
- 操作を移行の一部にします。 カットオーバーの前に、ログ、メトリック、アラーム、ダッシュボード、トレース、ランブック、ロールバック・トリガーおよび障害テストが存在する必要があります。
コア・コンポーネント
アーキテクチャには通常、ソース・ラムダ・ワークロード、移行レコード、OCI起動レイヤー、OCI Functionsアプリケーションおよびイメージ、およびサポート・セキュリティ、ネットワーキングおよびオペレーション・サービスが含まれます。ソースを直接ブループリントではなくエビデンスとして扱い、必要な動作と検証結果からOCIコンポーネントを選択します。
AWSラムダとOCIの同等の概念
このキーは、1対1の等価性の約束ではなく、翻訳ガイドとして意図されています。各行について、ソース動作をターゲットOCI動作と比較し、移行レコードのエビデンスを保持します。
| AWSラムダコンセプト | OCIの概念またはパターン | 比較または検証する対象 |
|---|---|---|
| 関数とハンドラ | Fn FDKハンドラを使用したOCI関数 | ランタイム、アーキテクチャ、ハンドラ・エントリ・ポイント、イベント・パーサー、レスポンス・オブジェクト、エラー動作、ローカル・テスト・パスおよびランタイム固有のライブラリ・サポート。 |
| ZIPパッケージ、レイヤー、拡張 | コンテナ・イメージまたは共有ベース・イメージ | 依存関係のバージョン、ネイティブ・ライブラリ、イメージ・サイズ、起動動作、拡張動作、埋込みSDKの仮定、および依存関係を関数間で共有するかどうか。 |
| 実行ロールおよびリソース・ポリシー | OCI Identity and Access Management (IAM)ポリシー、動的グループおよびリソース・プリンシパル | ランタイム・アクション、コンパートメントとリソースのスコープ、クロスアカウントまたはクロスコンパートメント・アクセス、シークレット読取り、オブジェクトまたはキュー・アクセス、および拒否パス・テスト。 |
| APIゲートウェイとラムダ | OCI APIゲートウェイとOCIファンクション | 認証、ルートおよびメソッド、ヘッダー、問合せ文字列、本文スキーマ、ステータス・コード、レスポンス・ヘッダー、タイムアウト、ペイロード・サイズ、レイテンシおよびエラー本文。 |
| S3オブジェクト・イベント | OCIイベントを介したOCIオブジェクト・ストレージ・イベント | イベント・スキーマ、オブジェクト・メタデータ、ネームスペース、バケットおよび接頭辞のフィルタ、作成/更新/削除の動作、再試行、重複、冪等性および入力/出力ループの防止。 |
| SQS、ストリーム、SNS、EventBridge、ログ・サブスクリプション | OCI Queue、OCI Streaming、OCI Notifications、OCI Events、OCI Connector Hub、または再設計されたフロー | バッチ・サイズ、順序付け、再試行、部分障害、デッド・レターまたは障害宛先、可視性または再試行ウィンドウ、バックプレッシャー、ポイズン・メッセージ、ファンアウト、フィルタおよび重複配信。 |
| 同期または非同期呼出し | 同期または連結解除された呼出し | コール元レスポンス・セマンティクス、結果処理、呼出しタイムアウト、実行タイムアウト、デタッチされた完了処理、成功/失敗の宛先および再試行パス。 |
| メモリー、タイムアウト、ペイロード、一時的仮定 | OCI関数のメモリー、タイムアウト、リクエスト、レスポンス、イメージおよびランタイム設定 | p95/p99および最大期間、タイムアウト数、メモリー・ヘッドルーム、リクエスト/レスポンスのペイロード・サイズ、一時記憶域の前提条件、大容量ペイロード・オフロード設計および依存性ロード時間。 |
| 予約済/プロビジョニング済の同時実行性およびイベント・ソース・スケーリング | OCIサービス制限、アプリケーションの同時実行性、プロビジョニングされた同時実行性、トリガー制御、ダウンストリーム保護 | 現在およびピークの同時実行性、コールドスタート感度、スロットルまたは429秒、キュー経過時間またはバックログ、再試行ストーム、ダウンストリーム容量制限、およびソース設定で容量を予約するか、トラフィックを制限するか、または待機時間を短縮するか。 |
| CloudWatchログ、メトリック、アラーム、X線 | OCI Logging、OCI Monitoring、アラーム、ダッシュボード、および必要に応じてOracle Application Performance Monitoring (APM) | 必要なログ・フィールド、相関ID、呼出し数、期間、エラー率、タイムアウト数、アラームしきい値、トレース、ダッシュボード、ランブックおよびインシデント・レスポンスの所有権。 |
| Secrets Manager、Parameter Store、KMS、VPCネットワーキング | OCI Vault、キー、VCN、サブネット、ゲートウェイ、プライベート・エンドポイント、DNSおよびセキュリティ・ルール | シークレット・ローテーション、リーク・チェック、ルート・ルール、エグレス、DNS、許可リスト、プライベート・アクセス、認可されていないパス・ブロックおよびダウンストリーム接続の制限。 |