すべてのプロダクト
Search
ドキュメントセンター

Cloud Config:ルールの定義と実行

最終更新日:Jan 18, 2025

Compliance as Code とは、企業のコンプライアンス要件をルールコードとして定義することです。ルールコードは、リソースの構成がコンプライアンスに準拠しているかどうかを判断するロジックです。Cloud Config は、Function Compute の関数を使用してルールコードを実行します。これらの関数はルール関数と呼ばれます。ルール関数に基づいて、Cloud Config でルールを作成するために、関連付けられたリソース、トリガータイプ、および入力パラメーターを指定できます。

リソースの構成が変更されると、Cloud Config はルール関数を実行して、構成がコンプライアンスに準拠しているかどうかを判断します。複数のルールを使用して、リソースのすべての設定項目のコンプライアンスを監視できます。

ルールの定義

ルールとは、リソースの設定項目がコンプライアンスに準拠しているかどうかを判断するロジックです。各ルールには、次の特徴があります。

  • ルールの入力パラメーターは、対応するクラウドサービスの API 操作を呼び出すことによって取得できる設定項目です。設定項目には、リソース仕様、リソースリージョン、リソース名、リソースステータス、HTTP ポート、またはインターネットネットワークポートを指定できます。入力パラメーターのキーは、リソースの設定項目の名前と同じである必要があります。

  • ルール関数は、コードで定義されたロジックを使用して、入力パラメーターの値がコンプライアンスに準拠しているかどうかを確認します。たとえば、あるルールでは、Server Load Balancer (SLB) インスタンスで HTTPS リスナーが有効になっている場合、そのインスタンスはコンプライアンスに準拠していると見なされます。このルールでは、入力パラメーターは、SLB インスタンスの HTTPS リスナーのステータスを指定する設定項目です。設定項目の値が HTTPS リスナーが無効になっていることを示している場合、ルールは SLB インスタンスがコンプライアンスに準拠していないと判断します。

  • ルール関数の出力パラメーターは、コンプライアンス評価結果を示します。

ルールの関連リソースタイプ

Function Compute コンソールでルール関数を作成した後、ルール関数はリソースタイプに関連付けられません。また、異なるリソースの入力パラメーターが同じ名前を持つ場合があります。Cloud Config は、ルール関数の入力パラメーターのみに基づいてコンプライアンスを正確に評価することはできません。

したがって、Cloud Config でルール関数をリソースタイプに関連付ける必要があります。リソースタイプの構成を変更すると、Cloud Config はそのリソースタイプに関連付けられているルールを識別します。次に、Cloud Config は、特定の構成の変更に基づいてルールをトリガーする必要があるかどうかを判断します。

ルールのトリガー

リソースの構成を変更すると、Cloud Config は変更された設定項目を識別し、その項目の値を入力パラメーターの値として使用します。次に、Cloud Config は1つ以上のルールをトリガーして、変更された構成がコンプライアンスに準拠しているかどうかを評価します。したがって、入力パラメーターのキーは、リソースの設定項目の名前と同じである必要があります。

Cloud Config は、指定された頻度でルールをトリガーして、リソースのコンプライアンスを定期的に評価することもできます。

コンプライアンス評価結果

Cloud Config は、取得した構成変更結果を入力パラメーターとしてルール関数に渡します。次に、ルール関数はコンプライアンス評価結果を Cloud Config に返します。ルール関数は、さまざまなメソッドを使用して、Cloud Config コンソールに統計を表示および収集します。詳細については、「コンプライアンス評価結果の表示」をご参照ください。

Function Compute でカスタムルール関数を作成できます。詳細については、「カスタムルール関数の作成」をご参照ください。また、Cloud Config のルールテンプレートを使用することもできます。詳細については、「ルールテンプレート」をご参照ください。