BETA

【俺的Advent Calendar 2018(6日目)】自分の操作した結果をCloudFormaitonやTerraformのコードに変換してくれるエクステンション!?

投稿日:2019-01-02
最終更新:2019-01-02

タダです。

昨日ネットサーフィンしてましたらとても衝撃的な情報をキャッチしました。
https://twitter.com/julsimon/status/1075840971965906945
https://dev.classmethod.jp/cloud/aws/console-recorder-for-aws/

概要

自分がAWSマネジメントコンソールで行なった操作をCloudFormationや、Terraformなどのコードに起こしてくれる。。なんて素敵なツール。

その名も『Console Recorder for AWS』です。

ChromeとFirefoxのエクステンションを使って利用できます。

https://github.com/iann0036/AWSConsoleRecorder

私は、Chromeを普段使いしているので、Chromeに入れてみました。

https://chrome.google.com/webstore/detail/console-recorder-for-aws/ganlhgooidfbijjidcpkeaohjnkeicba

試してみた

入れてみたら使いたくなるので、アイコンをクリックして、Start Recodingを押して、マネコンでEC2を作ってみました。

その結果出力されたのが以下のCloudFormationのコードです。

AWSTemplateFormatVersion: "2010-09-09"  
Metadata:  
    Generator: "console-recorder"  
Description: ""  
Resources:  
    ec2e42ad93:  
        Type: "AWS::EC2::Instance"  
        Properties:  
            ImageId: "ami-0a2de1c3b415889d2"  
            KeyName: "default-key"  
            InstanceType: "t2.micro"  
            Tenancy: "default"  
            Monitoring: "false"  
            DisableApiTermination: "false"  
            InstanceInitiatedShutdownBehavior: "stop"  
            CreditSpecification:   
                CPUCredits: "standard"  
            Tags:   
              -   
                ResourceType: "instance"  
                Tag:   
                  -   
                    Key: "Name"  
                    Value: "recoding-test"  
              -   
                ResourceType: "volume"  
                Tag:   
                  -   
                    Key: "Name"  
                    Value: "recoding-test"  
            EbsOptimized: "false"  
            BlockDeviceMappings:   
              -   
                DeviceName: "/dev/xvda"  
                Ebs:   
                    VolumeSize: 8  
                    DeleteOnTermination: "true"  
                    VolumeType: "gp2"

ちなみにこのほか、以下のコードを出力してくれます。

  • AWS CLI
  • Boto3
  • JavaScript
  • Terraform
  • Go SDK
  • CDK

テンプレートを使ってみる

気になるのは、全く同じものをCloudFormationテンプレートで作れるかです。

残念ながらこけましたw
メッセージを見ると、タグの設定の箇所に誤りがあるようです。

            Tags:   
              -   
                ResourceType: "instance"  
                Tag:   
                  -   
                    Key: "Name"  
                    Value: "recoding-test"  
              -   
                ResourceType: "volume"  
                Tag:   
                  -   
                    Key: "Name"  
                    Value: "recoding-test"

EC2のTagsの設定に↓の設定の記載がないからコケているようです。Tagsの箇所をコメントアウトしたら成功します。

TagsでResourceTypeを指定するのは、EC2LaunchTemplateでは可能なので、こちらぽい?

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html

EC2 LauchTemplate版に直してみて流せるかは後ほど追記します。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@tada_infraの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!