AWS CloudFormation Former を使ってみる

CloudFormation

AWS CloudFormation に対する追加料金はありません
やったね

既存リソースのCloudFormation化

AWSの構成バックアップを考えたとき、Terraformでも良いけどAWSの仕様に振り回される可能性があり
CloudFormer(β) を使用して既存リソースをテンプレート化する

Former Stack の作成

CloudFormer (ベータ) を使用して既存の AWS リソースから AWS CloudFormation テンプレートを作成する

CloudFormation の stack を作成する

「サンプルテンプレートを使用」からサンプルテンプレートの「Cloudformer」を指定する

This setting will control if the Cloudformer Web server will launch in the default VPC or if a new VPC will be created, or if you wish to launch into an existing non-default VPC.

CloudFromerは動作に VPC が必要らしい デフォルトは新規になっているけどデフォルトを default にしてみる

CloudFormer を利用するためのユーザー情報を登録する


数分待つと stack が作成されている

AWS CloudFormer Beta - template creation prototype application. This tool allows you to create an AWS CloudFormation template from the AWS resources in your AWS account. Warning This template creates a single EC2 instance in your account to run the application - you will be billed for the instance at normal AWS EC2 rates.

Former を利用すると EC2 が作成されるらしい、だから VPC 作成なんて言ってたのね
EC2 のコンソールを見てみると、Cloudformation を利用しているリージョンと同リージョンに EC2 が新規で作成されてた

CloudFormer スタックによって t2.medium Amazon EC2 インスタンスが起動されます。このスタックは、テンプレート作成後、ウォークスルーの最後に削除します。

注意しなければいけないのはインスタンスのインバウンドポリシーが 443 Any で空いてること
Former を使うときは必ずサービス利用VPCではなく新規作成とかにしておいたほうが良い
それ以外は無料利用枠の範囲にできるだけ収まるようなインスタンスになっている

Stack の起動

Stack が作成されると出力タブのURLから Former にアクセスできる

なるほどね、Formation 経由で EC2 作成してその中に Former アプリをデプロイしてるのかな?
アクセスすると Stack 作成時の ID/PASS でログインを促される


テンプレートを作成したいリソースがあるリージョンを選択して「Create Template」
作成するテンプレートの説明を記入し、リソースのフィルタは入れずに次に進む

それぞれのステップで選択できるリソース内容(記事作成時点)

DNS

  • Route 53 Hosted Zones
  • Route 53 DNS Records
  • Route 53 Health Checks

VPC

  • Amazon Virtual Private Clouds (VPCs)

VPC Network
VPCを選択していると、関連するリソースは自動でチェックが入っている

  • Amazon Virtual Private Cloud (VPC) Subnets
  • Amazon Virtual Private Cloud (VPC) Internet Gateways
  • Amazon Virtual Private Cloud (VPC) Customer Gateways
  • Amazon Virtual Private Cloud (VPC) VPN Gateways
  • Amazon Virtual Private Cloud (VPC) DHCP Options
  • Amazon Virtual Private Cloud (VPC) VPN Connections
  • Amazon Virtual Private Cloud (VPC) Peering Connections

VPC Security
VPCを選択していると、関連するリソースは自動でチェックが入っている

  • Amazon Virtual Private Cloud (VPC) Network ACLs
  • Amazon Virtual Private Cloud (VPC) Route Tables

Network

  • Elastic Load Balancers(ALBは無い
  • Amazon EC2 Elastic IP Addresses
  • Amazon EC2 Network Interfaces
  • Amazon CloudFront Distributions

Managed Services

  • Auto Scaling Groups
  • Elastic Beanstalk Applications
  • OpsWorks Stacks

Managed Configuration

  • Auto Scaling Launch Configurations
  • Elastic Beanstalk Application Versions
  • Elastic Beanstalk Environments
  • Elastic Beanstalk Configuration Templates
  • OpsWorks Apps
  • OpsWorks Layers
  • OpsWorks Elastic Load Balancer Attachements

Compute

  • Amazon EC2 Instances
  • OpsWorks Instances

Storage

  • Amazon Elastic Block Storage Volumes
  • Amazon RDS Database Instances
  • Amazon ElastiCache Cache Clusters
  • Amazon Redshift Clusters
  • Amazon DynamoDB Tables
  • Amazon S3 Buckets
  • Amazon SimpleDB Domains

Storage Config

  • Amazon RDS DB Subnet Groups
  • Amazon RDS DB Parameter Groups
  • Amazon ElastiCache Subnet Groups
  • Amazon ElastiCache Parameter Groups
  • Amazon RedShift Cluster Subnet Groups
  • Amazon Redshift Cluster Parameter Groups

Application Services

  • Amazon SQS Queues
  • Amazon SNS Topics
  • Amazon Kinesis Streams

Security Groups

  • Amazon EC2 Security Groups
  • Amazon RDS Security Groups
  • Amazon ElastiCache Security Groups
  • Amazon Redshift Cluster Security Groups
  • Amazon SQS Queue Policies
  • Amazon SNS Topic Policies
  • Amazon S3 Bucket Policies

Operational Resources

  • Auto Scaling Policies
  • Auto Scaling Scheduled Actions
  • CloudWatch Alarms
  • CloudTrail Trails

サマリー画面

問題なければテンプレートを S3 に保存できる
画面に JSON の内容は表示されているのでコピペでもできそう


cloudFormationで権限のあるバケットにちゃんと出力されてた


今回は取得したリソースからの再作成までは検証してない
再作成確認まではしてないからバグが有るのかは確認できてない

ALB が取得可能リソースになかったのは痛い
またどうしても AWSサービスの後追いになってしまうのでスピート感はしょうがないとはいえ早くない

ただ EC2 はスナップショット/AMI、などバックアップで考えた場合の代替手段がある以外の
今までコマンドで設定値をJSON出力していた系のVPCやセキュリティグループなど一番変更が多いもののバックアップ手段ができたのは嬉しい

あとは早く正式版リリースされて、
IAM とか、マネージド・サービス系を増やしてほしいなー
※あまり積極的に開発されてる感無いしひょっとしたら Terraform とか取り込んで全く別のツールになるかもだけど

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
Share Comments
comments powered by Disqus