2022年8月9日にJAWS-UG コンテナ支部で「初心者大歓迎LT大会」が開催されました。
初心者大歓迎!と言いつつ非常にレベルの高いLTばかりでしたので、各LTを簡単にまとめたいと思います。
イベント概要
オフライン&オンラインのハイブリット開催。現地は50名ほど、リモート参加の方が100名ほど参加されていたようです。
LT内容
これ以降、→以下は私のコメントです。
LT01 EKS AnywhereとIAM Roles Anywhereを組み合わせてみた
株式会社ビックツリーテクノロジー&コンサルティング 竹中さん
EKS Anyehereでローカルに構築したクラスター上のPodから、IAM Role Anywhereによる認可を行う。
EKS Anywhereはコマンド一発でクラスタ作成!
IAM Role Anywhereはプライベート認証局を作って証明書発行→プロファイル作成の2段階。
アプリケーション設定をしたあとにDynamoDBアクセスを試すと無事アクセスできた!
オンプレからDynamoDB、S3の認可のためにIAMユーザを作らなくてよい。
→確かにオンプレからAWSリソースにアクセスしようとするとIAMユーザを作らないといけないですし、アクセスキーを払い出すのもちょっと微妙ですよね。IAM Role Anywhereのメリットがよく分かりました!一方EKS Anywhereを使うユースケースが個人的にはまだ腹落ちしていない・・・
LT02 ECS Fargate+Mackerelにおける監視費用を削減するまでの話
株式会社ヌーラボ 中野さん
ECS Fargateの監視にMackerlとCloudWatch Container Insightsを使っているが、Mackerlの費用が上がっているようなので削減するまでのお話。
Mackerlの30個を超えるメトリクスを管理すると、2台分の費用が計上される仕組み。
mackerel-container-agentのyamlファイルにignoreContainerを追加することで、監視対象のコンテナを絞って費用削減できた!
→運用系の知識が足りずMackerlをはじめて知りました。「安定稼働しているので監視対象から外す」という判断をされたそうですが、実際この監視を止める判断というのが難しいですね。
LT03 Amazon ECS on EC2でAuto Scalingやってみる!
ECS on EC2のスケーリングは「タスク」と「インスタンス」のスケーリングが必要。
前者は「タスクスケーリングポリシー」、後者は「キャパシティープロバイダー」が制御を担う。
とくにキャパシティプロバイダーはCapacityProviderReservation(CPR)をターゲット値(=100)に近づけるよう自動スケールしている。CPR=必要なインスタンス数÷現在のインスタンス数×100。
→2種類のスケール、とても分かり易かったです。両方を上手くスケールさせないといけないので難しいですね。そこを解消する1つの方法がFargateなわけですが、後述のLTでも出てくるようにコンテナ on EC2を使いたい要件もありますしね。
LT04 ECS FargateでもSystemCallを検査したい
GOODWITH LLT., 天地さん ↓当日の資料はこちら
Fargate環境でコンテナに侵入されると、環境保全して解析が難しい。EC2ならsnapshotを取得してフォレンジック環境を作成できるが、FargateだとVM領域はAWS管理範囲なので同じことが出来ない。
そこでシステムコールをキャプチャして検査するが、商用サービスを使える予算が無い時にOSS(Falco+pdig)で対応!
→追跡性を考えるとFagateよりもコンテナ on EC2の方に強みがあるんですね。自分で監視機能を作ってしまうあたりに強々エンジニアを感じました。縦にスライドしていく資料がかっこよかったです。
LT05 AWS Hands-on for BeginnersのECSハンズオンをAWS CLIでやってみる
アイレット株式会社 鈴木さん
Hands-on for BeginnersでECSハンズオンが2022年6月に公開された。
ハンズオンに沿って操作すると「できた」感はあるが、CloudFormationで自動作成されるリソースが何かわからない。そこでCLIを使って自分でやってみた。
すべてやってみるとエラーに。ロググループの権限エラーだったが、マネコンからだとロググループが自動作成されるが、CLIだとそうではないと判明。
→ハンズオンをCLIでやってみるのはとてもよさそう!マネコンやCFnでリソースが自動生成されると分かった風になっちゃいますよね。今度自分もやってみます!!
LT06 SAM×Dockerでサーバーレス開発が超捗った話
チームラボ株式会社 ゆっきーさん
学生団体のアプリを今月リリース予定。サーバ運用が出来る人材がいないのでサーバーレスで実装。
元々Lambdaのデプロイ以外のAPI Gatewayなどがすべて手動設定で、Blue/Greenデプロイと非常に相性悪いので、SAMを試してみた。
ローカルでAPIの動作確認ができたり、手動設定部分が自動化された捗った!
→SAMいいですねー。実運用の中で課題にぶつかって、その解決策として新しい方式を採用すると学びも大きいですよね。それで満足せずにこれからの改善ポイントを考えているところもまた素晴らしい。
LT07 ECS Execを使ったECSのトラブルシューティング
アイレット株式会社 堂原さん
コンテナでインフラ構築すると、ECS外のサービスにアクセスしたり、AWS CLIを実行する等クラウドならでは要件があることに気付いた。エラーが発生した時にコンテナの外からだと原因切り分けが難しい。
ECSでもdocker execと同じことが出来る!それがECS Exec。
ツールインストールが不要で、SSMセッションマネージャをもちいているので特定ポートを開ける必要もない。出力結果をCloudWatch Logsに連携でき、IAMベースで権限管理が可能。
ECS Execを有効化するには幾つか設定が必要で何かしらハマりやすい。Amazon ECS ExecチェッカーというツールがGitHubで公開されているので便利。
→ECS Execって裏ではSSMセッションマネージャが動いているんですね。面白い仕組み。ECS Execチェッカーよさそう、こういうツールを作れる人も活用できる人もすばらしい。
まとめ
コンテナ初心者大歓迎、ということで気軽に参加したらレベルが高くてびっくりしました。自分自身業務でコンテナを使うシーンは増えてきていますが、まだ自分で手を動かして設計・開発する役割を担えていないので、今日の刺激をきっかけにコンテナにもアンテナを立てていきたいと思います!
オフライン参加でしたが、現地の雰囲気もよさそうだったなー