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

EC2の起動テンプレートをAWSCLIで作ってみた

Dc20c893cac0daddd607dfc9a5855d27?s=47 amarelo_n24
October 28, 2021

 EC2の起動テンプレートをAWSCLIで作ってみた

2021/10/28 JAWS-UG朝会 #26 登壇資料

Dc20c893cac0daddd607dfc9a5855d27?s=128

amarelo_n24

October 28, 2021
Tweet

More Decks by amarelo_n24

Other Decks in Education

Transcript

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

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

    :SOA、SCS 好きなAWSサービス:AWS CLI、AWS CloudShell、Cloud9
  3. 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
  4. Auto Scalingの話をしようと思っていましたが、 起動テンプレートの作成で気づきがありましたので、 その話をしようと思います。

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

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

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

    起動テンプレートとは(簡単に)
  8. 2.起動テンプレートの作成

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

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

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

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

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

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

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

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

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

  18. 3.まとめ

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

  20. 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 参考文献
  21. None