ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

re:Invent 2022 の Workshop セッション NET308 で感じた CloudWatch ダッシュボードの可能性

この記事は AWS Community Builders Advent Calendar 2022 7 日目の記事です。

※AWS Community Buildersについてはこちらをご覧ください。

aws.amazon.com

こんにちは、運用管理サービスのマネージャーを担当している尾谷です。
プライベートでは JAWS-UG 初心者支部に所属しておりまして、ハンズオン資料を作ったりしています。

今日は、re:Invent 2022 の Workshop セッション NET308 で CloudWatch ダッシュボードに可能性を感じたというエピソードを投稿したいと思います。

re:Invent 2022 の Workshop セッションの特徴

僕は re:Invent 2022 で 5 つの Workshop セッションを受講しました。

2019 年は資料が恒久的な URL で提供されたのですが、2022 では、そのほとんどが Workshop Studio というサイトにアクセスして、会場で公開された招待コードを入力して制限時間だけ環境を触れるような形式で開催されました。

catalog.workshops.aws

これは非常に満足度が下がる仕様変更でした。
ただ、制限時間内にやりきらないといけない緊迫感と、得た知識を持ち帰って共有したいという使命感から、どの Workshop も記憶に残ったので、結果的には良かったのかも知れません。

※ 唯一、以下の Workshop は、AWS Wavelength のハンズオンでローカルリージョンを開放する必要性から、25USD のクーポンが配布されて、自分の AWS アカウントを使ってハンズオンを進めました。

HYB303 Architecting and delivering low-latency applications at the edge

In this workshop, learn how to architect, design, build, and deploy applications at the edge using AWS hybrid cloud and edge computing services. Explore architecture best practices for deploying a high-bandwidth media streaming application to AWS Wavelength Zones on a 5G network. Learn the steps for deploying a real-time online game closer to your end users in large metro areas using AWS Local Zones. Explore the new challenges associated with edge computing, such as the need for location services, and use edge discovery services to identify the optimal location for client devices to connect to. You must bring your laptop to participate.

各 Workshop は多種多様なコンテンツが展開されており、CloudFormation を使って環境をデプロイしていくパターンや、既にデプロイされている環境をベストプラクティスに修正していくパターン、ハンズオン環境下で発生している問題を解決していくパターンなど、作成されたエンジニアの個性とディレクション力の差を感じました。

今日はそんな個性的な Workshop の中でも、特に興味深かった仕掛けがされたセッションをご紹介したいと思います。

セッション: NET308 セキュアな VPC の構築とネットワークの統合

NET308 Building secure VPCs and integrating them into your network

In this workshop, learn from practical guidance for designing and building secure Amazon VPCs. Using an interactive scenario-based approach, learn about (or refresh your knowledge of) Amazon VPC features like subnets, security groups, routing, and flow logs. Then see how to integrate your Amazon VPC with AWS services such AWS Network Firewall, Amazon Route 53 Resolver DNS Firewall, AWS Systems Manager, Traffic Mirroring, AWS WAF, AWS PrivateLink, and more. All examples follow best practices for Amazon VPC security, design, and management. You must bring your laptop to participate.

このセッションは手順書がかなりユニークな形で作成されていました。
利用規約にコピー、インポート、エクスポートを行なって派生物を作成するのは禁止。と記載がありましたので、記憶を頼りにラフ絵にて再現してみました。

中央に進行手順のコンテンツがありまして、左側のメニューに配置されたステップで手順を切り替えできました。
また、右下には環境が問題なく修正できたか判定するボタンが仕込んでありました。

ぱっと見、そんなに珍しくないように感じると思うのですが、実はこれ CloudWatch ダッシュボードで作られていたんです!
しかも、右下の判定ボタンは Lambda が設定されていおり、ボタンをクリックすると環境が正しく設定できているかチェックをする判定ツールも実装されていました。
判定ツールは、AWS アカウント内に手順をデプロイするからこそ実装できる機能で非常に可能性を感じました。

NET308 の手順を一部再現してみました!

かなりの手間暇がかけられた手順に感動したのと、CloudWatch ダッシュボードの可能性を感じたので、手順を再現してみることにしました。

まず、CloudWatch ダッシュボードにアクセスします。

https://ap-northeast-1.console.aws.amazon.com/cloudwatch/home?region=ap-northeast-1#dashboards:

[ ダッシュボード作成 ] ボタンをクリックすると、ウィジェットを追加するウィザードが表示されます。

直感で、NET308 のコンテンツ部分は「テキストウィジェット」を使って作られていて、チェックツールのボタンは「カスタムウィジェット」を使って作られているとイメージができました。

テキストウィジェット

テキストウィジェットはマークダウン形式で記載します。
左側の枠に入力すると、右側にプレビューが表示される仕様です。

ウィジェットを追加すると以下のように自動配置されます。右下をドラッグすることでサイズを変更できます。

操作方法は QuickSight に似ています。

カスタムウィジェット

カスタムウィジェットをクリックすると、更に別のウィザードが開きまして、

ドロップダウンメニューから JavaScript と Python からサンプルコードが選択でき、

選択すると、別タブで CloudFormation スタックのクイック作成が開きました。
これを実行すると Lambda 関数がデプロイされました。

非常にざっくりしたコードで恐縮ですが、Lambda に以下のような判定式を入れてみました。

CloudWatch ダッシュボードに戻ると、画像右下のように判定ができるようになりました!

まさにこんな感じの手順書でした。
自分の中の記憶はかなり正確に再現ができていて満足をしておりますが、皆様には伝わっておりますでしょうか。

以下、ツールの動作をご覧いただきまして、よりイメージが伝わればと思います。

ツールの動作チェック

まずは「front-web」という名前のインスタンスを「t3.medium」でデプロイします。

はい。ツールは期待通り「残念!」判定になりました。

そこで、インスタンスファミリーを「t3.nano」に変更してみます。

「おめでとう!」判定に切り替わりました。

まとめ

以上が、僕が re:Invent 2022 で受講した Workshop で CloudWatch ダッシュボードの可能性を感じたエピソードと記憶の再現でした。

初心者支部で開催する、次回以降のハンズオン資料作成にも活用できそうなので企画してみたいと思います。

もしご興味を持たれて CloudWatch ダッシュボードを試される方は料金にご注意ください。
CloudWatch ダッシュボードは、毎月最大 50 メトリクスのダッシュボードが 3 個まで無料です。
これを超えると 3 USD/個 かかります。

最後に宣伝させてください!

JAWS-UG 初心者支部では、2022/12/15(木) 19:00 〜 21:30 にて「LambdaのCI/CDハンズオン」を開催します。

  • Lambda関数は作ったものの、ソースの更新はマネジメントコンソール上で実施していてCI/CDで更新したいな~って方!!
  • Lambdaでアプリ作成をしたことがある方、していきたい方
  • CI/CDパイプラインの考え方がなんとなくわかっている方

をターゲットに絶賛手順を作成中です。
まずやってみてから理解したいという方でも構いませんので、是非ご参加ください!

jawsug-bgnr.connpass.com

以上、最後までお読みくださりありがとうございました。