#はじめに
既存のAWSリソースをCloudFormationで管理したいケースがあると思います。
そんなユーザのニーズを満たすために、リソースからCloudFormationのテンプレートを作成するFormer2というツールがあります。
今回は手動で作成したEC2インスタンスをFormer2でCloudFormationのテンプレートにしてみました。
**「Former2の使い方を触りだけ知りたい」**という方に役立つ記事になると思います。
#Former2の導入手順
軽く導入手順をまとめました。
##IAMユーザの作成
Former2でAWSリソースを読み込むために、IAMユーザを追加してキーペアを作成します。
##Former2のセットアップ
Setupタブから設定を行います。
まずは使用しているブラウザに対応した拡張機能をインストールします。
作成したキーペア(Access Key IDとSecret Access Key)を入力します。
Enable Related Resources
のトグルをONにして、Scan Again
をクリックします。
これで作成済のAWSリソースを読み込みます。
Compute
タブのEC2を開くと、読み込んだEC2インスタンスを確認することができます。
画面上部のGenerate
ボタンを押すと、作成されたCloudFormationのテンプレートを確認することができます。
テンプレートの中身
AWSTemplateFormatVersion: "2010-09-09"
Metadata:
Generator: "former2"
Description: ""
Resources:
EC2Instance:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-0742b4e673072066f"
InstanceType: "t2.micro"
KeyName: "former2-demo"
AvailabilityZone: !Sub "${AWS::Region}e"
Tenancy: "default"
SubnetId: "subnet-5a713864"
EbsOptimized: false
SecurityGroupIds:
- "sg-06b54882cf1e2f976"
SourceDestCheck: true
BlockDeviceMappings:
-
DeviceName: "/dev/xvda"
Ebs:
Encrypted: true
VolumeSize: 8
SnapshotId: "snap-097c45e6d3c6e1d1b"
VolumeType: "gp2"
DeleteOnTermination: true
UserData: "IyEvYmluL2Jhc2gKZWNobyAiaGVsbG8gd29ybGQi"
IamInstanceProfile: "AmazonEC2RoleforSSM"
Tags:
-
Key: "Environment"
Value: "Dev"
-
Key: "Name"
Value: "Former2 Demo"
HibernationOptions:
Configured: false
EnclaveOptions:
Enabled: false
なんとCloudFormationだけではなく、TerraformやTroposphereのテンプレートも出力することができます。
#おわりに
現場のインフラをこのツールでコード化したいな...
#参考資料