yuj1osm's tech blog

クラウドやセキュリティなど

re:Invent 2023のハンズオンセッション参加レポート

ラスベガスで開催されたAWS re:Invent 2023のハンズオンセッションについてご紹介します。

ハンズオンセッションとは

re:Inventでは多くのハンズオンセッションが用意されており、AWSサービスを応用した開発や最新機能をいち早く試せるので、手を動かして学びたい人にとって非常におすすめです。
ハンズオンは「AWS Workshop Studio」を利用し、一時的なAWSアカウントと手順書で行うので、料金の心配はなく気軽に参加できます。

ハンズオンセッションにはいくつか種類があり、以下のようなものがあります。

Builders' Session

少人数の参加者にAWSの技術者がつき、直接解説を受けることができます。

Workshop

大人数の参加者がおり、前半に説明があり、後半に各自でハンズオン形式で進めていきます。

Game Day

その場に居合わせた参加者3~4名でチームを組み、与えられた課題を解いていく競技形式です。

ハンズオンセッションのご紹介

今回体験したハンズオンをいくつかご紹介します。

SEC303: Container thread detection with AWS security services

Builders' Session形式のハンズオンセッションです。
AWSセキュリティサービスを使って、コンテナの脅威を検出したり、修正をデプロイする方法を学びます。

最初に、Security HubやConfigの見方を学びます。

その後、ConfigでEKSの脆弱性を検知するルールを作成します。

ルールをいくつか作った後、今度はKubescapeをSecurity Hubと統合してEKS監視する手法を学びます。
これにより、EKSの脆弱性を検知できたので、次にこれらをCI/CDで修正していく作業になります。

Code PipelineにInspectorを統合し、パイプラインを実行します。

脆弱なDockerfileベースイメージなので、パイプラインは失敗するようになっています。

Dockerfileベースイメージを編集し、別のパブリックイメージからNodejsを構築したり、更新したりして脆弱性を消し込んでいきます。

最終的にパイプラインが成功したら達成です。

ENT307: The Microsoft on AWS adventure game

Workshop形式のハンズオンセッションです。
AWS環境を国と見立てて、魔物から守るための国の構築をゲーム形式で実施します。
Microsoft製品をふんだんに使ったワークショップのため、AWSMicrosoft製品の両方を学ぶことができます。

Windows Server、Windows File Sever、SQL Server などを構築しAD連携します。
タスクをこなしていき、最終的に以下の構成図のものができます。

Managed Microsoft ADによる冗長化やOSメンテナスからの解放など、様々な気づきが得られます。

GHJ302: Network Topology Titans

Game Day形式のハンズオンセッションです。
その場で一緒になった人たちとチームを組み、企業のエンジニアとして雇われ、様々な課題を解決する内容です。
ネットワークサービスに特化した内容であり、本格的な構築やトラシューなどを体験できます。

まとめ

ハンズオンを通して、AWSサービスを応用したソリューション開発や新サービスの理解が一層深まりました。
手を動かしながら、質問やディスカッションができるため、現地参加の場合はぜひハンズオンセッションに参加してみてください。

re:Invent 2023で発表されたAWS Security Hubのアップデートまとめ

AWS re:Invent 2023にて、AWSセキュリティサービスについてたくさんのアップデートがありました。
今回は、AWS Security Hubのアップデートについてご紹介します。

AWS Security Hub コントロールカスタマイズ

Security Hubのマネージドコントロールをカスタマイズできるようになりました。
例えば、ACMで発行された証明書の更新間隔はデフォルトで30日ですが、組織のポリシーに合わせて45日や60日に変更可能です。

aws.amazon.com

「カスタムポリシー」→「コントロールパラメーターのカスタマイズ」から設定可能です。

Security Hubのコントロールは組織にとって必ずしもベストではないので、自組織に合わせてカスタマイズできるのは嬉しいアップデートです。

AWS Security Hub ダッシュボード機能強化

サマリダッシュボードのウィジェットをカスタマイズできるようになりました。
また、ダッシュボードでAWSアカウントやリソースタグによるフィルタリングができるようになり、自身にとって使いやすいカスタマイズが可能です。

aws.amazon.com

脅威や脆弱性のランキングも表示できます。
また、右のウィジェットからドラッグ&ドロップでグラフを配置できます。

運用者にとって、統一的なダッシュボードを用途に合わせてカスタマイズできるのは、非常にありがたい機能です。
今回のアップデートで、Security Hubがより使いやすくなったと思います。

AWS Security Hub の新しい一元的な設定機能

委任管理者アカウントから、一元的な設定ができるようになりました。
これにより、アカウントやリージョンに渡って、特定の標準やコントロールを柔軟に行うことができるようになります。
例えば、特定のコントロールを組織単位で無効化したり、コントロールパラメータのカスタマイズを特定アカウントのみに適用させることが可能です。

aws.amazon.com

設定を見てみます。
Security Hubの「設定」→「中央設定を開始」を押下します。

「リージョン」からポリシーを適用させる任意のリージョンを選択します。

「設定タイプ」から「Security Hubの設定をカスタマイズ」を選択します。

「カスタムポリシー」の画面で「特定のコントロールを無効化」を選択し、無効化するコントロールを選択します。
ここでも、アップデート「AWS Security Hub コントロールカスタマイズ」の機能を利用できます。

そして、設定したポリシーをどこの組織やアカウントに適用するかを指定します。

最後に、これまで設定してきたポリシーの名前、説明、タグを入力して完了です。

従来は個々のメンバーアカウントでコントロールの有効/無効をしていましたが、今回のアップデートで一元的に管理できるため、運用が容易になると思います。

AWS Security Hub での新しい検出結果の追加を発表

Findingに新たなメタデータを追加し、対応の優先度付けやコンテキストの理解を支援するようになりました。
具体的には、AWSアカウント名、リソースタグ、アプリケーションタグが付与されます。

aws.amazon.com

Security Hubの「検出結果」から「詳細」を見ると、AWSアカウント名やリソースタグが表示されています。

JSONログにも同様に表示されています。

検出結果に情報を付与するにはユーザ側で作り込みが必要でしたが、今回のアップデートで作り込みが不要になりました。
例えば、従来からログに載っているアカウントIDからアカウント名を特定するのは手間のかかる作業でしたが、ログに情報が載っているので調査もしやすくなります。
運用者にとっても非常に嬉しいアップデートだと思います。

まとめ

今回は従来のセキュリティサービスをより使いやすくするための、痒い所に手が届くアップデートが多かったと思います。
Security HubはAWS環境のセキュリティ対策に必要不可欠であるため、今後のアップデートにも期待です。

re:Invent 2023で発表されたAmazon Inspectorのアップデートまとめ

AWS re:Invent 2023にて、AWSセキュリティサービスについてたくさんのアップデートがありました。
今回は、Amazon Inspectorのアップデートについてご紹介します。

生成AIを利用したLambdaコードスキャンに対応

生成AIにより、スキャン結果に基づいたコード修正支援機能を提供するようになりました。
Lambdaに対するコードスキャンは、re:Inforce 2023で一般提供開始された機能ですが、この時点では抽象的な修正案のみの提示でした。
今回のアップデートにより、より具体的なコード修正案やパッチファイルを取得できます。

aws.amazon.com

以前のLambdaコードスキャンに関する検証記事もありますので、こちらもご参照いただければと思います。

yuj1osm.hatenablog.com

試しに「Amazon CodeGuru, Detector Library」から「Path traversal」を検知させてみましょう。

docs.aws.amazon.com

検知させるLambda関数を用意します。

しばらくすると、InspectorでLambda関数が検知されました。
詳細画面を見てみると、具体的なコード修正案の提示やパッチファイルのダウンロードができます。

気軽にLambdaのコードスキャンができ、修正案やパッチファイルを提供してくれるため、セキュアなコード開発により注力しやすくなるのではないかと思います。

EC2向けエージェントレス脆弱性評価に対応

Amazon Inscpctorでエージェントをインストールすることなく、EC2の脆弱性診断を行えるようになりました。
従来は、AWS System Managerエージェントのインストールが必要でしたが、エージェントの有無を自動的に判断してスキャンできます。
スキャン頻度は24時間間隔で行われます。

aws.amazon.com

EBSスナップショットを利用して、ソフトウェアインベントリ情報を取得することで実現しています。

設定するには、コンソール画面の「EC2 scanning settings」→「Scan mode」から「編集」を押下します。

「Hybrid」か「Agent-based」の2つのモードを選択できます。 「Agent-based」モードは、従来のスキャン方法で、エージェントがインストールされているEC2のみスキャンします。
「Hybrid」モードは、エージェントレスが動作するモードで、エージェントがインストールされていればエージェントベースのスキャン、エージェントがインストールされていなければエージェントレススキャンが行われます。

社内ルールやネットワーク構成により、エージェントをインストールするのが困難なケースがあるかと思います。
今回のアップデートで、エージェントがインストールされていなくてもInspectorでの脆弱性管理ができるようになりました。
ただし、エージェントレスのスキャン頻度は24時間毎なので、可能な限りエージェントをインストールしてから「Hybrid」モードにした方が、リアルタイムの検知がしやすくなります。

CI/CDツール内でコンテナイメージのスキャンに対応

開発者向けツールと統合し、コンテナイメージのスキャンができるようになりました。
JenkinsやTeamCityなどに対応しており、従来の開発者向けツールとシームレスに動作します。

aws.amazon.com

コンテナイメージのスキャンは、ECRのベーシックスキャンと、Inspectorの拡張スキャンの2種類がありました。
ベーシックスキャンに関してはCI/CDパイプラインに組み込むことができましたが、拡張スキャンは対応していませんでした。
今回のアップデートで、拡張スキャンもCI/CDパイプラインに組み込むことができ、開発の早い段階でよりセキュリティ担保を実現できます。

開発者の使い慣れたツールとInspectorが統合でき、CI/CDパイプラインに組み込めるのはありがたいアップデートです。

まとめ

2023年はInspectorのアップデートがたくさんありましたが、話題の生成AIを組み込んだ機能も出てきましたね。
セキュリティ担当者だけでなく、開発者も手軽に脆弱性管理を行うことができ、今後のユーザ体験も大きく変わってくるのではないかと思います。
Inspectorや生成AIの今後の動向に注目です。

PartyRockで簡単なアプリを作って遊んでみた

AWSからPartyRockが登場したので、早速簡単なアプリを作って遊んでみました。

aws.amazon.com

PartyRock とは

AWSの生成AIサービスである Amazon Bedrock を使ったサービスで、わずか数ステップで生成 AI を実験するための様々なアプリを作成することができます。

期間限定なので、興味のある方はぜひ試してみてください。

https://partyrock.aws/

早速試してみた

PartyRockにアクセスすると、以下のページが表示されます。

画面右上の「Sign In」ボタンを押下し、アカウントを選択してサインインします。

既にサンプルとして俳句生成アプリなどがありますが、新規に作成するため、「Build your own app」ボタンを押下します。
次の画面で、生成したいアプリの概要を入力します。
ポジティブ思考になるために、「何を言っても全工程してくれるアプリ」と入力してみました。

するとわずか数秒でアプリが完成しました。

インプット画面に、ポジティブに変換して欲しい文章を入力してみます。
すると、すごく前向きな回答が返ってきました。

その他、ウィジェットの変更機能やアプリの公開機能があります。

まとめ

PartyRockを使って簡単にアプリを作成することができました。
昨今の生成AI技術は目まぐるしい発展を遂げています。
生成AIも身近になってきたので、敷居が高いと思っている方こそぜひ試してみてもらいたいと思います。

Google Cloud Next Tokyo '23のハンズオンセッション参加レポート

東京ビッグサイトでされた Google Cloud Next Tokyo '23 のハンズオンセッションについてご紹介します。

cloudonair.withgoogle.com

ハンズオンセッションとは

4年ぶりに現地開催となった、Google Cloud Next Tokyo ’23 の中で、ハンズオンセッションがありました。
GCPの最新機能を、講師のアドバイスを受けながらじっくり学ぶことができます。
ハンズオンは、「Qwiklabs」を利用し、一時的なGCPアカウントと手順書が与えられるので、料金の心配もありません。
今回は、「Google Cloud で始める生成 AI を活用したアプリケーション開発入門」を受けてみました。

Google Cloud で始める生成 AI を活用したアプリケーション開発入門

このハンズオンの説明は以下の通りです。

Cloud Run, Firebase といった Google Cloud イチ押しのマネージドなサービスをフル活用し、クラウドネイティブなアプリケーション開発を体験します。そしてそのアプリケーションに生成 AI を使ったインテリジェントな機能を追加することで、実際のサービスと生成 AI の組み合わせの事例を学んでいただけます。

また、ハンズオンコンテンツは公開されているので、試してみた方は以下リンクからダウンロードできます。

github.com

Knowledge Drive のデプロイ

以下が完成時の全体構成です。

まずは、「Qwiklabs」にログインし、あらかじめ用意されたラボを開始します。

手順はほとんどCLIコマンドが用意されているので、手順書通りに実行していきます。
手順を最後まで実施すると、Cloud Run や Firebase を使った、Google Driveのような簡単なファイル管理アプリ「Knowledge Drive」が完成します。
まずは、アカウントを作成してサインインします。

何もファイルが無い状態なので、「新規」からファイルやフォルダを作成します。

画面上部の検索窓から、ファイル名を検索することができます。
アプリの仕様では完全一致でした。

生成 AI を活用しアップロード済みファイルをベースにした回答生成機能 (GenAI App) の追加

このままでは使いづらいため、「Knowledge Drive」に、生成 AI を活用し質問文への回答を返す機能である GenAI App を追加します。
これを実現するために、Vertex AI や Cloud SQL を利用します。

以下が完成時の全体構成です。

最終的に完成したアプリが以下です。
見た目は大きく変わっていませんが、画面上部の検索に質問を入力し、AIによる回答を返すことができるようになりました。

試しにファイルをアップロードすると、ファイルに緑色のチェックマークがつきます。
これは、AIによる処理が完了したことを示しています。

AIによる要約機能も追加されているので、カーソルをファイル名の上に持ってくると、そのファイルの要約が表示されます。

あとは、画面上部の検索窓に質問を入力すると、ファイル内容を元に回答を返してくれるようになります。

まとめ

非常に簡単に、生成AIを活用したアプリケーションを作成することができました。
ハンズオンを通して、GCPのサービスや生成AIについて効率良く学ぶことができるので、ぜひ試してみてください。

Amazon CloudWatch Logs のフィルターパターンで正規表現が使えるようになりました

Amazon CloudWatch Logs のフィルターパターンで正規表現が使えるようになったので、検証してみました。

aws.amazon.com

アップデート概要

  • フィルターパターンで正規表現が使えるようになり、複雑な条件のログ検索や突合処理が可能

  • サポートされている正規表現はドキュメントに記載されています。

docs.aws.amazon.com

正規表現でログを抽出してみる

今回は以下のフィルターパターンとサンプルログで試してみます。

フィルターパターン
statusCodeが400番台を抽出します。

{ $.statusCode=%4[0-9]{2}% }

サンプルログ

[83078518-fcc1-4d30-9573-8b9737671438] BENCHMARK : Running Start Crawl for Crawler TestCrawler2
[83078518-fcc1-4d30-9573-8b9737671438] BENCHMARK : Classification complete, writing results to database mygluedatabase
[83078518-fcc1-4d30-9573-8b9737671438] INFO : Crawler configured with SchemaChangePolicy {"UpdateBehavior":"UPDATE_IN_DATABASE","DeleteBehavior":"DEPRECATE_IN_DATABASE"}.
{ "statusCode": "403" }
[83078518-fcc1-4d30-9573-8b9737671438] INFO : Created table gluetest in database mygluedatabase
{ "statusCode": "404" }
{ "statusCode": "500" }
[83078518-fcc1-4d30-9573-8b9737671438] BENCHMARK : Finished writing to Catalog
[83078518-fcc1-4d30-9573-8b9737671438] BENCHMARK : Crawler has finished running and is in state READY

適当なロググループとログストリームを作成します。

サンプルログを使ってログイベントを作成します。

「フィルターバー」にフィルターパターンを入力して検索してみます。
statusCodeが400番台のみ抽出され、想定通りの結果です。

サブスクリプションフィルターでも試してみます。
サブスクリプションフィルター」→「作成」から任意のフィルターを選択します。

サブスクリプションフィルターのパターン」にフィルターパターンを入力します。
そして、「イベントメッセージをログ記録に」サンプルログを入力し、「パターンをテスト」を押下します。
こちらもstatusCodeが400番台のみ抽出され、想定通りの結果です。

まとめ

フィルターパターンで正規表現を使うことで、ログ検索ができました。
従来、複雑な条件でログ検索したいときには、Lambdaで正規表現の処理をする方法がありました。
今回のアップデートにより、標準機能で手軽に複雑な処理を行うことができるようになったので、ぜひ活用してみてください。

「Amazon Style」と「amazon fresh」で最新のCX(カスタマー・エクスペリエンス)を体験してきた

先日アナハイムで開催されたAWS re:Infroce 2023へ、ジャパンツアーで参加しました。
そのツアー中に、「Amazon Style」と「amazon fresh」に立ち寄ったので、そこで体験した最新のCX(カスタマー・エクスペリエンス)についてご紹介します。

Amazon Style

Amazon Styleは、米アマゾンがロサンゼルスにある衣料品の実店舗です。

Amazon Style店内の様子

入り口にはおしゃれなオブジェがあります。

広々とした店内ですが、一見変わった様子はありません。

しかし、商品に近づいてみると何やらQRコードがついています。

このQRコードを専用アプリで読み込むと、サイズや色展開などの詳細情報を確認することができます。
試着したい商品はボタンを押すことで、自分専用の試着室が確保されます。

レコメンド商品も届けてくれる試着室

確保された番号の試着室に行ってみます。

スマホからとロックを解除すると、試着室に入れます。
試着室は広く、中にはディスプレイがあり、自身の名前が表示されています。

試着室内にはクローゼットがあり、しばらくすると売り場で選んだ商品と、レコメンド商品も一緒に入っています。
このクローゼットは裏からも空けられるようになっており、独自のアルゴリズムにより顧客の趣向に合う商品も届けられます。 顧客側の扉が閉まっている間だけ、裏から商品を届けてくれる仕組みなので、プライバシーは守られるようになっています。

クローゼット内のディスプレイにもレコメンド商品が表示されるので、ここからさらに商品を選択して届けてもらうことが可能です。
つまり、わざわざ売り場に戻る必要が無く、クローゼットの中で商品の選択と試着が完結する形になっています。
購入したい場合はレジに商品を持っていき、専用アプリで決済用のQRコードを使って購入できます。

amazon fresh

amazon freshは、ロサンゼルス郊外にあるテクノロジーを駆使した食品スーパーです。

amazon fresh店内の様子

店内は非常に広々としており、品揃えもよいです。

商品の記録から清算までしてくれるカート

入り口にはアマゾン・ダッシュカートというものがあります。
カートにはカメラや重量センサー、タッチスクリーンが搭載されています。

まずは、専用のアプリでカートに利用者情報を読み込ませます。

売り場では、バーコードをカメラに向けてカートに入れていくだけです。
カートがカメラや重量から商品を認識して、商品名や数量、価格がタッチスクリーンに表示されます。
清算の際は、専用のレーンを通ります。
この専用レーンにはセンサーが設置されていて、カートを検知したら自動的に精算が終わります。

レジに並ぶ必要がないので、非常に簡単に買い物ができます。

まとめ

Amazon Style」と「amazon fresh」で最新のCXを体験することができました。
両者とも最新のテクノロジーが駆使されており、楽しく手軽に買い物ができるように工夫されていました。
今後の技術発展に伴い、さらに面白い体験ができると思われます。
ロサンゼルスに行った際は、ぜひ立ち寄ってみてください。