はじめに 本ブログでは、Sky株式会社様の更なるコスト意識向上を目指して実施したコスト最適化実践ワークショップである Experience-Based Acceleration(EBA)FinOps Party を通じ、ワークショップ参加チームにおいてAWS 利用料が年間 20% の最適化見込みとなった事例をご紹介します。幾つかのワークロードを AWS へ移行した直後にワークショップを実施したことで、早期に最適化されたコストに近付くことができています。EBA FinOps Party ワークショップは、オンプレミスから AWS への移行方式として Rehost を採用し、クラウド最適化の検討ができていない場合に最も効果が見込まれます。 ※ Sky株式会社様の状況において 20% の最適化見込みとなりましたが、すべてのお客様で同程度の効果が見込まれることを保証するものではございませんのでご留意ください。 Sky株式会社様について Sky株式会社様は、クライアント運用管理ソフトウェアの SKYSEA Client View、営業名刺管理サービスの SKYPCE といった自社パッケージ商品の開発・販売、協業・連携ソリューションの販売・導入などの SI ビジネスを手掛けています。AWS アドバンストティアサービスパートナーであり、日本初の AWS Service Catalog を含む複数のサービスデリバリープログラムを取得し、AWS Summit Japan 2024 にも出展いただきました。ユーザー企業の内製化を支援するためのソリューションを持った日本独自の AWS パートナーである「内製化支援推進 AWS パートナー」でもあります。営業名刺管理サービス SKYPCE のクラウド版は AWS で稼働しており、AWS ファンデーショナルテクニカルレビュー(FTR)の認定を受けています。 EBA FinOps Party 実施の背景 Sky株式会社様では、従業員のコスト意識向上とコスト最適化のスキルアップを継続して測っており、培ったノウハウを SI 事業におけるお客様に提供しておりますが、お客様へ最適なコストで提案が可能となるエンジニアを創出していくために社内で継続的にコスト意識を根付かせていきたいと考えていました。こちらに対して、コスト最適化を組織として取り組む FinOps 実践を目的としているワークショップ EBA FinOps Party の実施を AWS から提案しました。EBA FinOps Party では、単なるコスト「削減」ではなく、組織として無駄なコストを抑制するための継続的な「最適化」活動を実施するためのフレームワークである Cloud Financial Management(CFM)や、コスト可視化、最適化に利用できる AWS サービスを学べます。ワークショップの最後には、学んだことを活かしてコスト最適化施策報告をエグゼクティブに向けて行い、エグゼクティブにコスト最適化施策実施のスポンサーとなっていただくため、コスト意識が更に向上することが期待され開催に至りました。事前に CFM フレームワークに則ったアセスメントを行いアジェンダを検討し、Sky株式会社様では以下内容で 3 日間に分けて開催しました。 Day1: 基礎編(1 時間) コスト最適化フレームワーク紹介 CFM フレームワーク、コスト最適化に関する AWS サービス・ソリューションのご紹介 Day2: 実践編(2 時間 30 分) AWS Cost Explorer の概要・ハンズオン コスト配分タグ、RI/SPs の紹介、AWS Cost Explorer での推奨事項確認方法、報告会に向けたコスト最適化の確認ポイントの説明 Instance Scheduler on AWS 紹介 Instance Scheduler on AWS の概要、設定・実施のデモンストレーション スポットインスタンス紹介 スポットインスタンスの概要、ベストプラクティスの紹介 Day3: 報告会(1 時間) コスト最適化施策ご報告 検討したコスト最適化施策のエグゼクティブ向け発表 Day1:基礎編 1 日目の基礎編では、CFM フレームワークとコスト最適化に関する AWS サービスについてご紹介しました。CFM フレームワークは組織的に「可視化」、「最適化」、「計画・予測」のサイクルを回すこと、つまり「FinOps の実践」を行い、より効果的なコスト最適化を継続的に行うものです。 CFM フレームワークを AWS で実践する場合について簡単にご説明します。「可視化」では、AWS アカウントの分離、タグ付けにより分析の土台を整え、AWS Cost Explorer や Cost & Usage Report を利用し分析を行います。「最適化」では、インスタンスサイズや購入オプション(RI/SPs、スポットインスタンス)の見直しなどを行うクイックウィン最適化と、サーバレスやマネージドサービスを利用したアーキテクチャへと変更するアーキテクチャ最適化を検討します。「計画・予測」では、AWS Cost Explorer の予測機能、AWS Budgets の予測アラート機能を利用し、クラウド利用の計画・予測を行います。CFM フレームワークの詳細に関しては、ブログ「 クラウド財務管理はコスト削減以上のメリットをもたらす 」または builders.flash 記事「 AWS でのコスト最適化の進め方 」をご参照ください。 Sky株式会社様では、「可視化」のアクションとして AWS Cost Explorer を毎日確認されているメンバーもいる一方で、コスト最適化に関する AWS サービスの概要を把握されていないメンバーもいらっしゃいました。このようにスキルが異なるメンバーを集い改めてコスト最適化について学ぶことで、全員が同じ知識を持ってコスト最適化に向かえる状態になることができました。 Day2:実践編 2 日目の実践編では、AWS からハンズオンをご提供するため、タイムリーにフォローができるように Sky株式会社様のオフィスでワークショップを実施しました。コンテンツは、AWS Cost Explorer を利用したコスト分析ハンズオン、 Instance Scheduler on AWS 、スポットインスタンスのご紹介です。AWS Cost Explorer のハンズオンは、3 日目のエグゼクティブへの報告に向けて、各 AWS アカウントのコストとコスト最適化のための推奨事項を各自で確認できるようになることが目的です。Instance Scheduler on AWS およびスポットインスタンスのご紹介に関しては、事前のアセスメントにおいて「弾力的なクラウド利用」と「スポットインスタンスの活用」という項目のスコアに改善余地が見受けられたので、重点的にご支援をするためにアジェンダに組み込んでいます。なお、ワークショップの内容に関しましては、例えば「AWS Budgets のデモンストレーションが見たい」などお客様のニーズに合ったコンテンツをリクエストしていただけます。 本ブログでは各 AWS サービス、ソリューションに関するご説明は割愛しておりますので、以下をご参照ください。 AWS Cost Explorer AWS Black Belt( 動画 、 資料 ) Instance Scheduler on AWS builders.flash 記事「 サーバーを指定した期間で停止する「AWS Instance Scheduler」を試してみる 」 動画「 AWS ソリューションを動かしてみよう – Instance Scheduler on AWS 編 」 Amazon Elastic Compute Cloud (Amazon EC2) スポットインスタンス AWS Black Belt「Amazon EC2 スポットインスタンスの基礎」( 動画 、 資料 ) AWS Black Belt「Amazon EC2 スポットインスタンス活用のための 6 つのベストプラクティスと実践例」( 動画 、 資料 ) AWS Cost Explorer ハンズオンにおいては、「インスタンスタイプや Amazon Simple Storage Service (Amazon S3) ストレージクラスが AWS Cost Explorer で確認できることを初めて知った」、「コスト最適化の余地を幾つか見つけられた」といった声をいただきました。AWS Cost Explorer はコスト「可視化」の目的で利用されることが多いですが、「最適化」の観点でもご利用いただけます。Instance Scheduler on AWS は Amazon EC2 および Amazon Relational Database Service(Amazon RDS)の開始・停止スケジュールを組むことができるソリューションですが、ワークショップ中の時間内に停止するシナリオで実際に設定・停止する様子をご覧いただいたことで活用イメージを持っていただきました。スポットインスタンスについては、Sky株式会社様では利用されている部署が限定的であったため、他の部署においても Amazon EC2 インスタンス使用時の選択肢として挙がるように、Sky株式会社様が不安に感じられていた中断への備えやベストプラクティスのご説明を行いました。 Day1、Day2 の内容を踏まえて、Day 3 までの宿題として各チームが管理する AWS アカウントにおいてコスト最適化施策を検討します。RI/SPs のカバー率・利用率、Amazon EC2 インスタンスタイプ、ダウンサイジング可否、土日の稼働、Amazon Elastic Block Store (Amazon EBS) gp3 ボリュームの利用、Amazon S3 Glacier の利用状況などの調査により、今後のアクションと削減効果を検討いただきました。 Day3:コスト最適化施策報告会 3 日目は、Day2 の宿題を元に各チームよりコスト最適化施策をエグゼクティブへ発表いただきました。発表内容はいずれも素晴らしく、チーム毎にコストやリソースを精査し削減額を算出しており、クイックウィン最適化の施策のみで一部チームにおいて年間 20% のコスト最適化見込みとなりました。 特に最適化の効果が大きかったのは、ここ数ヶ月の間に社内システムを幾つかオンプレミスから AWS に移行されたチームでした。クラウドへ移行した当時の状態でコスト最適化が遅れてしまい、予算を超過し続けていることがビジネス課題になってしまっているお客様が多い中で、移行後すぐにコスト最適化に着手できたことは短期的にも長期的にも良い結果となります。 施策の例としては、インスタンスタイプの再選定後の RI/SPs の購入や AWS Graviton への移行検討、Instance Scheduler on AWS を利用した土日の稼働停止などが挙がり、具体的な実施スケジュールを記載いただいたチームもございました。スポットインスタンスに関しても本番での利用はまだためらいがあるが、検証時のみ利用するなど活用の余地が垣間見えていました。 各チームの発表後、エグゼクティブからは「円安の影響もあり AWS を利用することでコストが高くなる傾向にあるが、ワークショップの形でコストを細かく削減する方法を見せていただき勉強になった。クラウドとオンプレミスのコストの違いをデータとして蓄積していきたい。商品開発の原価にも影響するため、現場のメンバーにはコストをぜひ意識してほしい」というコメントを頂戴し、FinOps EBA Party は閉会となりました。 おわりに 本ブログでは、Sky株式会社様とワークショップを実施し、年間 20% のコスト最適化見込みとなるクイックウィン最適化施策を検討いただいた事例をお伝えしました。参加された方からは、「コストの意識を見直す良い機会でした」、「コスト削減できるポイントの洗い出しと対応方法検討を進めていきます」、「コスト最適化に利用できる AWS サービスの概要を知れて良かった」といったコメントをいただき、AWS との協業ビジネスを推進しているアライアンスチームからも、「既に最適化されているシステムだけでなく、AWS ビギナーのエンジニアを中心として立ち上げている部分にも、こういった EBA FinOps Party を適応することで、イノベーションだけではなく、コストの意識を根付かせることが可能になります。結果として、お客様にもコストを意識したご提案ができる、Sky のクラウドソリューションに繋がりますので、継続して活用していきたいです」というコメントをいただきました。 クラウドジャーニーのフェーズはお客様によって異なるためすべてのお客様で同等の効果が出るとは限りませんが、コスト最適化施策を会社全体で腰を据えて検討することは非常に効果があります。CFM フレームワークにあるとおり、コスト削減は 1 度実施すれば終わりではなく、継続的にコスト最適化を図る必要があるため、引き続き Sky株式会社様と検討した施策の遂行、効果測定およびコスト最適化施策の検討を行います。 改めて EBA FinOps Party にご参加いただいた Sky株式会社の皆様、ありがとうございました。 このブログはソリューションアーキテクト 北川 友稀 が担当いたしました。
みなさん、こんにちは。AWS ソリューションアーキテクトの小林です。 新年度が始まりましたね。 MetaもLlama 4を発表 しましたし、新しいことに取り組むにはいいタイミングなのではないでしょうか?私もちょっと新しいことということで、AWSの認定試験である AWS Certified AI Practitioner を取得してみました。入門者向けの認定ではありますが、幅広く知識の再確認ができて新鮮な気持ちになりました。せっかくなので、ひとつ難易度が高い AWS Certified Machine Learning Engineer – Associate も受けてみようかなぁとおもう今日この頃です。 それでは、3 月 31 日週の生成AI with AWS界隈のニュースを見ていきましょう。 さまざまなニュース MetaのLlama 4モデルがAWSで利用可能に MetaがLlama 4モデルを発表 し、AWSでもご利用いただけるようになりました。現時点ではLlama 4 Scout 17BとLlama 4 Maverick 17Bの2種類を、Amazon SageMaker JumpStartでトレーニング済みのモデルをすぐに触っていただくことができます。Amazon Bedrockでのフルマネージドな形での利用も近日公開予定です。Llama 4 Scout 17Bは、コンテキストウィンドウが最大1,000万トークンに拡張されたことで、包括的な分析や推論を必要とするアプリケーションに対応可能です。またLlama 4 Maverick 17Bは12種類の言語に対応し、画像とテキストの理解に優れた汎用モデルで高度なアシスタントやチャットアプリケーションに最適です。ぜひAmazon SageMaker StudioのJumpStartでモデルを起動し、触ってみてください!なお、本記事執筆時点ではSageMaker AIのコンソールからは検索にひっかからないようですが、SageMaker StudioのJumpStartから起動できることを確認しました。 AWS生成AI国内事例ブログ「キヤノンITソリューションズ株式会社様:ローコード開発プラットフォームのコード生成機能を 3 ヶ月で構築。サービス利用者は開発工数を最大 50% 削減可能に」を公開 キヤノンITソリューションズ株式会社 様は、ローコード開発プラットフォーム「 WebPerformer-NX 」を提供しています。このプラットフォームでは基本的な機能はGUIで実装ができるものの、複雑な機能の実現や外部サービスとの連携には手動での開発が必要になり、それ相応のスキルが求められるということが課題でした。この課題の解決のために、Amazon Bedrockを利用したコード生成機能を導入し、より多くのビジネスユーザがスムーズなアプリケーション開発を実行できるようにする機能強化に取り組んでいらっしゃいます。現時点で生成されたコードの70-90%がそのまま利用可能で、複雑なロジックの開発工数を最大50%削減できるという結果がでています。また、自然言語による指示が可能になりより多くのビジネスユーザがアプリケーション開発に参加できるようになったそうです。 ブログ記事「Amazon EKS Hybrid Nodes を活用し、様々な環境にわたって生成 AI 推論を実行する」を公開 生成AIの推論ワークロードを様々な場所で実行したいというご相談をいただくことがあります。クラウドで実行するのはもちろん、当面の間はオンプレミスで保有する資産も活用したいというケースや、レイテンシの観点でどうしても現場に近い場所で推論したいというケースなどがあります。この記事では、Amazon EKS(Elastic Kubernetes Service) Hybrid Nodesを利用して、クラウドとオンプレミスの双方を統合的に管理しつつ、推論ワークロードを自在にデプロイする方法を解説しています。 ブログ記事「AWSによる生成AIのコスト最適化」を公開 実際の業務に対する生成AIの適用が進むにつれて、コストに関する課題が持ち上がることが増えてきました。実証実験(PoC)であればともかく、継続的に生成AIを活用するためには現実的なコスト感で維持できることが必要になります。この記事では、AWSで生成AIに取り組みにあたってコスト最適化を行うための方法をピックアップしてご紹介しています。実践的なヒントについては今後公開する一連のブログ記事で深掘りしていきますので、お楽しみに。 サービスアップデート Amazon Q DeveloperによるAmazon OpenSearch Serviceの支援機能が一般利用開始に Amazon Q DeveloperによるAmazon OpenSearch Serviceのサポート機能が一般利用開始になりました。自然言語によるデータの可視化や、ワンステップでのデータ探索によるインテリジェントなアラートの要約、クエリ結果の要約、異常検出、OpenSearchに特化した質問に対する回答といったAIによる支援機能が提供されています。 これに関するブログがあります ので、あわせてどうぞ。 Amazon QuickSightがAmazon Q in QuikSightの埋め込みに対応 Amazon QuickSightはWebページへのダッシュボード埋め込みに対応しています。今回、生成AIがデータからインサイトを得る作業を支援するAmazon Q in QuickSightの機能をもちいたダッシュボードについても、Webページへの埋め込みができるようになりました。これまで以上にインタラクティブなダッシュボードを構築することで、より幅広いユーザ層に対してデータ活用を可能にすることが期待できます。 全てのサブスクライバーがAmazon Q Business Browser Extensionを利用可能に Amazon Q BuisnessはGoogle Chrome, Mozilla Firefox, Microsoft Edgeの各種ブラウザー向けに、機能拡張を提供しておりWebページの要約やコンテンツに対する質問をシームレスにAmazon Q Businessに依頼することができます。Amazon Q Businessの画面に切り替える必要がなくなりますので、ユーザ体験の向上に寄与する機能ですね。 Amazon SageMakerのビジュアルETLで新たに9つの変換処理を提供 Amazon Q Developerを利用してグラフィカルにETLフローを構築するためのインタフェースが提供されており、これをビジュアルETL(Visual ETL)と呼んでいます。今回新たに、9つの組み込み変換処理が追加されました。例えば「派生列(Derived column)」を利用すると、ある列のデータを数式またはSQLで処理して、新しい列を定義することができます。他にもデータ処理において便利な組み込み処理が追加されています。 Amazon Kendra GenAI Indexが2リージョンで利用可能に RAGアプリケーションでの情報検索に最適化されたAmazon KendraのGenAI Indexが欧州(アイルランド)とアジアパシフィック(シドニー)のリージョンで利用可能になりました。 著者について 小林 正人(Masato Kobayashi) 2013年からAWS Japanのソリューションアーキテクト(SA)として、お客様のクラウド活用を技術的な側面・ビジネス的な側面の双方から支援してきました。2024年からは特定のお客様を担当するチームを離れ、技術領域やサービスを担当するスペシャリストSAチームをリードする役割に変わりました。好きな温泉の泉質は、酸性-カルシウム-硫酸塩泉です。
みなさん、こんにちは。ソリューションアーキテクトの戸塚です。今週も 週刊AWS をお届けします。 今週から4月に入り、新しい組織に異動となったり、年度が変わるタイミングで今年こそはと気持ちを引き締めて業務に取りかかっている方も多いのではないでしょうか。そんな方々におすすめな、マイグレーションとデータ基盤に関するオンサイト限定イベントが開催されます。 4/15 基幹システム移行によるビジネス変革 [ エントリ ] 4/17 経営の未来を左右するデータ基盤 – 最新技術の潮流に乗るステップ[ エントリ ] オンサイトですので、新たな交流の機会としてもご活用いただければと思います。私も現地でお客様のサポートをさせていただきますので、現場でお会いできるのを楽しみにしていいます。 それでは、先週の主なアップデートについて振り返っていきましょう。 2025年3月31日週の主要なアップデート 3/31(月) AWS IoT Device SDK for Swift の開発者プレビューを発表 AWS IoTデバイス開発者向けに、新しい Swift 言語用の SDKの開発者プレビュー版がリリースされました。この SDK を使用することで、開発者は Linux、macOS、iOS、tvOS といったプラットフォーム向けの IoT アプリケーションを構築できるようになります。特に iOS モバイルアプリケーション開発者にとって、最新の Swift 言語を使用して直感的なインターフェースでアプリケーションを開発できる利点があります。また、この SDK を通じて MQTT プロトコルを使用して AWS IoT サービスに接続することが可能です。 Amazon Connect Contact Lens でセンチメント分析の有効化/無効化が可能に Amazon Connect Contact Lens において、感情分析機能を有効/無効に切り替えられるようになりました。これは企業にとって感情分析の制御を可能にする重要な機能追加です。Contact Lens は通話内容の分析を行うサービスですが、コンプライアンス要件を満たす必要がある組織にとって、この柔軟な制御は特に有用です。この更新により、感情分析を無効にした場合でも、会話の文字起こし、生成 AI による要約、その他の会話分析機能は引き続き利用できます。具体的な使用例として、ブランドイメージの把握が必要な一般的な問い合わせ窓口では感情分析を有効にし、社内の苦情受付ラインでは感情分析を無効にするといった使い分けが可能になります。これにより、組織のニーズや規制要件に応じて、より細かな制御が可能になりました。 API Gateway がデュアルスタック (IPv4 および IPv6) エンドポイントのサポートを開始 Amazon API Gateway (APIGW) が、すべてのエンドポイントタイプ、カスタムドメイン、および管理用 API において、デュアルスタック (IPv4 と IPv6 の両方) に対応したことをお知らせします。これにより、REST API、HTTP API、WebSocket API、そしてカスタムドメインにおいて、既存の IPv4 に加えて IPv6 クライアントからのアクセスを受け付けることが可能になりました。また、APIGW の管理用 API もデュアルスタッククライアントからの呼び出しに対応します。この機能により、システム全体を一度に切り替える必要なく、IPv4 から IPv6 環境への段階的な移行が可能になります。これは、IPv6 対応が必要なコンプライアンス要件を満たしたり、IPv4 アドレスの制約を回避したりする際に役立ちます。さらに、この機能の利用に追加料金は発生しません。このアップデートは、将来的な IPv6 への移行を見据えている組織にとって、スムーズな移行パスを提供する重要な機能強化となります。 Amazon OpenSearch Service で Amazon Q Developer が一般提供開始 Amazon OpenSearch Service において、Amazon Q Developer が一般提供を開始しました。これは AI を活用して運用分析や調査プロセスを迅速化する機能セットです。今回のリリースでは、5つの重要な AI 支援機能が導入されました。自然言語を使用した可視化の生成、ワンステップでのデータ探索機能を備えたインテリジェントなアラート要約、Discover ページでのクエリ結果の要約、推奨される異常検知、そして OpenSearch に関する質問に対応する専用の Amazon Q Developer チャットインターフェースです。Amazon Q Developer を使用することで、チームは自然言語入力を可視化に変換し、アラートやクエリ結果から即座に洞察を得ることができ、推奨機能を通じて異常検知の作成をスムーズに行うことができます。 4/1(火) Amazon VPC Route Server の一般提供開始を発表 Amazon VPC Route Server が一般提供開始となりました。この新機能は、Amazon VPC 内の仮想アプライアンス間の動的なルーティングを簡素化するものです。Route Server を使用することで、Border Gateway Protocol (BGP) を通じて仮想アプライアンスからルーティング情報をアドバタイズし、サブネットやインターネットゲートウェイに関連付けられた VPC ルートテーブルを動的に更新することができます。この機能が登場する以前は、VPC ルートテーブルを動的に更新するために、カスタムスクリプトを作成するか、オーバーレイネットワークを使用する仮想ルーターを使用する必要がありました。VPC Route Server によって、オーバーレイネットワークやカスタムスクリプトの作成・維持にかかる運用の手間が解消され、ルートテーブルの動的更新のためのマネージドソリューションが提供されるようになりました。 Amazon QuickSight でハイライト機能がサポートされました Amazon QuickSight に新機能としてハイライト機能が追加されました。この機能により、分析やダッシュボード上で特定のデータポイントを強調して追跡できるようになります。これは、シート全体でデータ要素を比較し、より効果的にインサイトを探索することを容易にします。ハイライト機能の使い方は非常に直感的で、ビジュアル内のデータポイントを選択するか、マウスをホバーするだけで、他のビジュアルの関連データが強調表示され、関連のないデータは薄暗く表示されます。このシームレスな相互作用により、ユーザーは相関関係を理解し、パターン、トレンド、異常値を素早く発見することができ、より迅速で的確な分析が可能になります。 AWS Backup が Amazon Redshift Serverless のサポートを開始 AWS Backupで、Amazon Redshift Serverlessのサポートが開始されたことをお知らせします。これにより、Amazon Redshift Serverlessデータウェアハウスのデータ保護を一元的に管理することが容易になりました。AWS Backupを使用することで、Amazon Redshift Serverlessと Amazon Redshift プロビジョニングクラスターのスナップショットのバックアップと復元を自動化できるようになりました。これは、コンピューティング、ストレージ、データベースなどの他の AWS サービスと同様に管理できます。また、AWS Backup と AWS Organizations の連携により、組織全体のデータ保護を標準化し、すべてのアカウントで変更不可能なバックアップを一元的に作成・管理することが可能になりました。 4/2(水) Amazon SageMaker で 9 個の新しいビジュアル ETL 変換機能を追加 Amazon SageMaker の Visual ETL に 9 つの新しい変換機能が追加されました。Visual ETL は、データの抽出・変換・読み込み (ETL) 作業をドラッグアンドドロップで簡単に実行できるインターフェースを提供するサービスです。今回追加された機能は「Derived column (派生列の作成)」「Flatten (データの平坦化)」「Add current timestamp (現在のタイムスタンプ追加)」「Explode array or map into rows (配列やマップを行に展開)」「To timestamp (タイムスタンプへの変換)」「Array to columns (配列を列に変換)」「Intersect (交差)」「Limit (制限)」「Concatenate columns (列の連結)」の 9 つです。これらの新機能により、ETL 開発者はより高度なデータパイプラインを、カスタムコードを書くことなく構築できるようになりました。 AWS Clean Rooms の Spark SQL が集計とリスト分析ルールをサポート AWS Clean Roomsの新機能として、Spark SQLで集計とリストの分析ルールをサポートしました。この機能により、プライバシーを強化しながらデータ分析が可能になります。AWS Clean Rooms Spark SQLを使用することで、お客様とパートナー企業は集計分析、リスト分析、カスタム分析のルールを活用しながら、パフォーマンス、スケール、コストの要件に基づいて設定可能なリソースでSQLクエリを実行できます。 Amazon Connect でスーパーバイザーが進行中のチャットに対して追加のアクションを実行可能に Amazon Connect のスーパーバイザー向け機能が強化され、進行中のチャットに対してより多くのアクションが Amazon Connect の UI から直接実行できるようになりました。この機能強化により、問題解決のスピードが向上し、カスタマーサービスの品質向上が期待できます。具体的には、スーパーバイザーは応答のない顧客とのチャットを終了させたり、特定のエージェントやキューにチャットを再割り当てしたりすることが可能になりました。 Amazon CloudWatch Application Signals SLO を使用してサービスの依存関係を監視が可能に Amazon CloudWatch Application Signals で、サービスの依存関係を監視するための新機能が追加されました。この機能により、サービス間の依存関係のパフォーマンスを監視し、SLO (Service Level Objectives: サービスレベル目標) を設定して問題を事前に解決できるようになりました。Application Signals を使用することで、期間ベースまたはリクエストベースの SLO を作成し、サービスから依存先へのリクエストに関する重要な指標 (レイテンシーやエラーなど) を追跡できます。これにより、依存関係のパフォーマンスとそれがサービス全体の信頼性にどのような影響を与えているかを把握できます。 4/3(木) Amazon Q Business ブラウザ拡張機能が全サブスクライバーに利用可能に Amazon Q Business のブラウザ拡張機能が、Google Chrome、Mozilla Firefox、Microsoft Edge で一般提供開始されたことをお知らせします。この拡張機能は Amazon Q Business を契約している全てのユーザーが利用できます。Amazon Q Business は AWS が提供する生成系 AI アシスタントですが、この拡張機能によってウェブブラウザ上で直接 AI による支援を受けることができるようになります。具体的には、ブラウザで表示しているウェブページの要約や、ページの内容に関する質問への回答、さらには企業の情報へのアクセスなどが、ページを離れることなく実行できます。 SES メールマネージャーが PrivateLink を介したカスタマー VPC からの着信接続をサポート Amazon SES (Simple Email Service) のメール管理機能「Mail Manager」において、PrivateLink を介してお客様の VPC (Virtual Private Cloud) からの接続をサポートするようになりました。2024年半ばにリリースされた Mail Manager において、VPC 接続機能は最も要望の多かった機能でした。この機能により、AWS 内で大規模なアプリケーションを運用しているお客様は、それらのアプリケーションの送受信メールを Mail Manager を通じて安全にルーティングできるようになります。 Amazon Neptune が 99.99% の可用性を持つ SLA (Service Level Agreement) を発表 Amazon Neptune のサービスレベルアグリーメント (SLA) が更新され、マルチAZデータベースインスタンス、マルチAZデータベースクラスター、およびマルチAZグラフの月間稼働率が 99.90% から 99.99% に引き上げられました。これは AWS がミッションクリティカルなアプリケーションのためのグラフデータベースサービスとして、より高い可用性と信頼性を提供することへのコミットメントを示すものです。この新しい SLA では、AWS は商業的に合理的な努力を行い、Amazon Neptune のマルチAZ構成のサービスにおいて、毎月の請求サイクルで少なくとも 99.99% の月間稼働率を実現することを目指します。 Amazon Security Lake が IPv6 (Internet Protocol Version 6) に対応 Amazon Security Lake が IPv6 (Internet Protocol version 6) に対応したことをお知らせします。これにより、お客様は IPv6 アドレスを使用して Amazon Security Lake の設定と管理が可能になりました。インターネットの成長に伴い IPv4 アドレスが枯渇してきている中で、この IPv6 対応は重要な意味を持ちます。Amazon Security Lake は、AWS環境やSaaSプロバイダー、オンプレミス環境、クラウドソースからのセキュリティデータを自動的に集約し、お客様のアカウント内の専用データレイクに保存するサービスです。このサービスを使用することで、組織全体のセキュリティデータをより包括的に把握でき、ワークロードやアプリケーション、データの保護を強化することができます。 4/4(金) Amazon SES の送信 API で添付ファイルをサポート Amazon SES (Simple Email Service) において、メール送信 API で添付ファイルをサポートする機能が追加されました。この機能により、SES の簡易送信 v2 API を使用する際に、PDFドキュメントなどのファイルを添付したり、メール本文中にインライン画像を埋め込んだりすることが可能になりました。これまでは、SES の簡易送信 API でテキストやHTML形式のメール本文を送信することはできましたが、添付ファイルやインライン画像を含めるためには、より複雑な API を使用してメールのデータ構造を自分で構築する必要がありました。今回のアップデートにより、ユーザーは MIME メッセージの構造について詳しい知識がなくても、PDF、Word、GIF などの SES がサポートする MIME タイプのファイルを簡単に添付できるようになりました。 それでは、また来週お会いしましょう! 著者について 戸塚 智哉(Tomoya Tozuka) / @tottu22 飲食やフィットネス、ホテル業界全般のお客様をご支援しているソリューション アーキテクトで、AI/ML、IoT を得意としています。最近では AWS を活用したサステナビリティについてお客様に訴求することが多いです。 趣味は、パデルというスペイン発祥のスポーツで、休日は仲間とよく大会に出ています。
本記事は、 NetApp のソリューションアーキテクト 井上 耕平氏、テクニカルソリューションスペシャリスト 川端 卓氏、シニアクラウドソシューションアーキテクト 藤原 善基氏、AWS セールススペシャリスト 小寺 加奈子氏、アマゾン ウェブ サービス ジャパン合同会社のシニアプロトタイピングソリューションアーキテクト 小泉 秀徳、パートナーソリューションアーキテクト 山田 磨耶による共同執筆です。 データ活用のトレンド 生成 AI の発展により、データ活用の在り方は大きな転換期を迎えました。従来のデータ分析は主に構造化データを対象としていましたが、生成 AI 利用により画像や音声を含む非構造化データのデータ分析も可能となり、活用可能なデータの範囲が拡大しています。また、これまでデータの分析者には専門知識が求められていましたが、生成 AI を活用した自然言語によるデータ分析が実現され、誰もがデータを活用し、インサイトを引き出せるようになりました。 このように生成 AI を活用することで、分析対象となるデータの量や種類、分析プロセスが大きく変化している一方で、データ活用への生成 AI 導入にはいくつかの課題が存在します。 生成 AI × データ活用の課題 生成 AI を使ったデータ活用でまず考えられる課題として、組織の所有データに生成 AI がアクセスする環境を用意することが困難であることが挙げられます。現在多くの生成 AI の機能はクラウドサービスとして提供されており、最新の機能や性能を利用するためにはクラウドからのデータ活用が重要になります。一方で、多くのデータはオンプレミスに存在しており、これらのデータをクラウドに移行するためには、多くのコストと時間が必要となります。既にクラウドストレージを利用している企業であっても、生成 AI 機能を活用するためにデータ移行が必要となるケースも考えられます。 また、これからデータを収集する状況であっても、組織のセキュリティやコンプライアンスの要件により、データをクラウドに保管することが難しいケースも見受けられます。 このような課題に対し、データを既存のデータストレージに保持したまま、AWS が提供する生成 AI 機能によってデータを活用するためのソリューションを NetApp と AWS の 2 社で開発しました。本記事では、共同開発ソリューションを使った 国立大学法人広島大学 様による実証実験の概要と、共同開発ソリューションの特徴についてご紹介します。 広島大学様との実証実験 2024 年から 2025 年にかけて、広島大学様と共同で行った実証実験についてご紹介します。 広島大学様においても、上述の課題をお持ちでした。大学の情報インフラを管理する上で、学内で持つ機微な研究データをクラウドに保管することはデータの長期保管やセキュリティの観点から難しく、特にデータへのアクセス権の管理についてはこれまで以上に煩雑になることが推測されます。更に、教育や学習データを蓄積するシステムが増加し、これらを活用して教育の質の向上や個別学習支援の期待が高まっているものの、各部門が独立したシステムでデータを管理していること、個人情報保護法や General Data Protection Regulation (GDPR) などのコンプライアンス順守に向けた管理体制が未成熟であることなど、教育データを管理し利活用するためのスキルが不足しているという課題をお持ちでした。 図 1 広島大学様セッションスライドより、大学の情報インフラ課題の重要性 大学の情報インフラもオンプレミスのみの環境からクラウドと混在した環境に変化しており、今後求められるインフラは結局何が良いのかと検討されていた中で、スモールスタートで構築できるハイブリッド生成 AI インフラ環境を構築し実験することとなりました。 図 2 広島大学様セッションスライドより、AI 技術の導入と生成 AI の活用 ハイブリッド生成 AI 環境を考える上で特に考慮した点は、図 2 のとおり学内のストレージに格納されている機微なデータ、いわゆるクローズドデータの扱いについてでした。AWS にデータを保管する際には、一般的に Amazon Simple Storage Service (Amazon S3) というオブジェクトストレージサービスが利用されます。手元のクローズドデータを利用したハイブリッド生成 AI 環境を考えた際、 「Amazon S3 へデータをアップロードする構成」の課題として、以下の点が挙げられます。 一部の機微なデータはクラウドに持っていけない 大規模なデータの移動にコストと時間がかかる 2 箇所以上 (オンプレミスの元データと Amazon S3) の重複したデータの管理が困難 オブジェクトストレージ である Amazon S3 にデータを移動すると権限情報などのメタデータが失われる データの移動後、セキュリティとデータ保護の再適用が必要 これらの課題に対し、NetApp のテクノロジーを利用した課題解決として NetApp ONTAP によるデータ連携を提案しました。具体的には、FlexCache によるキャッシュの活用、または SnapMirror による非同期複製の活用です。このデータ連携により、データの特性に応じて、生成 AI 機能を利用する環境をクラウドやオンプレミスなどから選択し、シームレスなデータ活用が可能となります。具体的には、Data Mobility と Data Infrastructure により、それぞれの課題の解決を実現します。 Data Mobility (データの可搬性) 生成 AI アプリケーションの近くにデータを配置 データ転送にかかる時間とコストを削減 データの二重管理不要 Data Infrastructure (データの管理) フォルダ構造をそのまま保持 設定済みのアクセス権をそのまま保持 データを保護し、セキュリティを確保 図 3 実証実験の技術的なポイント 実証実験は、以下3パターンの構成で実施しました。 パターン1 :Amazon S3 を利用した構成 パターン2 : NetApp BlueXP Workload Factory と Amazon FSx for NetApp ONTAP (FSx for ONTAP) を利用した構成 この構成について、詳細は AWS Solutions Library をご確認ください パターン3 :AWS の標準サービス と FSx for ONTAP を利用した構成 特にパターン 3 では、NetApp ONTAP のキャッシュ機能である FlexCache を利用し、オンプレミスの NetApp ONTAP から FSx for ONTAP にデータ連携することにより、以下の 3 点のメリットを実現できます。 オンプレミスのデータがそのままキャッシュ側である FSx for ONTAP で参照できる キャッシュ側である FSx for ONTAP のデータの容量はオンプレミス NetApp ONTAP の 1/10 程度に抑えられる オンプレミスのファイルアクセス権情報をそのまま保持できる 図 4 ONTAP のキャッシュ機能のメリット パターンごとの想定利用シーンを吟味して、今回の実証実験ではパターン 3 にフォーカスし、 NetApp と AWS 両社でソリューションとして開発しました。 図 5 検証パターンごとのメリット パターン 3 の構成では、オンプレミス、AWS と環境を問わずエンド・ツー・エンドで NetApp ONTAP の強力なデータ保護機能である SnapLock 、Tamperproof Snapshot などをデータ保護の観点で活用できます。これらの活用により、OWASP Top10 for LLM Application (※1) で 4 番目のリスクに上がっている「LLM04: データとモデルのポイズニング」から保護することも可能です。具体的な機能のメリット、利用方法につきましては 参考ブログ をご覧ください。 ※1:出典 ” OWASP Top 10 for LLM Applications 2025”, OWASP,(2024/11) https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/ AXIES ランチョンセッション発表 共同実証実験の内容について、 大学 ICT 推進協議会 (AXIES:Academic eXchange for Information Environment and Strategy) 2024 年度年次大会 のランチョンセッションにて、広島大学情報メディア教育研究センター 准教授 渡邉先生、NetApp 保村氏が発表しました。当日は 119 名の方にご参加いただき、事前に構築した生成 AI アプリケーションの動作についてもデモ動画にてご紹介しました。 ご参加いただいた皆様からは、「 来る AI 時代に向けて学内のデータをどのように活用すればいいか検討しており大変参考になった 」、また「 AI の活用ももちろんであるが、学内のデータをいかに守るかというセキュリティの観点からも話を聞けたのは良かった 」という声をいただきました。 クラウドサービス利用シンポジウム ハンズオン実施 広島大学様との 共同実証実験で開発したソリューションについて、構築・利用を体験するためのハンズオンコンテンツを NetApp、AWS 両社で作成しました。 作成したハンズオンコンテンツは、2025/3/13 (木) 開催「 大学等におけるクラウドサービス利用シンポジウム2025 」のハンズオンセミナー「こんなに簡単にできるハイブリッド生成AIインフラ!- 広島大学×NetApp×AWSが考える生成AI環境をつくって、さわってみよう」にて提供しました。当日は 14 名の方が参加し、ハンズオンを完走いただきました。参加者からは「 学内のオンプレ環境で実装する際の参考にさせて頂きます。ありがとうございました! 」「 オンプレミス側のハンズオンが含まれているのが非常に良かったです。引き続きハイブリッド構成による生成 AI 利活用についてディスカッション及び協業させて頂きたいです。 」といった声をいただいています。 2 社共同でのソリューション開発・ハンズオンコンテンツ作成にあたって、AWS Prototyping Program と AWS CDK トレーニングを NetApp に提供しました。 ソリューション概要 実証実験で使用されたソリューションは、「 Amazon Bedrock と Amazon FSx for NetApp ONTAP を使用して AWS で RAG ベースの生成 AI アプリケーションを構築する 」で解説されているソリューションをベースとしています。このオリジナルのソリューションは、生成 AI を実現するための複数の 基盤モデル (FM) を提供する Amazon Bedrock や、ONTAP の一般的なデータアクセスおよび管理機能を AWS で提供する FSx for ONTAP から構成されます。また、多くの生成 AI アプリケーションで利用される Retrieval Augmented Generation (RAG) を実現する機能を埋め込んでおり、実践的な生成 AI の利用を支援します。オリジナルのソリューションについて、詳細は こちらの記事 をご参照ください。 実証実験では、より簡単にオンプレミスのデータを AWS と連携し、AWS 上に生成 AI を使ったデータ分析の機能を実装するために、オリジナルのソリューションに加えて以下のカスタマイズを行いました。 オンプレミスと AWS のデータ連携実装 AWS Cloud Development Kit (AWS CDK) による Infrastructure as a Code (IaC) 化 この 2 点について、それぞれご紹介します。 オンプレミスと AWS のデータ連携実装 実証実験、ハンズオン実施環境については、オンプレミス NetApp ONTAP と FSx for ONTAP を ONTAP のキャッシュ連携機能である FlexCache を利用して接続することにより、オンプレミスに格納しているデータを AWS 上の FSx for ONTAP、ナレッジ DB、生成 AI チャットボットアプリケーション から利用できるようにしています。 図 6 ハンズオン環境イメージ AWS CDK による Infrastructure as a Code (IaC) 化 Architecture 本ソリューションは、オリジナルのソリューションを基にセキュリティ、拡張性、UI 観点でアーキテクチャやコンポーネントを変更しています。なお、Embedding Container による、Vector Embeddings とメタデータ (SID など) を Vector Store に保存するといったコア機能は変更していません。Vector Embeddings に関するフローに関しては、 こちらの記事 をご確認ください。 図 7 RAG Chatbot with Amazon FSx for ONTAP Architecture diagram Terraform から AWS CDK へ変更 学習コストを抑え、使い慣れたプログラミング言語 (今回は TypeScript) で AWS のインフラを定義する観点で、AWS CDK in TypeScript で定義しています。 セキュリティ機能の追加 生成 AI チャットボットアプリケーションへのアクセス制限として、 AWS Web Application Firewall (AWS WAF) と Amazon CloudFront をフロントエンドの前段に配置しています。 Amazon Cognito を利用したユーザー認証と認証画面を追加実装しています。 生成 AI チャットボットアプリケーションの変更 フロントエンドの言語も AWS CDK と同じ TypeScript に統一する観点から、 React のフレームワークである Next.js でフロントエンドを実装しています。 オリジナルのソリューションではフロントエンドを Amazon Elastic Compute Cloud (Amazon EC2) 上で稼働していましたが、本ソリューションでは AWS Lambda Web Adaptor を利用して AWS Lambda 上で稼働させています。 RAG による回答に加え、回答生成に利用したドキュメントソースとコンテンツを チャット画面で確認できるよう変更しています。 Embedding Container と Chatbot Container の分離 オリジナルのソリューションでは、同一 Amazon EC2 上で両 Container が稼働していましたが、ビジネスロジック観点で稼働環境を分離しています。Embedding Container は Amazon EC2、Chatbot Container は前述のように AWS Lambda 上で稼働させています。 生成 AI モデルの追加 Claude モデルに加え、 Amazon Nova (Micro, Lite and Pro) を追加しました。コスト、レイテンシーなどの要件に応じてチャット画面からモデル選択が可能です。 Amazon Bedrock のスループット向上のため、 クロスリージョン推論 をサポートしました。 Vector Store の選択 オリジナルのソリューションでは Vector Store として Amazon OpenSearch Serverless がデプロイされますが、本ソリューションでは Amazon Aurora Serverless v2 も選択できます。ユースーケースに応じてコードベースで変更可能です。 まとめ データ保管は従来のまま、生成 AI を使ってデータを活用するためのソリューションについてご紹介しました。データの移動が困難な状況や、セキュリティや管理の観点でデータの保管場所を変更できない状況で、最先端の生成 AI 機能を利用する場合にご活用いただけます。 広島大学様との共同実証実験でもその有用性が期待され、オンプレミスの NetApp ONTAP と FSx for ONTAP の利用により、シームレスなデータ連携を実現するソリューションを NetApp と AWS の両社で開発しました。このソリューションは AWS CDK によってコードで定義されているため、 AWS アカウント があればどなたでも環境構築が可能です。コードは以下の GitHub リポジトリで公開されていますので、デプロイ方法などの詳細は以下をご確認ください。 NetAppJpTechTeam/Permission-aware-RAG-FSxN-CDK: https://github.com/NetAppJpTechTeam/Permission-aware-RAG-FSxN-CDK/ また、このソリューションの構築・利用を体験するためのハンズオンコンテンツも作成しています。ソリューションのデプロイに関するお問い合わせや、ハンズオンのご要望などがありましたら、以下のメールアドレスまでご連絡をお願いいたします。 本ソリューションに関するお問い合わせ (NetApp): ng-genai-japan-awsteam@netapp.com 参考ブログ ランサムウェア被害から医療データの安全を守る サイバーレジリエンシーブログ: 【寄稿】サイバーレジリエンスとはなにか? 【寄稿】Amazon FSx for NetApp ONTAP イミュータブルバックアップの利用でランサムウェア対策の強化 【寄稿】そのデータ復旧できますか? 著者について 井上 耕平 (Kohei Inou) ネットアップ合同会社 ソリューション技術本部 ソリューションアーキテクト部 Solutions Architect 前職SIerにて、IoT/AIに関わるシステムの提案からデリバリーまで幅広く経験。現在は、AI/IoTシステムをストレージの観点から支援するソリューションを担当。趣味はサッカー観戦、登山、旅行 川端 卓 (Suguru Kawabata) ネットアップ合同会社 ソリューション技術本部 SE第4部 テクニカルソリューションスペシャリスト これまでにサーバー/ストレージのベンダーにてプリセールスからポストセールスまで経験。現在は西日本のお客様に向けてAI/生成AIやサイバーレジリエンスのソリューションを中心に提案活動・ハンズオンなどを担当。趣味は魚釣り、ゴルフ 藤原 善基 (Yoshiki Fujiwara) ネットアップ合同会社AWS SE Support / Sr. Cloud Solutions Architect 前職ではネットワークエンジニア、AWSエンジニアを経験。AWS Japanから2024 AWS Japan Top Engineerの認定を受けており、AWSのユーザコミュニティではCommunity Builderとして、全国各地で活動しています。趣味は、外食、旅行、ロックフェスティバルなど。 小寺 加奈子 (Kanako Kodera) ネットアップ合同会社AWSセールススペシャリスト 前職ではAWSクラウド事業の責任者を経験。現在は、ネットアップではSales SpecialistとしてAWSへのマイグレーションを中心に、導入支援やマーケティング活動等に従事。 趣味はお琴、読書。 小泉 秀徳 (Hidenori Koizumi) アマゾンウェブサービスジャパン合同会社 パブリックセクター技術統括本部 エマージングテクノロジー本部 シニアプロトタイピングソリューションアーキテクト 理学のバックグラウンド(生物学、化学など)を活かした研究領域でのソリューション作成を得意としています。フロントエンドからバックエンドまでの Web アプリケーション開発を行なっており、趣味は旅行と写真撮影です。 山田 磨耶 (Maya Yamada) アマゾンウェブサービスジャパン合同会社 パブリックセクター技術統括本部 パートナーアライアンス技術部 パートナーソリューションアーキテクト 公共領域における AWS パートナーの活動を技術面で支援しており、技術相談やトレーニング提供を行っています。 前職では AWS エンジニアとして金融業界のシステム開発に従事。趣味は謎解き、ボードゲーム
2024 年 12 月をもって Jeff Barr が AWS ニュースブログを離れましたが 、AWS News Blog チームは、極めて重要で影響力のある AWS 製品のリリースが利用可能になり次第、関連情報を引き続き共有していきます。ニュースブログの将来に関する Jeff の最後のコメントをあらためて引用します: 今後もチームは成長を続けますが、最新かつ極めて有意義な AWS のリリースについて、厳選された質の高い情報をお客様に提供するという目標は変わりません。このブログは、優れた人々に引き継がれます。AWS のイノベーションのペースが加速し続けている中、このチームは引き続き皆さんに情報を提供してまいります。 2016 年以来、Jeff はチームの一員として AWS ニュースブログの発展に貢献してきました。私たちは現在、北米、南米、アジア、欧州、アフリカで活動する 11 人のブロガーのグループです。私たちは AWS の製品チームと協力し、お客様に代わって新機能を直接テストしたり、Jeff がこれまで行ってきたようにニュースブログで重要な詳細を伝えたりしています。 Jeff が LinkedIn で共有した「 Leadership Principles for AWS News Bloggers 」は、テクノロジー企業のお客様向けにブログを書いている人にとっては教科書のような内容です。これらは、ブログ作成を理解してすぐに開始するのに役立つ基本的な事項であり、私たちはチームとしてこれらの原則を守り続けます。これが、AWS ニュースブログが他のテクノロジー企業の製品ニュースチャンネルとは一味違う理由です。 ブログの作成者の声 ニュースブログの作成者の名前はご存知かもしれませんが、その人物像について知る機会はなかったかもしれません。メンバーの自己紹介をぜひご覧ください! Channy Yun (윤석찬) ニュースブログチームの新しいリードブロガーとして Jeff の功績を継承できることを光栄に思います。Jeff は私のロールモデルです。2014 年に AWS に入社したとき、最初に取り組んだのは、 AWS Korea Blog を作成し、Jeff のブログ記事を韓国語に翻訳することでした。その過程で、私は、お客様が新しい AWS 製品や機能の使用を開始するのに役立つ、正確かつ誠実で強力なガイドの書き方を学びました。 Danilo Poccia 私は、 2018 年に初めてニュースブログを投稿して以来 、このチームの一員として多くのことを学んできました。製品マネージャーやサービスチームと協力することは、いつもすばらしい経験です。私は、サーバーレス、イベント駆動型アーキテクチャ、AI/ML に関心があります。生成 AI などのテクノロジーが、(AI 対応の開発ツールを通じて) 暗黙的に、また、(コードでモデルを使用することによって) 明示的に、ソフトウェア開発の一部になりつつあるのは驚くべきことです。 Sébastien Stormacq 私は 2019 年からこのチームの一員であり、これはとても幸運なことです。記事を作成していないときには、 AWS Developers Podcast と le podcast AWS en français のエピソードを制作しています。私はまた、 Amazon EC2 Mac 、 AWS SDK for Swift 、 CodeBuild および CodeArtifact のチームと協力して、Apple デベロッパーにとって AWS クラウドをより利用しやすくすることにも取り組んでいます。私のお気に入りのプロジェクトは、 Swift Runtime for AWS Lambda です。 Veliswa Boya Amazon リーダーシッププリンシプル (LP) は、ニュースブログの著者としての取り組みを含め、AWS における私たちのあらゆる活動の指針となっています。私は Developer Advocate として、LP のガイダンスを採り入れるとともに、LP のガイダンスを参照しながら、技術的なコンテンツの作成を目指す AWS コミュニティのメンバー、特に技術的なコンテンツ作成のジャーニーに初めて参加するメンバーをガイドしてきました。 Donnie Prakoso コーヒーを淹れるのと同じように、ブログの作成では、楽しさ、挑戦、やりがいを感じることができます。私は、「Customer Obsession」(お客様中心主義) が AWS のチームにどのように組み込まれているのかを観察できるという、大きな幸運に恵まれました。これらのチームがどのように目的から逆算して取り組みを進め、お客様のフィードバックをサービスや機能に変えていくのかを目にしてきました。私たちの記事をお楽しみいただき、News Blog チームの次の章を心待ちにしていただければ幸いです。 Esra Kayabali 私は著者として、ビルダー、デベロッパー、テクノロジーに情熱を注ぐ人々から成る世界中のオーディエンスに、AWS の最新のイノベーションとリリースに関する適時な情報をお届けすることに尽力しています。AWS サービスを効果的に利用するのに役立つ、明確かつ正確で実用的なコンテンツを提供することの重要性を理解しています。皆さん、ぜひお読みください! Matheus Guimaraes 私の専門は .NET 開発とマイクロサービスですが、常に何でも屋でもあります。このブログのために記事を書くことは、最新のテクノロジーのあらゆる側面で鋭い感覚を発揮するのに役立ちますし、他のユーザーにとっても同じように役立つでしょう。何千もの人々が AWS ニュースブログを読んでおり、最新情報を把握して、意思決定に役立てるための頼りになる情報源として利用しています。そのため、私たちが行っていることは大きな影響力をもたらす、有意義な仕事であると確信しています。 Prasad Rao 私は、自分のブログを通じて、新しいサービスの「内容」だけでなく、ビジネスおよびユーザーエクスペリエンスを変革できる「理由」と「方法」にも光を当てるよう心がけています。 Microsoft Workloads on AWS を専門とする Solutions Architect として、お客様がワークロードを移行およびモダナイズし、AWS でスケーラブルなアーキテクチャを構築するのをサポートしています。また、多様な人々がクラウドキャリアで優れた結果を生み出せるよう指導しています。 Elizabeth Fuentes 新しいブログを書き始めるたびに、このチームの一員であること、リリース前に新しいサービスを実験できること、そして、私の経験を読者と共有できることを光栄に思います。このチームは、複数の国から集まったあらゆるレベルのスペシャリストで構成されており、多文化かつ多専門のチームです。読者の皆様、ご関心をお持ちいただき、ありがとうございます。 Betty Zheng (郑予彬) News Blog チームに参加したことで、テクノロジーに関するコミュニケーションの方法が変わりました。常に好奇心を持ち、革新的なサービスを利用しやすくし、より多くの魅力をお伝えできるように、新しい発表に取り組んでいます。デベロッパーが心から楽しみながら当社の最新テクノロジーの詳細を学ぶのに役立つよう、私の独自かつ多様な視点を技術的なコンテンツに取り入れようと努めています。 Micah Walter 私は、Senior Solutions Architect として、ニューヨーク市周辺およびそれ以外の地域の企業のお客様をサポートしています。持続可能性と実用的な設計に重点を置き、エグゼクティブ、エンジニア、アーキテクトに、クラウドジャーニーのあらゆる段階でアドバイスを提供しています。 また、舞台裏で活躍する Editor-in-Chief である Jane Watson と Program Manager である Jane Scolieri もご紹介します。この 2 人は、 re:Invent 2024 において、1 週間で発表した 60 件のリリース など、製品リリースのニュースをできるだけ早くお客様にお届けする上で重要な役割を果たしています。 フィードバックをお寄せください AWS はお客様中心主義です。私たちは常に、カスタマーエクスペリエンスの改善および提供に注力しており、そのためにはお客様のフィードバックが必要です。 アンケート にご回答いただき、AWS ニュースブログでのお客様のエクスペリエンスに関するインサイトや、さらに優れたサービスを提供するためのご提案をぜひお聞かせください。 このアンケート は、外部の企業によって実施されます。AWS は、 AWS プライバシー通知 に記載されているところに従って、お客様の情報を取り扱います。AWS はこのアンケートを通じて収集されたデータを所有します。また、収集された情報をアンケートの回答者と共有することはありません。 – Channy 原文は こちら です。
AWS Architectural Resilience Day は、AWS のお客様がワークロードの回復力の向上に役立つアーキテクチャのベストプラクティス、AWS サービスについて学べる無料の対面でのイベントです。レジリエンスについて学ぶ座学と、ハンズオンを含む実践的なワークショップに参加して、 災害復旧、高可用性ワークロードの設計、エラー修正プロセスの実装について学んで頂けます。重要なアプリケーションの回復力を IT 運用のライフサイクルの中で継続的に改善したいと考えておられる開発者様、運用者様に特に役に立つ内容となっております。 また、 AWS Resilience Hub や AWS Fault Injection Service のハンズオンを通してアプリケーションの回復力の評価、改善の自動化も体験頂けます。 2024年10月には東京で開催(開催報告は こちら )させて頂き、今回大阪での初開催となりました。 まだ寒さの残る早朝より、52名のお客様に中之島オフィスにお越し頂きました。関西からの参加だけでなく、九州からご参加頂いた方も!たくさんの方に参加頂き誠にありがとうございました!! アジェンダ このセミナーでは、座学と ハンズオン を交互に織り交ぜながら進めていきます。 形式 タイトル スピーカー 資料 – オープニング 三好 史隆 ※1 – 座学 AWSにおけるレジリエンス入門 猪又 赳彦 ※4 Download 座学 レジリエンスの目標を設定する 猪又 赳彦 Download ハンズオン AWS Resilience Hubを活用したRPO/RTOの設定 三好 史隆 – 座学 レジリエンスの設計と実装 新谷 歩生 ※2 Download ハンズオン 高可用性のための設計と実装 三好 史隆 – ハンズオン ディザスタリカバリに備えた設計と実装 三木 康次 ※3 – 座学 レジリエンスの評価とテスト 安藤 麻衣 ※1 Download 座学 レジリエンスの運用 長倉 隆浩 ※5 Download ハンズオン AWS Fault Injection Serviceを用いたレジリエンス評価とテスト 三木 康次 – 座学 インシデントへの対応と学習 森 啓 ※2 Download ハンズオン インシデント対応からの学習 三木 康次 – ※1. Solutions Architect, ※2. Sr. Solutions Architect, ※3. Technical Account Manager, ※4. Sr. Technical Account Manager, ※5. Customer Solutions Manager オープニング 本セミナーは、AWS レジリエンスライフサイクルフレームワークの 5 つの主要なステージに沿って進められます。みなさまにレジリエンスの向上に役立つさまざまな戦略、サービス、ツールについての学びを持ち帰って頂きたいという思いを総合司会の三好よりお伝えしました。 三好 史隆 Solutions Architect AWSにおけるレジリエンス入門 AWS のシステムレジリエンスにおいて、システム障害は避けられない前提で対策を講じることが重要です。このセッションでは、レジリエンスを確保するための取り組みとして、テクノロジーだけでなく、人・プロセスの重要性、さらに AWS の責任共有モデルに基づいて、AWS によるクラウドのレジリエンスを確保するための取り組みと、継続的なレジリエンス活動の重要性を説く AWS レジリエンスライフサイクルフレームワークを紹介しました。 猪又 赳彦 Sr. Technical Account Manager レジリエンスの目標を設定する 前のセッションから引き続き、猪又よりシステム障害による経済的影響の大きさを改めて共有したうえで、ビジネス目標を設定し、必要なレジリエンスのレベルの定義の必要性について紹介しました。目標設定では、RPO と RTO を指標として使用しますが、システム全体で一律の目標を設定するのではなく、コンポーネントごとに重要度を考慮した現実的な目標設定が推奨されます。これらの目標設定と評価を支援するサービスとして AWS Resilience Hub の活用をご紹介しています。レジリエンスのレベルを定義するには、ビジネス目標の明確化と、それに対する経営陣の理解と関与を得ながら、継続的な改善を進めることが重要であることをお伝えしました。 AWS Resilience Hubを活用したRPO/RTOの設定 ハンズオンの開始です。このセクションでは、AWS 上のアプリケーションの回復力を分析、管理、改善できるサービス AWS Resilience Hub を使って、レジリエンシーポリシーへの準拠状況を確認します。AWS Resilience Hub へアプリケーションの目標 RTO / RPO を入力して準拠状況を確認します。下の図では、現状はレジリエンシーを満たしていないことが確認できます。 AWS Resilience Hub – 目標 RTO / RPO に対する評価結果の出力 レジリエンスの設計と実装 このセッションでは、回復力のあるデザインパターンについて、例と共にご紹介しました。レジリエンスに関してはトレードオフが存在することをお伝えした上で、設計をする上で考慮すべき点として、リソース管理を担うコントロールプレーンと実行処理を担うデータプレーンの理解、変更なしで安定稼働を維持する静的安定性、そして AZ やリージョンでの障害分離境界の考え方、セルアーキテクチャ、グレースフルデグラデーション、バイモーダル動作などを例にデザインパターンのベストプラクティスをご紹介しました。 新谷 歩生 Sr. Solutions Architect 高可用性のための設計と実装 再びハンズオンです。このセクションでは、AWS Resilience Hub を使って、レコメンデーションを適用した後に再評価を実行して、レジリエンシーポリシーを満たしているかを確認します。AWS Resilience Hub が推奨する改善案に沿ってアプリケーションを修正した結果、目標 RTO / RPO に準拠していることが確認できました。 AWS Resilience Hub – レジリエンシーの評価結果 (改善後) ディザスタリカバリに備えた設計と実装 午後最初のセッションは三木へリードをバトンタッチして、ハンズオンからスタートです。リージョン障害に対する復元力目標が達成できていないことを確認して、評価の理由を確認したうえでアプリケーションを修正し再評価して、復元力目標を達成していることを確認します。 AWS Resilience Hub – リージョン障害に対するレジリエンシーの評価結果 (改善前) AWS Resilience Hub – リージョン障害に対するレジリエンシーの評価結果 (改善後) 三木 康次 Technical Account Manager レジリエンスの評価とテスト このセッションではレジリエンスの評価とテストとして、予期せぬシステム障害への対応力を高めるための手法としてのカオスエンジニアリングと、実施するためのプロセスについてご紹介しました。また、実環境での障害実験を実施するためのサービスとして、AWS Fault Injection Service の活用を具体例とともに示し、予期せぬシステム障害、潜在的な問題を発見するためのアプローチとその重要性についてご紹介しました。 安藤 麻衣 Solutions Architect レジリエンスの運用 このセッションでは、レジリエントなシステムを維持していくための運用の重要性についてご紹介しました。システムの健全性を担保するためにはメトリクスの監視が不可欠ですが、過剰なデータ収集は障害検知・回復の遅延をまねき、RPO / RTO の目標達成にも影響してしまいます。メトリクスの監視においては、システムのステータスだけでなく、ユーザー体験への影響を測定することが重要です。これらを踏まえ、ビジネス目標に基づいて適切なメトリクスを特定し、監視を実施することの重要性をお伝えしました。 長倉隆浩 Customer Solutions Manager AWS Fault Injection Serviceを用いたレジリエンス評価とテスト AWS Resilience Hub はレジリエンシーの目標 RTO / RPO を満たすアーキテクチャを提案するだけでなく、障害注入実験を行うための AWS CloudFormation テンプレートも提供します。これには AWS Resilience Hub の一機能である AWS Fault Injection Service (FIS) が利用されます。ハンズオンでは、FISを用いてAmazon Relational Database Service (Amazon RDS)をフェイルオーバーさせ、その際にアプリケーションが目標RTOを満たしているかをテストしました。 AWS Resilience Hub – 障害注入実験のテンプレート AWS CloudWatch Dashboard – バックエンドの応答状況 インシデントへの対応と学習 最後の座学セッションとなるインシデントへの対応と学習では、インシデント検知時の分析の重要性と、インシデント発生後の分析と学びを共有することの重要性について学びました。システム問題の検知においては、単一指標だけでなく複数の観点からの分析の重要性、CloudWatch Contributor Insights の活用をご紹介しました。またインシデント発生後は、技術的観点だけでなく人とプロセスも含めた障害原因の分析を行い、得られた学びについて組織内で共有し、そしてこれらの取り組みのサイクルを継続して実践することの重要性をお伝えしました。 森 啓 Sr. Solutions Architect インシデント対応からの学習 最後のセッションでは、AWS Resilience Hub でアプリケーションの全体的なレジリエンススコアを確認しました。レジリエンススコアは、アプリケーションのレジリエンスポリシーを満たし、アラーム、標準運用手順(SOP)、障害注入実験を実装するための推奨事項にどれだけ近いかを反映しています。このスコアの内訳を確認し、継続的に評価・改善する方法を学びました。 AWS Resilience Hub – 耐障害性スコア おわりに 今回は大阪での初開催となる AWS Resilience Day in Osaka についてレポートしました。レジリエンスライフサイクルフレームワークに基づいて学ぶ座学と、ハンズオンを通して、レジリエントなシステムを構築する重要性とアーキテクチャのベストプラクティスについて理解を深めて頂いたかと思います。 ご参加頂いたみなさま、本当にありがとうございました。頂いたフィードバックをもとにこれからも改善を重ねて参ります。本日の内容が少しでも皆様の業務のお役に立てば幸いです。 2025年4月17日には、東京で2回目の開催となる AWS Resilience Day in Tokyo も予定されていますので、ご興味ある方は担当営業にご相談ください。 著者 カスタマーソリューションマネジメント統括本部 カスタマーソリューションマネジャー 長倉隆浩
3 月 31 日、運用データの調査と視覚化を支援する AI 支援機能を提供する Amazon Q Developer のサポートが Amazon OpenSearch Service 向けに提供されることを発表しました。Amazon Q Developer は、クエリ言語、視覚化ツール、アラート機能の学習曲線を短縮することで、OpenSearch Service のエクスペリエンスを強化します。この新機能によって自然言語探索とパターン検出が有効になり、既存のダッシュボードと視覚化が補完されます。インシデントが発生した後、追加の視覚化をすばやく作成して、モニタリングインフラストラクチャを強化できます。この強化されたワークフローによってインシデントの解決が加速され、エンジニアリングリソースの使用が最適化されるため、お客様は、トラブルシューティングではなくイノベーションに集中できるようになります。 Amazon OpenSearch Service 内の Amazon Q Developer は、自然言語探索と生成 AI 機能を OpenSearch ワークフローに直接統合することで、運用分析を改善します。インシデント対応中、アラートとログデータのコンテキストをすばやく把握できるようになったので、分析と解決にかかる時間が短縮されます。アラートモニターがトリガーされると、Amazon Q Developer のアラートインターフェイスに概要とインサイトが直接提供されるので状況をすばやく理解できます。専門家に依頼したり資料を調べたりする必要はありません。そこから Amazon Q Developer を使用して、基礎データの確認、自然言語を使用した視覚化の構築、パターンの特定による根本原因の特定を行うことができます。例えば、リージョン、データセンター、エンドポイントなどのディメンションごとにエラーを分類する視覚化を作成できます。さらに、Amazon Q Developer はプロアクティブなアラート向けのダッシュボード設定を支援し、異常検知機能を推奨するので、初期モニタリングの設定とトラブルシューティングの効率性の両方が向上します。 OpenSearch Service での Amazon Q Developer の使用を開始する 開始するには、 OpenSearch のユーザーインターフェース にアクセスしてサインインします。ホームページから、OpenSearch Service で Amazon Q Developer をテストするワークスペースを選択します。このデモでは、ユーザーインターフェイスで利用できるサンプルログデータセットを含む事前構成済みの環境を使用します。 この機能は、 Amazon Q Developer 無料利用枠 でデフォルトで有効になっています (この無料利用枠もデフォルトで有効化されています)。この機能を無効にするには、ドメインの作成時に [人工知能と機械学習] セクションの [自然言語クエリの生成を有効にする] チェックボックスの選択を解除するか、コンソールでクラスター設定を編集します。 OpenSearch ダッシュボードで、左側のナビゲーションペインから [検出] に移動します。自然言語を使用してデータを調べるには、 PPL 言語に切り替えてプロンプトボックスを表示します。 メインナビゲーションバーの Amazon Q アイコンを選択して Amazon Q パネルを開きます。このパネルを使用して、アラートを生成するために推奨される異常検出機能を作成することや、自然言語を使用して視覚化することができます。 [Ask a natural language question] テキストボックスに次のプロンプトを入力します。 Show me a breakdown of HTTP response codes for the last 24 hours 結果が表示されると、これらの結果の概要が Amazon Q によって自動的に生成されます。Amazon Q パネルの [Show result summarization] オプションを使用して要約の表示を制御し、要約を表示または非表示にすることができます。「いいね」ボタンまたは「あんまり」ボタンを使用してフィードバックを提供することや、コピーボタンを使用して概要をクリップボードにコピーすることができます。 OpenSearch Service 内の Amazon Q Developer のその他の機能には、自然言語による記述からの視覚化の直接生成、会話形式での OpenSearch 関連のクエリの支援、OpenSearch アラート用に AI が生成した要約とインサイトの提供、データの分析、そして適切な異常検出機能の提案があります。 自然言語による記述から視覚化を直接生成する方法を見てみましょう。 Amazon Q パネルから [Generate visualization] を選択します。入力フィールドに「 Create a bar chart showing the number of requests by HTTP status code 」と入力し、[Generate] を選択します。 視覚化を調整するには、 [ビジュアルの編集] を選択し、「 Show me a pie chart 」や「 Use a light gray background with a white grid 」などのスタイルの説明を追加します。 今すぐご利用いただけます OpenSearch Service で Amazon Q Developer を使用して解決までの平均時間を短縮し、セルフサービスのトラブルシューティングを有効にして、チームがオブザーバビリティデータからより大きな価値を引き出すことができるようになりました。 このサービスは、現時点で米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (ムンバイ)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、カナダ (中部)、欧州 (フランクフルト)、欧州 (ロンドン)、欧州 (パリ)、南米 (サンパウロ) の AWS リージョンでご利用いただけます。 Amazon Q Developer のドキュメント で詳細を参照して、今すぐ OpenSearch Service ドメインで Amazon Q Developer の使用を開始してください。 – Esra ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載されているとおりにお客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません) 原文は こちら です。
この記事は Run GenAI inference across environments with Amazon EKS Hybrid Nodes (記事公開日: 2024 年 3 月 19 日) を翻訳したものです。 この記事は、Principal Container Specialist SA である Robert Northard、EKS の Senior Product Manager である Eric Chapman、Senior Specialist Partner SA である Elamaran Shanmugam が執筆しました。 イントロダクション Amazon Elastic Kubernetes Service ( Amazon EKS ) Hybrid Nodes は、クラウドとオンプレミスにわたって生成 AI 推論ワークロードを実行する方法を変革します。EKS クラスターをオンプレミスのインフラストラクチャに拡張することで、管理の一貫性と運用の複雑さの軽減を実現しながら AI アプリケーションをデプロイできます。Amazon EKS はマネージドな Kubernetes コントロールプレーンを提供し、EKS Hybrid Nodes を使用すると、オンプレミスのインフラストラクチャをワーカーノードとして Amazon EKS コントロールプレーンに参加させることができます。これにより、オンプレミスで Kubernetes コントロールプレーンを管理する必要がなくなります。EKS Hybrid Nodes を使用すると、単一の EKS クラスター内でクラウドとオンプレミスの両方のキャパシティを活用できます。 EKS Hybrid Nodes は、次に挙げるような多くの AI/ML のユースケースとアーキテクチャを実現できます。 レイテンシーの影響を受けやすいワークロードをサポートするための、エッジでのリアルタイム推論を含むユーザに近い場所でのサービス実行 データレジデンシーに関する要件のためにオンプレミスに留まらなければならないデータを使用したモデルのトレーニング ナレッジベースを使用した RAG アプリケーションのような、ソースとなるデータに近い場所での推論ワークロードの実行 ピーク需要時に多くのコンピュートリソースを利用するために AWS クラウドの弾力性を利用 既存のオンプレミスハードウェアの利用 本記事では、単一の EKS クラスターを使用し、EKS Hybrid Nodes を活用してオンプレミスで AI 推論を実行し、さらには Amazon EKS Auto Mode を活用して AWS クラウドでも実行する概念実証 (PoC) について説明します。EKS Auto Mode は、コンピューティング、ストレージ、ネットワーキングなどの Kubernetes クラスターの管理を自動化します。EKS Auto Mode の詳細については、 Amazon EKS ユーザーガイド をご覧ください。 ソリューション概要 本記事の例における推論ワークロードのため、 NVIDIA NIM を通じてモデルをデプロイします。NVIDIA NIM は、GPU を使って AI モデルを実行するために NVIDIA によって最適化されたマイクロサービスです。EKS Hybrid Nodes と EKS Auto Mode の両方を有効化した EKS クラスターを作成し、オンプレミスのマシンをハイブリッドノードとしてクラスターに参加させます。オンプレミスへのデプロイでは、モデルを EKS Hybrid Nodes にデプロイする前に、NVIDIA ドライバーと Kubernetes 用の NVIDIA デバイスプラグインをインストールします。最後に、NVIDIA GPU と AWS Neuron インスタンスに必要なドライバーが事前構成されている EKS Auto Mode のノードにモデルをデプロイします。このウォークスルーには、EKS Hybrid Nodes を実行するためのハイブリッドネットワークと認証の前提条件を確立する手順は含まれていません。これらは Amazon EKS ユーザーガイド に記載されています。 図 1: EKS Hybrid Nodes と AWS リージョンにおける EKS ノードの両方を含む EKS クラスターの概要 上記は、このウォークスルーで使用するアーキテクチャのハイレベルな図を示しています。 Amazon Virtual Private Cloud (VPC) には、EKS Auto Mode のワーカーノードをホストする 2 つのパブリックサブネットと 2 つのプライベートサブネットがあります。コントロールプレーンとハイブリッドノード間の通信は、VPC を経由してトランジットゲートウェイまたは仮想プライベートゲートウェイの出入り口を通過し、プライベートなネットワーク接続経由でルーティングされます。EKS Hybrid Nodes は、オンプレミス環境と AWS リージョン 間の 信頼できるネットワーク接続 を必要とします。これは、 AWS Site-to-Site VPN 、 AWS Direct Connect 、またはユーザー管理の VPN ソリューションを使用して確立できます。 ルーティングテーブル、セキュリティグループ、ファイアウォールルールを設定して、各環境間の双方向通信を可能にする必要があります。 前提条件 このソリューションを完了するために必要な前提条件は以下のとおりです。 インターネットへのルートを持つ 2 つのプライベートサブネットと 2 つのパブリックサブネットを備えた Amazon VPC オンプレミスネットワークと Amazon VPC 間の AWS Site-to-Site VPN オンプレミスノードの場合、VPC CIDR レンジや Kubernetes Service の IPv4 CIDR と重複しない IPv4 RFC-1918 に準拠した CIDR ブロック Amazon EKS ユーザーガイド に詳細が記載されている、ファイアウォールルール、ルーティングテーブル、セキュリティグループといった Hybrid Nodes のネットワーキング要件 マシンイメージに含まれる NVIDIA ドライバー と NVIDIA Container Toolkit と EKS Hybrid Nodes に対応するオペレーティングシステム を実行するオンプレミスのマシン NIM へのアクセスに必要な NVIDIA NGC アカウントとAPI キー (NVIDIA の ドキュメント を参照してください) 以下のツール Helm 3.9+ kubectl eksctl v0.205.0+ AWS Command Line Interface (AWS CLI ) ウォークスルー 次のステップでは、このソリューションの概要を説明します。 EKS Hybrid Nodes と EKS Auto Mode を有効化したEKS クラスターの作成 Amazon EKS クラスターの作成および管理のための CLI ツールである eksctl を使用して、EKS Hybrid Nodes と EKS Auto Mode が有効化された EKS クラスターを作成します。 ClusterConfig ファイルとして cluster-configuration.yaml を作成します。このファイルには EKS Auto Mode を有効にする autoModeConfig と EKS Hybrid Nodes を有効にする remoteNetworkConfig が含まれています。有効な remoteNetworkConfig の値については、 EKS Hybrid Nodes のドキュメント を参照してください。 apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: hybrid-eks-cluster region: us-west-2 version: "KUBERNETES_VERSION" # Disable default networking add-ons as EKS Auto Mode # comes integrated VPC CNI, kube-proxy, and CoreDNS addonsConfig: disableDefaultAddons: true vpc: subnets: public: public-one: { id: "PUBLIC_SUBNET_ID_1" } public-two: { id: "PUBLIC_SUBNET_ID_2" } private: private-one: { id: "PRIVATE_SUBNET_ID_1" } private-two: { id: "PRIVATE_SUBNET_ID_2" } controlPlaneSubnetIDs: [ "PRIVATE_SUBNET_ID_1" , "PRIVATE_SUBNET_ID_2" ] controlPlaneSecurityGroupIDs: [ "ADDITIONAL_CONTROL_PLANE_SECURITY_GROUP_ID" ] autoModeConfig: enabled: true nodePools: [ "system" ] remoteNetworkConfig: # Either ssm or ira iam: provider: ssm # Required remoteNodeNetworks: - cidrs: [ "172.18.0.0/16" ] # Optional remotePodNetworks: - cidrs: [ "172.17.0.0/16" ] Bash ClusterConfig ファイルを作成した後、以下のコマンドを実行して EKS クラスターを作成します。 eksctl create cluster -f cluster-configuration.yaml Bash クラスターの状態が Active になるのを待ちます。 aws eks describe-cluster \ --name hybrid-eks-cluster \ --output json \ --query 'cluster.status' Bash ハイブリッドノードの準備 EKS Hybrid Nodes は kube-proxy と CoreDNS を必要とします。以下の eksctl コマンドを実行してアドオンをインストールしてください。ハイブリッドノードには自動的に 「eks.amazonaws.com/compute-type: hybrid」というラベルが付与されます。このラベルを使用してハイブリッドノード向け、あるいは別のノードをワークロードのデプロイ対象にすることができます。EKS Hybrid Nodes で Amazon EKS アドオンをデプロイする方法の詳細は「 ハイブリッドノードのアドオンを構成する 」をご覧ください。 aws eks create-addon --cluster-name hybrid-eks-cluster --addon-name kube-proxy aws eks create-addon --cluster-name hybrid-eks-cluster --addon-name coredns Bash AWS クラウドで少なくとも 1 つの CoreDNS レプリカを実行する場合は、CoreDNS が実行されている VPC およびノードへの DNS トラフィックを許可する必要があります。さらには、オンプレミスのリモート Pod CIDR へは、Amazon VPC のノードからルーティング可能でなければなりません。mixed モードの EKS クラスターの実行に関するガイダンスについては、 EKS Hybrid Nodes ユーザーガイド を参照してください。 オンプレミスのノードを Amazon EKS コントロールプレーンに EKS ハイブリッドノードとして登録できます。そのためには、 nodeadm という EKS Hybrid Nodes CLI をインストールします。nodeadm によって、マシンを EKS ワーカーノードに変換するために必要なコンポーネントをインストールできます。これらのコンポーネントには kubelet、containerd、 aws-iam-authenticator が含まれます。マシンに nodeadm をインストールしてノードをクラスタに接続するには、EKS Hybrid Nodes のドキュメント「 ハイブリッドノードを接続する 」にある手順に従ってください。 ハイブリッドノードでワークロードを実行する前に、互換性のある Container Network Interface (CNI)ドライバーをインストールしてください。EKS ハイブリッドノードで CNI を設定する手順は「 ハイブリッドノードの CNI を設定する 」を参照してください。 ノード登録時に、ハイブリッドノードが属するゾーンを指定するために、たとえば topology.kubernetes.io/zone のようなノードのラベルや Taints を追加するように kubelet の設定を変更できます。ワークロードのスケジューリングのために、接続されている GPU のさまざまな機能を表すラベルを追加することもできます。 GPU と非 GPU のキャパシティが混在する場合、GPU ノードに --register-with-taints=nvidia.com/gpu=Exists:NoSchedule という Taints を追加することをお勧めします。これにより、GPU ノード上に非 GPU ワークロード (CoreDNS など) がスケジュールされなくなります。 nodeadm を使用する場合の kubelet 構成の変更方法については、EKS Hybrid Nodes の ドキュメント をご確認ください。 以下の kubectl コマンドを実行して、ノードが接続され Ready 状態にあることを検証してください。 ハイブリッドノードが Ready になるには、CNI をインストールする必要があります。 ❯ kubectl get nodes -o wide -l eks.amazonaws.com/compute-type = hybrid NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME mi-1111111111111111 Ready < none > 5d v1.xx.x. 10.80 .146.76 < none > Ubuntu 22.04 .4 LTS 5.15 .0-131-generic containerd://1.7.12 mi-2222222222222222 Ready < none > 5d v1.xx.x. 10.80 .146.28 < none > Ubuntu 22.04 .4 LTS 5.15 .0-131-generic containerd://1.7.12 Bash Kubernetes 用 NVIDIA デバイスプラグインのインストール 本セクションでは、オンプレミスの EKS ハイブリッドノードに必要な NVIDIA ドライバーと NVIDIA Container Toolkit が設定されていることを前提としています。 Kubernetes デバイスプラグイン を使用すると、GPU などのシステムハードウェアを kubelet に通信できます。このウォークスルーでは NVIDIA GPU を使用するため、Kubernetes スケジューラーが GPU デバイスを公開できるように、NVIDIA デバイスプラグインをインストールする必要があります。NVIDIA ドライバと NVIDIA Container Toolkit がマシンイメージに含まれておらず、containerd が NVIDIA Container ランタイムを使用できるように設定されていない場合は、代わりに NVIDIA GPU Operator をデプロイできます。この Operator は、NVIDIA デバイスプラグインとともに、これらのコンポーネントを実行時にインストールします。 kubectl を使用して NVIDIAデバイスプラグインをインストールするには、まずデプロイメントマニフェストをダウンロードします。 https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.1/deployments/static/nvidia-device-plugin.yml Bash 最新バージョンについては、NVIDIA デバイスプラグインの GitHub リポジトリ を確認してください。 EKS Auto Mode では、NVIDIA デバイスプラグインをインストールする必要はありません。デバイスプラグインの DaemonSet は、GPU を搭載したハイブリッドノードでのみ実行する必要があります。ラベル eks.amazonaws.com/compute-type: hybrid を使用して、 .spec.template.spec.nodeSelector の一部として NVIDIA デバイスプラグインをハイブリッドノードを対象に更新するとともに、GPU ワーカーノードと非 GPU ワーカーノードの混在している場合は、必要に応じて追加のラベルを追加してください。 nodeSelector: eks.amazonaws.com/compute-type: hybrid Bash マニフェストを適用して NVIDIA デバイスプラグインをインストールします。 kubectl apply -f nvidia-device-plugin.yml Bash 以下のコマンドを使用して、NVIDIA デバイスプラグインの Pod が実行されていることを確認します。 kubectl get pods -n kube-system Bash NVIDIA デバイスプラグインの確認のため kube-system 内の Pod を一覧表示したとき、以下の出力が期待されます。DaemonSet は GPU を搭載したノード上でのみスケジュールされる必要があります。 NAMESPACE NAME READY STATUS kube-system nvidia-device-plugin-daemonset-mb8hw 1 /1 Running kube-system nvidia-device-plugin-daemonset-vtz8h 1 /1 Running Bash GPU ステータスが 割り当て可能なノード に表示されているかどうか検証することで、GPU が kubelet に公開されているかどうかを確認できます。 kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" -l eks.amazonaws.com/compute-type = hybrid Bash GPU が接続されたノードをリスト表示した場合に予想される割り当て可能なノードの出力以下に示します。 NAME GPU mi-11111111111111111 1 mi-22222222222222222 1 Bash EKS Hybrid Nodes 上での推論のために NVIDIA NIM をデプロイ NVIDIA NIM をデプロイする前に、 前提条件 としてコンテナレジストリと NVIDIA API キーを設定する必要があります。 NGC_API_KEY をご自身の API キーに置き換えてください。 kubectl create secret docker-registry nvcrio-cred --docker-server = nvcr.io --docker-username = '$oauthtoken' --docker-password = $NGC_API_KEY kubectl create secret generic ngc-api --from-literal = NGC_API_KEY = $NGC_API_KEY Bash 以下のコマンドを実行して NIM Helm チャートをクローンします。 git clone https://github.com/NVIDIA/nim-deploy.git cd nim-deploy/helm Bash Helm チャートのオーバーライドを作成します。nodeSelector でハイブリッドノードにデプロイするように設定します。 cat > nim.values.yaml << EOF image: repository: "nvcr.io/nim/mistralai/mistral-7b-instruct-v0.3" tag: latest model: ngcAPISecret: ngc-api nodeSelector: eks.amazonaws.com/compute-type: hybrid resources: limits: nvidia.com/gpu: 1 persistence: enabled: false imagePullSecrets: - name: nvcrio-cred tolerations: - key: "nvidia.com/gpu" operator: "Exists" effect: "NoSchedule" EOF Bash values.yaml ファイルのイメージリポジトリを変更することで、異なるモデルをデプロイできます。 helm install nim nim-llm/ -f ./nim.values.yaml Bash このデプロイではモデルキャッシュは使用されていません。スケーリングイベント中のアプリケーションの初期化を高速化するために、モデルキャッシュの使用を検討することをおすすめします。モデルキャッシュを実装するには、適切な CSI ドライバーの構成とストレージインフラストラクチャが必要になります。 サンプルプロンプトを使用したNIM のテスト NIM マイクロサービスをテストするには、NIM の Sercice への Kubernetes ポートフォワーディングを構成します。 kubectl port-forward service/nim-nim-llm 8000 :8000 Bash 以下の curl コマンドを実行し、出力を確認してください。 curl -X 'POST' \ "http://localhost:8000/v1/completions" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "model": "mistralai/mistral-7b-instruct-v0.3", "prompt": "What is a Kubernetes Pod", "max_tokens": 30 }' Bash 期待される応答は以下です。 { "id" : "cmpl-b50fb31c13e4420bac5243047ef5e404" , "object" : "text_completion" , "created" : 1741976435 , "model" : "mistralai/mistral-7b-instruct-v0.3" , "choices" : [ { "index" : 0 , "text" : "? \n \n A Kubernetes Pod is the smallest unit of computation in the Kubernetes API object model that represents a portion of a running application. Each" , "logprobs" : null, "finish_reason" : "length" , "stop_reason" : null, "prompt_logprobs" : null } ] , "usage" : { "prompt_tokens" : 7 , "total_tokens" : 37 , "completion_tokens" : 30 } } Bash EKS Hybrid Nodes へのモデルのデプロイが成功しました。 次に、同じ EKS クラスターで実行されている EKS Auto Mode のノードでモデルをデプロイします。 EKS Auto Mode へのデプロイ EKS ハイブリッドノードで実行する必要のないワークロードをデプロイできます。EKS Auto Mode の 組み込み NodePool には GPU ベースのインスタンスが設定されていないため、GPU を持つ NodePool を定義する必要があります。EKS Auto Mode は、NVIDIA GPU と Neuron デバイスとの 統合 を提供するので、ドライバやデバイスプラグインをインストールする必要がありません。 次のコマンドを実行して、 g6 インスタンスファミリーを使用した NodePool を作成します。 cat > nodepool-gpu.yaml << EOF apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: gpu spec: disruption: budgets: - nodes: 10% consolidateAfter: 1h consolidationPolicy: WhenEmpty template: metadata: {} spec: nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: default requirements: - key: "karpenter.sh/capacity-type" operator: In values: ["on-demand"] - key: "kubernetes.io/arch" operator: In values: ["amd64"] - key: "eks.amazonaws.com/instance-family" operator: In values: - g6 taints: - key: nvidia.com/gpu effect: NoSchedule terminationGracePeriod: 24h0m0s EOF kubectl apply -f nodepool-gpu.yaml Bash ワークロードに特定のネットワーク帯域幅やインスタンス GPU 要件がある場合は、 EKS Auto Mode でサポートされている他の Well-Known ラベル を設定することを検討してください。 以下のファイルを作成することで、EKS Auto Mode へのデプロイ用に NVIDIA NIM の値を更新します。 cat > nim.values.yaml << EOF image: repository: "nvcr.io/nim/mistralai/mistral-7b-instruct-v0.3" tag: latest model: ngcAPISecret: ngc-api nodeSelector: eks.amazonaws.com/compute-type: auto resources: limits: nvidia.com/gpu: 1 persistence: enabled: false imagePullSecrets: - name: nvcrio-cred tolerations: - key: nvidia.com/gpu effect: NoSchedule operator: Exists EOF Bash 以下のコマンドを実行して、NIM Helm リリースを新しいバージョンにアップグレードします。 helm upgrade nim nim-llm/ -f ./nim.values.yaml Bash NodeClaims をリスト表示して、EKS Auto Mode が NVIDIA NIM を提供するために g6.xlarge をそのリージョンに起動したことを確認します。 > kubectl get nodeclaims NAME TYPE CAPACITY ZONE NODE READY gpu-wq9qr g6.xlarge on-demand us-west-2b i-33333333333333333 True Bash テストするには、前のステップを繰り返し、サンプルのプロンプトで NIM をテストします。 クリーンアップ 本記事で作成したすべての AWS リソースをクリーンアップして長期的なコストを発生させないようにするには、以下のコマンドを実行してください。 helm delete nim kubectl delete -f nodepool-gpu.yaml kubectl delete -f nvidia-device-plugin.yml eksctl delete cluster -f cluster-configuration.yaml Bash 前提条件の一部として作成したその他のリソースが不要になった場合は、それらについてもクリーンアップしてください。 結論 本記事では、Amazon EKS Hybrid Nodes が AI ワークロードを実行する方法の例を紹介しました。Amazon EKS Hybrid Nodes は Kubernetes フットプリントを Amazon EKS に統合し、Kubernetes コントロールプレーンの管理の必要性をなくし、運用オーバーヘッドを削減します。 EKS Hybrid Nodes の詳細と使用方法については、 EKS Hybrid Nodes ユーザーガイド を参照してください。また、ハイブリッドノードの仕組み、機能、ベストプラクティスについて説明している re:Invent 2024 のセッション (KUB205) もご覧ください。Amazon EKS での AI/ML ワークロードの実行に関するその他のガイダンスは、 Data on EKS プロジェクト も参考にできます。 翻訳はソリューションアーキテクトの後藤が担当しました。原文は こちら です。
3 月 31 日、すべての商用リージョンと AWS GovCloud (米国) リージョンのすべてのエンドポイントタイプ、カスタムドメイン、管理 API で、 Amazon API Gateway の IPv6 サポートを開始しました。REST、HTTP、WebSocket API、カスタムドメインを設定して、既存の IPv4 サポートに加えて IPv6 クライアントからの呼び出しを受け入れることができるようになりました。デュアルスタック (IPv6 と IPv4) クライアントから API Gateway 管理 API を呼び出すこともできます。世界中の組織が IPv4 アドレスの不足とコスト増加に直面する中、IPv6 の実装は、将来を見据えたネットワークインフラストラクチャの構築において必要不可欠になっています。このデュアルスタックのアプローチは、組織が将来的なネットワーク互換性を維持し、グローバルなリーチを拡大するのに役立ちます。 Amazon Web Services (AWS) 環境のデュアルスタックの詳細については、 IPv6 on AWS のドキュメントをご覧ください。 新しいデュアルスタックリソースの作成 この投稿では、デュアルスタック IP アドレスタイプを使用して API またはドメイン名を作成する方法として、 AWS マネジメントコンソール と AWS Cloud Development Kit (CDK) という 2 つの方法に焦点を当てています。 AWS コンソール コンソールで新しい API またはドメイン名を作成する場合、IP アドレスタイプとして [IPv4 のみ] または [デュアルスタック (IPv4 と IPv6)] を選択します。 次の図に示すように、新しい REST API を作成するときにデュアルスタックオプションを選択できます。 カスタムドメイン名についても、次の図に示すように、同様にデュアルスタックを設定できます。 何らかの理由で IPv4 のみに戻す必要がある場合は、IP アドレスタイプ設定を変更できます。更新を有効にするために API を再デプロイする必要はありません。 すべてのエンドポイントタイプ (EDGE、REGIONAL、PRIVATE) の REST API がデュアルスタックをサポートします。プライベート REST API はデュアルスタック設定のみをサポートします。 AWS CDK AWS CDK では、まずデュアルスタック REST API とドメイン名を設定します。 const api = new apigateway.RestApi(this, "Api", { restApiName: "MyDualStackAPI", endpointConfiguration: {ipAddressType: "dualstack"} }); const domain_name = new apigateway.DomainName(this, "DomainName", { regionalCertificateArn: 'arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab', domainName: 'dualstack.example.com', endpointConfiguration: { types: ['Regional'], ipAddressType: 'dualstack' }, securityPolicy: 'TLS_1_2' }); const basepathmapping = new apigateway.BasePathMapping(this, "BasePathMapping", { domainName: domain_name, restApi: api }); IPv6 ソース IP と認可 API が IPv6 トラフィックの受信を開始すると、クライアントソース IP は IPv6 形式になります。ソース IP アドレスを参照するリソースポリシー、Lambda オーソライザー、または AWS Identity and Access Management (IAM) ポリシーを使用する場合は、それらが IPv6 アドレス形式に対応するように更新されていることを確認してください。 例えば、リソースポリシーの特定の IPv6 範囲からのトラフィックを許可する場合などです。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:stage-name/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "2001:db8:1234::/48" ] } } } ] } まとめ API Gateway のデュアルスタックサポートは、IPv4 アドレスの不足とコストの管理、政府や業界の指示への準拠、ネットワークの将来への準備に役立ちます。デュアルスタックの実装は、IPv4 クライアントと IPv6 クライアントの両方を同時にサポートすることにより、スムーズな移行パスを提供します。 API Gateway のデュアルスタックのサポートを開始するには、 Amazon API Gateway のドキュメントをご覧ください。新しい API 用にデュアルスタックを設定したり、最小限の設定変更で既存の API を更新したりできます。 – Betty 執筆プロセス中にリソースを提供し、質問に答え、貴重なフィードバックを提供してくれた Ellie Frank (elliesf)、Anjali Gola (anjaligl)、Pranika Kakkar (pranika) に特に感謝します。このブログ記事は、Service チームと Product Management チームの共同サポートによって実現しました。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載されているとおりにお客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません) 原文は こちら です。
AWS Summit のシーズンがやってきました! 現在、無料のイベントが世界中で開催されており、AWS のクラウドコンピューティングコミュニティが一堂に会してつながり、コラボレートし、学んでいます。オンライン参加か現地参加かにかかわらず、これらの会合は AWS の知識を深める貴重な機会を提供します。私は AWS Amsterdam Summit に参加するので、ぜひ皆さんにお会いしたいと思っています。参加される予定の場合は、声をかけに来てください! 今すぐ AWS Summit ウェブサイト にアクセスしてお住まいの地域のイベントを検索し、登録アラートにサインアップして、お近くの AWS Summit への参加を予約しましょう。 AWS のニュースと言えば、先週も新しい発表がありました。ではそれらを見ていきましょう。 3 月 24 日週のリリース 私が注目したリリースはこちらです。 AWS Amplify ホスティングとの AWS WAF 統合の一般提供開始 – Amplify コンソールでのワンクリック統合、または Infrastructure as Code (IaC) を使用して、 AWS Amplify アプリケーションに AWS WAF を直接アタッチできるようになりました。この統合は、SQL インジェクションやクロスサイトスクリプティング (XSS) といった一般的なウェブエクスプロイトを防ぐマネージドルールなど、AWS WAF のすべての機能へのアクセスを提供します。アプリケーションのニーズに基づいたカスタムルールを作成する、IP アドレスからのリクエストレートを制限することで分散型サービス拒否 (DDoS) 攻撃を防ぐレートベースのルールを実装する、そして特定の国からのアクセスを制限するためのジオブロッキングを設定することも可能です。ファイアウォールサポートは、Amplify ホスティングが稼働しているすべての AWS リージョン でご利用いただけます。 Amazon Bedrock のカスタムモデルインポートがリアルタイムのコスト透明性を導入 – Amazon Bedrock のカスタムモデルインポート を使用してカスタマイズされた 基盤モデル (FM) を実行している場合は、コンピューティングリソースに対する完全な透明性を実現し、推論コストをリアルタイムで計算できるようになります。モデルを呼び出す前に、 Amazon Bedrock コンソールと Amazon Bedrock API の両方を使用して、必要最小限のコンピューティングリソース (カスタムモデルユニット、つまり CMU) を確認できます。トラフィックの増加に対処するためにモデルがスケールするときは、使用された CMU の合計数を Amazon CloudWatch メトリクスでリアルタイムに把握できるため、ほぼ瞬時の可視化によるコストコントロールの改善が可能になります。これは、モデル構成をその場で変更してコストを最適化するために役立ちます。この機能は、Amazon Bedrock のカスタムモデルインポートがサポートされているすべてのリージョンでご利用いただけます。詳細については、Amazon Bedrock ユーザーガイドの「 Calculate the cost of running a custom model 」を参照してください。 Amazon Bedrock ナレッジベースがベクトルストレージ用の Amazon OpenSearch マネージドクラスターのサポートを開始 – Amazon Bedrock ナレッジベース は、 検索拡張生成 (RAG) 用の企業データソースに FM をセキュアに接続することで、関連性と正確性の高い応答を提供します。今回のリリースにより、Amazon Bedrock ナレッジベースの全機能を使用しながら、 Amazon OpenSearch マネージドクラスター をベクトルデータベースとして使用できるようになります。この統合により、既に Amazon OpenSearch Serverless 、 Amazon Aurora 、 Amazon Neptune Analytics 、Pinecone、MongoDB Atlas、および Redis が含まれるサポート対象ベクトルデータベースのリストがさらに拡大されます。ベクトルデータベースとのネイティブな統合は、カスタムデータソース統合を構築する必要性の軽減に役立ちます。この機能は、Amazon Bedrock ナレッジベースと OpenSearch サービスのすべての既存リージョンで一般提供されます。 Amazon Bedrock ガードレールが業界トップクラスの画像コンテンツフィルターの一般提供を発表 – この新機能は、業界トップクラスのテキストおよび画像コンテンツセーフガードを提供する機能で、カスタムセーフガードを構築したり、エラーが発生しやすい手動によるコンテンツ管理に頼ったりすることなく、有害なマルチモーダルコンテンツを最大 88% ブロックするために役立ちます。画像コンテンツフィルターは、コンテンツフィルターポリシー内のすべてのカテゴリー (憎悪、侮辱、性的、暴力、不正行為、プロンプト攻撃など) 全体に適用できます。 Amazon Bedrock ガードレール は、有害なコンテンツやプロンプト攻撃の検出とブロック、特定のトピックを拒否して禁止するためのトピックの定義、個人データなどの個人を特定できる情報 (PII) の削除、特定の単語のブロックを実行するための設定可能なセーフガードを提供します。また、自動推論チェックを使用することで、モデルハルシネーションを検出してブロックし、モデルの応答や主張の関連性を特定して、モデルの応答に含まれる事実に基づく主張を識別、修正、説明するためのコンテキストグラウンディングチェックも提供します。この機能は、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (フランクフルト)、およびアジアパシフィック (東京) の各リージョンで一般提供されます。詳細については、AWS 機械学習ブログの「 Amazon Bedrock Guardrails image content filters provide industry-leading safeguards 」、および Amazon Bedrock ユーザーガイドの「 Stop harmful content in models using Amazon Bedrock Guardrails 」を参照してください。 Amazon Q in QuickSight のシナリオ機能の一般提供開始 – 隠れた傾向を明らかにすることでデータ分析をガイドするこの機能は、自然言語でのやり取りを通じてビジネスに関する推奨事項を提供し、より詳しく調査するための次のステップをインテリジェントに提案します。この機能を使用することで、専門的なスキルやアナリストのサポート、またはスプレッドシート内のデータの手動での操作を必要とすることなく、過去の傾向の調査、将来のシナリオの予測、ソリューションのモデル化を実行できるようになります。直感的なインターフェイスとステップバイステップのガイダンスを提供する Amazon Q in QuickSight のシナリオ機能は、複雑なデータ分析をスプレッドシートよりも最大 10 倍速く実行できるようにします。行っているのがマーケティング予算の最適化、サプライチェーンの合理化、または投資の分析であるかにかかわらず、Amazon Q は高度なデータ分析を実行しやすくすることで、組織全体でのデータ主導の意思決定を可能にします。この機能はどの Amazon QuickSight ダッシュボードからでもアクセスできるため、データの視覚化から what-if 質問や代替案の比較へとシームレスに移行できます。以前に行った分析の変更、拡張、再利用も簡単に実行できるため、変化するビジネスニーズへの迅速な適応に役立ちます。 AWS からの発表の完全なリストについては、「AWS の最新情報」ページをご覧ください。 追加のリージョンで既存のサービスとインスタンスタイプの提供を開始しました。 アジアパシフィック (ムンバイ) および欧州 (パリ) AWS リージョンで Amazon DataZone の提供を開始 – Amazon DataZone は、組織内のデータプロデューサーとコンシューマー間でデータをカタログ化、検出、分析、共有、制御するための、完全マネージド型のデータ管理サービスです。 アジアパシフィック (ムンバイ) および欧州 (パリ) AWS リージョンで次世代 Amazon SageMaker の提供を開始 – Amazon SageMaker は、あらゆるデータ、分析、AI のための拠点です。SageMaker Unified Studio は、AWS の分析ツールと AI/ML ツールを統合する単一の開発環境を提供します。 メキシコ (中部) およびアジアパシフィック (タイ) AWS リージョンで Amazon Redshift Query Editor V2 の提供を開始 – Amazon Redshift Query Editor V2 は、データアナリスト、データサイエンティスト、データベース開発者などの SQL ユーザー向けのウェブベースのツールを使用して、 Amazon Redshift データウェアハウスとデータレイク内のデータへのアクセス性を向上させます。 Amazon Keyspaces がすべての AWS リージョンをサポートするためにマルチリージョンレプリケーションを拡張 – Amazon Keyspaces (Apache Cassandra 向け) は拡張性と可用性に優れたマネージド型の Cassandra 互換データベースで、既存のアプリケーションコードと開発者ツールを使用した AWS での Cassandra ワークロードの実行に役立ちます。 アジアパシフィック (タイ) およびメキシコ (中部) AWS リージョンで AWS Network Firewall の提供を開始 – AWS Network Firewall は、トラフィックに合わせて自動的にスケールするマネージド型ファイアウォールサービスで、インフラストラクチャのメンテナンスを一切必要とせず、複数の AWS アカウント全体での一元化されたポリシーコントロールのために AWS Firewall Manager と統合します。 イスラエル (テルアビブ) およびアジアパシフィック (香港) AWS リージョンで Amazon CloudWatch RUM の一般提供を開始 – CloudWatch RUM は、クライアント側のパフォーマンスデータをリアルタイムで収集し、エンドユーザーエクスペリエンスメトリクス (異なるジオロケーション、ブラウザ、デバイス全体でのページ読み込み異常、コアウェブバイタル、エラーなど) を表示するダッシュボードを提供することで、ウェブアプリケーションを監視します。 アジアパシフィック (タイ) およびメキシコ (中部) AWS リージョンで Amazon VPC IP Address Manager の提供を開始 – AWS ワークロードの IP アドレスを簡単に計画、追跡、監視できるようにする Amazon Virtual Private Cloud (Amazon VPC) IP Address Manager (Amazon VPC IPAM) は、ルーティングとセキュリティのニーズに基づいたアドレスの分類や、IP アドレスの割り当てを規定するシンプルなビジネスルールの設定に役立ちます。 アジアパシフィック (シドニー) AWS リージョンで Amazon Q Business の提供を開始 – Amazon Q Business は、情報を探し出し、インサイトを獲得して、職場でアクションの実行するための、最も高度な能力を備えた生成 AI 駆動のアシスタントで、エンタープライズシステム内のデータと情報に基づいて質問に答え、要約を提供し、コンテンツを生成して、タスクをセキュアに完了することができます。 米国東部 (バージニア北部) とアジアパシフィック (ジャカルタ) AWS リージョンで Amazon EC2 P5en インスタンスの提供を開始 – P5en インスタンスには、メモリサイズが 1.7 倍の H200 GPU が 8 個搭載されており、第 4 世代 Intel Xeon プロセッサと Gen5 PCIe との組み合わせで 4 倍の CPU-GPU 帯域幅を実現します。これは、深層学習、生成 AI、リアルタイムのデータ処理、ハイパフォーマンスコンピューティング (HPC) などの用途における分散型トレーニングワークロードの集団通信パフォーマンスの向上に役立ちます。 米国西部 (北カリフォルニア) AWS リージョンで Amazon EC2 R8g インスタンスの提供を開始 – より大きなインスタンスサイズを提供するこれらのインスタンスは、AWS Graviton3 ベースの R7g インスタンスよりも最大 3 倍多い vCPU (最大 48xlarge) とメモリ (最大 1.5 TB) を備えています。Graviton3 ベースの R7g インスタンスと比較した場合、これらのインスタンスはウェブアプリケーションで最大 30%、データベースで最大 40%、大規模な Java アプリケーションで最大 45% 高速になります。 アジアパシフィック (東京) AWS リージョンで Amazon EC2 C8g インスタンスの提供を開始 – これらのインスタンスは、Graviton3 ベースの Amazon C7g インスタンスよりも最大 3 倍多い vCPU とメモリを使用する、より大きなインスタンスサイズを提供します。AWS Graviton3 プロセッサと比較した場合、AWS Graviton4 プロセッサは、データベースで最大 40%、ウェブアプリケーションで最大 30%、大規模な Java アプリケーションで最大 45% 高速になります。 メキシコ (中部) および アジアパシフィック (タイ) AWS リージョンで Amazon SageMaker AI の提供を開始 – Amazon SageMaker AI は、より迅速に機械学習 (ML) モデルを構築、トレーニング、デプロイする能力をすべての開発者とデータサイエンティストに提供する、完全マネージド型のプラットフォームです。 Amazon ElastiCache がアジアパシフィック (ジャカルタ) およびアジアパシフィック (ハイデラバード) AWS リージョンで AWS PrivateLink のサポートを開始 – AWS PrivateLink は、トラフィックをパブリックインターネットに公開したり、ネットワークトラフィックをセキュア化したりすることなく、VPC、AWS サービス、およびオンプレミスネットワーク間のプライベート接続を提供します。 Amazon ElastiCache で AWS PrivateLink を使用するには、 Amazon VPC コンソール 、 AWS SDK 、または AWS コマンドラインインターフェイス (AWS CLI) を使用して、VPC 内にある Amazon ElastiCache 用の インターフェイス VPC エンドポイント を作成します。 その他の AWS イベント カレンダーを確認して、近日開催予定の AWS イベントにサインアップしましょう。 コラボレーションスペースであり、没入型エクスペリエンスでもある AWS GenAI Lofts は、クラウドコンピューティングと AI に関する AWS の専門知識を紹介し、AI 製品やサービスを実際に使用する機会、業界リーダーとの独占セッション、投資家や同業他社との貴重なネットワーキングする機会をスタートアップや開発者に提供します。 お近くの GenAI Loft 開催地を見つけて 、忘れずに登録しましょう。 近日中に開催されるすべての AWS 主催の対面およびバーチャルイベント は、こちらで閲覧できます。 3 月 31 日週のニュースは以上です。4 月 7 日週の Weekly Roundup もお楽しみに! — Esra この記事は、 Weekly Roundup シリーズの一部です。毎週、AWS からの興味深いニュースや発表を簡単にまとめてお知らせします! ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載されているとおりにお客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません) 原文は こちら です。
(本記事は 2024/11/03に投稿された Pre-warming Amazon DynamoDB tables with warm throughput を翻訳した記事です。翻訳は SA の嶋田朱里が担当しました。) Amazon DynamoDB は需要に応じて自動的にスケーリングできることで有名な NoSQL データベースです。しかし、ユースケースによっては、テーブルを作成した瞬間から大量のトラフィックを処理する必要がある、または今後のイベントに備えて突発的なトラフィックの増加に対応する必要がある場合があります。このような場合に対応するために、新機能として ウォームスループット が導入されました。この機能により、DynamoDB テーブルとインデックスが即座にサポート可能なスループットを把握し、パフォーマンスを最適化するための事前ウォーミングを行うことが可能になります。 この記事では、ウォームスループットについて、その仕組みを説明し、高トラフィックシナリオを処理する際のメリットを紹介します。また、この機能を DynamoDB テーブルとインデックスで最大限活用するためのベストプラクティスと実践的なユースケースについても説明します。 DynamoDB のキャパシティモード ウォームスループットについて説明する前に、 DynamoDB のキャパシティモードとスループットについて復習しましょう。 プロビジョンドキャパシティモードでは、予測可能なワークロードに対して、特定のスループットを設定できます。一方、オンデマンドモードは需要に合わせて自動的にスケーリングするため、予測不可能なワークロードに適しています。スループットは、Read Capacity Unit (RCU) と Write Capacity Unit (WCU) で測定されます。RCU は 1 秒あたり 4 KB の読み取りを、WCU は 1 秒あたり 1 KB の書き込みを可能にします。 詳細については、開発者ガイドの DynamoDB スループットキャパシティ を参照してください。 ウォームスループットとは ウォームスループットは、テーブルまたはインデックスがすぐにサポートできる読み取りおよび書き込み操作について、インサイトを提供します。これらの値は使用量が増加するにつれて大きくなります。また、より高いウォームスループット値を積極的に設定することで、テーブルまたはインデックスをあらかじめ事前ウォーミングすることもできます。この方法は、商品の発売、フラッシュセール、大規模なオンラインイベントなど、瞬間的なトラフィックの急増が予想されるシナリオで特に有益です。次のビデオでは、ウォームスループットを使用して、テーブルとインデックスをあらかじめ事前ウォーミングしておくことで、商品の発売やフラッシュセールなどの重要なイベント中に生じる、大量のトラフィックの急増を効果的に処理し、レイテンシーの削減とアプリケーションの応答性向上を実現する方法を紹介しています。 ウォームスループットの理解 ウォームスループット値は、DynamoDB テーブルのスループットキャパシティの最大値を示すものではありません。むしろ、テーブルが即座に処理できる最小スループットを表しています。テーブルをあらかじめ事前ウォーミングすることで、テーブルが即座にサポートできる読み取りと書き込みの数を設定し、特定レベルのトラフィックに処理開始時から対応できるようにします。 テーブルの事前ウォーミングは非同期で行われ、他の操作を妨げることはありません。そのため、事前ウォーミング処理と同時に、他のテーブルへの更新を実行することができます。この柔軟性により、アクティブな事前ウォーミング操作中でも、更新された値を含む新しいリクエストを送信することで、いつでも簡単にウォームスループット値を調整できます。事前ウォーミング処理の完了に要する時間は、要求されたウォームスループット値とテーブルまたはインデックスのストレージサイズによって異なります。 DynamoDB のスケーリング機能は最初の事前ウォーミングだけでなく、アプリケーションの成長に合わせて動的に調整されます。時間の経過とともにワークロードが増加すると、DynamoDB は自動的にウォームスループット値を高めて、より多くのトラフィックに対応できるようになり、手動の介入なしに一貫したパフォーマンスを確保できるようになります。 例えば 1 秒あたり 10 万件の書き込みリクエストに対応するようにテーブルを事前ウォーミングした場合、そのテーブルはすぐにそのトラフィックを処理できるようになります。例えばアプリケーションのトラフィックが増加し、1 秒あたり 15 万件の書き込みリクエストに達した場合、DynamoDB はこの追加の負荷に対応するために自動的にスケーリングを行います。アプリケーションの成長ニーズに応じて、シームレスにテーブルを対応できるようにします。ウォームスループット値はテーブルの現在のキャパシティとパフォーマンス能力を正確に反映するように調整されます。 ウォームスループット値を追跡し、時間の経過とともにどのように変化するかを確認するには、 DescribeTable API を使用します。この API は、テーブルとグローバルセカンダリインデックスの両方について、現在のウォームスループット値に関する詳細情報を提供します。そのため、トラフィックパターンと将来の要件に基づいた積極的な調整に役立てることができます。 事前ウォーミングの一般的なユースケース DynamoDB テーブルの事前ウォーミングが必要かどうかを判断する前に、アプリケーションが必要とするピークスループットを理解することが重要です。ピークスループットを見積もることで、予想される負荷を DynamoDB テーブルで処理できるように準備することができ、スロットリングやパフォーマンスの問題を回避できます。以下はアプリケーションのピークスループットを計算し、事前ウォーミングが必要かどうかを判断するためのガイドです。これらのステップはオンデマンドキャパシティモードとプロビジョンドキャパシティモードのどちらのテーブルにも適用されます。 Step1:ワークロードパターンの理解 ピークスループットを計算する最初のステップは、ワークロードのトラフィックパターンを明確に理解することです。以下を考慮してください: 操作の種類 : 主に読み取りリクエストと書き込みリクエストのどちらを処理しますか、それとも両方のリクエストを処理しますか? トラフィックの性質 : 予測可能なピーク時間帯 (例えば、日次や週次のパターン) はありますか、それとも不定期な急増 (例えば、フラッシュセール、商品の発売、主要なイベントなど) がありますか? Step2:秒間のピークリクエスト数の見積もり ワークロードを理解したら次のステップは、アプリケーションがピーク時に処理する必要がある 1 秒あたりの読み取りリクエストと書き込みリクエストの数を見積もることです。これには 2 つの方法があります。 過去のデータ : アプリケーションがすでに本番環境で稼働している場合は、トラフィックログやモニタリングデータを確認して、ピーク時の 1 秒あたりの最大読み取りリクエスト数と書き込みリクエスト数を特定します。これらの値をピークスループットの計算の基準として使用します。 予測 : 将来のイベントやリリースに備える場合は、想定されるトラフィックの増加を予想し、ピークスループットを見積もります。ユーザー数、ユーザーあたりの予想アクション数 (商品の閲覧回数や取引回数など)、ピーク時間の長さを考慮します。 Step3:読み取りと書き込みのキャパシティユニットの計算 リクエスト数の推定値を取得したら、DynamoDB テーブルに必要な読み取りリクエストユニット (RRU) と書き込みリクエストユニット (WRU) を計算できます。この例では、オンデマンドキャパシティモードの値を使用していますが、プロビジョンドキャパシティモードのテーブルでも同様のプロセスになります。 RRU : 強い整合性の読み取りの場合、 1つのアイテム (最大 4 KB) を読むために 1 RRU が消費されます。結果整合性の読み取りの場合、 1 つの RRU で 2 つの読み取りリクエスト (最大 4 KB) が可能です。RRU を計算するには: アイテムの平均サイズを KB で計算する アイテムの平均サイズを 4 で割る 1 秒あたりの読み取りリクエスト数を掛ける 結果整合性の読み取りか強い整合性の読み取りかに基づいて調整する 注: 小さいアイテムを扱う場合、強い整合性の読み取りリクエストでは 1 RRU、結果整合性の読み取りリクエストでは 0.5 RRU を消費する WRU : 1 つのアイテム (最大 1 KB) を書き込むために 1 つの WRU が消費されます。WRU を計算するには: アイテムの平均サイズを KB で計算する 1 秒あたりの書き込みリクエスト数を掛ける キャパシティユニットの詳細については、 開発者ガイド を参照してください。 Step4:変動性を考慮する 大抵の場合、トラフィックは一定ではないため、最初の見積もりを超えるトラフィックの急増に備えることも重要です。予期しないスパイクに対応できるよう、ピークスループットの計算にはバッファを追加することを検討してください。 例えばピーク時に 80,000 WRU/秒と見積もった場合、需要の急増に対応するために 100,000 WRU/秒で事前ウォーミングを行うことを検討してください。ただし、余裕を持って事前ウォーミングを行うと、追加コストが発生する可能性があります。 Step5:事前ウォーミングの必要性の判断 ピーク時の RRU と WRU を計算したら、これらの値をテーブルの現在のウォームスループット値と比較します。計算されたピークスループットが現在のウォームスループット値を大幅に上回る場合、または即時のトラフィックの急増 (商品の発売時やフラッシュセールなど) が予想される場合は、事前ウォーミングをお勧めします。これにより、テーブルがピークトラフィックに対応でき、パーティションの容量制限を超えた場合に発生する可能性のあるスロットリングを回避できます。システムが需要を満たすために対応する過程で、スロットリングやパーティション分割が発生すると、クライアントのレイテンシーが上昇することがあります。 ユースケース例 ウォームスループットの概念を紹介したので、次にこの機能が特に有益となる実際のユースケースを見ていきましょう。 高トラフィックに備えた新しいオンデマンドテーブルの準備 新しい DynamoDB オンデマンドテーブルは、初期のウォームスループットとして、毎秒 4,000 件の書き込みリクエストと 12,000 件の読み取りリクエストで開始します。新しいアプリケーションの起動時など、トラフィックが突然増加した場合、増加する需要を満たすために、DynamoDB は容量を徐々に拡張します。ただし、テーブルの書き込み要求が瞬時に 1 秒あたり 4,000 件を超えた場合、スケーリング処理中に一部のリクエストが スロットリング する可能性があります。このスロットリングにより、レイテンシーが増加したり、障害が発生したりして、ユーザー体験に影響が生じ、結果として収益が失われる可能性があります。 これらの問題を防ぐため、リリース時に高トラフィックが予想される場合は、テーブルを事前ウォーミングしておくことが推奨されます。事前ウォーミングにより、想定される負荷をテーブルが即座に処理できるようになり、スロットリングのリスクが低減します。DynamoDB のリアクティブなスケーリングするのを待つことなく、シームレスなユーザー体験を提供できます。 次のグラフは、新しいオンデマンドテーブルに対して実施された負荷テストを示しています。テーブルが予想以上のスループット(青線)に対応するためにスケールされるまで 、過剰なスロットリング(オレンジ線)が発生しました。 あらかじめ事前ウォーミングをすると、1 秒あたり 100,000 件の書き込みリクエストのベースラインを設定できます。DynamoDB はこのレベルのトラフィックを即座に処理できるようにテーブルをスケーリングするため、スケーリングの遅延がなくなり、スロットリングのリスクを軽減できます。 この事前準備により、ピーク時の需要でも顧客が迅速に取引を完了できるスムーズなユーザー体験を実現できます。リクエストの失敗、パフォーマンスの低下、スケーリングの遅延を心配する必要はなく、システムがイベントに備えられているという確信を得ることができます。 次のグラフは、前回と同じ負荷テストを実施したものですが、今回はテーブルを 100,000 WRU で事前ウォーミングしています。テーブルはすでにスケールアウトされ、スループットを処理する準備ができていたため、スロットリングは発生しませんでした。 大規模イベントへの準備 あなたは E コマース企業で、1 年の中で最もトラフィックが多いイベントの 1 つであるスーパーボウルの期間中に、フラッシュセールを準備しているとします。 すでに DynamoDB テーブルを用意しており、リクエストを処理できる状態にしていますが、予想されるトラフィックの急増を考えると、テーブルがその負荷に耐えられるかを確認することが重要です。推定に基づき、このイベントの最大トラフィックは 10% のバッファを含めて、100,000 件/秒の書き込みリクエストに達する可能性があると計算しました。 準備として、まず上記のように予想される負荷を計算し、現在のテーブルのウォームスループット値と比較します。推定されるピーク値が既存のウォームスループット値を上回る場合は、テーブルの事前ウォーミングが推奨されます。これにより、テーブルがトラフィックを即座に処理できるよう準備され、このような需要の高いイベント中にスロットリングや遅延が発生するリスクを軽減できます。 DynamoDB への移行の準備 既存のアプリケーションを DynamoDB に移行する際、移行開始時からテーブルが予想されるトラフィックに対応できるよう準備しておくことが、スムーズな移行のために重要です。従来のリレーショナルデータベースや他の NoSQL ソリューションから移行する場合、抽出、変換、ロード (ETL) ジョブが DynamoDB に書き込む際に、大量のデータとトラフィックの急増に対処する必要があります。 必要なキャパシティを DynamoDB テーブルにあらかじめ事前ウォーミングしておくことで、すぐに予想されるトラフィックを処理できるようになり、移行時に発生するかもしれない読み取りおよび書き込みリクエストの急増にもすぐに対応できるようになります。特にダウンタイムやパフォーマンス低下への余裕がほとんどない場合には、事前ウォーミングによって移行に伴う不確実性を排除できます。データを移行する際、DynamoDB は予想されるスループットのレベルまでスケーリングできるため、アプリケーションは高トラフィックを即座に処理することができます。 高トラフィックの E コマースプラットフォームや重要なエンタープライズワークロードを移行する場合でも、テーブルのウォームスループットの値を増やしておくことで、アプリケーションに必要なパフォーマンスのベースラインが保証され、ユーザがシステムとやり取りを開始する際の潜在的なスロットリングや遅延の問題を回避することができます。ウォームスループットのメリットとユースケースについて説明したので、続いて設定方法を説明します。 ウォームスループットの設定方法 AWS マネジメントコンソール、 AWS Command Line Interface (AWS CLI)、または Software Development Kit を利用することで、事前に大量のトラフィックに備えるための設定を行うことができます。 AWS マネジメントコンソールを使用した、ウォームスループット値の設定 DynamoDB コンソールに移動し、 Create table を選択します。 テーブルの主キー属性を指定します。 Table settings の下で、 Customize settings を選択します。 Read/write capacity settings で、 On-demand を選択します。 Warm Throughput に予想される最大の読み取りリクエスト数と書き込みリクエスト数を入力します。 テーブル作成を完了させます。 既存のテーブルまたはインデックスにウォームスループット値を適用する方法については、 開発者ガイド を参照してください。 AWS Command Line Interface (AWS CLI) を使用した、ウォームスループット値の設定 aws dynamodb create-table \ --table-name FlashSaleTable \ --attribute-definitions AttributeName=ProductID,AttributeType=S \ --key-schema AttributeName=ProductID,KeyType=HASH \ --billing-mode PAY_PER_REQUEST \ --warm-throughput ReadUnitsPerSecond=50000,WriteUnitsPerSecond=100000 ... "WarmThroughput": { "ReadUnitsPerSecond": 50000, "WriteUnitsPerSecond": 100000, "Status": "UPDATING" }, ... ベストプラクティス 事前ウォーミングのベストプラクティスは次のとおりです。 正確に見積もる : 過去のトラフィックパターンを分析したり、予測ツールを使用したりして、ピークスループットを正確に見積もります。 重要なテーブルに適用する : 注目度が高く、即時のトラフィックスパイクが予想されるイベントやアプリケーションをサポートするテーブルに焦点を当てます。 必要に応じて調整する : ワークロードの要件に対する理解を深めながら、テーブルの事前ウォーミングを調整します。 ウォームスループット値の監視 DynamoDB テーブルの現在の機能を理解し管理することは、大規模なイベントの前に特に重要です。DescribeTable API を使用すると、オンデマンドモードとプロビジョンドモードのすべてのテーブルで、ウォームスループットの値を監視できます。この呼び出しにより、現在のテーブルのウォームスループット値が提供されるため、大きなトラフィックイベントの前にすべてが適切に設定されているかを確認できます。 aws dynamodb describe-table --table-name FlashSaleTable ... "WarmThroughput": { "ReadUnitsPerSecond": 50000, "WriteUnitsPerSecond": 100000, "Status": "ACTIVE" }, ... これらの設定を定期的に確認することで、大規模な処理に対して自信を持って備えることができ、DynamoDB テーブルは常に最高のパフォーマンスを発揮できるようになります。 ウォームスループットの互換性 ウォームスループットは、グローバルセカンダリインデックスやグローバルテーブルなどの DynamoDB の重要な機能と完全に統合されており、システム全体で一貫したパフォーマンスを確保するのに役立ちます。 セカンダリインデックス グローバルセカンダリインデックス (GSI) の場合、ウォームスループットの値を個別に指定できるため、ワークロードの要件に合わせてパフォーマンスを細かく調整できます。ベーステーブルから GSI への書き込みレプリケーションでボトルネックを回避するには、GSI の WriteUnitsPerSecond をベーステーブルと同等以上の値に設定することをお勧めします。ただし、インデックスのパーティションキーまたはソートキーのいずれか、あるいは両方を頻繁に更新する場合は、書き込み競合を防いで最適なパフォーマンスを実現するために、 WriteUnitsPerSecond をベーステーブルの値の 1.5 倍に増やすことをお勧めします。 次のコード例は、GSI に事前ウォーミングを設定する方法を示しています。 aws dynamodb update-table \ --table-name FlashSaleTable \ --attribute-definitions AttributeName=GSI1PK,AttributeType=S \ --global-secondary-index-updates '[ { "Create": { "WarmThroughput": { "ReadUnitsPerSecond": "12000", "WriteUnitsPerSecond": "100000", }, "IndexName": "GSI1", "KeySchema": [ { "AttributeName": "GSI1PK", "KeyType": "HASH" } ], "Projection": { "ProjectionType": "ALL" }, } } ]' グローバルセカンダリインデックスを更新する手順については 開発者ガイド を参照してください。 DynamoDB グローバルテーブル ウォームスループットは DynamoDB Global Tables v2019.11.21 (現行) と完全に互換性があり、一貫したパフォーマンスでグローバルワークロードを効率的に管理できます。レプリカがあるすべての AWS リージョンでテーブルを事前ウォーミングできます。そのため、ユーザーの地理的位置に関係なく、高トラフィックを同時に処理できるようになります。 デフォルトでは、ウォームスループット値を更新するリクエストは、読み取りと書き込みのどちらの操作においても、すべてのレプリカ間で自動的に同期されます。そのため、すべてのリージョンで一貫したパフォーマンスが実現されます。 Infrastructure as Code (IaC) ウォームスループットの主なメリットの 1 つとして AWS CloudFormation などのインフラストラクチャーコード (IaC) ツールとの統合があります。以前はオンデマンドの DynamoDB テーブルを事前ウォーミングするには、複数のステップが必要でした。テーブルをプロビジョンドモードに切り替え、手動でキャパシティを増やし、一定期間後にオンデマンドモードに戻す必要がありました。この方法で目的は達成できますが、複数回のデプロイと調整が必要でした。 ウォームスループットを使えば IaC を利用した DynamoDB テーブルの管理が大幅に簡単になります。テーブル作成時にウォームスループットの値を渡すことで、テーブルをあらかじめ事前ウォーミングできるようになりました。これにより手動の介入や複雑なワークフローが不要になり、IaC テンプレート内で直接、テーブルのパフォーマンスベースラインを定義できるようになります。 次の CloudFormation テンプレートは、オンデマンド ( PAY_PER_REQUEST ) モードで FlashSaleTable という名前の DynamoDB テーブルを定義しています。このテーブルには String 型の ProductID という主キーがあります。 WarmThroughput は、最初の ReadUnitsPerSecond を 50,000 RCU、 WriteUnitsPerSecond を 100,000 WCU に設定しています。 AWSTemplateFormatVersion: 2010-09-09 Resources: TestTableTemplate: Type: 'AWS::DynamoDB::Table' Properties: TableName: FlashSaleTable BillingMode: PAY_PER_REQUEST AttributeDefinitions: - AttributeName: ProductID AttributeType: S KeySchema: - AttributeName: ProductID KeyType: HASH WarmThroughput: - ReadUnitsPerSecond: 50000 WriteUnitsPerSecond: 100000 次のテンプレートでは、eu-west-1 と eu-west-2 リージョンにレプリケートされた、FlashSaleTable という名前の DynamoDB グローバルテーブルを作成します。単一リージョンの例と同様に、 WarmThroughput を 50,000 RCU、100,000 WCU に設定しています。 AWSTemplateFormatVersion: 2010-09-09 Resources: TestTableTemplateGlobal: Type: 'AWS::DynamoDB::GlobalTable' Properties: TableName: FlashSaleTable AttributeDefinitions: - AttributeName: ProductID AttributeType: S BillingMode: PAY_PER_REQUEST KeySchema: - AttributeName: ProductID KeyType: HASH WarmThroughput: ReadUnitsPerSecond: 50000 WriteUnitsPerSecond: 100000 Replicas: - Region: eu-west-1 - Region: eu-west-2 StreamSpecification: StreamViewType: NEW_AND_OLD_IMAGES ウォームスループットの料金 ウォームスループットの料金は、テーブルが配置されている特定のリージョンでプロビジョニングされた WCU と RCU のコストに基づきます。テーブルを事前ウォーミングする場合、コストは新しい値と現在のテーブルまたはインデックスがサポートしているウォームスループットの差に基づいた 1 回限りの料金として計算されます。 デフォルトでは、オンデマンドテーブルのウォームスループットのベースラインは 4,000 WCU と 12,000 RCU です。新しく作成したオンデマンドテーブルを事前ウォーミングする場合、指定した値とこれらのベースライン値の差分のみが課金されます。 例えば既存のテーブルを 40,000 WCU と 40,000 RCU で事前ウォーミングする場合、テーブルにすでに 10,000 WCU と 12,000 RCU が設定されていれば、追加で必要な 30,000 WCU と 28,000 RCU に対して 1 回限りの課金が発生します。事前ウォーミングでは、テーブルが現在使用しているテーブルクラスやキャパシティモードに関係なく、Standard テーブルクラスのプロビジョンドキャパシティが使用されます。 バージニアリージョン (us-east-1) のコストは次のとおりです。 - $0.00065 per WCU - $0.00013 per RCU 計算式: - 30,000 write units * $0.00065 = $19.50 - 28,000 read units * $0.00013 = $3.64 合計金額: $23.14 これにより、テーブルはスケーリングの遅延なしに即座に大量のトラフィックを処理できるようになります。また、課金は設定したキャパシティに対してにのみ生じます。コストを適切に管理するには、予想されるスループットの需要を正確に見積もり、それに応じてあらかじめ事前ウォーミングを実施することが重要です。詳細については、 DynamoDB 料金ガイド を参照してください。 まとめ ウォームスループットは DynamoDB テーブルを作成した瞬間から、または既存のテーブルに対して、高トラフィックに備えるために使用できる新機能です。新商品の発売やスーパーボウルなどの大規模なオンラインイベントに備える際、ウォームスループットは信頼性の高い、一貫したパフォーマンスを提供するテーブルの用意を確実に支援します。 ウォームスループットの詳細については Amazon DynamoDB 開発者ガイド を参照してください。 著者について Lee Hannigan は、アイルランドのドネゴールに拠点を置く Sr. DynamoDB Specialist Solutions Architect です。分散システムに関する豊富な専門知識を持ち、ビッグデータと分析技術の強固な基盤を備えています。Sr. DynamoDB Specialist Solutions Architect として、 DynamoDB の機能を活用したワークロードの設計、評価、最適化を支援することが得意です。
みなさん、こんにちは。ソリューションアーキテクトの杉山です。今週も 週刊AWS をお届けします。 4 月 3 日 (木) 14:00-16:00 に、 流通小売/消費財/EC 企業向けのオンラインセミナー を開催します。 リテールテック JAPAN は、開催 41 回目を迎える国内最大の流通業向け情報システム総合展示会(日本経済新聞社主催)です。こちらの展示会に AWS が 8 年ぶりに出展しました。オンラインセミナーでは、AWS ブースの展示テーマ、展示デモのバーチャル・ブースツアー、ミニシアターで行われたライトニングトークなど改めてご紹介します。ご登録の上、ぜひご視聴ください。 それでは、先週の主なアップデートについて振り返っていきましょう。 2025年3月24日週の主要なアップデート 3/24(月) Amazon Q in QuickSight のシナリオ機能が一般提供開始 Amazon Q in QuickSight のシナリオ機能が一般提供開始になりました。アシスタント生成 AI が搭載されたシナリオ機能では、自然言語でビジネス上の課題などを与えることで、それに対するデータ活用やインサイトなどを得ることが出来ます。例えば「売上を上げるための施策はどういったことが考えられますか?」といった抽象的なテキストを投げると、QuickSight で作成したダッシュボードを基に、地域別、製品カテゴリ別、ディスカウントの傾向分析などをアシスタント生成 AI が自動的に行ってくれ、インサイトを出してくれます。100 % 正しいものではないですが、気が付かなかったインサイトを発見することができ、その後のアクションのきっかけにしていただけると思います。手元で触った範囲ですが、「日本語で出力してください」とテキストで依頼すると、日本語で出力することを確認できました。リージョンは、バージニア北部、オレゴン、フランクフルト、アイルランドで利用可能です。 AWS Elemental MediaConnect が NDI® 出力のサポートを追加 AWS Elemental MediaConnect で、NDI® (Network Device Interface) の出力をサポートしました。NDI は高品質かつ低遅延のビデオ接続技術であり、ライブプロダクションアプリケーションで広く使用され、500 以上のハードウェア製品と 300 以上のソフトウェアアプリケーションでサポートされています。カメラなどのオンプレミスソースをクラウドでのライブプロダクションに接続するプロセスが、従量課金制の価格モデルを使用することで、より簡単に展開できます。 AWS DMS Schema Conversion が IBM Db2 for z/OS から Amazon RDS for Db2 の変換をサポート AWS DMS Schema Converison は、データベースの移行を行う際に、移行元のデータベースを自動的に評価し、移行先のデータベースサービスと互換性のある形式に変換して、移行に伴う負担を軽減できます。今回のアップデートで、IBM Db2 for z/OS から Amazon Relational Database Service (RDS) for Db2 への変換をサポートしました。ストアドプロシージャ、関数、ビューなどのデータベースオブジェクトを自動的に変換できます。特に、環境間の構文の違いや互換性の違いを解決でき、メインフレーム移行に便利に利用できます。 3/25(火) Amazon OpenSearch Service で OR2 と OM2 のインスタンスタイプをサポート Amazon OpenSearch Service で 2 つの新しいインスタンス、OR2 と OM2 をサポートしました。新世代の OpenSearch 最適化インスタンスは OR1 インスタンスと同じアーキテクチャを使用し、より良い価格性能を提供するものです。OR2 インスタンスは、以前の OR1 インスタンスと比較して最大 26% 高いインデックス作成スループットを提供し、R7g インスタンスと比較して 70% 向上しています。OM2 インスタンスは、内部ベンチマークにおいて OR1 インスタンスと比較して最大 15% 高いインデックス作成スループットを提供し、M7g インスタンスと比較して 66% 向上しています。 Amazon RDS for SQL Server が Teradata データベースへのリンクサーバをサポート Amazon RDS for SQL Server が、Teradata データベースへのリンクサーバをサポートするようになりました。リンクサーバは、外部のリモートデータベースサーバーからデータを読み取り、コマンドを実行できるようにする SQL Server の機能です。この発表により、RDS for SQL Server インスタンスを AWS 上または社内で実行されている Teradata データベースにリンクできるようになります。 3/26(水) AWS Amplify Hosting が AWS WAF の提供開始 AWS Amplify Hosting が AWS WAF の統合を提供開始しました。マネージドルールを使用して SQL インジェクションやクロスサイトスクリプティング (XSS) などの一般的な web 攻撃や脆弱性から保護することができます。さらに、特定のアプリケーションニーズに基づいてカスタムルールを作成したり、DDoS 攻撃から保護するためのレートベースのルールを実装したり、特定の国からのアクセスを制限するためのジオブロッキングを使用したりすることができます。この統合により、お客様は web アプリケーションのセキュリティを向上し、脅威からの保護をしやすくなります。 Amazon SageMaker HyperPod クラスターにおける Slurm のマルチヘッドノードをサポート Amazon SageMaker HyperPod クラスターで、マルチヘッドノードをサポートしました。これにより、大規模の生成 AI モデル開発ワークロードの障害耐性と可用性を向上させます。単一のヘッドノードがジョブスケジューリングとリソース割り当てを管理する場合、ヘッドノードの障害が生成 AI モデル開発の業務に影響を与えてしまいます。これに対応するため、HyperPod Slurm クラスター内に複数のヘッドノードを設定できるようになりました。プライマリヘッドノードに障害が発生した場合、Slurm は自動的にクラスター操作をバックアップノードに移行し、ダウンタイムを最小限に抑え、ワークロードの継続的な可用性を提供します。 AWS サンプルアプリケーションで Amazon S3 用 Storage Browser を素早くデプロイが可能に GitHub Repository で公開しているサンプルアプリケーションを利用 して、利用者が簡単に S3 に接続してファイルのアップロード、ダウンロード、管理を行うためのアプリケーションを簡単にデプロイできるようになりました。このサンプルアプリケーションには、Storage Browser for Amazon S3 が利用されています。Amplify Hosting または任意のホスティングプロバイダーでホストできます。 3/27(木) AWS CloudFormation が IaC ジェネレーターでターゲットリソーススキャンをサポート開始 IaC ジェネレーターはアップデート以前から存在していた機能で、AWS 上のリソースをスキャンし、IaC 対象リソースを選択することで、既存のリソースから CloudFormation テンプレートを生成できるものです。今回のアップデートで、リソーススキャンのステップで IaC ジェネレーターがスキャンする対象のリソースタイプを指定できるようになりました。デフォルトですべてのリソースをスキャンする代わりに、ワークロードに関連するリソースにのみを対象にすることで、スキャン時間の削減と、選択のしやすさが向上するメリットがあります。 Amazon EKS が、クラスターアップグレードの際にアップグレードインサイトチェックを適用 Amazon EKS で Kubernetes クラスターアップグレードの際に、互換性に影響を与える可能性のある問題が既に検出されている場合、誤ったクラスターアップグレードを防止する新しい仕組みを提供開始しました。この機能は EKS アップグレードインサイトを活用しており、非推奨の Kubernetes API 使用などの、Kubernetes バージョンアップグレードに影響を与える可能性のある問題を自動的にスキャンします。このアップデートにより、問題が発見されている場合、クラスターアップグレードを停止するようになります。また、アップグレード時にチェックを無効化するオーバーライドフラグも導入しました。 Amazon Bedrock Knowledge Bases がベクトルストレージに Amazon OpenSearch マネージドクラスターをサポート Amazon Bedrock Knowledge Bases で Amazon OpenSearch マネージドクラスターをベクトルストアとしてサポートしました。これまで、OpenSearch Serverless, Aurora, Neptune, Pinecone などをサポートしていたところに、新たに追加された形です。OpenSearch マネージドクラスターを利用することで、カスタムシノニムや カスタムプラグインを通じた日本語形態素解析器の Sudachi などが利用できるようになり、RAG における精度向上のメリットを得やすくなります。また、OpenSearch マネージドクラスターでは、考慮点は必要ですが、コスト効率の高い 1 台のインスタンス構成をご検討いただけます。 OR1/OR2 のインスタンス を利用した場合、EBS にデータを書き込む際に、Amazon S3 にデータが同期的にコピーされます。インスタンスに障害が発生した場合、Amazon S3 から自動的にデータの復旧を行う仕組みがあります。障害発生時にはアクセスができなくなりますが、一時的な停止を許容できるユースケースの場合はご検討いただけます。 3/28(金) Amazon EC2 C8g インスタンスが AWS アジアパシフィック (東京) で利用可能 EC2 で、C8g インスタンスが、新たに東京リージョンで利用可能になりました。AWS Graviton4 プロセッサを搭載し、AWS Graviton3 ベースのインスタンスと比較して最大 30% 優れたパフォーマンスを提供します。C8g インスタンスは、高性能コンピューティング (HPC)、バッチ処理、ゲーム、ビデオエンコーディング、科学的モデリング、分散分析、CPU ベースの機械学習 (ML) 推論、広告配信などの計算集約型ワークロード向けに構築されています。 Amazon EC2 が特定の宛先へのより多くの帯域幅とジャンボフレームをサポート Amazon EC2 でリージョン間 VPC ピアリングや、Direct Connect を利用する際に、EC2 インスタンス帯域幅を最大限利用できるようになりました。これまで、EC2 インスタンスからリージョン間または AWS Direct Connect に向けて通信する際に、32 以上の vCPU を持つインスタンスでは帯域幅制限の 50%、小規模なインスタンスでは 5 Gbps に制限されていました。このアップデートで、インスタンスのベースライン仕様の全帯域幅または 5Gbps のいずれか大きい方で帯域幅を送信できるようになりました。 それでは、また来週お会いしましょう! 著者について 杉山 卓(Suguru Sugiyama) / @sugimount AWS Japan のソリューションアーキテクトとして、幅広い業種のお客様を担当しています。最近は生成 AI をお客様のビジネスに活かすためにアイデア出しやデモンストレーションなどを多く行っています。好きなサービスは仮想サーバーを意識しないもの全般です。趣味はゲームや楽器演奏です
あなたや組織が生成 AI 技術を検討をしている最中であれば、これらの先進的なアプリケーションにどの程度の投資が必要か把握しておくことが重要です。運用効率の向上、生産性の向上、顧客満足度の向上など、生成 AI への投資によって期待される利益を目指す一方で、コスト最適化と効率向上を実現するための手段についても十分理解しておく必要があります。この刺激的な旅を案内するため、AI プラクティショナーや FinOps リーダーが AWS での生成 AI 導入に関連するコスト最適化の方法を理解するのに役立つ実践的なヒントを満載した一連のブログ記事を公開していく予定です。 AWS の生成 AI スタック全体にわたる柔軟な実装と価格オプション 生成 AI 技術を活用してビジネスアプリケーションを強化する際に、 AWS の生成 AI スタック 全体で幅広い実装オプションが見つかるでしょう。通常以下の 3 つの一般的な実装アプローチが採用されています。 高度な機械学習の専門知識を持ち、制御と柔軟性を最大限に必要とする組織では、AWS のインフラストラクチャーを使用してカスタムモデルのトレーニングとデプロイを行うことができます。 Amazon Elastic Compute Cloud (Amazon EC2) は最高レベルの制御を提供しますが、自分で機械学習インフラストラクチャーとフレームワークを管理する必要があります。一方、 Amazon SageMaker AI は、カスタムモデル開発の柔軟性を維持しながら、インフラストラクチャーの重い作業を処理するフルマネージドサービスを提供します。 SageMaker JumpStart は、完全なカスタム開発と事前トレーニング済みモデルの中間点となるような、ファインチューニングが可能な構築済みのソリューションとモデルを提供します。 機械学習への取り組みの初期段階にあり、カスタマイズと利便性のバランスを求めている組織は、 Amazon Bedrock を通じて Anthropic、AI21 Labs、Amazon、Meta、 Deepseek R1 などのプロバイダーが提供する主要な事前トレーニング済み AI モデルにアクセスできます。 最小限の設定で迅速に実装するには、AWS の生成 AI 搭載アシスタントである Amazon Q を使用してすぐに使えるアプリケーションをデプロイできます。これにより、組織データへのアクセスが容易になったり、コードを書いたり、コンテンツを生成したり、質問に答えたりすることができます。 それぞれの実装アプローチには、コスト最適化を目的とした柔軟な価格オプションが用意されています。AWS のインフラストラクチャーを活用してカスタムモデルのトレーニングとデプロイを行う場合、安定したワークロードには Compute Savings Plans と Machine Learning Savings plans を、フォールトトレラントなトレーニングタスクには スポットインスタンス を利用できます。Amazon Bedrock 経由でモデルにアクセスする場合、トークン単位の従量課金である オンデマンド料金設定 、プロビジョンドスループットによるキャパシティーの予約、もしくは一括処理用のバッチ推論のいずれかを選択できます。Amazon Q を使用して組織のソフトウェア開発とビジネスプロセスを変革する場合は、2 つのサブスクリプションモデル (Business Lite と Business Pro) を提供する Amazon Q Business 、もしくは無料利用枠と Pro の階層の両方を提供する Amazon Q Developer のいずれかを選択できます。 (画像内訳:私たちは、コストを最適化し、価値を最大化しながら、お客様が生成 AI の力を活用できるよう支援することに全力を注いでいます。生成 AI サービスの革新と拡大を続ける中で、これらのテクノロジーを効率的かつ費用対効果の高い方法で使用するための知識とツールをお客様に提供することにも同様に注力しています。私達が AI の取り組みを共同で加速するために、すべてのお客様とパートナーにこれらのコスト最適化手法を検討することをお勧めします。 Rahul Pathak、データ・AI事業開発担当副社長) 生成AI を成功させるためのクラウド財務管理戦略 多くの組織にとってパンデミックがクラウドアプリケーションのコストを再評価する重要な転換点であったとすれば、パンデミック後の回復期と生成 AI への関心の高まりが相まって、技術への投資を精査することが必要になるでしょう。組織で明確な クラウド財務管理(CFM) 戦略をまだ設定していない場合、今がクラウド投資を検討し、基本的な CFM を実践する時です。 事前の慎重な検討 :ビジネスのニーズを技術的な構成に変換して、生成 AI プロジェクトのコストを見積もります。 AWS Pricing Calculator を使用して、スタンドアロンプロジェクトのコストを見積もったり、生成 AI プロジェクトに関連するリソースの変更を既存のクラウドワークロードに追加/変更したり、請求全体をシミュレートしたりできます。Pricing Calculator の請求見積もり機能では、割引条件をより正確に考慮できます。実際の生成 AI アプリケーションに関しては、検索拡張生成(RAG)や Text-to-SQL クエリのような実証済みのパターンから始めることをお勧めします。通常これらのパターンはドキュメント化とコスト構造が確立されているため、コスト計画と管理が簡単になります。 継続的な監視 :コストや使用量が上限を超えた際に通知する AWS Budgets のアラートを使用し、個別の事業部門の予算上限を設定します。その月の総コストの予算を作成したり、サービス、タグやコストカテゴリなどのディメンションを使用して特定のサービスに関連するコストや使用量を追跡する予算を作成することもできます。 AWS Cost Anomaly Detection で検出された各コスト異常の根本原因分析に注意してください。AWS リージョン、アカウント、サービスや使用タイプを詳細に分析することで、潜在的なコスト超過の原因を迅速に特定して対処することができます。 全体像の把握 :生成 AI への投資を分析する際には、初期開発(例:データの準備、モデルの選定、カスタマイズ)、継続的な運用(例:コンピューティング、ストレージ、エネルギー)や管理費(例:教育、監視)を含む総所有コスト(TCO)を含める必要があります。AWS Cost Explorer と Data Exports を使用して、生成 AI プロジェクトで利用する AWS サービスで発生したコストと使用量を確認できます。ただし、他のすべての費用を追跡し続けることも同様に重要です。投資の全容が明らかになったら、これらの費用を責任部門に割り当てることをお勧めします。そうすることで、ユーザーは適切な可視性を得て、支出に対する説明責任を負うことができます。クラウドへの投資とビジネス成果(例:テキスト要約あたりのコスト、画像生成あたりのコスト)やパフォーマンスの境界(例:応答時間)と関連付ける KPI ターゲットは、投資効果を評価し適切な行動を促すための優れた方法です。 知識を深めて実践に活かす :クラウドの俊敏性とスケーラビリティを活用して生成 AI アプリケーションを開発および拡張し、利用可能なすべてのディスカウントにより購入オプションを戦略化します。生成 AI ワークロードは GPU ベースのインスタンスの恩恵を受けることができます。 AWS Compute Optimizer は、GPU 使用率を含む複数のメトリクスをモニタリングし適切なサイズに関する推奨事項を提示します。Compute Optimizer が GPU メトリクスを収集するために、NVIDIA ドライバーと Amazon CloudWatch エージェントをインストールする必要があります。詳細は、 NVIDIA GPU メトリクスを収集する 、を参照してください。Amazon SageMaker AI は、生成 AI モデルを開発、トレーニング、デプロイするための包括的なプラットフォームを提供します。Amazon SageMaker と高速コンピューティングインスタンスに対するニーズが一貫している場合は、 SageMaker Savings Plans の活用を検討してください。 Savings Plans Purchase Analyzer を使用して、SageMaker Savings Plans の時間あたりのコミットメントのコスト影響を推定できます。 基本的な CFM スキルを取得したいのであれば、都合のいいときに 無料のデジタルトレーニングコース を受講できます。 AWS Certified AI Practitioner は AWS の AI/ML 技術にさらに親しむために役立ちます。 トレードオフの対策:生成 AI アプリケーションのコスト最適化とパフォーマンスのバランス 上記の CFM 戦略に加えて、生成 AI ワークロードで検討できるコスト最適化戦略が他にも多くあります。これらの方法は大幅なコスト最適化のメリットをもたらすだけでなく、アプリケーション全体のパフォーマンスも向上させます。 プロンプトキャッシュ :頻繁に使用されるプロンプトとその応答をキャッシュすることで、応答時間を短縮し、重複する API 呼び出しを削減します。 モデル蒸留 :推論のレイテンシーを下げ全体的なコンピューティングとメモリ使用率を削減するために、特定のユースケースにフォーカスする小さなモデルをトレーニングします。 バッチ処理 :複数のリクエストを 1 つのバッチにまとめて処理することで、GPU の使用率を改善しスループットを向上させます。 ただし、これらコスト最適化の方法を実装する際にはトレードオフがあります。リソースの効率性とアプリケーションの信頼性のバランスや応答時間と出力の品質・深さのバランスをどの程度取るかを検討します。アプリケーションとユーザーエクスペリエンスを設計し改良していく中で、異なる手法を試し、精度を最大化しレイテンシーを最小限に抑えることで、最終的にカスタマーエクスペリエンスを向上させる最適なハイブリッドアプローチを見つけることができます。 今後の予定 様々な生成 AI サービスを採用しながら、コスト最適化戦略を見つけ実装する支援をするため、特定の AI サービスを利用する際に考慮すべき重要な分野を掘り下げた以下のブログ記事を公開する予定です。ブログ記事を公開次第リンクを追加します。 Amazon EC2 と SageMaker AI を利用したカスタム AI モデル開発のコスト最適化 Amazon Bedrock で基盤モデルを使用する際のコスト最適化 Amazon Q をデプロイする際のコスト最適化 生成 AI をサポートするインフラストラクチャーのコスト最適化 翻訳はテクニカルアカウントマネージャーの加須屋 悠己が担当しました。原文は こちら です。 Bowen Wang Bowen は AWS 請求およびコスト管理サービスの主任プロダクトマーケティングマネージャーです。彼女は、財務およびビジネスリーダーがクラウドの価値とクラウドファイナンス管理を最適化する方法をよりよく理解できるようにすることに重点を置いています。以前のキャリアでは、テック系スタートアップの中国市場への参入を支援しました。 Adam Richter Adam Richter は、AWS OPTICS のシニア最適化ソリューションアーキテクトです。この役職では、Adam は AI コスト最適化と FinOps プラクティスを専門としています。Amazon Q Business や Amazon Q Developer などの顧客向け機能に貢献したほか、AWS re: Invent やその他の業界プラットフォームでの講演を通じてオピニオンリーダーとしての役割を果たしてきました。
AWS CodeBuild で並列テスト実行のサポートが開始されたことをお知らせします。これにより、テストスイートを同時に実行し、ビルド時間を大幅に短縮できます。 この記事のために作成したデモプロジェクト では、環境をプロビジョニングする時間を含め、テストの合計時間が 35 分から 6 分に短縮されました。 AWS マネジメントコンソール の次の 2 つのスクリーンショットは、その差を示しています。 テストスイートの順次実行 テストスイートの並列実行 継続的インテグレーション (CI) を大規模に実行する際に、テスト時間が非常に長くかかることは大きな課題となります。プロジェクトの複雑さが増し、チームの規模が大きくなるにつれて、包括的なテストスイートの実行に必要な時間が大幅に長くなり、パイプラインの実行時間の長期化につながる可能性があります。これにより、新機能やバグ修正の提供が遅れるだけでなく、タスクを進める前にビルドの結果を待たなければならないため、デベロッパーの生産性が低下します。私は実行に最大 60 分かかったパイプラインを経験したことがありますが、最後のステップで失敗し、全体の再実行が必要となり、さらなる遅延が生じました。このような長いサイクルは、CI プロセスにおけるデベロッパーの信頼を損ない、フラストレーションを生じさせ、最終的にはソフトウェア配信サイクル全体のスピードダウンにつながる可能性があります。さらに、テストが長時間実行されることで、リソースの競合、コンピューティング能力の無駄な使用を理由とするコストの増加、開発プロセスの全体的な効率の低下が生じる可能性があります。 CodeBuild における並列テスト実行により、複数のビルドコンピューティング環境で同時にテストを実行できるようになりました。この機能は、各ビルドノードがテストスイートのサブセットを個別に実行するシャーディングアプローチを実装します。CodeBuild は、現在のノード番号とノードの合計数を識別する環境変数を提供します。この環境変数は、各ノードが実行するテストを決定するために使用されます。ビルド時にコントロールビルドノードやノード間の調整は行われません。各ノードは独立して動作し、テストの割り当てられた部分を実行します。 テスト分割を有効にするには、 buildspec.xml の batch fanout セクションを設定し、必要な並列処理レベルと他の関連パラメータを指定します。さらに、適切なテストコマンドと選択した分割方法とともに、ビルドステップで codebuild-tests-run ユーティリティを使用します。 テストは、指定したシャーディング戦略に基づいて分割されます。 codebuild-tests-run は、次の 2 つのシャーディング戦略を提供します: 均等な分散。 この戦略は、テストファイルをアルファベット順に並べ替え、並列テスト環境全体にわたってチャンクで均等に分散します。テストファイルの名前または数量が変更されると、シャード間でファイルが再割り当てされる可能性があります。 安定した分散。 この戦略は、一貫性のあるハッシュアルゴリズムを使用して、シャード間でのテストの分散を修正します。新しいファイルが追加または削除されても、ファイルのシャードへの既存の割り当ては維持されます。 CodeBuild は、テストを並列実行する際におけるテストレポートの自動マージをサポートします。自動テストレポートマージにより、CodeBuild はテストレポートを単一のテストサマリーに統合し、結果分析を簡素化します。マージされたレポートには、合格/不合格の集約されたステータス、テスト期間、および失敗の詳細が含まれるため、手動でのレポートを処理する必要性が軽減されます。マージされた結果は、 CodeBuild コンソール で表示したり、 AWS コマンドラインインターフェイス (AWS CLI) を使用して取得したり、テスト分析を効率化するために他のレポートツールと統合したりできます。 仕組みを見てみましょう プロジェクトで並列テストを実装する方法を説明します。このデモでは、 数百のテストを含む非常に基本的な Python プロジェクト を作成しました。迅速に進めるために、 コマンドラインで Amazon Q Developer に 1 個のプロジェクトと 1,800 件のテストケースを作成するよう指示しました。各テストケースは個別のファイルに含まれており、1 秒で完了します。すべてのテストを順番に実行するには、環境をプロビジョニングする時間を除いて 30 分かかります。 このデモでは、10 個のコンピューティング環境でテストスイートを並列実行し、スイートの実行にかかる時間を測定します。 これを実行するために、プロジェクトに buildspec.yml ファイルを追加しました。 version: 0.2 batch: fast-fail: false build-fanout: parallelism: 10 # ten runtime environments ignore-failure: false phases: install: commands: - echo 'Installing Python dependencies' - dnf install -y python3 python3-pip - pip3 install --upgrade pip - pip3 install pytest build: commands: - echo 'Running Python Tests' - | codebuild-tests-run \ --test-command 'python -m pytest --junitxml=report/test_report.xml' \ --files-search "codebuild-glob-search 'tests/test_*.py'" \ --sharding-strategy 'equal-distribution' post_build: commands: - echo "Test execution completed" reports: pytest_reports: files: - "*.xml" base-directory: "report" file-format: JUNITXML YAML ファイルには、言及しておくべき部分が 3 つあります。 まず、 batch の下に build-fanout セクションがあります。 parallelism コマンドは、並列実行するテスト環境の数を CodeBuild に伝えます。 ignore-failure コマンドは、ファンアウトビルドタスクの失敗を無視できるかどうかを示します。 次に、プリインストールされた codebuild-tests-run コマンドを使用してテストを実行します。 このコマンドは、テストファイルの完全なリストを受け取り、現在のノードで実行する必要があるテストを決定します。 上記で説明したように、均等な分散と安定した分散のいずれかを選択するには、 sharding-strategy 引数を使用します。 実行の候補であるすべてのファイルを渡すには、 files-search 引数を使用します。パフォーマンス上の理由から、提供されている codebuild-glob-search コマンドを使用することをお勧めしますが、 find(1) などの任意のファイル検索ツールも機能します。 test-command 引数を使用して、シャードで実行する実際のテストコマンドを渡します。 最後に、 reports セクションは、各ノードでテストレポートを収集してマージするよう CodeBuild に指示します。 その後、CodeBuild コンソールを開いて、プロジェクトと、このプロジェクトのバッチビルド構成を作成します。ここでは新しいことは何もないので、詳細は割愛します。 開始するためのすべての詳細はドキュメントに記載されています 。 並列テストはバッチビルドで機能します。 バッチで実行するようにプロジェクトを設定してください 。 これで、テストスイートの実行をトリガーする準備ができました。GitHub リポジトリに新しいコードをコミットするか、またはコンソールでビルドをトリガーできます。 数分後、ビルドのさまざまなステップのステータスレポートが表示されます。これには、各テスト環境またはシャードのステータスが含まれます。 テストが完了したら、 [レポート] タブを選択して、マージされたテストレポートにアクセスします。 [レポート] セクションでは、すべてのシャードのすべてのテストデータを集約し、すべてのビルドの履歴を保持します。 [レポート履歴] セクションで最新のビルドを選択して、詳細レポートにアクセスします。 想定どおり、1,800 件のテストケースについて、集約されたステータスと個別のステータスを確認できます。このデモでは、すべてが合格し、レポートは緑色です。 デモプロジェクトの 1,800 件の各テストは 1 秒で完了します。このテストスイートを順番に実行したところ、完了までに 35 分かかりました。テストスイートを 10 個のコンピューティング環境で並列実行すると、環境をプロビジョニングする時間を含めて 6 分で完了しました。 並列実行にかかった時間は、順次実行にかかった時間の 17.1% でした 。実際の数値はプロジェクトによって異なります。 その他の情報 この新しい機能は、すべてのテストフレームワークと互換性があります。 ドキュメントには、Django、Elixir、Go、Java (Maven)、Javascript (Jest)、Kotlin、PHPUnit、Pytest、Ruby (Cucumber)、Ruby (RSpec) 用の例が含まれています 。 スペース区切りのリストを受け入れないテストフレームワークの場合、 codebuild-tests-run CLI は、 CODEBUILD_CURRENT_SHARD_FILES 環境変数を通じて柔軟な代替手段を提供します 。この変数には、現在のビルドシャードのテストファイルパスの改行区切りリストが含まれます。これを使用して、さまざまなテストフレームワークの要件に適応し、テストファイル名をフォーマットできます。 独自のシャーディングスクリプトを記述し、各ビルドで自動的に設定される CODEBUILD_BATCH_BUILD_IDENTIFIER 環境変数を使用することで、テストを環境間で分割する方法をさらにカスタマイズできます。この手法を用いて、フレームワーク固有の並列化または最適化を実装できます。 料金と利用可能なリージョン 並列テスト実行により、これまで必要だった時間と比べて大幅に短時間でテストスイートを完了できるようになり、開発サイクルが加速し、チームの生産性が高まります。この記事の説明のために作成したデモプロジェクトで費やされた時間は、順次ビルドの 18.7% でした。 並列テスト実行は、 CodeBuild が提供する 3 つのコンピューティングモード 、すなわち、オンデマンド、リザーブドキャパシティ、 AWS Lambda コンピューティングのすべてでご利用いただけます。 この機能は、CodeBuild が提供されているすべての AWS リージョン で今すぐご利用いただけます。使用するコンピューティングリソースについての 標準の CodeBuild 料金 以外の追加コストはかかりません。 今すぐ CodeBuild で並列テスト実行をぜひお試しください。詳細を確認し、テストの並列化を開始するには、 AWS CodeBuild ドキュメント にアクセスしてください。 – seb PS: デモアプリケーションとそのテストスイートを作成するために使用したプロンプトは次のとおりです:「I’m writing a blog post to announce codebuild parallel testing.Write a very simple python app that has hundreds of tests, each test in a separate test file.Each test takes one second to complete.」 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載されているとおりにお客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません) 原文は こちら です。
本ブログは、キヤノンITソリューションズ株式会社様と Amazon Web Services Japan が共同で執筆しました。 みなさん、こんにちは。AWS ソリューションアーキテクトの木村です。 本記事では、 キヤノンITソリューションズ株式会社様 が Amazon Bedrock を活用した新機能によって既存サービスの強化を行なった事例についてご紹介します。 背景 / 課題 キヤノンITソリューションズ株式会社様が提供するローコード開発プラットフォーム「 WebPerformer-NX 」は、デジタルセルフサービスを推進するビジネスユーザー(以下ビジネスユーザー)が迅速にWebアプリケーションを開発できる環境を提供しています。このプラットフォームでは、基本的な機能は GUI で簡単に実装できる一方、複雑なロジックや外部サービスとの連携の実装には JavaScript、SQL や WebPerformer-NX 特有の関数を手動で記述する必要がありました。 この課題は特に、プログラミングに精通していないサービス利用者にとって大きな障壁となっていました。コードの記述に時間がかかり、本来のビジネスロジックの実装に集中できないという状況が発生していました。構文エラーや論理的なミスが発生した際には、デバッグにも多くの時間を費やしていました。 キヤノンITソリューションズ株式会社様では、これらの課題を解決し、より多くのビジネスユーザーがスムーズにアプリケーション開発を行えるような機能強化が求められていました。 ソリューション / 構成内容 この課題に対応するため、キヤノンITソリューションズ株式会社様は Amazon Bedrock を活用しコード生成機能を WebPerformer-NX に実装しました。 自然言語からコードを生成する仕組み 新機能では、サービス利用者が日本語の自然言語で実装したい機能を指示すると、Amazon Bedrock がその指示内容を受け取り、適切な JavaScript コードや WebPerformer-NX 特有の関数を含むコードを自動生成します。例えば、「年月日の入力フィールドの値より、現在の日付から年齢を算出する。未来の日付を入力したらエラー処理する」といった指示を書くと、フォームに入力された値と現在の日付を取得して差を計算し年齢を表示する処理や、エラーハンドリングを行うコードが生成されます。 プロンプトエンジニアリングの工夫 単純に生成AIを導入するだけでは、WebPerformer-NX 特有の関数や構文に対応したコードを生成することはできません。しかも、それら WebPerformer-NX 固有の要素は、固定された情報ではないため、ファインチューニングで対応することもできません。 そこで、開発チームはプロンプトを工夫し、それら WebPerformer-NX 特有の要素をインコンテキスト・ラーニングすることで、WebPerformer-NX 特有の関数や構文を正確に理解し生成できるようにするとともに、一般的な JavaScript コードと WebPerformer-NX 特有のコードを適切に組み合わせられるよう工夫しました。これにより、サービス利用者の自然言語による指示から、実際に動作する高品質なコードを生成することが可能になりました。 最適なモデルの選定 複数の生成 AI モデルを検証した結果、コード生成の精度が最も高かった Anthropic 社の Claude を採用しました。Claude は特に、コンテキストを理解する能力と、正確なコード生成能力に優れており、WebPerformer-NX 特有の関数にも対応できることが確認されました。 短期間での開発実現 Amazon Bedrock が提供する充実した機能群(監視やログ機能など)により、開発チームは生成AI機能の実装に集中することができました。その結果、わずか 3 ヶ月という短期間でコード生成機能を開発し、リリースすることに成功しました。Amazon Bedrock の呼び出しには、Amazon API Gateway、AWS Lambdaといったサーバーレスサービスを活用し、インフラ管理の負担軽減、スケーラビリティの確保、コスト最適化を実現しました。 導入効果 WebPerformer-NX へのコード生成機能の導入により、以下のような効果が得られました: キヤノンITソリューションズ株式会社様側の効果 短期間での機能実装: Amazon Bedrock のマネージドサービスとしての特性を活かし、わずか 3 ヶ月という短期間で高度なコード生成機能を実装できました。これにより、市場の要求に迅速に対応することができました。 開発リソースの効率化: 生成 AI 機能の開発において、インフラ構築やモデル管理などの負担が軽減され、コア機能の開発に集中できました。 サービス利用者側の効果 高精度なコード生成: 生成されたコードの 70〜90% はそのまま利用可能であることが確認できており、残った処理も簡単な修正で使用できるケースが大半であることが確認できています。これにより、利用者はコードの記述ではなく、ビジネスロジックの設計に集中できるようになりました。 開発工数の大幅削減: 複雑なロジックのコード記述にかかる時間が大幅に削減され、開発工数を最大 50% 削減することに成功しました。特に、プログラミングの経験が少ないユーザーにとって、この効果は顕著でした。 学習コストの低減: プログラミング知識がなくても、自然言語で指示するだけでコードが生成されるため、WebPerformer-NX を使いこなすための学習コストが低減しました。これにより、より多くのビジネスユーザーがアプリケーション開発に参加できるようになりました。 まとめ キヤノンITソリューションズ株式会社様の事例は、生成 AI を活用することで既存のサービスを強化できることを示しています。Amazon Bedrock を活用したコード生成機能の導入により、WebPerformer-NX の使いやすさが向上し、サービス利用者の開発工数を最大 50% 削減することに成功しました。 また特筆すべきは、3 ヶ月という短期間で高精度のコード生成機能を実装できたことです。これは、Amazon Bedrock が提供する充実した機能と使いやすさが貢献をしています。 今後も、キヤノンITソリューションズ株式会社様は生成 AI を活用したサービス強化を進め、より多くのビジネスユーザーがプログラミングの壁を越えて、自らの業務課題を解決するアプリケーションを開発できる環境を提供していく予定です。 WebPerformer-NX は、無償で利用いただけるフリーアカウントやサンプルアプリをご提供しています。 WebPerformer-NX 公式サイト にアクセスいただき、ページ中段の「 スタートガイドアカウント作成ガイド 」から 3 ステップでご登録いただけます。 執筆者 キヤノンITソリューションズ株式会社 プラットフォーム開発部 高塚 剛 様 (写真左) キヤノンITソリューションズ株式会社 デジタルサービス開発部 佐野 彰彦 様 (写真右) Amazon Web Services Japan ソリューションアーキテクト 木村 直登(Naoto Kimura)
みなさん、こんにちは。ソリューションアーキテクトの野間です。 おしごとの都合で移動中にこのブログを書いているのですが、照明が消されていて両隣は寝ているというなんともやりづらい状況です(笑)それでも最新の情報を皆様にお伝えすべく週刊スタッフは頑張っております!さて、最近事例紹介が多くなってきた印象です。生成 AIについて調査・検証の段階を終え、ビジネスへの実装が進んでいるからでしょう。 今週も、生成AIの最新情報をお届けしていきますので、最後までお付き合いください。それでは、今週のトピックを見ていきましょう! さまざまなニュース AWS生成AI国内事例ブログ:「岩崎電気株式会社様の AWS 生成 AI 事例「カメラ付き照明で冠水検知を実現。照明の専門メーカーとして80年以上の歴史を持つ製造業のモノとコト融合」 このブログでは、80年以上の歴史を持つ照明専門メーカーの岩崎電気株式会社が、AWSの生成AI技術を活用して路面冠水監視システムを開発した事例を紹介しています。同社は Amazon Bedrock を使って、監視カメラの映像から冠水状況を自動検知し、リアルタイムで危険を通知するシステムを構築しました。従来は専用センサーが必要だった冠水検知を、カメラ付き照明と生成 AI の組み合わせで実現。監視員の労力を80%削減し、24時間リアルタイム監視を可能にしています。企画から約2ヶ月という短期間でプロトタイプを完成させ、 GenU を用いた効率的な検証とコスト効率を考慮した AI モデルの使い分けが成功要因となりました。照明設備のインフラを活用した防災システムという新たな価値創出に、生成AIが貢献している興味深い事例です。 AWS生成AI国内事例ブログ:「大規模マルチモーダル AI による鉄道車両の異常画像検知システムの実証実験」 このブログは、JR東日本、ドイツ鉄道、JEISが、AWSのマルチモーダルAI技術を活用して車両外観検査の画像にAIを活用する取り組みについて紹介しています。カメラの映像と音声センサーから得られるデータを組み合わせることで、目では見えない異常な振動や音の変化も捉え、鉄道設備の故障を早期に発見できるようになりました。Amazon Lookout for Vision、Amazon SageMaker、Amazon Bedrockなどの技術を組み合わせたシステムにより、保守作業の効率化と安全性の向上が実現します。AIによる予防保全で、私たちの日常を支える鉄道インフラの安全性がさらに高まることが期待されています。 ブログ記事「製造業の設計開発領域での AI 活用 – 「身体性」の原理から考える」(前編) (後編はこちら) このブログでは、製造業での生成AI活用について「身体性」という考え方に着目して考察しています。これは、頭で考えるだけでなく、実際に手を動かして物を作る時に生まれる知恵や発見を大切にする考え方です。特に機械設計では、この身体性知能が大きな威力を発揮します。部品同士の干渉チェック、振動や熱による変形予測、組立性の検証など、図面上では見えない問題を事前に発見できます。熟練の設計者が持つ「手触り感覚」や「重さのバランス」といった暗黙知をAIが学習し、設計の初期段階から反映できるようになれば、試作回数の削減や開発期間の短縮につながります。AIと人間の新しい協働の形が見えてくる示唆に富んだ内容となっています。 ブログ記事「Amazon Q Developer の新しいコンテキスト機能で、コードのコントロールを強化しよう」 Amazon Q Developer に便利な機能が追加されました。コードを書く時にコンテキストを理解し、例えば、あなたが書いているコードの全体像を把握したり、関連するファイルを自動的に参照したりして、より的確なアドバイスや提案をしてくれるようになりました。これにより、開発者はコードの説明に時間を取られることなく、より創造的な作業に集中できます。プログラミング初心者から熟練者まで、開発作業がぐっと効率的になる新機能です。詳細はブログをチェックしてください。 サービスアップデート Amazon Bedrock Guardrails、業界をリードする画像コンテンツフィルターの一般提供開始を発表 Amazon Bedrock のガードレール機能を強化し、画像コンテンツフィルター機能の一般提供を開始しました。この新機能により、企業は生成AIアプリケーションで使用される画像の内容を自動的に検査し、不適切なコンテンツをブロックできるようになります。 Amazon Bedrock Knowledge Bases がベクトルストレージとしてAmazon OpenSearch Managed Cluster をサポート Amazon Bedrock Knowledge Basesに、ベクトルストアとしてAmazon OpenSearch Managed Clusterが利用できるようになりました。Amazon Bedrock Knowledge BaseとOpenSearchサービスが利用可能なすべてのリージョンで一般提供されています。 Amazon Q Business がアジアパシフィック(シドニー)リージョンで利用可能に Amazon Q Business は、企業向けの生成AIアシスタントです。組織内の情報やデータを活用して、質問に答える、要約を作成する、コンテンツを生成する、タスクを完了するなどの機能があります。 今回、アジアパシフィック(シドニー)リージョンで新たに利用可能になりました。 Amazon Bedrock カスタムモデルインポートで、リアルタイムのコストの可視化を実現 Bedrock コンソールや API を通じて、モデル実行に必要な最小限のコンピュートリソース(Custom Model Units:CMU)を事前に確認できます。また、CloudWatch メトリクスを通じて使用された CMU の総数がリアルタイムで表示され、推論コストの可視化が可能です。これにより、お客様はコストをリアルタイムで把握し、必要に応じてモデル設定を動的に変更することで、コストの最適化が可能になります。 Amazon Q in QuickSight でシナリオ機能が一般提供開始 Amazon Q in QuickSight に、データ分析を革新的に進化させる新機能が追加されました。自然言語での対話を通じて、隠れたトレンドの発見やビジネスへの推奨事項の提示、より深い分析へのステップを提案します。特別なスキルがなくても過去のトレンドの探索や将来のシナリオの予測、ソリューションのモデリングが可能になります。 Amazon Q Business の Slack および Teams 連携機能をアップグレード 1つの Slack ワークスペースまたは Teams 組織内で最大10個の Amazon Q Business 統合 を作成できるようになり、テスト環境や本番環境、異なるユーザーグループごとに個別の統合が可能になりました。また、フリーテキストでのフィードバック機能が追加され、ユーザーの満足度確認やフィードバックの収集が可能になりました。 今週は以上でした。それでは、また来週もお楽しみに! 著者について 野間 愛一郎(Aiichiro Noma) AWS Japan のソリューションアーキテクトとして、製造業のお客様を中心に日々クラウド活用の技術支援を行なっています。データベースやデータ分析など、データを扱う領域が好きです。最近は自宅焼き鳥で串打ちにハマっています。
本記事は 2025 年 2 月 18 日に公開された ” Streamline DNS management for AWS PrivateLink deployment with Amazon Route 53 Profiles ” を翻訳したものです。 はじめに AWS PrivateLink インターフェイスエンドポイント を採用するエンタープライズ企業における主な課題は、導入プロセスの効率化、エンドポイント数の最小化、コストの最適化です。これらの課題に対処するための実績あるアプローチは、 AWS Transit Gateway と Amazon Route 53 Resolver を組み合わせて使用し、複数の Amazon Virtual Private Cloud(VPC) およびオンプレミス環境で AWS PrivateLink インターフェイスエンドポイントを効率的に共有することです。これにより、必要なインターフェイスエンドポイントの数を最小限に抑えることができ、コストと運用オーバーヘッドの削減を実現できます。 PrivateLink は、VPC とサポートされている AWS サービス、Software as a Service (SaaS) アプリケーション、AWS またはオンプレミスでホストされているサードパーティサービス間のプライベート接続を実現します。PrivateLink は VPC インターフェイスエンドポイントを使用して、VPC とターゲットサービス間の安全な接続を確立します。しかしながら、組織が VPC とアカウントを大規模に拡張していった場合、マルチアカウント環境で、数千規模の VPC に横断してインターフェイスエンドポイントをデプロイすることになり、複雑性とコストが増加しかねません。 Amazon Route 53 プロファイル は、この アーキテクチャ を再検討し、改善することができます。Route 53 プロファイルを統合することで、複数の AWS アカウントを横断する膨大な数の VPC で DNS 管理を簡素化、および一元化できるため、PrivateLink の展開はスケーラブルになります。 本稿では、PrivateLink が、同じアカウント内、複数のアカウント間、オンプレミス環境と統合された VPC や AWS サービス間で、どのように安全なプライベート接続を実現するかを説明します。また、インフラストラクチャを拡張する場合でも、アーキテクチャを最適化する場合でも、 PrivateLink のデプロイを習得するための実用的なステップバイステップのガイドとなります。 ソリューション概要 ハブアンドスポークモデルで PrivateLink を一元的に展開すると、多数の VPC とアカウントに PrivateLink を展開する際の課題に対応できます。図 1 では、PrivateLink VPC エンドポイントが一元化され、Shared Services VPC 内に展開されています。Dev アカウントと Prod アカウントのスポーク VPC は、Transit Gateway または AWS Cloud WAN を介して Shared Services VPC に接続することで、エンドポイントにアクセスできます。オンプレミスのデータセンターは、 AWS Direct Connect または AWS Site-to-Site VPN を介して AWS 環境とのハイブリッド接続を確立することで、これらの一元化された PrivateLink VPC エンドポイントにアクセスできます。 図 1 : Shared Services VPC の集中型 VPC エンドポイント DNS 管理は、集中型デプロイメントモデルを実装する際に重要な要素です。PrivateLink 対応サービスの VPC インターフェイスエンドポイントを作成する際のセットアッププロセス内で [DNS 名を有効にする] オプションを選択してプライベート DNS を有効にすることができます。この機能を有効にすると、AWS サービスのパブリック DNS 名は VPC エンドポイントのプライベート IP アドレスに解決する AWS マネージドの Private Hosted Zone(PHZ) が作成されます。ただし、このマネージド PHZ は、VPC エンドポイントをホストするハブ VPC 内でのみアクセス可能であり、他のスポーク VPC と共有することはできません。これを克服するために、次のセクションで説明するカスタム PHZ を使用します。 PrivateLink の DNS 解決のためのカスタム PHZ VPC-to-VPC およびオンプレミス接続の場合、VPC エンドポイントのプライベート DNS を無効にすることから始めます。 VPC コンソールで、 [エンドポイント] を選択して対象のエンドポイントを選択します。 [アクション] を選択し、 [プライベートDNS名を変更] を選択します。 [プライベート DNS 名の設定を変更] で、 [このエンドポイントで有効にする] のチェックを外します。 [変更を保存] を選択します。 図 2 :プライベートDNS名を変更する プライベート DNS 名を無効にすると、 Route 53 PHZ を作成 できます。サービスエンドポイント名を使用し、AWS サービスの VPC エンドポイント名をポイントする エイリアスレコード を設定します。 図 3 : Route 53 エイリアスレコードの作成 この例では、us-east-1 AWS リージョン に AWS Lambda のエンドポイントを作成しているため、エンドポイントの末尾は lambda.us-east-1.vpce.amazonaws.com となります。 このカスタム PHZ をハブ VPC に作成し、それを他のスポーク VPC に関連付けしていきます。これにより、すべてのスポーク VPC で AWS サービスのパブリック DNS 名をエンドポイントのプライベート IP アドレスに解決できるようになり、複数の VPC 間でシームレスな接続が可能になります。 通常、複数の VPC 間で VPC エンドポイントの DNS 解決を有効にするには、各 VPC エンドポイントの PHZ を全てのスポーク VPC に手動で関連付ける必要があります。ハブ VPC とスポーク VPC の両方が同じ AWS アカウント内にある場合、この関連付けは AWS マネジメントコンソール で設定できます。異なるアカウントにある場合は、 AWS コマンドラインインターフェイス (AWS CLI) または SDK を使用して関連付けをする必要があります。このプロセスについては、 Route 53 デベロッパーガイド をご参照ください。 図 4 :クロスアカウント PHZ 関連付けを使用した Shared Services VPC 内の集中型 VPC エンドポイント 次のセクションでは、Route 53 Resolver プロファイル を使用して、このプロセスを効率化し、よりスケーラブルにする方法を紹介します。 Route 53 プロファイルを使用した VPC to VPC PrivateLink の DNS 解決 図 5 のアーキテクチャ図は、単一リージョンのワークロードを示しています。Dev アカウントには Dev VPC 、Prod アカウントには Prod VPC という VPC がデプロイされています。前述のように、これらの VPC は Transit Gateway または AWS Cloud WAN で接続されています。このアーキテクチャにより、 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから Shared Services VPC の VPC エンドポイントが使用できるようになっています。Dev VPC または Prod VPC のいずれかに存在するインスタンスは、 Amazon Kinesis および Lambda にプライベートにアクセスできます。 図 5 : DNS 解決に Route 53 プロファイル を使用する Shared Services VPC 内の集中型 VPC エンドポイント 次の手順では、どのように Route 53 プロファイルがこのプロセスを効率化するかを示します。 Shared Services VPC で、PrivateLink を使用して Kinesis と Lambda に安全にアクセスする VPC Interface エンドポイントを作成します。 これらのエンドポイントごとに PHZ を設定 します。 Shared Services アカウントに Route 53 プロファイルを作成 し、Shared Services VPC に 関連付け ます。 この Route 53 プロファイルに Kinesis と Lambda の両方の PHZ を 関連付け ます。 この新しく作成された Route 53 プロファイル を Dev アカウントと Prod アカウントを拡張するために、 AWS Resource Access Manager (AWS RAM) を使用して両方のアカウントとプロファイルを 共有 します。 共有後、Dev アカウントと Prod アカウントから、Route 53 プロファイルを各々の VPC に 関連付け をします。 この VPC エンドポイントの実装は、すべての VPC において、Kinesis および Lambda のパブリック DNS 名をプライベート IP アドレスに解決できることを意味します。スポーク VPC 内のすべてのリソースは、Transit Gateway または AWS Cloud WAN を介して Kinesis, Lambda サービスにパブリックインターネットを経由せずに、Shared Services VPC の VPC エンドポイント経由で安全にアクセスできるということです。 今後、サポートされている他の AWS サービスの新しい VPC エンドポイントを作成する場合、必要な手順は、各 VPC エンドポイントの PHZ を一元化された Route 53 プロファイルに関連付けるだけです。関連付けが確立されると、この Route 53 プロファイルにリンクされている VPC は、新しく作成された VPC エンドポイントへの DNS 名の解決ができるようになります。 既存または新規のアカウントで新しい VPC をプロビジョニングする場合でも同様に、その VPC を共有している Route 53 プロファイルに関連付けます。また、Transit Gateway または AWS Cloud WAN を使用して、Shared Services VPC とのレイヤー 3 接続も提供します。その結果、新しい VPC は、Shared Services アカウント内のすべての PHZ に自動的に関連付けられるようになり、それぞれの VPC エンドポイントへのシームレスな DNS 解決が提供されます。 オンプレミスネットワークにおける PrivateLink の DNS 解決 図 6 に示すこのシナリオでは、AWS 環境と外部ネットワークの間にレイヤー 3 接続を確立します。オンプレミスのリソースは Kinesis や Lambda などの AWS サービスに到達する必要があるため、オンプレミスの DNS 解決のためのソリューションを実装しなければなりません。 図 6 :オンプレミスでの DNS 解決に Route 53プロファイルを使用する Shared Services VPC 内の集中型 VPC エンドポイント Direct Connect または Site-to-Site VPN を使用して、既存の Transit Gateway または AWS Cloud WAN にレイヤー 3 の接続を確立します。(2025/3 時点で AWS Cloud WAN の Direct connect gateway 接続は東京リージョン未対応: 参考 ) Route 53 Resolver のインバウンドエンドポイントを、Shared Services VPC にデプロイします オンプレミスの DNS Resolver では、Kinesis と Lambda の DNS クエリを Route 53 Resolver のインバウンドエンドポイントの IP アドレスに送信する転送ルールを設定します。 Route 53 Resolver のインバウンドエンドポイントが作成されている Shared Services VPC に関連づけられている PHZ は、クエリを解決するときに VPC に関連付けられた Route 53 プロファイルよりも優先されます。 考慮点とベストプラクティス VPC エンドポイントは、高可用性を実現するために、複数のアベイラビリティゾーン (AZ) (理想的には 2 つ以上) に配置すべきです。Route 53 Resolver インバウンドエンドポイントも、同様に複数のAZで構成し、AZレベルの障害の影響を軽減しましょう。 PHZ が Route 53 プロファイル に関連付けされ、そのプロファイルが VPC に関連付けられている場合、PHZ を VPC に明示的に関連付ける必要はありません。 Route 53 プロファイルを個々のアカウントと共有するのではなく、特定の組織単位 (OU) または組織全体と共有できます。Route 53 プロファイルが OU または組織全体と共有されている場合、その範囲内の既存と新しく作成されたアカウントは自動的にこの Route 53 プロファイルにアクセスできます。これにより、Route 53 プロファイルを個々の AWS アカウントと手動で共有する必要はありません。 Route 53 の 料金ページ で説明されているように、Route 53 プロファイルは、プロファイルと VPC の アソシエーション 1 時間あたりの料金で請求されます。多数のプロファイルを作成すると、コストが高くなる可能性があります。 VPC が PHZ と Route 53 プロファイルの両方に関連付けられている場合、Route 53 Resolver は PHZ の直接の関連付けを優先します。「 Route 53 プロファイル設定の優先順位付け方法 」のドキュメントで説明されています。 各インターフェイスエンドポイントは、 AWS PrivateLink クォータのドキュメント に記載があるように、AZ ごとの持続トラフィックとバーストトラフィックの特定の帯域幅をサポートしています。より高い帯域幅要件をサポートするには、この ソリューション を検討してください。 まとめ 本稿では、AWS PrivateLink の展開に AWS Transit Gateway または AWS Cloud WAN を使用した集中型モデルを使用する際に、Amazon Route 53 プロファイルを簡単に統合して DNS 管理を支援する方法について紹介しました。開始するには、 AWS PrivateLink と Amazon Route 53 プロファイル のページにアクセスしてください。 翻訳は Solutions Architect の齋藤が担当しました。原文は こちら です。 著者について Kunj Thacker Kunj は AWS のテクニカルアカウントマネージャーであり、カナダのバンクーバーに拠点を置いています。彼はネットワークとインフラストラクチャエンジニアリングの幅広い経歴を持っています。新しい技術に情熱を傾けており、顧客がAWS上のクラウドインフラストラクチャを構築、実装、最適化するのを支援しています。 Salman Ahmed Salman Ahmed は、AWS Enterprise Support のシニアテクニカルアカウントマネージャーです。彼は旅行およびホスピタリティ業界の顧客がクラウドインフラストラクチャを設計、実装、サポートするのを支援しています。ネットワーキングサービスへの情熱と長年の経験により、彼は顧客がさまざまなAWSネットワーキングサービスを採用するのを支援します。仕事以外では、写真、旅行、スポーツ観戦を楽しんでいます。 Ankush Goyal Ankush Goyal は、AWS Enterprise Support のシニアテクニカルアカウントマネージャーであり、旅行およびホスピタリティ業界の顧客がクラウドインフラストラクチャを最適化する支援を専門としています。20年以上のIT経験を持つ彼は、AWSネットワーキングサービスを活用して、運用効率とクラウドの採用を推進することに注力しています。Ankush は、インパクトのあるソリューションを提供し、顧客がクラウド業務を効率化できるための支援に情熱を注いでいます。
本記事は 2025年01月08日に公開された ” Analyzing AWS Transit Gateway Data Processing charges with cost allocation tags ” を翻訳したものです。 はじめに AWS は AWS Transit Gateway においてコスト配分タグをサポートし、一般提供することを 発表 しました。コスト配分タグを使用すると、AWS リソースにタグを付け、タグごとにコスト内訳を確認できます。以前まで、Transit Gateway はアタッチメントの時間料金の分類と割り当てにコスト配分タグをサポートしていました。今回の発表により、マルチアカウントシナリオでタグを使用してデータ処理料金を割り当てることができるようになりました。この記事では、Transit Gateway でコスト配分タグを使用して、データ処理料金をタグごとに分類して割り当てる方法を紹介します。 Transit Gateway の料金とコスト配分 Transit Gateway では、アタッチメントごとの1時間あたりの使用料金に加え、Transit Gateway を通過するトラフィック量に応じた使用料金があります。大規模なマルチアカウント環境では、Transit Gateway をインフラストラクチャーアカウントにデプロイするのが一般的です。その後、 AWS Resource Access Manager (AWS RAM) を使用して組織内のすべて、または一部のアカウントと共有します。共有されたアカウントは、VPC 接続用の VPC アタッチメント を表示したり、作成したりできます。このシナリオでは、以下に示すTransit Gateway の使用料金は共有されたアカウントに課金されます。 VPC アタッチメントの 1 時間あたりの料金 Transit Gateway に送信されたデータ量に応じたデータ処理料金 詳細な料金と例については、Transit Gateway の 料金ページ をご覧ください。 企業内の異なるチームがTransit Gateway の VPC アタッチメントを所有している場合、コスト配分のために各チームのTransit Gateway 使用量と料金を決定したいケースがあります。これらのアカウントが統合請求の一部であり、すべての料金が組織内の支払いアカウントに集約される場合、各チームのTransit Gateway コストの追跡、レポート作成、可視化することが課題になる可能性があります。以前の ポスト では、 Transit Gateway フローログ を使用して個別のアカウント料金を決定する方法を示しています。このアプローチには、 Amazon Athena を使用してフローログをクエリすることが含まれており、追加のセットアップと設定が必要になる場合がありました。 Transit Gateway がコスト配分タグをサポート Transit Gateway のコスト配分タグ のサポート開始により、このタスクはシンプルになりました。各共有アカウントでTransit Gateway リソースにタグを付け、コスト配分タグを有効化することで、時間単位のアタッチメント料金とデータ処理料金の両方についてコストを追跡できるようになります。 タグはAWSリソースに割り当てるキーと値のペアです。 AWS Cost Explorer では、タグをコスト配分タグとして有効化できます。有効化すると、コスト配分タグによってコストを分類し追跡することができます。例えば、「Team」という名前のタグを作成し、値を「A」として、会社内のチームAが所有するリソースに割り当てることができます。「Team」タグをコスト配分タグとして有効化した後、このタグで料金を追跡したり、Cost Explorer でタグによるフィルタリングやグループ化を行ったり、さらなる分析や可視化のために、「AWS コストと使用状況レポート」などに追加したりすることができます。 AWS のコスト配分は以下の3段階のプロセスで行います。 リソースにコスト配分タグを付ける AWS Billing Console のコスト配分タグセクションでタグを有効化する Cost Explorer でタグをフィルタリング、グループ化し、コストカテゴリを作成する リソースにタグを作成してアタッチした後、24時間以内にAWS Billing Console のコスト配分タグセクションの「ユーザー定義コスト配分タグ」に表示されます。AWS がリソースタグの追跡を開始するには、これらのタグを有効化する必要があります。タグを有効化してから、Cost Explorer に表示されるまでに最大24時間かかることがあります。Cost Explorer のフィルターまたはグループ化フィールドの「タグ」の下にタグが表示されたら、タグでフィルタリングまたはグループ化を開始して、タグごとの使用状況と料金を表示できます。 コスト配分タグの設定方法 先に述べたように、Transit Gateway の料金はアタッチメント時間と処理されたデータ量に基づいて課金されます。時間単位のアタッチメント料金を分類し配分するには、Transit Gateway アタッチメントにキーとユニークな値でタグ付けします。同様に、Transit Gateway のデータ処理料金を配分するには、各共有アカウントのTransit Gateway リソースにキーとユニークな値でタグ付けします。図1の例示アーキテクチャがこのアプローチを示しています。 図1: アーキテクチャの例 ここでは、共有サービスアカウントに1つのTransit Gateway があります。このアカウントには、Transit Gateway に接続された1つのShared Service VPC があります。また、異なるアカウントのWorkload VPC 二つが同じTransit Gateway に接続されています。設定を始めるには、以下の手順に従ってください。 ステップ1:各アカウントのTransit Gateway リソースと、Transit Gateway アタッチメントに以下のようにタグを付けます。 Shared Service VPC接続に「Team:Infra」とタグ付け Workload VPC A アタッチメントに「Team:A」とタグ付け Workload VPC B アタッチメントに「Team:B」とタグ付け 共有サービスアカウントのTransit Gateway に「Team:Infra」とタグ付け ワークロードアカウントAのTransit Gateway リソースに「Team:A」とタグ付け ワークロードアカウントBのTransit Gateway リソースに「Team:B」とタグ付け ステップ2 : コスト配分タグで「Team」タグを有効化する ステップ1で適切にリソースにタグ付けした後、支払いアカウントのAWS Billing and Cost Management コンソールでタグが利用可能になるまで最大24時間かかる場合があります。その後、コスト配分タグとして有効化することができます。 図2は、AWS Billing and Cost Management コンソールのコスト配分タグセクションで、「Team」タグが有効化可能な状態で表示されていることを示しています。 図2.コスト配分タグの表示 以下に示す図3は、「Team」タグが有効化されたコスト配分タグとして表示されていることを示しています。 図3.有効化されたコスト配分タグ ステップ3:Cost Explorer で「Team」タグを使用してフィルタリングとグループ化を行う タグフィルターを適用すると、Cost Explorer は選択された値でタグ付けされたリソースの料金のみを表示します。また、特定のタグでグループ化すると、料金は選択されたタグの値ごとにグループ化されます。図4は、各チームのTransit Gateway の1時間あたりのアタッチメント料金とデータ処理料金を示しています。 図4. Team タグによるフィルタリングとグループ化 もし「Team」タグで他のリソースがタグ付けされている場合、それらの料金も図4のビューに反映されます。各チームのTransit Gateway のデータ処理料金のみを確認するには、「Usage Type」フィルターに”<Region>-TransitGateway-Bytes (GigaBytes)”を追加します。この例では、Transit Gateway はus-east-1 AWS リージョン にあるため、図5に示すように、USE1-TransitGateway-Bytes (GigaBytes)でフィルタリングします。 図5: 「USE1-TransitGateway-Bytes (GigaBytes)’」でフィルタリングし、「Team」 タグでグループ化した結果 AWS コストカテゴリーを使用した可視化 AWS コストカテゴリー を使用すると、ニーズに基づいてコストと使用情報を意味のあるカテゴリーにグループ化できます。カスタムカテゴリーを作成し、アカウント、タグ、サービスなどの様々な要素によって定義したルールに基づいて、コストと使用状況をカテゴリーにマッピングできます。コストカテゴリーが設定され有効化されると、AWS Cost Explorer、 AWS Budgets 、 AWS Cost and Usage Report (CUR) でこれらのカテゴリー別にコストと使用状況を表示できます。 この例では、コストカテゴリーで 「Team」 という名前のカテゴリーを定義し、「Team」 タグの値に基づいてコストと使用状況を分類するルールを構築しています。これにより各チームのコストが分類され、図6に示すようにコストカテゴリーで視覚化できます。 図6. コストカテゴリーによる可視化 留意事項と制限事項 VPC、 AWS Direct Connect 、またはVPNからTransit Gateway に送信される通信量(Gigabyte)に対してデータ処理料金が適用されます。 AWS Site-to-Site VPN 接続をTransit Gateway にアタッチする場合、VPN接続はTransit Gateway と同じアカウントにある必要があります。そのため、データ処理料金はそのアカウントで集計されます。Direct Connectアタッチメントの場合、データ処理料金はDirect Connect Gateway を所有するアカウントに適用されます。Transit Gateway ピアリングまたは Transit Gateway Connect アタッチメントから送信されるトラフィックにはデータ処理料金はかかりません。 効果的なコスト配分のために、個々のTransit Gateway アタッチメントはアタッチメントごとのコスト配分のタグ付けを行うことができますが、データ処理料金はアカウントレベルで集計されることに注意することが重要です。つまり、データ処理料金は、同じTransit Gateway にアタッチされた単一アカウントからのすべてのVPC に対して集計されます。 さらに、Transit Gateway ピアリングアタッチメントの場合、各Transit Gateway 所有者は他のTransit Gateway とのピアリングアタッチメントに対して時間単位で請求されます。 最後に このポストでは、マルチアカウント環境でTransit Gateway のデータ処理料金を表示する際に、コスト配分タグをどのよう利用するかを示しました。また、コスト配分タグを使用してコストカテゴリーでコストを可視化する方法も示しました。コスト配分タグについてさらに詳しく学ぶには、 ドキュメンテーションページ をご覧ください。 翻訳はNetwork Specialist Solutions Architect の奥村が担当しました。原文は こちら です。 執筆者について Suresh Samuel Sureshは、AWSのプリンシパル・テクニカル・アカウント・マネージャーです。 金融サービス業界の顧客がAWSで業務を行うのを支援しています。 仕事をしていない時は、テキサス州で鳥を撮影したり、家族と過ごしたり しています。 Anbu Kumar Krishnamurthy Anbuは、AWSのシニア・テクニカル・アカウント・マネージャーで、 顧客のビジネスプロセスをAWSクラウドと統合し、運用の卓越性と 効率的なリソース利用を実現するための支援を専門としています。 顧客のソリューション設計と実装、問題のトラブルシューティング、 AWSの環境最適化を支援しています。 顧客が望むビジネス成果を達成するためのソリューションを設計 する際に、顧客と協力して取り組んでいます。
こんにちは。製造業のお客様を技術支援しているソリューションアーキテクトの中西です。 本ブログは 前編 ・後編にわかれたブログシリーズの後編です。 ハードウェア開発とソフトウェア開発の原理的な違い 前編 では、「身体性」という概念を通して、現代の AI がハードウェア設計のコア業務で活躍しにくい理由を原理的に解き明かしました。「そうは言っても、ソフトウェア開発では生成 AI が強力にエンジニアを後押ししていることは事実じゃないか。なぜものづくり全般に適用できないのか」というツッコミを受けそうです。ということで、ハードウェア開発の中の機械設計と、ソフトウェア開発の中のプログラミングを例として、それらの原理的な違いを体系的かつ詳細に深掘りしていきます。 図 3: ハードウェアの機能は物理学に基づく無数の相互作用の中から生じるが、ソフトウェアの機能は有限の人為的ルールに従って生じる プログラミング (図 3 右側) エンジニアは、特定のコード実行環境を想定し、その世界で動くコードを記述します。この環境はランタイム、OS、ハードウェアの階層構造からなり、すべて人間が設計した明示的なルールに従います(未定義動作や放射線の影響などを除けば、そのように期待されています)。 ソフトウェアの動作原理は、コード実行環境が定める人為的ルールです。コードが解釈され実行されると、メモリやストレージの状態変化が起き、これが機能として発現しますが、この結果も人為的ルールの範囲内でのみ発生することが期待されます。この人為的ルールの数は有限です。そうでなければ、コンパイラやインタプリタのサイズが無限大になってしまいます。 そういう意味では、ソフトウェアの動作原理はある程度限定的であり、把握しやすいと言えます。エンジニアはこの動作原理を学ぶことで頭の中でコードを動かしながら、あるいは、コードを開発環境で実際に動かしてみた結果からフィードバックを得ながら、開発します。 機械設計 (図 3 左側) 機械設計では、エンジニアは部品の形状と材質を決定します。ここでは、幾何公差、表面性状、表面処理、熱処理なども一般化して「形状と材質」と表現することにします。しかし、その決定には物理環境との無数の相互作用(図 3 の赤い矢印)を考慮しなければなりません。それこそが機械の動作原理だからです。作用反作用、温度変化、音、摩擦など、非線形かつ時間変化する相互作用はまさにカオスです。 「法則がわかっている物理現象なので CAE などでシミュレーションできるのでは?」と思われるかもしれませんが、モデル化もせずに多数の物理現象を手当たり次第にシミュレートして設計パラメータを決定することは不可能です。よくある思考実験である「宇宙にある全ての素粒子の位置と運動量がわかれば、それをシミュレーションして完全な未来予知ができる」が現実的でないのと同様です。機械部品は物理環境(系)と常に相互作用しており、完全なシミュレーションができる範囲を超えています。エンジニアが職務を全うするためには、この無数の相互作用と対峙し、「適切に」ハンドリングしなければならないのです。 プログラミングにおける「コードを仮想的あるいは実際に動かしてみて……」のような開発方法は機械設計では原理的に通用せず、プログラミングとは異なるタイプの思考が必要になるということです。 無尽蔵に増える考慮点 物理環境での無数の相互作用を相手にすることがどれだけ大変か、例を使って説明します。 図 4: ステンレスフライパン 筆者は最近、図 4 のようなステンレスフライパンを買いました。フライパンには可動部がないので機械として比較的単純な部類です。なんとなく AI でサクっと作れそうな形に見えるかもしれません。さて、この設計者は何を考えてフライパンの形を決めているでしょうか。材質があらかじめ決まっているとすると、設計者として筆者なら以下を考えます。 柄と本体のスポット溶接の数と位置、および溶接跡が内壁の洗浄性に与える影響 強火で加熱した際の熱伝導を考慮した柄のパイプ寸法と人間工学に基づく取付角度 フライパンを傾けて液体を注ぐ時の注ぎやすさを考慮したフチの加工方法 ステンレス – アルミ – ステンレスの3層貼り底の熱膨張による応力に耐える接合方法 洗浄性や食材の返しやすさを考慮した内壁の曲率半径とプレス成形時の金属流動性を踏まえた肉厚設計 (……書ききれませんが、無数に出てきます) フライパンですらこれほど大変なのに、複数の部品からなる機械ならもっと大変ですね。 設計が決まれば、その設計が要件を満たすかを一つ一つ精査したくなると思います。頭で考えてもいいですし、わからなかったら、ある考慮点にスコープを絞って物理現象をモデル化したうえで、CAE を使って計算することもできます。もしそれも難しければ、実物を作ってテストできます。そうして全ての考慮点についてフィードバックを繰り返す方法なら、AI のような存在にも機械設計ができるでしょうか? その答えは No と考えています。 機械設計では身体性知能が役に立つ 上に箇条書きした考慮点の数々はかなり網羅的に見えますが、限定的とも言えます。なぜなら「いきなり地球の重力が反転したらフライパンはどうなるか」とか「万が一身長 10m の人間がいても柄のサイズはこのままでいいのか」とか「もし空気の粘度が上がって水のようになったらフライパンを振れるのか」とか、そういう突拍子もない無限個の思考を排除できているからです。 何を馬鹿なことをと言われるかもしれませんが、これは AI の分野で「フレーム問題」と呼ばれる概念と同様だと考えています。 フレーム問題とは、AI が直面する難問の一つです。これは、ある状況で「何が関連し、何が関連しないか」を判断する能力に関わります。人間はある状況下で直感的に「考慮すべきこと」と「無視してよいこと」を区別できますが、AI にこの能力を持たせることは困難です。 実際の製品設計では、設計者は物理環境への理解に基づいて「考慮すべき範囲」を適切に設定します。これは単なる知識の適用ではなく、身体的知能を駆使した高度な知的プロセスです。フライパン一つとっても、設計者は、物理環境における無数の相互作用を考慮するのと同時に、無限にある「考慮しなくてよい可能性」を自然に排除しています。以上から、依然としてハードウェア設計においては、身体性知能ならではの「フレームを適切に設定する能力」が必須と言えるでしょう。 たしかに、CAD ベンダなどを中心に 3D ジオメトリを生成できる「ジェネレーティブデザイン」の AI ツールは既に世に出ています。これらのツールは設計者が与える制約条件のもとで形状を生成しますが、そのプロセスは機械設計全体の流れの中では限定的である上、製造プロセスを考慮できないために量産部品への適用には課題がある現状です。そのためこれらのツールは機械設計のコア業務で広く活躍できるレベルに到達していません。「フライパンとして使えそうな形」を生成してくれるツールをありがたいと感じる場面もあるかもしれませんが、それよりむしろ、機械設計の本質は上記のような細かい無数の考慮点のほうにあります。 機械設計に必要なすべては、その機械が製造の過程あるいは使用される過程で、外界とどのように相互作用し、どのような物理現象を生むのか、に関する身体性にもとづく想像力です。時間変化するカオス的相互作用のある物理空間で発達した知能(=身体性知能)のみが、これを理解できるのです。 現代の AI を製造業に活用するには AI/ML の技術は次のように分類され、一般的にはそれぞれ次のような強みを持っています。 従来の ML: 数値予測、最適化、異常検知、画像認識などの分析に強みを持ちます。 生成 AI: テキストモデルは文書作成、知識検索、説明生成、レポート作成に最適です。マルチモーダルモデルは図表付き文書や動画からのデータ抽出、画像や音声などの生成に活用可能です。 AWS は製造業を 5 つの主要領域で捉えています。 設計開発領域 生産領域 スマートプロダクト & サービス領域 サプライチェーン領域 サステナビリティ領域 本ブログのスコープである 設計開発領域 について業務レベルにドリルダウンして、AI/ML の技術ごとに活用可能性を概観してみようと思います。 図 5: 設計開発領域の業務ごとの AI/ML の活用可能性 本ブログで深ぼって論じてきた 基本設計・詳細設計 は身体性知能が必要なため△評価です。一方で、企画・構想設計、生産技術との連携、プロジェクト管理といった業務の中で、言語的コミュニケーションが中心の業務あるいは画像からの情報抽出などが役に立つ業務では、生成 AI が強みを発揮します。解析・シミュレーションは数値計算・最適化に関する従来の ML(擬似的なシミュレーション結果を出力するサロゲートモデルを含む)が活用できる可能性があります。設計のコア業務以外に目を向ければ、身体性知能が必須ではなく、AI/ML の技術を効果的に活用できる領域が広がっていることがわかります。 まとめ 本ブログでは製造業の設計領域のコア業務に AI が活用できるかを論じました。ある業務で AI が活躍できるかどうかは、その業務が身体性知能を必要とするかどうか、という原理から考えるアプローチを提案しました。現代の AI の限界を理解し、それ以外の適切な領域で AI/ML を活用することで、大きなビジネス効果を得られます。このために、製造業のお客様は Amazon Bedrock , Amazon SageMaker , AWS IoT など多様な AWS サービスのエコシステムを活用できます。 近い将来、AI のパラダイムシフトが起こる可能性はあります。技術の進化は速く、本ブログで「難しい」と述べた部分も、モデルの改善によって(身体性知能の完全な再現ではないにしても)かなり近いところまで到達するかもしれません。ユースケースや時代によって最適な AI モデルが変わる中で、簡単にモデルを切り替えられる Amazon Bedrock のメリットは大きいです。AWS は幅広い LLM をラインナップしており、お客様は最新のモデルを最小の労力で試し、実際の業務に組み込むことができます。 我々は普段から AI を使うなかで、AI の能力に感嘆することもあれば、本ブログで示したような限界を目にすることもあります。しかし、絶え間ないイノベーションがこの壁を一つずつ取り払っていくはずです。我々が知能を真に理解できる日を心から楽しみにしています。 著者紹介 中西 貴大 (Takahiro Nakanishi) アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト AWS Japan のソリューションアーキテクトとして製造業のお客様をご支援しています。好きな AWS サービスは AWS IoT Core です。機械も含めてものづくり全般が好きで、自分と同い年の愛車を整備したり、計器デバイスを自作したりしながら大事に乗っています。
こんにちは。製造業のお客様を技術支援しているソリューションアーキテクトの中西です。 生成 AI が普及するなかで、設計領域のユースケースとして「仕様書に記載された要件から図面や設計パラメータを出力したい」、「図面に表現された部品を理解した AI のインサイトが欲しい」といったご相談をお客様からいただくことがあります。機械設計の経験があり機械が大好きな筆者としても、お客様のご期待に応えたい気持ちが強いですが、残念ながらこれらのユースケースに対して現状の AI が大活躍することは「原理的に」難しいです。 では、なぜできないのか? 将来的にできるようになるのか? このあたりが気になるところかと思います。本ブログでは前編・ 後編 に分けて、原理的な観点からそこに迫ります。これにより、普及が進む生成 AI の活用シーンを一緒に見極め、効果的な投資の一助になれたら幸いです。 前編: 「身体性」という概念を通して、現代の AI がハードウェア設計のコア業務で活躍しにくい理由を原理的に解き明かします。 後編 : ハードウェア開発とソフトウェア開発の本質的な違いを明らかにしつつ、製造業のどの領域で AI が効果的に活用できるのかを探ります。 現在主流の AI のパラダイムとその限界 これまで機械学習 (ML) は、教師あり学習ではラベルつきデータを学習して分類問題を解いたり、教師なし学習ではラベルなしデータに内在するパターンや規則性を明らかにしたりする技術でした。このパラダイムは、大規模言語モデル (LLM) が台頭しても大きく変わることはありません。LLM は非常に大規模なラベルなしデータを学習した結果得られた自然言語の潜在的な確率的パターンに基づいて応答します。 人間は柔軟で臨機応変な行動能力を持ち、「知能」を持っていると言われます。では、現在主流のこれらの AI (Artificial Intelligence) は、人間と同様の知能 (Intelligence) と呼べるのでしょうか? この問いは、AI 研究や認知発達科学において非常に重要です。以前から一部の研究者はこの課題感を持っており、知能の発現には「身体性」が必要と唱えています。本ブログでは身体性という切り口から、設計領域での生成 AI 活用を見ていきたいと思います。 AI と「身体性」 身体性とは? 身体性 (embodiment) とは、知能や認知プロセスが単に脳や計算機の中だけで起こるのではなく、身体全体と環境との相互作用を通じて形成されるという考え方です。知能を持つシステムを構築するために、環境と相互作用する「身体」が必要であることは、これまでの認知科学や発達心理学で明らかになっています。 従来の AI 研究では、人間の知能を推論、記憶などの機能ごとに分解して、それぞれの入力と出力の関係をモデル化しようとしてきました。このアプローチに基づく以上、人間のような真に柔軟で臨機応変な知能を実現することはできません。なぜでしょうか? 知能と身体性の関係 人間は発達の過程で、身体と外界との相互作用を通じて学習し、抽象的概念や推論能力が自発的に発達するプロセスを経ます。一方、現代の AI は、開発者が論理規則や統計モデルとして構築した言語的知識の帰結のみを明示的にシステムに埋め込むアプローチとなっています。 「認知ロボティクス」に関する 論文 ではこう表現されています: 発達システムは「流れ」であり、ある瞬間の機能や構造は「渦」といえる。従来の AI や認知ロボティクスの方法は、静水中に渦の型を入れたあと、適当な水流を起こして意図した渦の発生と維持を期待することに近い。 論文の表現を借りるなら、真の知能は「川の流れ」のようなもので、その中に生まれる「渦」が私たちが観察できる知的な振る舞いといえます。これに対して現代の AI は、あらかじめ「渦の形」を決めておいて、それらしい動きが出るように水を流すようなものでした。でも、本物の川の渦はそうやって作られるものではありませんよね。 人間は発達の過程で、身体と外界との相互作用を通じて学習し、抽象的概念や推論能力が自発的に発達します。この過程は教師なし学習であり、学習結果は入力のみに依存するので、意味のある学習が生まれるのか疑問に思うかもしれません。この疑問を解消するのが、まさに身体性です。身体と環境の物理的特性によって、発生する相互作用全体は構造化されています。その構造化を与えるのが身体性であり、身体性こそが「川の流れ」を規定して学習結果に意味を与え、知能を発現させるのです。 AI における身体性の欠如がもたらす影響 図 1: マルチモーダル生成 AI による機械図面の理解力を試す実験 実際に、筆者が過去に書いた機械図面をマルチモーダル生成 AI に読ませてみたところ、図面の内容をほとんど理解できていないことがわかりました (図 1)。シャフトカラー(回転軸に取り付けてトルクを伝達する締結部品)の図面を与えて図面の基本的な理解を問い、回答を◯△×で評価しました。その結果、図面かプロンプトから読み取れた文字情報から連想した一般的な回答しか正解できていません。このように身体性のない AI は、たとえ機械図面に描かれた外形や穴を認識できたとしても、それらが実際に我々の 3 次元空間でどのように存在して、どのように回転し、荷重やトルクを伝えるかという物理的な理解まで到達できないのです。 この身体性の欠如は、AI が設計プロセスの核心部分を担うことを難しくしています。機械設計者が部品の形状と材質を決めるには、その形が物理世界でどのように機能するかを理解し、予測することが必須だからです。 身体性が、カオスから秩序を生む ここで、筆者がこれまで生きてきた中で、身体性知能と不思議な共通点を見た 3 つの面白いトピックをご紹介します。「製造業や生成 AI と何の関係があるのか?」と感じられるかもしれませんが、まずはお読みください。 物理リザバーコンピューティング (RC) 図 2: 物理リザバーコンピューティングの概念図 ここでご紹介したいのは、物理リザバーコンピューティング (RC) です。聞き慣れない言葉と思いますが、とても簡単に言えば「自然界の物理現象を計算に活用できる」というものです。例えば、水の波紋や柔らかいタコの足、光デバイスなど、複雑な動きをする(入力に対して非線形な出力を発生する)ハードウェアが「リザバー」になりえます。 このリザバーに何か信号を入力すると、複雑な(非線形で時間変化する)反応が起きます。その反応をいくつかのセンサーで測定し、それらの値に定数をかけて足し引きする(= 線形結合する)だけで、望みの出力を得られるように調整します。大事なポイントは、図 2 のようにリザバー層の挙動は物理現象で定義されており変えることはできないので、出力層だけを調整(学習)させる点です。一般的なニューラルネットワークでは、バックプロパゲーションという方法で、出力層から入力層に向かって全ての層を学習しますが、物理 RC では出力層以外は一切変更せずそのまま利用する点が興味深いです。 図 2 の左に示した原始的な人工知能モデルである「単純パーセプトロン」では XOR 問題 (「A か B のどちらか一方だけが真のとき真となる」という単純な論理) すら解けませんが、これは出力が入力の線型結合だけで作られるためです。より複雑な問題を解くことができる現代のニューラルネットワークは、非線形な関数(= 活性化関数)と線型結合を何層にも重ねることで、ある種のカオス(非常に複雑な挙動)を作り出しています。同様に、物理リザバーコンピューティング (RC) も実世界の非線形な物理現象を計算資源として活用していると理解できます。 身体性の観点から見れば、この類似性は、物理世界のカオス的な振る舞いの中に知能の萌芽が存在することを示すように思えます。 ビッグバンから知的生命 我々の知能がどのように形成されてきたかを、宇宙物理学者たちは宇宙の始まりから遡って考えています。 ビッグバンから元素や恒星が生まれ、惑星でアミノ酸が合成され、知的生命体が生まれた。カオスから秩序が生まれたということができます。偶然にしてはできすぎているので、「神が全て作った」というのは一つの説明の仕方ではありますが、物理学者たちはカオスから秩序が生まれるのは自然なことと解き明かしています。 皆様も家の中でハエなどの害虫を仕留め損なったことがあるのではないでしょうか。ハエもビッグバンから自然の流れの中で生まれ、発達してきた生き物です。我々が叩き潰そうとすると、ハエは素早くそれを察知し、脚や羽を的確に駆動して、逃げようとします。ロボット工学的に例えて、あの小さな体にセンサー、アクチュエータ、制御プログラムが全て入っていると考えると驚くべきことですが、これも身体性知能が為せる業です。 モリヌークス問題 モリヌークス問題は特に興味深い事例です。17 世紀、哲学者ウィリアム・モリヌークスが提起したこの問題は、「生まれつき盲目の人が、触覚で球体と立方体を区別できるようになった後、もし後天的に手術で視力を得たら、見ただけでそれらを区別できるだろうか?」というものです。 この問題の本質は、異なる感覚モダリティ(触覚と視覚)間での知識の転移可能性にあります。ニューラルネットワークの文脈で考えると、これは一つの入力形式(触覚データ)で学習したモデルが、別の入力形式(視覚データ)に対しても適切に一般化できるかという問題に相当します。 先天盲の人々は、生後に手術により視力を得ても、最初は視覚だけでは物体を識別できない、ということを示す認知科学研究の報告は多く存在します( 一例 )。これは、知覚が、身体を通じた環境との相互作用から生まれることを示唆しています。 このモリヌークス問題は、ブログ冒頭に書いた「生成 AI で機械図面を真に理解できるか?」に示唆を与えると考えています。画像入力に対応したマルチモーダル AI モデルは「目」を持つと言えますが、身体を持ちません。先述のように、身体を持って外界と相互作用して発達しながらこの世界を理解してきたわけではないので、図 1 のように「目」だけで図面をインプットしたとしても、その形状の部品が我々の生きる物理環境でどんな意味を持つのか、どう相互作用するかを真に理解することはできないのです。 まとめ 前編では、身体性の観点から、知能とはハードウェア(身体)に宿るものであり、現代の AI にも原理的な限界があること示しました。後編では、ハードウェア開発とソフトウェア開発の違いをさらに深掘りし、製造業のどの領域で AI が効果的に活用できるのかを考察します。 後編はこちら 著者紹介 中西 貴大 (Takahiro Nakanishi) アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト AWS Japan のソリューションアーキテクトとして製造業のお客様をご支援しています。好きな AWS サービスは AWS IoT Core です。機械も含めてものづくり全般が好きで、自分と同い年の愛車を整備したり、計器デバイスを自作したりしながら大事に乗っています。