サードパーティーリソースの記録設定 - AWS Config

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サードパーティーリソースの記録設定

サードパーティーのリソース、またはオンプレミスサーバー、SAAS モニタリングツール、バージョン管理システム ( など) などのカスタムリソースタイプの設定を記録します GitHub。 AWS Config コンソールと APIs を使用して、サードパーティーリソースの設定データを に公開 AWS Config し、リソースインベントリと設定履歴を表示およびモニタリングできます。これで、 AWS Config を使用してすべてのリソースを管理し、 AWS Config ルールを使用したベストプラクティスとのコンプライアンスについてリソース設定を評価できます。 AWS Config ルールまたはコンフォーマンスパックを作成して、これらのサードパーティーリソースをベストプラクティス、内部ポリシー、規制ポリシーに照らして評価することもできます。

注記

すべてのリソースタイプを記録する AWS Config ように を設定している場合、 を通じて管理 (作成、更新、または削除) されるサードパーティーリソース AWS CloudFormation は、 で設定項目 AWS Config として自動的に追跡されます。

前提条件: サードパーティーリソースまたはカスタムリソースタイプは、 を使用して登録する必要があります AWS CloudFormation。

ステップ 1: 開発環境をセットアップする

をインストールして設定します AWS CloudFormation AWS CLI。 AWS CLI を使用すると、カスタムリソースをモデル化して登録できます。詳細については、「カスタムリソース」および CloudFormation 「 コマンドラインインターフェイスとは」を参照してください。

ステップ 2: リソースをモデル化する

リソースタイプの設定に準拠し検証するリソースプロバイダスキーマを作成します。

  1. init コマンドを使用して、リソースプロバイダプロジェクトを作成し、必要なファイルを生成します。

    $ cfn init Initializing new project
  2. init コマンドを実行すると、ウィザードが起動し、リソース名の指定など、プロジェクトの設定手順が示されます。このウォークスルーでは、MyCustomNamespace::Testing::WordPress を指定してください。

    Enter resource type identifier (Organization::Service::Resource): MyCustomNamespace::Testing::WordPress
  3. リソースのパッケージ名を入力します。

    Enter a package name (empty for default 'com.custom.testing.wordpress'): com.custom.testing.wordpress Initialized a new project in /workplace/user/custom-testing-wordpress
    注記

    プロジェクトの依存関係を正しく解決できるようにするために、生成されたプロジェクトを Maven サポートを使用して IDE にインポートできます。

    例えば、IntelliJ IDEA を使用している場合は、次の操作を行う必要があります。

    • [File] (ファイル) メニューから [New] (新規) を選択し、[Project From Existing Sources] (既存のソースからのプロジェクト) を選択します。

    • プロジェクトディレクトリへの移動

    • [Import Project] (プロジェクトのインポート) ダイアログボックスで、[Import project from external model] (外部モデルからプロジェクトをインポート)、[Maven] の順に選択します。

    • [Next] (次へ) を選択してデフォルトを承諾し、プロジェクトの読み込みを完了します。

  4. リソースのスキーマを含む mycustomnamespace-testing-wordpress.json ファイルを開きます。次のスキーマをコピーして mycustomnamespace-testing-wordpress.json に貼り付けます。

    { "typeName": "MyCustomNamespace::Testing::WordPress", "description": "An example resource that creates a website based on WordPress 5.2.2.", "properties": { "Name": { "description": "A name associated with the website.", "type": "string", "pattern": "^[a-zA-Z0-9]{1,219}\\Z", "minLength": 1, "maxLength": 219 }, "SubnetId": { "description": "A subnet in which to host the website.", "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", "type": "string" }, "InstanceId": { "description": "The ID of the instance that backs the WordPress site.", "type": "string" }, "PublicIp": { "description": "The public IP for the WordPress site.", "type": "string" } }, "required": [ "Name", "SubnetId" ], "primaryIdentifier": [ "/properties/PublicIp", "/properties/InstanceId" ], "readOnlyProperties": [ "/properties/PublicIp", "/properties/InstanceId" ], "additionalProperties": false }
  5. スキーマを検証します。

    $ cfn validate
  6. リソースプロバイダパッケージ内の自動生成されたファイルを更新して、リソースプロバイダスキーマの更新を表示します。リソースプロバイダープロジェクトを開始すると、 はリソースプロバイダーのサポートファイルとコード AWS CLI を生成します。コードを再生成して、更新されたスキーマを確認します。

    $ cfn generate
    注記

    Maven を使用する場合、generate コマンドは構築プロセスの一部としてコードがコンパイルされる前に自動的に実行されます。そのため、変更内容は生成されたコードと同期しません。

    CloudFormation CLI は、Maven/システムが見つけることができる場所にある必要があることに注意してください。詳細については、拡張機能を開発するための環境のセットアップを参照してください。

プロセス全体の詳細については、AWS CloudFormationで使用するためのモデリングリソースプロバイダーを参照してください。

ステップ 3: アーティファクトを生成する

次のコマンドを実行して cfn submit のアーティファクトを生成します。

$ mvn package

ステップ 4: リソースを登録する

AWS Config では、リソースプロバイダーハンドラーがリソースの設定追跡を実行する必要はありません。次のコマンドを実行して、リソースを登録します。

$ cfn submit

詳細については、AWS CloudFormation 「 テンプレートで使用するリソースプロバイダーの登録」を参照してください。

ステップ 5: リソース設定を公開する

MyCustomNamespace::Testing:: の設定を決定しますWordPress。

{ "Name": "MyWordPressSite", "SubnetId": "subnet-abcd0123", "InstanceId": "i-01234567", "PublicIp": "my-wordpress-site.com" }

からスキーマバージョン ID を決定します AWS CloudFormation DescribeType

で、このリソース設定が受け入れられ AWS Config ているかどうかを確認します。コンプライアンスを評価するには、このリソースを使用して AWS Config ルールを記述できます。詳細については、「 AWS CLI を使用してサードパーティーリソースの設定状態を記録および削除する」を参照してください。

オプション: 設定の記録を自動化するには、定期的または変更ベースの設定コレクターを実装します。