翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
モジュール性とコード再利用のサポート
さまざまな AWS リソースから、または他の製品から製品を組み立てることができます。理想的には、複数の製品で再利用できるように、リソースをモジュール方式で定義します。リソースレベルの再利用により、そのリソースタイプを使用するすべての製品ではなく、1 か所で将来の変更を行うことができます。
Service Catalog には、製品レベルでの再利用性をサポートする連鎖と呼ばれる機能があります。製品を 1 つ以上の他の製品に連鎖できます。例えば、S3 ログ記録バケット製品を上位レベルのモニタリング製品に連鎖できます。連鎖はモジュール性をサポートしていますが、依存関係を管理する必要があるため、運用の複雑さがいくつか課されます。Service Catalog は、連鎖された製品間のバージョニングを自動的には維持しないため、ある製品への変更が、それに依存する他の製品を破損させないようにすることはできません。連鎖を慎重に使用し、バージョニングと依存関係を維持するための独自のメカニズムを開発します。
Service Catalog は CloudFormation をネイティブに使用して、製品プロビジョニングテンプレートを CloudFormation スタックとしてデプロイします。ただし、Service Catalog は、製品スタックの CloudFormation デプロイにいくつかの制限を課します。特に、Service Catalog プロビジョニングでは、再利用可能なスクリプトセグメントを挿入したり、ネストされた CloudFormation スクリプト (またはスタック) を複数のレベルに参照したりするための CloudFormation include
マクロはサポートされていません。これらの Service Catalog の制限により、再利用可能な CloudFormation テンプレートまたはコンポーネントから製品を定義する機能が制限されます。これは、CloudFormation でスタックをネイティブに定義する場合の標準的なベストプラクティスです。
注記
Service Catalog を使用すると、これらの CloudFormation コンストラクトを使用するプロビジョニングテンプレートを使用して製品を正常に定義できます。ただし、Service Catalog CloudFormation テンプレートでinclude
マクロを使用するか、複数のレベルのスクリプトをネストすると、プロビジョニング時のエラーが発生します。
これらの制限により、モジュール式の再利用可能な製品を Service Catalog に実装することが困難になる場合があります。モジュール性が要件である場合は、 を使用して AWS CDK製品とそのプロビジョニングテンプレートを実装するか、 AWS Labs Service Catalog Tools プロジェクトでプロビジョニングワークフローとエンジンを使用できます。どちらの代替方法も、このガイドの後半で説明します。