Lambda 関数とレイヤーのガバナンス戦略を作成する
サーバーレスのクラウドネイティブアプリケーションを構築してデプロイするには、適切なガバナンスとガードレールを備えた俊敏性と市場投入までのスピードを考慮する必要があります。ビジネスレベルの優先事項を設定し、最優先事項として俊敏性を重視したり、ガバナンス、ガードレール、統制によるリスク回避を重視したりします。現実的には、「二者択一」戦略ではなく、ソフトウェア開発ライフサイクルにおけるアジリティとガードレールの両方のバランスを取る「両立」戦略を採用することになります。これらの要件が会社のライフサイクルのどの段階にあっても、ガバナンス機能はプロセスやツールチェーンの実装要件になる可能性が高くなります。
組織が Lambda に実装する可能性のあるガバナンスコントロールの例をいくつか紹介します。
-
Lambda 関数へのパブリックアクセスを許可してはなりません。
-
Lambda 関数は VPC にアタッチされている必要があります。
-
Lambda 関数では非推奨のランタイムを使用してはなりません。
-
Lambda 関数は、必要なタグのセットでタグ付けする必要があります。
-
Lambda レイヤーは組織の外部からアクセスできないようにする必要があります。
-
セキュリティグループがアタッチされている Lambda 関数では、関数とセキュリティグループのタグが一致している必要があります。
-
レイヤーがアタッチされた Lambda 関数は承認されたバージョンを使用する必要があります
-
Lambda 環境変数は、カスタマーマネージド型キーを使用して保存時に暗号化する必要があります。
次の図は、ソフトウェアの開発とデプロイのプロセス全体にわたってコントロールとポリシーを実装する詳細なガバナンス戦略の例です。
以下のトピックでは、スタートアップとエンタープライズの両方を対象に、組織で Lambda 関数を開発およびデプロイするためのコントロールを実装する方法について説明します。組織でツールが設定済みである場合があります。以下のトピックでは、これらのコントロールをモジュール方式で行うため、実際に必要なコンポーネントを自由に選択できます。