見出し画像

VSCodeのプラグインでAWSのCloudFormationの構文を簡単に記述する方法

こんにちは!さっしです!

インフラの各種サービスの内容がコードとして保存ができ、そのコードを使って自動で構築ができたら便利ですね。
そのことをInfrastructure as Code(IaC)と呼び、それを実現するためにAWSでは「CloudFormation」呼ばれるサービスが提供されています。
しかしそのサービスを使う際には、AWS側で決められた構文を使う必要があり、それを覚えるのはなかなか大変です。

そのため、今回は「CloudFormationの雛形の構文」を「VSCode」を使い簡単に出力する方法をご紹介します。

■やりたいこと

・VSCode(Visual Studio Code)のプラグインでCloudFormationの構文を自動補完したい
・ VSCode側でCloudFormation独自関数をエラーとして認識させない

■事前準備

・「cloudformation」ディレクトリを作成し、そのディレクトリに「test.yml」ファイルを作成する

■やること

1.VSCodeにCloudFormationのプラグインをインストールする
2.初回雛形の構文を出力する
3.settings.jsonを編集し、独自関数をエラーとして認識させない

■1.VSCodeにCloudFormationのプラグインをインストールする

・VSCodeを立ち上げる

・左メニューの「四角が4つ」重なっているマークをクリックし、検索バーに「CloudFormation」と入力する

画像2

・右側にある「Install」ボタンをクリックする

画像2

■2.初回雛形の構文を出力する

・test.ymlを開く

画像3

・「start」と入力した後に「 tabキー」を1回押す

画像4

・初回雛形の構文が出力されることを確認する

画像5

■3.settings.jsonを編集し、独自関数をエラーとして認識させない

ファイル:test.yml
・「Resources」の下のエリアに以下の内容を入力し保存する

myEC2Instance:
   Type: AWS::EC2::Instance
   Properties:
     KeyName: 
     DisableApiTermination: 
     ImageId: 
     InstanceType: 
     Monitoring: true|false
     SecurityGroupIds:
       - sg-id
     UserData: !Base64 |
       #!/bin/bash -ex
       # put your script here
     Tags:
       - Key: key
         Value: value

・独自関数がエラーとして認識されていることを確認する
※今回は「!Base64」がエラーとして認識されている

画像6

・「command + p」を押し、検索メニューバーに「settings.json」と入力しエンタキーを押す
※windowsの場合はctrl + shift + p

画像8

ファイル:settings.json
・以下の内容を入力し保存する

{
   "yaml.schemas": {
       "https://d33vqc0rt9ld30.cloudfront.net/latest/gzip/CloudFormationResourceSpecification.json": [
           "*.cf.yaml",
           "*.cf.yml",
           "cfn/*.yaml",
           "cfn/*.yml",
           "cloudformation/*.yaml",
           "cloudformation/*.yml"
       ]
   },
   "yaml.customTags": [
       "!And sequence",
       "!Equals sequence",
       "!If sequence",
       "!Not sequence",
       "!Or sequence",
       "!Base64",
       "!Cidr sequence",
       "!FindInMap sequence",
       "!GetAtt",
       "!GetAZs",
       "!ImportValue",
       "!Join sequence",
       "!Select sequence",
       "!Split sequence",
       "!Sub",
       "!Ref"
   ]
}

ファイル:test.yml
・独自関数がエラーとして認識されていないことを確認する

画像9


設定は以上になります。

AWSってほんと楽しいですね!


この記事が気に入ったらサポートをしてみませんか?