

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

# を使用して AWS CloudFormation テンプレートを作成する AWS Toolkit for Visual Studio Code
<a name="cloudformation-template"></a>

 AWS Toolkit for Visual Studio Code は、 AWS CloudFormation および SAM テンプレートの記述に役立ちます。

## 前提条件
<a name="cloudformation-template-prereq"></a>

### Toolkit for VS Code
<a name="w2aac17c25b9b7b3"></a>
+ Toolkit for VS Code から CloudFormation サービスにアクセスするには、ユーザーガイド「[Toolkit for VS Code のインストール](setup-toolkit.md#setup-prereq)」に記載されている要件を満たす必要があります。
+ で作成した認証情報には、 AWS CloudFormation サービスへの適切な読み取り/書き込みアクセスが含まれている[認証とアクセス](establish-credentials.md)必要があります。
**注記**  
**CloudFormation** サービスに「**CloudFormation リソースのロード中にエラーが発生しました**」というメッセージが表示された場合は、それらの認証情報にアタッチした権限を確認してください。また、権限を変更すると **AWS Explorer** で更新されるまでに数分かかる場合があることにも注意してください。

### CloudFormation テンプレートの前提条件
<a name="w2aac17c25b9b7b5"></a>
+ [Redhat Developer YAML VS コード](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml)エクステンションをインストールして有効にします。
+ Redhat Developer YAML VS Code エクステンションを使用するときは、インターネットに接続する必要があります。これは、JSON スキーマをマシンにダウンロードしてキャッシュするために使用されるからです。

## YAML Schema Support CloudFormation テンプレートの作成
<a name="tamplate-schema"></a>

このツールキットは YAML 言語サポートと JSON スキーマを使用して、CloudFormation および SAM テンプレートの作成プロセスを効率化します。構文検証やオートコンプリートなどの機能により、処理が速くなるだけでなく、テンプレートの品質も向上します。テンプレートのスキーマを選択する際には、以下のベストプラクティスが推奨されます。

**CloudFormation テンプレート**
+ ファイルには .yaml または .yml という拡張子が付いています。
+ ファイルには最上位 `AWSTemplateFormatVersion` または **Resources** ノードがあります。

**SAM テンプレート**
+ CloudFormation についてすでに説明したすべての基準
+ このファイルには、`AWS::Serverless`で始まる値を含む最上位の **Transform** ノードがあります。

スキーマはファイルの変更時に適用されます。たとえば、SAM テンプレートスキーマは、CloudFormation テンプレートにサーバーレストランスフォームを追加してファイルを保存した後に適用されます。

### IAM ポリシー構文
<a name="w2aac17c25b9c11c11"></a>

YAML エクステンションはテンプレートに型検証を自動的に適用します。これにより、特定のプロパティの型が無効なエントリが強調表示されます。強調表示されたエントリの上にカーソルを置くと、拡張機能に修正アクションが表示されます。

### オートコンプリート
<a name="w2aac17c25b9c11c13"></a>

新しいフィールド、列挙値、またはその他の[リソースタイプ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-resource-fields)を追加する場合、**Ctrl \+ space** を入力することで YAML 拡張機能のオートコンプリート機能を起動できます。