翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リソースタイプの使用
でリソースタイプを使用するには AWS Cloud Control API、そのリソースタイプが に存在し、アクティブ化されている必要があります AWS アカウント。サポートされている AWS リソースタイプはパブリックであり、常にアクティブ化されています。サードパーティパブリッシャーが提供するパブリックリソースタイプをアクティブ化することもできます。これは、 AWS CloudFormation 拡張レジストリを介して、およびその他のリソースタイプ管理タスクを実行します。
拡張レジストリは、アカウントで使用できるリソースタイプに関する詳細情報 AWS CloudFormation を含む の機能です。これには、 AWSが公開したリソースタイプだけでなく、サードパーティが公開したリソースタイプも含まれる場合があります。レジストリを使用して、以下を含む、アカウントのリソースタイプの管理を行うことができます。
-
利用可能でアクティブ化されたリソースタイプを表示する。
-
アカウントで使用するためのプライベートリソースタイプを登録する。
-
サードパーティのパブリックリソースタイプをアクティブ化する。
-
アカウントのリソースタイプのデフォルトバージョンを設定するなど、リソースタイプのバージョンを管理する。
-
リソースタイプのアカウントレベル設定プロパティを設定する (存在する場合)。
AWS CloudFormation レジストリを使用して、リソースタイプのスキーマを表示することもできます。これには、プロパティ定義やアクセス許可の要件など、Cloud Control API でリソースを使用する方法に関する重要な情報が含まれています。詳細については、「リソースタイプのスキーマの表示」を参照してください。
レジストリは、 API CloudFormationに加えて CloudFormation コンソールから使用できます。
注記
CloudFormation レジストリにリストされているすべてのリソースタイプが現在 Cloud Control API をサポートしているわけではありません。詳細については、「リソースタイプが Cloud Control API をサポートしているかどうかの判断」を参照してください。
リソースタイプの管理オプションの詳細については、「 ユーザーガイド」の「 CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。
AWS CloudFormation API を使用したリソースタイプの管理
AWS CloudFormation コンソールから拡張レジストリにアクセスするだけでなく、 AWS CloudFormation API に含まれるオペレーションを使用して、アカウントのリソースタイプを識別および管理できます。以下の表は、アカウントで使用できるリソースタイプの検出、アクティブ化、設定を行うために使用できる API オペレーションの一覧です。
CloudFormation API オペレーション | AWS CLI コマンド | 説明 |
---|---|---|
リソースタイプに関する詳細情報を返します。 |
||
リソースタイプに関する概要情報を返します。 |
||
サードパーティのパブリックリソースタイプをアクティブ化し、アカウントで使用できるようにします。 |
||
アカウント内のサードパーティのパブリックリソースタイプを非アクティブ化します。 |
||
リソースタイプのバージョンに関する概要情報を返します。 |
||
リソースタイプのデフォルトバージョンを指定します。 |
||
指定されたリソースタイプの設定データを返します。 |
||
アカウント内のリソースタイプの設定データを指定します。 |
||
サードパーティのプライベートリソースを登録し、アカウントで使用できるようにします。 |
||
サードパーティのプライベートリソースの登録を解除し、アカウントでのアクティブな使用を停止します。 |
リソースタイプが Cloud Control API をサポートしているかどうかの判断
デフォルトでは、 CloudFormation レジストリで公開されたリソースタイプは、Cloud Control API リソースオペレーションを自動的にサポートします。これには、サードパーティのパブリックリソースタイプに加えて、プライベートリソースタイプも含まれます。ただし、 AWS CloudFormation レジストリには、プロビジョニング不可能な に分類されるレガシーリソースタイプも含まれています。これらのリソースタイプは、現在のところ Cloud Control API をサポートしていないため、リソースオペレーションには使用できません。
現在 Cloud Control API リソースオペレーションをサポートしている AWS パブリックリソースタイプのリストについては、「」を参照してくださいCloud Control API をサポートするリソースタイプ。
AWS Command Line Interface (AWS CLI) を使用して、サポートされているリソースタイプのリストを生成したり、特定のリソースタイプが Cloud Control API をサポートしているかどうかを確認したりすることもできます。
を使用したサポートされているリソースのリストの生成 AWS CLI
-
list-types
コマンドを次のパラメータと共に使用します。-
type
– リソースタイプだけを選択するにはRESOURCE
を指定します。 -
visibility
— パブリックリソースを選択するにはPUBLIC
を指定し、プライベートリソースを選択するにはPRIVATE
を指定します。 -
provisioning-type
— プロビジョニング可能なリソースタイプだけを選択するにはFULLY_MUTABLE
またはIMMUTABLE
を指定します。
例えば、次のコマンドは、 CloudFormation レジストリから完全に変更可能な最初の 100 個のパブリックリソースタイプを選択します。
$
aws cloudformation list-types \ --type RESOURCE --visibility PUBLIC \ --provisioning-type FULLY_MUTABLE --max-results 100
-
を使用して特定のリソースタイプが Cloud Control API をサポートしているかどうかの確認 AWS CLI
-
describe-type
コマンドを使用して、リソースタイプの詳細を返します。ProvisioningType
がFULLY_MUTABLE
またはIMMUTABLE
のリソースタイプは、Cloud Control API のリソースオペレーションをサポートします。次の例では、
AWS::Logs::LogGroup
リソースタイプの詳細が返されます。$
aws cloudformation describe-type \ --type RESOURCE --type-name AWS::Logs::LogGroup
リソースタイプのスキーマの表示
リソースの作成および更新オペレーションでは、設定するリソースプロパティとその値を指定します。リソースのプロパティはリソースタイプスキーマで定義されます。これには、データタイプ、そのプロパティが必須かどうか、有効な値、プロパティのその他の制約が含まれます。
CloudFormation コンソールまたは を使用して、リソースタイプのスキーマを表示できます AWS CLI。さらに、「AWS CloudFormation ユーザーガイド」には、 AWS が公開している使用可能な各リソースタイプのリファレンストピックが記載されています。リソースタイプのプロパティの詳細と使用例については、「AWS リソースおよびプロパティタイプのリファレンス」セクションの該当するトピックを参照してください。
注記
「AWS CloudFormation ユーザーガイド」に記載されているすべてのリソースタイプが Cloud Control API で使用できるわけではありません。リソースタイプが使用可能かどうかを判断するには、「」を参照してくださいCloud Control API をサポートするリソースタイプ。
リソースタイプスキーマの作成方法を定義するリソースタイプ定義スキーマの詳細については、「 拡張開発用 CLI ユーザーガイド」の「リソースタイプ定義スキーマ」を参照してください。 CloudFormation
現在のプロパティ値を含む既存のリソースの現在の状態を表示する方法については、「」を参照してくださいリソースの現在の状態の読み取り。
AWS CloudFormation コンソールを使用したリソースタイプスキーマの表示
にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudformation
で AWS CloudFormation コンソールを開きます。 -
CloudFormation ナビゲーションペインのレジストリ で、アクティブ化された拡張 を選択します。
-
[リソースタイプ] タブで、リソーススキーマを表示するリソースタイプを選択します。
CloudFormation は、リソースタイプの詳細ページを表示します。リソーススキーマは [スキーマ] タブに表示されます。
を使用したリソースタイプスキーマの表示 AWS CLI
-
describe-type
を実行します。返される出力では、
Schema
構造にリソースタイプスキーマが含まれています。例えば、次のコマンドは、
AWS::Logs::LogGroup
リソースタイプに関する情報を返します。$
aws cloudformation describe-type \ --type RESOURCE --type-name AWS::Logs::LogGroup
リソースプロパティ属性の表示
リソースタイププロパティはリソースタイプスキーマの properties
セクションで定義されます。これには、そのプロパティのデータタイプ、プロパティが必須かどうか、許容値や必須パターンなどの制約が含まれます。
さらに、リソースレベルで設定される特定の属性によって、プロパティをいつ指定できるか、または指定できるかどうかが決まります。これには、以下が含まれます。
-
required
として定義されたプロパティは、リソース作成時に目的の状態で指定する必要があります。 -
createOnlyProperties
として定義されたプロパティはユーザーが設定できますが、リソースの作成中に限られます。 -
readOnlyProperties
として定義されたプロパティは、ユーザーが設定することはできません。 -
writeOnlyProperties
として定義されたプロパティは、リソースの作成または更新時にユーザーが指定できますが、読み取りまたはリストのリクエスト時に返すことはできません。
サポートされているリソースオペレーションの表示
リソースタイプがサポートするオペレーションは、そのリソースタイプスキーマの handlers
セクションを参照することで確認できます。リソースタイプがオペレーションをサポートしている場合は、handlers
セクションにリストされます。そこには、ハンドラーが必要とする権限をリストする permissions
要素も含まれます。
例えば、以下は AWS::Logs::LogGroup
リソースタイプのリソースタイプスキーマの handlers
セクションです。このセクションは、このリソースタイプが 5 つのリソースオペレーションすべてをサポートしていることを示し、各ハンドラーが必要とする権限をリストしています。
"handlers": { "create": { "permissions": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy" ] }, "read": { "permissions": [ "logs:DescribeLogGroups" ] }, "update": { "permissions": [ "logs:DescribeLogGroups", "logs:AssociateKmsKey", "logs:DisassociateKmsKey", "logs:PutRetentionPolicy", "logs:DeleteRetentionPolicy" ] }, "delete": { "permissions": [ "logs:DescribeLogGroups", "logs:DeleteLogGroup" ] }, "list": { "permissions": [ "logs:DescribeLogGroups" ] } }