0
0

More than 3 years have passed since last update.

Former2で既存EC2のCloudFormationテンプレートを作成してみた

Posted at

はじめに

既存のAWSリソースをCloudFormationで管理したいケースがあると思います。
そんなユーザのニーズを満たすために、リソースからCloudFormationのテンプレートを作成するFormer2というツールがあります。

今回は手動で作成したEC2インスタンスをFormer2でCloudFormationのテンプレートにしてみました。

「Former2の使い方を触りだけ知りたい」という方に役立つ記事になると思います。

Former2の導入手順

軽く導入手順をまとめました。

IAMユーザの作成

Former2でAWSリソースを読み込むために、IAMユーザを追加してキーペアを作成します。
スクリーンショット 2021-04-04 22.21.43.png

ReadOnlyAccessのポリシーをアタッチします。
スクリーンショット 2021-04-04 22.24.06.png

キーペアが作成されます。
スクリーンショット 2021-04-04 22.24.56.png

Former2のセットアップ

Setupタブから設定を行います。

まずは使用しているブラウザに対応した拡張機能をインストールします。
スクリーンショット 2021-04-04 23.06.37.png

作成したキーペア(Access Key IDとSecret Access Key)を入力します。
スクリーンショット 2021-04-04 22.26.30.png

Enable Related ResourcesのトグルをONにして、Scan Againをクリックします。
これで作成済のAWSリソースを読み込みます。
スクリーンショット 2021-04-04 22.52.57.png

ComputeタブのEC2を開くと、読み込んだEC2インスタンスを確認することができます。
スクリーンショット 2021-04-04 22.54.15.png

Add Selectedを押します。
スクリーンショット 2021-04-04 22.54.45.png

画面上部のGenerateボタンを押すと、作成されたCloudFormationのテンプレートを確認することができます。
スクリーンショット 2021-04-04 22.57.49.png

テンプレートの中身

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のテンプレートも出力することができます。

おわりに

現場のインフラをこのツールでコード化したいな...

参考資料

0
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
0
0