2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCode を使ってCloudFormationテンプレートに設定ミスがないかチェックする方法

Last updated at Posted at 2020-10-06

最近、AWS上にテスト環境を作るのにあたってCloudFormationテンプレートで環境を作成することが増えてきました。テスト環境を自分だけで作るのは、まあまあリスクは抑えられるのですが、テンプレートをもっと広い範囲で使いたいときに、安全装置としての解決策の紹介です。

設定ミスってなんだろ?

「設定ミス」は、自分では意図しない設定、ってことですが、その設定で構築している環境に致命的なリスクがあることがあります。そもそも、そうならないように、テンプレートを使って環境を作成するわけですが、テンプレート自体に致命的なリスクが内包されている場合には、それがコピーされて増幅してしまう恐れがあります。なので、テンプレート自体に設定ミスがないかの確認は重要事項となります。で、そもそも、設定ミスとは、例えばS3の場合....

・作成時に誤って公開状態にしてしまった
・暗号化せすに公開してしまった
・アクセスログを有効にしていない

などなど。
このような意図しない項目がセットされてしまうことを事前に防ぐことを目的としています。特にコピペしてテンプレートを作る場合など、事前に内包されるリスクを確認したい、などというときに重宝すると思います。

Conformity を設定する

ConformityCloudFormiation Template scanner を外部APIから使うことで確認することが可能です。使えるまでの手順はざっくり以下になります。
・ユーザー登録:まずは14日のトライアルで試用可能
・AWSアカウントの紐づけ
・API Keyを作成:

  1. 右上のユーザ名をクリックします
  2. 左メニューから"API Keys"を選択
  3. "New API Key"を選択すると、新しいAPI Keyを振り出すことができます。
      ここで作成したKeyをメモ帳か何かにコピーして保存しておいてください。(保存を忘れたらまた新しいキーを作成する必要があります)

api_keys.png

VSCode のAdd-onを追加する

できれば、コードに手を加えてその場で確認したいもの。VSCodeの

  1. VSCode を開きExtensions を選択します。
  2. "Cloud Conformity Template Scanner Extension" を選択します。
  3. Install をクリックします。

image.png

インストールができたら、Conformityの設定を行います。

  1. Extentions から"Cloud Conformity Template Scanner Extension" を選択します。
  2. 設定アイコンをクリックします
  3. "Extension Setting"を選びます。

image.png

APIkeyの"Edit in settings.jason"を選択すると、設定のためのJasonファイルが開きます。

image.png

ここで、Conformity で作成したAPI Keyを貼り付けます。

image.png

これで設定は完了です。

CloudFormationテンプレートをチェックしてみる

サンプルとして、AWSから公開されているものなどで試すといいと思います。
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-s3.html

チェックしたいテンプレートのコードを開いた状態で

image.png

  1. 上メニューの"View"- "Command Palette..."を開きます
  2. "Cloud Conformity Scan Current Open Template"を選択して実行します。
  3. 少し経つと実行結果が表示されます。
  4. 実行結果が以下のように表示されれば成功です。

image.png

Summary では、リスクの重要度ごとに表示されており、Detections を見ると実際に何がリスクとして検知されたかを確認することが可能です。
特に確認項目が多い場合には、重要度の高いものから確認して、リスクを軽減していくのがよいと思います。
なお、S3以外の対応サービスリソースは以下になります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?