

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

# AWS Service Catalog テンプレートの制限
<a name="catalogs_constraints_template-constraints"></a>

**注記**  
AWS Service Catalog は、Terraform Open Source または Terraform Cloud 製品のテンプレート制約をサポートしていません。

ユーザーが製品を起動するときに使用可能なオプションを制限するには、テンプレート制約を適用します。テンプレート制約を適用し、エンドユーザーが組織のコンプライアンス要件に違反することなく製品を使用できるようにします。 AWS Service Catalog ポートフォリオ内の製品にテンプレート制約を適用します。テンプレート制約を定義するには、ポートフォリオに 1 つ以上の製品が含まれている必要があります。

テンプレート制約は、製品の基盤となる CloudFormation テンプレートで定義されているパラメータの許容値を絞り込む 1 つ以上のルールで構成されます。 CloudFormation テンプレートのパラメータでは、スタックを作成するときにユーザーが指定できる値のセットを定義します。たとえば、パラメータで、EC2 インスタンスを含むスタックを起動するときにユーザーが選択できるさまざまなインスタンスタイプを定義します。

テンプレートのパラメータ値のセットが、ポートフォリオの対象者に対して広範囲すぎる場合、製品を起動するときにユーザーが選択できる値を制限するようテンプレート制約を定義できます。たとえば、テンプレートパラメータに、スモールインスタンスタイプ (`t2.micro` や `t2.small` など) のみを使用するユーザーにとって大きすぎる EC2 インスタンスタイプが含まれている場合は、エンドユーザーが選択できるインスタンスタイプを制限するテンプレート制約を追加できます。 CloudFormation テンプレートパラメータの詳細については、 *CloudFormation ユーザーガイド*の[「パラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)」を参照してください。

テンプレート制約はポートフォリオ内にバインドされます。1 つのポートフォリオで製品にテンプレート制約を適用し、別のポートフォリオに製品を含める場合、制約は 2 番目のポートフォリオの製品には適用されません。

既にユーザーと共有されている製品にテンプレート制約を適用する場合、制約は後続のすべての製品の起動と、ポートフォリオ内の製品のすべてのバージョンに対してすぐに有効になります。

テンプレート制約ルールを定義するには、ルールエディタを使用するか、 AWS Service Catalog 管理者コンソールでルールを JSON テキストとして記述します。構文と例を含むルールの詳細については、「[テンプレート制約のルール](reference-template_constraint_rules.md)」を参照してください。

ユーザーに公開する前に制約をテストするには、同じ製品を含むテストポートフォリオを作成し、そのポートフォリオで制約をテストします。

**製品にテンプレート制約を適用するには**

1. Service Catalog コンソール ([https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)) を開きます。

1. [**ポートフォリオ**] ページで、テンプレート制約を適用する製品を含むポートフォリオを選択します。

1. [**制約**] セクションを展開し、[**制約の追加**] を選択します。

1. [**商品とタイプの選択**] ウィンドウの [**製品**] で、テンプレート制約を定義する製品を選択します。次に、[**制約タイプ**]で、[**テンプレート**] を選択します。**[続行]** を選択します。

1. [**テンプレート制約ビルダー**] ページで、JSON エディタまたはルールビルダーのインターフェイスを使用して制約ルールを編集します。
   + ルールの JSON コードを編集するには、[**制約テキストエディタ**] タブを選択します。このタブには、使用を開始するためにいくつかの例が含まれています。

     ルールビルダーのインターフェイスを使用してルールを構築するには、[**ルールビルダー**] タブを選択します。このタブで、製品向けにテンプレートで指定される任意のパラメータを選択し、そのパラメータで許可される値を指定できます。パラメータの種類に応じて、チェックリストで項目を選択する、数を指定する、またはカンマ区切りリストで値のセットを指定することで、許可される値を指定します。

     ルールの構築を終了したら、[**ルールの追加**] を選択します。[**ルールビルダー**] タブのテーブルにルールが表示されます。JSON 出力を確認して編集するには、[**制約テキストビルダー**] タブを選択します。

1. 制約のルールの編集を終了したら、[**送信**] を選択します。制約を表示するには、ポートフォリオの詳細ページに移動し、[**制約**] を展開します。