Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS歴1年の初心者がAWS Console-to-Codeを使ってみた話

せのお
December 21, 2023

AWS歴1年の初心者がAWS Console-to-Codeを使ってみた話

AWS re:Invent 2023に現地参加してないけど、新しいサービスを使ってみました。

せのお

December 21, 2023
Tweet

More Decks by せのお

Other Decks in Technology

Transcript

  1. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only AWS歴1年の初心者が AWS Console-to-Codeを使ってみた話 2023年12月12日 NECソリューションイノベータ株式会社 妹尾歩美
  2. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 2 自己紹介 妹尾 歩美 (Ayumi Senoo) ◆ NECソリューションイノベータ株式会社 社会人2年目 AWS歴1年 AWSリセールの販促支援をしています ◆ 好きなAWSサービス:Lambda 一番AWSを使っていたのは新人研修のハッカソン 一番使っていたサービスがLambda
  3. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 3 AWS re:Inventで発表されたサービスを使ってみる ◆ まずはサービス選び 発表されたサービスを順番に確認 自分が理解できそうなサービスを探す ◆ AWS Console-to-Codeを発見 EC2は立ち上げられるが、CloudFormationを使ったことない自分にぴったり! CloudFormationのテンプレートの書き方を コンソール操作と繋げながら学習できることに期待
  4. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 4 AWS Console-to-Code (以下略:Console-to-Code) ◆ コンソールで実行されたアクションを記録し、再利用可能なコードに変化させる ◆ 以下のコードへの変換に対応 CDK - Java/Python/TypeScript CloudFormation - JSON/YAML AWS CLI ◆ 現在はEC2、そしてバージニア北部リージョン(us-east-1)のみ対応 現時点での情報はあまりない。 習うより慣れよ。まずやってみよう。
  5. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 5 よし、Console-to-Code使ってみよう ◆ まずはポチポチとEC2を立ち上げる。 WordPressがインストールされたWebサーバを想定。 問題なく成功。
  6. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 6 さあ、Console-to-Codeの出番 失敗
  7. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 7 目標はConsole-to-Codeを使ってみること ◆ 余計な情報は削ぎ落そう。WordPressは諦める。 ユーザーデータ削除して再チャレンジ。 成功
  8. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 8 本当に使えるかどうかの保証はない 実際に使ってみる 失敗×6回
  9. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 10 生成されたコードは修正が必要 Before { "Resources": { "EC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0fa1ca9559f1892ec", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "AssociatePublicIpAddress": true, "DeviceIndex": 0, "SubnetId": "subnet-07759d01b6da89c28", "GroupSet": ["sg-026b62d8ca3f59b73"] } ], "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Name", "Value": "handson-webserver" } ] } ], "MetadataOptions": { "HttpTokens": "required", "HttpEndpoint": "enabled", "HttpPutResponseHopLimit": 2 }, "PrivateDnsNameOptions": { "HostnameType": "ip-name", "EnableResourceNameDnsARecord": false, "EnableResourceNameDnsAAAARecord": false } } } } } After { "Resources": { "EC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0fa1ca9559f1892ec", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "SubnetId": "subnet-07759d01b6da89c28", "AssociatePublicIpAddress": true, "DeviceIndex": 0 } ], "PrivateDnsNameOptions": { "HostnameType": "ip-name", "EnableResourceNameDnsARecord": false, "EnableResourceNameDnsAAAARecord": false } } } } } スタック作成時にエラーが出ていた箇所は全削除で対応 ※コードを確認したところ、EC2の立ち上げに必須の情報には見えなかったため
  10. © NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal

    Use Only 11 まとめ ◆ CloudFormationの知識は間違いなく必要。 ◆ CloudFormationのテンプレートを作成できたという成功体験になった。 ◆ 今後のアップデート次第で、もっと使いやすくなりそう。 みなさんもぜひConsole-to-Codeを使って、 フィードバックをお願いします! 生成されたコード の下にあります。