ヤマムギ

growing hard days.

*

「JAWS-UG DE&I AWS re:Invent 2024 recap サーバーレス ハンズオン」でサポーターしてきました

   

JAWS-UG DE&I開催の「AWS re:Invent 2024 recap サーバーレス ハンズオン」にハンズオンお手伝いとして参加しました。

いつもすてきな会場を提供いただいているアールスリーインスティテュートさんのgusuku Ashibinaa OSAKA!
ありがとうございます!

お土産コーナーにはAWS re:Invent2024で配布されていたステッカーやお菓子などなどがありました。

JAWS-UG大阪やDE&Iももう10周年とのことです。

Serverless Data Processing with AWS Lambda and Apache Kafka解説

配車ならぬ配ユニコーンサービスみたいなのをMSK, Lambda, AppSyncで作成するハンズオン。
最初にAWS下川さんから各サービスの解説がありました。
ありがたい!

型指定されたスキーマにクエリーを投げるのがGraphQL。
クライアント側が取得したいフィールドをリクエストできるなどが嬉しいポイント。
ワークショップではSubscriptionとMutationを使ってDynamoDBテーブルのアイテムに変化があればイベントを実行する。

KafkaはREST APIでアクセス可能で、イベントのバスとしても、データストアとしても使えるOSSのストリーミング。
MSK(Amazon Managed Streaming for Apache Kafka)はKafkaのマネージドサービス。
Serverlessで容量性能の見積もりなく動的にスケールできる。

KafkaのパーティションはKinesisのシャード。
パーティションキーがハッシュされてパーティションに分かれて。パーティションの中で順序性が保たれる。
KafkaのオフセットがKinesisのシーケンス番号。

Lambda Event Source MappingsでKafka、Kinesis、SQS、DynamoDBストリームなどを設定すると、ポーラーは実装しなくてもLambdaサービスがやってくれる。

Serverless Data Processing with AWS Lambda and Apache Kafkaハンズオン

環境にリソースがすでに作成されていました。

VPC

MSKとVS Code Server用のEC2インスタンスが起動するVPCです。

MSKは複数のプライベートサブネットで起動していてNATゲートウェイへのルートがあり、ここからインターネットへアウトバウンド通信が可能です。
MSKに設定されているセキュリティグループのインバウンドはKafkaへの通信のために9098ポートへすべての送信元からの通信が可能で、アウトバウンドはすべてのポートと送信先への通信が可能です。

VS Code Serverはパブリックサブネットで起動していて、セキュリティグループのインバウンドは80ポートですべての送信元から通信可能で、アウトバウンドはすべてのポートと送信先への通信が可能です。
フロントエンドのデプロイやMSKへのプロデューサーコマンドはVS Code Serverから実行します。

MSK(Amazon Managed Streaming for Apache Kafka)

MSK Serverlessのクラスターが作成されていました。

AppSync

AppSyncでGraphQL APIが作成されていました。

Lambda関数

すでに作成されていたLambda関数に次のコードと環境変数API_CHANNELの修正をしました。

MSKから受け取ったrecord.itemsからvalueをGraphQL APIにPOSTされています。

Lambda関数自体はVPC設定ではありません。
イベントトリガーにMSKを設定すると、ENIが追加されます。
ENIはMSKクラスターが配置されているサブネットに作成されたので3つのAZのサブネットに作成されました。

複数のトリガーを設定するとその数だけENIも作成されます。

少し気になったのは試しにイベントトリガーを削除してもENIは削除されずに、ENIを手動で削除やデタッチしようとするとアタッチされているLambdaがあるのでエラーとなりますが、そのLambdaが内部のサービスのようで操作できません。
CLIとかで操作したらできるかもですが、今回はコンソールでしか試していません。

VS Code Server

フロントエンドのデプロイやMSKへのプロデューサーコマンドを実行しました。
今後のハンズオンはCloud9からVS Code Serverが主流になりそうですね。

デプロイしたフロントエンドアプリケーションにブラウザでアクセスすると、プロデューサーコマンドで送信されているであろうランダムな位置情報をもとにユニコーンの移動が地図上に現れました。

MSK、AppSyncのユースケースを学べたハンズオンでした。

LTコーナー

市野さんのIAM Identity Center前提サービス多くない?のLT!
サポートに従事されているからこその視点なんですね。

あべたくさんからDiscordのイベント投稿を自動化するLT!
未完成ではあってもアウトプットする!大切ですね。

泉さんのBedrockエージェントのLT!
チュートリアルの内容を生成AIに相談して実務に沿ったものにしてやってみられた。
ログ分析アクションと対応アクションを持ってて、必要に応じてEC2インスタンス再起動とかもしてくれる。
リアルな感じですごくいいですね。
ワークショップ化したい!

fumi9kenさんのスタッフエンジニアなどキャリアパスについてのLT!
いろんなキャリアが必要に応じてあるものなんですね。

楽しく各サービスを学べました!!
ありがとうございました!


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, event, study , , ,

ad

ad

  関連記事

Java SE 7 Silver対策勉強をしながらメモ 2015/1/30

本日は配列です。 いつものごとくマークダウンで記載したのでそのままJetpack …

サイトのHTTPステータスを5分おきにチェックして200以外ならSlackに通知する

すいません。ここ最近出費が重なりまして、某監視サービスのプランを有料プランからF …

「GitLab Meetup Tokyo #7: 新年度応援&GitLab 11.0」にSNS & ブログ枠で参加しました

GitLabのミートアップがあるのか!さすが大東京! GitLabのもとユーザと …

RDSインスタンスのストレージをgp2からgp3に変更しました

2022/11/9にRDSでgp3ボリュームが使用できるようになりました。 Am …

JAWS FESTA 2017 Reverse X re:Birth

JAWS FESTA 2017 中四国 今年はブログタイトル「JAWS FEST …

AWS AmplifyでTodoアプリを作るハンズオンをやってみました

【お手軽ハンズオンで AWS を学ぶ】AWS Amplify で Todo アプ …

Amazon Timestreamのサンプルデータベースを起動しました

マネジメントコンソールTimestreamにアクセスして、[データベースを作成] …

東大阪メーカーズ・ミートアップ Vol.2に行ってきました

今回初参加で行ってきました。 東大阪メーカーズ・ミートアップとは 「主に東大阪の …

百聞は一見にしかず!AWSセルフペースラボの無料ラボ!

※2019年5月12日現在に試してみた記録です。 AWSセルフペースラボとは A …

EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認

きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …