TECH PLAY

AWS

AWS の技術ブログ

3163

この投稿は、プリンシパルスペシャリストソリューションアーキテクトの Dan Fox とシニアソリューションアーキテクトの Brian Krygsman によって執筆されました。 本日、AWS は AWS 統合アプリケーションテストキット(IATK) のパブリックプレビューを発表しました。AWS IATK は、クラウドベースのアプリケーションの自動テストを書くのに役立つソフトウェアライブラリです。このブログ記事では、AWS IATKのいくつかの初期機能を紹介し、ビデオ処理アプリケーションの例を使用して、これがどのように動作するのかを解説します。サーバーレスのテストをはじめるには、 serverlessland.com/testing で詳細をご覧ください。 概要 AWS Lambda 、 Amazon EventBridge 、 AWS Step Functions などのサーバーレスサービスで構成されるアプリケーションを作成すると、アーキテクチャコンポーネントの多くはデスクトップにデプロイできず、AWS クラウドにのみ存在します。ローカルに展開されたアプリケーションでの作業とは対照的に、これらのタイプのアプリケーションは、自動テストを実行するためのクラウドベースの戦略の恩恵を受けます。今回のパブリックプレビューのリリースでは AWS IATK は Python アプリケーションにおける実装を支援します。AWS IATK は、今後のリリースで他の言語をサポートします。 テスト用のリソースを見つける クラウドリソースの自動テストを作成するには、リソースの物理IDが必要となります。物理IDは、作成後にAWSがリソースに割り当てる名前です。たとえば、 Amazon API Gateway にリクエストを送信するには、API エンドポイントを形成する物理IDが必要です。 別々の Infrastructure as Code スタックにクラウドリソースをデプロイすると、物理IDを見つけるのが難しい場合があります。CloudFormation の場合、テンプレート内のリソースの論理IDとスタック名を作成します。IATKを使用することで、論理IDとスタック名を入力すると、リソースの物理IDが取得できます。スタック名を入力することで、スタックの出力を取得することもできます。これらの便利な方法により、記述したテストのためにリソースを見つけやすくなります。 イベント駆動型アーキテクチャのテストハーネスの作成 イベント駆動型アーキテクチャの統合テストを書くには、アプリケーションをサブシステムに分割して論理的な境界を確立します。サブシステムは、判断するのに十分シンプルで、理解可能な入力と出力が含まれている必要があります。サブシステムをテストするための有用なテクニックの 1 つは、テストハーネスを作成することです。テストハーネスは、サブシステムをテストするために特別に作成するリソースです。 たとえば、統合テストは、入力テストイベントを渡すことでサブシステムプロセスを開始できます。IATK は、出力されるイベントのために Amazon EventBridge をリッスンするテストハーネスを作成します。(内部では、ハーネスは出力イベントを Amazon Simple Queue Service に転送する EventBridge ルールで構成されています。)その後、統合テストはテストハーネスにクエリして出力を調べ、テストが成功または失敗するかどうかを判断します。これらのハーネスは、クラウドにおけるイベント駆動型アーキテクチャの統合テストを作成するのに役立ちます。 非同期機能をテストするためのサービスレベルアグリーメントを確立する 同期的なサービスを作成すると、自動テストがリクエストを行い、即時にレスポンスされることを期待します。アーキテクチャが非同期の場合、サービスはリクエストを受け取り、その後で一連のアクションを実行します。決められた期間がない場合、アクティビティの成功をどのようにテストしたら良いでしょうか? 非同期システムのための合理的なタイムアウトを作成することを検討してください。サービスレベルアグリーメント (SLA) としてタイムアウトをドキュメント化します。SLA は外部に公開するか、内部標準としてドキュメント化するかを決定できます。IATK には、タイムアウトを確立できるポーリング機能が含まれています。この機能は、非同期システムがタイムリーにタスクを完了するかどうかをテストするのに役立ちます。 詳細なテストに AWS X-Ray を使用する アプリケーションの内部の詳細をより可視化したい場合は、 AWS X-Ray で計測します。AWS X-Rayを使用すると、複数のサービスを通じてイベントのパスを追跡できます。IATKは、AWS X-Ray のサンプリングレートを設定し、トレースツリーを取得し、トレース期間をアサートするのに役立つ便利な機能を提供します。これらの機能は、分散システムをより詳細に観察し、テストするのに役立ちます。 より詳しくは、 aws-samples/serverless-test-samples で非同期アーキテクチャのテストをご覧ください。 サンプルアプリケーションの概要 IATKの機能を示すために、この投稿ではプラグインアーキテクチャで設計されたサーバーレスビデオアプリケーションの一部を使用します。コア開発チームが主要なアプリケーションを作成します。組織全体の分散された開発チームはプラグインを作成します。1つの AWS CloudFormation スタックがプライマリアプリケーションをデプロイします。別々のスタックは各プラグインをデプロイします。 プライマリアプリケーションとプラグイン間の通信は、EventBridge バスによって管理されます。プラグインは、アプリケーションのライフサイクルイベントをバスからプルし、20秒以内に完了通知イベントをバスに戻す必要があります。テストのために、コアチームは、適切にフォーマットされたサンプルライフサイクルイベントを発行することで、実稼働プロセスを模倣する AWS Step Functions ワークフローを作成しました。開発者は、開発およびテスト環境でこのテストワークフローを実行し、プラグインがイベントバスと適切に通信していることを確認します。 次のデモンストレーションは、プラグインの動作を検証するサンプルアプリケーションの統合テストを示しています。統合テストでは、IATK は Step Functions のワークフローを特定し、プラグインから送信されるイベント完了通知をリッスンするためのテストハーネスを作成します。その後、テストはワークフローを実行してライフサイクルプロセスを開始し、プラグインアクションを開始します。その後、IATK はタイムアウト付きのポーリングメカニズムを使用して、プラグインが 20 秒のサービスレベルアグリーメントに準拠していることを確認します。以下は処理のシーケンスです。 統合テストは、テストワークフローの実行を開始します。 ワークフローは、ライフサイクルイベントをバスに PUT します。 プラグインは、バスからライフサイクルイベントを PULL します。 プラグインが完了すると、バスに完了イベントが PUT されます。 統合テストは、完了イベントをポーリングして、テストが SLA 内で合格するかどうかを判断します。 サンプルアプリケーションのデプロイとテスト 以下の手順に従って、このアプリケーションを確認し、ローカルに構築し、AWSアカウントにデプロイし、テストしてください。 サンプルアプリケーションのダウンロード ターミナルを開き、次のコマンドで GitHub から サンプルアプリケーション をクローンするか、コードを ダウンロード します。このリポジトリには、サーバーレスアプリケーションをテストするための他のサンプルパターンも含まれています。 git clone https://github.com/aws-samples/serverless-test-samples IATKサンプルアプリケーションのルートは python-test-samples/integrated-application-test-kit にあります。このディレクトリに移動します。 cd serverless-test-samples/python-test-samples/integrated-application-test-kit 統合テストのレビュー アプリケーションをデプロイする前に、テキストエディタで plugins/2-postvalidate-plugins/python-minimal-plugin/tests/integration/test_by_polling.py を開いて、統合テストが IATK をどのように使用するかを確認してください。テストクラスは、ファイルの上部にある IATK をインスタンス化します。 iatk_client = aws_iatk.AwsIatk(region=aws_region) setUp() メソッドでは、テストクラスは IATK を使用して CloudFormation スタック出力を取得します。これらの出力は、プラグインテスター AWS Step Functions ワークフローのようなデプロイされたクラウドコンポーネントの参照です。 stack_outputs = self.iatk_client.get_stack_outputs( stack_name=self.plugin_tester_stack_name, output_names=[ "PluginLifecycleWorkflow", "PluginSuccessEventRuleName" ], ) テストクラスは、スタック出力で提供されるイベントルールを使用して、リスナーをデフォルトのイベントバスにアタッチします。このテストでは、後でこのリスナーを使用してイベントをポーリングします。 add_listener_output = self.iatk_client.add_listener( event_bus_name="default", rule_name=self.existing_rule_name ) テストクラスは、 tearDown() メソッドでリスナーをクリーンアップします。 self.iatk_client.remove_listeners( ids=[self.listener_id] ) 設定が完了すると、 test_minimal_plugin_event_published_polling() メソッドによって実際のテストが実装されます。 テストは最初にトリガーイベントを初期化します。 trigger_event = { "eventHook": "postValidate", "pluginTitle": "PythonMinimalPlugin" } 次に、テストはプラグインテスター Step Functions ワークフローの実行を開始します。 setUp の実行中にフェッチされた plugin_tester_arn が使用されます。 self.step_functions_client.start_execution( stateMachineArn=self.plugin_tester_arn, input=json.dumps(trigger_event) ) テストはリスナーをポーリングし、プラグインがイベントを発火するのを待ちます。SLA で決められたタイムアウトに達するか、最大数のメッセージを受信すると、ポーリングを停止します。 poll_output = self.iatk_client.poll_events( listener_id=self.listener_id, wait_time_seconds=self.SLA_TIMEOUT_SECONDS, max_number_of_messages=1, ) 最後に、テストは適切な数のイベントを受け取り、それらが適切にフォーマットされているか検証します。 self.assertEqual(len(poll_output.events), 1) self.assertEqual(received_event["source"], "video.plugin.PythonMinimalPlugin") self.assertEqual(received_event["detail-type"], "plugin-complete") 前提条件のインストール このサンプルをビルドするには、次の前提条件が必要です。 AWSアカウント AWSリソースを管理できる資格情報がある AWS Serverless Application Model(AWS SAM)CLI Python 3.11 Node.js 18.x Docker (オプションですが、AWS SAM で Python アプリケーションを構築するのに推奨されます) サンプルアプリケーションコンポーネントのビルドとデプロイ AWS SAMを使用して、プラグインテスターを構築し、AWSアカウントにデプロイします。プラグインテスターは、前の図に示されている Step Functions ワークフローです。ビルドプロセス中に、ビルドコマンドに --use-container フラグを追加して、AWS SAM に渡されたコンテナでアプリケーションを作成するように指示できます。デプロイプロセス中にデフォルト値を受け入れるか、上書きすることができます。後で「スタック名」と「AWSリージョン」を使用して統合テストを実行します。 cd plugins/plugin_tester # plugin tester のディレクトリに移動します sam build --use-container # plugin tester をビルドします テスターをデプロイする: sam deploy --guided # plugin tester をデプロイします プラグインテスターがデプロイされたら、AWS SAMを使用してプラグインをデプロイします。 cd ../2-postvalidate-plugins/python-minimal-plugin # plugin directory に移動します sam build --use-container # plugin をビルドします プラグインをデプロイする: sam deploy --guided # plugin をデプロイします テストを実行する unittest や pytest などの標準的な Python テストランナーを使用して、IATK で書かれたテストを実行できます。サンプルアプリケーションのテストでは、ユニットテストを使用します。 仮想環境 を使用して依存関係を整理します。サンプルアプリケーションのルートから、実行します。 python3 -m venv .venv # virtual environment を作成する source .venv/bin/activate # virtual environment を activate する IATK を含む依存関係をインストールします。 cd tests pip3 install -r requirements.txt テストを実行し、以前のデプロイから必要な環境変数を提供します。 plugin_tester ディレクトリの samconfig.toml ファイルでその値を見つけることができます。 cd integration PLUGIN_TESTER_STACK_NAME=video-plugin-tester AWS_REGION=us-west-2 python3 -m unittest ./test_by_polling.py ユニットテストがテストを実行すると、出力が表示されるはずです。 AWS アカウントで Step Functions コンソールを開き、 PluginLifecycleWorkflow-<random value> ワークフローを選択して、プラグインテスターが正常に実行されたことを確認します。最近の実行は、成功したステータスを示しています。 他のIATK機能を確認する サンプルアプリケーションには、モックイベントの生成やAWS X-Rayトレースの取得など、他のIATK機能の例が含まれています。 クリーンアップ AWS SAM を使用して、AWS アカウントからプラグインとプラグインテスターの両方のリソースをクリーンアップします。 プラグインのリソースを削除する: cd ../.. # plugin directory に移動する sam delete # plugin を削除する プラグインテスターのリソースを削除します。 cd ../../plugin_tester # plugin tester directory に移動する sam delete # plugin tester を削除する IATK がテスト中に作成した一時的なテストハーネスリソースは、 tearDown メソッドが実行されるとクリーンアップされます。実行中に問題が発生した場合、一部のリソースは削除されない可能性があります。IATK は、作成したすべてのリソースにタグを追加します。 これらのタグ を使用してリソースを見つけ、手動で削除できます。また、 独自のタグを追加 することもできます。 まとめ AWS 統合アプリケーションテストキット(IATK)は、クラウドアプリケーションの自動テストを書くのに役立つ便利なソフトウェアライブラリです。このブログ記事は、IATK の初期Python バージョンの機能のいくつかを示しています。 サーバーレスアプリケーションの自動テストの詳細については、 serverlessland.com/testing をご覧ください。また、 serverlessland.com/testing/patterns または GitHub の AWS serverless-test-samples リポジトリでコード例を表示することもできます。 より多くのサーバーレス学習リソースについては、 Serverless Land をご覧ください。 翻訳はソリューションアーキテクトの淡路が担当しました。原文は こちら です。
みなさん、こんにちは。ソリューションアーキテクトの杉山です。 今週も 週刊AWS をお届けします。 この記事は AWS re:Invent 2023 特別号の後半にあたる Part 2 です。 今週は AWS re:Invent 2023 特別号のため週刊AWSは二本立てになっています。 Part 1 をまだお読みでない方はこちら からお読みいただけます。また、 Part 1 にも記載していますが、発表内容をほぼ網羅したセミナー「 AWS Black Belt Online Seminar AWS re:Invent 2023 速報 」の資料と動画が公開されていますので、こちららも合わせてご覧ください。 それでは、AWS re:Invent 2023 でのアップデート、後半をみていきましょう。Part 2 では、以下のカテゴリについてまとめました。Generative AI / Machine Learning のカテゴリでは、アップデート内容が多くなっております。 カテゴリリンク : Generative AI / Machine Learning | Management & Governance | Networking & Content Delivery | Security, Identity, & Compliance | Serverless | Storage AWS re:Invent 2023 期間に発表された主要なアップデート Part 2 (2023/11/27週) Generative AI / Machine Learning Introducing Amazon Q, a new generative AI-powered assistant (preview) Amazon Q のプレビューを開始しました。Amazon Q は、お客様のビジネスに合わせて作業できるように設計されている、生成系 AI を活用したアシスタントです。組織内のデータソースと連携しながら、会話、問題の解決、アイデアの生成、アクション実行などができます。Amazon Q は特定のサービスということではなく、AWS をご利用いただくお客様を様々なシチュエーションでご支援するアシスタントです。複数の利用方法があり、マネジメントコンソールで「Amazon Q」と検索すると出てくるアシスタント機能、マネジメントコンソール右側の Q アイコンからアクセスする会話型の Q&A 機能、AWS ドキュメント、各種 AWS サービス、IDE (統合開発環境) などでご支援するものです。各種アップデートで「Amazon Q」という用語が出てきますが、混乱しないようにしましょう。様々な状況で横に寄り添って支援してくれる、そんな感覚で良いと思います。 このアップデートは AWS マネジメントコンソール上で「Amazon Q」で検索して開くことのできるアシスタント機能についてです。組織内のデータと連携するためのコネクターや、会話型の Web インターフェースなどが提供されており、アシスタントを組織用にカスタイマイズできます。汎用的にアシスタントを構成でき、ビジネス用途向けにも活用いただけます。プレビュー時にサポートされているデータソースの連携先は、 こちらのドキュメント に記載があります。また、Web エクスペリエンスでは、任意の IdP と連携した Web 画面を利用できます。AWS マネジメントコンソールを省略して直接の Web アクセスを提供できるため、組織内の展開がやりやすくなります。プレビュー中は、Amazon Q の機能の多くを無料でご利用頂けるため、ぜひお試しください (一部有料のものがあります)。バージニア北部とオレゴンでプレビューが提供されています。詳細は こちらの Blog をご覧ください。 Amazon Q brings generative AI-powered assistance to IT pros and developers (preview) Amazon Q は、開発者や IT プロフェッショナルをサポートするいくつかの機能があります。一つ利用例を挙げると、マネジメントコンソールの右側の Q アイコンからアクセスする「会話型の Q&A 機能」は、アプリケーションを構築する方法やベストプラクティスなどをチャット形式で調査できます。たとえば、「サーバーレス API を構築するための AWS サーバーレスサービスとは何ですか?」と英語で質問すると、回答と参考資料を提示してくれます。疑問が残っている場合は追加で質問を投げることも可能です。現時点では日本語は利用できない点にご留意ください。他には、最適な EC2 インスタンスのアドバイス、Lambda 関数のエラートラブルシュート、ネットワーク接続性のトラブルシュート、IDE 上からアクセスなどがあります。詳細は こちらの Blog をご覧ください。 Amazon Bedrock now provides access to Anthropic’s latest model, Claude 2.1 Amazon Bedrock で Claude 2.1 の提供が開始されました。11/21 に Anthropic 社が最新基盤モデルの Claude 2.1 を発表し、それに Bedrock が対応した形です。エンタープライズに必要な機能を提供しており、Claude 2.0 と比較してトークン数が 2 倍の 20万に拡張、ハルシネーション率の低減、長い文書における精度の向上、システムプロンプト、ベータ版のツール機能などがあります。ハルシネーションの改善について取り上げると、自由形式の会話や文書 Q&A でのハルシネーションが 50% 減少し、誤った回答が 30% 減少しました。これらの精度向上により、お客様や従業員向けに、より信頼性の高く重要なアプリケーションを構築しやすくなりました。Claude 2.1 を利用する際に、モデルアクセスの有効化が必要です。Claude 2.1 は現在、バージニア北部とオレゴンで利用可能です。 詳細は こちらの Blog をご覧ください。 Evaluate, compare, and select the best foundation models for your use case in Amazon Bedrock (preview) Amazon Bedrock で基盤モデルを評価する機能がプレビュー提供され、ユースケースに最適なモデルを選択しやすくなりました。モデルによって特徴の違いがあり、洗練された対話や創造性の高い生成が得意なパワフルなモデルや、回答スピードが速く低コストで軽量な生成が得意なモデルなどがあります。これを一つずつ試していくのは大変なので、評価を行う支援機能が提供されました。評価のタイプは「自動評価」と「人手評価」の 2 種類があります。「自動評価」は、事前に「プロンプト」と「あるべき答え」を定義した JSON ファイルを用意することで、基盤モデルを自動的に評価しスコアを表示してくれる機能です。「人手評価」では、自動で行う代わりに組織内の特定の方をアサインして、手動による評価を進める機能があります。サポートされるリージョンは、若干の機能の違いはありますが、バージニア北部とオレゴンでプレビュー利用が可能です (人手評価に、AWS 管理チームに評価を依頼する機能がありますが、これはバージニア北部のみ可能です)。詳細は こちらの Blog をご覧ください。 Amazon Titan Image Generator, Multimodal Embeddings, and Text models are now available in Amazon Bedrock Amazon Bedrock で、いくつかの新しいモデルが提供されました。画像生成をおこなう Amazon Titan Image Generator のプレビュー提供、テキストと画像を組み合わせてベクトル埋め込みを生成し検索に活かす Amazon Titan Multimodal Embeddings のリリース、テキスト生成を行う Amazon Titan Text Lite と Amazon Titan Text Express のリリースがされました。Amazon Titan モデルは、Amazon の 25 年間にわたる人工知能と機械学習のイノベーションが組み込まれており、フルマネージド API を通じてさまざまな高性能の画像、マルチモーダル、テキストモデルへのアクセスを提供します。 AWS はこれらのモデルを大規模なデータセットで事前トレーニングし、AI の責任ある使用もサポートしながら、さまざまなユースケースを対応できるように構築しています。Amazon Titan Text は、東京を含めた 5 リージョンで利用可能です。Amazon Titan Multimodal Embeddings は、バージニア北部とオレゴンで利用可能です。 Amazon Titan Image Generator は、バージニア北部とオレゴンでパブリックプレビューとして利用できます。詳細は こちらの Blog をご覧ください。 Guardrails for Amazon Bedrock helps implement safeguards customized to your use cases and responsible AI policies (preview) Guardrails for Amazon Bedrock の限定プレビューを開始しました。これは、責任ある AI 提供を支援する機能となっており、組織内のポリシーに合わせて基盤モデルの出力結果をコントロールしやすくするものです。いくつかの機能があり、「トピックの拒否」は、短い自然言語で拒否すべきトピックを定義しておくことで、不適切なリクエストを対応しないようにする機能です。たとえば、Bedrock を活用して銀行の AI アシスタントを提供するときに、銀行からの公式ガイドとして受け取ってほしくないため、投資アドバイスの話題に対応したくない場合があります。この機能で事前に「投資アドバイス」と定義しておくことで、不適切な話題を拒否できます。「コンテンツフィルター」は、憎悪、侮辱、性的、暴力の 4 カテゴリについて、しきい値を設定し、有害なコンテンツをフィルターできます。 多くの基盤モデルは、望ましくない有害な生成を防ぐための保護機能が組み込まれていますが、この機能によって組織内のポリシーに基づき、責任のある AI の提供をやりやすくします。利用したい場合は AWS サポートの連絡先にお問い合わせください。詳細は こちらの Blog をご覧ください。 Knowledge Bases now delivers fully managed RAG experience in Amazon Bedrock Amazon Bedrock で Knowledge Bases の一般提供を開始しました。Knowledge Bases を使うと、Bedrock の基盤モデルに組織内のデータを安全に接続し、そのデータを使ってより適切で正確な応答を生成する Retrieval Augmented Generation(RAG) ができるようになります。Knowledge Bases で取得したデータに基づいて回答をしてくれるため、ハルシネーションを最小限に抑えられます。Knowledge Bases の裏側にある、ベクトルストアの構築、ベクトル埋め込み、クエリーなどを自動的に行ってくれるため、簡単に RAG を実装できます。留意点は、ベクトルストアの部分は Knowledge Bases に加えて追加の料金が掛かります。ベクトルストアは、Amazon OpenSearch Serverless (自動構成機能あり)、Pinecone、Redis Enterprise Cloud が利用可能です。Amazon Aurora と MongoDB も近々サポートされる予定です。バージニア北部とオレゴンで利用可能です。詳細は こちらの Blog をご覧ください。 Agents for Amazon Bedrock is now available with improved control of orchestration and visibility into reasoning Amazon Bedrock で Agents for Amazon Bedrock の一般提供を開始しました。この機能は、ユーザーの要求したタスクを基盤モデルの推論機能を利用して、複数のステップに分割し、その後のアクションを実行します。推論したステップによっては、Knowledge Bases に格納されている組織内データにアクセスを行うことや、事前に定義した API にアクセスして情報の更新などを行います。ユースケースを挙げると、小売注文の管理や保険請求の処理などが考えられます。注意点は、行動するアクションは基盤モデルが推論する内容に基づくため、場合によってはハルシネーションが含まれる可能性があります。本番環境に利用する前に、しっかりとした検証を行うのが特に重要です。バージニア北部とオレゴンで利用可能です。詳細は こちらの Blog をご覧ください。 Amazon CodeWhisperer offers new AI-powered code remediation, IaC support, and integration with Visual Studio Amazon CodeWhisperer で、 「IaC サポート」、「AI を活用したコード修復 」、「Visual Studio のプレビューサポート」の 3 つのアップデートがありました。「IaC サポート」は、AWS CloudFormation (YAML、JSON)、AWS CDK (Typescript、Python)、および HashiCorp Terraform (HCL) のコードを生成できるようになりました。例えば、Visual Studio Code のエディタ上で 「# S3 バケットを作成」とコメントを入力すると、Amazon CodeWhisperer がコメントを読み取りソースコードの候補を生成します。候補を確認し、良さそうな場合は Tab キーを押すことでエディタ上にコードが反映されます。「AI を活用したコード修復」についてですが、アップデート前は CodeWhisperer が持つセキュリティスキャン機能でコード上の脆弱性を指摘してくれました。今回のアップデートで、指摘するのに加えて修正後のコードを提案してくれるようになり、迅速な修正が容易になりました。「Visual Studio のプレビューサポート」は、Visual Studio 2022 のサポートを提供するものです。C# のリアルタイムなコード提案を利用して、アプリケーションを素早く開発できます。詳細は こちらの Blog をご覧ください。 Use natural language to explore and prepare data with a new capability of Amazon SageMaker Canvas Amazon SageMaker Canvas で、データ調査、分析、可視化、変換といったデータの前準備を、自然言語で指示できるようになりました。Amazon Bedrock で提供される基盤モデルに基づき、自然言語であたえられた指示を解釈します。一つ例を挙げると、住宅価格の予測モデルを作るときに、部屋の大きさと収入の分布を可視化したいとします。SageMaker Canvas のチャットインターフェースに「plot room_size vs median_income」と入力すると、部屋の大きさ (room_size) と収入 (median_income) の散布図を可視化してくれます。次に、人口が 1000 人以下の町をフィルターしたいときには、さきほどと同様に「remove rows where population is less than 1000」と入力することで、該当の行を削除してくれます。また、裏側で生成された PySpark などのソースコードを確認でき、内容の微調整を行いたい場合はソースコードの手動編集も可能です。なお、私が試した範囲では、日本語の自然言語でも理解してくれました。Amazon SageMaker Canvas と Amazon Bedrock がサポートされているすべての AWS リージョンで利用できますが、東京リージョンはまだ利用できませんでした。詳細は こちらの Blog をご覧ください。 Amazon SageMaker Studio adds web-based interface, Code Editor, flexible workspaces, and streamlines user onboarding Amazon SageMaker Studio で Web インターフェースの新しい体験を提供開始しました。新しい Web インターフェースは、読み込みが速くなり、好みの IDE を選択できる特徴を持ちます。IDE は、JupyterLab と RStudio に加えて、Code-OSS (Visual Studio Code Open Source) に基づくフルマネージドコードエディターが含まれるようになりました。Visual Studio Code に慣れている方は、手に馴染みやすいと思います。Visual Studio Code 互換の何千もの拡張機能をインストールすることができ、好みの環境を作り上げることが出来ます。Visual Studio Code 用の AWS Toolkit、コード生成の CodeWisperer、セキュリティスキャンの CodeGuru もご利用頂けます。元々の SageMaker Studio Classic を利用したことが有り、新しい Web インターフェースを利用したい場合は、AWS CLI を使った切り替え作業が必要です。詳細は AWS Blog や マイグレート用のドキュメント をご覧ください。SageMaker Studio が利用可能なすべてのリージョンで利用可能です。 Management & Governance Amazon CloudWatch Application Signals for automatic instrumentation of your applications (preview) Amazon CloudWatch Application Signals のプレビュー提供が開始されました。Amazon で何千ものアプリケーション運用から得られたベストプラクティスに基づいて構築されており、AWS 上でアプリケーションを自動的に計測して運用を楽にする新機能です。手作業による設定を軽減し、重要なビジネス目標に照らしてアプリケーションのパフォーマンスを追跡できます。事前に構築されたダッシュボードを使用して、各アプリケーションのボリューム、レイテンシ、エラーなどの標準化されたメトリクスを確認できます。 東京を含む 5 リージョンでプレビュー提供されています。詳細は こちらの Blog をご覧ください。 Use natural language to query Amazon CloudWatch logs and metrics (preview) Amazon CloudWatch logs と metrics で自然言語を使ったクエリー生成のプレビュー提供を開始しました。logs や metrics をクエリーで検索する際に、自然言語を入力することでクエリーを生成できます。検索を行う際に、手動でクエリーを組み立てる負担を軽減でき、自動生成したクエリーを基に使い始められます。例えば metrics の例を挙げると「CPU 使用率の高い EC2 インスタンスを表示」と入力したあとにクエリー生成ボタンを押すことで、その入力に基づいたクエリーが生成されます。生成結果を確認しながら、より詳細な説明を与えて再度生成ができ、また、生成されたクエリーを手動で微調整することも可能です。バージニア北部とオレゴンでプレビューが開始されています。詳細は こちらの Blog をご覧ください。 New Amazon CloudWatch log class for infrequent access logs at a reduced price CloudWatch Logs で新しいログクラスの Infrequent Access を提供開始しました。通常のログクラスと比較して、1 GB あたりのログ取り込みの料金が 1/2 で提供されており、コスト効率のよい利用ができるようになりました。反面、通常のログクラスで利用できる Live Tail、サブスクリプションフィルター、S3 へのエクスポートなどの機能が制限されています。なお、Logs Insight を利用した検索は Infrequent Access でも利用可能です。全てのリージョンで利用可能です。詳細は こちらの Blog をご確認ください。 Networking & Content Delivery Mutual authentication for Application Load Balancer reliably verifies certificate-based client identities Application Load Balancer で mTLS (Mutual authentication) のサポートを開始しました。クライアント証明書を使った認証に利用できる機能で、アクセスを許可したい端末にクライアント証明書を配置することで、その端末に限定したアクセスを提供できます。ALB の mTLS では、「パススルー」と「トラストストアで検証」の 2 つの方式があります。「パススルー」では、クライアントから受信したすべてのクライアント証明書チェーンをバックエンドアプリケーションに送信します。ALB のバックエンドにあるアプリケーション側でクライアントを認証するためにクライアント証明書チェーンを検証する必要があります。「トラストストアで検証」では、ACM の Private 認証局、もしくはサードパーティの CA と連携してクライアント認証を行います。全てのリージョンで利用可能です。詳細は こちらの Blog をご覧ください。 Zonal autoshift – Automatically shift your traffic away from Availability Zones when we detect potential issues Amazon Route 53 Application Recovery Controller で Zonal autoshift を提供しました。アベイラビリティーゾーン (AZ) に影響を与える潜在的な障害を AWS が特定した場合に、障害を検知した AZ にトラフィックを送信せず、 代わりに正常に稼働している AZ に送信する機能です。その後、検知した AZ 障害が回復した場合、元の構成に戻ります。手動で AZ を切り離す機能を提供してきましたが、AWS が検知するものについて自動で行うアップデートとなります。なお、AZ の切り離しは慎重に行うべき操作なので、Zonal autoshift を有効化した場合は、毎週 30 分間、実際に切り離すテストを行います。切り離すテストのタイミングは、任意の時間帯に指定が可能です。本番環境に影響を与えないように複数の AZ で事前にリソース配置することや、切り替えが問題ないようにアプリケーションの構成が必要です。全てのリージョンで利用可能です。詳細は こちらの Blog をご覧ください。 Security, Identity, & Compliance IAM Access Analyzer updates: Find unused access, check policies before deployment AWS IAM Access Analyzer に 2 つの新機能が追加されました。1 つ目は Unused Access Analyzer です。これは、付与されたが実際には使用されていない権限を持つロールやユーザーを継続的にモニタリングする新しいアナライザーです。組織のセキュリティチームは、不要な権限、ロール、IAM ユーザーの見直しが必要なアカウントを特定するのに役立つダッシュボードを活用できます。2 つ目は、Custom Policy Checks です。これは、新しく作成されたポリシーが意図しない権限を付与していないことを検証するものです。例えば、CI/CD パイプラインにこのチェック機能を追加することで、継続・自動的なチェックが可能になります。全ての AWS リージョンで利用可能です。詳細は こちらの Blog をご覧ください。 Detect runtime security threats in Amazon ECS and AWS Fargate, new in Amazon GuardDuty Amazon GuardDuty で ECS ランタイムモニタリングの一般提供を開始しました。これは、Amazon ECS on Fargate で稼働するコンテナワークロードで、ランタイムの脅威検知を提供する拡張機能です。2023 年の初めに、Amazon EKS でランタイムモニタリングを提供してきました。これが、Amazon ECS on Fargate に拡張して提供された形です。ランタイムの脅威を示す可能性のあるファイルアクセス、プロセスの実行、ネットワーク接続などのランタイムイベントを検出するのに役立ちます。たとえば、権限昇格の試み、仮想通貨マイニングやマルウェアによって生成されたアクティビティ、攻撃者による偵察を示唆するアクティビティなどを検出できます。東京を含めた 9 個のリージョンで利用可能です。詳細は こちらの Blog をご覧ください。 Serverless AWS Lambda functions now scale 12 times faster when handling high-volume requests AWS Lambda 関数のスケーリング速度が最大 12 倍速くなりました。アップデート以前は、Lambda 関数は最初の 1 分間で 500 ~ 3,000 並列実行までスケールアップし、その後 1 分間に 500 並列実行ずつアカウントの制限に達するまでスケールアップしていました。このスケーリング制限は、同じアカウントとリージョンの全関数で共有されていたため、ある関数でトラフィックが急増した場合、同じアカウントの他の関数のスループットに影響を与える可能性がありました。今回の改善により、各 Lambda 関数はアカウント内の他の関数とは独立してスケーリングできるようになりました。また、アカウントの並列実行制限に達するまで 10 秒ごとに 1,000 の並列実行数をスケールアップできるようになりました。この改善により、トラフィックの変動が大きい顧客は、以前よりも速く並列実行目標に到達できるようになります。全てのリージョンで利用可能です。詳細は こちらの Blog をご覧ください。 Storage Announcing the new Amazon S3 Express One Zone high performance storage class Amazon S3 で新しいストレージクラスとして Express One Zone の一般提供を開始しました。一貫して 1 桁ミリ秒のレイテンシーを要求する性能重視なアプリケーション向けに設計されています。S3 Standard と比較してデータアクセス速度が 10 倍向上し、リクエストコストが 1/2 となり、1 分あたり数百万件のリクエストを処理できるように拡張できます。保存されるオブジェクトは、1 個の AZ 内にある専用ハードウェアに保存、レプリケートされます。あらゆるサイズのオブジェクトを処理できますが、特に小さいオブジェクトに最適です。レイテンシーが短くなっており、多数の小さいファイルにアクセスするときに恩恵が得られやすいです。デメリットとしては、単一の AZ で火災や水害などの障害が発生した場合、データが失われる可能性があります。このような障害を除けば、Express One Zone はディスク障害、ホスト障害、ラック障害からオブジェクトを保護できる仕組みがあり、99.999999999 % のデータ耐久性を実現するように設計されています。東京リージョンを含む 4 リージョンで利用可能です。詳細は こちらの Blog をご覧ください。 Amazon EBS Snapshots Archive is now available with AWS Backup Amazon EBS のスナップショットを、低コストのアーカイブストレージに移行できる機能が、AWS Backup でも利用可能になりました。これまで、この機能は Amazon EC2 コンソールや Amazon Data Lifecycle Manager で利用できましたが、今回のアップデートにより、AWS Backup からも利用できるようになりました。EBS スナップショットアーカイブは、頻繁または高速な取得を必要とせず、めったにアクセスされないスナップショット向けの低コストの長期ストレージ層で、ストレージコストを最大 75% 節約できます。すべてのリージョンでご利用頂けます。詳細は こちらの Blog をご覧ください。 Automatic restore testing and validation now available in AWS Backup AWS Backup は、リソースの復元テストを実行できる restore testing を提供開始しました。この機能により、ストレージ、コンピューティング、データベース全般の AWS リソースに対して復元テストを自動化できます。ランサムウェアなどのデータ損失が発生した場合に、バックアップを使用して正常に復旧できるかどうかを事前に判断することで、安全なバックアップリストア戦略を実現できます。東京や大阪を含めた 27 リージョンでご利用頂けます。詳細は こちらの Blog をご覧ください。 それでは、また来週お会いしましょう! ソリューションアーキテクト 杉山 卓 (twitter – @sugimount )
みなさん、こんにちは。ソリューションアーキテクトの根本です。 今週も 週刊AWS をお届けします。 先週は AWS re:Invent 2023 が開催されました。週刊AWSは、毎週の新発表を発表日ごとに纏めるというのがコンセプトなのですが、今回は昨年に引き続きサービスのカテゴリごとにまとめる形にしました。非常に多くのアップデートがあったので、できる限りお届けしたく今回は Part 1 (本稿)と、 Part 2 の二本立てになります。 re:Inventのアップデートに関しては12/1(金)に発表内容をほぼ全て網羅したセミナー「 AWS Black Belt Online Seminar AWS re:Invent 2023速報 」も開催されています。こちらの資料と動画もすでにアップロードされていますのでぜひご確認ください。 また、年明けの2024年2月にre:Inventで発表された多くのアップデートを振り返るRecapイベントも開催いたします。以下のリンクからすでにお申し込みいただけますので是非ご参加ください! AWS re:Invent Recap – ソリューション編 AWS re:Invent Recap – インダストリー編 それでは まずは Part 1 を見ていきましょう。こちらでは以下のカテゴリについて取り扱います。 カテゴリリンク : Analytics | Application Integration | Business Applications | Cloud Financial Management | Compute | Contact Center | Container | Customer Enablement | Database | Developer Tools | End User Computing AWS re:Invent 2023期間に発表された主要なアップデート Part 1 (2023/11/27週) Analytics Amazon Redshift announces Multidimensional Data Layouts to optimize your query performance (preview) Amazon Redshiftの多次元データレイアウトソートキーサポートのプレビューが発表されました。多次元データレイアウトソートキーとは列に保存されているデータの順番でソートするのではなくフィルター述語でテーブルのデータをソートする新しいタイプのソートキーで、特にクエリワークロードに反復スキャンフィルターが含まれている場合に、テーブルスキャンのパフォーマンスを大幅に向上させます。この機能は東京を含む6つのリージョンでプレビューを利用可能です。詳細については ドキュメント や ブログ をご確認ください。また、この機能に限らず、re:Invent中に発表されたRedshiftの機能をまとめた 日本語ブログ も発信されています。合わせてご確認ください。 Amazon Q generative SQL is now available in Amazon Redshift Query Editor (preview) Amazon Redshift クエリエディタでAmazon Q Generative SQLのプレビューが発表されました。通常、Redshiftで分析のSQLを作成するには組織が持つデータの知識が必要になるかと思います。一方、Amazon Q Generative SQLを利用するとデータ構造やテーブル名を理解した上でSQLの生成を支援してくれる他、自然言語で調べたい内容を記入することでSQLを生成してくれるので、SQL作成の生産性が向上します。Amazon Q Generative SQLはバージニア北部、オレゴンでパブリックプレビューが可能です。詳細については ドキュメント もご確認ください。 Amazon Q in QuickSight simplifies data exploration with Generative BI capabilities (Preview) Amazon Q in QuickSightのプレビューが発表されました。この機能は自然言語によるダッシュボードの要約、データの説明のサマリー、データに関するミニダッシュボードの生成等を支援してくれるため、特にビジネスユーザのようにシステムに精通しないユーザーの生産性を高めることが可能です。Amazon Q in QuickSightはバージニア北部、オレゴンでパブリックプレビューが可能です。詳細については ブログ もご確認ください。 Amazon OpenSearch Service zero-ETL integration with Amazon S3 preview now available Amazon OpenSearch Service zero-ETL integration with Amazon S3のプレビューが発表されました。これまで、OpenSearchで検索したいデータはS3などの保管場所からOpenSearchにコピーする必要がありデータの複製の手間やコストがかかっていました。今回の機能追加により、S3に保存したデータに対してOpenSearchから直接アクセスすることが可能になったので、例えば運用ログのようなアクセス頻度の低いデータに関してはよりコスト効率よく、手間なく利用することが可能になります。この機能は東京を含む6つのリージョンでプレビューを利用可能です。詳細については ブログ や ドキュメント をご確認ください。 Accelerate data processing and analysis with Amazon EMR and Amazon S3 Express One Zone Accelerate data lake queries with Amazon Athena and Amazon S3 Express One Zone Amazon AthenaとAmazon EMRがAmazon S3 Express One Zoneに対応しました。(Amazon S3 Express One Zoneに関しては Part2 で扱っているのでそちらもご確認ください。) S3 Express One ZoneはS3 Standard と比較してデータアクセス速度が10倍向上し、リクエストコストが1/2のため、AthenaやEMRのようにS3のデータを直接参照するサービスにおいて性能向上と処理のコスト最適化が見込めます。Athenaでは最大2.1倍、EMRでは最大4.0倍高速化されます。詳細については Athena 、 EMR 各々のドキュメントをご確認ください。 AWS announces Amazon ElastiCache Serverless Amazon OpenSearch Serverless でベクトルエンジンの一般提供が開始されました。OpenSearch Serverless のベクトルエンジンは、シンプルでスケーラブルな高性能のベクトルデータベースであり、サーバーを管理することなく、機械学習や人工知能の機能を持つアプリケーションと簡単に連携ができるようになります。生成系 AI でベクトル埋め込みを生成し、文脈を意識したセマンティック検索などを実現する際に、検索エンジンとしてベクトルエンジンを利用できます。数千次元をもつ数十億のベクトル埋め込みをミリ秒以内に保存、更新、検索が実現できます。東京を含めた8つのリージョンで利用できます。詳細はこちらの ブログ をご確認ください。 Application Integration Amazon SQS announces increased throughput quota for FIFO High Throughput mode Amazon SQS announces support for FIFO dead-letter queue redrive Amazon SQSのデッドレターキューの再配信機能強化と、FIFO キューの高スループットモードの上限引き上げが発表されました。これまでもデットレターキューからの標準ソースキューや標準カスタム宛先キューへのメッセージの再配信をサポートしていました、今回のアップデートでFIFOソースキューやFIFOカスタム宛先キューへの再配信もサポートした形です。これによりリトライやデバッグの為の再配信が柔軟になります。この機能追加はSQSが利用可能なすべてのリージョンで利用できます。また、高スループットモードに関してはバージニア北部、オレゴン、アイルランドで最大70,000件/秒まで強化されています。詳細については こちらのブログ もご確認ください。 Business Applications Introducing Amazon One Enterprise (Preview) 組織のアクセスコントロールのための手のひら認証デバイス、Amazon One Enterpriseのプレビューが発表されました。Amazon One Enterpriseの精度は99.9999%を誇り、データの転送や保存に渡り多層のセキュリティ対策がされています。エンタープライズ企業の厳格なアクセスコントロールの方法をバッチやPIN、パスワードなどから置き換えることで管理者の手間を削減できます。Amazon One Enterpriseは米国内のみでのプレビューとなります。詳細に関しては Contact us からご確認ください。 Cloud Financial Management AWS Free Tier usage is now available through the GetFreeTierUsage API AWS 無料利用枠の使用状況にGetFreeTierUsage API経由でアクセスできるようになりました。これによりAWS SDKやCLI、そしてサードパーティのツールを介してプログラム的に把握することが可能になります。詳細については ブログ も出ているので是非ご確認ください。 Introducing Cost Optimization Hub AWS Billing and Cost ManagementにCost Optimization Hubという機能が追加されました。Cost Optimization HubはOrganizationのメンバーアカウントやリージョン全体でコスト最適化の推奨事項に関して可視化や検討をサポートする機能です。コスト最適化の推奨事項は、EC2インスタンスの適正サイズ、起動されて未使用のリソース、Gravitonの移行推奨、Savings Plan等15以上準備されています。詳細についてはこちらの ブログ や ユーザーガイド もご確認ください。 Compute Announcing Amazon EC2 High Memory U7i instances (Preview) 最大32TiBのDDR5メモリを備えたAmazon EC2 U7iインスタンスのプレビューが発表されました。U7iインスタンスはXeon Scalable Processors (Sapphire Rapids)を採用しておりU-1インスタンスと比較し最大125%高い処理性能を発揮と最大100Gbpsのネットワーク帯域を持ちます。主にはSAP HANAやその他インメモリのデータベース等に最適なインスタンスです。このプレビューでは、U7i インスタンスは u7in-16tb.224xlarge、u7in-24tb.224xlarge、u7in-32tb.224xlarge の 3 つのサイズでご利用いただけます。詳細については ブログ や、U7iインスタンスのプレビューへのアクセスをリクエストするには High Memory インスタンスのページ をご覧ください。 Announcing new Amazon EC2 R8g instances powered by AWS Graviton4 processors (Preview) Amazon EC2 R8gインスタンスのプレビューが発表されました。AWS Graviton4 プロセッサを搭載しており、AWS Graviton3とくらべ30%高速かつ、広いメモリ帯域を持つので、データベースやインメモリストア、リアルタイムのビックデータ分析などに最適です。R8gインスタンスのプレビューへのアクセスをリクエストするには Amazon R8g インスタンスのページ をご覧ください。また、詳細については ブログ もご確認ください。 Contact Center Amazon Q in Connect offers generative AI powered agent assistance in real-time Generative AIを活用したアシスタントサービスであるAmazon QをConnectでも利用できるようになりました。Amazon Q in Connectにより、通話やチャットの中で顧客の意図をリアルタイムに検出し、推奨アクションや対応するエージェントに関連文献をサジェスチョンすることが可能になります。東京リージョンを含む6つのリージョンでご利用可能です。詳細に関しては ブログ や ドキュメント もご確認ください。 Amazon Connect provides Zero-ETL analytics data lake to access contact center data (preview) Amazon Connect analytics data lakeのプレビューが発表されました。analytics data lakeを使うと、複雑なワークフローを作らずともコンタクトセンターのパフォーマンス指標の可視化や詳細な分析が可能になります。また、Amazon Athena、Amazon QuickSight、3rd-Partyツールとも連携してカスタムレポートやダッシュボード作成も可能です。Amazon Connect analytics data lakeは東京を含む10リージョンでプレビュー利用が可能です。詳細については ドキュメント もご確認ください。 Container Amazon EKS introduces EKS Pod Identity Amazon EKSで、PodにIAM Roleを割り当てる新機能としてEKS Pod Identityがリリースされました。これまで同じことをするにはIAM roles for service accounts(IRSA)をする必要がありましたが、今回の機能を使うとより簡単に設定することが可能です。例えば、新しいクラスターを作成した際にロール信頼性ポリシーの更新が不要になるほか、クラスター名、名前空間、サービスアカウント名などの属性とAWSリソースのアクセス権限の紐付け等ができるようになります。EKS Pod IdentityはAWS GovCloud, 北京、寧夏を除くAmazon EKSが利用可能なすべてのAWSリージョンでご利用可能です。詳細については ドキュメント や ブログ もご確認ください。 Amazon Managed Service for Prometheus launches an agentless collector for Prometheus metrics from Amazon EKS Amazon Managed Service for Prometheus collectorが発表されました。これまで、PrometheusでEKSのメトリクスを収集するためにはエージェントの導入と、管理が必要でした。今回のアップデートにより、Amazon EKSコンソール、もしくはAPI経由でエージェント不要でKubernetes APIサーバからのメトリクスを検出、収集できるようになりました。このアップデートはAmazon Managed Service for Prometheusが利用可能なすべてのリージョンで利用可能です。詳細については ブログ もご確認ください。 Customer Enablement Announcing the general availability of AWS re:Post Private AWS re:Post Privateの一般提供が開始されました。AWS re:Post は、AWSが管理するQ&Aサービスで、AWSに関する技術的な質問に対して、専門家やコミュニティメンバーがやりとりできるものです。今回、このPrivate版として企業・組織内で利用いただける他、AWSサポートセンターとの統合によりディスカッションスレッドをサポートケースに変換することも可能です。Enterprise SupportおよびEnterprise On-Ramp Supportをご利用の方向けのサービスで、オレゴンとフランクフルトの2つのリージョンで提供開始されています。詳細については re:Post Rivate のページや ブログ もご確認ください。 Database Announcing Amazon Aurora Limitless Database Amazon Aurora クラスターを秒間数百万の書き込みでも対応できるよう自動スケールするAmazon Aurora Limitless Databaseのプレビューが発表されました。トランザクションへの一貫性を維持しながらデータやクエリを自動的に分散してくれるサーバレスエンドポイントや、分散型のクエリプランニング、トランザクション管理の機能により、シャーディングのように複数のデータベースを管理する必要なく拡張性を得ることが可能です。Aurora Limitless Databaseは、東京を含む4つのリージョンで、Amazon Aurora PostgreSQL 互換エディションの限定プレビューを行なっています。プレビューへの参加リクエストは こちら から行うことができます、 Announcing the general availability of Amazon RDS for Db2 Amazon RDSのラインナップにDb2が追加されました。Db2 バージョン11.5をサポートしており、ライセンスはBYOLが必要になります。マネージドサービスとして利用することで、プロビジョニング、パッチ適用、バックアップ、障害検出、リカバリ等、管理タスクをRDSに任せることができ、よりアプリケーションやビジネスに集中いただけます。その他詳細に関しては ドキュメント や ブログ をご確認ください。 AWS announces Amazon DynamoDB zero-ETL integration with Amazon OpenSearch Service Amazon DynamoDBとAmazon OpenSearch ServiceがZero-ETLに統合されました。この統合により、DynamoDBのデータを逐一抽出、変換、コピーするプログラムや仕組みを構築することなく、シームレスにOpenSearchで全文検索やベクトル検索などの高度な検索をすることが可能になります。この統合機能は東京を含む13のリージョンで利用可能です。詳細については ブログ をご確認ください。 AWS announces Amazon Aurora PostgreSQL zero-ETL integration with Amazon Redshift (Public Preview) AWS announces Amazon RDS for MySQL zero-ETL integration with Amazon Redshift (Public Preview) Amazon Aurora PostgreSQL互換とAmazon RDS for MySQLでAmazon RedshiftへのZero-ETL機能のプレビューが発表されました。複雑なデータ処理を作成・管理せずとも、AuroraやRDSに書き込まれたトランザクションデータが数秒内にRedshiftでも利用可能になります。Aurora PostgreSQLに関してはオハイオリージョンのAurora PostgreSQL 15.4で、RDS for MySQLは東京を含む5つのリージョンのMySQL バージョン 8.0.28以上でパブリックプレビューが可能です。詳細については Aurora 、 RDS 、 Redshift 各々のドキュメントをご確認ください。 Developer Tools Introducing an Integrated Development Environment (IDE) extension for AWS Application Composer AWS Toolkitの機能強化により、Application ComposerをVS Code経由で使えるようになりました。AWS Application ComposerのビジュアルキャンバスによるGUI経由での操作のほか、生成系AIによるコード提案も利用して効率的にAWSリソースの設計、開発を進めることができるようになります。あくまでもAWS Toolkitの機能なので こちら から入手可能です。詳細については ドキュメント と ブログ もご確認ください。 AWS AppConfig Agent launches write to disk, backups, and permission mapping AppConfig エージェントに新たな機能が追加がされました。AppConfigはアプリケーションの設定をAWS上で管理するサービスです。使い方の例を挙げると、新旧両方のプログラムを含むアプリケーションを事前にデプロイしておき、AppConfigの機能フラグで新旧どちらを使うか切り替える仕組みにしておくことで、資源のデプロイとアプリケーションのロールアウトのタイミングを安全に分けることを可能にする他、様々な使い方があるサービスです。AppConfigを使う際、ローカルでのキャッシュやポーリングの仕組みなど、面倒な実装をせずに使えるようにするのがAppConfig エージェントです。今回、AppConfig エージェントがローカルディスクへの機能フラグや構成データの書き込みに対応した他、最新バージョンの機能フラグをローカルバックアップし耐障害性を高める機能、ローカル環境でのテスト機能、IAMとの連携によるきめ細やかな権限管理の4つの機能が追加されました。詳細については App Config エージェント のドキュメントもご確認ください。 End User Computing Amazon WorkSpaces Multi-Region Resilience launches one-way data replication Amazon WorkSpaces Multi-Region Resilienceにリージョン間の一方向レプリケーション機能が追加されました。これまで、リージョン障害時にはstandby configuration機能によって迅速にセカンダリリージョンを利用できる仕組みがありましたが、今回の強化によって12時間毎のルート及びユーザボリュームを取得、使用できるようになります。今回の機能追加は、バージニア北部、オレゴン、フランクフルト、アイルランドなど、Multi-Region Resilienceが利用できるAWSリージョンで利用できます。詳細については ブログ や ドキュメント をご確認ください。 それでは、 Part 2 もお楽しみください。 ソリューションアーキテクト 根本 裕規 (twitter – @rr250r_smr )
11月26日、IDE とコマンドライン用の AI 搭載生産性向上ツールである、 Amazon CodeWhisperer の人工知能 (AI) を活用したコード修復と Infrastructure as Code (IaC) サポートの一般提供開始が発表されました。また、Amazon CodeWhisperer が Visual Studio でもプレビュー版として利用できるようになりました。Amazon CodeWhisperer に対するこれらの新しい機能強化により、提携型の作業から解放され、顧客向けの自動化、セキュリティ、効率化、コード配信のスピードアップを実現することで、ソフトウェア開発をより迅速かつ効率的に行えるようになります。また、こうしたサポートがデベロッパーの望む環境で提供できるようになります。 AI を活用したコード修復 – Amazon CodeWhisperer は、発売以来、組み込みのセキュリティスキャンにより、見つけにくいセキュリティの脆弱性を特定してきました。現在では、特定されたセキュリティやコード品質の問題の修正に役立つ、生成系 AI を活用したコード提案が提供されています。組み込みのセキュリティスキャンは、漏えいした認証情報やログインジェクションなどの問題を検出するよう設計されています。生成系 AI を活用したコード提案は、特定された脆弱性を修正するよう設計されているほか、アプリケーションコードに合わせて調整されるため、ユーザーは自信を持って、迅速に修正を利用することができます。CodeWhisperer でセキュリティスキャンが完了すると、コード提案が表示されます。ユーザーはこれを使用するだけで、特定された脆弱性を迅速に修正できます。生成系 AI を活用したコード提案は、セキュリティ問題の対処プロセスをスピードアップします。それによって、ユーザーは正しいソリューションを見つけるために手動で 1 行ずつコードを確認する必要がなくなり、より価値の高い作業に集中できます。この機能を利用するために、Amazon CodeWhisperer で追加的なセットアップを行う必要はありません。 セキュリティスキャンはこれまでも Java、Python、および JavaScript で利用できましたが、今後は TypeScript、C#、AWS CloudFormation (YAML、JSON)、AWS CDK (TypeScript、Python)、および HashiCorp Terraform (HCL) でも利用できます。脆弱性を修復するためのコード提案は、現在 Java、Python、JavaScript で記述されたコードに対し提供されています。 Infrastructure as Code (IaC) – Amazon CodeWhisperer での IaC サポート開始が発表されました。今後、AWS CloudFormation (YAML、JSON)、AWS CDK (Typescript、Python)、および HashiCorp Terraform (HCL) がご利用いただけるようになります。この更新により、IaC スクリプト開発の効率が向上し、デベロッパーと DevOps チームがインフラストラクチャコードをシームレスに記述できるようになります。複数の IaC 言語をサポートすることで、CodeWhisperer は、多様なチーム間のコラボレーションと一貫性を促進します。これにより、クラウドインフラストラクチャの開発が大幅に進歩し、ユーザーはより合理的で生産的なコーディングエクスペリエンスを得られるようになります。 Visual Studio – Amazon CodeWhisperer が Visual Studio 2022 (プレビュー) で利用できるようになりました。デベロッパーは、C# のリアルタイムコード提案により、アプリケーションをより迅速に構築できます。AWS Toolkit 拡張機能をインストールし、 AWS ビルダー ID でサインインすることで、無料で個人利用枠の利用を開始できます。 また、CodeWhisperer は、公開されているコードに似ている可能性のあるコード提案にフラグを付けることで、デベロッパーが責任を持ってコーディングを行えるよう支援します。CodeWhisperer は、公開コードに似たコードの場合、リポジトリの URL とライセンスを提供します。 最後に、Amazon CodeWhisperer は最近 (11 月 20 日)、コマンドラインインターフェイス用の新たな時短機能のプレビューを開始しました。Amazon CodeWhisperer にて、Git、npm、AWS CLI、Docker など、多数の一般的な CLI 向けに先行入力コード補完とインラインドキュメント機能が追加されました。また、自然言語をシェルコードに変換する機能も追加されています。詳細については、「 Introducing Amazon CodeWhisperer for command line 」をご覧ください。 詳細はこちら Amazon CodeWhisperer 構築しましょう! – Irshad 原文は こちら です。
11月13日週は、なんと 160 を超える新サービスがリリースされました。たくさんの更新情報であふれかえっていたため、私たちは Weekly Roundup をもう一度投稿することにしました。 AWS re:Invent 2023 の開催が近づく中、11月13日週と同じペースでイノベーションが継続されています。 AWS のニュースブログチームでも、皆さんに記事を楽しんでもらうために、サービスチームによる素晴らしいリリースを紹介する re:Invent 関連の新しいブログ記事の仕上げに取りかかっています。Jeff Barr が、ブログ作成のジャーニーとプロセスを説明する The Road to AWS re:Invent 2023 を共有しています。11月20日週もどうぞお楽しみに! 11月13日週のリリース 11月13日週のリリースのうち、私の目に留まったものをいくつかご紹介します。 Amazon EC2 DL2q インスタンス – 新しい DL2q インスタンス には Qualcomm AI 100 Standard アクセラレータが搭載されており、パブリッククラウドで 最初に Qualcomm の AI テクノロジーを採用 したインスタンスです。8 台の Qualcomm AI 100 Standard アクセラレータと合計 128 GiB のアクセラレータメモリを備えた DL2q インスタンスでは、一般的な生成系人工知能 (AI) アプリケーションを実行して、スマートフォン、自動運転、パーソナルコンピューティング、そしてエクステンデッドリアリティヘッドセットにおよぶエッジデバイスに拡張し、これらの AI ワークロードを開発および検証してからデプロイすることが可能です。 Amazon Bedrock の PartyRock – AWS は、生成系 AI アプリを構築するための、Amazon Bedrock 駆動の直感的で実践的な楽しいプレイグラウンド環境、 PartyRock を導入しました。実験したり、プロンプトエンジニアリングについて学んだり、ミニアプリを構築したり、アプリを友達と共有したりすることができますが、コードを書いたり、AWS アカウントを作成したりする必要はありません。 また、Amazon Bedrock では Meta Llama 2 Chat 13B 基盤モデル に加えて、 Cohere Command Light、および Cohere Embed の English と Multilingual モデル へのアクセスも可能になりました。 6 周年を迎えた AWS Amplify – 新しい Amplify Documentation サイト、ホスティングおよび JavaScript ライブラリでの Next.js 14 のサポート、Amplify Auth へのカスタムトークンプロバイダーと自動 React Native ソーシャルサインイン更新の追加、新しい ChangePassword および DeleteUser アカウント設定コンポーネント、そして 新しい Amplify JavaScript v6 を使用するためのすべての Amplify UI パッケージの更新を含めた、 6 つの新しいリリース が発表されました。AWS Amplify ホスティングにデプロイされた Amplify アプリケーションでカスタムドメインを使用するときは、 ワイルドカードサブドメイン を使用することもできます。 この 1 週間で公開された主要リリースに関するその他のニュースブログ記事も、ぜひチェックしてください。 AWS Glue データカタログが Apache Iceberg テーブルの自動コンパクションをサポートするように 新着 – AWS Audit Manager が初のサードパーティー GRC 統合のサポートを開始 AWS Resource Explorer がマルチアカウント検索をサポート Amazon EBS スナップショットが、より優れたコンプライアンスのために個々のスナップショットのロックをサポート Amazon Polly が新しい長文読み上げエンジンによる 3 つの新しいボイスをサポート その他の AWS サービスのリリース 以下に、その他のバンドル機能のリリースを AWS サービス別にいくつかリストしました。 Amazon Athena – 新しいコストベースオプティマイザ (CBO) を使用して、AWS Glue データカタログと、ほぼすべての認証プラグインをサポートする新しい代替ドライバーである Athena JDBC 3.x ドライバー を用いて収集された 表統計と列統計 に基づくクエリパフォーマンスを強化することができます。また、 Amazon EMR Studio を使用 して、Amazon Athena でインタラクティブなクエリを開発し、実行することもできます。 Amazon CloudWatch – EBS Stalled I/O Check と呼ばれる新しい CloudWatch メトリクスを使用して、Amazon EBS ボリュームの正常性、関連するログイベントを検索して一致させるための Amazon CloudWatch Logs Live Tail フィルターパターン構文の 正規表現 、CloudWatch Application Insights での SAP Sybase ASE データベースのオブザーバビリティ 、および結果で集約を実行するための Log Insights クエリ内の 最大 2 つの stats コマンド を監視することができます。 Amazon CodeCatalyst – CodeCatalyst ワークフローからの Amazon Virtual Private Cloud (Amazon VPC) への接続、 CodeCatalyst ワークフロー内で Terraform を使用することによるインフラストラクチャのプロビジョニング、 IAM アイデンティティセンターで設定された Workforce アイデンティティ を使用した CodeCatalyst へのアクセス、および CodeCatalyst スペースのメンバーで構成された チームの作成 を実行することができます。 Amazon Connect – 事前構築されたキューパフォーマンスダッシュボード と、 Contact Lens 会話型分析ダッシュボード を使用して、リアルタイムの集約キューパフォーマンスと履歴的な集約キューパフォーマンスを表示し、比較することができます。「 /#greet 」を入力してパーソナライズされた応答を挿入するなどの事前に記述されたフォーマットによる チャットのクイックレスポンス や、マルウェアやその他の望ましくないコンテンツを検出するための 添付ファイルのスキャン を使用することも可能です。 AWS Glue – AWS Glue for Apache Spark が、Teradata、SAP HANA、Azure SQL、Azure Cosmos DB、Vertica、および MongoDB の 6 つの新しいデータベースコネクタ と、 Amazon OpenSearch Service へのネイティブ接続 を追加しました。 AWS Lambda – AWS Lambda コンソールで メトリクス、ログ、およびトレースのシングルペインビュー を表示するとともに、 高度なロギング設定制御 を使用して、ログを JSON 構造形式でネイティブにキャプチャすることができます。 Lambda コンソールで SAM テンプレートを表示 して、関数の設定を AWS Application Composer にエクスポートできます。AWS Lambda は、新しい Amazon Linux 2023 ランタイム上に構築された Java 21 バージョンと NodeJS 20 バージョンもサポートします。 米国テキサス州ダラスの AWS Local Zones – Amazon EC2 C6i、M6i、R6i、C6gn、M6g の各インスタンス、および gp2、gp3、io1、sc1、st1 の Amazon EBS ボリュームタイプで、 米国テキサス州ダラスの新しいローカルゾーン 、 us-east-1-dfw-2a を有効にすることができます。この新しいローカルゾーン内の Amazon ECS、Amazon EKS、Application Load Balancer、および AWS Direct Connect にアクセスして、エッジで幅広いワークロードをサポートすることもできます。 Amazon Managed Streaming for Apache Kafka (Amazon MSK) – AWS Identity and Access Management (IAM) を使用して Kafka リソースに対するアクセスコントロール を標準化し、あらゆるプログラミング言語で記述された Amazon MSK Serverless 向けの Kafka クライアント を構築することができます。これらは、 Java 、 Python 、 Go 、 JavaScript を含めた一般的な言語のための、オープンソースのクライアントヘルパーライブラリおよびコードサンプルです。また、Amazon MSK は Apache Kafka 3.6.0 の拡張バージョン のサポートも開始しました。このバージョンは、一般提供されている階層型ストレージを提供し、ストレージを使い果たしてしまうリスクが生じた場合には、 ストレージ容量アラート を自動的に送信します。 Amazon OpenSearch Service Ingestion – 最新バージョンの Amazon OpenSearch Service に Elasticsearch バージョン 7.x クラスターからのデータを移行 するとともに、受信データの耐久性を保護するための 永続的なバッファリング を使用することができます。 Amazon RDS – Amazon RDS for MySQL が、 Group Replication プラグイン を使用したアクティブ/アクティブ構成のクラスターの作成、 MySQL 5.7 スナップショットから MySQL 8.0 へのアップグレード、および MySQL 8.1 の Innovation Release バージョン をサポートするようになりました。 Amazon RDS Custom for SQL Server は、最大 1,000 台のデータベースに ポイントインタイムリカバリのサポート を拡張し、透過的データ暗号化 (TDE)、表および列レベルでの暗号化、DBMail およびリンクされたサーバーを使用するための サービスマスターキーの保持 をサポートするとともに、Bring Your Own Media (BYOM) 機能を用いて SQL Server Developer Edition を使用します。 さらに、2 つの読み取り可能なスタンバイを備えた Amazon RDS マルチ AZ 配置は、Amazon RDS Proxy の使用時に、通常 1 秒未満のダウンタイムでの マイナーバージョンアップグレードとシステムメンテナンス更新 をサポートするようになりました。 AWS パートナーセントラル – AWS パートナーセントラルの 改善されたユーザーエクスペリエンス を使用して製品の構築と宣伝を行い、Partner Analytics Dashboard にある 新しい投資タブ で実用的なインサイトを入手することができます。パートナーセントラルと AWS Marketplace 間で アカウントと関連するユーザーをリンク し、APN カスタマーエンゲージメント (ACE) マネージャーとの 強化された共同販売エクスペリエンス を利用できるようになりました。 Amazon QuickSight – ユーザーアクセスのプログラム的な管理 と、 ロールに対するカスタム許可のサポート により、API を使用して IAM アイデンティティセンターと Active Directory の QuickSight アカウントに QuickSight 機能を制限できるようになりました。また、 共有された制限付きフォルダ 、コントリビューターロール、フォルダ内でのデータソースアセットタイプのサポート、および多種多様な業界と社会的コンテキスト全体のお客様のデータ分析エクスペリエンスを向上させるために設計された追加機能である、 週のカスタム開始日 機能も使用できます。 AWS Trusted Advisor – 新しい API を使用して Trusted Advisor のベストプラクティスチェック、推奨事項、および優先順位付けされた推奨事項にプログラム的にアクセスするとともに、DB インスタンスの設定、使用状況、およびパフォーマンスデータを分析することによってベストプラクティスガイダンスを提供する 37 の新しい Amazon RDS チェック を使用することができます。 このブログで取り上げなかったリリースニュースもたくさんあります。詳細については、「 AWS の最新情報 」を参照してください。 AWS re:Invent でバーチャルにお会いしましょう 来週、私たちは米国ラスベガスで AWS の最新情報を聞き、エキスパートから学び、グローバルクラウドコミュニティとつながります。re:Invent に参加する場合は、出発前に アジェンダ 、 セッションカタログ 、および 参加者ガイド を確認してください。 今年の re: Invent に直接参加できない場合のために、AWS では 基調講演とイノベーショントークをライブストリーミングする オプションもご用意しています。 オンラインパスに登録 することで、イベント後にオンデマンドの基調講演、イノベーショントーク、および厳選されたブレイクアウトセッションにアクセスできます。 – Channy 原文は こちら です。
データサイエンティストやアプリケーション開発者が大量のグラフデータを迅速に分析できるようにする新しい分析データベースエンジン、 Amazon Neptune Analytics の一般提供を開始しました。Amazon Neptune Analyticsを使えば、 Amazon Neptune または Amazon Simple Storage Service (Amazon S3) 上のデータレイクからデータセットを素早くロードし、ほぼリアルタイムで分析タスクを実行することができます。 グラフデータは、多様なデータ領域内の複雑な関係やつながりを表現し、分析することを可能にします。一般的なアプリケーションとしては、ソーシャルネットワークがあり、コミュニティの特定、つながりの推奨、情報拡散の分析に役立ちます。サプライチェーン管理では、グラフは効率的なルート最適化やボトルネックの特定を容易にします。サイバーセキュリティでは、ネットワークの脆弱性を明らかにし、悪意のある活動のパターンを特定します。グラフデータはナレッジマネジメント、金融サービス、デジタル広告、ネットワークセキュリティに応用され、銀行取引におけるマネーロンダリングネットワークの特定やネットワークの脆弱性の予測などのタスクを実行します。 2018年5月にAmazon Neptuneのサービスが開始 してから、何千ものお客様が、グラフデータを保存し、グラフの特定のサブセットを更新および削除するサービスを採用しています。しかし、洞察を得るためにデータを分析するには、多くの場合、グラフ全体をメモリに読み込む必要があります。たとえば、不正行為の検出を目的とする金融サービス会社では、過去の口座取引をすべて読み込んで関連付ける必要がある場合があります。 一般的なグラフアルゴリズムの実行など、広範なグラフデータセットの分析を行うには、専用のツールが必要です。個別の分析ソリューションを利用するには、処理対象のデータを転送するための複雑なパイプラインを構築する必要がありますが、これは操作が難しく、時間がかかり、エラーも発生しやすくなります。さらに、既存のデータベースやデータレイクからグラフ分析ソリューションに大規模なデータセットを読み込むには、数時間から数日かかることもあります。 Amazon Neptune Analytics は、フルマネージド型のグラフ分析エクスペリエンスを提供します。インフラストラクチャの面倒な作業を処理してくれるため、お客様はクエリやワークフローなどの課題の解決に集中できます。Amazon Neptune Analytics は、グラフのサイズに応じてコンピューティングリソースを自動的に割り当て、すべてのデータをメモリにすばやく読み込んで、クエリを数秒で実行します。最初のベンチマークでは、Neptune Analytics が既存のAWSソリューションよりも最大80倍高速にAmazon S3 からデータをロードできていることがわかりました。 Neptune Analytics は、15種類のアルゴリズムに対応する5種類のアルゴリズムファミリーをサポートしています。 それぞれに複数のバリエーションがあります。たとえば、Pathfinding(経路探索)、クラスタリング、重要なデータの特定 (中心性)、類似性の定量化のためのアルゴリズムを提供しています。 Pathfinding(経路探索)アルゴリズム は、サプライチェーン最適化のためのルートプランニングなどのユースケースに使用されます。 ページランク などの 中心性アルゴリズム は、最も影響力のある売り手をグラフで特定します。 連結成分 , クラスタリング 、類似性アルゴリズムなどのアルゴリズムを不正検出のユースケースに使用して、接続されたネットワークが友人のグループなのか、あるいは連携した詐欺師の集まりによって形成された詐欺の輪(Fraud Ring)なのかを判断できます。 Amazon Neptune Analytics は、以下を使用してグラフアプリケーションの作成を容易にします。 openCypher は現在広く採用されているグラフクエリ言語の1つです。開発者、ビジネスアナリスト、データサイエンティストは、openCypherのSQLに着想を得た構文を高く評価しています。グラフクエリを作成するのに馴染みがあり構造化されているからです。 Amazon Neptune Analyticsの利用開始手順 AWS News Blogでいつも行っているように、その手順をお見せしましょう。このデモでは、 AWS Management Console から、まず Neptune に移動します。 左側のナビゲーションペインの「 Analytics 」セクションから「 Graph 」を選択します。 それから 「 Create graph 」を選択します。 グラフの作成ページで、グラフ解析データベースエンジンの詳細情報を入力します。 各パラメータの詳細はここでは割愛します。 ほとんどの場合、セキュリティの観点から、グラフはVPCの境界からのみ利用できるようにすることがほとんどです。パブリックアクセスを許可しないようにしてください。また、アカウントVPCネットワーク内のマシンやサービスからのプライベートアクセスを許可するために、Privateエンドポイントも作成します。 ネットワーク・アクセス・コントロールに加え、ユーザーがグラフにアクセスするには適切なIAMパーミッションが必要です。 最後に、ベクトル検索を有効にして、データセット内の埋め込みを使った類似性検索を実行します。ベクトルの次元は、埋め込みを生成するために使用する大規模言語モデル(LLM)などに依存します。 準備ができたら、グラフの作成を選択します。数分後、グラフが表示されるはずです。 その後「 Connectivity & security 」の「 Endpoint 」を確認してください。これは後でアプリケーションからグラフにアクセスするときに使う時のDNS名となります。 補足ですが、レプリカを作成することもできます。レプリカは、別のアベイラビリティ・ゾーンにあるグラフのウォーム・スタンバイ・コピーです。高可用性を実現するために、1つまたは複数のレプリカを作成することもできます。デフォルトではレプリカを1つ作成しますが、可用性の要件によってはレプリカを作成しないこともできます。 グラフデータに対するビジネスクエリ Amazon Neptune Analytics グラフが利用できるようになったので、データをロードして分析してみよう。このデモでは、あなたが金融業界で働いていると想像してください。 米国証券取引委員会(SEC) から入手したデータセットがあります。このデータセットには、資産1億ドル以上の投資家が保有するポジションのリストが含まれています。以下は、このデモで使用するデータセットの構造を説明するための図です。 ある投資会社(仮に “Seb’s Investments LLC “とします)の保有ポジションをもっとよく理解したいとします。上位5社の保有銘柄は何か、同じ会社で10億ドル以上を保有している会社は他にあるか。また、Seb’s Investments LLCと同じようなポートフォリオを持つ投資会社が他にあるのか知る必要があるとします。 分析を始めるために、 AWS Management Console の NeptuneセクションでJupyterノートブックを作成 します。ノートブックでは、まず分析エンドポイントを定義し、S3バケットからデータセットをロードします。1,700万レコードをロードするのに18秒しかかかりません。 それから、openCypherのクエリを使ってデータセットを探索します。まずはパラメータを定義します。 params = {'name': "Seb's Investments LLC", 'quarter': '2023Q4'} まず、Seb’s Investments LLCの今四半期の持ち株上位5銘柄と、同じ会社で10億ドル以上を保有している他に彼かを知る必要があります。openCypherでは、以下のクエリで記述します。 $name パラメータの値は “Seb’s Investment LLC”、 $quarter パラメータの値は “2023Q4 “です。 MATCH p=(h:Holder)-->(hq1)-[o:owns]->(holding) WHERE h.name = $name AND hq1.name = $quarter WITH DISTINCT holding as holding, o ORDER BY o.value DESC LIMIT 5 MATCH (holding)<-[o2:owns]-(hq2)<--(coholder:Holder) WHERE hq2.name = '2023Q4' WITH sum(o2.value) AS totalValue, coholder, holding WHERE totalValue > 1000000000 RETURN coholder.name, collect(holding.name) 次に、”Seb’s Investments LLC “と同じような持ち株を持つ他の上位5社を知りたいです。 topKByNode() 関数を使用してベクトル検索を実行します。 MATCH (n:Holder) WHERE n.name = $name CALL neptune.algo.vectors.topKByNode(n) YIELD node, score WHERE score >0 RETURN node.name LIMIT 5 このクエリは、”Seb’s Investments LLC “という名前の特定のHolderノードを識別します。次に、Amazon Neptune Analytics のカスタムしたベクトル類似性検索アルゴリズムを、Holderノードの埋め込みプロパティに利用し、グラフ内の類似する他のノードを検索します。結果は、正の類似性スコアを持つものだけを含むようにフィルタリングされ、クエリは最終的に最大5つの関連するノードの名前を返します。 利用リージョンと価格 Amazon Neptune Analyticsは、2023年11月30日より、米国東部(オハイオ州、バージニア州)、米国西部(オレゴン州)、アジア太平洋地域(シンガポール、東京)、欧州(フランクフルト、アイルランド)の7つのAWSリージョンでご利用いただけます。 利用料金は従量制で、定期的なサブスクリプションや1回限りのセットアップ料金は発生しません。 Amazon Neptune Analyticsの価格は、メモリに最適化されたNeptuneキャパシティ・ユニット(m-NCU)の構成に基づきます。各m-NCUは、1時間の計算およびネットワーク容量と1GiBのメモリに相当します。128m-NCUから始まり、最大4096m-NCUまでの構成を選択できます。m-NCUに加えて、グラフ・スナップショットにはストレージ料金がかかります。 詳しくは、 Amazon Neptune の価格ページ をご覧ください。 Amazon Neptune Analyticsは、大規模なグラフデータセットを分析するための新しい分析データベースエンジンです。不正検知・防止、デジタル広告、サイバーセキュリティ、輸送ロジスティクス、バイオインフォマティクスなどのユースケースにおいて、深い洞察をより迅速に発見することができます。 Amazon Neptune Analyticsを今すぐ使ってみよう AWS Management Console にログインして、Amazon Neptune Analyticsを是非試してみてください。 著者について Sébastien Stormacq Sebは、80年代半ばに初めてCommodore 64に触れて以来、コードを書き続けています。彼は、情熱、熱意、顧客志向、好奇心、創造性を駆使して、AWSクラウドの価値を引き出すためにビルダーを鼓舞します。ソフトウェア・アーキテクチャ、開発者ツール、モバイル・コンピューティングに興味があります。 本記事は 2023/11/30に投稿された Analyze large amounts of graph data to get insights and find trends with Amazon Neptune Analytics を翻訳した記事です。翻訳はソリューションアーキテクトの木村 達也が行いました。
運用データの操作を容易にするために、 Amazon CloudWatch は11月26日、Logs および Metrics Insights 用の自然言語クエリ生成を導入します。 生成系人工知能 (AI) を活用したこの機能を使用すると、求めているインサイトの説明を英語で記述でき、Logs または Metrics Insights のクエリが自動的に生成されます。 この機能は、CloudWatch Logs と Metrics Insights 用に 3 つの主要な機能を提供します。 簡単に開始するのに役立つよう、説明または質問から新しいクエリを生成します。 より高度な機能を含む言語の学習に役立つクエリの説明。 ガイド付きのイテレーションを使用して既存のクエリを改良します。 いくつかの例を使用して、これらが実際にどのように機能するかを見てみましょう。最初にログについて説明し、その後にメトリクスについて説明します。 自然言語を使用して CloudWatch Logs Insights クエリを生成する CloudWatch コンソール の [ログ] セクションで、 [Log Insights] を選択します。その後、調査する AWS Lambda 関数のロググループを選択します。 [クエリジェネレーター] ボタンを選択して、新しい [プロンプト] フィールドを開き、自然言語を使用して必要な情報を入力します。 Tell me the duration of the 10 slowest invocations その後、 [新しいクエリを生成] を選択します。次の Log Insights クエリが自動的に生成されます。 fields @timestamp, @requestId, @message, @logStream, @duration | filter @type = "REPORT" and @duration > 1000 | sort @duration desc | limit 10 [クエリを実行] を選択して結果を確認します。 出力に含まれる情報が多すぎることがわかりました。必要なデータのみを表示したいので、 [プロンプト] に次の文を入力し、 [クエリを更新] を選択します。 Show only timestamps and latency クエリは入力に基づいて更新され、タイムスタンプと期間のみが返されます。 fields @timestamp, @duration | filter @type = "REPORT" and @duration > 1000 | sort @duration desc | limit 10 更新されたクエリを実行すると、読みやすい結果を得ることができました。 次に、ログにエラーが含まれているかどうかを確認したいと思います。次の文を [プロンプト] に入力し、新しいクエリを生成します。 Count the number of ERROR messages リクエストに応じて、生成されたクエリは、 ERROR 文字列を含むメッセージをカウントします。 fields @message | filter @message like /ERROR/ | stats count() クエリを実行すると、想定よりも多くのエラーがあることがわかりました。さらに詳しい情報が必要です。 このプロンプトを使用してクエリを更新し、エラーをより適切に分散させます。 Show the errors per hour 更新されたクエリは、 bin() 関数を使用して、結果を 1 時間ごとの間隔でグループ化します。 fields @timestamp, @message | filter @message like /ERROR/ | stats count(*) by bin(1h) メモリの使用状況に関するより高度なクエリを見てみましょう。いくつかの Lambda 関数のロググループを選択し、次のように入力します。 Show invocations with the most over-provisioned memory grouped by log stream クエリを生成する前に、歯車アイコンを選択して、プロンプトと説明をコメントとして含めるオプションを切り替えてオンにします。結果は次のとおりです (読みやすくするために説明を複数行に分割しています)。 # 最も過剰にプロビジョニングされたメモリを持つ呼び出しを、ログストリームごとにグループ化して表示します fields @logStream, @memorySize/1000/1000 as memoryMB, @maxMemoryUsed/1000/1000 as maxMemoryUsedMB, (@memorySize/1000/1000 - @maxMemoryUsed/1000/1000) as overProvisionedMB | stats max(overProvisionedMB) as maxOverProvisionedMB by @logStream | sort maxOverProvisionedMB desc # このクエリは、プロビジョニングされたメモリと使用された最大メモリの差を計算することにより、 # 各ログストリームについて、過剰にプロビジョニングされたメモリの量を検索します。 # その後、結果をログストリームごとにグループ化し、各ログストリームについて、 # 過剰にプロビジョニングされた最大メモリを計算します。最後に、 # 過剰にプロビジョニングされた最大メモリで降順に結果を並べ替えて、 # 最も過剰にプロビジョニングされたメモリを含むログストリームを表示します。 これで、これらのエラーを理解するために必要な情報が得られました。一方で、EC2 ワークロードもあります。それらのインスタンスはどのように実行されているのでしょうか? いくつかのメトリクスを見てみましょう。 自然言語を使用して CloudWatch Metrics Insights クエリを生成する CloudWatch コンソール の [メトリクス] セクションで、 [すべてのメトリクス] を選択します。その後、 [クエリ] タブで、 [エディタ] を使用します。必要に応じて、 [クエリジェネレーター] を [ビルダー] でも使用できます。 先ほどと同様に、 [クエリジェネレーター] を選択します。その後、平易な英語を使用して必要な情報を入力します。 Which 10 EC2 instances have the highest CPU utilization? [新しいクエリを生成] を選択し、Metrics Insights 構文を使用して結果を取得します。 SELECT AVG("CPUUtilization") FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId ORDER BY AVG() DESC LIMIT 10 グラフを表示するには、 [実行] を選択します。 私の EC2 インスタンスはあまり稼働していないようですね。この結果は、それらのインスタンスが CPU をどのように使用しているかを示していますが、ストレージはどうでしょうか? プロンプトに次の文を入力し、 [クエリを更新] を選択します。 How about the most EBS writes? 更新されたクエリは、平均 CPU 使用率を、インスタンスにアタッチされているすべての EBS ボリュームに書き込まれたバイトの合計に置き換えます。上位 10 件の結果のみを表示するという制限は維持されます。 SELECT SUM("EBSWriteBytes") FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId ORDER BY SUM() DESC LIMIT 10 クエリを実行し、その結果を確認することで、EC2 インスタンスによってストレージがどのように使用されているかをより良く理解できます。 いくつかのリクエストを入力し、生成されたクエリをログとメトリクスに対して実行して、これがお客様のデータでどのように機能するかをぜひご確認ください。 留意点 Amazon CloudWatch のログとメトリクス用の自然言語クエリ生成は、米国東部 (バージニア北部) と米国西部 (オレゴン) AWS リージョン でプレビューでご利用いただけます。 プレビュー中における自然言語クエリ生成の利用に追加料金はかかりません。お支払いいただくのは、 CloudWatch の料金 に従って、クエリの実行コストのみです。 生成されるクエリは生成系 AI によって生成され、アカウントで選択される利用可能なデータなどの要因に依拠します。これらの理由により、結果は異なる場合があります。 クエリを生成する際、元のリクエストとクエリの説明をコメントとして含めることができます。これを実行するには、クエリ編集ウィンドウの右下にある歯車アイコンを選択し、それらのオプションを切り替えてオンにします。 この新しい機能は、ログとメトリクス用のクエリの生成と更新に役立ち、時間と労力を節約できます。このアプローチにより、エンジニアリングチームは、特定のデータに関する知識やクエリに関する専門知識について心配することなく、業務を拡張できます。 自然言語を使用して、Amazon CloudWatch でログとメトリクスを分析しましょう。 – Danilo 原文は こちら です。
テキスト検索と セマンティック検索 エンジンの台頭により、eコマースや小売業は消費者にとってより簡単に検索できるようになりました。検索する際にテキストと画像の両方をクエリに含むことができる検索エンジンは、検索ソリューションの柔軟性を非常に高めることができます。たとえば、ラップトップに何百もの家族の写真が入ったフォルダがあり、あなたとあなたの親友が古い家のプールの前にいたときに撮った写真をすぐに見つけたいという場合を仮定します。この場合、「プールの前に二人が立っている」のような会話形式の文章をクエリとして入力することで、テキストと画像の統合検索エンジンからお目当ての画像を検索することができます。画像タイトルに適切なキーワードを入力しなくても、クエリを実行できます。 現在、 Amazon OpenSearch Service は k-NN インデックスの コサイン類似度 メトリクスをサポートしています。コサイン類似度は、2 つのベクトル間の角度のコサインを測定します。コサイン角度が小さいほど、ベクトル間の類似性が高くなります。コサイン類似度を使用すると、2 つのベクトル間の向きを測定できるため、特定のセマンティック検索アプリケーションに適しています。 Contrastive Language-Image Pre-Training (CLIP) は、さまざまな画像とテキストのペアでトレーニングされたニューラルネットワークです。CLIP ニューラルネットワークは、画像とテキストの両方を同じ 潜在空間 に投影できるため、コサイン類似度などの類似度尺度を使用して画像とテキストを比較することができます。CLIP を使用して製品の画像や説明を Embedding に エンコード し、OpenSearch Service k-NN インデックスに保存することができます。そうすれば、顧客はインデックスをクエリして、関心のある商品を検索できます。 Amazon SageMaker を用いることで、上記の CLIP をエンコーディングさせるために利用することができます。 Amazon SageMaker Serverless Inference は、機械学習 (ML) モデルのデプロイとスケーリングを容易にする専用の推論サービスです。SageMaker を使用すると、開発とテスト用にサーバーレスをデプロイし、本番環境では リアルタイム推論 に移行することも可能です。Amazon SageMaker Serveless Inference では、アイドル時にインフラストラクチャを 0 にスケールダウンすることでコストを節約できます。これは、開発サイクル間のアイドル時間が長い POC を構築する場合に最適です。この他、 Amazon SageMaker Batch transform を使用して、大規模なデータセットから推論を取得することもできます。 この記事では、SageMakerとOpenSearch ServiceでCLIPを使用して検索アプリケーションを構築する方法を示します。コードはオープンソースで、 こちらのGitHub でホストされています。 ソリューション概要 Amazon OpenSearch Service は、テキストマッチングとEmbedding k-NN 検索を提供します。このソリューションでは Embedding k-NN 検索を利用します。画像とテキストの両方をクエリとして使用して、インベントリからアイテムを検索できます。この統合画像およびテキスト検索アプリケーションの実装は、次の 2 つのフェーズで構成されます。 k-NN 参照インデックス — このフェーズでは、一連のコーパスドキュメントまたは製品画像をCLIPモデルに渡して、それらを Embedding にエンコードします。テキストと画像の Embedding は、それぞれコーパスまたは画像の数値表現を表します。これらの Embedding を OpenSearch Service の k-NN インデックスに保存します。k-NNを支える概念は、Embedding 空間に類似したデータポイントが近接して存在するというものです。たとえば、「赤い花」、「バラ」といったテキストと赤いバラの画像は似ているため、これらのテキストと画像の Embedding は Embedding 空間内で互いに近接しています。 k-NN インデックスクエリ — これはアプリケーションの推論フェーズです。このフェーズでは、ディープラーニングモデル (CLIP) を介してテキスト検索クエリまたは画像検索クエリを送信し、Embedding にエンコードします。次に、それらの Embedding を使用して、OpenSearch Service に保存されている参照 k-NN インデックスをクエリします。k-NN インデックスは、emnbedding 空間から同様の Embedding を返します。たとえば、「赤い花」のテキストを渡すと、赤いバラの画像の Embedding が類似のアイテムとして返されます。 以下の画像はソリューションのアーキテクチャ図です。 以下がワークフローとなります。 事前学習済みの CLIP モデルからバッチ推論とリアルタイム推論用の SageMaker モデル をデプロイします。 SageMaker batch transform ジョブを使用して製品画像の Embedding を生成します。 SageMaker Serverless Inference を使用して、クエリ画像とテキストを Embedding へリアルタイムにエンコードします。 Amazon Simple Storage Service (Amazon S3) を使用して、未加工のテキスト (製品説明) と画像 (製品画像)、および SageMaker batch transform ジョブによって生成された画像の Embedding を保存します。 OpenSearch Service を検索エンジンとして使用して、Embeddingを保存し、類似のEmbeddingを検索します。 クエリ関数を使用してクエリのエンコーディングを調整し、k-NN 検索を実行します。 このソリューションを開発するための統合開発環境 (IDE) として、Amazon SageMaker Studio Notebooks を使用しています(アーキテクチャ図には示されていません) 。 ソリューションのセットアップ ソリューションをセットアップするには、次の手順を実行します。 SageMaker ドメインとユーザープロファイルを作成します。手順については、「 クイックセットアップを使用して Amazon SageMaker ドメインにオンボーディングする 」を参照してください。 OpenSearch Service ドメインを作成します。手順については、「 Amazon OpenSearch サービスドメインの作成と管理 」を参照してください。 上記の手順以外にも、 GitHub の記載内容 に従い AWS CloudFormation テンプレートを使用してドメインを作成することも可能です。現状このテンプレートではインターネット経由で接続する形になっていますが、VPC のインターフェイスエンドポイントを使用して、Amazon 仮想プライベートクラウド (Amazon VPC) から SageMaker Studio を Amazon S3 に接続することが可能です。VPC エンドポイント (インターフェイスエンドポイント) を使用することで、VPC と SageMaker Studio 間の通信は AWS ネットワーク内で完全かつ安全に行われます。SageMaker Studio Notebookは、プライベート VPC 経由で OpenSearch Serviceに接続できるため、通信のセキュリティが確保されます。OpenSearch Service ドメインは、保存中のデータを暗号化します。これは、データへの不正アクセスを防ぐのに役立つセキュリティ機能です。ノード間暗号化は、OpenSearch Service のデフォルト機能に加えてセキュリティをさらに強化します。Amazon S3 は、別の暗号化オプションを指定しない限り、新しいオブジェクトごとにサーバー側の暗号化 (SSE-S3) を自動的に適用します。 OpenSearch Service ドメインでは、アイデンティティベースのポリシーをアタッチして、サービスにアクセスできるユーザー、実行できるアクション、および該当する場合はそれらのアクションを実行できるリソースを定義できます。 イメージとテキストのペアを Embedding にエンコードする このセクションでは、画像とテキストを埋め込みにエンコードする方法について説明します。ここでは、データの準備、SageMaker でのモデルの作成、およびモデルを使用した Batch Transformの実行が含まれます。 (訳者追記:本記事にかかれているコードの内容はすべてこちらの GitHub リポジトリ の blog_clip.ipynb に記載されています。SageMaker Studio にGit リポジトリをクローンする方法については こちらのドキュメント を参照してください。 ) データの概要と準備方法 Python 3 (データサイエンス) カーネルを搭載した SageMaker Studio ノートブックを使用してサンプルコードを実行できます。 この記事では、 Amazon Berkeley Object Dataset を使用します。このデータセットは、多言語メタデータと 398,212 枚のユニークなカタログ画像を含む 147,702 個の製品リストのコレクションです。商品の画像と商品名は US 英語でのみ使用しています。デモ用には、約 1,600 個の製品を使用しています。このデータセットの詳細については、 README を参照してください。データセットは外部公開されているパブリックな S3 バケットでホストされています。Amazon商品の商品説明とメタデータを含む16個のファイルのフォーマットは listings/metadata/listings_<i>.json.gz となっています。 このデモでは、最初のメタデータファイルを使用します。 Pandas を使用してメタデータを読み込み、データフレームから US 英語のタイトルを含む製品を選択します。Pandasは、Pythonプログラミング言語上に構築されたオープンソースのデータ分析および操作ツールです。 main_image_id という属性を使用してイメージを識別します。次のコードを参照してください。 meta = pd.read_json("s3://amazon-berkeley-objects/listings/metadata/listings_0.json.gz", lines=True) def func_(x): us_texts = [item["value"] for item in x if item["language_tag"] == "en_US"] return us_texts[0] if us_texts else None meta = meta.assign(item_name_in_en_us=meta.item_name.apply(func_)) meta = meta[~meta.item_name_in_en_us.isna()][["item_id", "item_name_in_en_us", "main_image_id"]] print(f"#products with US English title: {len(meta)}") meta.head() データフレームには 1,639 個の製品があります。次に、アイテム名と画像を結合させます。 images/metadata/images.csv.gz には画像のメタデータが含まれています。このファイルは gzip で圧縮された CSV ファイルで、 image_id , height , width , path 列があります。メタデータファイルを読み込んで、それをアイテムメタデータと結合してみましょう。次のコードを参照してください。 image_meta = pd.read_csv("s3://amazon-berkeley-objects/images/metadata/images.csv.gz") dataset = meta.merge(image_meta, left_on="main_image_id", right_on="image_id") dataset.head() SageMaker Studio Notebook の Python 3 カーネルに組み込まれている PIL library を使用して、データセットのサンプル画像を表示してみましょう。 from sagemaker.s3 import S3Downloader as s3down from pathlib import Path from PIL import Image def get_image_from_item_id(item_id = "B0896LJNLH", return_image=True): s3_data_root = "s3://amazon-berkeley-objects/images/small/" item_idx = dataset.query(f"item_id == '{item_id}'").index[0] s3_path = dataset.iloc[item_idx].path local_data_root = f'./data/images' local_file_name = Path(s3_path).name s3down.download(f'{s3_data_root}{s3_path}', local_data_root) local_image_path = f"{local_data_root}/{local_file_name}" if return_image: img = Image.open(local_image_path) return img, dataset.iloc[item_idx].item_name_in_en_us else: return local_image_path, dataset.iloc[item_idx].item_name_in_en_us image, item_name = get_image_from_item_id() print(item_name) image モデルの準備 次に、事前学習済みの CLIP モデルから SageMaker で推論用にモデルをデプロイ します。最初のステップは、事前学習済みのモデルの重みファイルをダウンロードして model.tar.gz ファイルに入れ、S3 バケットにアップロードすることです。事前学習済みモデルのパスは CLIP リポジトリ にあります。このデモでは、事前学習済みの ResNet-50 (RN50) モデルを使用します。次のコードを参照してください。 %%writefile build_model_tar.sh #!/bin/bash MODEL_NAME=RN50.pt MODEL_NAME_URL=https://openaipublic.azureedge.net/clip/models/afeb0e10f9e5a86da6080e35cf09123aca3b358a0c3e3b6c78a7b63bc04b6762/RN50.pt BUILD_ROOT=/tmp/model_path S3_PATH=s3:////model.tar.gz rm -rf $BUILD_ROOT mkdir $BUILD_ROOT cd $BUILD_ROOT && curl -o $BUILD_ROOT/$MODEL_NAME $MODEL_NAME_URL cd $BUILD_ROOT && tar -czvf model.tar.gz . aws s3 cp $BUILD_ROOT/model.tar.gz $S3_PATH !bash build_model_tar.sh その後、推論の entry point として指定する CLIP モデルのスクリプトを提供する必要があります。 CLIP は PyTorch を使って実装されているため、 SageMaker PyTorch Framework を使用します。 PyTorch はオープンソースの ML フレームワークで、研究プロトタイピングから本番デプロイまでのパスを加速させます。 SageMaker で PyTorch モデルをデプロイする方法については、 Deploy PyTorch Models を参照してください。 推論コードは、 MODEL_NAME と ENCODE_TYPE の2つの環境変数を受け入れます。 これにより、異なる CLIP モデルを簡単に切り替えることができます。 ENCODE_TYPE を使用して、イメージまたはテキストのどちらをエンコードするかを指定します。ここでは、 デフォルトの PyTorch 推論ハンドラ をオーバーライドするために、 model_fn 、 input_fn 、 predict_fn 、 output_fn 関数を実装します。 次のコードを参照してください: !mkdir -p code %%writefile code/clip_inference.py import io import torch import clip from PIL import Image import json import logging import sys import os import torch import torch.nn as nn import torch.nn.functional as F from torchvision.transforms import ToTensor logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) logger.addHandler(logging.StreamHandler(sys.stdout)) MODEL_NAME = os.environ.get("MODEL_NAME", "RN50.pt") # ENCODE_TYPE could be IMAGE or TEXT ENCODE_TYPE = os.environ.get("ENCODE_TYPE", "TEXT") device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # defining model and loading weights to it. def model_fn(model_dir): model, preprocess = clip.load(os.path.join(model_dir, MODEL_NAME), device=device) return {"model_obj": model, "preprocess_fn": preprocess} def load_from_bytearray(request_body): return image # data loading def input_fn(request_body, request_content_type): assert request_content_type in ( "application/json", "application/x-image", ), f"{request_content_type} is an unknown type." if request_content_type == "application/json": data = json.loads(request_body)["inputs"] elif request_content_type == "application/x-image": image_as_bytes = io.BytesIO(request_body) data = Image.open(image_as_bytes) return data # inference def predict_fn(input_object, model): model_obj = model["model_obj"] # for image preprocessing preprocess_fn = model["preprocess_fn"] assert ENCODE_TYPE in ("TEXT", "IMAGE"), f"{ENCODE_TYPE} is an unknown encode type." # preprocessing if ENCODE_TYPE == "TEXT": input_ = clip.tokenize(input_object).to(device) elif ENCODE_TYPE == "IMAGE": input_ = preprocess_fn(input_object).unsqueeze(0).to(device) # inference with torch.no_grad(): if ENCODE_TYPE == "TEXT": prediction = model_obj.encode_text(input_) elif ENCODE_TYPE == "IMAGE": prediction = model_obj.encode_image(input_) return prediction # Serialize the prediction result into the desired response content type def output_fn(predictions, content_type): assert content_type == "application/json" res = predictions.cpu().numpy().tolist() return json.dumps(res) このソリューションでは、モデルの推論時に追加の Python パッケージが必要です。そのため、SageMaker がモデルをホスティングする際に追加のパッケージをインストールできるように、 requirements.txt ファイルを提供することができます。 %%writefile code/requirements.txt ftfy regex tqdm git+https://github.com/openai/CLIP.git PyTorchModel クラス を使用すると、モデル成果物のAmazon S3 の場所と推論エントリポイントの詳細を含むオブジェクトを作成できます。このオブジェクトを使用して、Batch Transform ジョブを作成したり、エンドポイントにデプロイしてオンライン推論を行うことができます。以下のコードを参照してください: from sagemaker.pytorch import PyTorchModel from sagemaker import get_execution_role, Session role = get_execution_role() shared_params = dict( entry_point="clip_inference.py", source_dir="code", role=role, model_data="s3://<your-bucket>/<your-prefix-for-model>/model.tar.gz", framework_version="1.9.0", py_version="py38", ) clip_image_model = PyTorchModel( env={'MODEL_NAME': 'RN50.pt', "ENCODE_TYPE": "IMAGE"}, name="clip-image-model", **shared_params ) clip_text_model = PyTorchModel( env={'MODEL_NAME': 'RN50.pt', "ENCODE_TYPE": "TEXT"}, name="clip-text-model", **shared_params ) アイテム画像を Embeding にエンコードするための Batch Transform を実行する 次に、CLIP モデルを使用して、アイテム画像を Embedding にエンコードし、SageMaker Batch Transformを使用してバッチ推論を実行します。 ジョブを作成する前に、以下のコードスニペットを使用して、Amazon Berkeley Objects Dataset のパブリック S3 バケットからアイテム画像を自分のバケットにコピーします。この操作は10分未満で終了します。 from multiprocessing.pool import ThreadPool import boto3 from tqdm import tqdm from urllib.parse import urlparse s3_sample_image_root = "s3://<your-bucket>/<your-prefix-for-sample-images>" s3_data_root = "s3://amazon-berkeley-objects/images/small/" client = boto3.client('s3') def upload_(args): client.copy_object(CopySource=args["source"], Bucket=args["target_bucket"], Key=args["target_key"]) arugments = [] for idx, record in dataset.iterrows(): argument = {} argument["source"] = (s3_data_root + record.path)[5:] argument["target_bucket"] = urlparse(s3_sample_image_root).netloc argument["target_key"] = urlparse(s3_sample_image_root).path[1:] + record.path arugments.append(argument) with ThreadPool(4) as p: r = list(tqdm(p.imap(upload_, arugments), total=len(dataset))) 次に、バッチ処理でアイテム画像の推論を行います。SageMakerの Batch Transform ジョブは、Amazon S3 の入力用ディレクトリに格納されているすべての画像をエンコードするためにCLIPモデルを使用し、出力された Embedding を出力S3フォルダにアップロードします。 このジョブには約10分かかります。 batch_input = s3_sample_image_root + "/" output_path = f"s3://<your-bucket>/inference/output" clip_image_transformer = clip_image_model.transformer( instance_count=1, instance_type="ml.c5.xlarge", strategy="SingleRecord", output_path=output_path, ) clip_image_transformer.transform( batch_input, data_type="S3Prefix", content_type="application/x-image", wait=True, ) Amazon S3 から Embeddings を変数に読み込み、後ほどOpenSearch Service にデータを格納できるようにします。 embedding_root_path = "./data/embedding" s3down.download(output_path, embedding_root_path) embeddings = [] for idx, record in dataset.iterrows(): embedding_file = f"{embedding_root_path}/{record.path}.out" embeddings.append(json.load(open(embedding_file))[0]) 機械学習を活用した統合検索エンジンを作成する このセクションでは、Embeddings を使用した k-NN 検索を実行する検索エンジンの作成方法について説明します。これには、OpenSearch Serviceクラスターの構成、Embeddings の取り込み、フリーテキストおよび画像検索クエリの実行が含まれます。 k-NN を使って OpenSeach Service ドメインを設定する 以前に、OpenSearch クラスターを作成しました。ここでは、カタログデータと埋め込みを格納するためのインデックスを作成します。インデックス設定を次の構成で構成して、k-NN機能を有効にできます。 index_settings = { "settings": { "index.knn": True, "index.knn.space_type": "cosinesimil" }, "mappings": { "properties": { "embeddings": { "type": "knn_vector", "dimension": 1024 #Make sure this is the size of the embeddings you generated, for RN50, it is 1024 } } } } この例では、 Python Elasticsearch Client を使用してOpenSearch クラスターと通信し、データをホストするインデックスを作成します。 ノートブックで %pip install elasticsearch を実行してライブラリをインストールできます。 次のコードを参照してください: import boto3 import json from requests_aws4auth import AWS4Auth from elasticsearch import Elasticsearch, RequestsHttpConnection def get_es_client(host = "<your-opensearch-service-domain-url>", port = 443, region = "<your-region>", index_name = "clip-index"): credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, 'es', session_token=credentials.token) headers = {"Content-Type": "application/json"} es = Elasticsearch(hosts=[{'host': host, 'port': port}], http_auth=awsauth, use_ssl=True, verify_certs=True, connection_class=RequestsHttpConnection, timeout=60 # for connection timeout errors ) return es es = get_es_client() es.indices.create(index=index_name, body=json.dumps(index_settings)) 画像の Embedding データを OpenSearch Service へ投入する ここで、データセットをループ処理して、クラスターにアイテムデータを取り込みます。 この練習のためのデータ取り込みは60秒以内に完了するはずです。 また、データがインデックスに正常に取り込まれたことを確認するためのシンプルなクエリを実行します。 次のコードを参照してください: # ingest_data_into_es for idx, record in tqdm(dataset.iterrows(), total=len(dataset)): body = record[['item_name_in_en_us']].to_dict() body['embeddings'] = embeddings[idx] es.index(index=index_name, id=record.item_id, doc_type='_doc', body=body) # Check that data is indeed in ES res = es.search( index=index_name, body={ "query": { "match_all": {} }}, size=2) assert len(res["hits"]["hits"]) > 0 リアルタイムでクエリを実行する これで在庫の画像アイテムの Embeddings が含まれたOpenSearch Service Index を用意できたので、次はクエリの Embeddings を生成する方法を見ていきましょう。テキストと画像の Embeddings をそれぞれ処理するために、2 つのSageMaker 推論エンドポイントを作成する必要があります。 また、エンドポイントを使用して画像とテキストをエンコードする 2 つの関数を作成します。 encode_text 関数の場合、 this is をアイテム名の前に追加して、アイテム名をアイテムの説明文として翻訳します。 Transformer と ResNet モデルをサポートするために、 memory_size_in_mb は 6 GB に設定されています。以下のコードを参照してください: text_predictor = clip_text_model.deploy( instance_type='ml.c5.xlarge', initial_instance_count=1, serverless_inference_config=ServerlessInferenceConfig(memory_size_in_mb=6144), serializer=JSONSerializer(), deserializer=JSONDeserializer(), wait=True ) image_predictor = clip_image_model.deploy( instance_type='ml.c5.xlarge', initial_instance_count=1, serverless_inference_config=ServerlessInferenceConfig(memory_size_in_mb=6144), serializer=IdentitySerializer(content_type="application/x-image"), deserializer=JSONDeserializer(), wait=True ) def encode_image(file_name="./data/images/0e9420c6.jpg"): with open(file_name, "rb") as f: payload = f.read() payload = bytearray(payload) res = image_predictor.predict(payload) return res[0] def encode_name(item_name): res = text_predictor.predict({"inputs": [f"this is a {item_name}"]}) return res[0] まず使用する画像をプロットします。 item_image_path, item_name = get_image_from_item_id(item_id = "B0896LJNLH", return_image=False) feature_vector = encode_image(file_name=item_image_path) print(feature_vector.shape) Image.open(item_image_path) 簡単なクエリの結果を見てみましょう。OpenSearch Serviceから結果を取得した後、 dataset からアイテム名と画像のリストを取得します。 def search_products(embedding, k = 3): body = { "size": k, "_source": { "exclude": ["embeddings"], }, "query": { "knn": { "embeddings": { "vector": embedding, "k": k, } } }, } res = es.search(index=index_name, body=body) images = [] for hit in res["hits"]["hits"]: id_ = hit["_id"] image, item_name = get_image_from_item_id(id_) image.name_and_score = f'{hit["_score"]}:{item_name}' images.append(image) return images def display_images( images: [PilImage], columns=2, width=20, height=8, max_images=15, label_wrap_length=50, label_font_size=8): if not images: print("No images to display.") return if len(images) > max_images: print(f"Showing {max_images} images of {len(images)}:") images=images[0:max_images] height = max(height, int(len(images)/columns) * height) plt.figure(figsize=(width, height)) for i, image in enumerate(images): plt.subplot(int(len(images) / columns + 1), columns, i + 1) plt.imshow(image) if hasattr(image, 'name_and_score'): plt.title(image.name_and_score, fontsize=label_font_size); images = search_products(feature_vector) 2 つの画像が同じであるため、最初の項目のスコアは 1.0 です。その他の項目は、OpenSearch Service Index にあるさまざまな種類のウォーターグラスになります。 テキストを使用してインデックスをクエリすることもできます。 feature_vector = encode_name("drinkware glass") images = search_products(feature_vector) display_images(images) これで、インデックスからウォーターグラスの写真を 3 枚取得できるようになりました。CLIP エンコーダーを使用すると、同じ潜在空間内の画像とテキストを検索できます。これのもう 1 つの例は、索引で「ピザ」という単語を検索することです。 feature_vector = encode_name("pizza") images = search_products(feature_vector) display_images(images) Clean up 従量課金制モデルの Serverless Inference は、頻度の低いトラフィックパターンや予測不可能なトラフィックパターンに対して費用対効果の高いオプションです。厳格な サービスレベル契約 (SLA) を締結している場合や、コールドスタートに耐えられない場合は、リアルタイムエンドポイントの方が適しています。 マルチモデル または マルチコンテナ のエンドポイントを使用すると、多数のモデルをデプロイするためのスケーラブルで費用対効果の高いソリューションが得られます。詳細については、 Amazon SageMaker の料金ページ を参照してください。 サーバーレスエンドポイントは、不要になったら削除することをお勧めします。この演習を終了したら、次の手順でリソースを削除できます (これらのリソースは、 AWS マネジメントコンソール から、または AWS SDK または SageMaker SDK を使用して削除できます)。 作成したエンドポイントを削除します。 (オプション) 登録されたモデルを削除します。 (オプション) SageMaker 実行ロールを削除します。 (オプション) S3 バケットを空にして削除します。 Summary この記事では、SageMaker と OpenSearch Service の k-NN インデックス機能を使用して k-NN 検索アプリケーションを作成する方法を示しました。OpenAI 実装の事前トレーニング済みの CLIP モデルを使用しました。 投稿の OpenSearch サービスのインジェスト実装は、プロトタイピングにのみ使用されます。Amazon S3 から OpenSearch サービスに大規模にデータを取り込みたい場合は、適切なインスタンスタイプとインスタンス数で Amazon SageMaker 処理ジョブを起動できます。別のスケーラブルな埋め込み取り込みソリューションについては、「 Novartis AG uses Amazon OpenSearch Service K-Nearest Neighbor (KNN) and Amazon SageMaker to power search and recommendation (Part 3/4) 」を参照してください。 CLIPは ゼロショット 機能を備えているため、 転移学習 を使用してモデルを微調整しなくても、事前にトレーニングされたモデルを直接採用できます。これにより、CLIPモデルの適用が簡単になります。製品画像と説明文の両方がある場合は、転移学習を使用して独自のデータでモデルを微調整し、モデルのパフォーマンスをさらに向上させることができます。詳細については、「 Learning Transferable Visual Models From Natural Language Supervision 」と「 CLIP GitHub リポジトリ 」を参照してください。 著者について Kevin Du は AWS のシニアデータラボアーキテクトで、お客様の機械学習 (ML) 製品と MLOps プラットフォームの開発を促進できるよう支援することに専念しています。スタートアップと企業の両方を対象に ML 対応製品を開発してきた 10 年以上の経験を持つ彼は、お客様が ML ソリューションの本番化を合理化できるよう支援することに重点を置いています。自由時間には、ケビンは料理やバスケットボール観戦を楽しんでいます。 Ananya Royは、オーストラリアのシドニーを拠点とするAIと機械学習を専門とするシニアデータラボアーキテクトです。彼女はさまざまな顧客と協力してアーキテクチャのガイダンスを提供し、データラボとの連携を通じて効果的なAI/MLソリューションを提供できるよう支援してきました。AWS に入社する前は、シニアデータサイエンティストとして働き、通信会社、銀行、フィンテックなどのさまざまな業界の大規模な ML モデルを扱っていました。AI/ML の経験により、複雑なビジネス上の問題に対して効果的なソリューションを提供でき、最先端のテクノロジーを活用してチームが目標を達成できるよう支援することに情熱を注いでいます。 翻訳はソリューションアーキテクトの辻 浩季が担当しました。原文は こちら です。  
この記事は Alex Zarenin(プリンシパルソリューションアーキテクト)、Sudhir Amin(シニアソリューションアーキテクト)と Vikas Babu Gali(シニアスペシャリストソリューションアーキテクト)によって執筆された内容を日本語化したものです。原文は こちら を参照してください。 このブログ記事では Amazon Web Services(AWS)上の Microsoft SQL Server デプロイメントをスケーリングするための戦略について紹介します。この戦略ではクラウド上でフルマネージドの高性能なファイルシステムを提供する Amazon FSx を使用します。この戦略により、AWS 上での SQL Server のパフォーマンスが大幅に改善され、1 分あたりのトランザクション数(TPM)は従来比で 2~3 倍になります。また、トランザクションあたりのコストが低減されるため、コスト効率も向上します。 全体としてこの戦略は、最高性能の SQL Server データベースをクラウドで実行するコスト効率の高い方法をお探しのお客様にご利用いただけます。 1. はじめに 2021 年、私たちのチームは、AWS 上の SQL Server のパフォーマンスについて新たなベンチマークを記録し、 ブログ記事 としてリリースしました。著者は、メモリ最適化された Amazon Elastic Compute Cloud (Amazon EC2) r5b.24xlarge インスタンスを使用し、最大 60,000 Mbps の Amazon Elastic Block Store (EBS) 帯域幅と、毎秒 26 万回の Input/Output Operations(IOPS)を実現しました。このインスタンスの IO 機能を最大限に活用するため、3.5 TB の HammerDB TPCC テストデータベースを 2 つの io2 Block Express (io2-BE) ボリュームに格納し、 RAID-0 構成で実装しました。この構成で HammerDB を使用したパフォーマンステストでは、約 83 万 TPM を達成しました。 同じブログ記事で、著者は Amazon EC2 のインスタンスストア ボリュームにデータベースをホスティングすることで、パフォーマンスが約 20 % 向上することを示しました。しかしながら、インスタンスストアボリュームは 一時的な ブロックストレージであり、インスタンスを停止すると失われます。そのため、インスタンスストアボリュームは tempdb のストレージに適しています。一方で EBS ボリュームと Amazon FSx ファイルシステムは、データベースをホスティングするための耐久性と拡張性のあるストレージソリューションを提供します。 x2iedn や r6idn といった新しいインスタンスファミリーは、ブログ記事で使用した r5b.24xlarge よりも大幅にパフォーマンスが向上しています。これにより、パフォーマンスが約 30 % 向上し、100 万 TPM に近い結果が得られました。ただし、こうしたパフォーマンスの向上にはコストを伴います。仮想 CPU(vCPU)数の増加により、SQL Server の追加ライセンスが必要となります。また、インスタンスのスループットを使い切るには、3 つの io2-BE ボリュームにわたって RAID-0 を構成して使用する必要があるため、EBS ストレージのコストも増加します。 このブログ記事では、SQL Server について、EBS またはインスタンスストアボリュームだけでは不可能な高いパフォーマンスを実現するための Amazon FSx の革新的な使用方法をご紹介します。 2.&nbsp;テスト構成 Windows 上での SQL Server のパフォーマンステストでは、Windows と互換性のある Amazon FSx ファイルシステム、つまり Amazon FSx for NetApp ONTAP (FSx for ONTAP) と Amazon FSx for Windows File Server (FSx for Windows File Server) を使用しました。それぞれの Amazon FSx ファイルシステムを、26 TB の SSD ストレージ、80,000 IOPS、2 GBps のスループットで構成しました。 FSx for ONTAP は、最大 4 GBps、160,000 IOPS のスループットを提供 し、 FSx for Windows File Server は、最大 12 GBps、350,000 IOPS のスループットを提供 しますが、本ブログ記事の執筆時点では特定の AWS リージョンでのみ利用可能であるため、これらの構成は今回のテストから除外しました(これらのパフォーマンステストは、より高いスループットキャパシティレベルを使用してフォローアップする予定です)。 パフォーマンステストでは、 AWS バージニア北部リージョン(us-east-1) で、Amazon のライセンス付き Microsoft Windows Server 2019 with SQL Server 2019 Enterprise edition を使用しました。EC2 インスタンスには、768 GB の RAM、96 個の vCPU、100 Gbps のネットワーク帯域幅、4 個の 900 GB NVMe SSD インスタンスストアボリュームを備えた r5dn.24xlarge EC2 インスタンスを使用しました。このインスタンスを選択した理由は、 元のブログ記事 で使用した r5b.24xlarge EC2 インスタンスと同等の vCPU と RAM を備えながら、より高いネットワークスループットを提供するためです。データベースの格納場所としてネットワーク接続ストレージを使用しているため、ネットワークスループットはパフォーマンスを大きく左右します。 tempdb を格納する場所として、 r5dn.24xlarge EC2 インスタンスで利用可能な 4 つのインスタンスストアボリュームにわたって、RAID-0 ボリュームを作成しました。また、SQL Server データベースのログファイルを保管する場所として、64,000 IOPS でプロビジョニングされた io2-BE EBS ボリュームを使用しました。データベースのデータファイルは Amazon FSx ファイルシステムに格納しました。 今回、データベースのワークロードをシミュレートするために、幅広く使用されているベンチマークツール HammerDB を使用しました。HammerDB の OLTP ワークロード は、SQL Server の AWS への移行において一般的であるため、私たちのパフォーマンステストのベースとしました。約 3 TB で 30,000 の データウェアハウス を含むテストデータベースを作成しました。 HammerDB の 仮想ユーザー は、パフォーマンステストのためにデータベースに負荷をかけるシミュレートされたユーザーです。システムのピークパフォーマンスを測定するには、少数の仮想ユーザーから始め、データベースの TPM が臨界点に達するまで徐々にこの数を増やすことをお勧めします。仮想ユーザーの数を増やすと、パフォーマンスメトリクスは 臨界点に達するまで増加 し、その後は増加が止まるか、あるいは減少に転じます。 各テストの構成では、仮想ユーザー数として 256 、 362 、 512 、 724 、 1,024 を選択しました。結果の信頼性と一貫性を確保するため、仮想ユーザー数で定義されたそれぞれの負荷について、3 回のテストを実施しました。そして、これらのテストの平均を算出しました。 3.&nbsp;FSx for ONTAP を使用したパフォーマンステスト FSx for ONTAP は、 iSCSI と SMB の 2 つのプロトコルを提供しています。パフォーマンステストでは、両方のプロトコルを使用しました。 3.1.&nbsp;FSx for ONTAP を iSCSI プロトコルで使用 4 つの FSx for ONTAP インスタンスが提供する iSCSI 接続のドライブを EC2 インスタンスにアタッチしました。これらのドライブは、 Windows Storage Spaces 機能を使用して、RAID-0 構成でストライピングしました。iSCSI ドライブのパフォーマンスを引き出すため、 MPIO を有効にして、各ドライブに 4 つのパスを割り当てました。このシナリオの構成を図 1 に示します。 図 1. FSx for ONTAP iSCSI プロトコルのパフォーマンステスト構成 この構成での HammerDB パフォーマンステストの結果を表 1 と図 2 に記載します。結果が示すように、この構成では、元のブログ記事で説明したパフォーマンスの 2 倍のパフォーマンスを達成することができました。この構成では、 724 の仮想ユーザーで臨界点に達し、それ以上負荷が増加するとパフォーマンスが低下しました。 表 1. FSx for ONTAP iSCSI プロトコルのパフォーマンステスト結果 図 2. FSx for ONTAP iSCSI プロトコルのパフォーマンステスト結果 3.2.&nbsp;FSx for ONTAP を SMB プロトコルで使用 FSx for ONTAP は SMB プロトコル もサポートしています。SMB プロトコルは、ネットワーク上でファイルへのアクセスを共有するために使用されるクライアントサーバ通信プロトコルです。iSCSI プロトコルとは異なり、SMB は仮想ドライブを提供しませんが、代わりにファイル共有を提供します。このため、前のシナリオのように RAID-0 ストライピングを使用してパフォーマンスを向上させることはできません。 ボリュームをストライピングする代わりに、ファイルグループ内のデータベースファイルを複数のボリュームまたはファイル共有に分散する SQL Server の機能を使用しました。プライマリファイルグループを、4 つの FSx for ONTAP ファイルシステムが提供する 4 つのファイル共有に分散しました。 RAID-0 シナリオでは、テーブルの各レコードは複数のドライブに分割されます。しかし、プライマリファイルグループを複数の共有に分散させると、このファイルグループに割り当てられた各テーブルレコードは、それぞれ単一の SMB 共有に保存されます。テーブルのすべてのレコードは、複数の共有に均等に分散されます。この構成は RAID-0 の場合と類似しています。この構成を図 3 に示します。 図 3. FSx for ONTAP SMB プロトコルのパフォーマンステスト構成 この構成での HammerDB パフォーマンステストの結果を表 2 と図 4 に記載します。結果から明らかなように、この構成は、前述のセクション 3.1 で説明した構成よりも優れた値を記録しました。負荷が増加するに従ってパフォーマンスは徐々に向上し、1,024 仮想ユーザーで臨界点に達しました。 表 2. FSx for ONTAP SMB プロトコルのパフォーマンステスト結果 図 4. FSx for ONTAP SMB プロトコルのパフォーマンステスト結果 4.&nbsp;FSx for Windows File Server を使用したパフォーマンステスト FSx for Windows File Server は SMB プロトコル のみをサポートしています。そのため、テストでは FSx for ONTAP の代わりに FSx for Windows File Server を使用している点を除き、図 3 で示したものと同様の構成を使用しました。この構成を図 5 に示します。 図 5. FSx for Windows File Server のパフォーマンステスト構成 ストレージにこの構成を使用して SQL Server を実行し、表 3 と図 6 に示すパフォーマンステスト結果を得ました。 表 3. FSx for Windows File Server のパフォーマンステスト結果 図 6. FSx for Windows File Server のパフォーマンステスト結果 パフォーマンステストでは、200 万 TPM を上回る結果を達成しました。これは、 元のブログ記事 で紹介した io2-BE EBS ボリュームで達成した最高記録の約 3 倍です。 5.&nbsp;コストとパフォーマンス観点の比較 表 4 は、先に説明した 3 つの構成と、io2-BE EBS ボリュームを使用した元の構成(元のブログ記事に記載)に対するパフォーマンステストの結果をまとめたものです。また、各構成の試算コストも記載しています。Amazon FSx のコスト試算においては、バックアップのコストや重複の削減はデータベースワークロードには当てはまらないため、考慮していません。 FSx for ONTAP を使用した構成のパフォーマンスとしては、安定状態のパフォーマンス値を使用しました。SQL Server などの動的なワークロードでは、通常、表 1 と表 2 の結果よりも 10~15 % 低くなります。コンピュートのコストは、AWS リージョン us-east-1 (バージニア北部)の EC2 インスタンス r5dn.24xlarge (ライセンス付き Microsoft Windows Server 2019 with SQL Server 2019 Enterprise edition)に基づいており、原文が執筆された 2023 年 8 月 28 日時点のものです。 表 4. コストとパフォーマンスの比較データ Amazon FSx ファイルシステムを 4 つ追加したことで、システムのトータルコストは増加しました。しかし、パフォーマンスも向上したため、トランザクションあたりの総コストは減少しました。 FSx for ONTAP を SMB 接続で使用した場合、コストパフォーマンスが最も優れていました。FSx for Windows File Server は、全体的なパフォーマンスは最も高いですが、トータルコストも最も高くなりました。ただし、この構成で達成した SQL Server の優れたパフォーマンスを考慮すると、1,000 TPM あたりのコストは、SMB 接続を使用した FSx for ONTAP とほぼ同等です。 6.&nbsp;パフォーマンステストのスコープを拡大 AWS の新しいインスタンスタイプ、特にメモリを大量に消費する大規模アプリケーションに幅広く使用されている x2iedn メモリ最適化 EC2 インスタンスファミリーを考慮しなければ、分析は不完全なものになります。このファミリーではすべてのサイズで、メモリと vCPU が 32:1 の比率で提供され、RAM を最大 4 TB までスケールアップできるため、SQL Server のワークロードに適しています。これまでのテストで使用した r5dn.24xlarge インスタンスと比較するため、それぞれ 2 TB と 4 TB の RAM を搭載した x2iedn.24xlarge と x2iedn.32xlarge を選択しました。 3.5 TB のデータベースを、データベースのサイズに近いかそれを超える RAM を搭載した EC2 インスタンスで使用した場合、IO サブシステムをテストするための十分な負荷を与えられない可能性があります。そのため、8.5 TB で 75,000 のデータウェアハウスを含む HammerDB データベースを作成しました。8.5 TB では IO サブシステムに負荷をかけることができます。また、仮想ユーザー数を 2,048 に増やすことで、SQL Server の負荷をさらに高めることを目指しました。 ストレージサブシステムについては、FSx for Windows File Server を 4 つ使用し、図 5 と同じ構成で、最もパフォーマンスの良い構成を選択しました。テストの結果を表 5 と図 7 に記載します。 表 5. パフォーマンステスト結果 – 8.5 TB データベース 図 7. パフォーマンステスト結果 – 8.5 TB データベース r5dn.24xlarge インスタンス上の SQL Server は、8.5 TB のデータベースでは約 150 万 TPM でピークに達しました。 x2iedn ファミリーの RAM の増加は、SQL Server が 200 万 TPM を超えることを可能にした決定的な要因でした。8.5 TB のデータベースでは、 r5dn.24xlarge で利用可能な 768 GB と比較して、 x2iedn ファミリーはメモリ容量が増えているため、大きな違いが生じました。 この一連のテストのコストパフォーマンス分析を表 6 に記載します。 x2iedn.24xlarge EC2 インスタンスは、1,000 TPM あたりのコストという点では明らかに優れていました。ただし、より大きな x2iedn.32xlarge EC2 インスタンスと比べ、性能はわずかに低くなっています。 x2iedn.32xlarge の EC2 インスタンスで利用可能な 4 TB の RAM を最大限に活用するには、さらに大きなデータベースを検討する必要があるかもしれません。 表 6. 大規模データベーステストのコスト/パフォーマンス比較 図 8 に示したもう 1 つの興味深い点は、RAM の大きいインスタンスほど、基盤となる FSx for Windows File Server で消費される IOPS とスループットが減少したことです。これは、SQL Server がキャッシュ内でより多くのオペレーションを完了し、ファイルシステムに対する負荷が減少したためです。 図 8. RAM の増加による IOPS とスループットの変化 7.&nbsp;まとめ 複数の Amazon FSx ファイルシステムを革新的に使用することで、単一のファイルシステムよりもはるかに高いストレージパフォーマンスを達成することができました。これにより、SQL Server のパフォーマンスが大幅に向上しました。複数の Amazon FSx ファイルシステムを使用することで、実行するリソースのコストは増加しますが、結果として SQL Server のパフォーマンスが向上します。そのため、トランザクションあたりのコストは、他の構成と同等か、それ以下の水準まで減少します。 FSx for ONTAP を iSCSI で使用した場合、SQL Server のテストではやや低いパフォーマンスを示しましたが、RAID-0 を構成することで、プライマリファイルグループを 4 つのボリュームに分散する必要がないため、よりシンプルな導入方法を提供します。 4 つの Amazon FSx ファイルシステムを使用してテストを実施しましたが、「4」は「マジックナンバー」ではありません。SQL Server をホストする EC2 インスタンスと、お客様固有のパフォーマンスおよびコスト要件によっては、2 つまたは 3 つの Amazon FSx ファイルシステムを使用するだけでも、SQL Server のパフォーマンスを大幅に向上させることができます。 この方法は、お客様が高性能な SQL Server ワークロードを管理するための新たな選択肢を提供します。特に今回ご紹介した戦略は、最高性能の SQL Server データベースをクラウドで実行するコスト効率の高い方法をお探しのお客様にご利用いただけます。 AWS は、どのクラウドプロバイダーよりも多くのサービスと機能を備えています。そのため、既存のアプリケーションをより速く、より簡単に、よりコスト効率の高い方法でクラウドに移行でき、想像できるほとんどすべてのものを構築することができます。Microsoft アプリケーションに必要なインフラストラクチャを提供し、お客様が望むビジネス成果を実現することができます。Microsoft ワークロードに関する詳しいガイダンスとオプションについては、 .NET on AWS と AWS データベース のブログをご覧ください。移行とモダナイゼーションの検討を今すぐ開始するには、 こちらへお問い合わせ ください。 <!-- '"` --> 翻訳はネットアップ合同会社の方様、監修はソリューションアーキテクトの宮城が担当しました。 著者紹介 Alex Zarenin Alex Zarenin は Amazon Web Services のプリンシパルソリューションアーキテクトです。金融サービス企業と協力して、幅広い技術ソリューションの設計と実装に従事しています。Microsoft テクノロジーに関する専門知識を持ち、商業部門と公共部門の両方で 30 年以上の技術経験を積み重ねてきました。ニューヨーク大学でコンピューターサイエンスの博士号を取得しています。 Sudhir Amin Sudhir Amin は Amazon Web Services のシニアソリューションアーキテクトです。ニューヨークを拠点として、さまざまな業種の企業顧客にアーキテクチャのガイダンスと技術支援を提供し、クラウドの導入を加速しています。スヌーカー、ボクシングや UFC などの格闘技の大ファンで、野生動物保護区が豊富な国を旅して、世界で最も雄大な動物を間近で見るのが好きです。 Vikas Babu Gali Vikas Babu Gali は、Amazon Web Services の Microsoft ワークロードを専門としたシニアスペシャリストソリューションアーキテクトです。さまざまな業種のお客様に対して、クラウド導入を加速するためのアーキテクチャに関するガイダンスと技術支援を提供しています。
(出展: 株式会社MIXI) MIXI は、認証から決済までをワンストップで提供する、基盤システム &amp; WALLET サービスである MIXI M を消費者向けに展開しています。このたび、お客様は MIXI M に 3D セキュアを実装しました。3D セキュアは、追加の認証によってユーザーの購買意思を確認する仕組みで、より安心・安全なオンライン決済体験を実現します。 以下はユーザーから見た 3D セキュアを含む決済体験のイメージです。 3D セキュアの提供にあたってはセキュリティ基準 PCI 3DS への準拠が不可欠です。お客様は、PCI 3DS が求める厳密な鍵管理を、AWS Key Management Service (AWS KMS) を用いて実装し、同基準に準拠しました。 PCI 3DS では、一部の鍵管理に FIPS140-2 Level3 以上もしくは PCI PTS 認定の HSM の利用を規定しています。このため、以前は AWS KMS は利用できませんでしたが、 2023 年 5 月に AWS KMS 内部の HSM が FIPS140-2 Level3 にアップグレード したことにより、要件を満たすようになりました。お客様の検討段階では AWS KMS を用いた PCI 3DS 準拠の先行事例はありませんでしたが、AWS からの支援を通じて、AWS KMS を利用するメリット、PCI 3DS QSA (認定審査人) との会話のポイントがクリアになったことから、 AWS KMS を第一選択肢として設計が進みました。 コンプライアンス対応の削減 AWS におけるコンプライアンス対応は、責任共有モデルに基づいて利用者と AWS が分担します。マネージド型サービスなど抽象度の高いサービスを使えば使うほど、利用者の責任範囲が減少し、コンプライアンス対応のより多くを AWS にオフロードできます。当初予定していた AWS CloudHSM を利用する場合に比べて、AWS KMS の利用によりコンプライアンス対応が削減されることは明らかでした。PCI 3DS では準拠後にコンプライアンス維持のための運用が必要となるため、これを削減できることはメリットでした。 運用の削減 AWS CloudHSM では、HSM のバックアップやクラスターの管理の一部を利用者自身で行う必要があります。一方、AWS KMS はマネージド型サービスのため、全て AWS に任せることができます。お客様は少人数でも運用が可能なマネージド型サービスを積極的に採用しているため、AWS CloudHSM よりマネージドな AWS KMS が利用できることに大きなメリットがありました。 AWS SDK の活用 AWS CloudHSM では、鍵へのアクセスに PKCS #11 や OpenSSL Dynamic Engine といった HSM 標準の SDK の利用が必要でした。一方、AWS KMS が管理する鍵へのアクセスはお客様が慣れ親しんだ AWS SDK を利用することができるため、開発やテストが容易である点がメリットでした。 アクセス保護 PCI 3DS では鍵への物理的、論理的アクセスからの保護要件が存在します。物理的アクセスは両サービスともに AWS の責任範囲である一方、論理的アクセスからの保護は利用者の対応も必要です。AWS CloudHSM では HSM の仕様に沿った保護が必要な一方で、 AWS KMS ではキーポリシーの利用によりこれまで活用してきた AWS Identity and Access Management (AWS IAM) の仕組みで実現できることにメリットがありました。 ランニングコスト AWS CloudHSM は時間課金制で HSM の料金が発生するため、最小構成(2台)でも月額 $3,400 程度となり、スケールアウトする際には1台ずつ追加が必要です。一方、AWS KMS はリクエスト単位で費用が発生するため、リクエスト数に応じて無駄なくコストを支払うことができます。そのため、想定していた費用を大きく削減することができました。 アーキテクチャ MIXI M における 3D セキュアの実装に関わるアーキテクチャの一部を紹介します。 お客様は以前より MIXI M で Amazon API Gateway などマネージド型サービスを積極的に活用しており、また PCI DSS に準拠しています。 AWS KMS で管理する鍵を使用する操作は REST API を介して実行します。 AWS KMS で定義されたリクエストクォータの範囲内であればアクセスの増減に対して追加の作業は発生しません。VPC Endpoint を活用することでプライベートな経路で API を呼び出します。AWS KMS で管理する鍵に対する変更や鍵の使用は AWS CloudTrail に記録され確認が可能です。AWS KMS への論理アクセスはキーポリシーで管理しており、鍵へのアクセスが可能な IAM ユーザーや IAM ロールを鍵側から限定することができます。 お客様からの声 田岡 文利様 (株式会社 MIXI 開発本部 MIXI M 事業部) PCI 3DS 準拠は弊社にとって前例がなく、非常にチャレンジングな課題でした。弊社担当の AWS アカウントチームに問い合わせたところ、ニーズを瞬時に理解いただき、迅速にセキュリティスペシャリストとのミーティングを設定していただけました。ミーティングでは数々の有益な情報をご提供いただき、結果として安全性と信頼性を担保しながら迅速に PCI 3DS 準拠への対応を行うことができました。 浅見 公輔様 (株式会社 MIXI 開発本部 MIXI M 事業部) MIXI M では小規模チームでフルスタックに開発と運用を行っており、運用と開発のコスト削減は常に最優先事項です。AWS KMS を利用することで PCI 3DS で必要となる運用コストを大幅に削減でき、3D セキュアのシステム開発に集中できました。私達は AWS のフルマネージド型サービスをフルに活用していますが、フルマネージド型サービスの活用による開発・運用コストの削減は大きなベネフィットがあると改めて確認しました。 まとめ お客様は AWS KMS を利用することで運用コストを低く抑えつつ 3D セキュアの実装と PCI 3DS 準拠を達成しました。今後も マネージド型サービスのメリットを活かしてアーキテクチャを最適化し、サービス向上につながる様々な機能の実装を進めていきたいとのことです。 著者 秋山 周平(ゲームソリューションアーキテクト) 中島 智広(シニアセキュリティソリューションアーキテクト)
こんにちは!ソリューションアーキテクトの伊原です。 この度 AWS Hands-on for Beginners シリーズの新作コンテンツとして、 Amazon FSx for Windows File Server 入門ハンズオン を公開しました。 「社内のファイルサーバー管理が複雑で、データのバックアップや共有に手間がかかっている」などのお悩みはありませんか? AWS にはこのような場合にご利用いただける、 Amazon FSx というサービスがあり、その中でも今回はお客様からの要望の多い Amazon FSx for Windows File Server を取り上げたいと思います。これを利用すると、Windows ベースの共有ファイルシステムを簡単に構築・管理することができます。このハンズオンでは、AWS の公式ドキュメントと動画を用いて実際に共有ファイルシステムを構築し、操作を体験する手順を含めてご紹介します。 こちらのブログでは、今回公開したハンズオンと、ハンズオン実施後の Next Step として、 AWS Site-to-Site VPN の例をご紹介いたします。 Amazon FSx for Windows File Server を使ったファイルサーバの構築 ハンズオン申込ページ AWS Hands-on for Beginners シリーズ一覧 AWS Hands-on for Beginners とは? AWS Hands-on for Beginners は、動画にそって実際に手を動かしながら AWS サービスについて学んでいただく無償のコンテンツです。 名前の通り、初めて AWS サービスをご利用される方向けの内容ですので、学習の最初のステップとしてご活用いただけます。 オンデマンド形式での配信となるので、移動時間などのスキマ時間での学習もできますし、分かりにくい部分を巻き戻して何度でもご覧いただくことができます。 Amazon FSx for Windows File Server 入門ハンズオンを公開しました! Amazon FSx for Windows File Server 入門ハンズオンとして、Amazon FSx for Windows File Server を使ったファイルサーバの構築を公開しました。こちらのハンズオンは、以下のような方に特におすすめとなっております。 オンプレミスにあるファイルサーバーのクラウド移行に関心のある方 部門間や拠点間のファイル共有が出来ずにお困りの方 IT管理部門でのファイル共有やバックアップの効率化に関心のある方 Amazon FSx for Windows File Server を利用すると、共有ファイルシステムの構築と管理が容易になります。 このハンズオンでは、FSx for Windows File Server のセットアップから共有フォルダの作成、ファイルサーバーのマウント設定など、マネジメントコンソール上やリモートデスクトップクライアントでの操作を解説しています。 今回のシリーズでは、 ファイルを Amazon FSx for Windows File Server に保存し、社内での共有とバックアップを実現する 適切な認証を行うために、 AWS Directory Service の AWS Managed Microsoft AD と連携する クライアント PC に見立てた Amazon EC2 サーバーに Amazon FSx for Windows File Server をマウントする といったユースケースを想定しています。 Amazon FSx for Windows File Server のデプロイや、構築した共有ファイルシステムの利用方法もあわせてご紹介します。 概要 ハンズオンの概要について、少しだけ紹介したいと思います。 今回限られた時間の中で構築を進めるにあたり、皆さんが普段お使いになるクライアント PC を EC2 で構築した Windows Server で再現しています。また Amazon FSx for Windows File Server の認証に必要な Active Directoryも AWS Managed Microsoft AD で AWS 上に構築します。オンプレミスとの複雑なネットワーク設計を排除し、AWS に閉じた環境で構築を行うことで、 FSx 入門編としてお客様に構築ステップを理解していただこうという狙いです。 もちろん、このハンズオンが終わった後には、様々な課題が見えてくるはずです。 既存のファイルデータ移行方法はどのように行うのか? 社内ネットワークへの経路はどのように設計、構築していくのか? 既存 AD との連携方法は出来るのか? 実際のパフォーマンスが業務に耐えうるものなのか? Next Step その中でも今回は社内ネットワークへの経路はどのように設計、構築していくのか?というステップについてについてフォローしていきたいと思います。 今回のハンズオンでは AWS 閉じた環境で構築を行いましたが、実際に利用する際にはオンプレミスと AWS を繋ぐネットワークの構築が不可欠になります。 Amazon FSx for Windows File Server では AWS Site-to-Site VPN もしくは AWS Direct Connect を利用することでオンプレミスと Amazon VPC 間の接続を行います。 AWS Direct Connect では、専用のネットワーク接続を経由して、オンプレミス環境からファイルシステムにアクセスできます。また、 AWS Site-to-Site VPN ではセキュアでプライベートなトンネルを経由して、オンプレミスのデバイスからファイルシステムにアクセスできます。 AWS Site-to-Site VPN は本ハンズオンと同様にハンズオンコンテンツとして公開されているので、合わせて VPC ピアリング / AWS Site-to-Site VPN ハンズオン も対応していただくことでより実構築に近い体験を得ていただくことが出来ます。是非次のステップとして実施してみて頂きたいです。 AWS Hands-on for Beginners VPC ピアリング / AWS Site-to-Site VPN ハンズオン申込ページ まとめ このブログでは AWS Hands-on for Beginners シリーズの新コンテンツである、Amazon FSx for Windows File Server を使ったファイルサーバ構築についてご紹介しました。現行のファイルサーバー管理、運用が大変といったお悩みをお持ちの方には特におすすめのコンテンツとなっております。このコンテンツが、皆様の課題の解消やビジネスへの活用に貢献できれば幸いと考えています。ご実施いただいた際は、ぜひアンケートからフィードバックをいただければと思います。それではハンズオンをお楽しみください! Amazon FSx for Windows File Server を使ったファイルサーバの構築 ハンズオン申込ページ AWS Hands-on for Beginners シリーズ一覧 伊原 健太 (Kenta Ihara) 業界業種問わず、お客様の技術課題の解決に向けた支援を行うソリューションアーキテクトです。 趣味は最近飼い始めた犬のお世話です。
国際航空運送協会(IATA)が定義する ONE Order は、航空会社の予約、配送、会計システムの簡素化を目的とした業界主導のイニシアチブです。現行の予約、旅客名記録(PNR)、発券記録、エチケット、電子雑書類(EMD)を段階的に廃止していきます。この仕組みの一環として、IATA は ONE Order システムのメッセージング標準、プロセス、および実装ガイドラインを文書化しました。 この仕組みは、次世代航空小売業に向けた大きな一歩であり、小売業を非常に忠実に模倣しています。これにより、航空会社は複雑なプロセスから解放され、収益決済を含む小売エコシステムにおけるデータの保存、共有、パートナーとのやり取りが簡素化されます。 私は現在の職務において、航空会社、空港、ホテルの顧客と幅広く話をする機会がありました。これらの会話の中で、航空会社は ONE Order に準拠したオーダー管理システムを構築または購入し、既存のエコシステムと統合することを検討していると話してくれました。このブログでは、Amazon Web Services(AWS)上で ONE Order システムをクラウドネイティブに構築し、そのシステムを航空会社の IT やパートナーのエコシステムと統合するためのアイデアを共有したいと思います。 ONE Order による標準化とモデル化 ONE Order の仕組みは、フルフィルメントパートナーやマーケティング パートナーの違いに関係なく、注文の作成、管理、追跡のプロセスをシンプルにします。 これにより、当事者間の支払い決済処理が大幅に高速化され、エコシステム全体で注文の変更をニアリアルタイムで確認できるようになり、業務効率と顧客エクスペリエンスが向上します。 この仕組みの一環として、IATA は以下のものを定義しました: XML 標準による注文データ構造のモデル。このデータ構造には顧客注文のすべての詳細が含まれ、小売業界の典型的な注文に酷似しています。 これは、現在ほとんどの航空会社システムに存在する PNR、EMD、ETK データ構造に代わるものです。 ビジネスイベント。注文のライフサイクル、および注文のライフサイクルイベントを他の対象システムにプッシュするイベントになります。 これには、社内の IT システム(収益管理システムやフルフィルメントシステム)であったり、またはコードシェア・パートナーや、ホテル、陸上製品、小売店などの航空以外の製品・サービス提供者などの外部パートナーも含まれます。 実装ガイダンス。 これは、新しい一連のプロセスについて、注文エコシステム内での連携についてのガイダンスになります。 AWSネイティブでのONE Orderシステム構築 次の図は、AWS 上でネイティブに ONE Order システムを構築するための潜在的なアーキテクチャを示しています。 上記の設計は、チャネル、注文ストア、その他の IT システム、エコシステム内のパートナー間のシームレスな情報交換を容易にするイベント駆動型アーキテクチャの構築に重点を置いています。注文の主要業績評価指標(KPI)をニアリアルタイムで監視し、さらなる洞察を得るために企業データレイクに情報を公開しています。ONE Order システムと従来の PNR ベースの旅客サービス・システム(PSS)との共存にも取り組んでいます。 コアとなる注文データストアは、 Amazon DynamoDB を使用して構築されています。Amazon DynamoDB は、高速で柔軟性の高い NoSQL データベースサービスで、事実上あらゆる規模のワークロードに対してミリ秒単位のパフォーマンスを実現します。Amazon DynamoDB は、保存時の暗号化、自動バックアップとリストア、および最大 99.999 パーセントの可用性のサービスレベル(SLA) によって保証された信頼性をサポートしています。 DynamoDB Streams は、注文テーブルのアイテムレベルの変更の時間順のシーケンスをキャプチャし、この情報をストリーム配信を配信することで、他のアプリケーションやパートナーが注文の作成、変更、履行、キャンセルについて知らせます。注文サービスは、完全なマネージドコンテナオーケストレーションサービスである Amazon Elastic Container Service (Amazon ECS)上のコンテナワークロードとしてデプロイされ、API エンドポイントは、開発者が事実上あらゆる規模で API の作成、公開、保守、監視、および保護を容易にする完全なマネージドサービスである Amazon API Gateway を通じて安全に公開されます。 様々なコンポーネント間のコアメッセージの連携には、 Amazon Managed Streaming for Apache Kafka (Amazon MSK)を使用しています。Amazon MSK を使用することで、お客様は可用性の高い Apache Kafka および Kafka Connect クラスタのプロビジョニング、設定、メンテナンスなどの運用オーバーヘッドを大幅に削減できます。 注文と集計は、インタラクティブなログ分析、ニアリアルタイムのアプリケーションモニタリング、ウェブサイト検索などを簡単に実行できる Amazon OpenSearch Service に保存され、スケーラブルでセキュアなデータ可視化を提供する Amazon Managed Grafana を通じて、ニアリアルタイムの読み取り専用アクセスとダッシュボード表示を行います。 フォーマット間の変換や、注文ライフサイクル イベントに基づいたビジネス イベントの開始のための個別の変換ロジックは、サーバーのプロビジョニングや管理を行わずにコードを実行するためのサーバーレス コンピューティング サービスである AWS Lambda を使用して構築されます。 料金は、消費したコンピューティング時間に対してのみお支払いいただきます。 このアーキテクチャは、双方向のイベント交換メカニズムを提供することで、既存の PNR ベースの PSS システムとの共存を可能にし、従来の PSS システムで発生した変更と注文データの同期を保証します。 航空会社のITおよびパートナーエコシステムとの統合 ONE Order システムと航空会社の IT およびパートナー エコシステムの統合は、主にイベントまたは API を通じて行われます。 API は、他のシステムが ONE Order システムと直接対話し、オーダーの作成、変更、キャンセルを行うことを実現します。 一般的な航空会社の顧客チャネル (直接および間接) は、このメカニズムを使用して注文を作成、変更、またはキャンセルします。 IATA によって定義された注文ライフサイクル イベントにより、新しい注文が作成、変更、またはキャンセルされた場合に他のシステムに通知できるようになります。 これらのイベントは、収益管理、PNR ベースの PSS システム、在庫管理システムなどの他の航空会社の IT システムが、注文に何が起こったかを理解し、影響を評価し、下流の処理を開始するのに役立ちます。 またこれらのイベントは、エコシステム内の他のパートナー、例えば、航空会社が共同販売するホテル、空港サービス、その他の非航空小売プロバイダーのような他のサービスプロバイダーやフルフィルメントエージェントとの統合にも役立ちます。 そして、イベントを使用することによって、分離された非同期処理が保証され、このアーキテクチャをスケーラブルで耐障害性の高いものにしています。 次世代小売業 私のように航空会社で、あるいは航空会社と共に数年間働いてきた者にとって、航空業界の小売とパーソナライゼーションの取り組みの進化の一端を担えることはエキサイティングなことです。IATA ONE Order 標準に準拠した次世代小売・プラットフォームを AWS 上でクラウドネイティブに構築したいと考えている航空会社と一緒に仕事ができることを楽しみにしています。 このブログの続きとして、ONE Order システムと航空会社の収益管理システムの統合について詳しく説明しました。これについては、電子書籍「 AWS for RMS:クラウドにおける最新の収益管理 」で読むことができます。 著者について Robin Kanthareuben Robin Kanthareuben は、旅行、輸送、ホスピタリティ分野で 20 年以上の経験を持つ、経験豊富なテクノロジー リーダーです。 彼は、テクノロジー戦略とアーキテクチャのコンサルティングを通じて、大手航空会社、空港、航空連合、ホテル チェーン、旅行テクノロジー プロバイダーと協力してきました。 彼は現在、ドバイに拠点を置くアマゾン ウェブ サービスに勤務しています。 現在の役割では、旅行業界のビジネスおよびテクノロジーエグゼクティブと提携して、クラウドおよびデジタル テクノロジーを活用してビジネス目標を達成し、組織をその分野のリーダーに変革し、最高の顧客エクスペリエンスを提供できるように支援しています。 翻訳はソリューションアーキテクトの程が担当しました。原文は こちら です。
本稿では、 J.フロント リテイリング株式会社 (以後、JFR)が取り組んでいるデジタル人財育成の中で、 AWS 上に構築した統合データ基盤を活用したデータアナリスト育成の取り組みについて紹介します。 JFR の人財育成のアプローチ 大丸松坂屋百貨店、パルコを傘下に持つ JFR は、デジタル戦略の骨子を取りまとめ、現在はそれに基づいた推進を行っています。戦略骨子は以下の3つの柱から構成されています。 カスタマー・データドリブン経営の実践 デジタルテクノロジーを活用した新たなビジネスモデルの構築 これらのアクションを支えるデジタル人財の育成 このうち3つ目の「デジタル人財の育成」について、説明します。 JFR では、デジタル人財として「データアナリスト」「デジタルデザイナー」の2つの人財像を設定し、マインド、スキル、ナレッジを身に着け、データやデジタルテクノロジーを活用して、業務課題の解決や新しいビジネスをデザインできる人財の育成を目標としています。 データアナリストの重要性 デジタル人財のうち、「デジタルデザイナー」は、ビジネスとテクノロジー双方のナレッジを持ち、課題や戦略に沿ったビジネスデザインを行う人財です。これらの人財育成を内製したプログラムで取り組むことで、単なるスキル習得だけでなく、 JFR で求められるマインド、ナレッジを身に着けることを狙っています。もう一方の「データアナリスト」とは、統計解析のナレッジを基に BI ツールなどを用いてデータを分析し、ビジネスレポートや施策の立案、評価などを行う人財です。 データアナリストとして活躍していくためには、仮説の立案を行うと共に、データに基づいた検証を自ら実施できる必要があります。データアナリストは、自ら検証した結果を基にデジタルデザイナーや現場の担当者と協力して戦略施策を立案し、実行していくことが求められるのです。そのために、データアナリストのデータ活用力を高めることが重要となってきます。 人財育成プログラムで目指すこと データプラットフォームを作っただけでは DX を実現できないことを多くの方が認識しています。データアナリストの育成も同様であり、単にスキル教育をするだけではデータ活用力を高めることはできません。そのため、 JFR では、「マインド設定」「データに関する基礎知識」「専門的な実践技術」「現場での実行力」を組み合わせることで、より実践的な人材を育成するプログラムを目指しています。 「データに関する基礎知識」では統計学で用いられる理論やクラウド活用で得られるビジネスメリットの基本知識を押さえ、「専門的な実践技術」ではクラウド上のデータの操作技術、最近では一般化してきた ML などの AI 利用技術などを取得する必要があります。 一方で、研修を受講する JFR グループ社員の強みはこれまでの現場で培った経験であり、顧客感覚です。そのため、この強みに対してデータ活用力を付加していくことが重要です。 これらを考慮した育成プログラムは、 JFR 社員が主体となって作り上げる必要があり、そこへ外部の専門家の力を組み合わせることになります。また、内製化を中心にすることで以下を期待しています。 各プログラムで取り扱う事例やデータを身近なテーマとすることで、受講生の理解を促進する 変化し続ける市場、会社の状況に合わせて、都度育成プログラムを調整することで、正確な情報を受講生へ伝える 社員が中心となって育成プログラムの改善サイクルを回すことで、少ないコストで最適なプログラムを提供する 育成プログラムを社内へオープンにすることで、受講生だけでなく、多くの社員へ自学自習環境を提供する AWS との取り組み データアナリストには、自ら検証を行えるようになることを求めています。すなわち、 JFR が採用しているクラウド環境( AWS 環境)の基本を理解し、自ら操作し、結果を得るスキルを身に着ける必要があります。これを実現するために、 AWS 協力の下で、以下の内容を盛り込んだ独自のコンテンツを用意しました。 AWS をベースとしたクラウド環境の一般知識、利用におけるメリット/デメリットの解説 AWS の各種機能とJFRが活用している機能の紹介( Amazon Simple Storage Service 、 AWS Glue 、 Amazon Athena など) AWS へ実際にアクセスし、操作方法を学ぶハンズオン 実業務を想定した、クエリー(SQL)の基本を学ぶハンズオン 自社環境による本格的な教育実施の前にクラウド利用の基礎を、専門家である AWS のソリューションアーキテクトが語り、演習をすることで、 JFR は実践的な教育に専念することができます。また、受講生は一般的な知識やスキルと、当社の環境での活用方法を関連付けて考えることができるようになります。 JFR の AWS を活用した演習環境は、実務データをベースにした非常に実践的な環境です。研修の集大成の位置づけで業務に密着したレポートテーマを設定し、演習環境を利用したデータ分析、仮説立案と検証を行うことで実行力を定着させることを狙っています。 JFR のグループデジタル統括部デジタル推進部でデジタル人財育成チームを率いる村川氏は、「私たちがデジタル人財の育成で大切にしているのは、実践力です。」と述べています。「私たちはこの研修カリキュラムを通じて身に着けた、 AWS を実際に操作して自らデータ分析を行う実践力を、現場で発揮することを期待しています。そのために研修終了後も、企画支援やデータ分析支援を行う体制を整え、データアナリストをバックアップする体制を整えています。」 デジタル人財育成プログラム向けコンテンツについて JFR のデジタル人財育成プログラム向けに作成したコンテンツは、 AWS と SQL の基礎を学ぶハンズオンです。AWS 入門では、 JFR で利用している AWS サービスの基本操作を学び、SQL 実行環境を構築します。SQL 入門では、基本的な構文(GROUP BY 句、 JOIN 句など)を学び、実務に沿ったデータを用いた演習問題に取り組みます。これにより、受講者全体のスキルを向上させ、データアナリストとして活躍するための土台を築きます。 実際に取り組んだコンテンツの抜粋 まとめ・今後について JFR では、データアナリストの育成を 2022 年末から行っています。すでに 20 名以上のデータアナリストを輩出しており、データアナリストとデジタルデザイナーを合わせて、2024 年度末に 100 名、2030 年度末に 1,000 名まで増やす計画を進行中です。データアナリストは現場に戻り、現場課題を抽出し、データ分析による解決に取り組んでいます。データ分析にあたっては、現場に任せきりにするのではなく、統合データ基盤を活用できる環境と共に、分析アドバイスやサポート、継続的な取り組みと、スキルアップが可能な仕組みを提供し、活躍してもらっています。今後は、この動きを活発化させると共にデジタルデザイナーとも連携して、「カスタマー・データドリブン経営」を一層加速させようとしています。 JFR ではこの取り組みを強力に推進していくために、共に取り組んでいく仲間を募集しています。興味を持っていただける方のご連絡をお待ちしています。 &nbsp; 本稿は、ソリューションアーキテクト 齋藤、髙橋が担当し、J.フロントリテイリング株式会社 グループデジタル統括部デジタル推進部 デジタル人材育成チームリーダー 村川氏との共同執筆です。デジタル人材育成に取り組む方の参考となれば幸いです。 JFR における統合データ基盤を活用したカスタマー・データドリブン経営の取り組みについても、以下のブログで紹介しています。合わせてご覧ください。 「 J.フロントリテイリングにおける統合データ基盤を活用したカスタマー・データドリブン経営の取り組み 」 &nbsp;
2013 年、アマゾン ウェブ サービスは、初のフルマネージド型でペタバイト規模のエンタープライズグレードクラウドデータウェアハウスである Amazon Redshift を発表し、データウェアハウス業界に革命をもたらしました。Amazon Redshift によって、既存のビジネスインテリジェンスツールを使用して大量のデータを容易かつ費用対効果の高い方法で効率的に分析できるようになりました。このクラウドサービスは、従来の高価で伸縮性がなく、かつ調整と運用に多大な専門知識が必要だったデータウェアハウスソリューションから大きく飛躍したものでした。それ以降、お客様はさまざまな変化に対応する上で、より優れたスケーラビリティ、より高いスループット、俊敏性を求めています。ビジネスクリティカルな分析と機械学習のユースケースは爆発的に増加しており、私たちはその変化のスピードに追従しています。現在、何万ものお客様が AWS のグローバルインフラストラクチャで Amazon Redshift を使用して、毎日エクサバイト単位のデータを処理しています。また、Amazon Redshift をデータアーキテクチャの主要なコンポーネントとして採用し、一般的なダッシュボードからセルフサービス分析、リアルタイム分析、機械学習、データ共有と収益化など様々なユースケースで活用を進めています。 AWS re:Invent 2023 で発表された Amazon Redshift の進化は、クラウド分析環境のモダナイズ化をさらに加速し、規模を問わず最高のコストパフォーマンスを実現するという当社の基本理念を継続していきます。これらの発表は、すべてのデータを統合する AWS のゼロ ETL のビジョンを推進するものです。これにより、包括的な分析と機械学習機能によってデータの価値を最大化し、組織内および組織間の安全なデータコラボレーションによりイノベーションをさらに迅速化できます。コストパフォーマンスの向上からゼロ ETL、生成系 AI 機能まで、すべての方に有益となるサービスや機能を取り揃えています。それではハイライトを見ていきましょう。 スケール、パフォーマンス、信頼性を高めるためのアナリティクスのモダナイズ “ 従来のオンプレミスプラットフォームから Amazon Redshift に移行することで、データの取り込みが 88% 速くなり、データのクエリが 3 倍速くなり、日次でデータをクラウドに読み込む処理が 6 倍速くなりました。Amazon Redshift により、パフォーマンス、可用性、信頼性を最適化できました。これにより、オペレーションの複雑さが大幅に緩和され、製造現場でのエンドユーザーの意思決定エクスペリエンスのスピードも向上しました。 ” – Sunil Narayan, Sr Dir, Analytics at GlobalFoundries 新たな改善により、規模を問わず最高のコストパフォーマンスを実現する取り組みを推進 Amazon Redshift は、当初からコストを抑えながら最適なパフォーマンスを実現するための革新的な機能を構築してきました。Amazon Redshift は、他のクラウドデータウェアハウスよりも最大 6 倍優れたコストパフォーマンスと、ダッシュボーディングアプリケーション用途では高い同時実行性と低レイテンシー性能を備えており、引き続きコストパフォーマンス面でリードしています。弊社ではクエリパターンを綿密に分析し、顧客中心のイノベーションを推進する機会を模索しています。例えば、2023年の初めに、文字列ベースのデータ処理を、LZO (Lempel-Ziv-Oberhumer) や ZStandard などの圧縮エンコーディングと比較して 最大 63 倍高速化 すると発表しました。AWS re:Invent 2023 では、ブルームフィルターの強化、クエリの書き換え、Auto Scaling での書き込み操作のサポートなど、クエリのプランニングと実行におけるパフォーマンスのさらなる強化を導入しました。パフォーマンス改善機能の詳細については、以下の発表リストを参照してください。 Amazon Redshift Serverless は 新しい AI 駆動スケーリングと最適化によりこれまで以上にインテリジェントに コストパフォーマンスについて言えば、 Amazon Redshift Serverless の新しい次世代 AI 駆動スケーリングおよび最適化機能により、手動介入なしに、変動するワークロード に対して最大 10 倍優れたコストパフォーマンスを実現(社内テストに基づく) できます。2021 年から一般提供されている Amazon Redshift Serverless を使用すると、データウェアハウスをプロビジョニングして管理しなくても、分析の実行やスケールができます。一般提供開始以来、Redshift Serverless は 10 億件を超えるクエリを実行して、何千もの顧客がデータインサイトを獲得してきました。新しい AI 最適化機能により、Amazon Redshift Serverless は、データ量、同時接続ユーザー、クエリの複雑さなど、すべての主要な側面にわたるワークロードの変化に応じて、プロアクティブかつ自動的にスケーリングされます。コストを最適化するか、パフォーマンスを最適化するか、またはそのバランスを取るか、望ましい価格性能目標を指定するだけで、Redshift サーバーレスがその要件に合うよう最適化します。Redshift サーバーレスのその他の改善点について詳しくは、末尾の発表リストをご覧ください。 データ共有によるマルチデータウェアハウスの書き込み データ共有は Amazon Redshift で広く採用されている機能で、お客様は共有データに対して毎日何千万ものクエリを実行しています。この機能を利用することで、事前にデータをコピーしたり移動したりすることなく、読み取り目的で組織・リージョン内、および組織・リージョン間でトランザクションの一貫を保ちながらライブデータを共有することができます。お客様は、データ共有機能を利用して分析環境を従来のモノリシックな構成から、マルチクラスタのデータメッシュ構成へとモダナイズしています。これによって、組織全体でシームレスかつ安全なデータアクセスが可能になり、データコラボレーションと強力なインサイト獲得が促進されます。AWS re:Invent 2023 ではさらにデータ共有機能を拡張して、マルチデータウェアハウスへの書き込みを開始(プレビュー)し、わずか数クリックで他の Redshift から 異なる Redshift データベースへの書き込みを開始できるようになりました。これにより、コストパフォーマンスのニーズに基づいてさまざまなタイプとサイズのウェアハウスを追加することで、データコラボレーション、ETL/データ処理ワークロードのコンピューティングの柔軟なスケーリングが可能になります。各ウェアハウスは個別のコンピュート使用量に対して課金されるため、コンピューティング使用量の透明性が高まり、その結果、コストを抑えることができます。 多次元データレイアウト Amazon Redshift は、業界をリードする予測最適化機能を備えています。これにより、ワークロードを継続的に監視し、データウェアハウスをより多く利用するにつれて自動的にデータレイアウトとコンピューティング管理を最適化し、性能をシームレスに高めると共にクエリ同時実行性を最大化します。自動テーブルソート、自動的なソートキー・分散キーの選択など、Redshift がすでに提供している強力な最適化機能に加えて、入力されるクエリのフィルタ条件 (特定の地域の売上など) に基づいてデータを自動的にソートすることで繰り返し実行されるクエリのパフォーマンスを向上させる新しい強力なテーブルソートメカニズムである多次元データレイアウトを導入しました。この方法では、従来の方法に比べてテーブルスキャンのパフォーマンスが大幅に向上します。 ゼロ ETL のアプローチですべてのデータを統合 “ Aurora MySQL Zero-ETL 統合を使用することで、Aurora MySQL データベースと Amazon Redshift の間でニアリアルタイムのデータ同期が可能になり、分析環境を構築するために開発者が費やしていた時間は、以前は 1 か月要していたところ、わずか3時間で実現できるようになりました。 ” – MoneyForward JOYME は、Amazon Redshift のストリーミング取り込み機能やその他の Amazon サービスを使用して、リチャージ、返金、報酬などのユーザーのファイナンス活動のリスク管理を行っています。 “ Redshift を利用することで、リスク対象とデータを時間単位ではなくニアリアルタイムで確認することができます。当社のビジネス ROI 効率を大幅に改善しました。 ” – PengBo Yang, CTO, JOYME データパイプラインは、構築と管理が困難でコストがかかる場合があり、分析用のトランザクションデータを取得するのに何時間もかかる場合があります。このような遅延はビジネスチャンスを逃すことにつながります。特に、トランザクションデータの分析から導き出された洞察が限られた時間しか意味を持たない場合はなおさらです。Amazon Redshift は AWS のゼロ ETL アプローチを採用しています。これにより、データウェアハウスとオペレーションデータベース、さらにはストリーミングデータサービス間の相互運用性と統合が可能になるため、データをウェアハウスに容易かつ自動的に取り込んだり、データが存在する場所に直接アクセスしたりできます。 オペレーションデータベースとの ゼロ ETL 統合 2023年、Amazon Aurora MySQL と Amazon Redshift 間でゼロ ETL 統合を実現しました( 一般提供開始 )。これにより、Amazon Aurora からのペタバイト単位のトランザクションデータに対して、Amazon Redshift を使用してニアリアルタイムの分析と機械学習(ML)が可能になりました。トランザクションデータが Aurora に書き込まれてから数秒以内に、データが Amazon Redshift で利用できるようになるため、抽出、変換、ロード (ETL) 操作を実行するために複雑なデータパイプラインを構築して維持する必要はありません。AWS re:Inventでは、ゼロ ETL 統合を他のデータソース、特に Aurora PostgreSQL、Dynamo DB、Amazon RDS MySQL にも拡張しました。また、ゼロ ETL 統合によって、新規または既存の Amazon Redshift インスタンスで複数のオペレーションデータベースクラスターからデータをロードして分析し、多くのアプリケーションにわたる総合的な洞察を引き出すこともできます。 データレイククエリが Apache Iceberg テーブルをサポート Amazon Redshift では、さまざまなオープンファイルおよびテーブル形式をサポートしているため、お客様はデータウェアハウスとデータレイクで幅広いワークロードを実行できます。AWS re:Invent では、Apache Iceberg テーブルのサポートが一般提供されることを発表しました。これにより、Amazon Redshift からデータレイク上の Apache Iceberg テーブルに容易にアクセスでき、必要に応じてデータウェアハウス内のデータと結合できます。Amazon Redshift に自動マウントされた AWS Glue データカタログを使用して、ワンクリックでデータレイクテーブルにアクセスできるため、操作が容易になります。その他、AWS Glue 統計情報と統合することでデータレイクのクエリのパフォーマンスを向上させ、さらにデータレイク上のデータのマテリアライズドビューにインクリメンタルリフレッシュ機能追加(プレビュー)を発表し、繰り返されるクエリ実行を高速化できるようになりました。 ゼロ ETL 統合、データレイクのパフォーマンス強化、その他の発表について詳しくは、末尾をご覧ください。 包括的な分析機能と ML 機能で価値を最大化 “ Amazon Redshift は、Jobcase を企業として成長させる上で私たちが持っていた最も重要なツールの 1 つです。 ” – Ajay Joshi, Distinguished Engineer, Jobcase すべてのデータが統合され、利用可能になったら、AI/ML/生成系 AI アプリケーションへのニアリアルタイムの分析を容易に構築して実行できます。ハイライトをいくつかご紹介します。全リストは末尾をご覧ください。 Amazon Q の Generative SQL(生成系 SQL) 機能 Amazon Redshift クエリエディタは、すぐに使えるウェブベースの SQL エクスペリエンスを提供し、データ探索、視覚分析、データコラボレーションに利用される人気のツールです。AWS re:Invent では、Amazon Redshift クエリエディタに Amazon Q Generative SQL(生成系 SQL)機能を発表 (プレビュー) しました。これにより、自然言語でクエリを表現してSQLコードのレコメンドを受けることができるため、クエリの作成が容易になり、生産性が向上します。Generative SQLは、AI を使用してユーザーの意図、クエリパターン、スキーマメタデータを分析し、一般的な SQL クエリパターンを直接識別します。これにより、組織の複雑なデータベースメタデータに関する幅広い知識がなくても、会話形式でより迅速に洞察を得ることができます。 Amazon Redshift ML 大規模言語モデル (LLM) 統合 Amazon Redshift ML により、お客様は使い慣れた SQL コマンドを使用して機械学習モデルを作成、トレーニング、デプロイできます。お客様は Redshift ML を使用して、データウェアハウス内で 1 日に平均 100 億件を超える予測を実行しています。AWS re:Invent では、プレビューとして LLM のサポートを発表しました。 Amazon SageMaker JumpStart では、事前にトレーニングされたオープンソースの LLM を Redshift ML の一部として使用できるようになりました。これにより、LLM の力を分析にもたらすことができます。たとえば、Amazon Redshift で製品フィードバックデータを推測したり、LLM を使用してフィードバックを要約したり、エンティティ抽出、感情分析、製品フィードバック分類を実行したりすることができます。 組織内および組織間の安全なデータコラボレーションにより、イノベーションを加速 “ 何百万もの企業が Stripe のソフトウェアと API を使用して、支払いの受け付け、支払いの送信、ビジネスのオンライン管理を行っています。Amazon Redshift のような主要なデータウェアハウスを介して Stripe データにアクセスすることは、お客様から最も要望の多かったものでした。当社のお客様は、複雑なデータパイプラインを構築したり、データを移動したりコピーしたりすることなく、安全で高速な統合分析を大規模に必要としていました。Amazon Redshift 用 Stripe データパイプラインにより、お客様が数回のクリックで直接的で信頼性の高いデータパイプラインをセットアップできるよう支援しています。Stripe Data Pipeline により、お客様は最新かつ完全な Stripe データを Amazon Redshift データウェアハウスと自動的に共有し、ビジネス分析とレポートを次のレベルに引き上げることができます。 ” – Tony Petrossian, Head of Engineering, Revenue &amp; Financial Management at Stripe Amazon Redshift を使用すると、チームやデータがどこに存在しても、容易かつ安全にデータを共有し、共同作業を行うことができます。また、どこで事業を展開していても、また厳しい規制のある業界においても、データの 安全性 を確保できます。きめ細かな権限や、組織アイデンティティのシングルサインオンによる容易な認証が可能になりました。これらはすべて追加費用なしで提供されます。 AWS IAM Identity Center 統合 Amazon Redshift と AWS IAM Identity Center 統合を発表しました。これにより、組織は Amazon QuickSight、Amazon Redshift クエリエディタ、および Amazon Redshift 間の信頼されたアイデンティティプロパゲーションをサポートできるようになります。Microsoft Entra ID、Okta、Ping、OneLogin などのサードパーティの ID プロバイダ (IdP) と連携することもでき、組織の ID によるシングルサインオンで Amazon QuickSight や Amazon Redshift クエリエディタから Amazon Redshift にアクセスできます。管理者は、サードパーティの ID プロバイダーのユーザーとグループを使用して、サービス全体のデータへのアクセスをきめ細かく管理し、AWS CloudTrail でユーザーレベルのアクセスを監査できます。この信頼できる ID 連携により、ユーザーの ID は Amazon QuickSight と Amazon Redshift の間でシームレスに連携され、インサイトを得るまでの時間を短縮し、スムーズな分析が可能になります。 発表の全文については、以下を参照してください: スケール、パフォーマンス、信頼性を高めるためのアナリティクスのモダナイズ What’s new – New AI-driven scaling and optimizations in Amazon Redshift Serverless (Preview) What’s new – Multi-data warehouse writes through data sharing (Preview) What’s new – Multi-Dimensional Data Layouts (Preview) What’s new – Support for Multi-AZ deployments in GA What’s new – Concurrency scaling now supports Create Table As Select What’s new – Enhanced manageability and usability features for Amazon Redshift Serverless Redshift price-performance improvements ゼロ ETL のアプローチですべてのデータを統合 What’s new – Amazon Aurora PostgreSQL zero-ETL integration with Amazon Redshift (Preview) What’s new – Amazon RDS for MySQL zero-ETL integration with Amazon Redshift (Preview) What’s new – Amazon DynamoDB zero-ETL integration with Amazon Redshift (Preview) What’s new – Support for Apache Iceberg tables in GA What’s new – Incremental refreshes on materialized views (Preview) What’s new – Integration with AWS Glue column-level statistics 包括的な分析機能と ML 機能で価値を最大化 What’s new – Amazon Q Generative SQL in Amazon Redshift (Preview) What’s new – Large Language Model support in Amazon Redshift (Preview) What’s new – AWS Glue support for multi engine views with AWS Analytics Engines What’s new – Integration with visual studio code What’s new – Autocomplete suggestions in Amazon Redshift Query Editor V2 組織内および組織間の安全なデータコラボレーションにより、イノベーションを加速 What’s new – Trusted Identity propagation with IAM Identity Center What’s new – New Fine grained access control capabilities (Preview) What’s new – Integration with secrets manager What’s new – Row level security enhancements What’s new – Metadata security for multi-tenant applications さらに詳しく: https://aws.amazon.com/redshift 著者について Neeraja&nbsp;Rentachintala は、Amazon Redshift のプリンシパル・プロダクト・マネージャーです。Neeraja は、プロダクトマネジメントと GTM の分野で経験を積んできたリーダーであり、データ製品やプラットフォームにおけるプロダクトビジョン、戦略、リーダーとしての役割において 20 年以上の経験を積んできました。Neeraja は、分析、データベース、データ統合、アプリケーション統合、AI/機械学習、オンプレミスとクラウドにわたる大規模な分散システムなどの製品を提供し、MapR(HPEが買収)、Microsoft SQL Server、Oracle、Informatica、Expedia.comなどのベンチャー企業の一部としてフォーチュン500企業にサービスを提供しました。 Sunaina AbdulSalah は、Amazon Redshift のプロダクトマーケティングをリードしています。彼女は、データウェアハウスと分析の影響について顧客を教育し、AWS の顧客事例を共有することに重点を置いています。彼女は、B2B テクノロジーとクラウドコンピューティングの分野におけるマーケティングと GTM 機能の深い経歴を持っています。仕事以外では、家族や友人と過ごしたり、旅行を楽しんだりしています。 原文は こちら です。 翻訳はソリューションアーキテクトの鈴木 浩之が担当しました。
先日(2023/11/27) 「Amazon Aurora/RDS のコスト最適化 」無料セミナーを開催しました。本セッションでは、Amazon Aurora/RDS を長期間運用するにあたってのコスト最適化のポイントや、安定運用のコツについてご紹介しました。 アジェンダは以下の通りで実施しております。 Amazon Aurora/RDS でのコストの最適化 Amazon RDS/Auroraのアーキテクチャー概要 Amazon RDSコスト最適化アプローチ Amazon Aurora コスト最適化アプローチ Aurora Serverless v2 Aurora I/O-Optimized 移行のベスト プラクティスとコストの最適化 データベース移行の課題 データベース移行に活用できるAWSのサービス Database Freedom Workshop データベース移行パートナー AWS Schema Conversion Tool AWS Database Migration Service OLA for Database (Optimization and Licensing Assessments for Database) まとめ ※セミナー資料・録画を希望する場合、弊社営業担当までご連絡下さい。 当日、参加者の皆様には数多くの 「Q&A 」を頂きありがとうございました。頂いた「 Q&A」 の一部についても共有しております。 【Q&amp;A】 Q1: ライターインスタンスをProvisioned、リーダーインスタンスをServerless Auroraにした場合、ハードウェア障害などによるフェイルオーバーが発生すると、リーダーインスタンスであったServerless Auroraがライターインスタンスに昇格する、という理解であっていますか? A1: お問い合わせ頂きましてありがとうございます。 はい。ご認識の通りです。リーダーのServerlessインスタンスがライターに昇格します。 詳細につきましては、以下ドキュメントも併せてご確認ください。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.how-it-works.html#aurora-serverless.ha Q2: Aurora mysqlを使っている本番DBでawsアカウント間の移行作業を予定しています。ダウンタイムをできるだけ少なくするにはDMSが有効ですか?移行後のDBMSの変更は有りません。 A2: はい。有効になります。ダウンタイムを極力少なくしたい場合は、DMSをご検討ください。なお、設定方法や対応バージョンは、こちらのURLをご参照ください。https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Homogeneous Q3: RDS PROXYですが、Auroraの場合高コストになるケースがあります。その辺を教えていただければ。 A3: お問い合わせありがとうございます。 RDS Proxyの料金は、お客様が構成されているデータベースインスタンスに依存します。 以下ドキュメントをご参照の上、お客様環境のご利用料金を試算くださいませ。 https://aws.amazon.com/jp/rds/proxy/pricing/ Q4: DBインスタンスのサイズダウンを検討する際にPerformanceInsightで見るべき観点となるメトリクスに付いてご教授ください。 A4: お問い合わせ頂きましてありがとうございます。 Aurora Serverless V2で確認する代表的なメトリクスは以下になります。 ・現在の容量(ACU)はCloudWatchメトリクスのServerlessDatabaseCapacityで確認することが可能 ・最大ACUに対する現在のACUの割合はCloudWatchメトリクスのACUUtilizationで確認することが可能 上記以外の重要メトリクスにつきましては、CloudwatchおよびPerformance Insightsについて記載されている以下ドキュメントをご確認頂き、お客様の要件に併せた監視をご検討くださいませ。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.viewing.monitoring https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless[…]rformance-insights
みなさま、AWS re:Invent 2023はお楽しみいただけましたでしょうか。 2023年12月1日に実施した [AWS Black Belt Online Seminar] AWS re:Invent 2023速報 の資料及び動画についてご案内させて頂きます。動画はオンデマンドでご視聴いただけます。 また、過去の AWS Black Belt オンラインセミナーの資料及び動画へのリンクは「 &nbsp;AWS サービス別資料集 」に一覧がございます。 YouTube の再生リストは「 &nbsp;AWS Black Belt Online Seminar の Playlist&nbsp; 」をご覧ください。 AWS re:Invent 2023速報 AWS re:Invent 2023 で発表されたばかりの新サービス、新機能を 1 時間に凝縮して一挙紹介! 資料(&nbsp; PDF &nbsp;) | 動画(&nbsp; YouTube &nbsp;) 対象者 AWSに興味をお持ちのすべての方 AWS re:Invent 2023を見逃してしまった方、振り返りたい方 日本語でわかりやすく新サービス、新機能の概要を知りたい方 本 BlackBelt で学習できること AWS re:Invent 2023 で発表されたばかりの新サービス、新機能 スピーカー 小林 正人 ( Kobayashi Masato ) Solutions Architect また、併せて以下のイベントへ是非ご参加ください。 AWS re:Invent 2023 re:Cap – AWS Key Message と主要アップデート 〜50 分で全体像を把握する!AWS re:Inventキーノート振り返り〜 登録はこちら AWS re:Invent では複数のキーノートで様々な発表が行われました。2024 年 1 月 18 日(木)開催の『AWS Builders Online Series』内、クロージングセッションでは、これら AWS re:Invent のキーノートをまとめた振り返りをお届けします。AWS の方向性を示すキーメッセージをはじめ、特に注目を集めた新サービス・新機能をピックアップして振り返ります。その他、本イベントでは、AWS の各サービスが基礎から学べ、AWS 認定準備講座も公開されます。是非併せてご参加ください。 AWS re:Invent Recap – ソリューション編 〜AWS の最新アップデートをソリューション別にご紹介〜 登録はこちら AWS re:Invent Recap – インダストリー編 〜AWS の最新アップデートをインダストリー別にご紹介〜 登録はこちら 本BlackBeltを通じて、みなさまが深堀りしたいと思えるサービスが見つかり、より詳細にその機能やメリットを調べていただくきっかけとなれば幸いです。 また、毎週のアップデートをまとめている 週刊AWS も公開される予定ですので楽しみにお待ち下さい!
この記事は “ Three Takeaways from Pfizer at AWS re:Invent Keynote ” を翻訳したものです。 ファイザーは、その科学的専門知識とグローバルなリソースを活用して、人々の命を大幅に延ばし、質を向上させるワクチンと治療薬を提供しています。昨年、ファイザーは13億人の患者を治療しました – つまり6人に1人がファイザーの薬を使用したことになります。 AWSの最大の年次イベントであるre:Inventで、AWSのCEOアダム・セリプスキーは、ファイザーの最高デジタル・テクノロジー責任者リディア・フォンセカと基調講演のステージを共有しました。フォンセカは、進行中の最新の生成系AIの取り組みと、昨年とそれ以降の両社の最も革新的な共同成果について語りました。下記のトップ3つが重要なポイントです。 1. ライフサイエンスの生成系AIの未来を探る:患者をより速く助けるために時間とリソースを再配分 この1年で最も話題になったテクノロジーは、生成系AIです。ファイザーはAWSと協力して、その力を17のユースケースに活用し、イノベーションと生産性を推進しています。科学的・医学的なコンテンツの生成から製造など、Amazon BedrockとAWSのAI/機械学習(ML)エコシステムを使用したプロトタイプは数週間で立ち上がっています。ファイザーは、優先的なユースケースの一部で、年間75億ドルから100億ドルのコスト削減が見込めると推定しています。 例えば、生成系AIは新しいがん治療標的の特定に役立ちます。今日、これはデータソース間で情報を集約せざるを得ないマニュアルプロセスです。しかし、AIはわずかな時間で、はるかに多くのソースから関連するデータと科学コンテンツを特定および照合できます。AIアルゴリズムは、潜在的な標的を生成し、それらをより迅速に検証し、最終的には成功確率を向上させる傾向を評価できます。 さらに、ファイザーはAWSサービスを使用して、VOXと呼ばれるファイザー認定の生成系AIプラットフォームを迅速に導入しました。これにより、従業員はAmazon BedrockやAmazon SageMakerなどの最高の大規模言語モデルに安全にアクセスしながらイノベーションを起こすことができます。他の生成系AIアプリケーションとして、特許出願の初稿を作成し、医学・科学コンテンツを生成することで、人間によるレビューと最終化のための時間を節約し、ファイザーが画期的な成果をより速く患者に届けることができるようにすることが検討されています。 AWSのアジャイルな文化は、ファイザーの働き方と一致しており、両社がプロトタイプを迅速に反復できるようにしています。また、Amazon Bedrockで利用できる大規模言語モデルのバリエーションにより、ファイザーは特定のユースケースに最適なツールを選択できます。AWSのモジュール方式により、ファイザーはベンダー全体でプラグアンドプレイが可能となり、全体的なAI戦略を大幅に加速できます。 2. クラウドによって可能になった前例のないスピードとスケール:COVID-19ワクチンの開発とその先へ 生成系AIは、ファイザーがCOVID-19パンデミックが発生した時を振り返ると、AWSとファイザーは成果につながる方法でテクノロジーを適用するために取り組みました。ファイザーがBioNTechとのCOVID-19ワクチンの共同開発を発表してから、FDAが緊急使用許可を付与した日までわずか269日しかかかりませんでした。このプロセスに通常かかるのは8〜10年です。そしてパンデミック前、ファイザーはポートフォリオ全体で2億2,000万回分のワクチンしか生産していませんでした。この数は、2022年にはコミナティの40億回分に拡大しました。この実現のためには、多くの技術協力が必要でした。 まず、AWSは高性能コンピューティング容量を迅速に提供し、ファイザーがクラウドの追加の数万コアにスケールできるようにしました。追加のCPUを利用することで、ファイザーはワクチン候補の製造方法を理解するための非常に計算負荷の高い分析を実行できました。次に、FDAへの申請のために1日以内にデータを提出する必要があるとき、AWSはオンデマンドでコンピュート容量を増強し、ファイザーが科学進歩のスピードで進められるようにしました。 次に、世界中がワクチンを待っている中、ファイザーはできるだけ速くワクチンを製造および配布する必要がありました。業界初のデジタルオペレーションセンターにより、ファイザーのチームは工場間で連携し、生産状況を確認し、リアルタイムで問題を解決できるようになり、スループットが20%向上しました – これがファイザーの工場の運営の核心です。例えば、mRNA予測アルゴリズムにより、1バッチあたり2万回分多くのワクチンが得られました。 今日、ファイザーとAWSは、サプライチェーンを混乱させる可能性のあるイベントに関するプロアクティブなアラートをAIで生成しています。例えば、ハリケーン・イアンの前に介入することで、重要な医薬品とワクチンの供給の継続性を確保しました。 3. グローバルで成功するのためのエンタープライズレベルのデータ戦略 ファイザーは現在、18ヶ月以内に19の医薬品とワクチンを発売することを目指しています。これは、どの企業によっても達成されたことのない快挙です。非常に野心的な目標ですが、すでに13の発売を達成するなど、着実な進捗があります。 この目標の成功には、デジタル、データ、AIが不可欠であり、ファイザーを際立たせているのは、これらを企業全体に適用している点です。ファイザーは数年前からこの土台づくりを始め、テクノロジーとAIが企業で花開くために必要な要素を整えてきました。データの集中化、グローバルでスケールできる標準とプラットフォームの作成、強力なデジタルとAI人材の育成、そして堅牢でセキュアな基盤の構築です。これらすべてが、最大のインパクトをもたらすイノベーションのために行われました。 2021年、ファイザーは大規模なイニシアチブに着手しました。コアITのクラウド化を10%から80%に引き上げることです。これには、12,000のアプリケーションとデータベース、8,000のサーバーを42週間で移行することが必要でした。これは、ファイザーの規模の企業において、AWSがお客様をご支援した中でも最速の移行の1つです。 AWSへの移行により、ファイザーは年間4,700万ドル以上のコスト削減と、3つのデータセンターの閉鎖xを実現し、4,700トンのCO2排出量削減、つまり1,000世帯分の年間エネルギー使用量に相当する削減を達成しました。これによりスピードとスケールでのイノベーションが可能になりました。例えば、ファイザーはコンピューティング資源の設定に必要な時間を、月単位から時間単位(1時間で6万CPU)に短縮でき、大規模な薬事申請のためのデータ生成スピードを75%向上させました。 この成功は、これまで以前の取り組みによるものです。2019年、ファイザーとAWSは、数百の実験機器からのマルチモーダルデータを集約する、業界をリードするサイエンティフィックデータクラウド(SDC)を開発しました。このエンドツーエンドのプラットフォームは、実験室や製造機器によって生成された科学データの処理、保存、検索、再利用、分析に関わる作業を簡素化します。SDCのAWS上に構築されたオープンデータレイクアーキテクチャにより、データ量の増加や分析要件の複雑化に合わせてプラットフォームを動的にスケールできます。納入後、SDCはファイザーの科学者が、以前の断片化された環境では数週間または数ヶ月かかっていた、すべての過去の分子と化合物データの簡単かつカスタマイズされた検索をリアルタイムで行うことが出来るようになりました。この時間短縮により、ファイザーチームは分析と計算研究を加速し、最も有望な新規化合物を特定および設計するAIアルゴリズムを活用できるようになりました。 YouTubeで基調講演をご覧ください ライフサイエンス関連の組織とAWSがどのように連携しているかの詳細は、 aws.amazon.com/health/life-sciences をご覧ください。※日本のお客様向けのウェブサイトはこちら: https://aws.amazon.com/jp/local/health/ 翻訳は事業開発の片岡と亀田が担当しました。
はじめに 2023年10月20日、新聞・出版業界のお客様向けに、「コンテンツ制作・配信におけるクラウド活用」というテーマでセミナーをオンラインにて開催いたしました。このセミナーの開催報告として当日お話しした内容や資料をご紹介いたします。 新聞・出版業界では、従来型の物理媒体での発信に加え、WEB メディアはもちろん、動画や音声配信メディアといった様々な媒体での情報発信が進んでおります。 発信するコンテンツが多様化していくことにより、従来よりもコンテンツの管理、活用のためにより多くの負担が強いられる状況の中、それらを適切に効率よく行うための仕組みづくりが求められます。 本セミナーでは、AWS がコンテンツ制作の現場の業務でどのように活用されているかを、お客様のプロダクト開発事例を交えてご紹介しました。さらに、最近注目を浴びている Generative AI (生成系 AI) についての AWS の取り組みをデモを交えてご紹介いたしました。 コンテンツの多様化とクラウド活用 アマゾン ウェブ サービス ジャパン 合同会社 メディアソリューション部 ソリューションアーキテクト 紙谷 知弘 【 資料 】 【 動画 】 オープニングセッションとして、アマゾン ウェブ サービス ジャパン 紙谷より、昨今進んでいるコンテンツの多様化による業務負荷の高まりと、それに対応するためのクラウド活用による業務効率化について海外の事例を交えてご紹介いたしました。 また、生成系 AI を活用した業務改善のアイディアを手軽に試していただく手段として、 Generative AI Use Cases JP の活用例をデモを交えてご紹介しております。 編集業務の DX に朝日新聞社の R&amp;D チームが本気で挑んでいる話 株式会社朝日新聞社 メディア事業本部メディア研究開発センター 嘉田 紗世 様 【 資料 】 【 動画 】 株式会社朝日新聞社嘉田様より、メディア研究開発センターで取り組まれている編集業務の作業効率化に向けた取り組みをご紹介いただきました。取材後の文字起こし作業は記事制作の中でも負担が大きいプロセスです。この作業を効率化するプロダクト 「YOLO」の 開発目的や構成要素、今後の展望についてお話しいただきました。 ウェブメディア制作を支える tech 組織作りと AWS 活用事例 KODANSHAtech 合同会社 ゼネラルマネージャー 長尾 洋一郎 様 【 資料 】 【 動画 】 KODANSHAtech 合同会社長尾様より、ウェブメディアシステムの開発における組織としての課題と内製化に至った経緯をご紹介いただきました。さらに、なぜ内製化組織が必要だったか、システム内製化を進めるにあたり技術選定のポイントをどのように考えているかについて実例を交えてお話しいただいております。 おわりに 本ブログでは、2023年10月20日に開催された「コンテンツ制作・配信におけるクラウド活用〜最新事例から知る業務効率化手法~」の内容をご紹介させていただきました。本セミナーに参加いただいた皆さま、誠にありがとうございました。引き続き皆様に役立つ情報を、セミナーやブログで発信していきます。どうぞよろしくお願い致します。 本ブログはソリューションアーキテクト浦野が担当しました。
はじめに エージェントは、企業の顧客体験戦略において重要な役割を果たします。多くの場合、顧客が質問、懸念、または苦情がある場合の主要な連絡窓口となります。エージェントが提供するカスタマーサービスの質は、顧客満足度と顧客ロイヤリティに大きな影響を与える可能性があります。さらにエージェントは同じではなく、時間毎、日毎、週毎など、さまざまなレベルで業務を行います。さらに応対品質とエージェントのパフォーマンス管理により、他の方法では気づかなかったかもしれないプロダクトやオペレーションの問題を明らかにすることができます。 Amazon Connect はエージェントとマネージャーに音声、チャット、タスクを含むオムニチャネル体験を提供します。通話録音をしたり画面録画をしたり、インタラクションを監視するための機能が組み込まれています。Amazon Connect Contact Lens は、会話分析、エージェントの画面録画、自動評価を提供して、エージェントのパフォーマンスを向上させます。このブログ記事では、これらすべての機能をまとめるためのベストプラクティスとして、次のような推奨事項を紹介します。 通話録音と画面録画のインタラクション 会話分析による顧客インサイトの抽出 応対とエージェントのパフォーマンス管理の自動化を実現 重要なインタラクションを見つけて実用的なインサイトを得る 1. 通話録音と画面録画のインタラクション インタラクションを記録することは、コンタクトセンターにおいて極めて重要な役割を果たします。この貴重なデータは、顧客の好み、問題点、期待に関する深いインサイトを得る機会を提供します。最終的には、サービスを強化し、優れた顧客体験を提供できるよう支援します。Amazon Connect の録音機能を活用して、音声、チャット、タスクのインタラクションを記録して分析できます。インタラクションを記録することで以下が可能になります。 品質保証とトレーニング パフォーマンス評価 顧客インサイトと分析 トレーニングとコーチング Amazon Connect で通話録音と画面録画を有効にする方法については、 Amazon Connect 管理者ガイド に記載されています。 2. 会話分析による顧客インサイトの抽出 会話分析は、顧客の感情、保留時間、文字起こしなどの指標を導入することで、通話記録を強化します。これらの指標を使用してインタラクションをグループ化し、スーパーバイザーが共通の傾向を導き出すことができます。 Amazon Connect Contact Lens は、ルールを使用してインタラクションをまとめて分類します。ルールを使用して、介入のアラートをリアルタイムでトリガーすることもできます。一方、機密情報を編集して、会話の価値を損なうことなく、セキュリティとプライバシーを確保できます。機密情報の編集がサポートしている言語の一覧については Amazon Connect 管理者ガイド を参照してください。 Contact Lens ルール Contact Lens ルール を設定するのは簡単です。これはリスクのある顧客を特定する例です。 スーパーバイザーが有効にする一般的なルールには以下が含まれます。 エージェントが挨拶または結論を漏らした シナリオと異なるスクリプトを検知して、トレーニングが必要なエージェントを特定します。 保留時間または無音時間の多い通話 エージェントが顧客を保留にして支援を依頼したり、ナレッジを検索していることを示す指標値です。こうした会話を特定することで、対処すべき知識のギャップを目立たせることができます。 契約条件を明確にしないエージェントによるコンプライアンス違反 組織がコンプライアンスのギャップを埋め、法令順守を確実に果たせるようにします。 リスクがある顧客 顧客が否定的な感情を示し、「アカウントを解約したい」や「他の会社と契約する」などの言葉を使うと、リテンションチームにリアルタイムで対応するように通知します。 二重の確認 インタラクションを転送して確認を繰り返すエージェントは、不要なアクティビティをやめるように教育できます。これによりサービスコストが削減され、顧客体験が向上します。 インタラクションにおける顧客のエスカレーションまたは暴言 エージェントが難しい会話を処理できるように訓練されていることを確認してください。 Amazon Connect ルールの完全なリストについては以下の ガイド を参照してください。 Eメールとタスクによる通知 問題が発生したときに行動を起こすことで、好ましい解決の可能性が高まります。例えば、ルールによって E メールをトリガーできます。「アカウントを解約したい」と顧客が言った時に、組織のリテンションチームに対応するよう通知できます。同様により積極的にリテンションチームにタスクを割り当てることもできます。 ルールにアクションを設定するには、 Amazon Connect 管理者ガイド を参照してください。 ルールに関するアラート スーパーバイザーはインタラクションを1つずつ手動で聞く代わりに、複数のインタラクションを顧客の感情とともに視覚化して、根本原因をより理解し、それに応じて行動することができます。例えば以下のスクリーンショットは、Contact Lens ルール「Escalation, Angry customer」(エスカレーション、顧客が怒っている)に対するスーパーバイザーアラートがトリガーされ、アラートが選択されるとコンタクトの概要がトリガーされる様子を示しています。 3. コンタクトセンターの品質評価を自動化 手作業による評価は問題の特定に有効ですが、スーパーバイザーはすべてのインタラクションの一部をレビューする時間しかありません。手動評価に時間をかける前に、自動化された品質評価を組み合わせてすべてのインタラクションを可視化できます。これにより、手動による介入がより効果的になります。 Contact Lens ルールで回答された質問で評価を作成できます。例えば「エージェントは顧客に正しく挨拶しましたか?」というルールを見てみます。ルールを正しい言葉で作成し、基準を満たさないインタラクションがあった場合は、スーパーバイザーがコーチングに時間をかける必要があります。次のスクリーンショットを参照してください。Contact Lens の「Greeting」(挨拶)ルールが該当した場合、質問は自動的に「Yes」と採点されます。 このとき「Greeting」(挨拶)ルールは次のロジックで構成されます。 その他の例としては、次のものがあります。 顧客は特定のキーワードについて言及しましたか? エージェントはコンプライアンス規約を読みましたか? 会話が終わると顧客の感情は肯定的に変化しましたか? 詳細については管理者ガイドの「 エージェントパフォーマンスを評価する 」セクションを参照してください。 4. 重要なインタラクションを見つけて実用的なインサイトを引き出す コンタクトセンターではインタラクションの量が非常に多いため、インタラクションから価値を引き出そうとするスーパーバイザーは、どこから始めれば良いのかという課題に直面しています。その結果、インタラクションをランダムに選び価値を引き出そうとしますが、ランダムに選んだ場合に良い結果が得られることはめったにありません。 コンタクトの検索 を使用すると、スーパーバイザーは適切なインタラクションを見つけるための指示ができます。 例えば「保存した検索」を作成して、次のようなインタラクションを検索します。 &gt;1分 (顧客が意見を言いたいけれど解決策を望んでいないという短時間通話を除外) 感情は否定的から始まり、中立的または肯定的に移行 特定のキューに基づく エージェントの行動を最適化 エージェントの活動時間は、コンタクトセンターの運営における主なコスト要因です。行動を最適化し、AHT (平均処理時間)を短縮する機会を見出すことは非常に有益です。会話分析により、エージェントの通話以外の時間をすばやく分析できます。例えば、通話以外の時間をインタラクションのパーセンテージとして検索したり、通話以外の最長時間を検索したりできます。 検索結果のコンタクトを開くと、Contact Lens は通話以外の時間と正確な時間測定値を棒グラフで強調表示します。 さらに、通話録音のオーディオファイルを視覚的に表現して無音部分を表示できるため、そのセクションにすばやく移動して画面録画を確認し、そのセクションでのエージェントの行動を理解できます。 テーマ検出 構造化されていない顧客応対を理解するために、テーマ検出は機械学習を適用して同じような課題を抱えているコンタクトをグループ化し、その結果得られたテーマを表示します。これにより何を探すべきかをシステムに指示することなく「顧客は私に何を話しているのか」という質問に答えることができます。顧客への働きかけの一般的な理由(例えば「予約のキャンセル」、「注文の遅延」など)を見つけることができます。テーマ検出がサポートしている言語の一覧については Amazon Connect 管理者ガイド を参照してください。 これらの推奨事項をすべてまとめると、1つの画面で次のことを確認できます。 通話録音と画面録画 顧客感情の理解 保留時間やエージェントと顧客が同時に話す時間の特定 発言ごとおよび発言者ごとの感情分析と合わせた文字起こし 自動品質評価 結論 このブログでは会話型分析や自動品質管理を検証し、インタラクションの詳細な分析を行って、その根底にあるテーマや根本原因を把握する効果的なテクニックを詳しく紹介しました。 さらに詳しく知りたい場合は、 Amazon Connect 管理者ガイド を参照してください。 ここで取り上げているトピックについて質問がある場合やガイダンスが必要な場合は、私たちがお手伝いします。 AWS サポート からお問合せいただけます。エンタープライズサポートを受けている AWS のお客様は、緊急の問題のエスカレーションを支援するために、 TAM にサポート関連の項目を依頼してください。 Kun Qian はアマゾン ウェブ サービスの経験豊富なプロダクトリーダーで、Amazon Connect 内の複数の製品分野を統率しています。CCaaS の状況を深く理解している Kun は市場開拓戦略の推進と、これらの重要な通信サービスの製品イニシアチブの形成を担当しています。Kun は世界中の顧客やパートナーと積極的に関わっています。積極的にフィードバックを求め、問題を解決することで、顧客体験を形作り、新しい機能の開発を促進するためのインサイトを収集する上で重要な役割を果たします。 &nbsp; Elias Sayigh はオーストラリアのシドニーを拠点とするAmazon Connect を専門とするソリューションアーキテクトです。Elias はクラウドテクノロジーを使用して顧客体験を迅速かつ簡単に改善する方法をお客様に理解してもらうことに喜びを感じています。AWS を全面的に採用する前、Elias は顧客としてもパートナーとしても、サポート、実装、アーキテクトの役割において15年以上にわたって貴重な経験を積み重ねてきました。 &nbsp; 翻訳はソリューションアーキテクト黒木が担当しました。原文は こちら です。
国立研究開発法人 新エネルギー・産業技術総合開発機構 (以下、NEDO)とアマゾン ウェブ サービス ジャパン(以下、AWS)は 2023 年 10 月 26 日に、「Deeptech | AWS : NEDO 助成金と AWS の活用セッション」を AWS Startup Loft Tokyo にて共同開催しました。 NEDO は「エネルギー・地球環境問題の解決」と「産業技術力の強化」をミッションに、イノベーション・アクセラレーターとして産学官の強みを結集した体制構築や運営、評価、資金配分などによって技術開発を推進してきました。そして、その成果の社会実装を促進することで、社会課題の解決を目指しています。 本イベントでは NEDO のスタートアップ支援事業に採択された事業者の経験談や、ディープテック分野における NEDO のスタートアップ支援事業全般についてのご紹介をしました。ここではそのレポートをお届けします。 オープニング AWS パブリックセクター 事業開発マネージャー(Startup) 田村 圭 イベント冒頭では、AWS パブリックセクター 事業開発マネージャー(Startup)の田村 圭が、オープニングのあいさつをしました。 岸田内閣は 2022 年 11 月に「スタートアップ育成 5 か年計画」を発表しました。これは、スタートアップへの投資額を 2027 年度に 10 兆円規模とし、スタートアップを 10 万社、ユニコーンを 100 社創出するという目標です。融資制度や税制優遇、補助金など幅広い政策で援助する内容となっており、すでに 1 兆円規模の予算が計上されています。 「この施策により、本イベントのテーマであるディープテックを扱うスタートアップにも、多額の支援が行われます。そうしたスタートアップが活躍することで、この先の日本経済の成長にもつながると考えております」と田村は述べました。 “ディープテック”とは、特定の自然科学分野での研究を通じて得られた科学的な発見に基づく技術であり、その事業化・社会実装を実現できれば、国や世界全体で解決すべき経済社会課題の解決など社会にインパクトを与えられるような潜在力のある技術のことを指します。 そうした技術は、設備や研究への投資に多額の資金が必要であったり、製品化を実現するまでに長い歳月がかかったりするという課題があります。だからこそ、NEDO の助成事業を活用することには大きな意義があるのです。 「まだ NEDO の助成事業についてそれほど詳しくない方もいらっしゃると思いますので、今回のイベントで NEDO についてぜひ知っていただきたいです。また、ディープテック・スタートアップが AWS をどのように活用すればいいのかも、把握していただきたいと考えております」と田村は結びました。 ディープテックスタートアップ・パネルディスカッション <スピーカー> FRAIM株式会社 取締役 CTO 宮坂 豪 氏(写真左) WOTA株式会社 インキュベーション責任者 山田 諒 氏(写真右) <モデレーター> アマゾン ウェブ サービス ジャパン スタートアップ事業本部 福井 健悟 ここからは、NEDO の助成事業を活用したスタートアップとして、FRAIM 社の宮坂 氏と WOTA 社の山田 氏がスピーカーとして登壇。AWS の福井をモデレーターとして、NEDO 活用の経験談を語りました。 FRAIM 社 は「文書作成を、再発明する。」をミッションとして、AI などの最新技術を用いて文書作成を「しくみ」ごと変えることを目指し、クラウド ドキュメント ワークスペース「LAWGUE」や関連技術ソリューションの研究・開発・提供を行っています。 FRAIM 社は NEDO が実施する「研究開発型スタートアップ支援事業/Product Commercialization Alliance(以下、PCA事業)」に、2022年度に採択されました。PCA 事業とは、提案時から 3 年ほどで継続的な売り上げを立てる具体的計画がある研究開発型スタートアップを対象とし、審査を行った上で最大 2.5 億円(助成率2/3)の助成を行うものです。 採択されたのは「LAWGUE」の基幹を支えるクラウド型エディタ技術をベースとした「規制改訂等に伴う影響文書の自動特定および修正支援技術の実用化」というテーマです。 また、 WOTA 社 は「水問題を構造からとらえ、解決に挑む。」を存在意義とし、独自の技術・ソリューションにより「水問題」という社会課題に正面から向き合っています。生活排水を再生し最大限有効活用する「小規模分散型水循環システム」およびそれを実現する「水処理自律制御技術」を開発しているのです。 WOTA 社も FRAIM 社と同様に、2022 年度に PCA事業で採択されました。採択されたのは、住宅規模の全排水再生循環利用に対応した小規模分散型水循環システムを、そのプロダクト化に向けて異なる場面や環境条件で実証し、性能・信頼性を検証する「小規模分散型水循環システム実証事業」です。加えて、WOTA 社は 2023 年度に、「ディープテック・スタートアップ支援基金/ディープテック・スタートアップ支援事業」のDMPフェーズにも採択されています。 セッションでは、両社が NEDO の支援を受けようと思った理由やディープテック・スタートアップが AWS を活用する利点、AWS に期待すること、NEDO の各種公募に応募する際の心構えや Tips などが語られました。 FRAIM 社は PCA 事業の公募で一度は不採択となり、2 回目の挑戦で採択されたといいます。その経緯について、宮坂 氏は「エンジニアを増員して開発速度を向上させたかったですし、インフラの費用も今後大きくなることが見えていました。だからこそ諦められませんでしたね。NEDO の助成金は金額が大きく、スタートアップにとって魅力的です」と話しました。 また、山田 氏は AWS の利用について「多種多様なサービスが用意されているため、ディープテック・スタートアップにとっても便利に活用できます。さらに、AWSの利用クレジットをご提供いただき、運用サポートも受けられるので、多くの利点がございました」と推奨しました。 これから NEDO の助成金を申請する企業に向けて、宮坂 氏は「採択前・採択後にどのような書類を作成する必要があるのかあらかじめ調べておくとよい」と説明。山田 氏は「申請時は、自社の事業の社会的な意義や研究開発した内容を事業化する方法などを申請書類に適切に記載してほしい」と述べました。 NEDO 事業説明会 ここからは、NEDO のイノベーション推進部に所属する方々が登壇。NEDO の概要やディープテック分野におけるスタートアップ支援の内容、申請方法などを解説しました。まずは NEDO イノベーション推進部 総括グループの村井 繁樹 氏が NEDO の支援内容について「ディープテック分野での人材発掘・起業家育成事業(以下、NEP事業)」を中心に説明しました。 NEDO イノベーション推進部 総括グループ 村井 繁樹 氏 NEP 事業は、NEDO が行う起業前後の方々を対象としたスタートアップ支援事業です。本事業は「開拓コース」と「躍進コース」の 2 つに分かれています。躍進コースにおいては、応募要件や支援内容に応じて「躍進 A」「躍進 B」「躍進 C」の 3 タイプを設けています。 開拓コースの対象となるのは、起業前の個人(チームでも可)。活動内容としては、自ら起業することも視野に入れながら、技術シーズを活用したアイデアの実現可能性に関する調査を行うこと。活動費としては月額 30 万円(税込)上限 300 万円までとなります。この費用は調査活動において自らが必要と判断した経費に使用でき、事業期間は NEDO が指定する日から 10 カ月程度です。 一方の躍進コースでは、「躍進 A」の助成対象は個人・チーム。「躍進 B」「躍進 C」は法人が助成対象(応募時が個人の場合、交付決定後に法人化する必要あり)です。活動内容としては、事業可能性の調査や、事業化促進に向けた研究開発や実証を行うこと。助成金額は「躍進 A」「躍進 B」が 500 万円未満であり「躍進 C」が 3,000 万円以内です。事業期間は 12 カ月以内となります。 ●詳細は、本年度のNEP事業公募ページを参考としてご確認下さい。 ※尚、来年度は変更になる可能性があることを予めご了承下さい。 NEP事業公募ページ(2023年度): https://www.nedo.go.jp/koubo/CA2_100393.html  セッション内では NEP 事業の各コースの概要説明や実施体制の全体フロー、審査の方法、公募情報の見つけ方、応募の手順や各種参考情報などが網羅的に語られました。 NEDO イノベーション推進部 総括グループ 奥田 洋子 氏 村井 氏の次に登壇したのは、NEDO イノベーション推進部 総括グループの奥田 洋子 氏。 NEDO の支援内容について「ディープテック・スタートアップ支援基金/ディープテック・スタートアップ支援事業(以下、DTSU事業)」を中心に説明しました。 前述の通り、日本政府は「スタートアップ育成 5 か年計画」を掲げています。その施策の柱として「スタートアップへの資金供給の強化と出口戦略の多様化」が存在しているのです。その流れを受けて、NEDO によるディープテック・スタートアップへの支援策の強化のために、DTSU 事業が 2023 年度に開始されました。 ディープテックは、事業化や社会実装を実現すれば世界規模の課題を解決できるというような、社会にインパクトを与える価値を持ちます。一方で、そうした技術は研究開発の成果獲得や事業化・社会実装までに長期間を要する上に多額の資金も不可欠です。さらに既存のビジネスモデルを適用しにくいという特徴があります。そのため、国による支援の必要性が高いのです。 DTSU 事業では、ディープテック・スタートアップが行う研究開発や試作品の開発、量産化のための実証等に加え、市場獲得に向けた事業化可能性調査等に対する支援を行います。STSフェーズ(実用化研究開発(前期))、PCAフェーズ(実用化研究開発(後期))、DMPフェーズ(量産化実証)の3つのフェーズを設けており、事業の進捗度に適合した支援を行います。また、ステージゲート審査を経ることで、複数フェーズでの中長期的な支援を行います。 これらの支援の実施にあたっては、スタートアップの資金調達スパンに応じた支援とするべく、VC等やCVC、事業会社、金融機関から、所定の期間内に、助成対象費用の一定割合以上の出資又は融資を受けることを必須の要件としています。 助成金額上限は、 STSフェーズ が 3億円又は5億円、PCA フェーズが 5 億円又は10 億円、DMP フェーズが 25 億円となり、複数フェーズを跨ぐ場合も 30 億円としています。また、事業期間は次の資金調達の時期を目安に設定することとし、同一フェーズ内で4年まで、複数フェーズを跨ぐ場合も6年までとしています。 ●詳細は、DTSU事業公募ページをご確認下さい。5年間の通年公募を行っていますが、年4回程度の提案受付機会を設けており、当該機会ごとに公募ページが異なり、公募内容も変わりうる点にご留意ください。 ※DTSU事業公募ページ(2023年度第3回の例): https://www.nedo.go.jp/koubo/CA2_100429.html セッション内では各事業の支援対象者や対象分野、事業の流れ、経費計上に関する留意事項、提出資料の内容などが語られました。 (※NEDOの助成事業に関する情報は諸事情等により変更が生じる可能性がございます。) AWS パブリックセクターは今後も、ディープテック・スタートアップがイノベーションを加速させるための、さまざまなテクニカル・ビジネスセッションやコミュニティ活動を実施予定です。ご関心を持たれた方は、ぜひお気軽にこちらまでお問い合わせください。社会課題解決イノベーションに取り組まれる、スタートアップや研究者のみなさまのご参加をお待ちしております! このブログは、アマゾンウェブサービスジャパン合同会社 パブリックセクター 事業開発マネージャー( Startup )である 田村 圭 が執筆しました。