👾

former2を使って、awsリソースをエクスポートする

2 min read

この記事の概要

一発でいいわけ。俺たちは

former2というサイトを使用して
既存のawsリソースをCloudFormationテンプレートとしてエクスポートします

intro

業務でCloudFormationを使用しているのですが
リソースのテンプレートを1から構築するのが面倒臭いなと思っていたところ
former2[1] というサイトに出会いました。

最近はデモ環境でリソースを作る→former2でエクスポート→本番環境で作成
という手順で進めており、ちょっとデモのテンプレートを改変するだけで
本番環境用のリソースを作成出来るので非常に便利です。

former2とは

既存のawsリソースをCloudFormationテンプレートの形で出力するサイトです。
注意点としては、アカウント情報をformer2に渡す必要があるので
適切なユーザーを作っておきましょう。

https://former2.com/

必要なもの

  1. ReadOnlyAccessのIAMロール/ユーザ
  2. Access Key
  3. Secret Access Key

導入方法

事前準備

  1. former2のサイトにアクセス
  2. 左ペインのSetup>Credentialsからページを開き
    アクセスキーとシークレットキーを入力
  3. 特別な設定など必要無ければParameters,Settingsは飛ばす
  4. そのままGo to Dashboardでダッシュボードに進む
  5. 右上のAccount Scanningでアカウント情報を読み込む

テンプレート生成

※今回はCloudWatchアラームで説明

  1. former2上で、作成したいテンプレートのメニューを開く
  2. 一覧が出るので、エクスポートしたいリソースにチェックを入れ
    + Add Selectedを押す
  3. 左上Generateを押下。()内は選択したリソースの数
  4. テンプレートが生成される

使ってみて思うこと、難点

毎度Metadataのフィールドに"former2"という文字列をブチ込んでくるので
私は気になるので消しています笑

他にも、デフォルト値を明示的にエクスポートしているせいなのか
一発でスタック作成が通らないこともありますね。

とはいえ、1から作るよりformer2で生成→改変はすごく便利です。
工数削減に一役買うことは間違い無いでしょう。

outro

今回説明を省略しましたが、CloudFormationには"インポート"という機能があります。
これは

既存のawsリソースをテンプレートに合わせてスタック化する

というものです。
former2との合わせ技ももちろん可能なのですが、長くなりそうなのでそれはまた別の機会に。

脚注
  1. https://github.com/iann0036/former2 ↩︎