Slide 1

Slide 1 text

EC2の起動テンプレートをAWS CLIで作ってみた 2021/10/28 JAWS-UG 朝会

Slide 2

Slide 2 text

自己紹介 名前 :藤田 直幸 Twitter :@amarelo_n24(コーヒー焙煎人兼エンジニア) Facebook:https://www.facebook.com/naoyuki.fujita.37 取得済AWS認定 :CLF、SAA、DVA 今後の受験予定 :SOA、SCS 好きなAWSサービス:AWS CLI、AWS CloudShell、Cloud9

Slide 3

Slide 3 text

2021/10/13 に開催されたJAWS-UG金沢支部×初心者支部 コラボ イベントAmazon EC2 Auto Scalingスケーリング基礎編ハンズオン の復習をAWS CLIでやってみました。 イベントページ https://jawsug-kanazawa.doorkeeper.jp/events/128283 AWS Hands-on for Beginners Amazon EC2 Auto Scalingスケーリング基礎編ハンズオン手順書 https://zenn.dev/jawsug_kanazawa/books/auto-scaling-2021-confirmation

Slide 4

Slide 4 text

Auto Scalingの話をしようと思っていましたが、 起動テンプレートの作成で気づきがありましたので、 その話をしようと思います。

Slide 5

Slide 5 text

1.起動テンプレートとは 2.起動テンプレートの作成 3.まとめ 話すこと

Slide 6

Slide 6 text

1. 起動テンプレートとは

Slide 7

Slide 7 text

・EC2インスタンスを起動するための設定情報。 - AMI、インスタンスタイプ、セキュリティグループ等 ・Auto Scalingグループ作成時にEC2インスタンス設定に使える。 ・1つ以上のバージョンを作成できる。 - 既存の起動テンプレートを再利用して、別バージョンを作成できる。 - 不要になったバージョンは削除できる。 起動テンプレートとは(簡単に)

Slide 8

Slide 8 text

2.起動テンプレートの作成

Slide 9

Slide 9 text

ユーザーデータのテキストファイルを作成 起動テンプレートに登録するユーザーデータの作成

Slide 10

Slide 10 text

CLIでユーザーデータを読み込ませる場合、base64エンコードが必要。 ユーザーデータのbase64エンコード 普通にエンコードすると改行が入るため、 sed –z ‘s/¥n//g’ で 改行を取り除く必要がある。 やらないとエラーになるため、ここで少しハマった。

Slide 11

Slide 11 text

そもそもなぜGUIではユーザーデータ入力できるのに、 CLIではbase64エンコードが必要?? ユーザーデータのbase64エンコード ここにユーザーデータbase64エンコード値を 入力できるということは、 エンコードしていないデータを入れた場合は、 base64エンコードされてテンプレート作成さ れている?

Slide 12

Slide 12 text

起動テンプレート設定JSONファイルの作成 SecurityGroupIdsの値は、Stringでは なくリスト。[](角カッコ)で囲う必要がある。 これを見落としていてハマった。

Slide 13

Slide 13 text

EC2コマンドのサブコマンド[create-launch-template]で作成。 JSON形式で結果が表示されれば成功。 起動テンプレート作成

Slide 14

Slide 14 text

GUIで起動テンプレートとユーザーデータ設定確認 やはり裏ではbase64エンコード 情報を持っていて、画面表示時に デコードしている?

Slide 15

Slide 15 text

起動テンプレートの詳細は、サブコマンド[describe-launch-templates]で確認。 CLIで起動テンプレートの詳細を確認

Slide 16

Slide 16 text

サブコマンド[describe-launch-template-versions]で確認する。 CLIで起動テンプレートのバージョンの確認

Slide 17

Slide 17 text

ユーザーデータは、base64エンコードされたテキストデータで保存されていた。 やはりGUI画面表示時にデコード表示している(と思われる)。 CLIで起動テンプレートのバージョンの確認

Slide 18

Slide 18 text

3.まとめ

Slide 19

Slide 19 text

・起動テンプレートの作成をAWS CLIでやってみました。 ・ユーザーデータをbase64エンコードして作成することに 疑問だったけど、GUIとCLI両方で確認して納得! ・ハンズオンの復習はGUIとCLI両方でやった方が、仕組みが 良くわかる! ・Auto Scalingそのもののこと、今回のハンズオンをCLIで実行 した手順については、LT登壇かブログ執筆したい! まとめ

Slide 20

Slide 20 text

AWS Hands-on for Beginners Amazon EC2 Auto Scalingスケーリング基礎編ハンズオン手順書 https://zenn.dev/jawsug_kanazawa/books/auto-scaling-2021-confirmation AWS Hands-on for Beginners Amazon EC2 Auto Scaling スケーリング基礎編 https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Auto_Scaling-2021-reg- event.html?trk=aws_introduction_page Amazon EC2 Auto Scaling (ユーザーガイド) https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/what-is-amazon-ec2-auto- scaling.html 起動テンプレート(ユーザーガイド) https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/LaunchTemplates.html AWS CLI Command Reference https://docs.aws.amazon.com/cli/latest/reference/autoscaling/index.html 参考文献

Slide 21

Slide 21 text

No content