2021/10/28 JAWS-UG朝会 #26 登壇資料
EC2の起動テンプレートをAWS CLIで作ってみた2021/10/28JAWS-UG 朝会
View Slide
自己紹介名前 :藤田 直幸Twitter :@amarelo_n24(コーヒー焙煎人兼エンジニア)Facebook:https://www.facebook.com/naoyuki.fujita.37取得済AWS認定 :CLF、SAA、DVA今後の受験予定 :SOA、SCS好きなAWSサービス:AWS CLI、AWS CloudShell、Cloud9
2021/10/13 に開催されたJAWS-UG金沢支部×初心者支部 コラボイベントAmazon EC2 Auto Scalingスケーリング基礎編ハンズオンの復習をAWS CLIでやってみました。イベントページhttps://jawsug-kanazawa.doorkeeper.jp/events/128283AWS Hands-on for Beginners Amazon EC2 Auto Scalingスケーリング基礎編ハンズオン手順書https://zenn.dev/jawsug_kanazawa/books/auto-scaling-2021-confirmation
Auto Scalingの話をしようと思っていましたが、起動テンプレートの作成で気づきがありましたので、その話をしようと思います。
1.起動テンプレートとは2.起動テンプレートの作成3.まとめ話すこと
1. 起動テンプレートとは
・EC2インスタンスを起動するための設定情報。- AMI、インスタンスタイプ、セキュリティグループ等・Auto Scalingグループ作成時にEC2インスタンス設定に使える。・1つ以上のバージョンを作成できる。- 既存の起動テンプレートを再利用して、別バージョンを作成できる。- 不要になったバージョンは削除できる。起動テンプレートとは(簡単に)
2.起動テンプレートの作成
ユーザーデータのテキストファイルを作成起動テンプレートに登録するユーザーデータの作成
CLIでユーザーデータを読み込ませる場合、base64エンコードが必要。ユーザーデータのbase64エンコード普通にエンコードすると改行が入るため、sed –z ‘s/¥n//g’ で改行を取り除く必要がある。やらないとエラーになるため、ここで少しハマった。
そもそもなぜGUIではユーザーデータ入力できるのに、CLIではbase64エンコードが必要??ユーザーデータのbase64エンコードここにユーザーデータbase64エンコード値を入力できるということは、エンコードしていないデータを入れた場合は、base64エンコードされてテンプレート作成されている?
起動テンプレート設定JSONファイルの作成SecurityGroupIdsの値は、Stringではなくリスト。[](角カッコ)で囲う必要がある。これを見落としていてハマった。
EC2コマンドのサブコマンド[create-launch-template]で作成。JSON形式で結果が表示されれば成功。起動テンプレート作成
GUIで起動テンプレートとユーザーデータ設定確認やはり裏ではbase64エンコード情報を持っていて、画面表示時にデコードしている?
起動テンプレートの詳細は、サブコマンド[describe-launch-templates]で確認。CLIで起動テンプレートの詳細を確認
サブコマンド[describe-launch-template-versions]で確認する。CLIで起動テンプレートのバージョンの確認
ユーザーデータは、base64エンコードされたテキストデータで保存されていた。やはりGUI画面表示時にデコード表示している(と思われる)。CLIで起動テンプレートのバージョンの確認
3.まとめ
・起動テンプレートの作成をAWS CLIでやってみました。・ユーザーデータをbase64エンコードして作成することに疑問だったけど、GUIとCLI両方で確認して納得!・ハンズオンの復習はGUIとCLI両方でやった方が、仕組みが良くわかる!・Auto Scalingそのもののこと、今回のハンズオンをCLIで実行した手順については、LT登壇かブログ執筆したい!まとめ
AWS Hands-on for Beginners Amazon EC2 Auto Scalingスケーリング基礎編ハンズオン手順書https://zenn.dev/jawsug_kanazawa/books/auto-scaling-2021-confirmationAWS 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_pageAmazon 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.htmlAWS CLI Command Referencehttps://docs.aws.amazon.com/cli/latest/reference/autoscaling/index.html参考文献