インフラ

[AWS]Cloudformationのテンプレート作成のため、本番環境にCloudFormerを実行してみる

cloudformation

AWS Cloudformatinoで構築することになりした。今回構築する環境と類似する環境があったので、CloudFormerでテンプレートを作成することにしました。
しかし、「既存の環境には影響ないの」とか聞かれました。結論から言うと、既存環境への影響はありません。
AWS部分の情報の取得のため、マネジメントコンソールから情報を見るのことやAWSCLIと処理的には特に変わらないと思われます。
今回はCloudformerの手順について書きます。

Cloudformerとは

既存のAWSリソースからCloudfomationテンプレートを作成するツールです。AWSからCloudformationテンプレートとして提供されています。
実行時にt2.smallのインスタンスが起動するので、その分の課金が発生します。
公式ドキュメント

作業の流れ

  1. Cloudformerテンプレートを実行し、スタックを作成する
  2. Cloudformerにアクセスする
  3. 取得する対象を選択する
  4. Cloudformerスタックを削除する

1〜4でだいたい15分くらいで終わると思います。(選択するリソースの数次第ですが)

1.Cloudformerテンプレートを実行

AWSマネジメントコンソール>サービス>Cloudformation>スタックの作成
テンプレートの選択画面が表示されるので、サンプルテンプレートからCloudformerを選択します。

cloudformerテンプレート

「デザイナーで表示」から作成されるスタックを確認できます。
VPCやWEBサーバなど一通り作成されます。
cloudformer-designer

Cloudformationの作成画面に戻り、進めていくと下記が表示されます。
ユーザ名とパスワードは後ほど、 Cloudformerにアクセスする際に使用するので覚えておきましょう。
cloudformer_userpasswd

画面の指示通りに進めていくと、Cloudformerスタックが作成されます。作成まで、だいたい5分くらいかかります。

2.Cloudformerにアクセスする

スタックが作成されたら、「出力」にURLが表示されるので、コピーしてブラウザのアドレスバーに貼り付けます。
アクセス後に、スタックの作成時に設定したユーザ名、パスワードを入力します。

出力

アクセスするとこんな画面になります。[Create Template]をクリックしましょう。

3.取得する対象を選択する

取得するリソースを選択します。[Select all resorces your account]にチェックを入れると全てのリソースにチェックが入ります。
今回は、テンプレートが長くなりすぎるので外しました。
formerstart

取得対象のリソースは下記になります。[vpc-id][instance-id]等[id]をを選んでいきます。
カーソルを当てると詳細が見れます。
取得したテンプレートは、S3に保存することができます。
listresorce

4.Cloudformerスタックを削除する

最後に作成したcloudformerスタックを削除します。
スタックを削除することで、「1.」でCloudFormerテンプレートで作成されたリソースが全て消えます。

所感

新しくCloudformationのテンプレートを作成する時だけではなく、リソースの一覧表示したい時にも使えます。
Cloudformerでテンプレートを作成して、作成したテンプレートをデザイナーで開くとリソースの一覧が表示されます。
全体を見てみると、「これ必要か」というリソースもあり、構成の見直しの際にも使えそうです。