Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

© 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)のみ対応 現時点での情報はあまりない。 習うより慣れよ。まずやってみよう。

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

© NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal Use Only 9 最後は成功 成功

Slide 10

Slide 10 text

© 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の立ち上げに必須の情報には見えなかったため

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

© NEC Solution Innovators, Ltd. 2022 NEC Solution Innovators Internal Use Only

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content