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