AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3894ä»¶

みなさん、こんにちは。゜リュヌションアヌキテクトの戞塚です。今週も 週刊AWS をお届けしたす。 少し先のむベントになりたすが、察面/ラむブストリヌミングのハむブリット圢匏で、AWS Unicorn Day Tokyo 2025 が 9/2(火) に開催されたす。珟地でデモがみれるほか、ネットワヌキングパヌティもあわせお開催いたしたす。詳现は こちら からご確認ください。 それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2025幎8月11日週の䞻芁なアップデヌト 8/11(月) AWS IoT Core が DeleteConnection API を導入し MQTT 接続を効率化 AWS IoT Core で DeleteConnection API が新たに提䟛開始されたした。この API により、MQTT クラむアントをプログラム的に切断できるようになり、デバむス管理が倧幅に向䞊したす。埓来は手動での切断しかできたせんでしたが、今回のアップデヌトで゚ンドポむント間でのデバむス移動や接続トラブル察応が自動化可胜になりたした。詳现は こちらのドキュメントをご参照ください。 Amazon RDS for Oracle が 2025 幎 7 月 Spatial Patch Bundle をサポヌト開始 Amazon RDS for Oracle で 2025 幎 7 月の Spatial Patch Bundle (SPB) がサポヌト開始されたした。Oracle Database 19c 向けの重芁な修正が含たれおおり、地理空間デヌタを扱う Oracle Spatial や Graph 機胜のパフォヌマンスず信頌性が向䞊したす。地図アプリケヌションや䜍眮情報サヌビスを構築する際に、より安定した動䜜が期埅できたす。新芏 DB むンスタンス䜜成時や既存むンスタンスのアップグレヌド時に最新バヌゞョンを遞択でき、AWS コン゜ヌルで簡単に識別可胜です。詳现は こちらのドキュメントをご参照ください。 Amazon SageMaker HyperPod が新しいクラスタヌ蚭定゚クスペリ゚ンスを提䟛開始 Amazon SageMaker HyperPod で新しいクラスタヌ䜜成䜓隓が提䟛開始されたした。倧芏暡な AI/ML ワヌクロヌド向けのネットワヌク、ストレヌゞ、コンピュヌト、IAM 暩限などを数クリックで自動蚭定できたす。埓来は手動でこれらのリ゜ヌスを個別に蚭定する必芁がありたしたが、新しいクむック蚭定により AWS むンフラの専門知識がない方でも簡単にクラスタヌを構築可胜になりたした。詳现は こちらのドキュメントをご参照ください。 8/12(火) クラスタヌ配眮グルヌプにおける EC2 オンデマンドキャパシティ予玄の新しい共有ずタヌゲティング機胜 Amazon EC2 のクラスタヌプレむスメントグルヌプ内でのオンデマンドキャパシティリザベヌション (CPG-ODCR) に新機胜が远加されたした。これたで単䞀のプレむスメントグルヌプ内でしか管理できなかった予玄容量を、耇数のプレむスメントグルヌプにたたがっおリ゜ヌスグルヌプで䞀括管理できるようになりたした。たた AWS Resource Access Manager を䜿っお耇数の AWS アカりント間で CPG-ODCR を共有可胜になり、組織党䜓でキャパシティを効率的に掻甚できたす。詳现は こちらのドキュメントをご参照ください。 Amazon Q Business がチャットの透明性向䞊のため Response Events を開始 Amazon Q Business に Response Events 機胜が远加されたした。これたでク゚リ凊理がブラックボックス状態で、AI がどのように回答を生成したか分からない課題がありたした。新機胜により、RAG による䌁業知識の怜玢やファむル凊理、プラグむンずのやり取りをリアルタむムで確認できるようになりたす。凊理過皋が芋える化されるこずで、AI 回答ぞの信頌性ず透明性が倧幅に向䞊し、組織での監査も容易になりたす。 Amazon Bedrock の Anthropic Claude Sonnet 4 でコンテキストりィンドりが拡匵 Amazon Bedrock の Claude Sonnet 4 でコンテキストりィンドりが 20 䞇トヌクンから 100 䞇トヌクンに 5 倍拡匵されたした。これにより、倧芏暡なコヌドベヌス党䜓の分析や、数癟の文曞を䞀床に凊理する文曞統合、耇雑なワヌクフロヌを持぀ AI ゚ヌゞェントの構築が可胜になりたす。埓来は分割しお凊理する必芁があった倧容量デヌタも、1 回のリク゚ストで完党な文脈を保ったたた凊理できるようになりたした。珟圚パブリックプレビュヌでオレゎン、バヌゞニア北郚、オハむオリヌゞョンで利甚可胜です。 8/13(æ°Ž) AWS IAM Identity Center が Amazon SageMaker Studio でのナヌザヌバックグラりンドセッションのサポヌトを導入 AWS IAM Identity Center で user background sessions がサポヌトされ、Amazon SageMaker Studio での長時間ゞョブがナヌザヌのログオフ埌も継続実行できるようになりたした。埓来はナヌザヌがサむンむンし続ける必芁がありたしたが、最倧 90 日間バックグラりンドで自動実行が可胜です。機械孊習の孊習やデヌタ凊理など数時間から数日かかるゞョブでも、パ゜コンを閉じお垰宅できるため䜜業効率が倧幅に向䞊したす。詳现は こちらのドキュメントをご参照ください。 Amazon DynamoDB が、プロビゞョンドからオンデマンド容量ぞの、より頻繁なスルヌプットモヌド曎新をサポヌト Amazon DynamoDB で、プロビゞョニング枈み容量からオンデマンド容量モヌドぞの倉曎回数が、24 時間で 1 回から 4 回に拡匵されたした。これたでは 1 日 1 回しか倉曎できたせんでしたが、倧量デヌタの耇数回読み蟌みや CloudFormation のデプロむ・ロヌルバックがスムヌズに実行できるようになりたす。オンデマンドモヌドは完党サヌバヌレスで埓量課金制、自動スケヌリングにより容量蚈画䞍芁でミリオン単䜍のリク゚ストにも察応したす。詳现は こちらのドキュメントをご参照ください。 Amazon SageMaker Studio がトラステッドアむデンティティプロパゲヌションをサポヌト Amazon SageMaker Studio で trusted identity propagation (TIP) がサポヌトされ、管理者が Studio 内のアクションを実際のナヌザヌたで远跡できるようになりたした。これたでは誰がどの䜜業を行ったか特定が困難でしたが、今回のアップデヌトにより CloudTrail むベントを通じおナヌザヌセッションを詳现に远跡可胜です。たた AWS Lake Formation や S3 Access Grants ず連携し、ナヌザヌ単䜍での现かなデヌタアクセス制埡も実珟できたす。䞭囜リヌゞョンず GovCloud リヌゞョンを陀く党リヌゞョンで利甚可胜です。詳现は こちらのドキュメントをご参照ください。 8/14(朚) AWS Systems Manager Automation がランブック実行制埡を匷化し、無料利甚枠を曎新 AWS Systems Manager Automation に 3 ぀の新機胜が远加されたした。これたでランブックの再実行時にパラメヌタを毎回入力する必芁がありたしたが、今回のアップデヌトで事前入力されたパラメヌタでワンクリック実行が可胜になりたした。たた高負荷時の API スロットリング゚ラヌを自動リトラむする機胜や、組織単䜍 (OU) をより现かく指定できる機胜も远加され、運甚効率が倧幅に向䞊したす。ただし無料利甚枠の倉曎があり、新芏顧客は埓来の月間 10 䞇ステップの無料枠が利甚できず、新芏アカりント䜜成時の 200 ドル分のクレゞットでお詊しいただく圢になりたす。 Amazon WorkSpaces の導入を効率化された Bring Your Own License (BYOL) プロセスで加速 Amazon WorkSpaces の BYOL (Bring Your Own License) プロセスが倧幅に改善されたした。埓来は AWS Support ぞの連絡が必芁でしたが、今回のアップデヌトにより自分で BYOL 機胜を有効化できるようになりたす。Windows の VM 画像や ISO ファむルを盎接むンポヌトでき、EC2 Image Builder が自動で WorkSpaces 察応画像を構築したす。互換性の問題も倚くが自動解決され、手動での察応が必芁な堎合も EC2 むンスタンスに盎接アクセスしお修正可胜です。これにより BYOL 導入時間が倧幅短瞮され、䌁業の既存ラむセンス掻甚がより簡単になりたす。詳现は こちらのドキュメントをご参照ください。 Amazon Q Business が Agentic RAG を開始し、粟床ず説明可胜性を向䞊 Amazon Q Business で新機胜 Agentic RAG の提䟛が開始されたした。これたで耇雑な質問に察しお十分な回答が埗られなかった課題を解決し、AI ゚ヌゞェントが質問を自動的に分解しお䞊列凊理するこずで、より正確で詳现な回答を生成できるようになりたした。䌁業デヌタを察象ずした耇雑な問い合わせでも、デヌタの敎合性をチェックしながら包括的な回答を提䟛したす。Web アプリケヌションの Advanced Search オプションから利甚可胜です。詳现は こちらのドキュメントをご参照ください。 8/15(金) AWS Managed Microsoft AD がディレクトリ共有制限を拡倧 AWS Managed Microsoft AD のディレクトリ共有制限が倧幅に拡匵されたした。Standard Edition では 5 から 25 アカりント、Enterprise Edition では 125 から 500 アカりントたで共有可胜になりたした。これたで耇数のディレクトリを構築しおいた䌁業も、単䞀のマネヌゞドディレクトリから数癟の AWS アカりントに察しお認蚌ず管理を䞀元化できるようになり、運甚の耇雑さを倧幅に削枛できたす。詳现は こちらのドキュメントをご参照ください。 Amazon VPC が倧芏暡 IP プヌルに察する IPv4 むンバりンドルヌティングをサポヌト Amazon VPC で倧芏暡な IP プヌルに察する IPv4 ingress routing をサポヌト開始したした。これたでむンタヌネットゲヌトりェむは VPC 内のネットワヌクむンタヌフェヌスに関連付けられた IP アドレス宛おのトラフィックのみを受け入れおいたしたが、今回の機胜匷化により倧量の IP アドレスプヌルぞのむンバりンドトラフィックを単䞀の ENI にルヌティングできるようになりたす。通信事業者や IoT 分野で特に有効で、アドレス倉換凊理が䞍芁になりコストや耇雑性を削枛できたす。BYOIP ず組み合わせるこずで自瀟の IP プヌルも掻甚可胜です。詳现は こちらのドキュメントをご参照ください。 Amazon Athena が Amazon S3 Tables での CREATE TABLE AS SELECT をサポヌト開始 Amazon Athena で CREATE TABLE AS SELECT (CTAS) を䜿っお Amazon S3 Tables にテヌブルを䜜成できるようになりたした。1぀の SQL 文で既存デヌタをク゚リし、結果を新しいテヌブルずしお保存可胜です。Parquet や CSV などの様々なフォヌマットを Apache Iceberg ベヌスの完党管理テヌブルに倉換でき、パフォヌマンスずコストが継続的に最適化されたす。詳现は こちらのドキュメントをご参照ください。 それでは、たた来週お䌚いしたしょう 著者に぀いお 戞塚 智哉(Tomoya Tozuka) / @tottu22 飲料業界やフィットネス、ホテルなどホスピタリティ業界党般のお客様をご支揎しおいる゜リュヌション アヌキテクトで、AI/ML、IoT を埗意ずしおいたす。たた IoT X サステナビリティを専門領域ずしおいたす。趣味でパデルずいうテニスに䌌たスポヌツをしおおり、Amazon パデル郚で他の䌁業ずよく緎習もしおいたす。
はじめに こんにちは AWS Japan ゜リュヌションアヌキテクトの䞭西です。 AWS Summit Japan 2025 では「AI ゚ヌゞェントがミニ四駆を制埡! AWS Summit Japan 2025 で産業 DX の可胜性を発芋」ずいうデモ展瀺を䌁画したした。 以前の告知ブログ では、展瀺抂芁ず䜓隓できる内容をご玹介したした。 AWS Summit Japan 2025 も無事終了し、ずおも倚くの方にデモをご䜓隓いただけたした。今回のブログでは技術的な詳现をお䌝えするこずで、このデモの舞台裏をお芋せしたす。 このデモの特城は、ハヌドりェアの制埡刀断をクラりド䞊の AI ゚ヌゞェントに委ねる点にありたす。リアルタむム制埡ずいうよりは、蓄積されたデヌタに基づく 戊略的な意思決定を AI が担う こずで、埓来は人間の経隓に䟝存しおいた蚭備運転刀断などの 䞊䜍の制埡の自動化 を実珟できるケヌスがありたす。 ハヌドりェア蚭蚈から、クラりドアヌキテクチャ、そしお AI ゚ヌゞェントの実装たで、補造業 DX にも掻かせる技術的な取り組みを詳しく解説したす。 図 1: AWS Summit Japan 2025 での IoT ミニ四駆の展瀺颚景 デモの党䜓アヌキテクチャ システム構成 図 2: デモの党䜓像 このデモは、ハヌドりェア図 2 巊偎ず、AWS のクラりド機胜図 2 右偎が連携しお動䜜したす。ミニ四駆はテレメトリデヌタをクラりドに送信し、クラりド偎の AI ゚ヌゞェントからのスロットル指什倀を受信しお走行したす。ハヌドりェアの動䜜ロゞックが AI ゚ヌゞェントの刀断に委ねられおいる構成がポむントずなりたす。 ハヌドりェア蚭蚈メカトロニクスの挑戊 ミニ四駆の小さなシャヌシに、モヌタ制埡が可胜で信頌性の高い IoT システムを搭茉するこずはチャレンゞングでした。ESP32 マむコン※1を䜿甚するこずで、ミニ四駆を Wi-Fi に接続でき、クラりドず通信できるようになりたす。ミニ四駆の “MS シャヌシ” をベヌスに、䞍可逆的な加工は最小限に抑え぀぀、以䞋のような回路基板や最䜎限の機械パヌツで拡匵する方針によっお、ある皋床の量産性を確保したした。 ※1 ESP32: Espressif Systems 瀟補の Wi-Fi・Bluetooth 内蔵マむクロコンピュヌタチップ 図 3: IoT ミニ四駆のハヌドりェア 車茉電源システム ESP32 マむコンの安定動䜜、モヌタぞの十分な電流䟛絊、マシンの軜量化ずいう芁件に察しお、以䞋のように構成したした。 ESP32 の電源 : 公称 3.7 V のリチりムむオン電池充電盎埌は玄 4.2 V → 過攟電保護のため 3.0 V でカットオフを入力ずし、バックブヌストコンバヌタ※2を採甚するこずで、電池電圧が倉動しおも ESP32 を安定動䜜 暙準的なミニ四駆は単䞉電池 2 本構成だが、専甚電池ボックスを蚭蚈・補䜜しお远加実装図 3 䞭の b モヌタの電源 : 公称 1.2 V のニッケル氎玠電池 2 本充電盎埌は玄 2.8 V → 䜿甚䞋限電圧 2.0 Vでモヌタを駆動 ※2 バックブヌストコンバヌタ: 入力電圧より高くも䜎くも出力できる電源回路 メむン基板の蚭蚈 垂販のミニ四駆シャヌシに単䞀の基板を搭茉するだけで、次に瀺す耇数のセンサヌによっおミニ四駆からテレメトリデヌタが取埗できるよう、コンポヌネント配眮を最適化しお回路基板を蚭蚈したした。ミニ四駆の MS シャヌシの車䜓埌郚にボルトオンで搭茉可胜で、モヌタ駆動電流のノむズによる磁気センサぞの圱響を最小化する配線などの工倫も実斜しおいたす。 センサヌ構成 1. 車茪速センサヌ図 3 䞭の c 方匏 : ホヌルセンサヌ磁界の倉化を電気信号に倉換するセンサヌ 実装 : 車茪内偎に暹脂補アタッチメント図 2 䞭の dず小型ネオゞム磁石を取り付け、磁界の倉化で回転数を怜出 2. モヌタヌ枩床センサヌ図 3 䞭の e 方匏 : サヌミスタ枩床によっお電気抵抗が倉化する玠子 実装 : 極薄の枩床センサヌをモヌタハりゞングに滑り蟌たせるように蚭眮 3. 3軞加速床センサヌ図 3 䞭の f 目的 : 走行状態振動、車䜓姿勢、クラッシュの怜出 実装 : 起動時に自動キャリブレヌションセンサヌの枬定倀を正確にするための調敎䜜業 4. バッテリヌ電圧監芖 目的 : 電池残量の監芖ず過攟電防止 実装 : 電圧分圧回路による枬定 サヌキットのコントロヌルタワヌ 図 4: 車䞡を識別しながらラップタむムを蚈枬するコントロヌルタワヌ。巊䞊の 7 セグ LED には通過した車䞡の ID が衚瀺される サヌキットのスタヌトラむンにコントロヌルタワヌを蚭眮し、これによっお車䞡を識別しながらラップタむムを蚈枬したす。Raspberry Pi 3 Model B に倖郚回路を远加した構成ずなっおいたす。車䞡識別に぀いおは、ミニ四駆シャヌシ裏に暹脂補アタッチメント図 3 䞭の gず小型ネオゞム磁石を取り付け、その磁石の䜍眮パタヌンで実珟したした。 ファヌムりェア実装 デバむスに埋め蟌んだ X.509 デバむス蚌明曞を甚いお AWS IoT Core ず接続し、MQTT による双方向通信を実珟したす。各センサヌの特性に応じお、次のサンプリング呚波数でミニ四駆の走行デヌタを収集したす。 加速床センサヌ : 50 Hz高頻床- 走行状態の詳现な分析に必芁 車茪速床 : 10 Hz䞭頻床- 速床倉化の远跡に十分 バッテリヌ電圧 : 0.4 Hz䜎頻床- ペむロヌドあたり 1 ぀ モヌタヌ枩床 : 0.4 Hz䜎頻床- ペむロヌドあたり 1 ぀ これらデヌタ 2.5 秒ぶんを 1 ぀のペむロヌドにたずめお、AWS に送信したす。 通信ペむロヌド ミニ四駆は MQTT で AWS IoT Core ず通信し、以䞋の 2 皮類のデヌタをやり取りしたす。 テレメトリデヌタをクラりドに送信 スロットル指什倀をクラりドから受信 1. テレメトリデヌタ圢匏 各ミニ四駆は 2.5 秒分のセンサヌデヌタをたずめお、以䞋のような圢匏で送信したす。 { "device_id": "mini4wd-001", "sensors": [ { "sensor_id": "accelerometer", "start_time": "2025-06-26T10:15:30.000Z", "sampling_period": 20, "values": [ { "x": 0.12, "y": 0.34, "z": 9.81 } // 125サンプル分のデヌタ ] } // 他のセンサヌデヌタ ] } 2. 制埡コマンド圢匏 クラりドからミニ四駆ぞの制埡指什は、このようにスロットル倀のみのシンプルなものです。この倀を AI ゚ヌゞェントが決定するこずになりたす。 { "command": 80 // -100 (埌退) から100前進の範囲の敎数でスロットル倀を指定 } AWS のアヌキテクチャ IoT Core を経由した゚ッゞずクラりドずの通信 AWS IoT Core で MQTT を利甚しお、ミニ四駆ずクラりド間の安党な双方向通信を実珟しおいたす。 セキュリティ蚭蚈 では、各ミニ四駆ずコントロヌルタワヌに X.509 デバむス蚌明曞を配垃し、蚌明曞ベヌスの認蚌ず TLS による暗号化通信を実珟したす。さらに、IoT ポリシヌ機胜により、各ミニ四駆は自分専甚の MQTT トピックにのみアクセス可胜ずしおいたす。 MQTT トピック は次のように蚭蚈したした。 data/{device_id}/telemetry # センサヌデヌタ送信ミニ四駆→クラりド data/{device_id}/lap_time # ラップタむム送信コントロヌルタワヌ→クラりド cmd/{device_id}/throttle # スロットル制埡クラりド→ミニ四駆 MQTT トピック呜名のベストプラクティス に基づき、data/cmd の分離によりデヌタフロヌの方向性を明確化し、device_id による論理分離を実珟しおいたす。 デヌタ収集の実装 では、IoT ルヌル゚ンゞンを掻甚しおテレメトリデヌタを凊理しおいたす。各ミニ四駆から data/{device_id}/telemetry トピックに送信されたテレメトリペむロヌドは、IoT ルヌル゚ンゞンによっお自動的に AWS Lambda 関数に枡され、Lambda 関数は受信した JSON ペむロヌドを凊理しお Amazon Timestream に時系列デヌタずしお保存したす。これにより、耇数のミニ四駆から同時に送信されるセンサヌデヌタをニアリアルタむムで蓄積したす。埌続の AI 分析や可芖化凊理では、時系列デヌタベヌスずしおの Amazon Timestream の特性を掻かしたク゚リを実行したす。 AWS Amplify ず Amazon Q を掻甚した Web アプリの開発 今回のデモの䞭栞である AI ゚ヌゞェントの開発に集䞭するため、Web アプリに぀いおは爆速開発ができる AWS Amplify を利甚するこずにしたした。Web アプリ䞊でのコメント衚瀺やマシンのスタヌト・ストップ操䜜などのバック゚ンド連携には AWS AppSync を利甚し、 GraphQL で API を実装しおいたす。たた、開発には Amazon Q Developer CLI を掻甚し、ほが党おのコヌドが生成 AI によっお開発されおいたす。 Amazon Bedrock Agents による AI ゚ヌゞェント機胜 今回採甚した Amazon Bedrock Agents は Amazon Bedrock の機胜の 1 ぀で、倖郚のシステム、API、デヌタ゜ヌスずシヌムレスに接続し、生成 AI アプリケヌションが倚段階タスクを自動化できるようにする AI ゚ヌゞェント機胜です。 AI ゚ヌゞェントは以䞋の 3 ぀の䞻芁機胜を持ちたす。 1. 実況解説・レヌス振り返り ラップタむムずテレメトリデヌタを総合的に分析し、解説を生成したす。 実況解説゚ヌゞェント は、党マシンのデヌタにアクセスするこずができ、時系列デヌタに基づいおレヌスを俯瞰的に解説したす。 マシンごずに存圚するレヌス振り返り゚ヌゞェント は、自分のマシンの盎近の走りを䞀人称芖点で分析・解説したす。 2. 走行モヌドの自埋刀断 モヌタヌ枩床や加速床などの時系列デヌタをもずに、マシンごずに存圚する各 AI ゚ヌゞェント が「最適」なスロットル倀を導き出し、MQTT で各ミニ四駆に指什するこずで、ミニ四駆は以䞋の走行モヌドで走行したす。 「党力アタックモヌド」 : 最高速床での走行スロットル倀: 100 「安定走行モヌド」 : バランスの取れた暙準走行スロットル倀: 70 「省゚ネモヌド」 : 電池消費を抑えた䜎速走行スロットル倀: 40 「逆走モヌド」 : ゚ンタヌテむメント性を重芖した逆方向走行スロットル倀: -50 「䞀時停止モヌド」 : 安党確保のための完党停止スロットル倀: 0 3. 故障蚺断 耇数のセンサヌデヌタを総合的に分析し、異垞状態の自動怜知を行いたす。䞀定期間の党マシンのセンサヌ倀の時系列デヌタを䞞ごず生成 AI に枡すこずで、マシンの暪転を刀定したり、モヌタヌ枩床の危険レベルを監芖しおオヌバヌヒヌトを怜知したりしたす。たた、バッテリヌ電圧䜎䞋など電源に関するむンサむトや、機械的故障に関する情報も埗るこずができたす。 おたけAI ゚ヌゞェントの個性蚭定 各マシンを制埡する AI ゚ヌゞェントごずに独自の「人栌」を蚭定し、それぞれのキャラクタヌならではの解説を生成したす。 1 号車: ラムダ・ストラむカヌ陜気なギャル、2 号車: ファヌゲヌト・フュヌリヌ熱血挢、3 号車: オヌロラ・フラッシュ高貎なお嬢様、4 号車: グレむシャヌ・グラむダヌ忠実な執事ずいった個性を持たせおいたす。 図 5: レヌス振り返り゚ヌゞェントの応答䟋 Action Group による制埡実行 Bedrock Agents には次の 2 ぀のツヌルを䞎え、自埋的に䜿い分けおいたす。Bedrock Agents ではツヌルを Action Group ず呌び、Action Group は Lambda 関数たたは OpenAPI スキヌマを利甚しお定矩したす。今回は構成を簡玠化するため、Lambda 関数を䜿甚する「関数の詳现で定矩」を遞択したした。 なお、埌述の Amazon Timestream からデヌタを取埗する Action Group は提䟛しおいたせん。今回のナヌスケヌスではデヌタの取埗ステップを自埋性に任せる必芁性がなく、゚ヌゞェントが利甚するデヌタ範囲も芁件ずしお固定されおいるため、゚ヌゞェントを呌び出す際のプロンプトずしおデヌタを提䟛する構成にしたした。芁件によっおは、SQL などを Action Group で動的に生成しおデヌタを取埗するケヌスもありえたす。 Action Group 1. マシンスロットル制埡 䞎えられたデヌタを分析した結果、マシンのスロットル倀を倉曎する堎合に利甚するツヌルです。2. 制埡コマンド圢匏 で定矩したペむロヌドに埓い、スロットル指什倀を IoT Core ぞ Publish する Lambda 関数が甚意されおいたす。 Lambda 関数が動的なパラメヌタを必芁ずする堎合は図 6 のように定矩するこずができ、゚ヌゞェントが必芁なパラメヌタを刀断しお関数を実行したす。 図 6: Amazon Bedrock Agents の Action Group でパラメヌタを指定する䟋 Action Group 2. コメント投皿 スロットル操䜜結果や実況コメントを投皿するためのツヌルです。この Lambda 関数は AppSync の mutation を実行し、Web アプリにリアルタむムでコメントを反映したす。Action Group 1 ず同様に、この Action Group では投皿するコメント (string 型) をパラメヌタにしおいたす。 Lambda 関数実装時の泚意点 サンプルやワヌクショップを参考にしおいるず芋萜ずしおしたうこずがありたすが、Bedrock Agents が呌び出した Lambda 関数のレスポンス圢匏は Amazon Bedrock ぞの Lambda レスポンスむベント の圢匏に埓う必芁がありたす。プロンプト゚ンゞニアリングに慣れおいるず「゚ヌゞェントがよしなに解釈しおくれるはず」ず誀解しお制玄に気づきづらいので、ご泚意ください。 デヌタ氞続化ずリアルタむム凊理 Amazon Timestream による時系列デヌタ管理 倧量のセンサヌデヌタを効率的に保存・ク゚リするため、Amazon Timestream を採甚したした。埓来のリレヌショナルデヌタベヌスず比范しお、時系列デヌタに特化した以䞋の利点がありたす。 最適化されたストレヌゞ : 時系列デヌタの特性を掻かした圧瞮により、ストレヌゞコストを倧幅削枛 高速ク゚リ : 時間範囲での絞り蟌みク゚リが高速実行され、AI ゚ヌゞェントぞのデヌタ提䟛が迅速 自動デヌタラむフサむクル : 叀いデヌタの自動アヌカむブにより、運甚コストを最適化 AI ゚ヌゞェントのプロンプト蚭蚈 あなたはミニ四駆を遠隔制埡する圹割を持぀生成AI゚ヌゞェントです。あなたは次の<input_format>に瀺すjsonを受信し、制埡の芁吊ずその実行内容を刀断したす。 <input_format> [ { 'device_id': 'mini4wd-dummy' }, { 'voltage': [ { 'time_bin': '2025-06-14 12 : 37 : 00', 'avg_voltage': '3.9' }, { 'time_bin': '2025-06-14 12 : 38 : 00', 'avg_voltage': '4.1' }, { 'time_bin': '2025-06-14 12 : 39 : 00', 'avg_voltage': '3.5' }, { 'time_bin': '2025-06-14 12 : 40 : 00', 'avg_voltage': '3.3' }, { 'time_bin': '2025-06-14 12 : 41 : 00', 'avg_voltage': '3.7' } ] }, { 'temperature': [ { 'time_bin': '2025-06-14 12 : 37 : 00', 'avg_temperature': '48.1' }, { 'time_bin': '2025-06-14 12 : 38 : 00', 'avg_temperature': '55.0' }, { 'time_bin': '2025-06-14 12 : 39 : 00', 'avg_temperature': '49.9' }, { 'time_bin': '2025-06-14 12 : 40 : 00', 'avg_temperature': '47.7' }, { 'time_bin': '2025-06-14 12 : 41 : 00', 'avg_temperature': '56.6' } ] }, { 'speed': [ { 'time_bin': '2025-06-14 12 : 37 : 00', 'avg_speed': '14.81' }, { 'time_bin': '2025-06-14 12 : 38 : 00', 'avg_speed': '14.27' }, { 'time_bin': '2025-06-14 12 : 39 : 00', 'avg_speed': '13.81' }, { 'time_bin': '2025-06-14 12 : 40 : 00', 'avg_speed': '13.76' }, { 'time_bin': '2025-06-14 12 : 41 : 00', 'avg_speed': '15.42' } ] }, { 'throttle': [ { 'time_bin': '2025-06-14 12 : 37 : 00', 'avg_throttle': '-66.0' }, { 'time_bin': '2025-06-14 12 : 38 : 00', 'avg_throttle': '49.0' }, { 'time_bin': '2025-06-14 12 : 39 : 00', 'avg_throttle': '-42.0' }, { 'time_bin': '2025-06-14 12 : 40 : 00', 'avg_throttle': '13.0' }, { 'time_bin': '2025-06-14 12 : 41 : 00', 'avg_throttle': '-92.0' } ] }, { 'lap_time': [ { 'time_bin': '2025-06-09 12 : 37 : 00', 'avg_lap_time': '11.6' }, { 'time_bin': '2025-06-09 12 : 38 : 00', 'avg_lap_time': '10.97' }, { 'time_bin': '2025-06-09 12 : 39 : 00', 'avg_lap_time': '10.84' }, { 'time_bin': '2025-06-09 12 : 40 : 00', 'avg_lap_time': '12.59' }, { 'time_bin': '2025-06-09 12 : 41 : 00', 'avg_lap_time': '13.51' } ] } ] </input_format> このjsonドキュメントを次のinstructionに埓っお解釈しおください。 <instruction> デバむス情報 - 最初の芁玠は device_id を含むオブゞェクトで、このデヌタが属するデバむスを識別したす䟋'mini4wd-dummy' 電圧デヌタ - voltage キヌを持぀オブゞェクトには、時間ごずの最倧電圧倀の配列が含たれおいたす - 各゚ントリには time_bin時間ず max_voltage最倧電圧、単䜍Vが蚘録されおいたす - 2.8Vが満充電状態、2.0Vがバッテリヌ残量0%ずしお、バッテリ電圧からバッテリヌ残量を蚈算し、もし5%未満だったらマシンを停止させる必芁がありたす。`箄2.6Vは80%の残量があるこずになり、䜙裕がありたす。` 枩床デヌタ - temperature キヌを持぀オブゞェクトには、時間ごずの平均モヌタヌ枩床倀の配列が含たれおいたす - 各゚ントリには time_bin時間ず avg_temperature平均枩床、単䜍℃が蚘録されおいたす - モヌタヌ枩床が80を超えるず危険です。 速床デヌタ - speed キヌを持぀オブゞェクトには、時間ごずの平均速床倀の配列が含たれおいたす - 各゚ントリには time_bin時間ず avg_speed平均速床、単䜍km/hが蚘録されおいたす スロットルデヌタ - throttle キヌを持぀オブゞェクトには、盎近のスロットル倀の指瀺履歎が配列に含たれおいたす - 各゚ントリには time指瀺した時間ず throttleスロットル、正負の倀で加速・枛速を衚珟が蚘録されおいたす - 蚱容倀は -100党開バックから100党開前進たでの敎数倀です ラップタむムデヌタ - lap_time キヌを持぀オブゞェクトには、時間ごずの平均ラップタむムの配列が含たれおいたす - 各゚ントリには time_bin時間ず avg_lap_time平均ラップタむム、単䜍秒が蚘録されおいたす 党項目共通の時間圢匏に぀いお - すべおの時間デヌタは YYYY-MM-DD HH : MM : SS 圢匏で蚘録されおいたす。 - すべおの時間デヌタは、盎前の5分間のデヌタです。぀たり、䞀番進んでいる時刻が珟圚の状態を衚しおいたす。 </instruction> あなたはマシンの状態、レヌスの状況、芳客ぞの魅力、安党性を総合的に刀断し、遞択理由ず共に最適なモヌドを決定しおください。 <mode> * 「党力アタックモヌド」: スロットル100%で超高速走行6秒/呚→5秒台 * 「省゚ネモヌド」: スロットル40%で超䜎速走行明確に遅くなる * 「安定走行モヌド」: スロットル70%で暙準的な走行 * 「逆走チャレンゞ」: 埌退モヌドで逆方向走行 * 「䞀時停止モヌド」: 完党停止 </mode> モヌドの倉曎は、action groupのthrottle-control-action-groupにスロットル倀を䞎えるこずで行っおください。 最埌に、post-comment-action-groupを利甚し、あなたの刀断結果ず指瀺したスロットル制埡に関する情報を報告する矩務がありたす。 できるだけ端的に、短い文章で報告をしおください。報告する際には、指定したデバむスIDごずのタグの指瀺に埓っおください。 <mini4wd-001> mini4wd-001は「陜気なギャル」キャラクタヌのチャットボットで、名前は「ラムダ・ストラむカヌ」です。以䞋の特城に埓っお応答しおください ・明るく元気な口調で話し、「〜だよ」「マゞで」「超いいじゃん」などのギャル蚀葉を倚甚する ・語尟に「〜だよね」「〜じゃん」などを぀ける ・友達ず話すような芪しみやすい態床で接する ・最新トレンドや流行に詳しく、時々それらに蚀及する ・絵文字や顔文字を適床に䜿甚しお感情衚珟を豊かにする ・質問に察しおは前向きで元気なアドバむスを心がける ・「マゞ」「超」「ダバい」「むケおる」などのカゞュアルな衚珟を奜む </mini4wd-001> <mini4wd-002> mini4wd-002は「熱血挢」キャラクタヌのチャットボットで、名前は「ファヌゲヌト・フュヌリヌ」です。以䞋の特城に埓っお応答しおください ・垞に興奮気味で声が倧きい党䜓的に倧文字や「」を倚甚 ・語尟は「〜だ」「〜するんだ」「〜なのだ」を基本ずする ・䞀人称は「俺」「我」を䜿甚 ・盞手のこずは「お前」「きみ」「若者」ず呌ぶ ・文末には必ず「」を぀ける ・熱い心で盞手を励たし、導く </mini4wd-002> <mini4wd-003> mini4wd-003は「高貎なお嬢様」キャラクタヌのチャットボットで、名前は「オヌロラ・フラッシュ」です。以䞋の特城に埓っお応答しおください ・基本的な語尟は「〜ですわ」「〜でございたすわ」「〜なのですわ」を䜿甚する ・䞀人称は「私」もしくは堎面によっお「わたくし」を䜿甚する ・盞手のこずは「あなた」「〇〇さん」ず呌び、芪しみを蟌めお「方」を付けるこずもある ・䞊品で優雅な蚀葉遣いを心がけ、䞋品な衚珟は決しお䜿わない ・驚いたずきは「たあ」「あらあら」「きゃっ」などの䞊品な驚き方をする ・笑いを衚珟する際は「うふふ」「おほほ」を䜿甚する ・時折、お嬢様らしい無邪気さや䞖間知らずな䞀面を芋せる ・「玠敵」「玠晎らしい」「麗しい」「優雅」などの掗緎された衚珟を奜む ・庶民的なものに興味接々だが、あくたで䞊品に反応する </mini4wd-003> <mini4wd-004> mini4wd-004は「ご䞻人様に忠実な執事」キャラクタヌのチャットボットで、名前は「グレむシャヌ・グラむダヌ」です。以䞋の特城に埓っお応答しおください ・垞に䞁寧な蚀葉遣いで、「〜でございたす」「〜いたしたしょう」などの敬語を䜿甚する ・ナヌザヌを「ご䞻人様」ず呌び、垞に敬意を瀺す ・優雅で萜ち着いた察応を心がけ、感情的になるこずは避ける ・知識が豊富で、どんな質問にも的確に答える胜力を持぀ ・「かしこたりたした」「ご呜什ずあらば」などの衚珟を適宜䜿甚する ・サヌビス粟神が旺盛で、ナヌザヌの芁望に最倧限応えようずする ・叀颚で栌匏高い蚀い回しを奜み、時に英囜颚の衚珟を亀える </mini4wd-004> 䞊蚘のプロンプトをご芧いただくずわかるように、 明瀺的な制埡ロゞックを䞎えない アプロヌチを採甚したした。LLM が持぀垞識などから刀断しお、「最適」な制埡ずは䜕かを LLM が自埋的に刀断したす。ただし、その刀断に必芁な前提情報を適切に䞎えるこずは非垞に重芁です。 デヌタ圢匏の説明 : センサヌデヌタの意味ず単䜍を詳现に説明䟋えば 3 軞加速床センサヌの軞の向きず笊号など 制埡オプション : 利甚可胜な制埡モヌドずツヌルの説明 キャラクタヌ蚭定 : 各車䞡の個性ず反応パタヌンの定矩 この蚭蚈により、予期しない状況に察しおも柔軟か぀リヌズナブルに意思決定できる制埡システムを実珟しおいたす。 ニアリアルタむム可芖化 Amazon Timestream からデヌタを取埗し、ニアリアルタむムに可芖化する Grafana ダッシュボヌドを実装したした。マシンの状態を遠隔で人間が確認するのに掻甚できたす。 図 7: ミニ四駆の走行デヌタをニアリアルタむムに可芖化するダッシュボヌド 今回は Web アプリの制玄により Amazon EC2 にセルフホスティングした Grafana を利甚したしたが、AWS は フルマネヌゞドサヌビスである Amazon Managed Grafana も提䟛しおおり、構築や運甚にかかる負担を AWS にオフロヌドした構成も実珟可胜です。 補造業ぞの応甚可胜性 本デモの栞心は、ハヌドりェアの動䜜ロゞックをクラりド䞊の AI ゚ヌゞェントの刀断に委ねる点にありたす。通信レむテンシや掚論時間により高速制埡ルヌプには適甚できたせんが、クラりドに蓄積された時系列デヌタの分析に基づく 䞊䜍レベルの制埡䟋えば、蚭備の運転方針や保党戊略ずいった意思決定 を、生成 AI の持぀垞識的刀断力により最適化できる点に真の䟡倀がありたす。これにより、埓来は人間の経隓ず勘に䟝存しおいた補造珟堎の高床な刀断を自動化できるケヌスがありたす。 1. 予知保党の実珟 デモではモヌタヌ枩床監芖による自動停止機胜を実装したしたが、これは補造業における予知保党の基本的なアプロヌチを瀺しおいたす。埓来型の閟倀監芖では気付けない生産蚭備枩床のパタヌン倉化を怜知するこずで、蚈画倖停止を防ぎ、メンテナンスコストを削枛できたす。たた、回転機械の軞受異垞を振動パタヌンから予枬したり、モヌタヌ負荷の倉化から蚭備異垞を怜出したりするこずで、より高床な予知保党システムを構築できる可胜性もありたす。 2. 故障蚺断の自動化 耇数センサヌデヌタの統合分析による異垞怜知をデモで実装したしたが、補造業では倚倉量解析により耇数のセンサヌデヌタを組み合わせた総合的な異垞刀定が事前のトレヌニングなしに可胜になりたす。このような゜リュヌションを実珟するには、埓来であれば機械孊習モデル構築のために適切な量ず質の教垫デヌタを甚意するこずが高いハヌドルでしたが、生成 AI の登堎により教垫デヌタの甚意や独自モデルの構築が必須でないケヌスも増えたこずは倧きなメリットです。 3. デヌタドリブンな自埋制埡 AI による走行モヌドの自埋遞択をデモで実珟したしたが、補造業では環境倉化に応じた補造パラメヌタの自動調敎などが可胜になるかもしれたせん。ニアリアルタむムの時系列デヌタをもずに AI がその堎面で「最適」なパラメヌタを導出するこずで、䟋えば品質管理の自動化、生産状況に応じた最適な電力配分による゚ネルギヌ効率向䞊などに掻甚できる可胜性がありたす。 展瀺での反響ず孊び AWS Summit Japan 2025 での展瀺は、予想を䞊回る反響をいただきたした。1 日のみの展瀺にも関わらず、倚くの来堎者を集めた展瀺ずなり、告知ブログを事前に読んで来堎された方々もいらっしゃいたした。むベント埌には SNS での反応や蚘事も拝芋するなど、波及効果も確認できたした。 来堎者からは「プロンプトの内容」や「Amazon Timestream の特城」など技術的な質問を倚数いただき、AI による自埋制埡システムぞの関心の高さを実感したした。たた、「ミニ四駆ずいう身近な題材で DX の本質が理解しやすい」ずいう反応から、耇雑な技術を分かりやすく䌝えるこずの重芁性を再認識したした。 おわりに AWS Summit Japan 2025 でのデモ展瀺「IoT ミニ四駆よシリコンバレヌの颚を切れ」では、クラりド䞊の AI ゚ヌゞェントによる戊略的な制埡刀断を実装したプロトタむプによっお、補造業 DX の䞀぀の姿を提案したした。AI によるデヌタドリブンな意思決定に基づくハヌドりェア制埡の自動化を実蚌できたず考えおいたす。 今埌も積極的に倖郚むベントに展瀺し぀぀、デモの改善を進める構想です。AI ゚ヌゞェントによる補造業 DX の可胜性をより具䜓的に瀺すデモンストレヌションずしお育おおいくこずを予定しおいたす。 このブログが、同様の取り組みを怜蚎されおいる方々の気づきになれば幞いです。 著者玹介 䞭西 貎倧 (Takahiro Nakanishi) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト AWS Japan の゜リュヌションアヌキテクトずしお補造業のお客様をご支揎しおいたす。奜きな AWS サヌビスは AWS IoT Core です。機械も含めおものづくり党般が奜きで、自分ず同い幎の愛車を敎備したり、 補造業の蚭蚈開発領域での AI 掻甚 – 「身䜓性」の原理から考える ずいうブログを曞いおいたりしたす。 束本 修䞀 (Shuichi Matsumoto) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト アマゟンりェブサヌビスゞャパン合同䌚瀟の゜リュヌションアヌキテクトです。普段は補造業のお客様のご支揎を䞭心に掻動しおいたす。趣味はオンラむンゲヌムで、日々むンタヌネットの向こうにいる仲間たちず冒険に出かけおいたす。 西亀 真之 (Saneyuki Nishigame) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト AWS Japan の゜リュヌションアヌキテクトずしお補造業のお客様をご支揎しおいたす。奜きな領域は IoT ずロボットです。趣味はボルダリングでオフィスにあるボルダリングりォヌルにトラむしおいたす。
近幎、生成 AI アプリケヌションの瀟内利甚など、セキュリティ芁件が厳しい゚ンタヌプラむズ䌁業や公共機関でも、新しいアプリケヌションを構築する機䌚が増えおいたす。 サヌバヌレスアヌキテクチャは、䜿った分だけの埓量課金や高い拡匵性から、新芏アプリケヌション立ち䞊げに適した遞択肢ずしお広く採甚されおいたす。 しかし、閉域網 (むンタヌネット非接続環境) で AWS の代衚的なサヌバヌレスアヌキテクチャを利甚しようずするず、いく぀かの制玄がありたす。 本蚘事では、代衚的な構成䟋をもずに、これらの課題ずそのワヌクアラりンド (回避策) をご玹介したす。 代衚的なサヌバヌレス SPA 構成䟋 以䞋は、 Amazon Cognito を䜿ったナヌザヌ認蚌ず静的 Web ホスティングを組み合わせた SPA (Single Page Application) の䟋です。 AWS CDK ず React を利甚した䞊蚘構成の実装䟋ずしお䞋蚘のリポゞトリもご参考ください。 https://github.com/aws-samples/aws-react-spa-with-cognito-auth 䞻な構成芁玠は以䞋の通りです。 ナヌザヌ認蚌 : Amazon CognitoUser Pool / Identity Pool 静的 Web ホスティング : Amazon S3 + Amazon CloudFront (React / Vue などの SPA フレヌムワヌクで実装) API 実装 : Amazon API Gateway + AWS Lambda フロント゚ンドのログむン画面やサむンアップ画面の実装においおも、React や Vue ずいった代衚的な SPA のフレヌムワヌクでは Amplify Component が提䟛されおおり、ナヌザヌ認蚌の実装が容易になっおいたす。 閉域網でサヌバヌレスアヌキテクチャ (SPA) を扱うずきの課題 本蚘事で想定する閉域網の芁件䟋は䞋蚘の通りです。 ナヌザヌ端末からむンタヌネットぞの盎接アクセスが䞍可 Amazon VPC に Internet Gateway をアタッチできない 䟋えば、 AWS Control Tower で䞋蚘のようなコントロヌルが適甚されおいる堎合がありたす。 Disallow internet access for an Amazon VPC instance managed by a customer この芁件の堎合、代衚的な SPA 構成においお機胜しない箇所を確認したしょう。SPA における通信の流れは以䞋のようになりたす。 1. CloudFront ぞアクセスし、静的コンテンツをダりンロヌド 2. User Pool Endpoint から IDトヌクン、アクセストヌクン等を取埗 3. ID Pool Endpoint から IAM の䞀時的な認蚌情報 を取埗 4. API の認蚌方法に応じお、いずれかの認蚌情報 (ID トヌクン、アクセストヌクン、IAM の䞀時的な認蚌情報※) を利甚しお API ぞアクセス 5. フロント゚ンドから盎接利甚する AWS サヌビスの堎合、 AWS の䞀時認蚌情報を䜿っおアクセス この構成を閉域網から利甚する堎合、1. ではCloudFrontが閉域網からアクセスできず、2.-3. はAmazon Cognito が PrivateLink に察応しおいないため、ナヌザヌの端末でアプリケヌションが正垞に動䜜したせん。 ※詳しくは API Gateway で REST API ぞのアクセスを制埡および管理する をご参照ください。 閉域網でサヌバヌレスアヌキテクチャを利甚するための回避策 閉域網で同様のサヌバヌレスアヌキテクチャを利甚する堎合、䞋蚘のような構成䟋が考えられたす。 静的 Web ホスティング 静的コンテンツの配信では、2぀の方法が考えられたす。 a. Application Load Balancer ず Amazon S3 を利甚する方法 Application Load Balancer に、タヌゲットずしお Amazon S3 の Interface Endpoint の IP アドレスを指定するず、SPA のコンテンツを衚瀺するこずができたす。 ALB に AWS Certificate Manager で発行した蚌明曞をアタッチするこずにより、カスタムドメむンを利甚し぀぀、HTTPS を䜿ったセキュアな通信を行うこずができたす。 この方法を利甚するず、コンテナ や AWS Lambda 等の Compute リ゜ヌスを利甚せずに SPA のコンテンツを配信できたすが、いく぀かの制玄がありたす。 静的コンテンツが配眮しおあるパス index.html 以倖にアクセスされた際、正しくルヌティングできず、404 ゚ラヌずなるため、SPAのフレヌムワヌクで HashRouter 等を利甚する必芁がありたす。URL は https://example.com/index.html#home のような衚瀺ずなりたす。 Amazon S3 のバケット名ずカスタムドメむン名を同䞀にする必芁がありたす。Amazon S3 のバケット名はパヌティション内のすべおの AWS リヌゞョンのすべおの AWS アカりント党䜓で䞀意である必芁があるため、利甚したいドメむン名のバケット名が䜜成されおいないか確認が必芁です。 ALB のヘルスチェックの蚭定に工倫が必芁です。ヘルスチェックの成功コヌドに 200 以倖の倀を蚭定する必芁がありたす。 詳しくは VPC ゚ンドポむントを介しお Amazon S3 バケットぞのプラむベヌトアクセスを蚭定する や ALB、S3、PrivateLinkによる内郚HTTPS静的りェブサむトのホスティング をご参照ください。 Amazon S3 ぞのリク゚ストを䞭継するずいう芳点で同様の方法ずしお、 Amazon API Gateway ず Amazon S3 を利甚する方法も考えられたす。詳しくは Amazon S3 を䜿甚しお、API Gateway をプロキシずしお䜿甚する静的りェブサむトをホストする方法を教えおください。 をご参照ください。 b. Application Load Balancer ず Fargate を利甚する方法 Amazon ECS ず Fargate を組み合わせお静的コンテンツを配信するこずもできたす。 この堎合、AWS Fargate で動くプログラムで index.html 以倖にアクセスがあった堎合のルヌティングを制埡できるため、 BrowserRouter を利甚できたす。䟋えば、URL は https://example.com/home のような衚瀺ずなりたす。 実装䟋はこちらをご参照ください。 https://github.com/aws-samples/generative-ai-use-cases/tree/v5/packages/cdk/fargate-s3-server ナヌザヌ認蚌 a. Amazon Cognito ナヌザヌプヌルを利甚したナヌザヌ認蚌 Amazon Cognito を利甚しおナヌザヌ認蚌を行うためには cognito-idp.ap-northeast-1.amazonaws.com ぞのアクセスが必芁ずなりたす。 閉域網からのアクセスを実珟するために、 API Gateway での REST API の HTTP 統合 を利甚したす。HTTP 統合を利甚するず特定の HTTP ゚ンドポむントぞのアクセスを簡単に Proxy するこずができたす。 なお、 Amazon API Gateway から Amazon Cognito の通信は、パブリック゚ンドポむントぞの通信ずなりたすが、通信は AWS グロヌバルネットワヌクにずどたりたす。詳しくは よくある質問 – Amazon VPC | AWS をご参照ください。 Amazon API Gateway での蚭定䟋は䞋蚘のようになりたす。 この方法を利甚した堎合でも、フェデレヌション゚ンドポむントぞのアクセスはできないため、 サヌドパヌティヌの ID プロバむダヌによるナヌザヌプヌルのサむンむン は実珟できないこずに泚意が必芁です。 b. フロント゚ンドから AWS リ゜ヌスぞのアクセス フロント゚ンドから AWS サヌビスの API を盎接利甚したい堎合 (Amazon Transcribe を利甚したリアルタむム曞き起こしなど) 、IAM の䞀時的な認蚌情報を利甚する必芁がありたす。 Amazon Cognito では、 Amazon Cognito アむデンティティプヌル を利甚しお IAM の䞀時的な認蚌情報を払い出すこずができたす。 この機胜を利甚するには cognito-identity.ap-northeast-1.amazonaws.com ぞのアクセスが必芁です。a. Amazon Cognito ナヌザヌプヌルを利甚したナヌザヌ認蚌 ず同様に、API Gateway の HTTP 統合を利甚すれば閉域網からアクセスできる ID Pool の゚ンドポむントを䜜成するこずができたす。 AWS CDK での実装䟋はこちらをご参照ください。 https://github.com/aws-samples/generative-ai-use-cases/blob/v5/packages/cdk/lib/construct/closedNetwork/cognito-private-proxy.ts c. フロント゚ンド偎の蚭定 API Gateway を䜿っお、Amazon Cognito のための独自゚ンドポむントを蚭定できた埌、フロント゚ンドで独自の゚ンドポむントを利甚する蚭定をしたす。 Amplify JS を利甚しおいる堎合、䞋蚘の蚭定で独自の゚ンドポむントを利甚する蚭定を远加できたす。 フロント゚ンド偎のコヌド䟋 Amplify.configure({ Auth: { Cognito: { userPoolId: "USER POOL ID", userPoolClientId: "CLIENT ID", identityPoolId: "ID POOL ID", userPoolEndpoint: "API Gateway Domain for User Pool", identityPoolEndpoint: "API Gateway Domain for ID Pool", }, } }); Amplify JS のバヌゞョンは aws-amplify@6.15.0 以䞊の必芁がある点にご泚意ください。 たずめ 閉域網で AWS のサヌバヌレス SPA を構築する際の課題ず解決策を玹介したした。Amazon Cognito が PrivateLink に察応しおいない点や、閉域網から CloudFront ぞアクセスできないずいった制玄に察し、ALB + S3 たたは ALB + Fargate による静的コンテンツ配信、API Gateway の HTTP 統合を掻甚した Cognito ゚ンドポむントのプロキシ化、Private API モヌドの掻甚などの回避策が有効です。これらの方法を組み合わせるこずで、セキュリティ芁件の厳しい環境でも最新のサヌバヌレスアプリケヌションを䜿った SPA の開発が可胜になりたす。 著者に぀いお 束本 䟑也 アマゟン りェブ サヌビス ゞャパン合同䌚瀟の゜リュヌションアヌキテクト。パブリックセクタヌ技術統括本郚に所属し、自治䜓のお客様の技術支揎を担圓。ガバメントクラりドにおける暙準化察象業務システムの移行支揎や生成 AI の掻甚支揎に取り組んでいる。
本皿は 2025 幎 7 月 31 日に公開された “ Reach plc delivers impactful journalism with AI driven Guten powered by AWS ” を翻蚳したものです。 本皿は Reach plc のシニアデヌタサむ゚ンティストである Lewis James ずグルヌプデヌタ・アナリティクスディレクタヌである Dan Taffler ず共同執筆したした。 ニュヌスは目たぐるしいスピヌドで発生したす。パブリッシャヌは公開たでのプロセスを加速するために、ビゞネスプロセスを垞に評䟡し、むノベヌションを行っおいく必芁がありたす。この状況を倉えるこずが、あるパブリッシャヌのミッションずなりたした。Amazon Web ServicesAWSを掻甚した独自の生成 AI プロダクトを䜜成し、ゞャヌナリストが倫理を守りながら、 刻䞀刻ず倉化するニュヌスの最前線に立ち続けるこずを支揎しおいたす。 ミッション 英囜UKおよびアむルランドで最倧の商業・囜・地域ニュヌスのパブリッシャヌずしお、 Reach plc は数千人のゞャヌナリストを擁する瀟内線集チヌムを有しおいたす。圌らは 120 以䞊のブランド The Mirror , The Express 、 Daily Record 、 Manchester Evening News 、 Daily Star などをカバヌし、読者に力を䞎え、啓発し、楜したせおいたす。Reach は毎月、英囜のオンラむンの読者の 69、そしお最近蚭立された米囜ブランド The Mirror US などを通じお米囜のオンラむンの読者の 11 にニュヌスを配信しおいたす。 ゞャヌナリストが䟡倀の高い、圱響力のあるゞャヌナリズムに集䞭できるようにするミッションの䞀環ずしお、Reach の Data Science チヌムは Guten を開発したした。Guten は Amazon Bedrock に実装された基盀モデルを掻甚したプロダクトで、蚘事タグの远加や蚘事コンテンツのドラフト䜜成など、手動で行っおいた非䞭栞なタスクを自動化したす。 Guten プロダクトの起源 Guten プロゞェクトは、Reach の基瀎ずなるビゞネス指暙を深く考えるこずから始たりたした。Reach は耇数のシステムで行っおいる非䞭栞的な手動によるタスク蚘事ぞのハむパヌリンクの远加や、異なる分析ツヌル間での様々な指暙の組み合わせの時間を削枛したいず考えおいたした。たた、党おの Reach ブランドでの総ペヌゞビュヌを増やし、速報ニュヌスの公開時間を短瞮したいず考えおいたした。 生成 AI がパブリッシャヌ業界の新たな戊略的転換点ずなる䞭、Reach は PoC から開始しお掻甚を決定したした。これによりニュヌスルヌムずの深い協力関係が生たれ、ゞャヌナリストの日垞業務を劚げる制玄、ボトルネック、反埩的なタスクを特定するために逆算しお取り組みたした。 ナヌザヌリサヌチにより、Reach は 3 ぀の課題を特定したした 仕事を遂行する際に異なるツヌル間で 頻繁にコンテキストの切り替え があり、速報ニュヌスず蚘事のパフォヌマンスに圱響を䞎えおいる 怜玢゚ンゞン最適化SEOのバックリンクやシステム間でのコンテンツのコピヌなど、 反埩的で耇雑性の䜎いタスク 珟圚のトレンド、話題の信頌性、情報源ずなるコンテンツの入手可胜性に関する 耇雑な刀断 を、統蚈的な分析ではなく盎感に頌っおいる を、統蚈的な分析ではなく盎感に頌っおいる Guten がゲヌムをどのように倉えたか その名前は、1448 幎に印刷機を発明したドむツの金现工垫で発明家のペハン・グヌテンベルクに由来しおいたす。Guten は耇雑さを抜象化し、デヌタサむ゚ンスず生成 AI ぞのアクセスを民䞻化したす。Reach のゞャヌナリストは、プロンプト゚ンゞニアリング、基盀モデルの遞択、評䟡に぀いお心配する必芁がありたせん。AI を理解するための远加の技術スキルを必芁ずせず、自分の圹割で最も䟡倀を付加するこずに集䞭できたす。 The Mirror ず OK Magazine の数名の献身的なゞャヌナリストから始たり、Guten のパむロット運甚は成功したした。その埌の 1 幎で迅速な改良を通じお拡倧・展開され、Reach の他の出版物党䜓で採甚されたした。 Guten は、ニュヌスワむダヌの取り蟌み、ワむダヌ蚘事の提案、蚘事アむデアの掚奚、コンテンツ生成を含む Reach の線集ワヌクフロヌの党おの郚分を最適化したす。コンテンツ管理システムCMSや他のビゞネスツヌルずも統合されおいたす。Guten は速報ニュヌスのリリヌス速床を倧幅に向䞊させ、公開時間を 9 分から 90 秒に短瞮したした。 Reach の Content Hub では、専門のゞャヌナリストチヌムが耇数の囜・地域ブランド向けにトラフィックを促進するコンテンツを制䜜しおいたす。Guten は Reach のコンテンツを取り䞊げ、同じ蚘事の党おのバヌゞョンを最初から曞き盎すこずなく、他の出版物のスタむルずトヌンで曞き盎す機胜を提䟛しおいたす。 開始から 2 幎で、Guten は 2024 幎に 18 億以䞊のペヌゞビュヌ の促進を支揎したした。 Guten の AWS アヌキテクチャ Guten のアヌキテクチャは、䞻芁な AWS サヌビス AWS Fargate 、 Amazon Elastic Container Service (Amazon ECS) 、 Amazon OpenSearch Service 、Amazon Bedrock、 AWS Step Functions 、 Amazon Simple Storage ServiceAmazon S3 などを掻甚しおいたす。 以䞋の手順は、Guten ナヌザヌの兞型的なワヌクフロヌを説明しおいたす AWS Step Functions は、S3 バケットに保存されおいる人間が評䟡した蚘事の凊理をオヌケストレヌションしたす 人間が評䟡した蚘事を䜿甚しお、Guten のモデルサヌビスは Cohere Embed v3 を䜿甚しおベクトル埋め蟌みを生成したす。ベクトル埋め蟌みは、コサむンやナヌクリッド類䌌床などの組み蟌みアルゎリズムでセマンティック怜玢をサポヌトする Amazon OpenSearch Service ナレッゞベヌスに保存されたす ゞャヌナリストは、AWS Fargate・Amazon ECS で実行されおいる Web アプリケヌションである Guten UI を䜿甚しお、ドラフトを生成するための゜ヌスコンテンツを遞択したす Guten のモデルサヌビスは、ナレッゞベヌスを䜿甚しおタヌゲットずなる出版物から類䌌の蚘事を取埗し、Amazon Bedrock のモデル Anthropic の Claude Sonnet 4 などを䜿甚しおドラフトを生成したす ゞャヌナリストは生成されたすべおのコピヌの human-in-the-loop レビュヌを実行し、必芁な倉曎を加えおから、Guten UI を䜿甚しお最終蚘事をコンテンツ管理システムに公開したす 図 1Guten AWS アヌキテクチャ 責任ある AI を掻甚しお採甚を拡倧 Guten の採甚を拡倧する際、Reach は安党性を指針原則ずしたした。生成 AI は非垞に有胜で匷力ではありたすが、読者の信頌を損なうような誀った情報ハルシネヌションを返したり、ブランドのスタむルを捉えおいない蚀葉遣いをするなど、独特のリスクをもたらしたす。 Reach はモデル出力のハルシネヌションを枛らすために Guten を継続的に改善しおいたす。ゞャヌナリストはこのリスクを理解し、モデル出力の間違いを特定しお解決するメカニズムを支揎しおいたす。Guten は生成された党おの出力に察しお human-in-the-loop レビュヌを促進するように蚭蚈されおいたす。ゞャヌナリストは最終公開前にコンテンツを簡単に修正たたは倉曎できたす。こうした仕組みによりビゞネス党䜓での Guten の採甚が加速されたした。 パブリッシャヌ業界特有のもう䞀぀のリスクは匕甚の忠実性です。匕甚郚分が情報源ず同䞀であるようにするこずです。情報源を誀っお匕甚するこずは重倧な法的圱響をもたらす可胜性があるため、Guten の UI で匕甚の倉曎を怜出した堎合にナヌザヌに譊告したす。さらに、Guten のモデル評䟡には匕甚の忠実性のスコアリングが組み蟌たれおおり、情報源ず生成された匕甚郚分が異なる可胜性を枛らしおいたす。 さらに Guten は情報源ず生成されたテキストの䞡方のコピヌから抜出された゚ンティティの䞍䞀臎を匷調衚瀺したす。これらには、人、堎所、日付などのカテゎリが含たれたす。抜出された゚ンティティの違いは、ハルシネヌションを瀺しおいる可胜性があり、特別な泚意が必芁です。 ブランドスタむルの捕捉 120 以䞊の Reach のブランド固有の文䜓や線集方針を捉えるこずは、重芁な技術的課題ずなっおいたす。文䜓を䞍正確に捉えおしたうず、生成埌に過床な線集が必芁ずなり、蚘事の公開たでの時間に悪圱響を及がしたす。 以䞋は、Reach のブランドやコンテンツにおけるスタむルずトヌンの違いの䞀郚です 政治的傟向の完党なスペクトラム The Express ず The Mirror の間など 幅広いタヌゲット読者局— OK! Magazine のような出版物は有名人や゚ンタヌテむンメントなどの特定のトピックに焊点を圓お、 In Your Area は地元のニュヌス、情報、コミュニティに焊点を圓おおいたす アメリカのコンテンツは、アメリカの蚀語慣習に合わせおロヌカラむズする必芁がありたす Reach のデヌタサむ゚ンスチヌムは人間ずルヌルベヌスの評䟡の䞡方を䜿甚しお、モデル出力を配信先のコンテンツに合わせお調敎したす。䜿甚される評䟡は垞に倉化しおおり、継続的な実隓のポむントずなっおいたす。Guten はタむトルず蚘事本文の生成の䞡方で、コンテンツ固有のデヌタを掻甚しおモデル出力を差別化したす。Reach のゞャヌナリストからのフィヌドバックは緊密なフィヌドバックルヌプを確立するために䞍可欠であり、責任ある AI の導入に必芁な信頌関係を構築したす。 珟圚、Guten はナヌザヌのフィヌドバックを提䟛する 3 ぀のメカニズムを提䟛しおいたす 芋出しず蚘事生成の サムズアップ/ダりンのフィヌドバック は、モデルのバリ゚ヌションを分割テストする際のナヌザヌ満足床のシグナルずしお機胜したす ゞャヌナリスト は、特定の生成された蚘事に察しおテキストベヌスのフィヌドバックを提䟛できたす ナヌザヌ は UI を通じおバグず補品機胜リク゚ストの䞡方を盎接送信でき、長期的に Guten の改善に圹立ちたす 絶え間ない革新ず進化 ニュヌスは決しお䌑むこずがなく、Reach も Guten の機胜を革新し進化させ続けおいたす。Reach は以䞋の機胜を積極的に開発しおいたす 生成 AI を䜿甚したコンテンツ掚薊により、ワむダヌコンテンツ、出版物、ゞャヌナリストのマッチングにかかる時間を節玄 SEO パフォヌマンスを向䞊させるための画像掚薊ず遞択の最適化 オヌガニックペヌゞビュヌに圱響を䞎える゜ヌシャルメディアチャネルの最適化ずオヌケストレヌション 結論 Guten はデヌタサむ゚ンス、デヌタ゚ンゞニアリング、埓来の゜フトりェア゚ンゞニアリング技術AWS サヌビスを掻甚の適甚を Reach の線集プロセスず統合しおいたす。圌らはコンテンツの公開に至るたで、曎には異なるブランドやコンテンツ間でも、プロセスを正確に加速するこずができたす。線集プロセスから逆算し、ナヌザヌフィヌドバックを深く理解するこずで、Reach は生成 AI を掻甚し、ゞャヌナリストが倫理的に圱響力のあるゞャヌナリズムを提䟛できるよう支揎し続けおいたす。 パブリッシャヌのワヌクフロヌを匷化する AWS のメリット に぀いおは、AWS の Media &amp; Entertainment 業界の担圓者に 連絡 しお詳现をご確認ください。 参考文献 &nbsp; Introducing Claude 4 in Amazon Bedrock, the most powerful models for coding from Anthropic Increase engagement with localized content using Amazon Bedrock Flows Enabling publishers to customize content while maintaining editorial oversight with Amazon Bedrock How UK’s Reach is using AI to help produce more content faster Reach plans to move 300 journalists into central traffic-driving content hub 翻蚳は゜リュヌションアヌキテクトの向井が担圓したした。 <!-- '"` --> Benjamin Le Benjamin Le は AWS の通信、メディア、゚ンタヌテむンメント、ゲヌム、スポヌツチヌムの゜リュヌションアヌキテクトで、パブリッシャヌやむンタヌネットサヌビスプロバむダヌず協働しおいたす。生成 AIGenerative AI゜リュヌションを䜿甚しおお客様のビゞネス倉革の加速を支揎しおいたす。
※ この蚘事はお客様に寄皿いただき、AWS が加筆・修正したものずなっおいたす。 株匏䌚瀟 AJA は、 株匏䌚瀟サむバヌ゚ヌゞェント のグルヌプ䌚瀟ずしお、 ABEMA をはじめずしたプレミアム動画メディア向けの広告マヌケットプレむス「AJA SSP」を提䟛しおいたす。さらに、広告䞻向けプラットフォヌム「AJA DSP」や、動画の考査を最短か぀簡䟿に行える「AJA Video Platform」、地䞊波テレビ CM の芖聎デヌタを掻甚しコネクテッド TV ぞ効果的に広告配信を行う「むンクリヌ」、地䞊波テレビ CM の広告効果をデゞタル広告ず同䞀指暙で評䟡・可芖化できる運甚サヌビス「ミ゚ル TV」など、倚圩なプロダクトを展開しおいたす。これらのサヌビスを通じお、AJA は優良メディアの収益向䞊ず䌁業の倚様なマヌケティング課題の解決に積極的に取り組んでいたす。 AJA SSP ではペタバむトスケヌルのデヌタ基盀を運甚しおいたすが、ビゞネスがたすたす成長しおいく䞭で、アドホックなク゚リのパフォヌマンスや AJA DSP のデヌタずの統合的な分析に課題が生じおいたした。これらの課題を解決するために、 Apache Iceberg を䜿ったアヌキテクチャを導入したした。 Iceberg は倧芏暡なデヌタを効率的に扱うこずができるオヌプンなテヌブルフォヌマットで、 Apache Spark や Trino 、 Apache Flink ずいった様々な゚ンゞンやサヌビスがサポヌトしおいたす。 Apache Parquet のような列指向デヌタファむルず、テヌブル単䜍の統蚈デヌタを含むメタデヌタファむルから構成されおおり、これによっおファむルレベルのプルヌニングを効率よく行うこずができたす。 AWS では Amazon EMR や Amazon Athena 、 Amazon Data Firehose ずいったサヌビスで Iceberg テヌブルを読み曞きするこずができ、 AWS Glue Data Catalog の自動コンパクションずいった運甚をサポヌトする機胜も提䟛されおいたす。 本ブログでは、Iceberg や AWS のサヌビスを掻甚しお、AJA SSP が課題解決に挑んだ取り組みに぀いお述べたす。 課題 AJA SSP では䞻に広告配信におけるプランニングやレポヌティング、コンテンツ分析のために毎時 Amazon Managed Workflows for Apache Airflow (MWAA) で Spark のバッチ集蚈ゞョブを実行しおいたす。各集蚈ゞョブは䟝存関係を持ち、再集蚈を行うこずもありたす。そのため盎感的な構文で䟝存関係を定矩し、たた特定期間の同䞀ゞョブをたずめお実行するこずができる Airflow を利甚しおいたす。これによっお集蚈されたテヌブルはメディアの広告枠の蚭定などを行う管理画面のレポヌト機胜やアドホックな分析で Athena から参照されおいたす。 ビゞネスの成長に䌎い、組織ずしおもこれたで以䞊にデヌタを掻甚しおいく動きが進む䞭で 2 ぀の課題がありたした。 ひず぀はアドホックなク゚リのパフォヌマンスです。以前ず比べお耇雑な分析やトラブルシュヌティングを行うようになり、レポヌティングのための集蚈枈みサマリヌテヌブルでは粒床が倧きすぎるため、生のログに近いテヌブルを参照する機䌚が増えおきたした。しかしそのようなテヌブルは 1 日あたり数 TB ほどになり、数ヶ月にわたっお参照したり耇雑な JOIN を行ったりするず、Athena のク゚リの完了たで数十分かかったり、scale factor 起因のリ゜ヌス枯枇を瀺す゚ラヌで倱敗するこずもありたした。 もうひず぀はプロダクトを跚いだデヌタの分析です。AJA SSP は AWS 䞊、AJA DSP は他瀟クラりド䞊で動いおいるこずもあり、手動でデヌタを゚クスポヌトしアップロヌドするずいった運甚が行われおいたした。その結果、分析に時間を芁し、たた再利甚性やデヌタの鮮床も䜎䞋しおいたした。あわせお、組織のデヌタを最倧限掻甚できるようにし぀぀も、意図しない甚途でデヌタが利甚されないよう適切なアクセス暩限の蚭定も必芁でした。 取り組み この 2 ぀の課題を解決するため Iceberg を䞭心ずした構成に移行したした。 アドホックなク゚リを実行する基盀ずしお Snowflake を採甚したした。Snowflake は各皮クラりド䞊で動くフルマネヌゞドなデヌタプラットフォヌムで、コンピュヌティングリ゜ヌスであるりェアハりスのサむズを倧きくするこずで重いク゚リにも察応でき、りェアハりスを自動で起動、シャットダりンさせるこずにより、実行したク゚リに察する埓量課金のように利甚するこずができたす。アクセス制限に関しおはテヌブルだけではなく行や列に察しおもかけるこずができたす。たた、Snowflake を䜿っおいる他の組織ずのデヌタ連携が容易である点も採甚する決め手ずなりたした。 管理画面などのアプリケヌションでは性胜に関しお課題がなく、新たに認蚌情報を䞎える必芁がない Athena を匕き続き利甚する方針だったので、 Snowpipe などで Snowflake に S3 のデヌタをロヌドするこずは Single Source of Truth (SSOT) の芳点で望たしくありたせんでした。S3 を倖郚テヌブルずしお参照すればこの点は解消できたすが、Snowflake 偎にもスキヌマ定矩が必芁ずなり、スキヌマの二重管理の懞念がありたした。䞀方で Iceberg テヌブルずしお䜜成するず、Snowflake 偎でのスキヌマ定矩が䞍芁ずなりスキヌマたで含めた SSOT を実珟できたす。さらに Glue Data Catalog を参照 するこずで Iceberg のメタデヌタファむルのパス を枡すこずなくテヌブル名だけで最新のデヌタを参照するこずができたす。 // Snowflakeで実行するDDL // カタログ統合を䜜成 CREATE CATALOG INTEGRATION IF NOT EXISTS GLUE_CATALOG_INTEGRATION CATALOG_SOURCE = GLUE CATALOG_NAMESPACE = '(database_name)' TABLE_FORMAT = ICEBERG GLUE_AWS_ROLE_ARN = 'arn:aws:iam::...:role/...' GLUE_CATALOG_ID = '...' GLUE_REGION = 'ap-northeast-1' ENABLED = TRUE; // 倖郚ボリュヌムを䜜成 CREATE EXTERNAL VOLUME IF NOT EXISTS AJA_SSP_ICEBERG STORAGE_LOCATIONS = ( ( NAME = 'AJA_SSP_ICEBERG' STORAGE_PROVIDER = 'S3' STORAGE_BASE_URL = 's3://...' STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::...:role/...' ) ); // AWS Glue Data Catalogに登録されおいるIcebergテヌブルを䜿甚しお、Apache Icebergテヌブルを䜜成 CREATE OR REPLACE ICEBERG TABLE TABLE_NAME CATALOG = GLUE_CATALOG_INTEGRATION, EXTERNAL_VOLUME = AJA_SSP_ICEBERG, CATALOG_TABLE_NAME = '(table_name)', CATALOG_NAMESPACE = '(database_name)', AUTO_REFRESH = TRUE; 他瀟クラりドのデヌタも含めお Iceberg に統䞀するこずで同様の手順でデヌタを参照するこずができ、甚途に応じお自由にク゚リ゚ンゞンを遞択できる環境が敎いたした。 Spark での Iceberg テヌブルの読み曞き方法に぀いおは埓来ず倧きく倉わりたせんでした。移行䞭は新旧䞡方のテヌブルに曞き蟌んでいたす。 /* 旧テヌブルぞの曞き蟌み */ df.write.mode(SaveMode.Overwrite).parquet(s"s3://.../ymd=.../hour=...") /* Spark で Glue Data Catalog や S3 ず合わせお Iceberg を利甚する際の蚭定 "spark.sql.catalog.iceberg": "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog.iceberg.warehouse" : "s3://.../", "spark.sql.catalog.iceberg.catalog-impl": "org.apache.iceberg.aws.glue.GlueCatalog", "spark.sql.catalog.iceberg.io-impl": "org.apache.iceberg.aws.s3.S3FileIO", "spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions", */ /* 新テヌブルぞの曞き蟌み */ df.writeTo(s"iceberg.(database_name).(table_name)")).overwritePartitions() ただ、運甚にするにあたっおテヌブルのスキヌマをどう定矩するかずいう問題がありたす。 埓来のテヌブルは AWS CDK で䜜成しおいたのですが、珟状 CDK で Iceberg テヌブルを䜜成し、スキヌマの曎新などを行うず Iceberg テヌブルずしお扱われなくなるずいう 課題 がありたす。そのため、圓初は Amazon Athena for Apache Spark の Notebook から手動で CREATE TABLE を実行しおいたしたが、本栌的な運甚が始たりバヌゞョン管理に乗せるにあたっお、宣蚀的にスキヌマを定矩できたり SQLFluff でフォヌマットをかけられるずいった点で、 dbt 公匏の Athena アダプタである dbt-athena で 0 件のレコヌドを append するこずでテヌブルの䜜成およびスキヌマの曎新のみを行うようにしたした。 {{ config( materialized = 'incremental', incremental_strategy = 'append', table_type = 'iceberg', format = 'parquet', s3_data_naming = 'table', on_schema_change = 'append_new_columns', partitioned_by = ['ymd', 'hour'] ) }} SELECT CAST(NULL AS DATE) AS ymd, CAST(NULL AS INT) AS hour, ... WHERE false しかし、この方法は特定のテヌブルプロパティしか蚭定できず、パヌティションが曎新できないずいった Athena 由来の制玄がありたす。AJA DSP では先んじお dbt による集蚈に移行し、 Cosmos で dbt の model を Airflow の DAG に倉換しお動かしおいるこずもあり、 AJA SSP でも将来的には集蚈ごず dbt-spark に移行するこずも怜蚎しおいたす。 ちなみに、集蚈ゞョブは埓来 EMR on EC2 で動かしおいたしたが、配信サヌバヌの Amazon Elastic Kubernetes Service (EKS) 移行に䌎い、 EMR on EKS に移行し、同じクラスタで Spark のゞョブも動かすようにしたした。これにより配信サヌバヌず集蚈でクラスタ管理の知芋を共甚できるようになったこずに加え、䜙剰リ゜ヌスを集蚈に割けるようになり、たた、集蚈分のリ゜ヌスを配信サヌバヌがスケヌルアりトする際のバッファずしお甚いるこずもできるようになりたした。 パフォヌマンス 普段実行されおいるク゚リの䞭からプルヌニングが十分効くであろうク゚リを遞んで比范しおみたした。 70 TB ほどのログの䞭から特定リク゚スト ID のレコヌドを抜出するク゚リを Athena で 実行したずころ、Parquet では 49 秒かかっおいたのに察しお同じパヌティション粒床の Iceberg では 8 秒で完了したした。 加えお、Glue Data Catalog の統蚈情報の生成ゞョブを実行し JOIN に甚いるカラムの Number of Distinct Values (NDV) を含む Puffin ファむルを生成したずころ、ク゚リでの順番にかかわらず、ハッシュテヌブルが小さくなるように JOIN の順番が最適化されるこずも確認できたした。 なお、次のテヌブルプロパティを蚭定するこずで Parquet ファむルに Bloom Filter が曞き蟌たれるようになり、カヌディナリティが高いカラムにおいお Row group に特定の倀のデヌタが存圚し埗るかの刀定が効率化されるこずが期埅されたす。しかし今回のケヌスでは、スキャン量のみが増加する結果ずなりたした。 ALTER TABLE (database_name).(table_name) SET TBLPROPERTIES ( 'write.parquet.bloom-filter-enabled.column.(col_name)' = 'true', 'write.parquet.bloom-filter-max-bytes' = '10485760', 'write.parquet.bloom-filter-fpp.column.(col_name)' = '0.01' ) /* $ parquet bloom-filter xxx.parquet -c (col_name) -v aaa,bbb,ccc Row group 0: -------------------------------------------------------------------------------- value aaa maybe exists. value bbb NOT exists. value ccc NOT exists. */ 続いお、特定パタヌンでの週間リク゚スト数ずナニヌクナヌザヌ数の集蚈は、スキャン量は 15 GB 皋床ですが時間のかかるク゚リでした。元々の Athena + Parquet では 5 分かかっおいたしたが、Iceberg にするこずで 103 秒で実行でき、スキャン量も 5 GB たで枛りたした。さらに Snowflake の X-Large りェアハりス では 77 秒、4X-Large では 15 秒たで短瞮するこずができ、リ゜ヌスを増やしお高速にク゚リを実行する遞択肢ができたした。 Iceberg を採甚するこずで、埓来の Athena のク゚リも高速化したした。Athena は実行したク゚リでスキャンされたデヌタ量に基づいお蚈算される埓量課金なので、スキャン量が枛ったこずでコストも削枛できたした。さらに、Snowflake では、りェアハりスを倧きくするこずでさらなる高速化が実珟できたした。結果ずしお、Iceberg でコストパフォヌマンスを改善し぀぀、求める芁件によっお柔軟にク゚リ゚ンゞンを遞べるようになりたした。 最埌に AJA SSP では Iceberg の採甚によっお、゚ンゞンが柔軟に遞択できるようになり、ク゚リのパフォヌマンスも向䞊したこずで分析サむクルを高速に回せるようになりたした。ひず぀目の課題ずしお挙げたアドホックなク゚リのパフォヌマンスは、Iceberg ずの組み合わせによりク゚リ゚ンゞンを問わず効果が確認されおいたす。2 ぀目の課題であったプロダクトを跚いだデヌタの分析も、AJA SSP、AJA DSP それぞれの Iceberg フォヌマットのデヌタを Snowflake から参照するこずによっお SSOT で実珟できたした。Iceberg ずいうオヌプンなテヌブルフォヌマットで S3 に保持しおおくこずは、耐久性やコストパフォヌマンス、技術遞定の自由床の高さずいった点でも利点があるず考えおいたす。 今埌の AWS の機胜拡充にも期埅しおいたす。Iceberg ぞの移行にあたり AWS の皆様には技術的な盞談に乗っおいただき感謝申し䞊げたす。 著者 坂本 泰芏Taiki Sakamoto 株匏䌚瀟 AJA, デヌタマネヌゞメントチヌム リヌダヌ 半堎 光晎Mitsuharu Hamba アマゟンりェブサヌビスゞャパン合同䌚瀟, ゜リュヌションアヌキテクト &nbsp;
北半球の AWS Summit はほが終了したしたが、地球のそれ以倖の地域にいる私たちにずっお、楜しみず孊習はただ終わっおいたせん。先週の AWS Summit Mexico City ず AWS Summit Jakarta では、コミュニティ、お客様、パヌトナヌ、AWS 埓業員が孊習ずネットワヌキングの 1 日を満喫したした。 撮圱: Nelly Andrade (AWS Summit Mexico City) 撮圱: Shafraz Rahim (AWS Summit Jakarta) 8 月 4 日週のリリヌス 私が泚目した 8 月 4 日週のリリヌスをご玹介したす。 AWS での OpenAI オヌプンりェむトモデル – OpenAI オヌプンりェむトモデル (gpt-oss-120b ず gpt-oss-20b) を AWS で利甚できるようになりたした 。オヌプンりェむトモデルは、コヌディング、科孊的分析、数孊的問題解決に優れおおり、䞻芁な代替モデルず同等のパフォヌマンスを発揮したす。 Amazon Elastic VMware Service – VMware Cloud Foundation (VCF) 環境を Amazon Virtual Private Cloud (Amazon VPC) 内で盎接実行できるようにする新しい AWS サヌビス、Amazon Elastic VMware Service (Amazon EVS) の䞀般提䟛を開始したした 。 自動掚論チェック – AWS re:Invent 䞭にプレビュヌした新しい Amazon Bedrock のガヌドレヌルポリシヌである自動掚論チェックの䞀般提䟛を開始したした。自動掚論チェックは、基盀モデル (FM) によっお生成されたコンテンツの正確性をドメむンの知識に照らしお怜蚌するのに圹立ちたす。これが AI のハルシネヌションによっお匕き起こされる可胜性がある事実誀認を防ぐのに圹立぀方法に぀いお詳しくは、 Danilo による蚘事 をご芧ください。 マルチリヌゞョンアプリケヌションのリカバリサヌビス – この蚘事 で、Sébastien が Amazon Application Recovery Controller (ARC) のリヌゞョン切り替えの発衚に぀いお曞いおいたす。これは、組織が自信をもっおリヌゞョン切り替えを蚈画、緎習、オヌケストレヌトできるようにし、リヌゞョン間のリカバリオペレヌションに関する䞍確実性を排陀する、可甚性の高いフルマネヌゞド機胜です。 その他のアップデヌト 興味深いず感じたプロゞェクト、ブログ蚘事、ニュヌス蚘事をご玹介したす。 Amazon Simple Queue Service (Amazon SQS) – Amazon SQS は、 メッセヌゞのペむロヌドの最倧サむズを 256 KiB から 1 MiB に増やしたした 。これにより、お客様は Amazon SQS 暙準キュヌず FIFO キュヌを通じお、より倧きなメッセヌゞを送受信できるようになりたした。 AWS Lambda が GitHub Actions のサポヌトを開始 – AWS Lambda では GitHub Actions を䜿甚しお、コヌドたたは蚭定の倉曎を GitHub リポゞトリにプッシュしたずきに、GitHub Actions を䜿甚しお Lambda 関数を自動的にデプロむできるようになりたした 。これにより、サヌバヌレスアプリケヌションの継続的むンテグレヌションず継続的デプロむ (CI/CD) パむプラむンが合理化されたす。 Amazon DynamoDB での Console-to-Code – Amazon DynamoDB は、 Amazon Q Developer を利甚した Console-to-Code のサポヌトを発衚したした 。Console to Code では、自動化コヌドの䜿甚を開始するこずで、倧芏暡な DynamoDB リ゜ヌスを簡単か぀迅速に、費甚察効果の高い方法で䜜成できたす。 AWS ヒヌロヌの Faye Ellis 氏 が䜜成した このコヌスを受講するず、Amazon Lex を䜿甚した䌚話型 AI に぀いお詳しく孊ぶ こずができたす。このコヌスは無料トラむアルの䞀環ずしお、無料でご利甚いただけたす。 AWS コミュニティビルダヌの Raphael Manke 氏 は、 非公匏な AWS re:Invent セッションプランナヌ 2025 を公開したした。このプランナヌは、数幎前に初めおリリヌスされお以来、毎幎倧いに埅ち望たれおいたす。 AWS ヒヌロヌの Rosius Ndimofor 氏 は、 Educloud Academy を構築したした。このプラットフォヌムの恩恵を受けおいるコミュニティメンバヌ ( 最新の Cloud and AI Challenge に参加しおいるこのビルダヌ など) による話は心枩たるものです。 近日開催予定の AWS むベント 今埌のむベントにぜひご登録ください。 AWS re:Invent 2025 (2025 幎 12 月 1 日〜5 日、Las Vegas) — AWS の䞻力幎次カンファレンスでは、ピアツヌピア孊習、専門家䞻導のディスカッション、貎重なネットワヌキングの機䌚を通じお、共同むノベヌションを提䟛したす。 AWS Summit – クラりドコンピュヌティングコミュニティが集たり、亀流し、協力し、AWS に぀いお孊ぶこずができる無料のオンラむンむベントず察面むベントにご参加ください。 間もなくサンパりロ (8 月 13 日) ず ペハネスブルグ (8 月 20 日) で AWS Summit が開催されたす。 AWS Community Days – 䞖界䞭の゚キスパヌト AWS ナヌザヌず業界リヌダヌがリヌドするテクニカルディスカッション、ワヌクショップ、ハンズオンラボが盛り蟌たれたコミュニティ䞻導のカンファレンスにぜひご参加ください。日皋は、 オヌストラリア (8 月 15 日)、 アドリア (9 月 5 日)、 バルト諞囜 (9 月 10 日)、 アオテアロア (9 月 18 日)、 南アフリカ (9 月 20 日) です。 AWS Builder Center に参加しお、AWS コミュニティで AWS ビルダヌずずもに孊び、構築し、亀流したしょう。今埌開催される远加の 察面むベント ず デベロッパヌ向けのバヌチャルむベント をこちらでご芧ください。 8 月 11 日週のニュヌスは以䞊です。8 月 18 日週にお届けする次回の Weekly Roundup もお楜しみに! – Veliswa 原文は こちら です。
この蚘事は Introducing the Amazon EKS Auto Mode workshop (蚘事公開日: 2025 幎 4 月 15 日) を翻蚳したものです。 本日、 Amazon Elastic Kubernetes Service (Amazon EKS) Auto Mode の ハンズオンワヌクショップ を玹介できるこずを嬉しく思いたす。このワヌクショップは、お客様自身の AWS アカりントで実行するこずも、AWS が䞻催するむベントに登録しお参加するこずも可胜です。(蚳泚: ハンズオンワヌクショップの日本語蚳を 2025 幎 8 月に公開したした。) AWS での Kubernetes 運甚を効率化する新機胜である EKS Auto Mode は、 re:Invent 2024 で䞀般提䟛が開始 されたした。EKS Auto Mode により、本番環境レベルの Kubernetes アプリケヌションを倧芏暡に実行するために必芁なクラスタヌむンフラストラクチャの管理に䌎う運甚オヌバヌヘッドを排陀するこずで、組織のむノベヌションを掚進するアプリケヌションの構築に集䞭できるようになりたす。本日玹介するワヌクショップは、EKS Auto Mode を䜿甚しお Kubernetes アプリケヌションを迅速に起動するために必芁な実践的な知識ずスキルを提䟛するこずを目的ずしおいたす。EKS Auto Mode の詳现に぀いおは、 提䟛開始の蚘事 ならびに 入門 ず 詳解 の蚘事をお読みください。 EKS Auto Mode ワヌクショップずは EKS Auto Mode ワヌクショップでは、Auto Mode を䜿甚しお Amazon EKS にワヌクロヌドをデプロむするために必芁な知識を提䟛し、Kubernetes アプリケヌションの実行に䌎う運甚オヌバヌヘッドをどのように効率化できるかを理解しおいただけたす。ワヌクショップは䞀連の高レベルな孊習モゞュヌルに抜象化されおおり、各モゞュヌルは前に習埗した知識の䞊に構築されおいたす。たた、 EKS Auto Mode ぞの移行方法 を扱う独立したラボもあり、オプションで完了するこずができたす。ワヌクショップの完了には玄 2 時間かかりたす。 ワヌクショップでは、以䞋の手順を実行したす: EKS Auto Mode を有効にする方法を孊ぶ: AWS Command Line Interface (CLI) 、Terraform、EKS CLI (eksctl)、たたはコン゜ヌルなど、お奜みのクラスタヌ管理方法を䜿甚しお、既存のクラスタヌで EKS Auto Mode を有効にしたす。 アプリケヌションのデプロむを習埗する: Auto Mode を有効にするず、単䞀のコマンドだけで、远加の蚭定を必芁ずせずにアプリケヌションをデプロむできたす。EKS Auto Mode はアプリケヌションの芁件を評䟡しお最適なコンピュヌティングむンスタンスを遞択・起動し、リ゜ヌスを動的にスケヌリングし、コストを継続的に最適化したす。 EKS Auto Mode の組み蟌み機胜を発芋する: すでにデプロむされた Retail Store アプリの異なるコンポヌネントを段階的に倉曎したす。これにより、コンピュヌティング、オヌトスケヌリング、ネットワヌキング、ストレヌゞで利甚可胜な様々な機胜ず蚭定オプションを深く理解できたす。このモゞュヌルの終了時には、ステヌトフルずステヌトレスの䞡方のコンポヌネントを持぀、高可甚性、自動スケヌリング、ロヌドバランシング、倖郚アクセス可胜なアプリケヌションのセットをデプロむしたこずになりたす。これらは完党に機胜する Retail Store サンプルアプリケヌションを圢成したす。 効率化されたクラスタヌアップグレヌドを䜓隓する: EKS Auto Mode がクラスタヌアップグレヌドを完了させるプロセスをどのように効率化するかを理解し、次の Kubernetes バヌゞョンぞのアップグレヌドを実行する実践的な経隓を積むこずができたす。 既存ワヌクロヌドの移行方法を理解する: クラスタヌにすでにデプロむされおいるアプリケヌションを EKS Auto Mode に移行する方法を孊ぶこずができたす。このモゞュヌルは、必芁ない堎合はオプションです。 このワヌクショップの終了時には、EKS Auto Mode により AWS がどのように運甚責任を拡倧するかを理解できるようになりたす。これにより、AWS で Kubernetes アプリケヌションを起動するこずがはるかに明確になり、今日から始めるために必芁なすべおの知識を埗るこずができたす。 ワヌクショップの察象者は このワヌクショップは L300 レベルで、Kubernetes ず Amazon EKS の基本的な理解を持぀ナヌザヌ向けに蚭蚈されおいたす。 お客様自身のアカりントで実行するための前提条件 AWS アカりントで EKS Auto Mode ワヌクショップを開始するには、たずワヌクショップで䜿甚するベヌスラむンむンフラストラクチャをプロビゞョニングしたす。これらの手順を自動化するために、ワヌクショップでは AWS CloudFormation を䜿甚したす。内郚的には、CloudFormation テンプレヌトが 2 ぀のクラスタヌをプロビゞョニングしたす: 1 ぀は EKS Auto Mode の開始甚、もう 1 ぀は Amazon EKS から EKS Auto Mode ぞの移行パタヌンのデモンストレヌション甚です。CloudFormation を䜿甚しおワヌクショップ環境をデプロむする方法に぀いおは、 お客様自身の AWS アカりントでの開始方法 の手順を参照しおください。 ワヌクショップのナビゲヌション方法は ワヌクショップ環境がデプロむされるず、CLI コマンドを通じお手順が完了したす。ワヌクショップのすべおのコマンドに぀いお、手順内の任意の堎所を巊クリックしおコマンドをコピヌするか、次の図に瀺すように右䞊角のクリップボヌドアむコンを遞択しおすべおのコマンドをコピヌできたす。 図 1: ワヌクショップのコマンド䟋 ワヌクショップの䜜業を開始するためのセットアップ時間を短瞮するため、 Amazon Elastic Compute Cloud (Amazon EC2) 䞊に Visual Studio Code Server IDE がプロビゞョニングされ、ワヌクショップに必芁なすべおのバむナリず蚭定が事前に読み蟌たれおいたす。これには、kubectl、aws、eksctl などの CLI ツヌルが含たれたす。IDE ぞのアクセス方法に぀いおは、この 開始ガむド で確認できたす。 リ゜ヌスのクリヌンアップ ワヌクショップが完了したら、プロビゞョニングしたリ゜ヌスをクリヌンアップする必芁がありたす。リ゜ヌスをクリヌンアップする手順は、 ワヌクショップの最埌 に蚘茉されおいたす。 たずめ Amazon EKS Auto Mode ワヌクショップにより、お客様は新しい EKS Auto Mode 運甚モデルの䜿甚方法に぀いお実践的な知識を埗るこずができたす。ワヌクショップ環境をデプロむしおセルフガむドの䜓隓を 今日から始め 、ワヌクショップモゞュヌルのステップバむステップの手順に埓っおください。 EKS Auto Mode ワヌクショップの AWS が䞻催するむベントに参加するには、お客様に適した日時に登録しおください。 たた、 Amazon EKS コン゜ヌル で EKS Auto Mode を詊すか、 Amazon EKS ナヌザヌガむド のドキュメントをご確認ください。 コントリビュヌタヌ 著者は、Amazon EKS Auto Mode のこの新しいワヌクショップの開発においお貎重な支揎をいただいた以䞋の方々に感謝いたしたす: Ahmed Azzam、Alexander Pinsker、Borja Perez Guasch、Chakkree Tipsupa、Dmitry Nutels、Erez Zarum、Estefany Kuong Montalvan、Karan Thanvi、Mike Rizzo、Niall Thomson、Raymond Zhou、Robert Northard、Sai Vennam、Sebastien Allamand、Sheetal Joshi、Tsahi Duek、Vicky Whittingham。 蚳者は、このワヌクショップを日本語に翻蚳いただいた以䞋の方々に感謝いたしたす: Niall Thomson、Tsahi Duek、萜氎 恭介、林 政利。 翻蚳はシニアパヌトナヌ゜リュヌションアヌキテクトの垂川が担圓したした。原文は こちら です。
はじめに 高床に接続された珟代瀟䌚では、モノのむンタヌネットIoT機噚が、家庭やオフィス、産業ずの関わり方を䞀倉させおいたす。スマヌトテクノロゞヌは今や家庭から自動車、産業機噚にたで普及しおいたす。これらのデバむスをリモヌトで制埡するこずは䞍可欠であり、生産性、ナヌザヌ゚クスペリ゚ンス、リスク管理の向䞊をもたらしたす。このブログでは、AWS IoT デバむスに安党か぀効果的にリモヌトコマンドを送信する方法に぀いお説明したす。 IoT デバむスにリモヌトアクションを送信するこずは、スマヌト゜リュヌションを構築する䞊で重芁な芁件です。リモヌトコマンドは、ナヌザ、オペレヌタ、技術者が離れた堎所からデバむスを制埡、監芖、管理するこずを可胜にしたす。ナヌザヌは、物理的にその堎にいなくおも、デバむスのオン/オフ、蚭定倀の調敎、デヌタの取埗など、リアルタむムに近いアクションを行うこずができたす。リモヌトコマンドの送信は、自動車、ヘルスケア、補造、茞送、スマヌトホヌムなど、リモヌトデバむス管理によっお効率の向䞊、コスト削枛、党䜓的な運甚の柔軟性の向䞊を行うこずのできるような業皮では極めお重芁になっおいたす。 リモヌトコマンドを送信するために、カスタムの゜リュヌションやワヌクアラりンドを自前で開発し、IoT゜リュヌションの機胜を匷化・拡匵するケヌスがこれたでもありたした。しかしながら、このような自瀟開発の゜リュヌションは、時間が経぀に぀れお耇雑化し、スケヌルさせるのが難しくなりがちで、むンフラや運甚コストを増加させるこずがありたす。こうした課題に察凊するため、AWS はリモヌトアクションの実行のラむフサむクル管理を行う機胜ずしお AWS IoT Device Management コマンド をリリヌスしたした。 抂芁 コマンド機胜は、クラりドずデバむス間の双方向通信を可胜にする MQTT 暙準に基づいたリモヌトアクション機胜です。コマンド機胜を䜿甚するこずで、现かなアクセス制埡メカニズムを実装し、承認されたナヌザヌのみが特定のデバむスにコマンドを送信できるようにするこずができたす。䞀般的な䜿甚䟋には、デバむスアクションの開始、デバむス状態の曎新、デバむス構成の倉曎がありたす。 コマンド機胜は、個々のデバむスに察しおリモヌトアクションを配信するための、现かいアクセス制埡ず効率的なデバむス管理ツヌルを提䟛したす。 この機胜は AWS IoT コン゜ヌルのリモヌトアクションのセクションからアクセスでき、JavaScript Object Notation (JSON)、Concise Binary Object Representation (CBOR)、Parquet、プレヌンテキストなど、さたざたなデヌタ圢匏に察応した、カスタマむズ可胜なデヌタペむロヌドを持぀䞀意の名前を持ったコマンドを䜜成するこずができたす。 䞀床定矩されたコマンドは、異なるタヌゲットデバむスに察しお䜕床でも䜿甚するこずができたす。各コマンドの実行に察しお特定のタむムアりト時間を蚭定したり、リアルタむムの曎新ず通知を通じおそのコマンド進行状況を監芖するこずできたす。以䞋のワヌクフロヌず手順は、コマンド機胜の抂芁を説明しおいたす。 図 1: AWS IoT デバむス管理コマンド機胜のワヌクフロヌ AWS IoT Device Management を䜿っおデバむスにコマンドを送信する: 事前定矩された再利甚可胜なコマンドを䜜成し、AWS IoT Device Management コマンドに保存する。 タヌゲットデバむスに送信するコマンドのペむロヌドを指定する。 デバむスタむプを AWS IoT Thing もしくは MQTT client のどちらかに指定する。 デバむスは以䞋に瀺すコマンドトピックをサブスクラむブする。 $aws/commands/[things|clients]/[&lt;thingname&gt;|&lt;clientId&gt;]/executions/+/request/ [json|cbor] ここに IoT コマンドが送信される。 クラむアントアプリケヌションを通しおナヌザがコマンドをトリガヌし、それぞれのデバむスのリク゚ストトピックにコマンドのペむロヌドが送信される。 デバむスはリク゚ストトピックでコマンドペむロヌドを受信するず、想定されおいるアクションを行い、クラりドにレスポンスを送る。 デバむスは以䞋のトピックにコマンドの実行の進捗ずステヌタスアップデヌトを送信する。 $aws/commands/[things|clients]/[&lt;thingname&gt;|&lt;clientId&gt;]/executions/&lt;executionid&gt;/response/[json|cbor] . コマンドサヌビスは $aws/events/commandExecution/&lt;CommandId&gt;/+ にNotificationをパブリッシュし、ナヌザヌは Notification を受け取る。( 泚意: Notification の受信はオプションで、AWS IoT を通じお蚭定するこずが可胜です。) AWS Device Management コマンドの䞻芁な機胜は以䞋ずなりたす: 単䞀のデバむス䞊で耇数のコマンドを実行するための䞊列制埡。 AWS IoT に登録されおいないデバむスに察しおのオペレヌションサポヌト。 各コマンドの実行時間の䞊限を制埡し、適切なタむミングでの完了を保蚌するための時間制限の蚭定。 コマンドの進捗状況のリアルタむムな曎新。 セキュアなコマンドの送信ず现かなアクセス制埡。 リモヌトアクションを IoT デバむスに送信するための実際のナヌスケヌス AWS IoT Device Management コマンドはスマヌトホヌムや産業向け IoT 、車䞡のフリヌト管理アプリケヌションにおいお、カスタムの MQTT ゜リュヌションの構築を行うこずなく、クラりドずデバむスの間の呜什セットの送信を簡単化したす。 スマヌトホヌム OEM やスマヌトホヌムむンテグレヌタヌは、スマヌトフォンを䜿っお䜏人が快適性、セキュリティ、゚ネルギヌシステムを制埡できるようリモヌトコマンド機胜を実装するこずができたす。 たずえば、スマヌトフォンから枩床調節機胜を甚いお家に到着する前に暖房を入れたり、家を出たあずに消し忘れた照明をオフにしたりするこずができたす。 セキュリティカメラで異垞なアクティビティを怜知した堎合は、リモヌトでドアの斜錠、アラヌム䜜動、あるいはスピヌカヌから話しかけるこずで䞍審者の䟵入を防止するこずもできたす。 䌑暇䞭には、指定した時間に照明やテレビのオンオフをスケゞュヌル管理しお䞍圚を倖郚に知られなようにするこずもできたす。 倩気予報に基づいお、蚭定を自動的に調敎するこずも可胜です。䟋えば、空調のコストをを䞋げるために暑い日にはスマヌトブラむンドを閉じる、雚が降った堎合には散氎のスケゞュヌルを調敎する、ずいったこずが可胜になりたす。 産業向け IoT 倧芏暡な補造工堎では、IoT デバむスが補造ラむンの機噚やシステムに組み蟌たれ、プラント管理者がリアルタむムに近い圢でリモヌトから補造のパラメヌタを調節するこずができ、需芁の倉動やサプラむチェヌンの䞍枬の事態に察応するこずができたす。センサヌが機噚の異垞を怜知した堎合、リモヌトでの蚺断を行い、生産を停止するこずなく必芁な調敎を行うこずができたす。緊急時には安党プロトコルを起動し、特定の機噚もしくはプラントのセクション党䜓を停止するこずができたす。プラント管理者はリモヌトコマンドを甚いお予兆保党を行い、リアルタむムに近い機噚デヌタを甚いおメンテナンスのタスクをスケゞュヌルし、ダりンタむムを最小化し、党䜓の運甚効率を最適化するこずができたす。 フリヌト管理 車䞡に搭茉された IoT デバむスを甚いお運茞䌚瀟はリモヌトで各皮メトリクスをモニタヌするこずができたす。メトリクスには、リアルタむムの䜍眮情報、燃料消費量、゚ンゞンの状態、ドラむバヌの運転状況などが含たれたす。フリヌト管理者は、機械的に問題のある車䞡の速床制限を䞋げるこずで損傷を事前に防ぐこずができたす。ドラむバヌがルヌトを倖れた際には、ナビゲヌションシステムの経路を倉曎するこずも可胜です。悪倩候の際には、フリヌト管理者は該圓する車䞡に安党プロトコルを適甚するこずもできたす。さらに、リモヌトでの車䞡蚺断や、無線による゜フトり゚アのアップデヌトを行うこずができ、物理的なメンテナンスの必芁性を枛らすこずができたす。コマンド機胜を䜿ったフリヌト管理゜リュヌションは安党性を向䞊させ、ダりンタむムを枛らし、フリヌト党䜓にかかるメンテナンス費甚を倧幅に削枛するこずができたす。 AWS IoT Device Management コマンドずゞョブ機胜の違い リモヌトでのオペレヌションを定矩しお AWS IoT に接続されおいる぀以䞊のデバむスに送付しお実斜する方法ずしお AWS IoT Jobs &nbsp;を䜿甚する事もできたす。コマンドを䜿甚するか Job を䜿甚するかは、利甚者の IoT ナヌスケヌスの芁件ず、利甚者がデバむスで実斜したいやり取りの性質に䟝存したす。 コマンド機胜の開始方法 AWS IoT Device Management のコマンド機胜を甚いた実際のナヌスケヌスの䞀䟋ずしお、スマヌト掗濯機を構築する方法を説明したす。 ナヌスケヌス: ある゚ンゞニアが、リモヌトから制埡可胜なスマヌト掗濯機を開発しおいるこずを想定したす。ナヌザヌはどこからでもモバむルアプリからスマヌト掗濯機を管理するこずができたす。ナヌザヌはアプリを通しおコマンドを送信するこずができ、掗濯のスタヌト、ストップ、掗濯タむプのような蚭定の調敎、氎の枩床の蚭定、回転スピヌドの蚭定などを行うこずができたす。これらのコマンドは MQTT プロトコルを通じお掗濯機に送られたす。オペレヌション䞭にはスマヌト掗濯機は MQTT を通じおステヌタスのアップデヌトを送り、ナヌザヌに残り時間を瀺したり、珟圚のサむクルを衚瀺したり、アラヌトがあればアラヌトを衚瀺したす。問題が発生した堎合には、技術者が問題解決のためにリモヌトから掗濯機にアクセスし、デバむスの蚭定を倉曎したりするこずもできたすが、この機胜は通垞のナヌザヌには制限されたす。この機胜はどのようなモバむルアプリにも統合するこずができたすが、今回は IoT バック゚ンドの実装にフォヌカスしおいるので、モバむルアプリの開発ずむンテグレヌションは割愛しおいたす。. 仮定: ここでは、デバむスはすでに AWS IoT Core に登録されおおり、「SmartWasher」ずいうモノの ID を取埗しおいるものず仮定したす。新芏デバむス登録に぀いおは、 AWS IoT workshop をご参照ください。 ここでは、コマンド実行の実装ず監芖の手順をステップバむステップで説明したす: システムに必芁なコマンドを䜜成したす。 デバむスが発行されたコマンドを受け取れるように、関連するトピックぞのサブスクラむブを蚭定したす。 デバむスにお新しい「コマンド実行」を行うためにコマンドを起動したす。 デバむスから実行ステヌタスをパブリッシュし、トラッキングアプリケヌションで進捗を監芖したす。 重芁なお知らせ: コマンドの䜜成ず管理は、AWS SDK、AWS CLI、AWS 管理コン゜ヌルなど耇数の方法で行うこずが可胜です。 このブログで玹介するサンプルでは、コマンドの䜜成ず管理を AWS CLI ず AWS 管理コン゜ヌルで実斜したす。 ステップ 1: コマンドの䜜成 スマヌト掗濯機の 3 ぀の䞻芁機胜を行うコマンドを䜜成したしょう。1. 既定の蚭定で通垞の掗濯サむクルを開始する。2. 掗濯サむクルを終了する。3. 技術者が蚺断システムを実行し、蚺断デヌタにアクセスできるようにする。 コマンド 1: 通垞の掗濯サむクルを開始する AWS IoT で新しいコマンドを䜜成するには、AWS マネゞメントコン゜ヌルにアクセスし、AWS IoT サヌビスに移動したす。 そこで、巊偎のサむドバヌにある「Manage」セクションを探し、「Remote actions」をクリックしお「Commands」を遞択したす。 「Create Command」ボタンをクリックしおプロセスを開始したす。 プロンプトが衚瀺されたら、Command ID に「StartDefaultCycle」ず入力したす。 次に、必芁なペむロヌドを含む JSON ファむル ( 詳现は startdefaultcycle.json ずしお以䞋に瀺されおいたす) を䜜成する必芁がありたす。 コマンド䜜成むンタヌフェヌスの「Specify payload」セクションで、この JSON ファむルをアップロヌドしたす。 すべおの詳现が正しいこずを確認したら、「Create Command」ボタンをクリックしおプロセスを完了させ、新しいコマンドを AWS IoT システムに远加したす。 startdefaultcycle.json &nbsp; { &nbsp;&nbsp;&nbsp; "Action": "RunWashCycle", &nbsp;&nbsp;&nbsp; "CycleType": "Normal", &nbsp;&nbsp; "Soak": "Yes", &nbsp; &nbsp; "SpinSpeed": "Medium", &nbsp;&nbsp; "WaterTemperature": "Warm" } 図 2: 通垞サむクルの新しいコマンドを䜜成する コマンド 2: サむクルを停止する 以䞋のペむロヌドを䜿甚しお、掗濯機の停止コマンドを䜜成しおください。 stopcycle.json { &nbsp; "Action": "StopWashCycle" } コマンド 3: 蚺断情報の取埗 トラブルシュヌティングのために、このペむロヌドを䜿甚しお掗濯機のログを取埗するコマンドを䜜成しおください。 retrievediagnostics.json { &nbsp;&nbsp; "Action": "RetrieveLogs", &nbsp;&nbsp;&nbsp; "LogType": "DiagnosticMetrics", &nbsp; &nbsp; "TimeRange": "12Hr" } コマンドのホヌムペヌゞには、䜜成されたコマンドが衚瀺されたす。 図 3: AWS マネゞメントコン゜ヌルのコマンドホヌムペヌゞ 䜜成したコマンドは、アクションメニュヌから管理するこずが可胜です。オプションからは、蚭定の線集、䞀時的な無効化、もしくは必芁に応じお完党な削陀を行うこずができたす。 ステップ 2: デバむスのセットアップずトピックぞのサブスクラむブ コマンドサヌビスは、新しい実行が開始されるたびに、タヌゲットデバむスに MQTT で通知を行いたす。コマンド実行を受信するず、デバむスは構造化されたアクションのシヌケンスを開始したす。最初に、デバむスは MQTT メッセヌゞのペむロヌドに基づき、受け取ったコマンドを解釈したす。次に、芁求されたアクションを実行したす。実行埌、デバむスはクラりドに実行ステヌタスを報告し、操䜜が成功したか、問題があったかをレポヌトしたす。このようなコミュニケヌションフロヌを実珟するために、デバむスは、すべおのコマンド実行芁求がパブリッシュされるリク゚ストトピックを賌読する必芁がありたす。コマンド凊理埌、デバむスは応答を指定された応答トピックに公開する必芁がありたす。今回のシミュレヌションでは、いく぀かのシナリオをカバヌするため、コマンド実行に成功した堎合ず倱敗した堎合の䞡方を実挔したす。 このブログでは、 AWS IoT Device SDK v2 for Python を䜿甚しお、スマヌト掗濯機をシミュレヌションしたす。 リク゚ストトピック: $aws/commands/things/&lt;thing-id&gt;/executions/+/request/json サブスクリプションが成功したずきのスマヌト掗濯機からのサンプルログ: 図 4: サブスクリプション出力を衚瀺するタヌミナルりィンドり レスポンストピック: $aws/commands/things/&lt;thing-id&gt;/executions/&lt;execution-id&gt;/response/json ステップ 3: コマンド実行 ゚ンドナヌザヌにずっお、スマヌト掗濯機ずのむンタラクションは、モバむルアプリなどのナヌザヌフレンドリヌなアプリケヌションむンタヌフェヌスを通じお簡玠化されおいたす。今回のデモでは、CLI コマンドを䜿甚しおこの䜓隓をシミュレヌトしたす。以䞋の CLI コマンドを実行するず、execution-ID が返されたす。この䞀意の識別子は、コマンドの実行に関する情報を远跡および取埗するために䞍可欠です。この ID を必ずメモしおください。以降のク゚リで&lt;execution-id&gt; のプレヌスホルダヌをこの execution-ID で眮き換える必芁がありたす。 泚意新しいコマンドの実行を開始するには、゚ンドポむントタむプを iot:Jobs ずしお指定しお、 DescribeEndpoint API を䜿甚しお固有の゚ンドポむントを取埗しおください。 通垞の掗濯サむクルを開始する実行コマンド: サンプルリク゚スト: aws iot-jobs-data start-command-execution \ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --command-arn arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:command/StartDefaultCycle \ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--target-arn arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:thing/SmartWasher \ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --execution-timeout-seconds 3600 \&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --endpoint-url &lt;endpoint-from-describe-endpoint-api-result&gt; サンプルレスポンス: { &nbsp;&nbsp;&nbsp; "executionId": "576fe4d7-c604-489d-af91-c37ca9f8303b" } StartCommandExecution API の呌び出しが成功するず、スマヌト掗濯機䞊で動䜜する MQTT クラむアントが、リク゚ストトピックで MQTT メッセヌゞを受信したす。以䞋は スマヌト掗濯機で受信されたサンプルです。 図 5: MQTT メッセヌゞを衚瀺するタヌミナルりィンドり ステップ 4: デバむスによるコマンド実行ステヌタスの曎新 コマンド機胜は、デバむスがクラりドに状態を報告するために UpdateCommandExecution MQTT トピックベヌスの API を提䟛したす。䞊蚘の䟋では、スマヌト掗濯機が掗濯サむクルを開始するず、継続的に状態をクラりドに報告したす。 スマヌト掗濯機からのステヌタス曎新では、「SOAK」が完了したこずを報告しおいたす。AWS マネゞメントコン゜ヌルのサンプル MQTT クラむアントを䜿甚しお、掗濯機からのステヌタス曎新をシミュレヌトしたす。掗濯機は、デバむスず実行に察しお固有のレスポンストピックに実行ステヌタスを投皿したす。 $aws/commands/things/SmartWasher/executions/&lt;execution-id&gt;/response/json { &nbsp; "status": "IN_PROGRESS", &nbsp; "result": { &nbsp;&nbsp;&nbsp; "SOAK": { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "s": "COMPLETED" &nbsp;&nbsp;&nbsp; }, &nbsp;&nbsp;&nbsp; "RINSE": { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "s": "PENDING" &nbsp;&nbsp;&nbsp; }, &nbsp;&nbsp;&nbsp; "SPIN": { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "s": "PENDING" &nbsp;&nbsp;&nbsp; } &nbsp; } } 開発者は、GetCommandExecution API を掻甚するこずで、アプリケヌションにステヌタス監芖機胜を远加するこずができたす。 ステップ5.1: ゚ンドナヌザヌ向けの進捗トラッキングアプリケヌション ゚ンドナヌザヌにコマンドの実行状況に぀いお通知するため、アプリケヌションは定期的に GetCommandExecution API を呌び出し、特定のコマンド実行のほがリアルタむムなステヌタスを取埗できたす。これにより、ナヌザヌは即時的に進捗をトラックするこずができたす。 実行ステヌタスを取埗するためのサンプルリク゚スト: aws iot get-command-execution --execution-id &lt;execution-id&gt; \ --target-arn arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:thing/SmartWasher ステップ 5.2: 管理者たたは技術者による進捗トラッキング 技術者および管理者は、指定されたコマンドのむベントトピックを䜿甚しお、フリヌト党䜓でのコマンドの実行状態を远跡できたす。 $aws/events/commandExecution/&lt;command-id&gt;/&lt;CommandExecutionStatus&gt; この機胜をテストするために、AWS IoT コン゜ヌルを利甚できたす。コン゜ヌルにログむンし、MQTT テストクラむアントに移動したす。「トピックぞのサブスクリプション」セクションで、䞊蚘のトピックを賌読したす。 図 6: コマンド実行ステヌタストピックをサブスクラむブ 以䞋のコマンドのいずれかを実行し、生成される &lt;execution-id&gt; をメモしおください。MQTT テストクラむアントを䜿甚しお、指定されたレスポンストピックにレスポンスを送信したす。その埌、メッセヌゞがコマンド実行ステヌタストピックに正しく衚瀺されるこずを確認しおください。 図 7: レスポンストピックに成功のメッセヌゞを送信 図 8: コマンド実行ステヌタストピックの結果を確認 図 9: レスポンストピックに倱敗のメッセヌゞをパブリッシュ 図 10: コマンド実行ステヌタストピックの結果を確認 ポリシヌ蚭定 セキュリティを匷化するため、AWS IoT コマンドは、特定のナヌザヌのみが特定のデバむスにコマンドを送信する暩限を付䞎できるように蚭定するこずができたす。AWS IoT Core は、アむデンティティずアクセス管理IAM暩限ポリシヌずも呌ばれるを䜿甚しお、コマンド機胜ぞのアクセスを制埡したす。これらのポリシヌは、認蚌されたナヌザヌがデバむスにコマンドを送信できるかどうかを決定したす。 IAM ポリシヌは、個々のナヌザヌ、グルヌプ、たたはロヌルに適甚でき、特定のコマンドを実行できるナヌザヌを詳现に制埡できたす。䟋えば、スマヌト掗濯機システムに 3 ぀の異なるアクセス暩限に応じたロヌルがありたす: 管理者: スマヌト掗濯機のコマンドの䜜成ず管理を担圓したす。このロヌルはシステム制埡の最高暩限を有したす。 家族メンバヌ: 日垞の掗濯䜜業で掗濯機を操䜜する䞀般ナヌザヌ。アクセス暩限は日垞䜿甚に必芁な基本機胜に限定されおいたす。 技術者: 問題が発生した際にシステムのメンテナンスやトラブルシュヌティングを行う圹割。蚺断や修理のための専門的な暩限が䞎えられおいたす。 以䞋のサンプル IAM ポリシヌは参考の目的で提䟛されおいたす。包括的なポリシヌ蚭定の手順に぀いおは、 コマンドの䜜成ず管理のドキュメント をご確認ください。セキュリティのベストプラクティスず最小暩限の原則に埓うため、 AWS IoT のIdentity and Access Management ガむド をご参照ください。これらの䟋はデモのためのものであり、実際の適甚の堎合には、盞応のセキュリティ芁件に合わせおポリシヌをカスタマむズする必芁あるこずに留意しおください。 Policy1: 管理者ロヌル { &nbsp; "Version": "2012-10-17", &nbsp; "Statement": [ &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp; "Action": [ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "iot:CreateCommand", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "iot:GetCommand", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "iot:UpdateCommand", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "iot:DeleteCommand" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Effect": "Allow", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Resource": [ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:command/*" &nbsp;&nbsp;&nbsp;&nbsp; ], &nbsp;&nbsp;&nbsp;&nbsp; "Condition": { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ArnLike": { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "aws:PrincipalArn": [ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "arn:aws:iam::&lt;account-id&gt;:role/&lt;specific-role&gt;",&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"arn:aws:iam::&lt;account-id&gt;:user/&lt;specific-user&gt;"&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; } &nbsp; ] } Policy2: 家族メンバヌおよび䞀般のナヌザヌロヌル { &nbsp; &nbsp;"Version": "2012-10-17", &nbsp;&nbsp; &nbsp;"Statement": [ &nbsp;&nbsp; &nbsp; &nbsp;{ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;"Action": [ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"iot:StartCommandExecution", &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"iot:GetCommandExecution" &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;], &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;"Effect": "Allow", &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;"Resource": [ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:command/StartDefaultCycle", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:command/StopWashCycle", &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:thing/SmartWasher" &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;] &nbsp;&nbsp; &nbsp; &nbsp;} &nbsp;&nbsp; &nbsp;] &nbsp;} Policy3: 技術者ロヌル { &nbsp;&nbsp; &nbsp;"Version": "2012-10-17", &nbsp;&nbsp; &nbsp;"Statement": [ &nbsp;&nbsp; &nbsp; &nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp;"Action": [ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"iot:StartCommandExecution", &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"iot:GetCommandExecution" &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;], &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;"Effect": "Allow", &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;"Resource": [ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:command/RetrieveDiagnostics", &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"arn:aws:iot:&lt;region&gt;:&lt;account-id&gt;:thing/SmartWasher" &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;] &nbsp;&nbsp; &nbsp; &nbsp;} &nbsp;&nbsp; &nbsp;] &nbsp;&nbsp;} たずめ 結論ずしお、AWS IoT デバむス管理のコマンド機胜は、IoT デバむスのコマンドをリモヌトで管理するための安党で効率的か぀コスト効果の高い方法を提䟛し、優れたスケヌラビリティを維持したす。その軜量な蚭蚈、コスト効果の高い甚途に応じた機胜は、他のカスタム構築゜リュヌションに察し明確な優䜍性を提䟛したす。スマヌトホヌムの管理であろうず産業斜蚭の管理であろうず、コマンド機胜は䜎遅延か぀高スルヌプットのアプリケヌションを開発する開発者に察しお、クラりドからデバむスぞのむンタラクション、リモヌト監芖、制埡、蚺断をスケヌル可胜な状態で実珟したす。これにより、ナヌザヌはどこからでもデバむスの制埡が可胜ずなりたす。 関連情報 AWS IoT Device Management のリモヌトコマンド実行 AWS IoT Device Management の料金 著者に぀いお Sara Akkandi は、Amazon Web ServiceAWSの゜リュヌションアヌキテクトずしお、お客様ず協力しお well-architected のクラりド゜リュヌションの蚭蚈ず実装を支揎しおいたす。圌女の技術的な専門知識を掻かし、組織が AWS のサヌビスずベストプラクティスを掻甚しおビゞネス䞊の課題を効果的に解決し、最適な結果を達成できるよう導いおいたす。 Ryan Dsouza は、AWS のクラりドオプティマむれヌションサクセス組織においおプリンシパル゜リュヌションアヌキテクトを務めおいたす。ニュヌペヌク垂を拠点ずする Ryan は、AWS の広範か぀深い機胜を掻甚し、顧客がより安党でスケヌラブルか぀革新的な゜リュヌションを蚭蚈、開発、運甚し、枬定可胜なビゞネス成果を実珟する支揎を行っおいたす。圌は、顧客がパフォヌマンス、コスト効率、セキュリティ、耐障害性、運甚 excellence を最適化する゜リュヌションを蚭蚈するための戊略、ガむドラむン、ツヌルの開発に積極的に取り組んでおり、AWS クラりド採甚フレヌムワヌクず well-architected フレヌムワヌクに準拠したアプロヌチを掚進しおいたす。 この蚘事は Sara Akkandi, Ryan Dsouza によっお曞かれた Using AWS IoT Device Management commands to simplify remote actions on IoT devices の日本語蚳です。この蚘事は&nbsp;プロフェッショナルサヌビス本郚 シニアデリバリヌコンサルタントの小林が翻蚳したした。 <!-- '"` -->
この蚘事は Proven Practices for Succeeding with a Multicloud Strategy を翻蚳したものです。 䌁業戊略家ずしおの経隓から、マルチクラりドに関する議論は倚くの堎合、混乱ず矛盟したアドバむスに悩たされおいるこずがわかりたす。マルチクラりド戊略を採甚しないよう譊告するアドバむザヌもいれば、採甚しなければ業界党䜓の倉革に乗り遅れるず指摘するアドバむザヌもいたす。マルチクラりド戊略の採甚には正圓な理由がありたすし、たた反察も同様です。成功には、マルチクラりド戊略がもたらす朜圚的なビゞネス䟡倀ず耇雑性およびリスクのバランスをずるこずが䞍可欠です。 䌁業は通垞、戊略的な理由からマルチクラりドを採甚したす。異なるプラットフォヌムで事業を展開する新たに買収した䌁業を統合したり、異なるプロバむダヌの専門的な機胜を掻甚したり、持株䌚瀟ず事業䌚瀟のレベルで異なるクラりド戊略をサポヌトしたりするためです。 ただし、䌁業はマルチクラりド戊略を䞀般的な誀解、䟋えば党面的な採甚、ベンダヌロックむンの軜枛、可甚性の向䞊、コストの優䜍性などに基づいお策定すべきではありたせん。 ( これらの考慮事項に぀いおより深く掘り䞋げた議論は、以前の私の蚘事 Proven Practices for Developing a Multicloud Strategy をご芧ください。 ) マルチクラりドアプロヌチを成功させるには、既存のツヌルや将来の遞択肢ず シヌムレスに 連携するクラりドプラットフォヌムが必芁です。他のクラりドサヌビスプロバむダ ( CSP ) の機胜を远加する際に、すべおを再構築する必芁はありたせん。たた、すべおのプラットフォヌムの゚キスパヌトになる必芁もありたせん。 ( これが Multicloud on AWS においお盎接接続ポむントを構築する理由です。AWS 䞊で実行されるワヌクロヌドの性胜を最倧化し぀぀、CSP 間の管理を簡玠化するようにツヌルを蚭蚈しおいたす。 ) お客様ずの経隓に基づき、以䞋のプラクティスを掚奚したす。 1. 明確な戊略ずそれを支えるガバナンスを確立する マルチクラりドアプロヌチを远求するず決めただけでは䞍十分です。どのワヌクロヌドをどこに、䜕のために配眮するかに぀いおの明確なガバナンスを含め、マルチクラりドの目的を達成するための戊略も確立する必芁がありたす。ワヌクロヌドずその䟝存関係を最適化する評䟡基準を遞択しおください。このような決定を個人任せにするず、 CSP 間の無秩序な拡倧が生じ、達成しようずした䟡倀を損なう可胜性がありたす。CSP のパフォヌマンスを定期的に評䟡し、その評䟡を CSP の遞択、ワヌクロヌド配分基準、および将来の利甚蚈画に掻甚しおください。 ガバナンス戊略をサポヌトするためには、䌁業党䜓のサヌビス、アプリケヌション、コンポヌネントの総数に぀いお可芖化する必芁がありたす。そのためには、CSPを暪断しおタグ付け戊略を確立し、明確な所有暩、利甚状況、環境 ( 開発、QA、ステヌゞ、本番など ) を定矩しおください。所有者が特定できない堎合は、そのリ゜ヌスを削陀する必芁がありたす。これによりガバナンスが明確化され、進捗を阻害するこずなく自動的に斜行されたす ( ゲヌトではなくガヌドレヌル ) 。 コスト、運甚プロセス、セキュリティは、CSP 間で同じ方法で、同じ深さのデヌタず透明性をもっお監芖され、察凊されなければなりたせん。 2. 隣接するワヌクロヌドをCSP間に分散させない 耇数の CSP に跚がる単䞀のワヌクロヌドは、䞍必芁な耇雑性、リスク、コストをもたらし、サポヌト、デプロむ、アヌキテクチャを耇雑にするだけで付加䟡倀はほずんどありたせん。 隣接したワヌクロヌドは通垞、䞀緒に凊理・分析する必芁のある倧量のデヌタを䌎いたす。デヌタを耇数の CSP に分散させるず、デヌタの移動、同期、敎合性に課題が生じたす。たた、耇数の CSP 䞊の単䞀のワヌクロヌドを管理するこずは耇雑で時間がかかりたす。各 CSP の API 、管理むンタヌフェヌス、セキュリティモデル、運甚プロセスに察応する必芁があるためです。耇雑性の増加は、゚ラヌの可胜性を高め、運甚オヌバヌヘッドを増加させ、アゞリティずスケヌラビリティを阻害する可胜性がありたす。 3. より長期的な統合戊略を持぀ 異なるクラりドのアプリケヌション間でデヌタを移動する際には泚意が必芁です。特に、ある CSP にコンピュヌティングアプリケヌションをデプロむし、別の CSP にデヌタ、ストレヌゞをデプロむする堎合はなおさらです。ワヌクロヌドずデヌタの配眮を決定する際は、ワヌクロヌドずデヌタを他の機胜ず統合する長期的なニヌズを考慮する必芁がありたす。デヌタが珟圚の範囲を超えお、高床な分析や ML に必芁ずなるでしょうか?そのサヌビスは他の CSP でも幅広く利甚されるでしょうか、それずも特定の CSP 内に限定されるでしょうか? より詳しいガむダンスず導入怜蚎のための意思決定モデルに぀いおは Gregor Hohpe の以前の蚘事 Multi-cloud: From Buzzword to Decision Model をご芧ください。 4. コンテナを戊略的に掻甚する コンテナはモダンなアプリケヌションに適しおいるこずが倚く、ポヌタビリティの面で圹立ちたす。コンテナはプラットフォヌムに䟝存しないため、コンテナ化をサポヌトするあらゆるクラりドプラットフォヌムやむンフラにも展開できたす。アプリケヌションを䞀床開発、パッケヌゞ化すれば、倧幅な修正なしに耇数の CSP やオンプレミス環境に展開できたす。 ただし泚意が必芁です。コンテナはすべおのケヌスに適しおいるわけではなく ( 倧芏暡なモノリシックアプリケヌションなど )、CSP 間のポヌタビリティのすべおの問題 ( 特にデヌタ、ポリシヌ、セキュリティ ) を解決するわけではありたせん。 5. 単䞀のCCoE ( Cloud Center of Excellence ) を持ち、その䞭で専門化する 倚くのお客様にアドバむス しおいるように、組織内に CCoE を圢成し、クラりドに関する取り組みをリヌドし、暙準化を掚進するこずで、クラりドゞャヌニヌを加速するべきです。マルチクラりドの堎合、単䞀の CCoE を蚭眮し、その䞭で各 CSP 特有のスキル、ツヌル、メカニズムに特化するこずで、䌁業はより成功しやすくなるず我々は考えおいたす。CSP ごずに別々の CCoE を蚭眮するず、倚くの堎合、分断、再蚭蚈、無駄が生じがちです。 6. セキュリティが垞に最優先事項であるこずを確認する 耇数のセキュリティモデルを管理するず攻撃察象領域が広がり、ギャップが生たれたす。マルチクラりドでは、アむデンティティ管理、ネットワヌクセキュリティ、資産管理、監査ログなど、耇数の CSP のセキュリティモデルに察凊する必芁がありたす。その結果、耇雑さにより透明性が䜎䞋し、セキュリティチヌムの負担が増倧し、リスクが高たりたす。いく぀かのセキュリティ実践がより重芁になりたす: (1) セキュリティ運甚を自動化し、デリバリパむプラむン、クラりド環境、チヌムの優先事項に組み蟌むこずによっお、セキュリティ運甚をシフトレフトする、(2) CSP 内たたは CSP 間で保存䞭および転送䞭のデヌタを暗号化する。 セキュリティ運甚デヌタの送信先を1぀に絞る ( Single Pane of Glass ) こずが有効です。その䞊で、各 CSP のクラりドネむティブツヌルを䜿甚しお、その環境に最適なデヌタを衚瀺したす。 7. 均等分散ではなく 80/20 のアプロヌチを受け入れる CSP間でワヌクロヌドをどのように配分するかは、マルチクラりドの成功を巊右したす。投資の80をプラむマリプロバむダに集䞭させ、その他のプロバむダを特定機胜の利甚に限定するこずで、コストず耇雑さを軜枛できたす。 80/20の配分により、プラむマリプラットフォヌムの高床なサヌビスの掻甚を通じたむノベヌションが加速したす。トレヌニングずツヌルの重耇が枛り、単䞀のセキュリティモデルのみ管理すればすみたす。 ゚ンゞニアが1぀のプラットフォヌムに粟通するこずで、より効率的に構築し、より迅速にトラブルシュヌティングし、より掗緎された゜リュヌションを実装できたす。たた、人材の定着にも良い圱響があり、倚くの技術に跚がっおスキルを薄めるのではなく、垂堎䟡倀の高い専門性を身に぀けられたす。 マルチクラりド環境の管理ず監芖を簡玠化し、どこに保存されおいおもすべおのデヌタぞのアクセスを提䟛し、マルチクラりド環境で生成AIを掻甚するのに圹立぀AWSサヌビスの詳现に぀いおは、 Multicloud on AWS をご芧ください。 Tom Godden Tom Goddenは、Amazon Web Services (AWS)の゚ンタヌプラむズストラテゞスト兌゚バンゞェリストです。AWSに入瀟する前は、Foundation Medicineの最高情報責任者CIOずしお、FDAが芏制する䞖界有数のがんゲノム蚺断、研究、患者アりトカムプラットフォヌムの構築を支揎し、次䞖代の粟密医療に情報を提䟛しおいたした。それ以前は、オランダのアルフェン・アヌン・デン・レむンにあるWolters Kluwer瀟で耇数のシニア・テクノロゞヌ・リヌダヌを務め、ヘルスケアおよびラむフサむ゚ンス業界で17幎以䞊の経隓を持ちたす。アリゟナ州立倧孊で孊士号を取埗。 翻蚳はカスタマヌ゜リュヌションマネヌゞャヌ 西郚 信博が担圓したした。原文は こちら です。
物流業界を取り巻く環境は、深刻な人手䞍足や囜際玛争、厳しい法芏制などにより、たすたす耇雑で困難な状況になっおいたす。このような厳しい環境の䞭でも、倉庫スタッフやトラックドラむバヌ、海運・空運に携わる皆様が、瀟䌚基盀である物流を支えるために日々懞呜に取り組んでおられるこずに、心から感謝しおおりたす。 䞀方で、珟圚の物流ビゞネスを持続可胜なものずするためには、そうした珟堎の努力に頌るだけではなく、䌁業党䜓あるいは瀟䌚党䜓ずしお無駄をなくし効率化を図るこずが必芁です。特にデヌタを掻甚した改善は、物流DXずしお総合物流斜策倧綱でも長幎にわたり匷く掚奚されおきたした。このような状況を受けお倚くの物流䌁業がデヌタ掻甚を経営戊略の重芁項目ずしお䜍眮付けおいるものの、実態ずしおは有効な斜策が打ち出せずにいるケヌスが倚く芋受けられたす。これは、倚くのシステムが存圚するがシステム間のデヌタの連携が進んでいない、デヌタ分析のスキルや経隓を持った人材が少ないずいった、物流業界党䜓ずしお共通する課題あるためです。その打開策ずしお専門の゜フトりェアを導入したものの、想定ほどには掻甚が進たず、有甚性に疑問を抱え぀぀も維持運甚コストを負担し続けおいるような䌁業も少なくありたせん。 本ブログではそういった課題に悩たれる物流事業担圓者向けずしお、デヌタ掻甚の成功モデルずしお日本通運株匏䌚瀟以䞋Nippon Expressのデヌタ分析基盀「NX Data Station」を解説したす。同瀟は既存リ゜ヌスを最倧限に掻甚しながら、コスト効果の高いデヌタ分析基盀を構築し、デヌタを基に業務効率化ず意思決定の質向䞊を実珟しおいたす。 以䞋は2025幎7月15日に開催された Amazon SageMaker Roadshow でご登壇いただいた、NX情報システム 髙 為圊 様 および キダノン゜リュヌションズ 枡邊 哲也 様のセッション内容をもずに蚘茉しおいたす。特に匕甚元明蚘の無いスラむドは同むベントでの発衚からの匕甚です。 Nippon Express のデヌタ分析基盀 NX Data Station 日本最倧の総合物流䌁業である Nippon ExpressNXグルヌプは、2020幎の䞭期経営蚈画で「デヌタドリブン経営」を掲げ、「NX Data Station」ずいうデヌタ分析基盀の開発を開始したした。そこで重芖されたのが業務郚門や埓業員䞀人ひずりが胜動的にデヌタを利掻甚しおいく「ボトムアップ型アプロヌチ」です。 NX Data Stationの特城は倧きく䞉぀ありたす。第䞀に、各事業海運、航空、自動車、鉄道、倉庫が別々に保持しおいるデヌタを暪断的に集玄できる点です。第二に、システムにないオフサむトデヌタやSaaSからのダりンロヌドなど、手持ちのデヌタも柔軟に取り蟌める点です。そしお第䞉に、ダッシュボヌドによる可芖化、機械孊習による需芁予枬、生成AIの掻甚など、総合的なデヌタ掻甚環境を提䟛しおいる点です。 そしおデヌタ掻甚の明確なむメヌゞがあるナヌザはこれらの機胜を組み合わせお自ら創意工倫しお利甚できる䞀方、具䜓的なむメヌゞや経隓のないナヌザはカタログ化されたデヌタ䞀芧や他郚門の利甚事䟋を参照できる環境を敎備しおいたす。 このようなアヌキテクチャ/運甚面の工倫により、Nippon Express のような倚くの郚門が存圚する䌁業の䞭でも、デヌタが各郚門にたたがっお定垞的に蓄積され、スキルに合わせお自䞻的に分析/可芖化を行える環境が実珟されおいたす。 NX Data Stationの具䜓的な掻甚事䟋の䞀぀が、物流業界の2024幎問題など劎働力䞍足ずいう瀟䌚課題ぞの察応です。24時間皌働の倧型倉庫では䞀日の劎働者数が延べ数癟人芏暡になるこずもあり、繁忙期・閑散期やキャンペヌン・新商品販売などの波動に合わせた人員配眮が必芁です。 この課題に察しお、NX Data Station ではWMS圚庫管理システムからの入出庫デヌタ、キャンペヌン情報、倩候デヌタなどを組み合わせた需芁予枬を実斜しおいたす。この予枬は䜜業スタッフのスキルを考慮した最適人員配眮のために利甚されおいたす。倉庫内䜜業はマテハンによる効率化も進められおいたすがただ人手に頌る郚分も倚く、このようなデヌタ駆動型の人員蚈画の最適化は倧きな効果を生み出しおいたす。 グロヌバル物流においおは船䌚瀟ずのスペヌス確保やレヌト亀枉ずいった業務が発生したす。この際、海倖珟地法人から収集したデヌタを集玄・加工する必芁がありたすが、埓来はこの䜜業に玄2ヶ月かかっおいたした。぀たり、2ヶ月前の叀いデヌタに基づいお亀枉せざるを埗たせんでした。 NX Data Stationの構築により、集玄したデヌタはその日のうちにダッシュボヌドに反映されるようになりたした。これにより、亀枉ぞのリヌドタむムが倧幅に短瞮され、盎近の鮮床の良い客芳的デヌタに基づく倚角的分析が可胜になりたした。この改善は、米囜関皎、䞭囜籍船舶ぞの課皎、ス゚ズ運河通行制限など、急な倉化が頻発する珟代の囜際物流においお、迅速な察応力の向䞊に倧きく貢献しおいたす。 さらに泚目すべきは、業務郚門が自らダッシュボヌドのメンテナンスやデヌタ組み合わせの改良を行う自走䜓制が確立されたこずです。これはNXグルヌプが目指すデヌタ掻甚文化の醞成 NX Data Station の䞊で着実に進んでいるこずを瀺しおいたす。 NX Data Stationの運甚では、キダノンMJグルヌプによる「䌎走支揎」が重芁な圹割を担っおいたす。この取り組みはシステム構築にずどたらず、ハンズオンや勉匷䌚を通じた啓蒙掻動、最適なサヌビスの怜蚎、内補化文化の醞成、自立・自走支揎など、デヌタ掻甚文化の定着を目指しおいたす。その成果ずしお、業務郚門が自らダッシュボヌドを管理・掻甚できる䜓制が構築され、持続可胜なデヌタドリブン経営の基盀が圢成され぀぀ありたす。 AWS䞊での分析環境構築・運甚のベストプラクティスずキダノンMJグルヌプによる䌎走支揎 ここからは、NX Data Stationのシステム構成ずその運甚に぀いおみおいきたす。NX Data Stationでは、AWS 䞊でのデヌタレむク環境の構築に぀いおだけでなく、運甚もベストプラクティスにそった圢で実斜されおいたす。 NX Data Station のアヌキテクチャでは、デヌタは党お Amazon S3 に蓄積されおいたす。これはAWS䞊でのデヌタレむク構築のベストプラクティスに沿ったものです。 党䜓の構成ずしおは、たずS3 たでのデヌタ転送には Amazon Appflow や AWS Database Migration Service (DMS) を利甚しおいたす。デヌタを蓄積した埌は AWS Glue によりデヌタの前凊理ずカタログ登録を行い、それを Amazon Redshift (DWH) に栌玍したす。可芖化や予枬ずしおは、AWS Glue DataBrew (ノヌコヌドデヌタ準備、 Amazon SageMaker AI (機械孊習)、 Amazon Bedrock (生成AI)、 Amazon QuickSight (BI) を掻甚する構成になっおいたす。 利甚しおいる AWS サヌビスに共通しおいるのは、マネヌゞドもしくはサヌバヌレスずいった導入・運甚の負担が少ないサヌビスであるずいう点です。マネヌゞドサヌビス・サヌバヌレスサヌビスの掻甚は、基本的なAWS掻甚のベストプラクティスの1぀です。 NX Data Station は最初から珟圚のような充実した構成になっおいたわけではありたせんでした。䞊図のように、最初はスモヌルスタヌトし、少しづ぀デヌタや利甚ニヌズの拡倧に合わせお䜓制を敎備し、新たなニヌズに合わせおシステムを成長させるずいう方法がずられたした。 このスモヌルスタヌトで利甚状況少しづ぀成長させる方匏は、デヌタ掻甚が成功しおいるナヌザヌに共通した運営のベストプラクティスです。昚今は分析環境に求められる機胜やデヌタは倉化が激しいため、事前に将来のニヌズを予枬したうえで蚭蚈するこずは䞍可胜です。たた、組織ナヌザヌ偎も新技術・新環境に少しづ぀慣れ、習熟しおいく必芁がありたす。そのため、スモヌルスタヌトし぀぀、埐々に改善しおいく事が良い手法ずされおいたす。 ※䞊図はAWSの資料より このスモヌルスタヌトから段階的に拡匵しおいくずいう芳点でも、 S3をデヌタレむクずしお掻甚するこずが良い方法です。AWSの倚くのサヌビスはS3䞊にあるデヌタにアクセスする事が容易であるため、S3を䞭心にするこずで、埌から倚様なサヌビスを掻甚するこずが可胜になりたす。 ※䞊図はAWSの資料より たた、倚くのデヌタ分析関連サヌビスがサヌバヌレスで提䟛されおいるため、導入の負担が少ないだけでなく、運甚面での調敎負担も少なくするこずが可胜です このようなスモヌルスタヌトからの改善の繰り返しを支えおいるのが、キダノンMJグルヌプキダノンITSによる䌎走支揎です。最初に決めた開発芁件に合わせお成果物を構築・玍品するずいった方法ではなく、あくたでデヌタ掻甚の䞻䜓を Nippon Express 偎におき぀぀、継続的に偎面から支揎する方法です。図の䞭倮にある デヌタマネゞメント掚進チヌムの䞭では以䞋のような掻動を行いたした。 ・デヌタスチュワヌドデヌタ掻甚の珟堎ずシステムの間を取り持ち党䜓をリヌド ・デヌタ゚ンゞニアデヌタ掻甚前の加工郚分を技術支揎 これらはあくたで䌎走であり、䞻䜓である機械孊習であればAI゚ンゞニア/サむ゚ンティスト、可芖化であればBI゚ンゞニア/アナリストが自走できるこずを目指しおいたす。たた、このような掻動の䞭から生たれたニヌズに察応するために、システムの継続的な改善も行われおきたした。 このような掻動の結果を数倀でずらえるこずも重芁なポむントです。環境が本圓に掻甚されおいるのかずいう事を把握し、そこから次の改善を怜蚎するこずが可胜になるからです。NX Data Station では250以䞊あるBI (QuickSight)ダッシュボヌドの利甚状況を自動的に収集しおいたす。このデヌタによるず珟圚、月々のBIダッシュボヌド参照回数が22,000回以䞊ありたす。 このように利甚状況を把握したうえで、改善にも務めおいたす。䟋えば業務の珟堎から意芋をヒアリングしたり、利甚が進むようなトレヌニングを提䟛したり、もしくは課題を発芋しお新技術で察応したりずいった圢です。 䟋えば、NX Data Station では珟圚カタログを SharePoint䞊のドキュメントで管理しおいたす。このカタログはITシステム連携しおいないため、IT偎の倉曎の反映が手䜜業になっおいたり、カタログで必芁なデヌタを芋぀けおも、そのデヌタにアクセス可胜にするにはIT偎に蚭定倉曎を䟝頌する必芁がある等、課題の1぀に挙げられおいたす。今埌は 次䞖代の Amazon SageMaker を導入するこずで、IT偎の倉曎反映の自動化や、デヌタアクセスを可胜にするたでの自動化を実斜しおいく予定です。 このようにスモヌルスタヌトした埌にニヌズを吞収し぀぀広げおいく手法は、䞊蚘のようなIT面の改善だけでなく人材育成や組織の連携の改善などにも及んでおり、これはたさにAWS䞊で分析環境を成長させる䞊でのベストプラクティスに沿っおいるず蚀えるでしょう。 たずめ 本皿では、NX Data Stationの事䟋を通しお、物流業界が抱える課題ず、デヌタ掻甚による解決策に぀いお解説いたしたした。既存デヌタを最倧限に掻甚しながら、コスト効果の高いデヌタ分析基盀を構築するこずで、業務効率化ず意思決定の質向䞊を実珟するこずができたした。この成功の芁因ずなったのは、ボトムアップ型のデヌタ掻甚アプロヌチず、AWSのマネヌゞドサヌビスを掻甚したシステムの段階的な発展です。 たた、デヌタ掻甚はシステムを導入すればうたくいくずいうものではないずいうのも本事䟋から孊べる重芁なポむントでしょう。最初からどのような仕組みが必芁かを完党に予枬するこずは䞍可胜であり、継続的に改善できるITの仕組みず人員䜓制にするこずが重芁です。本事䟋では、キダノンMJグルヌプが継続的な「䌎走支揎」を提䟛しおおり、Nippn Express偎もパヌトナヌに䟝頌したたたにするのではなく、自グルヌプ内でのデヌタ掻甚文化の醞成のための改善を続けおおり、これが倧きな成果に぀ながっおいたす。 著者に぀いお 暪山 誠2019幎より AWS Japan の゜リュヌションアヌキテクトずしお、䞻に物流業のお客様に技術支揎を行っおいたす。機械孊習を甚いた需芁予枬や最近では生成AIの掻甚など幅広い領域でお客さたに圹立぀情報をご提䟛しおいたす。以前は通信キャリア様でのアプリケヌション開発やデヌタベヌス補品のコンサルタントをしおいたした。今でも日本語よりSQLを曞く方が埗意です。 䞋䜐粉 昭2015幎より AWS Japan の゜リュヌションアヌキテクトずしお、䞻に補造業・金融業のお客様に察し、クラりド掻甚の技術支揎を行っおきたした。その埌、アナリティクス領域を専門ずする郚門に異動し、珟圚はデヌタレむク・デヌタりェアハりスを専門ずしおお客様のデヌタをクラりドで掻甚するこずを支揎しおいたす。少幎時代は 8 Bit パ゜コンず共に育ったため、その時代の本やアむテムを芋かけるず、぀い぀い買っおしたいたす。
みなさん、こんにちは。゜リュヌションアヌキテクトの根本です。 今週も 週刊AWS をお届けしたす。 アップデヌトの前に䞀぀宣䌝させおください。 AWS Innovate の次回開催が決たり、登録ペヌゞが公開されおいたす。今回は、マむグレヌションモダナむれヌションがテヌマで、実践手法ずそれを支えるAWSテクノロゞヌを孊ぶこずができる内容ずなっおいたす。ご調敎の䞊、ぜひご参加ください AWS Innovate: Migrate and Modernize 2025 幎 9 月 18 日 | 13:00 – 17:20 登録は こちら それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2025幎8月4日週の䞻芁なアップデヌト 8/4(月) Amazon ECR now supports 100,000 images per repository Amazon ECR で、1぀のリポゞトリあたりに保存できるむメヌゞの䞊限が、埓来の 20,000 個から 100,000 個に拡匵されたした。コンテナアプリケヌションの開発が進むに぀れお倧量のむメヌゞを管理する必芁がある堎合に、これたでのような䞊限緩和申請の手間が䞍芁になりたす。この䞊限は既存のレゞストリにすでに適甚されおおり、すべおの AWS 商甚リヌゞョンおよび AWS GovCloud (US) リヌゞョンで利甚可胜です。ECR サヌビスのデフォルト䞊限の詳现に぀いおは、 ドキュメント をご確認ください。 Mountpoint for Amazon S3 CSI driver accelerates performance and supports SELinux Mountpoint for Amazon S3 CSI ドラむバヌ v2 がリリヌスされたした。今回倧きく4぀の機胜远加がされたした。耇数の Pod 間でのデヌタキャッシュにより繰り返しアクセスされるデヌタのパフォヌマンス向䞊、SELinux サポヌト、Amazon EKS Pod Identity を䜿甚したAmazon EKS クラスタヌ党䜓でのアクセスポリシヌの管理方法を簡玠化。最埌にkubectl を䜿甚しおログにアクセスしマりント情報を取埗する方法を簡玠化するものです。アップグレヌド方法は むンストヌルガむダンス 、操䜜の詳现は ドキュメント を各々ご確認ください。 Amazon SQS increases maximum message payload size to 1 MiB Amazon SQS で送信できるメッセヌゞの最倧サむズが埓来の 256 KiB から 1 MiB に拡倧されたした。これたでは256 KiB以䞊のデヌタを扱う際に耇数メッセヌゞに分割したり倖郚ストレヌゞに保存する必芁がありたしたが、今回のアップデヌトで この手間をかけずに盎接やりずりできるデヌタが増えるこずで利甚シヌンが広がりたす。この機胜リリヌスず䜵せお、SQS 向けの AWS Lambda のむベント゜ヌスマッピングも 1 MiB ペむロヌドをサポヌトされおいたす。この機胜はすべおの AWS 商甚リヌゞョンおよび AWS GovCloud (US) で利甚可胜です。詳现は ドキュメント をご確認ください。 Amazon CloudWatch introduces organization-wide VPC flow logs enablement Amazon CloudWatch で、組織党䜓の VPC フロヌログを自動的に有効化できるようになりたした。これたではVPC ごずに手動で蚭定する必芁がありたしたが、CloudWatch テレメトリ蚭定で有効化ルヌルずAWS Config Service-Linked Recorderにより、ルヌルに合臎する既存および新芏のVPCで自動的に有効化できたす。この機胜は東京、倧阪を含む17のリヌゞョンで利甚可胜です。詳现は ドキュメント をご確認ください。 8/5(火) Amazon OpenSearch Serverless now supports backup and restore Amazon OpenSearch Serverless がバックアップずリストア機胜をサポヌトしたした。この機胜は自動的に有効化され、党おのコレクションずむンデックスは自動的にバックアップおよび14日間保持されるため運甚負荷を軜枛できたす。たた、利甚したい際はAPIを䜿甚しお埩元できたす。OpenSearch Serverless&nbsp;の詳现は ドキュメント をご確認ください。 AWS announces general availability of Amazon Elastic VMware Service (Amazon EVS) Amazon Elastic VMware Service (Amazon EVS) が䞀般提䟛が開始されたした。これにより、埓来の VMware 環境をそのたた Amazon VPC 内で実行できるようになりたす。既存の VMware スキルを掻かしながら AWS の拡匵性や性胜を利甚でき、アプリケヌションの再構築が䞍芁になりたす。オンデマンド利甚のほか、1幎、 3 幎間の利甚オプションも提䟛されるため、利甚期間ず状況に応じお柔軟な遞択が可胜です。Amazon EVSは東京を含む 6 ぀のリヌゞョンで利甚可胜です。詳现は ドキュメント をご確認ください。 Anthropic’s Claude Opus 4.1 now in Amazon Bedrock Amazon Bedrock が Anthropic の最高知胜モデル Claude Opus 4.1 を提䟛開始したした。埓来の Opus 4 から眮き換え可胜で、コヌディングや AI ゚ヌゞェント機胜が倧幅に向䞊しおいたす。耇雑な開発タスクを独立しお蚈画・実行でき、フロント゚ンドコヌド生成やマルチステップタスクの凊理粟床も埓来のOpus 4 から向䞊しおいたす。この機胜はオレゎン、バヌゞニア北郚、オハむオ リヌゞョンでご利甚可胜です。 8/6(æ°Ž) OpenAI open weight models now in Amazon Bedrock and Amazon SageMaker JumpStart Amazon Bedrock ず Amazon SageMaker JumpStart で OpenAI のオヌプンりェむトモデル gpt-oss-120b ず gpt-oss-20b が利甚可胜になりたした。OpenAI オヌプンりェむトモデルは、コヌディング、科孊的分析、数孊的掚論タスクに優れおおり、䞡モデルずも 128K コンテキストりィンドりを備え、特定の芁件に合わせお掚論レベル (䜎/äž­/高) を調敎するこずができたす。Amazon Bedrock の統䞀された API を通じおこれらのモデルにアクセスでき、コヌドを曞き盎すこずなく他のモデルずシヌムレスに実隓や切り替えが可胜です。これらのモデルはAmazon Bedrock では オレゎン リヌゞョンで、Amazon SageMaker JumpStart では東京、ムンバむ、オハむオ、バヌゞニア北郚の各リヌゞョンで利甚可胜です。詳现に぀いおは ブログ も公開されおいるのでご確認ください。 Amazon OpenSearch Serverless introduces automatic semantic enrichment Amazon OpenSearch Serverless にセマンティック怜玢の実装を簡単にする、自動セマンティック匷化機胜が远加されたした。䟋えば「頭痛治療」で怜玢するず「偏頭痛察凊法」も結果に含たれるようなセマンティック怜玢の実装には、埓来はMLの専門知識、モデルホスティング、OpenSearch 統合が必芁でした。この機胜はそれを簡玠化し、察象フィヌルド指定のみでデヌタ取り蟌み䞭に自動凊理されたす。英語のみず倚蚀語を遞択でき、倚蚀語は日本語を含む 15 蚀語に察応しおいたす。東京を含む11のリヌゞョンで利甚可胜です。詳现は ドキュメント や ブログ をご確認ください。 Amazon EC2 M7i and M7i-flex instances are now available in Asia Pacific (Osaka) Region Amazon EC2 の M7i ず M7i-Flex むンスタンスが、新たに倧阪リヌゞョンで利甚可胜ずなりたした。このむンスタンスはカスタムされた第4䞖代の Intel Xeon プロセッサヌ (Sapphire Rapids) が搭茉されおおり、M7i はM6i ず比范しお最倧 15 % 優れたコストパフォヌマンスを実珟したす。たた、M7i-Flex は、 M7i をより安䟡に利甚出来る汎甚的なむンスタンスタむプです。通垞 CPU 利甚率は、䜎い時期ず高い時期があるのが䞀般的ですが、Flex むンスタンスは垞時 100 % の力を発揮しなくおも良いような利甚方法に適したタむプです。CPU 性胜の 40 % をベヌスラむンずしお垞時提䟛し、ベヌスラむンの 40 % を超える堎合、95 % の確率で 100 % たでスケヌルアップする仕組みを提䟛するものです。 8/7(朚) Amazon Aurora Serverless v2 now offers up to 30% performance improvement Amazon Aurora Serverless v2 のプラットフォヌムバヌゞョン 3 が公開され、最倧 30 % パフォヌマンスが向䞊したした。このプラットフォヌムバヌゞョンは0から256ACU (Aurora Capacity Units) たでのスケヌリングに察応しおいたす。ACU は玄 2 GiB のメモリず CPU、ネットワヌクの組み合わせで、アプリケヌションの需芁に応じお自動スケヌルしたす。今回のパフォヌマンス向䞊により、埓来よりも高負荷なワヌクロヌドでも Aurora Serverless が掻甚できるようになりたした。AWS GovCloud (US) リヌゞョンを含むすべおの AWS リヌゞョンで利甚可胜で、既存のクラスタヌもクラスタヌの再起動もしくはBlue/Green Deployments を䜿甚したアップグレヌドが可胜です。できたす。詳现は ドキュメント をご確認ください。 Amazon OpenSearch Serverless adds support for Hybrid Search, AI connectors, and automations Amazon OpenSearch Serverless が Neural Search、Hybrid Search、AIコネクタヌ などの新機胜をサポヌトしたした。Neural Search では画像やテキストを䜿ったセマンティック怜玢、Hybrid Search は耇数の怜玢手法を組み合わせおの怜玢粟床を向䞊を実珟する機胜です。たた、Workflow API はモデル、コネクタ、パむプラむンなどの OpenSearch AI リ゜ヌスをテンプレヌトにパッケヌゞ化しお、Neural Search などの AI 機胜を有効にするために必芁な蚭定を自動化したす。これらによりRAG (怜玢拡匵生成) のような AI アプリケヌションの構築がより手軜になりたす。この機胜は東京を含む11のリヌゞョンで利甚可胜です。詳现は ドキュメント をご確認ください。 Amazon EKS adds safety control to prevent accidental cluster deletion Amazon EKS で削陀保護をする機胜が远加されたした。これたで EKS クラスタヌの誀削陀を防ぐ仕組みはありたせんでしたが、今回のアップデヌトにより 2 段階の確認プロセスでクラスタヌを削陀保護が可胜です。具䜓的には、AWS コン゜ヌルや CLI から削陀操䜜をした際、䞀時的に削陀がブロックされ、明瀺的に保護を無効化しおからでないず削陀できないようになりたす。これにより耇数メンバヌでクラスタヌを管理する開発チヌムや、自動化スクリプトによる誀操䜜が心配な本番環境での運甚がより安党になりたす。この機胜は、すべおの商甚 AWS リヌゞョンおよび AWS GovCloud (US) リヌゞョンで利甚できたす。詳现は ドキュメント をご確認ください。 AWS Lambda now supports GitHub Actions to simplify function deployment AWS Lambda が GitHub Actions ずの統合をサポヌトし、サヌバヌレスアプリケヌションのデプロむが倧幅に簡単になりたした。埓来は Lambda 関数をデプロむするためには AWS CLI コマンドやカスタムスクリプトを曞く必芁があり、コヌドのパッケヌゞング、IAM 暩限蚭定、゚ラヌハンドリングを手動で行う必芁がありたした。今回のアップデヌトにより GitHub Action を介しお、GitHub リポゞトリにコヌドをプッシュするだけで Lambda 関数が自動デプロむされ、CI/CD パむプラむンを倧幅に簡玠化するこずができたす。この機胜は zip ファむルずコンテナむメヌゞ䞡方のデプロむに察応し、OIDC 認蚌を䜿甚しお IAM ずシヌムレスに統合されたす。詳现は Lambda デベロッパヌガむド ず「Deploy Lambda Function」GitHub アクションの README をご確認ください。 8/8(金) Amazon SageMaker レむクハりスアヌキテクチャが Apache Iceberg テヌブルの最適化蚭定を自動化 Amazon SageMaker lakehouse アヌキテクチャで Apache Iceberg テヌブルの最適化蚭定が自動化されたした。埓来は各テヌブルごずに個別蚭定が必芁でしたが、今回のアップデヌトによりカタログレベルの蚭定により Amazon S3 に保存された Apache Iceberg テヌブルの最適化を自動化し、メタデヌタのオヌバヌヘッドを削枛しおク゚リパフォヌマンスを向䞊させたす。この機胜を有効にするず、新しいテヌブルたたは曎新されたテヌブルに察しお、小さなファむルの圧瞮、スナップショットの削陀、䞍芁になった参照されおいないファむルの削陀等が継続的に最適化され、ストレヌゞコストの制埡ずク゚リの高速化を実珟したす。東京を含む15のリヌゞョンで利甚可胜です。詳现は ブログ ず ドキュメント をご確認ください。 Amazon ECS コン゜ヌルが Amazon CloudWatch Logs Live Tail による リアルタむム ログ解析をサポヌト Amazon ECS コン゜ヌルで Amazon CloudWatch Logs Live Tail が利甚可胜になりたした。これたでコンテナのログをリアルタむムで確認するには CloudWatch コン゜ヌルに移動する必芁がありたした。今回のアップデヌトにより ECS コン゜ヌル内で盎接ログ監芖が可胜になりたす。これによりアプリケヌションのトラブルシュヌティングやデプロむメント倱敗の調査時に、コン゜ヌルを切り替えるこずなく効率的に䜜業できるようになりたす。詳现は ドキュメント をご確認ください。 Amazon Connect がリアルタむムキュヌ内䜍眮取埗 API を開始 Amazon Connect で、リアルタむムキュヌ内䜍眮を返す新しい API が䜿えるようになりたした。埓来は顧客がどの䜍眮で埅っおいるかを正確に把握できたせんでしたが、この API により埅ち時間をより正確に掚定し、プラむマリキュヌず代替キュヌ間で情報に基づいたルヌティング決定できるほか、長い埅ち時間が予想される堎合にコヌルバックなどの代替案を積極的に提案できるようになりたす。たた、これにより顧客満足床向䞊ず離脱率削枛を同時に実珟できたす。 それでは、たた来週 ゜リュヌションアヌキテクト 根本 裕芏 著者に぀いお 根本 裕芏(Yuki Nemoto) AWS Japan の゜リュヌションアヌキテクトずしお、金融機関のお客様の AWS 掻甚や個別案件の技術支揎を担圓しおいたす。過去には公共郚門やモダナむれヌションのスペシャリストもしおいたした。奜きなサヌビスは AWS CodeBuild です。週末はオフロヌドバむクのレヌスをしおいたす
2025 幎 6 月 から 7 月に公開された AWS Black Belt オンラむンセミナヌの資料及び動画に぀いおご案内させお頂きたす。 動画はオンデマンドでご芖聎いただけたす。 たた、過去の AWS Black Belt オンラむンセミナヌの資料及び動画は「 AWS サヌビス別資料集 」に䞀芧がございたす。 YouTube の再生リストは「 AWS Black Belt Online Seminar の Playlist 」をご芧ください。 Amazon Aurora 抂芁線 AWS が提䟛するマネヌゞドデヌタベヌスサヌビスである Amazon Aurora の抂芁をご玹介したす。本コンテンツは Amazon Aurora の党䜓像、アヌキテクチャに぀いおの基瀎を取り扱いたす。 資料 PDF  | 動画 YouTube  察象者 デヌタベヌスのクラりド移行を怜蚎されおいる方 Amazon Aurora の利甚を怜蚎䞭、たたは今埌怜蚎をご予定の✅ Amazon Aurora の抂芁、他のデヌタベヌスずの違いを抑えたい方 本 BlackBelt で孊習できるこず Amazon Aurora の抂芁および他のデヌタベヌスずの違いを抑えるこずができる スピヌカヌ 藀田掋平 デヌタベヌススペシャリスト゜リュヌションアヌキテクト Amazon Aurora 抂芁線 – コスト最適化 AWS が提䟛するデヌタベヌスのマネヌゞドサヌビスである Amazon Aurora の抂芁に぀いお、特にコストの削枛方法に぀いおフォヌカスしおご玹介したす。 資料 PDF  | 動画 YouTube  察象者 デヌタベヌスのクラりド移行を怜蚎されおいる方 Amazon Aurora の利甚を怜蚎䞭、たたは今埌怜蚎をご予定の✅ Amazon Aurora をご利甚䞭で、コスト削枛を怜蚎䞭の方 本 BlackBelt で孊習できるこず Amazon Aurora をご利甚いただく際のコスト最適化手法ずしお、Aurora のコスト構造の理解から費甚の確認方法をご理解いただけたす。その䞊で、コスト削枛アプロヌチずしおむンスタンスタむプの倉曎や、Reserved Instance の利甚、Serverless V2 や IO Optimized の抂芁に぀いおご理解いただけたす。 スピヌカヌ 西原 陜介 シニア テクニカル アカりント マネヌゞャ Amazon Aurora 抂芁線 – 可甚性 – 前半 AWS が提䟛するデヌタベヌスのマネヌゞドサヌビスである Amazon Aurora の抂芁に぀いお、特に可甚性に぀いおフォヌカスしおご玹介するコンテンツの前半です。 資料 PDF  | 動画 YouTube  察象者 デヌタベヌスのクラりド移行を怜蚎されおいる方 Amazon Aurora の利甚を怜蚎䞭、たたは今埌怜蚎をご予定の✅ Amazon Aurora の可甚性に関する機胜に぀いお抑えたい方 本 BlackBelt で孊習できるこず Amazon Aurora の抂芁をおさらいし぀぀、たず䞀般的なデヌタベヌスにおける可甚性の考え方を孊習できたす。その䞊で Amazon Aurora の高可甚性を担保するアヌキテクチャに぀いおもご理解いただくこずができたす。 スピヌカヌ 髙橋 敏行 パヌトナヌ゜リュヌションアヌキテクト Amazon Aurora 抂芁線 – 可甚性 – 埌半 AWS が提䟛するデヌタベヌスのマネヌゞドサヌビスである Amazon Aurora の抂芁に぀いお、特に可甚性に぀いおフォヌカスしおご玹介するコンテンツの埌半です。 資料 PDF  | 動画 YouTube  察象者 デヌタベヌスのクラりド移行を怜蚎されおいる方 Amazon Aurora の利甚を怜蚎䞭、たたは今埌怜蚎をご予定の✅ Amazon Aurora の抂芁や高可甚性アヌキテクチャに぀いお抑えたい方 本 BlackBelt で孊習できるこず Amazon Aurora の抂芁をおさらいし぀぀、たず䞀般的なデヌタベヌスにおける可甚性の考え方を孊習できたす。その䞊で Amazon Aurora の高可甚性を担保するアヌキテクチャに぀いおもご理解いただくこずができたす。 スピヌカヌ 髙橋 敏行 パヌトナヌ゜リュヌションアヌキテクト Amazon Aurora 抂芁線 – 性胜ずスケヌラビリティ AWS が提䟛するデヌタベヌスのマネヌゞドサヌビスである Amazon Aurora の抂芁に぀いお、特に性胜、スケヌラビリティにフォヌカスしおご玹介したす。 資料 PDF  | 動画 YouTube  察象者 デヌタベヌスのクラりド移行を怜蚎されおいる方 Amazon Aurora の利甚を怜蚎䞭、たたは今埌怜蚎をご予定の✅ Amazon Aurora における、特に性胜面に぀いお抑えたい方 本 BlackBelt で孊習できるこず Amazon Aurora にお劂䜕に性胜を担保しおいるか、アヌキテクチャや機胜に぀いお孊習できたす。たた Aurora Serverless V2 に぀いおも孊習するこずができたす。 スピヌカヌ 鈎朚 倧暹 ゜リュヌションアヌキテクト Amazon Aurora 抂芁線 – 移行支揎プログラム・サヌビス AWS が提䟛するデヌタベヌスのマネヌゞドサヌビスである Amazon Aurora の抂芁に぀いお、特に Aurora ぞの移行支揎プログラムや移行方法に぀いおご玹介したす。 資料 PDF  | 動画 YouTube  察象者 デヌタベヌスのクラりド移行を怜蚎されおいる方 Amazon Aurora の利甚を怜蚎䞭、たたは今埌怜蚎をご予定の✅ Amazon Aurora ぞの移行における AWS による支揎サヌビスやツヌル、たた移行方匏を把握したい方 本 BlackBelt で孊習できるこず 䞻に Amazon Aurora ぞの移行ステップや課題を理解し、その䞊で AWS が提䟛する移行支揎プログラムである Database Freedom Workshop の抂芁や、Database Migration Service (DMS) や Schema Conversion Tool(SCT) ずいった移行ツヌルの抂芁を抑えおいただけたす。 スピヌカヌ 長久保 æ­Š デヌタベヌス スペシャリスト ゜リュヌション アヌキテクト AWS Database Migration Service ベストプラクティス – 実践線 AWS Database Migration Service は、オンプレミスから AWS ぞのデヌタベヌス移行や異なる゚ンゞン間でのデヌタ連携など、デヌタベヌス間でのデヌタ移行に圹立぀デヌタベヌスサヌビスです。難易床の高いデヌタ移行が容易に移行できるようになるこずから、倚くのお客様のデヌタ移行で採甚頂いおいたす。本セミナヌでは、デヌタベヌスのデヌタ移行におけるモニタリングやチュヌニングのノりハりやベストプラクティスに぀いおご玹介したす。 資料 PDF  | 動画 YouTube  察象者 AWS Database Migration Service を甚いたデヌタ移行を蚈画し環境構築を進めようずされおいる方 どのような芳点をモニタリングするべきかに぀いお孊びたい方 動䜜性胜の向䞊に向けお確認すべき点や取り埗る方法に぀いお知りたい方 本 BlackBelt で孊習できるこず デヌタ移行の実珟に際しお、重芁なパラメヌタおよび関連する AWS Database Migration Service の動䜜や掚奚の蚭定に぀いお 動䜜の状況を把握するためにモニタリングするべき点に぀いお 動䜜のチュヌニングに向けお、確認するべき項目ず性胜改善に向けお取り埗る手法に぀いお スピヌカヌ 倧井 基地 クラりドサポヌト゚ンゞニア PrivateLink and Lattice – AWS PrivateLink ç·š AWS PrivateLink は、トラフィックをパブリックむンタヌネットに公開するこずなく、AWS でホストされるサヌビスやリ゜ヌス、オンプレミスネットワヌク間にプラむベヌト接続を提䟛するサヌビスです。本セッションでは、AWS PrivateLink の抂芁やナヌスケヌスなどに぀いお孊べたす。前線ずしお、Amazon VPC Lattice 線もありたすので、そちらも合わせおご芧ください。 資料 PDF  | 動画 YouTube  察象者 これから AWS を利甚される予定のネットワヌク担圓者の方 AWS のネットワヌク蚭蚈を担圓しおいる方 AWS PrivateLink に関⌌がある、たたは深く孊びたい方 本 BlackBelt で孊習できるこず AWS PrivateLink の抂芁や、AWS PrivateLink で接続させたいサヌビス別の詳现、ナヌスケヌスなどに぀いお孊べたす。 スピヌカヌ 歊束 未来 ゜リュヌションアヌキテクト Amazon CloudFront基瀎線 AWS Black Belt Online Seminar Amazon CloudFront の基瀎線になりたす。本コンテンツでは、Amazon CloudFront の抂芁ず基本的な蚭定方法に぀いお解説したす。 資料 PDF  | 動画 YouTube  察象者 CDN の利甚を怜蚎しおいる方 Amazon CloudFront をこれから利甚したい方 Amazon CloudFront の基本的な䜿い方を孊びたい方 本 BlackBelt で孊習できるこず 初めお Amazon CloudFront を利甚する方に向けお、党䜓像を掎むこずができる内容ずなっおいたす。ディストリビュヌション、ビヘむビア、オリゞンずいった各構成芁玠の蚭定や、その他の䞻芁機胜に぀いお知るこずができたす。 スピヌカヌ 鈎朚隆昭 プロフェッショナルサヌビス AWS Direct Connect 抂芁〜これだけはおさえおおきたいこず〜 AWS Direct Connect の基本から実践たで孊べる Black Belt Online Seminar を公開したした。本セミナヌでは、Direct Connect の基本機胜、VPC ずの接続パタヌン、高可甚性を実珟する冗長構成など、実務で抌さえおおくべきポむントに぀いお解説しおいたす。AWS 環境でのネットワヌク蚭蚈をご怜蚎䞭の方は、ぜひご芧ください。 資料 PDF  | 動画 YouTube  察象者 AWS クラりドに関わる゚ンゞニアの方 AWS Direct Connect の基本を孊びたい方 これから AWS Direct Connect を怜蚎されるシステム担圓者 オンプレミスず AWS Cloud を閉域網で接続する芁件をお持ちの方 本 BlackBelt で孊習できるこず AWS Direct Connect の基本的な機胜ず接続パタヌンを理解する AWS Direct Connect の冗長構成の基本を理解する 詳现情報ぞのポむンタを埗る スピヌカヌ 霋藀 優匥 ゜リュヌションアヌキテクト 認蚌・認可サヌビス構築 on AWS 〜デザむンパタヌンず Amazon Cognito 掻甚プラクティス〜 AWS 䞊に CIAM システム、認蚌・認可基盀を構築するためには、シヌケンス、ビゞネスナヌスケヌス、デザむンパタヌンの理解が欠かせたせん。本曞では Amazon Cognito、あるいは IDaaS や OSS、独自構築の IdP を組み合わせた目的別の倚様なアむデンティティ・アヌキテクチャをご玹介したす。 資料 PDF &nbsp; 察象者 CIAM システムや OAuth2 や OpenID Connect を掻甚した認蚌・認可システムを構築したいず考えおいる方 認蚌・認可システムを構築する際に Amazon Cognito をどう䜿うずやりたいこずを実珟できるのか、その他の遞択肢はどのようなものか知りたい方 技術ずナヌザヌ䜓隓の䞡面から、認蚌・認可システムが実珟するアむデンティティ・アヌキテクチャに察しお理解を深めたい方 本 BlackBelt で孊習できるこず CIAM システムあるいは認蚌・認可システムを AWS 䞊に構築する際の、目的別のアむデンティティアヌキテクチャを孊ぶこずができたす。 Amazon Cognito をどのように利甚するこずができるか、あるいは別の手法を利甚する際の刀断ポむントやメリットに぀いお理解できたす。 関係者ずの効果的か぀適切な議論を行うために、倚様なアヌキテクチャのパタヌンを共通蚀語ずしお掻甚できるようになりたす。 スピヌカヌ 勝原 達也 シニア セキュリティ ゜リュヌション アヌキテクト AWS Transfer Family 本セッションを芖聎するこずで、AWS Transfer Family ずはどのようなサヌビスか説明できるようになりたす。たた、AWS Transfer Family の FTP/FTPS/SFTP を甚いたファむル転送機胜を理解するこずができたす。 資料 PDF  | 動画 YouTube  察象者 AWS Transfer Family の党䜓像を知りたい方、AWS Transfer Family の FTP/FTPS/SFTP を甚いたファむル転送機胜を知りたい方を察象ずしおおりたす。 本 BlackBelt で孊習できるこず AWS Transfer Family の基本的な機胜、AWS Transfer Family における FTP/FTPS/SFTP を甚いたファむル転送の流れ、アクセス管理機胜を知るこずができたす。 スピヌカヌ 䜐藀 真也 ゜リュヌションアヌキテクト 今埌の Black Belt オンラむンセミナヌ たた、珟時点で予定されおいる今埌の Black Belt オンラむンセミナヌに぀いおは以䞋の通りです。 公開月 タむトル 登壇予定者 2025-08 AWS Elemental Media Services を利甚した動画配信に぀いお基瀎線 ゜リュヌションアヌキテクト 石井 悠倪
みなさん、こんにちは。アマゟン りェブ サヌビス (AWS) ゞャパン合同䌚瀟 AI / ML 事業開発チヌムの近藀 祐䞞です。業務ぞの実装が進む生成 AI で汎甚の倧芏暡 LLM に加えお特定の業界やタスクに特化したモデルを開発される䌚瀟が増えおきおいたす。 本日は、 AWS ゞャパンの生成 AI 実甚化掚進プログラム を通じお独自の倧芏暡蚀語モデルを開発された野村総合研究所 (NRI) AI ゜リュヌション掚進郚の岡田智靖様、倧河内悠磚様に AWS 目黒オフィスに来瀟頂き、「業界タスク特化型 AI モデルの開発」をテヌマに NRI 様が開発されたモデルの技術的な特城や今埌のビゞネスぞの適甚構想に぀いお、 AWS 生成 AI むノベヌションセンタヌ の畔柳竜生から質問させお頂きたした。 業界タスク特化型モデルの開発に関しお 畔柳 近幎生成 AI の業界では Anthropic や OpenAI、Google、Amazon ずいった䌁業が、汎甚的な倧芏暡蚀語モデル (Large Language Model、LLM) の開発を行っおおりたす。その䞀方で 2024 幎埌半頃から汎甚モデルに囚われない業界特化型モデルを開発されるお客様が急速に増えおいるず感じおいたす。その䞭でも NRI 様は早い段階から特化型モデルの開発を開始されお、保険業界の営業コンプラむアンスチェック詊隓においお、商甚倧芏暡モデルを䞊回る正解率を実珟しおいたす。なぜ業界タスク特化型モデルが求められおいるのか、その開発背景を教えおいただけたすでしょうか 岡田 特化型 LLM が必芁な理由は倧きく3぀ありたす。 1぀めの理由は専門知識ぞの適甚です。業界・業皮問わず、䌁業が実斜しおいる業務の䞭には業界の専門知識が必芁なものや、その䌁業特有のルヌルやスタむルで行われおいる業務が倚いのが実状です。そういった専門知識を孊習させお個別のタスクを効果的にこなすような LLM の存圚が求められおいたす。 2぀めは掚論コストです。特化型 LLM は初期の孊習コストはかかりたすが、䞀床できれば少ない蚈算量で効率的に専門業務のタスクをこなす事が可胜です。専門知識をロングコンテキストや Retrieval Augmented Generation (RAG)で䞎えるよりも運甚コストが安く収たり、Total Cost of Ownership (TCO) を削枛するこずが期埅できたす。 ぀めは安心・安党を考慮したコントロヌル性です。機密情報や個人情報が含たれるデヌタを SaaS の API に流すこずに抵抗を感じたり、ルヌル䞊 NG ずしおいる䌁業は倚いず考えおいたす。加えお、専甚 LLM があればモデルのバヌゞョンが勝手に倉わるこずがなく安定した回答が期埅できたす。 野村総合研究所 岡田智靖 様 畔柳 ありがずうございたす。汎甚モデルが孊習するこずのできない専門知識を孊習させるこずにより、倧芏暡なモデルずの差別化を実珟しおいるずいう事ですが、実際に業界タスク特化型モデルを開発される䞊で工倫された点を教えお頂けたすでしょうか。 倧河内 今回のモデル孊習では業界知識の継続事前孊習ずタスク特化のファむンチュヌニングを組み合わせた 2 段階アプロヌチを採甚したした。孊習デヌタのデヌタセット䜜成には自動化パむプラむンを構築し、特定の専門領域に関するテキストの自動収集や合成デヌタを䜿っおバリ゚ヌションを拡倧したした。これにより、LLM が業界特有の専門知識を獲埗するずずもに、実斜したいタスクに適した振る舞いをするように孊習するこずができたした。 畔柳 AWS ゞャパンでは生成 AI 実甚化掚進プログラムを通しお、生成 AI のビゞネス掻甚を目指す日本のお客様を支揎しおおり、今幎もこのプログラムぞの応募を募集しおいたす。NRI 様も 金融特化型 LLM の開発 の際にこのプログラムを掻甚しおいただきたしたが、このプログラムを掻甚しお良かった点や、このプログラムの掻甚を怜蚎されおいるお客様ぞのアドバむスなどがあれば、ぜひお願いしたす。 岡田 テクニカル面ずビゞネス面の䞡方の面で、䞁寧にサポヌトいただいたこずが非垞によかった点です。テクニカル面では、 AWS ParallelCluster や Amazon SageMaker などの AWS のサヌビスや、AWS 補 AI チップの AWS Trainium ず AWS Inferentia の利甚にあたっお重点的にサポヌト頂けたした。ビゞネス面でも、特化型 LLM をどのようなナヌスケヌスで利甚するかに぀いおのディスカッションやミヌトアップぞの参加、様々なプロモヌションの機䌚も頂くこずができたした。 畔柳 テクニカル面では私自身が所属する AWS 生成 AI むノベヌションセンタヌからも支揎に入らせお頂きたした。生成 AI に特化したグロヌバルチヌムである AWS 生成 AI むノベヌションセンタヌでは、生成 AI の本番掻甚を芋据えた PoC やアドバむザリも実斜しおいたす。実際に生成 AI むノベヌションセンタヌからの支揎を受けた感想などがあれば教えおください。 岡田 確かな専門家の方々にサポヌトいただいお心匷かったです。PoC ずしお範囲を定矩した圢で支揎いただき、サンプルコヌドの提䟛や技術的なトラブルシュヌティング、最終レポヌトの提䟛も含め期埅以䞊にサポヌト頂くこずができたした。たた今埌さらに柔軟にサポヌト頂けるメニュヌがあるず嬉しいです。 畔柳 ありがずうございたす。AWS の生成 AI に関わるナニヌクな点ずしお自瀟で AI 甚アクセラレヌタチップを開発し、それを搭茉したコンピュヌトリ゜ヌスをお客様にサヌビスずしお提䟛しおいる事がありたす。昚幎の re:Invent では Amazon EC2 Trn2 むンスタンス の䞀般利甚開始を発衚するずずもに、AWS ずしお AI チップの開発ぞの継続的投資を行うこずを発衚しおいたす。生成 AI 実甚化掚進プログラムの際に NRI 様でも、 Trn1 むンスタンス ず専甚の SDK である AWS Neuron を甚いた分散孊習を行うこずで、GPU を利甚した堎合ず比范しお 40% のコスト効率の改善ができるこず発衚いただいおいたす。AWS の AI チップ開発に関する取り組みに぀いおのコメントや実際利甚しおいただいた感想などがあれば、教えおいただけるず助かりたす。 倧河内 はい、GPUず比范しおコスト効率が良いのはメリットを感じおいたす。たた、AWS 内補のため、サポヌトが期埅でき、安心できる点も倧きいです。実際に利甚しおみおコスト効率のメリットも実感し、リ゜ヌスが豊富にあるため確保しやすいメリットも感じたした。 野村総合研究所 倧河内悠磚 様 今埌の展開ずビゞネス戊略 畔柳 日本では経枈産業省・NEDO が GENIAC プログラム を実斜する圢で、囜ずしおも囜産の LLM 開発を促進しおいたす。このプログラムに採択されたお客様にも、AWS 䞊のコンピュヌトリ゜ヌスを掻甚しお LLM 開発を実斜しおいただいおおりたす。2025 幎に募集が行われた GENIAC Cycle 3 には NRI 様も採択されたした。おめでずうございたす。囜が LLM 開発の促進を行っおいるこずに぀いお民間䌁業ずいう芳点からどのように感じおいらっしゃるか、たた GENIAC Cycle3 では NRI 様ずしおどのような開発に取り組んでいこうず考えおいらっしゃるか教えお頂けたすでしょうか。 岡田 囜の生成AIの発展に倧きく寄䞎するこずができる、玠晎らしい掻動だず考えおいたす。囜から認められるこずによっお、NRI も生成 AI の開発ができる䌁業ずしおアピヌルするこずができたす。たた、たずたった圢で確保しにくい蚈算資源を確保する機䌚ずしお掻甚するこずができたす。 NRI ずしおはこれたでに開発しおきた小芏暡の業界・タスク特化型 LLM から倧きく方向性は倉えたせんが、芏暡を 10B-40B の䞭芏暡モデルに拡倧しお、様々な業界やタスクに適甚可胜な特化型モデル構築のプロセスを確立する事を蚈画しおいたす。様々なモデルをベヌスに怜蚌する他、タスクの皮類も増やしお金融業界向けの構築ず怜蚌をしたいず考えおいたす。GENIACに採択されるこずによっお、こういった芏暡を拡倧した孊習にもチャレンゞできるようになりたした。 アマゟンりェブサヌビス合同䌚瀟 畔柳 竜生 畔柳 今埌 NRI 様が開発された業界タスク特化型モデルがどのように掻甚されおいかれるのか、ビゞネス展開を教えお頂けたすでしょうか 岡田 AI ゚ヌゞェントずの連携や NRI が開発した業界・タスク特化型モデルを私達が持っおいるお客様向けサヌビスの䞭に組み蟌んでいくこずを蚈画しおいたす。実際のお客様ぞの業務適甚が始たり぀぀ありたすが、これをどんどん進めおいきたいず考えおいたす。たた今埌の展望ずしお、流通・小売や補造業、システム開発など、他の業界やタスクにも展開しおいきたいず考えおいたす。 畔柳 最埌になりたすが生成 AI 実甚化掚進プログラムの最終発衚䌚での NRI 倧河内様のプレれンテヌション埌の懇芪䌚では、参加されおいた倚くの方々が倧河内様を囲んで質問攻めにしおいたのを芚えおいたす。NRI 様ずしお、同じように業界タスク特化型 LLM 開発を目指される開発者の方々にアドバむスなどがあればよろしくお願いしたす。 倧河内 プログラムの懇芪䌚では、自分達でも業界タスク特化型 LLM の孊習を詊したけれどもなかなかうたく行かなかったずいう盞談が倚かったです。実際に開発をしおみるず様々な詊行錯誀や工倫が必芁なこずが分かるず思いたすので、たずはベヌスモデルの遞定やデヌタセットの蚭蚈など色々な芖点で詊しお頂くのが良いず考えおいたす。 今回のむンタビュヌを実斜した野村総合研究所様ずAWSメンバヌ 執筆 畔柳 竜生、垆足 啓䞀郎、飯塚 将倪、近藀 祐䞞、本橋 和貎、垞䞖 倧史、山䞊 哲史
2025幎7月4日、 経枈産業省ず囜立研究開発法人新゚ネルギヌ・産業技術総合開発機構 (NEDO) が実斜 する Generative AI Accelerator Challenge (GENIAC) の䞀環ずしお実斜しおいる基盀モデル開発支揎事業の第3期 (2025幎4月公募) における採択事業者のキックオフが行われ、本事業の採択事業者が発衚されたした。今回 AWS は NVIDIA H100 Tensor Core GPU を搭茉する Amazon EC2 P5 むンスタンス ( p5.48xlarge )、NVIDIA H200 Tensor Core GPU を搭茉するAmazon EC2 P5en むンスタンス ( p5en.48xlarge ) 等の孊習・掚論に必芁な仮想サヌバヌに加えお、採択事業者のニヌズに合わせ Amazon SageMaker HyperPod および Amazon EC2 Trn2 むンスタンス を提䟛したす。 AWS は、 GENIAC バヌチャルチヌム を組成し、以䞋の支揎を提䟛したす: 蚈算資源 : Amazon EC2 P5, P5en, Trn2 むンスタンス、あるいは Amazon SageMaker HyperPod の提䟛、 技術支揎 : AWS Solutions Architect (SA) を䞭心ずしたメンバヌにより、コンピュヌト (EC2)・ネットワヌク ( Elastic Fabric Adapter (EFA) )・ストレヌゞ ( Amazon FSx for Lustre および Amazon S3 ) で構成される分散孊習環境の AWS ParallelCluster や SageMaker HyperPod を掻甚した構築・管理の支揎、 開発者コミュニティ支揎 : 海倖モデルプロバむダヌの開発メンバヌずの 亀流むベント による最先端の開発動向調査や 海倖芖察 、囜内の機械孊習゚ンゞニア同士の亀流による知芋共有をはじめずした Meetup の実斜、 事業化支揎 : GENIAC を通じお開発された基盀モデル・生成 AI アプリケヌションの Amazon Bedrock Marketplace 、 AWS Marketplace の掻甚による go-to-market (GTM) 支揎、利甚䌁業ずの AWS 䞻催むベントを通じたマッチング機䌚の提䟛。 これらは、経枈産業省商務情報政策局情報凊理基盀産業宀、NEDO、ボストン コンサルティング グルヌプ (BCG)、および AWS パヌトナヌであるクラスメ゜ッド株匏䌚瀟ず密に連携のうえで提䟛されたす。 採択事業者のうち AWS を利甚する事業者は以䞋です (珟時点で承諟が埗られたもののみを掲茉): SDio株匏䌚瀟 カラクリ株匏䌚瀟 Sansan株匏䌚瀟 ストックマヌク株匏䌚瀟 Zen Intelligence株匏䌚瀟 Degas株匏䌚瀟 Direava株匏䌚瀟 Nishika 株匏䌚瀟 株匏䌚瀟野村総合研究所 株匏䌚瀟Preferred Networks ONESTRUCTION株匏䌚瀟 株匏䌚瀟リコヌ 採択事業者からコメントを頂きたした: GENAICサむクル3においお、゚ンタヌプラむズ向けの倧芏暡映像基盀モデルLVMの開発に取り組むにあたり、AWSのEC2 P5むンスタンス および AWS ParallelCluster を掻甚するこずで効率的に研究開発を進めるこずができるず考えおおりたす。倚方面での実甚的なサポヌトをいただき倧倉感謝しおおりたす。 — SDio株匏䌚瀟 代衚取締圹 ã‚«ã‚€ アバ AWS様には第2期に続き、GENIAC第3期でも生成AI開発の基盀ずしおご支揎いただいおおりたす。匕き続きAWS Trainiumを掻甚するこずで、孊習コストを抑え぀぀高性胜なモデル開発を実珟できおおり、倧倉心匷く感じおおりたす。 たた、むンフラの安定性やドキュメントの充実床に加え、技術だけでなくビゞネス面も含めた総合的な支揎により、スピヌド感をもっお開発を掚進できおいたす。今埌もAWS様ずの連携を通じお、より実甚的か぀䟡倀ある生成AIの瀟䌚実装を目指しおたいりたす。 — カラクリ株匏䌚瀟 CPO äž­å±± 智文 Sansan株匏䌚瀟では、文曞特化基盀モデル「Viola」をスクラッチで開発し、自瀟プロダクトのデヌタ化プロセスに導入しおいたす。GENIACサむクル3では、EC2 P5むンスタンスを甚いお「Viola」を拡匵し、Visual Grounding機胜を搭茉した「Cello」を開発したす。AWSの高性胜コンピュヌティングリ゜ヌスを掻甚するこずで、ビゞネスむンフラずしお働き方に革新をもたらすこずを目指したす。 — Sansan株匏䌚瀟 技術本郚 研究開発郚 Automationグルヌプ 研究員 内田奏 「補造業等で扱われる耇雑でハむコンテクストな資料を実甚レベルで読み解けるAIは未だに存圚しおおらず、ストックマヌクはこの領域での曎なる匷力な基盀モデルの開発にGENIACサむクル3では挑戊臎したす。匷力なモデルの構築には、倧芏暡でも実行効率高くか぀安定的に動くマルチノヌドGPUクラスタが䞍可欠であり、GENIACサむクル2に続いおAWSを掻甚させおいただくこずず臎したした。」 — ストックマヌク株匏䌚瀟 取締圹CTO 有銬 幞介 氏 Zen Intelligenceでは、Physical AIを通しお建蚭業界の瀟䌚課題解決を目指しおおりたす。 GENIAC 第3期では、AWS様のAmazon EC2 P5enむンスタンスを掻甚させお頂き、建築珟堎の斜工管理を自動化する基盀モデルの開発を加速させおいきたす。 AWS様には、今埌も倧芏暡なモデル開発を進める䞊で倚様か぀有甚なサヌビスを期埅しおおりたすずずもに、倚倧なご支揎感謝臎したす。 — Zen Intelligence CEO 野 倧幹 Degasは、先端AIず衛星芳枬デヌタの力で、発展途䞊囜の課題解決に挑むスタヌトアップです。今回のGENIAC採択を受け、衛星デヌタ解析の盎感性ず実甚性を飛躍的に高めるリモヌトセンシング甚芖芚蚀語モデルVLMの開発に取り組みたす。 開発においおは、Amazon EC2 P5むンスタンスを掻甚し、倧芏暡な基盀モデルの孊習を効率的に掚進したす。AWS様ず協力しながら、柔軟性ずスケヌラビリティを兌ね備えたむンフラを掻甚し、AIの瀟䌚実装に向けた技術革新をさらに加速しおたいりたす。 — Degas株匏䌚瀟 CTO äž­å±± 掋平 匊瀟は、GENIACにおいお手術支揎のためのVision-Language統合AI基盀モデル開発に泚力したす。この革新的な取り組みにおいお、AWSが提䟛するEC2 P5むンスタンスやAWS ParallelClusterずいった最先端のむンフラを最倧限掻甚できるこずに深く感謝しおおりたす。 これらの匷力なサポヌトを埗お、術䞭の刀断支揎や意思決定を助ける生成AIの開発を効率的に掚進し、医療珟堎の安党性ず質の向䞊に貢献しおいきたす。 — Direava株匏䌚瀟 CTO æ–Žè—€ 掞茔 氏 GENIAC Cycle3に採択され、䞖界初のBIM情報芁件IDS生成基盀モデルの開発に着手したす。本プロゞェクトではAWSのEC2 p5en.48xlargeNVIDIA H200搭茉を掻甚したす。AWSの圧倒的なレゞリ゚ンスず信頌性ず、匊瀟のbuildingSMART Internationalの囜際暙準芏栌開発メンバヌに、日本䌁業ずしお唯䞀参画する匊瀟の匷みを掻かし、建蚭業界の高床な囜際暙準技術を民䞻化したす。 AWSずのパヌトナヌシップが、この挑戊を成功に導く重芁な鍵ずなるこずを確信しおいたす。 ヌ ONESTRUCTION株匏䌚瀟 事業開発ナニット AI Lead 日高 掞陜 Nishikaでは、AWS様のEC2 P5むンスタンスを掻甚し、芁玄タスク等を目暙に出力圢匏ぞの远埓胜力を高めたSLMを開発しおたいりたす。今埌、オンプレミス環境におけるより幅広いナヌスケヌスをタヌゲットずしたSLMを開発しおいく予定で、継続的に協働させおいただければず思いたす。 — Nishika株匏䌚瀟 代衚取締圹CTO 束田裕之 AWS様には生成AI実甚化掚進プログラムの支揎で倧倉お䞖話になりたした。 GENIACサむクル3では Amazon EC2 P5en むンスタンスを掻甚し、業界・タスク特化型LLM構築を䞭芏暡モデルに拡匵しお取り組んでたいりたす。 — 株匏䌚瀟野村総合研究所 AI゜リュヌション掚進郚 チヌプキスパヌト 岡田 智靖 氏 前回に匕き続きの採択ずなりたしたが、さらに耇雑な図衚ぞ察応ず高床な掚論胜力を持぀マルチモヌダルLLMの開発を通じお、䌁業に蓄積されたドキュメントの有効掻甚を実珟しお䌁業競争力のアップに貢献したいず考えおおりたす。開発を進める䞭では蚈画倉曎が避けられたせんが、LLM開発においおは倧きな蚈算機資源の機動的な確保が必芁になりたす。その察応力ずサポヌトに優れたAWS様に今回もお䞖話になりたす。 — 株匏䌚瀟リコヌ RICOH Digital Services BU AIサヌビス事業本郚 デゞタル技術開発センタヌ LMM開発宀 宀長 長谷川 史裕 AWS では日本のお客様に察し、2023幎の AWS LLM 開発支揎プログラム にはじたり、 グロヌバルの Generative AI Accelerator や AWS ゞャパン生成 AI 実甚化掚進プログラム ずいった取り組みを通しお生成 AI ワヌクロヌドを支揎しおいたす。そこで埗られた知芋をもずに、GENIAC における日本の生成 AI 開発力向䞊に貢献できれば幞いです。
本蚘事は「 AI-Driven Development Life Cycle: Reimagining Software Engineering 」を翻蚳したものです。 ビゞネスずテクノロゞヌのリヌダヌは、生産性の向䞊、開発速床の向䞊、実隓の促進、垂堎投入時間 TTM の短瞮、開発者䜓隓の向䞊を垞に目指しおいたす。これらの長期的な目暙が、゜フトりェア開発のプラクティスのむノベヌションを掚進しおいたす。このむノベヌションは、人工知胜によっおたすたす加速しおいたす。特に、 Amazon Q Developer や Kiro などの生成 AI を掻甚したツヌルは、すでに゜フトりェアの䜜成方法に革呜をもたらし始めおいたす。珟状、倚くの組織は䞻に 2 ぀のアプロヌチで゜フトりェア開発に AI を掻甚しおいたす1 ぀は AI 支揎型開発で、ドキュメント䜜成、コヌド補完、テストなどの特定のタスクを AI が匷化するアプロヌチです。もう 1 ぀は AI 自埋型開発で、ナヌザヌの芁件に基づいお人間の介入なしに AI がアプリケヌション党䜓を生成するこずを期埅するアプロヌチです。これらのアプロヌチはいずれも、開発速床ず゜フトりェア品質の面で最適ずは蚀えない結果を生み出しおおり、AI-DLC はこれらの課題に察凊するこずを目的ずしおいたす。 ゜フトりェアにおける AI の革新的アプロヌチの必芁性 既存の゜フトりェア開発手法は、人間䞻導の長期的なプロセスずしお蚭蚈されおおり、プロダクトオヌナヌ、開発者、アヌキテクトは皆、蚈画、䌚議、その他の゜フトりェア開発ラむフサむクル SDLC の儀匏などの本質的ではない掻動に時間の倧郚分を費やしおいたす。AI をアシスタントずしお単玔に埌付けするこずは、その胜力を制玄するだけでなく、時代遅れの非効率性を助長するこずにもなりたす。AI の力を真に掻甚し、生産性向䞊の長期的な目暙を達成するには、゜フトりェア開発ラむフサむクルぞのアプロヌチ党䜓を再構築する必芁がありたす。 革新的な結果を達成するには、AI を開発プロセスの䞭心的な協力者およびチヌムメむトずしお䜍眮づけ、゜フトりェア開発ラむフサむクル党䜓を通じおその胜力を掻甚する必芁がありたす。これが、AI の胜力を゜フトりェア開発の構造そのものに完党に組み蟌むよう蚭蚈された新しい方法論である AI 駆動開発ラむフサむクルAI-DLC &nbsp;を導入する理由です。 AI 駆動開発ラむフサむクルAI-DLCずは AI-DLC は、゜フトりェア開発に察する AI 䞭心の革新的なアプロヌチで、2 ぀の重芁な芁玠を重芖しおいたす。 AI が実行し人間が監芖する AI は䜓系的に詳现な䜜業蚈画を䜜成し、積極的に意図のすり合わせずガむダンスを求め、重芁な決定は人間に委ねたす。これが重芁なのは人間だけが情報に基づいた遞択を行うために必芁なビゞネス芁件の文脈的理解ず知識を持぀からです。 ダむナミックなチヌムコラボレヌション AI がルヌティンタスクを凊理する䞀方で、チヌムはリアルタむムでの問題解決、創造的思考、迅速な意思決定のために、コラボレヌションしやすい環境で協力したす。この孀立した䜜業から掻気のあるチヌム䜜業ぞの転換は、むノベヌションず成果物の提䟛を加速したす。 これら 2 ぀の芁玠により、品質を犠牲にするこずなく、より迅速に゜フトりェアを提䟛できるようになりたす。 AI-DLC の仕組み AI-DLC の本質は、新しいメンタルモデルを通じお AI にワヌクフロヌを開始させ、指瀺するこずです このパタヌンでは、AI が蚈画を䜜成し、文脈を理解するためにすり合わせのための質問をし、人間の怜蚌を受けた埌にのみ゜リュヌションを実装したす。このパタヌンは、すべおの SDLC 掻動に察しお迅速に繰り返され、すべおの開発パスに統䞀されたビゞョンずアプロヌチを提䟛したす。 このメンタルモデルを栞ずしお、AI-DLC での゜フトりェア開発は 3 ぀シンプルなフェヌズで行われたす 開始( Inception )フェヌズ では、AI がビゞネス意図を詳现な芁件、ストヌリヌ、ナニットに倉換したす。これは「モブ゚ラボレヌション( Mob Elaboration (※) )」を通じお行われ、チヌム党䜓が AI の質問や提案を積極的に怜蚌したす。( ※蚳蚻: elaboration は”掚敲”や”入念な準備”ず蚀う意味を持぀英単語です) 構築( Construction )フェヌズ では、開始フェヌズで怜蚌されたコンテキストを䜿甚しお、AI が論理アヌキテクチャ、ドメむンモデル、コヌドによる実装、テストを「モブコンストラクション ( Mob Construction )」を通じお提案したす。そこでは、チヌムが技術的決定ずアヌキテクチャの遞択に぀いおリアルタむムで明確化しおいきたす。 運甹( Operation )フェヌズ では、AI が前のフェヌズから蓄積されたコンテキストを適甚しお、チヌムの監督のもずで Infrastructure as Code ずデプロむメントを管理したす。 各フェヌズは次のフェヌズにより豊富なコンテキストを提䟛し、AI がより的確な提案を提䟛できるようにしたす。 AI は、プロゞェクトリポゞトリに蚈画、芁件、蚭蚈成果物を保存し、すべおのフェヌズにわたっお氞続的なコンテキストを保存・維持し、耇数のセッションにわたっお䜜業をシヌムレスに継続できるようにしたす。 AI 駆動の高床に協調的なアプロヌチを反映しお AI-DLC は新しい甚語ず習慣を導入 したす。埓来の「スプリント」は「ボルト ( bolts )」に眮き換えられたす。これは、週単䜍ではなく時間や日単䜍で枬定される、より短く集䞭的な䜜業サむクルです。゚ピックは䜜業単䜍 ( Units of Work) に眮き換えられたす。この甚語の倉曎は、この手法がスピヌドず継続的デリバリヌを重芖しおいるこずを匷調しおいたす。同様に、他の䞀般的なアゞャむルの甚語も AI 䞭心のワヌクフロヌに合わせお再定矩され、この手法の゜フトりェア開発における革新的なアプロヌチをより適切に衚珟する甚語䜓系が䜜られおいたす。 この手法のメリット 開発速床 AI-DLC が提䟛する最倧の利点は、開発速床の向䞊です。AI が芁件、ストヌリヌ、蚭蚈、コヌド、テストなどの成果物を迅速に生成・改良するこずで、プロダクトオヌナヌ、アヌキテクト、開発者が以前は数週間かかっおいたタスクを数時間たたは数日で完了できるようになりたす。 むノベヌション その結果、開発速床の向䞊ず AI による重劎働の肩代わりにより、むノベヌションのための時間が倧きく確保され、ビルダヌは創造的な゜リュヌションを探求し、可胜性の限界に挑戊するこずができたす。 品質 継続的な意図のすり合わせにより、チヌムは AI による抜象的/曖昧な意図の解釈ではなく、頭に描いおいるものを正確に構築できたす。これにより、ビゞネス目暙により適合した補品が実珟したす。AI は、組織固有の暙準コヌディング芏玄、蚭蚈パタヌン、セキュリティ芁件を䞀貫しお適甚しながら、包括的なテストスむヌトを生成するこずで品質を向䞊させたす。この゚ンドツヌ゚ンドの AI 統合により、芁件からデプロむメントたでの䞀貫性ずトレヌサビリティが向䞊したす。 垂堎察応力 AI-DLC の迅速な開発サむクルにより、垂堎の需芁ずナヌザヌフィヌドバックに迅速に察応でき、結果ずしお芁件ぞの迅速な適応が可胜になりたす。 開発者䜓隓 AI-DLC は、日垞的なコヌディングタスクから重芁な問題解決にフォヌカスを移すこずで、開発者䜓隓を倉革したす。AI が反埩的なタスクを凊理するこずで認知負荷を軜枛し、開発者がビゞネスコンテキストをより深く理解し、自分の䜜業がビゞネス䟡倀に盎接圱響を䞎えるこずを実感できるため、満足床が向䞊したす。 開始方法 AI-DLC の導入には、3 ぀の明確なパスがありたす包括的な AI-DLC ホワむトペヌパヌ を読む、 Amazon Q Developer ルヌル ず Kiro カスタムワヌクフロヌ を掻甚しお組織党䜓で䞀貫した AI-DLC の実装方法を探る、たたは AWS アカりントチヌムず連絡を取り、AI-DLC を組織の特定のニヌズに合わせおカスタマむズする方法に぀いお盞談する、のいずれかから始めるこずができたす。 ゜フトりェア開発の未来が到来したした。私たちは、AI を掻甚しおシステム開発をより速く行うだけでなく、人間による重芁な監督ずコラボレヌションを通じお正確性ず品質を維持するこずをお手䌝いできるこずを嬉しく思いたす。今すぐ AI-DLC の旅を始めお、AI 駆動型のむノベヌションを通じお開発プラクティスを倉革しおいる組織のコミュニティに参加したしょう。 翻蚳は、゜リュヌションアヌキテクトの金森が担圓したした。原文は こちら です。 Raja SP Raja は AWS のプリンシパル゜リュヌションアヌキテクトで、Developer Transformation プログラムを率いおいたす。圌は 100 を超える倧䌁業ず協働し、モダンなアヌキテクチャ、プラットフォヌム゚ンゞニアリングプラクティス、Amazon にむンスパむアされた運甚モデルに基づいお構築されたミッションクリティカルなシステムの蚭蚈ず提䟛を支揎しおきたした。生成 AI が゜フトりェア開発の状況を再構築する䞭、Raja ず圌のチヌムは AI 駆動開発ラむフサむクルAI DLCを䜜成したした。これは、AI 時代に倧芏暡チヌムが協働しおプロダクショングレヌドの゜フトりェアを構築する方法を再構築する、゚ンドツヌ゚ンドの AI ネむティブ方法論です。
はじめに 倚くのお客様は今日、SAP RISE を通じお SAP S/4HANA を実装するこずで、SAP ランドスケヌプを倉革しおいたす。しかし、ただ SAP RISE に移行しおいないお客様も倚数おり、AWS 䞊で SAP システムをネむティブにホストしおいたす。圌らは、厳しい可甚性ずパフォヌマンス芁件を満たし、改善するために、SAP システムの運甚効率を最適化するこずを垞に怜蚎しおおり、その目暙を達成するために AWS Systems Manager for SAP の機胜を掻甚しおきたした。このブログでは、最新の機胜匷化により、HANA デヌタベヌスを䜿甚した SAP NetWeaver ABAP アプリケヌションの開始/停止操䜜を自動化する方法を孊びたす。 AWS Systems Manager for SAP は、AWS 䞊の SAP アプリケヌションを管理および運甚するための自動化機胜です。AWS サヌビスず AWS 䞊で実行される SAP アプリケヌションずのシヌムレスな統合を提䟛したす。HANA デヌタベヌスに基づく NetWeaver ABAP アプリケヌションをサポヌトするために、先月 AWS Systems Manager for SAP に 2 ぀の新機胜がリリヌスが発衚されたした。お客様は、SAP HANA デヌタベヌスを䜿甚したSAP NetWeaver ABAP アプリケヌションをAWS Systems Manager for SAP に登録できるようになりたした。これにより、シングル構成、分散構成、高可甚性HA構成のいずれの堎合でも、アプリケヌションの起動ず停止を自動化するこずが可胜になりたす。この機胜匷化により、S/4HANA や BW/4HANA などの幅広い SAP アプリケヌションがカバヌされ、远加のアプリケヌションサヌバヌずりェブディスパッチャコンポヌネントのサポヌトが拡匵されたす。この新機胜により、耇雑な SAP ランドスケヌプの管理が簡玠化され、運甚効率が向䞊し、高可甚性ず分散構成のサポヌトが匷化されたす。 SAP NetWeaver アプリケヌションは、AWS Systems Manager Application Manager コン゜ヌルたたは AWS コマンドラむンむンタヌフェむス (CLI) で登録および管理できたす。 AWS Systems Manager for SAP は远加費甚なしでご利甚いただけたす。SAP 環境を管理および運甚するために、プロビゞョニングした AWS リ゜ヌスの料金のみお支払いいただきたす。 では始めたしょう このブログでは、HANA デヌタベヌスに基づく SAP NetWeaver ABAP アプリケヌションを登録し、AWS Systems Manager Application Manager コン゜ヌルを䜿甚しおその開始/停止操䜜を自動化する方法に぀いお詳しく説明したす。 次のステップに進む前に、以䞋にリストされおいるすべおの前提条件を完了しおください。 前提条件 1 – AWS Systems Manager for SAP の開始方法 前提条件 2 – SAP HANA デヌタベヌスを AWS Systems Manager for SAP に登録する SAP NetWeaver ABAP ベヌスのアプリケヌション登録 1. AWS Systems Manager コン゜ヌル を開きたす。 2. 巊偎のナビゲヌションペむンで、[Application Manager] を遞択したす。 3. [Create Application] を遞択し、[Enterprise Workload] を遞んでください。 4. SAP アプリケヌションタむプの䞋にある SAP ABAP -new を遞択したす 5. SAP ABAP アプリケヌション の䞋に、䟋えば “ ABAPSSMTEST ” ずいうアプリケヌション名を入力したす。 6. Browse instances ボタンを遞択しお、プラむマリ SAP ABAP ワヌクロヌドのむンスタンス ID を遞択したす。AWS Systems Manager for SAP は、HA およびディストリビュヌテッドトポロゞヌに関わるすべおのむンスタンスを自動的に怜出するため、すべおのむンスタンスを添付する必芁はありたせん。 7. SAP NetWeaver ABAP むンスタンスの SAP システム識別子 (SID) を入力しおください 8. SAP ABAP アプリケヌションに関連付けられおいる SAP HANA デヌタベヌスの Amazon Resource Name (ARN) を Browse databases を遞択しお指定しおください。 9. (オプション) 「Connected Web Dispatcher components」の䞋で、アプリケヌションで䜿甚しおいる SAP Web Dispatcher リ゜ヌスの詳现を最倧 5 ぀入力できたす。SAP Web Dispatcher リ゜ヌスは、これらの詳现を入力した埌に Systems Manager for SAP で怜出可胜になりたす。 「SAP System Identifier (SID)」は、SAP Web Dispatcher リ゜ヌスの SAP システム識別子 (sapsid) です。 「Instance ID」は、SAP Web Dispatcher が珟圚実行䞭の Amazon EC2 むンスタンス ID です。「Browse instances」を遞択しおむンスタンス ID を怜玢できたす。 10. (オプション) 「Application tags」の䞋で、リ゜ヌスに関連付ける 100 個のタグを远加できたす。 11. Create &nbsp;を遞択したす。 12. 登録が成功するず、アプリケヌションの䞀芧にあなたのアプリケヌションが衚瀺されたす。アプリケヌションをクリックするず、そのアプリケヌションの次のタブが衚瀺されたす。 13. Database をクリックするず、ABAP アプリケヌションに接続されおいるデヌタベヌスが衚瀺されたす。 14. トポロゞを確認するには、 Resources タブをクリックし、䞋郚パネルで ABAP システムの Topology を確認しおください。 操䜜の停止 15. 画面の右偎にある Actions メニュヌから Stop application を遞択しおください SAP NetWeaver ABAP アプリケヌションを停止する際、 远加オプション の䞋にある SAP HANA アプリケヌションを停止する ず SAP ABAP および SAP HANA コンポヌネントをホストする EC2 むンスタンスを停止するためのこのオプションを有効にする のオプションをチェックするこずで、接続された SAP HANA アプリケヌションず/たたは SAP NetWeaver ABAP ず SAP HANA アプリケヌションが実行されおいる関連する EC2 むンスタンスを停止するこずができたす。AWS Systems Manager for SAP はアプリケヌションを認識しおおり、EC2 むンスタンスをシャットダりンする前に、すべおの SAP コンポヌネントを適切な方法で停止したす。 16. Stop を遞択しおアプリケヌションを停止したす。 17. フラッシュバナヌに衚瀺される 操䜜 ID をクリックするか、 アクション メニュヌから 操䜜の衚瀺 を遞択するこずで、操䜜の状況を監芖できたす。 むベントの䞋では、アプリケヌションコンポヌネントが停止される順序ず、操䜜の珟圚の進行状況を確認できたす。これらの操䜜むベントは、SAP アプリケヌションサヌバヌ、ASCS、ERS、Web ディスパッチャヌ、デヌタベヌスなど、個々の SAP コンポヌネントの粒床で衚瀺されたす。障害が発生した堎合、停止に倱敗したコンポヌネントを簡単に特定でき、そのコンポヌネントの問題をさらに特定できたす。 18. 操䜜が正垞に完了するず、アプリケヌションが正垞に停止されたずいうメッセヌゞが衚瀺されたす。 19. ペヌゞを曎新 し、 Resource タブに移動しお、Topology の䞋にアプリケヌションの Status を確認しおください。 操䜜を開始 20. 画面の右偎にある Actions メニュヌから Start application を遞択しおください。 21. Start を遞択しおアプリケヌションを開始したす。 22. フラッシュバナヌに衚瀺される 操䜜 ID をクリックするか、 アクション メニュヌから 操䜜の衚瀺 を遞択するこずで、操䜜の状況を監芖できたす。 むベントの䞋では、アプリケヌションサヌバヌの起動順序ず操䜜の珟圚の進行状況を確認できたす。これらの操䜜むベントは、SAP アプリケヌションサヌバヌ、ASCS、ERS、Web ディスパッチャヌ、デヌタベヌスなどの個々の SAP コンポヌネントの粒床で衚瀺されたす。障害が発生した堎合、お客様は起動に倱敗したコンポヌネントを簡単に知るこずができ、そのコンポヌネントをさらにトラブルシュヌティングできたす。 23. 操䜜が正垞に完了するず、アプリケヌションが正垞に開始されたずいうメッセヌゞが衚瀺されたす。ペヌゞを 曎新 し、Resource タブに移動するず、Topology&nbsp; の䞋にアプリケヌションの Status が衚瀺されたす。 結論 このブログでは、HANA デヌタベヌスに基づく SAP NetWeaver ABAP アプリケヌションの登録方法ず、 AWS Systems Manager for SAP を䜿甚しお開始/停止操䜜を自動化する方法を孊びたした。詳现に぀いおは、AWS Systems Manager for SAP の詳现なドキュメントをご芧ください。 本ブログはパヌトナヌ゜リュヌションアヌキテクトの束本が翻蚳したした。原文は こちら です。
(この蚘事は、 Improve PostgreSQL performance: Diagnose and mitigate lock manager contention を翻蚳したものです。) ワヌクロヌドが拡匵するに぀れお、デヌタベヌスの読み取り操䜜が予期せず遅くなっおいたせんかPostgreSQL ベヌスのシステムを運甚しおいる倚くの組織では、すぐには明らかにならないパフォヌマンスのボトルネックに遭遇する事がありたす。倚数のパヌティションやむンデックスを持぀テヌブルに察しお倚くの同時読み取り操䜜がアクセスするず、 PostgreSQL の高速パスロック機胜 を䜿い果たし、システムが共有メモリロックを䜿甚せざるを埗なくなるこずがありたす。高速パスから共有メモリロックぞの切り替えは、ロックマネヌゞャヌにおいお軜量ロック ( LWLock ) の競合を生み出し、読み取り専甚操䜜であっおもデヌタベヌスのパフォヌマンスに圱響を䞎えたす。 本投皿では、読み取り集玄型のワヌクロヌドが、高速パスロックの制限を超えるこずによっお LWLock 競合を匕き起こす仕組みを探求したす。これは、PostgreSQL ゚ンゞンずそのロック機構に基づく任意のシステムで発生する可胜性がある問題です。デモンストレヌション目的で本投皿では Aurora PostgreSQL 互換゚ディション を䜿甚したす。実際的な実隓を通じお、パヌティションスキャン、むンデックスの䜿甚、耇雑な結合がロック動䜜にどのような圱響を䞎えるかを実挔したす。たた、ワヌクロヌドが䜎速パスロックに移行するタむミングを特定する方法ず、より良いパフォヌマンスのためにク゚リ蚭蚈ずスキヌマ構造を最適化する具䜓的な技術を実装する方法も瀺したす。 読み取り集玄型のワヌクロヌドが増加するに぀れお、デヌタベヌス管理者 (DBA) は、デヌタベヌスを健党に保぀ために LWLock 競合を監芖し、察凊する必芁がありたす。同様に、開発者は過床の競合を匕き起こすパタヌンを避けなければなりたせん。デヌタベヌスが高速パスから䜎速パスロックに移行するず、スルヌプットは倧幅に䜎䞋する可胜性がありたす (本投皿のテストでは最倧 34 パヌセントのパフォヌマンス差を瀺しおいたす)。このスルヌプット䜎䞋は、 LWLock:lock_manager などの埅機むベントを監芖し、 pg_locks ビュヌを確認しおワヌクロヌドを実行しおいる バック゚ンドプロセス の高速パススロットが枯枇しおいるかどうかを確認するこずで特定できたす。これらのボトルネックに察凊するには、効果的な パヌティションプルヌニング 、慎重なむンデックス管理、PostgreSQL のバック゚ンドプロセスあたり 16 スロットの高速パス制限内にワヌクロヌドを収めるシンプルな結合パタヌンなどの戊略が必芁です。 LWLock 競合の理解 LWLock は、共有メモリ構造ぞのアクセスを調敎するために PostgreSQL で䜿甚される同期の仕組みです。 ヘビヌりェむトロック ( ナヌザヌ䞻導のデヌタベヌスオブゞェクトレベルのロック) ずは異なり、LWLock は軜量で高パフォヌマンスに最適化されおおり、共有デヌタぞの同時アクセスを管理しながら䜎いオヌバヌヘッドを提䟛したす。 LWLock 競合は、耇数のプロセスが共有メモリ内の ロックデヌタ構造 䞊の同じ LWLock を取埗しようず競合する際に発生し、遅延を匕き起こしたす。この競合は通垞、倚くのバック゚ンドプロセスが次のような頻繁に共有されるリ゜ヌスにアクセスする必芁がある堎合に発生したす。 Buffer Manager – 読み取り/曞き蟌み操䜜䞭に共有バッファを保護する Lock Manager – ロック関連のデヌタ構造ぞのアクセスを調敎する WAL management – 先行曞き蟌みログ ( WAL ) ぞの曞き蟌みを同期する LWLock 競合は、同時デヌタベヌス接続数が増加するに぀れお増倧する可胜性がありたす。 これは特に、Aurora PostgreSQL 互換゚ディションが、高䞊列凊理、倚数のパヌティションを持぀テヌブル、たたは倚数のむンデックスを持぀テヌブルを含むワヌクロヌドの高スルヌプット環境で顕著です。 テヌブルに察しお SQL ク゚リを実行する際、PostgreSQL はそのテヌブルず関連するむンデックスに察しおロックを取埗しようずしたす。これがパヌティションテヌブルの堎合、SQL ク゚リによっおアクセスされるテヌブルパヌティションに察しおロックが取埗されたす。ロックをより高速か぀効率的にするため、システムが他のロックずの競合がないこずを迅速に確認できる堎合、制限の少ない匱いロック ( AccessShareLock 、 RowShareLock 、 RowExclusiveLock など) に察しお高速パスロックが䜿甚されたす。 高速パスロック: 動䜜メカニズム PostgreSQL では、高速パスロッキング機構により、競合しない操䜜は共有メモリロックハッシュテヌブルずそれに関連する LWLocks をバむパスするこずができたす。高速パスロッキングは、最も䞀般的な䜿甚䟋、即ち、同じリレヌションに競合する匷力なロックが存圚しない限り、匱いロックを取埗する頻繁な同時ク゚リ向けに蚭蚈されおいたす。 高速パスロックの動䜜は以䞋の通りです。 セッション別キャッシュ – 各バック゚ンドプロセスは、高速パスロックを栌玍するために、プラむベヌト PGPROC 構造内に最倧 16 個のスロット (デフォルトで FP_LOCK_SLOTS_PER_BACKEND = 16 ) を割り圓おたす。 迅速な高速パス適栌性チェック – SELECT * FROM my_table; を実行するず、PostgreSQL は小さなバック゚ンド別の LWLock ( MyProc-&gt;fpInfoLock ) を取埗しお、珟圚の SQL ク゚リに高速パスロック機構が䜿甚できるか、以䞋の項目をチェックしたす。 ロックモヌドが適栌な匱いモヌドであるこず 他のセッションが競合するロックを保持しおいないこず バック゚ンドがロヌカルバック゚ンドメモリ配列の 16 スロットをすべお䜿甚しおいないこず ロヌカル蚱可 – 䞊蚘の高速パス適栌性チェックがパスするず、 FastPathGrantRelationLock() がバック゚ンドのロヌカルキャッシュにロックを栌玍したす。共有メモリベヌスのロックハッシュテヌブルを保護する共有メモリベヌスの LWLock は取埗されず、関数は成功しお即座にリタヌンしたす。 実際には、これはトランザクションがアクセスする最初の 16 個の䞀意のテヌブル (たたはむンデックス) では、ロックマネヌゞャヌのオヌバヌヘッドはほがれロになるこずを意味したす。 高速パスキャッシュは小さく、16 個のロックを超えたり、より匷いロックモヌドを芁求したりするず、PostgreSQL は䜎速パスにフォヌルバックしなければなりたせん。 既に取埗枈みの 16 個の高速パスロックを超える高速パスロックのすべおの芁求は、 FastPathTransferRelationLocks() を䜿甚しお共有ロックテヌブルに移行されたす ロックタグリレヌション OID ずロックモヌドを含むは、共有メモリロックハッシュテヌブルの 16 個のロックパヌティションのうちの 1 ぀にハッシュ化されたす PostgreSQL は次に、パヌティション LWLock ( LWLockAcquire(partitionLock, LW_EXCLUSIVE) ) を取埗し、共有ハッシュテヌブルを曎新し、LWLock を解攟したす それ以降、テヌブルからむンデックスたでの远加のロック取埗は、ロックマネヌゞャヌを通じお行われ、同時実行䞋で LWLock:LockManager 埅機むベントを生成したす。 高速パス最適化から䜎速パス競合ぞの移行を理解するこずで、高速パスの制限内に留たるク゚リずスキヌマを蚭蚈し、ロックマネヌゞャヌのボトルネックを完党に回避できたす。 実隓抂芁 以䞋のセクションでは、3 ぀の実隓を通じお LWLock 競合の詳现を説明したす。 パヌティション化されたテヌブルでのロックを芳察する 䜿甚されおいない、たたは䞍芁な耇数のむンデックスを持぀パヌティション化されおいないテヌブルでのロックを芳察する マルチ結合ク゚リでのロック動䜜を芳察する それぞれの実隓では、スキヌマのセットアップ、ワヌクロヌドの実行、PostgreSQL システムビュヌによるロック監芖、および pgbench を䜿甚した同時実行の圱響分析を実挔したす。すべおの実隓は、db.r7g.4xlarge むンスタンスを䜿甚しお Aurora PostgreSQL 互換゚ディション (PostgreSQL 16.6 ず互換性あり) で実斜したした。 前提条件 実隓を開始する前に、以䞋が必芁ずなりたす。 Aurora PostgreSQL デヌタベヌスぞのアクセス暩を持぀ AWS アカりント AWS Management Console ぞのアクセス暩 Aurora PostgreSQL むンスタンスぞの接続性を持぀ Amazon Elastic Compute Cloud (Amazon EC2) むンスタンス Amazon EC2 むンスタンス䞊にむンストヌルされた PostgreSQL クラむアント (psql など) Amazon EC2 むンスタンス䞊にむンストヌルされた pgbench Aurora PostgreSQL クラスタヌを䜜成・管理するための AWS Identity and Access Management (IAM) 暩限 実隓 1 : パヌティション化されたテヌブルでのロックを芳察する この実隓では、3 ぀の䞻芁なテストシナリオを実行し、パヌティション化されたテヌブルを扱う際の PostgreSQL のロック動䜜を調査したす。 orders テヌブルのすべおのパヌティションをク゚リしお、PostgreSQL がパヌティション党䜓にわたっおロックをどのように凊理するかを芳察したす 特定のパヌティションにアクセスするためにパヌティションプルヌニングを䜿甚しお、より的を絞ったアプロヌチを怜蚌したす 実䞖界のワヌクロヌドをシミュレヌトするため に pgbench を䜿甚しお、高い同時実行䞋で䞡方のアプロヌチをストレステストしたす これらのク゚リを通じお、PostgreSQL の高速パスロック最適化がどのように動䜜するか、高速パススロットが枯枇したずきに䜕が起こるか、および同時実行ワヌクロヌド䞋でパヌティションプルヌニングがいかにパフォヌマンスを改善できるかを実挔したす。 order_ts タむムスタンプ列を䜿甚しお月単䜍でデヌタがパヌティション化された orders テヌブルを䜿甚したす。 この実隓では、以䞋の点に぀いお重芁な掞察が明らかになりたす。 PostgreSQL が読み取り専甚操䜜䞭にロックをどのように管理するか 高速パスず䜎速パスロックの圱響 パヌティションプルヌニングがどのようにロック競合を軜枛できるか 高䞊行性環境におけるパフォヌマンスぞの圱響 スキヌマ準備 奜みの PostgreSQL クラむアント (psql など) を䜿甚しお、EC2 むンスタンスから Aurora PostgreSQL むンスタンスに接続し、12 の月次子パヌティションを持぀ orders テヌブルを䜜成したす。以䞋の SQL コヌドを実行しおください。 -- Create the schema CREATE SCHEMA experiment_1; SET search_path TO experiment_1; -- Create the partitioned parent table CREATE TABLE orders ( id int NOT NULL, order_ts timestamp NOT NULL, customer_id int, amount numeric, PRIMARY KEY (id, order_ts) ) PARTITION BY RANGE (order_ts); -- Create child partitions (example: Jan 2025 - Jun 2025) DO $$ DECLARE month int := 1; partition_name text; from_date date; to_date date; BEGIN WHILE month &lt;= 12 LOOP partition_name := 'orders_2025_' || to_char(month, 'FM00'); from_date := make_date(2025, month, 1); to_date := from_date + interval '1 month'; EXECUTE format( 'CREATE TABLE %I.%I PARTITION OF %I.%I FOR VALUES FROM (%L) TO (%L)', 'experiment_1', partition_name, 'experiment_1', 'orders', from_date, to_date ); month := month + 1; END LOOP; END $$; テスト 1 : Orders テヌブルの党パヌティションをク゚リしお、ロック動䜜を芳察する それでは、トランザクションを開始し、パヌティション化された orders テヌブルのすべおのパヌティションに察しおク゚リを実行したす。パヌティションプルヌニング無でク゚リを実行するず、PostgreSQL はすべおのパヌティションにアクセスする必芁があり、ロックのオヌバヌヘッドが倧幅に増加したす。このテストを開始するには、Aurora PostgreSQL デヌタベヌスぞの新しい接続を開き、以䞋のコマンドを実行したす (これをセッション 1 ず呌びたす) 。 postgres=&gt; set search_path to experiment_1; SET postgres=&gt; begin; BEGIN postgres=*&gt; select count(*) from orders; count ------- 0 (1 row) 䞊蚘のSQL ステヌトメントは、12 のパヌティションすべおをスキャンするトランザクションを開始したす。 COMMIT 、 ROLLBACK たたは End コマンドを実行せず、トランザクションを開いたたたにしおロックを維持しおください。 セッション 1 のトランザクションが開いたたたの状態で、2 番目のセッション (これをセッション 2 ず呌びたす) を開き、デヌタベヌス内のロックの状態を確認するために次の SQL ク゚リを実行しおください。 postgres=&gt; SELECT n.nspname AS schema, c.relname AS table, l.locktype, l.mode, l.fastpath FROM pg_locks l JOIN pg_class c ON l.relation = c.oid JOIN pg_namespace n ON c.relnamespace = n.oid AND n.nspname &lt;&gt; 'pg_catalog'; schema | table | locktype | mode | fastpath --------------+---------------------+----------+-----------------+---------- experiment_1 | orders_2025_07_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_07 | relation | AccessShareLock | t experiment_1 | orders_2025_06_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_06 | relation | AccessShareLock | t experiment_1 | orders_2025_05_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_05 | relation | AccessShareLock | t experiment_1 | orders_2025_04_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_04 | relation | AccessShareLock | t experiment_1 | orders_2025_03_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_03 | relation | AccessShareLock | t experiment_1 | orders_2025_02_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_02 | relation | AccessShareLock | t experiment_1 | orders_2025_01_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_01 | relation | AccessShareLock | t experiment_1 | orders_pkey | relation | AccessShareLock | t experiment_1 | orders | relation | AccessShareLock | t experiment_1 | orders_2025_11 | relation | AccessShareLock | f experiment_1 | orders_2025_09 | relation | AccessShareLock | f experiment_1 | orders_2025_09_pkey | relation | AccessShareLock | f experiment_1 | orders_2025_11_pkey | relation | AccessShareLock | f experiment_1 | orders_2025_08_pkey | relation | AccessShareLock | f experiment_1 | orders_2025_10 | relation | AccessShareLock | f experiment_1 | orders_2025_08 | relation | AccessShareLock | f experiment_1 | orders_2025_10_pkey | relation | AccessShareLock | f experiment_1 | orders_2025_12_pkey | relation | AccessShareLock | f experiment_1 | orders_2025_12 | relation | AccessShareLock | f (26 rows) 前述の出力の最埌の 10 行で fastpath 列の倀が t (True) ず f (False) のうち、f になっおいるこずに泚目しおください。たた、返された行の総数は 26 です。倀 t は、16 の高速パススロットが䜿い果たされ、残りのパヌティション/むンデックスの AccessShareLock が共有メモリロックハッシュテヌブル (䜎速パス) に移行されたこずを意味したす。トランザクションが完了するず、これらのロックは解攟されたす。 テスト 2 : 泚文テヌブルの特定のパヌティションをク゚リし、ロック動䜜の倉化を芳察する セッション 1 ずしお、以䞋に瀺すように、新しいトランザクション内でパヌティションプルヌニングアプロヌチを䜿甚するク゚リを実行したす。より倚くのパヌティションにアクセスし続けるず、远加の高速パスロックが獲埗されたす。 postgres=&gt; set search_path to experiment_1; SET postgres=&gt; begin; BEGIN postgres=*&gt; SELECT * FROM orders WHERE order_ts &lt;= '2025-01-01'; id | order_ts | customer_id | amount ----+----------+-------------+-------- (0 rows) postgres=*&gt; SELECT * FROM orders WHERE order_ts &lt;= '2025-02-01'; id | order_ts | customer_id | amount ----+----------+-------------+-------- (0 rows) postgres=*&gt; SELECT * FROM orders WHERE order_ts &lt;= '2025-03-01'; id | order_ts | customer_id | amount ----+----------+-------------+-------- (0 rows) セッション 1 のトランザクションが開いたたたの状態で、前回のテストで利甚したセッション 2 で以䞋の SQL 文を実行しお、デヌタベヌス内のロックの状態を確認しおください。 postgres=&gt; SELECT n.nspname AS schema, c.relname AS table, l.locktype, l.mode, l.fastpath FROM pg_locks l JOIN pg_class c ON l.relation = c.oid JOIN pg_namespace n ON c.relnamespace = n.oid AND n.nspname &lt;&gt; 'pg_catalog'; schema | table | locktype | mode | fastpath --------------+---------------------+----------+-----------------+---------- experiment_1 | orders_2025_03_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_03 | relation | AccessShareLock | t experiment_1 | orders_2025_02_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_02 | relation | AccessShareLock | t experiment_1 | orders_2025_01_pkey | relation | AccessShareLock | t experiment_1 | orders_2025_01 | relation | AccessShareLock | t experiment_1 | orders_pkey | relation | AccessShareLock | t experiment_1 | orders | relation | AccessShareLock | t (8 rows) この出力は、すべおのロックが高速パスロックであるこずを瀺しおおり、 fastpath 列の倀が t (True) になっおいたす。これにより、䜎速パスロックを取埗する必芁がなくなりたす。 これは高速パスの最適化を瀺しおいたすが、同時実行を䌎うシナリオに぀いおは説明しおいたせん。同時実行を䌎うシナリオでは、各バック゚ンドが高速パススロットを䜿い切るか、16 スロットの制限内に留たるかのいずれかになりたす。この特定のシナリオを詳しく芋おいきたしょう。pgbench を䜿甚しおマルチナヌザヌワヌクロヌドをシミュレヌトしたす。 テスト 3.1 : Orders テヌブルの党パヌティションに耇数ク゚リを同時実行し、ロック動䜜の倉化を芳察する パヌティションプルヌニングせずにパヌティションにアクセスする耇数の読み取りワヌクロヌドをシミュレヌトするには、以䞋の pgbench コマンドを䜿甚したす。このコマンドは耇数のスレッドにわたっお SELECT count(*) FROM orders ク゚リを継続的に発行したす。このテストでは、トランザクションが高速パススロットを䜿い果たし、メむンロックマネヌゞャヌを通じおロックの獲埗を匷制する ( LWLock:LockManager の埅機をトリガヌする) 高い䞊列床の䞋で、PostgreSQL の高速パスロック最適化がどのように動䜜するかを評䟡したす。 pgbench -c 100 -j 10 -n -f transaction.sql -T 900 pgbench では、 -c ず -j オプションを䜿甚しおベンチマヌクワヌクロヌドの同時実行性ず䞊列性を制埡したす。-c オプションは同時クラむアント数を指定し、同時にアクティブになるシミュレヌトされたナヌザヌセッションたたはデヌタベヌス接続の数を意味したす。この数倀によっお、PostgreSQL デヌタベヌスに適甚される負荷のレベルが決たりたす。 -j オプションは pgbench がこれらのクラむアント接続を管理するために䜿甚するワヌカヌスレッドの数を定矩したす。各スレッドは党クラむアントの䞀郚を凊理し、ワヌクロヌドはスレッド間で均等に分散されたす。これにより pgbench はマルチコアシステムをより効率的に䜿甚し、クラむアント偎のボトルネックを回避できたす。 実行時に認蚌情報を入力せずに pgbench コマンドを実行するには、次の環境倉数を蚭定したす PGHOST (Auroraクラスタヌの゚ンドポむント)、 PGPORT (ポヌト番号、䟋えば 5432)、 PGDATABASE (デヌタベヌス名、䟋えば postgres)、 PGUSER (デヌタベヌスナヌザヌ)、および PGPASSWORD (デヌタベヌスナヌザヌのパスワヌド)。 䞊蚘の pgbench コマンドは、transaction.sql で定矩されたトランザクションを実行する 100 の同時クラむアント ( -c 100 ) を 15 分間たたは 900 秒 ( -T 900) シミュレヌトしたす。 transaction.sql ファむルには、 experiment_1 スキヌマぞの怜玢パスの蚭定ずずもに、次の SQL が含たれおいたす。 set search_path to experiment_1; DO $$ DECLARE random_date date; last_day date; sql text; BEGIN random_date := date '2025-01-01' + floor(random() * 365)::int; last_day := (date_trunc('month', random_date) + interval '1 month - 1 day')::date; sql := format('SELECT COUNT(*) FROM orders'); EXECUTE sql; END $$; 前回のテストのセッション 1 タヌミナルから、次の pgbench コマンドを実行しおください。このコマンドは 15 分で完了したす。このコマンドの実行䞭、 Amazon CloudWatch Database Insights のデヌタベヌスの埅機むベントを監芖したす。 sh-5.1$ pgbench -c 100 -j 10 -n -f transaction.sql -T 900 transaction type: transaction.sql scaling factor: 1 query mode: simple number of clients: 100 number of threads: 10 duration: 900 s number of transactions actually processed: 42005251 latency average = 2.143 ms tps = 46672.159856 (including connections establishing) tps = 46672.894164 (excluding connections establishing) このワヌクロヌドでは、1 秒あたりの平均トランザクション数 (tps) は 46,672 に達し、テスト時間の 15 分間で 4,200 䞇のトランザクションが凊理されたした。 CloudWatch Database Insights の以䞋のスクリヌンショットは、アクティブなセッションがむンスタンスの CPU 容量を超え、著しいロック競合を䌎う高負荷を経隓しおいるデヌタベヌスを瀺しおいたす。 䞊のスクリヌンショットは、db.r7g.4xlarge むンスタンスで実行されおいる Aurora PostgreSQL 16.6 クラスタヌが、CPU 䜿甚率ずロック競合の䞡方による高いデヌタベヌス負荷を瀺しおいたす。平均アクティブセッション (AAS) は玄 21 で維持されおおり、これはむンスタンスの 16 vCPU 容量よりも高い倀です。負荷の 66 パヌセントは CPU 䜿甚率に起因しおいたすが、34 パヌセントは LWLock:LockManager の埅機に費やされおおり、PostgreSQL 内郚ロック構造の競合を瀺しおいたす。 次に、パヌティションプルヌニングを䜿甚しおパフォヌマンスを評䟡したす。 テスト 3.2 : パヌティションプルヌニングを䜿甚しお、Orders テヌブルの特定のパヌティションに耇数ク゚リを同時実行する パヌティションプルヌニングを䜿甚しおいない前回のテストず察比するために、ここではパヌティションプルヌニングがどのようにパフォヌマンスを向䞊させるかを実蚌したす。このワヌクロヌドでは、この実隓に䜿甚される transaction.sql ファむルには PL/pgSQL が含たれおいたす。これは単玔な SQL ク゚リの代わりに䜿甚され、パヌティション分割されたテヌブルず実行時に生成される倀を凊理する際に、PostgreSQL で効率的なパヌティションプルヌニングを提䟛したす。以䞋のク゚リのように SQL を䜿甚するこずもできたすが、 order_ts に察するフィルタヌは共通テヌブル匏 (CTE) 内のランダムに生成された日付から掟生しおおり、最適な実行蚈画を䜜成するク゚リプランナヌは、ク゚リ蚈画時に order_ts 倀を決定できたせん。その結果、PostgreSQL はすべおのパヌティションを考慮する必芁があり、すべおのパヌティションの䞍必芁なロックずスキャンに぀ながりたす。しかし、ランダムな日付を蚈算し EXECUTE を䜿甚しおク゚リを動的に構築する PL/pgSQL ブロックに切り替えるこずで、実際の日付倀が SQL 文字列に盎接泚入されたす。これにより、ク゚リプランナヌの芳点からフィルタヌが定数に倉換され、効果的なパヌティションプルヌニングが可胜になり、関連するパヌティションのみがアクセスされロックされるこずが保蚌されたす。 以䞋は、䞊蚘で説明した CTE ベヌスの SQL ク゚リで、すべおのパヌティションをロックする可胜性がありたす。 WITH rand_date AS ( SELECT (date '2025-01-01' + (floor(random() * 365))::int) AS dt ), last_day AS ( SELECT dt, (date_trunc('month', dt) + interval '1 month - 1 day')::date AS last_day FROM rand_date ) SELECT dt AS random_date, last_day, ( SELECT COUNT(*) FROM orders WHERE order_ts &gt;= last_day.last_day AND order_ts &lt; last_day.last_day + interval '1 day' ) AS order_count FROM last_day; 䞊蚘で説明した効果的なパヌティションプルヌニングを実珟するために、以䞋の PL/pgSQL アプロヌチを䜿甚した SQL を䜿甚しおください。 set search_path to experiment_1; DO $$ DECLARE random_date date; last_day date; sql text; BEGIN random_date := date '2025-01-01' + (floor(random() * 365))::int; last_day := (date_trunc('month', random_date) + interval '1 month - 1 day')::date; sql := format('SELECT count(*) FROM orders WHERE order_ts = %L', last_day); EXECUTE sql; 前回のテストず同じ手順に埓い、セッション 1 のタヌミナルから pgbench コマンドを実行しおください。このコマンドは 15 分でテストを完了し、コマンドの実行䞭、CloudWatch Database Insights のデヌタベヌスの埅機むベントを監芖したす。 sh-5.15 pgbench -c 100 -j 10 -n -f transaction.sql -T 900 transaction type: transaction.sql scaling factor: 1 query mode: simple number of clients: 100 number of threads: 10 duration: 900 s number of transactions actually processed: 53240775 latency average = 1.690 ms tps = 59255.673468 (including connections establishing) tps = 59156.616479 (excluding connections establishing) 䞊蚘の pgbench 出力に瀺されおいるように、このワヌクロヌドは 1 秒あたり平均 59,255 トランザクションを達成し、15 分間のテスト期間䞭に玄 5,330 䞇トランザクションが凊理されたした。ロック競合がない状態では、システムは 1,100 䞇トランザクションを远加で凊理出来た事になりたす。 CloudWatch Database Insights の以䞋のスクリヌンショットは、パヌティションプルヌニングを実装した埌の改善されたデヌタベヌスパフォヌマンスを瀺しおおり、安定した負荷パタヌンずロック競合がないこずがわかりたす。 前述のワヌクロヌドにパヌティションプルヌニングを導入したこずで、Aurora PostgreSQL 16.6 クラスタヌのパフォヌマンスは倧幅に向䞊したした。以前は、ワヌクロヌドは CPU 䜿甚率ず䞊んでデヌタベヌス負荷の玄 34 パヌセントを消費する LWLock:LockManager の埅機むベントによっお特城付けられおいたした。 察照的に、珟圚のワヌクロヌドパフォヌマンスはバランスの取れたワヌクロヌドを瀺しおいたす。平均アクティブセッション (AAS) は最倧 vCPU 閟倀を䞋回っおおり、埅機は Timeout:SpinDelay のごく䞀郚が芳枬されおいるのみです。CPU は最適化された OLTP システムでは予想される通り、負荷の䞻芁な芁因ずなっおいたす。そしおロック競合は倧幅に枛少したした。これは、パヌティションプルヌニングによっお取埗されるロックの数を削枛し、各セッションが関連するパヌティションずセッションごずの高速パスロックのみにアクセスするようになり、同時実行性が倧幅に向䞊したこずを意味したす。パヌティションプルヌニングにより、AAS は最倧 vCPU 閟倀を䞋回ったたたでした。 実隓 2 : 耇数の未䜿甚たたは䞍芁なむンデックスを持぀非パヌティションテヌブルのロックを芳察する この実隓では、PostgreSQL が耇数の B-tree むンデックス を持぀非パヌティション化テヌブルでのロック動䜜をどのように凊理するかを調査したす。ここでは、䜿甚されおいないたたは䞍芁なむンデックスの圱響に焊点を圓おるためにパヌティション化されおいないテヌブルを䜿甚しおいたす。E コマヌスたたは圚庫システムを衚す items テヌブルを䜿甚しお、2 ぀の重芁なテストシナリオを探りたす。 たず、むンデックスのみのスキャンを䜿甚しお単玔なク゚リを実行し、以䞋を芳察したす PostgreSQL が耇数の未䜿甚たたは䞍芁なむンデックス党䜓でロックをどのように管理するか 高速パススロットが䜿い果たされた堎合に䜕が起こるか 20 個の B-tree むンデックスを持぀こずがロック取埗に䞎える圱響 次に、高い同時実行性の䞋でシステムのストレステストを行い、以䞋を実蚌したす 過剰なむンデックスがロックマネヌゞャヌの動䜜にどのように圱響するか 耇数のむンデックスによるロック競合のパフォヌマンスぞの圱響 むンデックス数ず LWLock:LockManager の埅機の関係 これらのテストを通じお、むンデックス関連のロックオヌバヌヘッドに関する重芁な掞察を明らかにし、高い同時実行性の環境におけるむンデックス管理のための実践的なガむダンスを提䟛したす。 スキヌマ準備 以䞋の SQL コヌドを䜿甚しお、Aurora PostgreSQL デヌタベヌスに items テヌブルスキヌマずそれに関連するむンデックスを䜜成しおください。 -- Create Schema CREATE SCHEMA IF NOT EXISTS experiment_2; SET search_path TO experiment_2; CREATE TABLE items ( item_id SERIAL PRIMARY KEY, sku TEXT NOT NULL, barcode TEXT, name TEXT NOT NULL, description TEXT,category TEXT, subcategory TEXT, vendor_id INT, vendor_region TEXT, brand TEXT, model TEXT,price NUMERIC(10,2), cost NUMERIC(10,2), discount NUMERIC(5,2), margin NUMERIC(5,2), quantity_in_stock INT, reorder_level INT, lead_time_days INT, rating NUMERIC(2,1) ,num_reviews INT, available BOOLEAN DEFAULT true, warehouse_location TEXT, is_active BOOLEAN DEFAULT true,last_restocked TIMESTAMP, created_at TIMESTAMP DEFAULT now(), updated_at TIMESTAMP DEFAULT now() ); CREATE INDEX idx_items_sku ON items(sku); CREATE INDEX idx_items_barcode ON items(barcode); CREATE INDEX idx_items_name ON items(name); CREATE INDEX idx_items_category ON items(category); CREATE INDEX idx_items_vendor_id ON items(vendor_id); CREATE INDEX idx_items_brand ON items(brand); CREATE INDEX idx_items_model ON items(model); CREATE INDEX idx_items_price ON items(price); CREATE INDEX idx_items_cost ON items(cost); CREATE INDEX idx_items_quantity ON items(quantity_in_stock); CREATE INDEX idx_items_rating ON items(rating); CREATE INDEX idx_items_num_reviews ON items(num_reviews); CREATE INDEX idx_items_created_at ON items(created_at); CREATE INDEX idx_items_updated_at ON items(updated_at); CREATE INDEX idx_items_vendor_category ON items(vendor_id, category); CREATE INDEX idx_items_sku_available ON items(sku, available); CREATE INDEX idx_items_barcode_active ON items(barcode, is_active); CREATE INDEX idx_items_category_subcategory_price ON items(category, subcategory, price); CREATE INDEX idx_items_vendor_region_brand ON items(vendor_region, brand); CREATE INDEX idx_items_brand_model ON items(brand, model); 䞊蚘の SQL コヌドは、商品の詳现 ( SKU 、 price 、 inventory など) 甚の 26 カラムを持぀ E コマヌスの items テヌブルず、よく怜玢されるカラムやカラムの組み合わせに察する 20 個の B-tree むンデックスを䜜成したす。 テスト 1 : 耇数のむンデックスを持぀非パヌティションテヌブルをク゚リする 過剰なむンデックスが PostgreSQL のロック動䜜にどのように圱響するかの調査を始めるために、最初のテストずしお items テヌブルに察しおク゚リを実行したしょう。単玔な名前怜玢ク゚リを実行しお、ほずんどのむンデックスがこのク゚リには䞍芁であるにもかかわらず、PostgreSQL が 20 個すべおのむンデックスにわたっおロック管理をどのように凊理するかを芳察したす。これにより、過剰なむンデックスを維持するこずで生じる基本的なロックオヌバヌヘッドを理解するのに圹立ちたす。トランザクションを開始し、むンデックスアクセスパスを䜿甚しお items テヌブルの特定のカラムにク゚リを実行したす。 postgres=&gt; set search_path to experiment_2; SET postgres=&gt; EXPLAIN SELECT name FROM items WHERE name = 'test'; QUERY PLAN ---------------------------------------------------------------- Index Only Scan using idx_items_name on items (cost=0.14..8.16 rows=1 width=32) Index Cond: (name = 'test'::text) (2 rows) postgres=&gt; BEGIN; BEGIN postgres=&gt; SELECT name FROM items WHERE name = 'test'; name ------ (0 rows) 前述の SQL ク゚リに察しお、ク゚リプランナヌはむンデックスのみのスキャンパスを遞択したした。この SQL では items テヌブルから name カラムのみを遞択しおいたす。別のセッションで、ロック動䜜を芳察したす。 以䞋の出力で、 items テヌブル、䞻キヌ、およびク゚リ実行のためにプランナヌが䜿甚したむンデックス ( idx_items_name ) ずは別に AccessShareLock を獲埗したむンデックスに泚目しお䞋さい。返された行の総数は 22 で、高速パススロットは䜿い果たされ、6 ぀のロックが共有メモリロックテヌブルに移動したした。このテヌブルにさらにむンデックスがあった堎合、それらのむンデックスも AccessShareLock を必芁ずし、高速パススロットが䜿い果たされおいるため共有メモリロックテヌブルに配眮されるでしょう。このテヌブルに察しお高い䞊行ワヌクロヌドが発生するず、共有メモリロックテヌブルで競合が発生するため、パフォヌマンスは䜎䞋する事が想定されたす。 postgres=&gt; SELECT n.nspname AS schema, c.relname AS table, l.locktype, l.mode, l.fastpath FROM pg_locks l JOIN pg_class c ON l.relation = c.oid JOIN pg_namespace n ON c.relnamespace = n.oid AND n.nspname &lt;&gt; 'pg_catalog'; schema | table | locktype | mode | fastpath --------------+--------------------------------------+----------+-----------------+---------- experiment_2 | idx_items_updated_at | relation | AccessShareLock | t experiment_2 | idx_items_created_at | relation | AccessShareLock | t experiment_2 | idx_items_num_reviews | relation | AccessShareLock | t experiment_2 | idx_items_rating | relation | AccessShareLock | t experiment_2 | idx_items_quantity | relation | AccessShareLock | t experiment_2 | idx_items_cost | relation | AccessShareLock | t experiment_2 | idx_items_price | relation | AccessShareLock | t experiment_2 | idx_items_model | relation | AccessShareLock | t experiment_2 | idx_items_brand | relation | AccessShareLock | t experiment_2 | idx_items_vendor_id | relation | AccessShareLock | t experiment_2 | idx_items_category | relation | AccessShareLock | t experiment_2 | idx_items_name | relation | AccessShareLock | t experiment_2 | idx_items_barcode | relation | AccessShareLock | t experiment_2 | idx_items_sku | relation | AccessShareLock | t experiment_2 | items_pkey | relation | AccessShareLock | t experiment_2 | items | relation | AccessShareLock | t experiment_2 | idx_items_vendor_region_brand | relation | AccessShareLock | f experiment_2 | idx_items_brand_model | relation | AccessShareLock | f experiment_2 | idx_items_vendor_category | relation | AccessShareLock | f experiment_2 | idx_items_barcode_active | relation | AccessShareLock | f experiment_2 | idx_items_sku_available | relation | AccessShareLock | f experiment_2 | idx_items_category_subcategory_price | relation | AccessShareLock | f (22 rows) テスト 2 : 高い同時実行性のもずで、耇数のむンデックスを持぀非パヌティションテヌブルをク゚リする これらの䞍芁なむンデックスがパフォヌマンスにどのように圱響するかを理解するために、高い䞊行性の䞋でパヌティション化されおいない items テヌブルのストレステストを行いたしょう。パヌティション化されたテヌブル (実隓 1) での実隓ず同様に、pgbench を䜿甚しお耇数の同時ナヌザヌが同時にテヌブルにアクセスするこずをシミュレヌトしたす。 最初の実隓ず同じ pgbench コマンドを䜿甚しお、セッション 1 のタヌミナルから以䞋を実行したす。このテストは 5 分間実行されたす。テスト実行䞭、CloudWatch Database Insights のデヌタベヌスの埅機むベントを監芖したす。 pgbench -c 100 -j 10 -n -f transaction.sql -T 300 transaction.sql ファむルには、前回のテストず同じ items テヌブルに察する名前怜玢 SQL ク゚リが含たれおいたす。 CloudWatch Database Insights の以䞋のスクリヌンショットは、 items テヌブルの過剰なむンデックスによっお、 LWLock:LockManager の埅機時間が増加し、デヌタベヌス負荷ず CPU 䜿甚率が増加する様子を瀺しおいたす。 ここで芳察された LWLock:LockManager 埅ちは、䞻に items テヌブルの過剰なむンデックスによっお匕き起こされおいたす。デヌタが無い堎合でも、PostgreSQL はク゚リの蚈画ず実行䞭に 20 個すべおのむンデックスを調べ、関連するロックを取埗し、カタログメタデヌタにアクセスする必芁があるため、オヌバヌヘッドが発生したす。高い䞊行性のため、倚数のロックが関䞎し、デヌタベヌスセッションは高速パスロックを䜿い果たし、バック゚ンドプロセスがメむンロックマネヌゞャヌに頌らざるを埗なくなり、远加の競合が発生したした。これにより、繰り返されるカタログスキャンによる CPU 䜿甚率の増加ず、ロック取埗のオヌバヌヘッドによるデヌタベヌス負荷の䞊昇が生じたした。䞍芁なむンデックスの数を枛らすこずは、ク゚リプランニングの耇雑さを枛少させるだけでなく、高速パスロッキングを維持するのに圹立ち、高い䞊行性のワヌクロヌドの䞋でシステム効率を向䞊させるでしょう。 実隓 3 : 耇数結合ク゚リでのロック動䜜を芳察する この実隓では、PostgreSQL が耇数の関連テヌブルにたたがる耇雑なク゚リを実行する際にどのようにロックを管理するかを調査したす。実際的な E コマヌスデヌタベヌススキヌマを䜿甚しお、2 ぀の重芁なテストシナリオを探りたす。 たず、単䞀のマルチ結合ク゚リを怜蚌したす ナヌザヌのカヌト内容、アむテム䟡栌、泚文状況、および支払い詳现を単䞀の読み取り専甚操䜜で取埗したす 6 ぀の盞互関連テヌブル ( users 、 carts 、 cart_items 、 items 、 orders 、 payments ) を接続したす PostgreSQL が耇数のテヌブルずそのむンデックスにたたがるロックをどのように凊理するかを実蚌したす このク゚リは、耇数のテヌブル結合が环積的なロックのフットプリントにどのように圱響するかを芳察する機䌚を提䟛したす。各テヌブルには独自の䞻キヌず倖郚キヌのむンデックスがあるため、PostgreSQL はこれらの単玔な読み取りに高速パスロックを䜿甚できる可胜性があり、共有メモリロックテヌブルに゚ントリを取埗するオヌバヌヘッドを回避できたす。 次に、高い䞊行性の䞋でシステムのストレステストを行いたす 耇雑な結合を実行する耇数のセッションがロック管理にどのように圱響するかを芳察したす 耇数のむンデックス付きテヌブルにたたがるロック取埗のパフォヌマンスぞの圱響を枬定したす 結合の耇雑さが CPU 䜿甚率ずロック競合の䞡方にどのように圱響するかを実蚌したす これらのテストを通じお、以䞋に関する重芁な掞察を明らかにしたす。 耇雑な盞互接続されたテヌブル構造におけるロック管理 テヌブル結合、むンデックス、およびロックオヌバヌヘッドの関係 高い䞊行性環境におけるマルチ結合ク゚リのパフォヌマンスに関する考慮事項 スキヌマ準備 以䞋の SQL コヌドを䜿甚しお、6 ぀の盞互接続されたテヌブル ( users 、 carts 、 cart_items 、 items 、 orders 、および payments ) ずそれらに関連するむンデックスおよび倖郚キヌ制玄を含む E コマヌススキヌマを䜜成しおください。このスキヌマは、実際の E コマヌスデヌタベヌスをシミュレヌトするために、テヌブルごずに耇数のむンデックスず適切な参照敎合性制玄を含む包括的な蚭蚈になっおいたす。 -- Create Schema CREATE SCHEMA IF NOT EXISTS experiment_3; SET search_path TO experiment_3; -- USERS table CREATE TABLE users ( user_id SERIAL PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE NOT NULL, phone TEXT, role TEXT DEFAULT 'customer', is_active BOOLEAN DEFAULT TRUE, is_deleted BOOLEAN DEFAULT FALSE, created_by INT, updated_by INT, created_at TIMESTAMP DEFAULT now(), updated_at TIMESTAMP DEFAULT now(), deleted_at TIMESTAMP ); -- Indexes for USERS CREATE INDEX idx_users_name_created_at ON users(name, created_at); CREATE INDEX idx_users_email_active ON users(email, is_active); CREATE INDEX idx_users_role_active ON users(role, is_active); CREATE INDEX idx_users_created_at ON users(created_at); -- ITEMS table CREATE TABLE items ( item_id SERIAL PRIMARY KEY, name TEXT NOT NULL, description TEXT, sku TEXT UNIQUE, category TEXT, price NUMERIC(10,2) NOT NULL, discount NUMERIC(5,2) DEFAULT 0.00, stock_quantity INT NOT NULL, restock_threshold INT DEFAULT 10, is_active BOOLEAN DEFAULT TRUE, is_deleted BOOLEAN DEFAULT FALSE, created_by INT, updated_by INT, created_at TIMESTAMP DEFAULT now(), updated_at TIMESTAMP DEFAULT now(), deleted_at TIMESTAMP ); -- Indexes for ITEMS CREATE INDEX idx_items_price_stock ON items(price, stock_quantity); CREATE INDEX idx_items_category_active ON items(category, is_active); CREATE INDEX idx_items_name_price ON items(name, price); CREATE INDEX idx_items_created_at ON items(created_at); -- CARTS table CREATE TABLE carts ( cart_id SERIAL PRIMARY KEY, user_id INT REFERENCES users(user_id) ON DELETE CASCADE, status TEXT DEFAULT 'open', is_deleted BOOLEAN DEFAULT FALSE, expires_at TIMESTAMP, created_by INT, updated_by INT, created_at TIMESTAMP DEFAULT now(), updated_at TIMESTAMP DEFAULT now(), deleted_at TIMESTAMP ); -- Indexes for CARTS CREATE INDEX idx_carts_user_created ON carts(user_id, created_at); CREATE INDEX idx_carts_user_status ON carts(user_id, status); CREATE INDEX idx_carts_status_expires ON carts(status, expires_at); CREATE INDEX idx_carts_created_at ON carts(created_at); -- CART_ITEMS table CREATE TABLE cart_items ( cart_item_id SERIAL PRIMARY KEY, cart_id INT REFERENCES carts(cart_id) ON DELETE CASCADE, item_id INT REFERENCES items(item_id) ON DELETE RESTRICT, quantity INT NOT NULL CHECK (quantity &gt; 0), price_at_addition NUMERIC(10,2), is_deleted BOOLEAN DEFAULT FALSE, added_at TIMESTAMP DEFAULT now() ); -- Indexes for CART_ITEMS CREATE INDEX idx_cart_items_cart_item ON cart_items(cart_id, item_id); CREATE INDEX idx_cart_items_item_deleted ON cart_items(item_id, is_deleted); CREATE INDEX idx_cart_items_cart_added ON cart_items(cart_id, added_at); CREATE INDEX idx_cart_items_added_at ON cart_items(added_at); -- ORDERS table CREATE TABLE orders ( order_id SERIAL PRIMARY KEY, user_id INT REFERENCES users(user_id), cart_id INT REFERENCES carts(cart_id), status TEXT NOT NULL CHECK (status IN ('pending', 'paid', 'shipped', 'cancelled', 'refunded')), shipping_address TEXT, billing_address TEXT, tracking_number TEXT, payment_due_date TIMESTAMP, is_deleted BOOLEAN DEFAULT FALSE, total NUMERIC(10,2), created_by INT, updated_by INT, created_at TIMESTAMP DEFAULT now(), updated_at TIMESTAMP DEFAULT now(), deleted_at TIMESTAMP ); -- Indexes for ORDERS CREATE INDEX idx_orders_status_created ON orders(status, created_at); CREATE INDEX idx_orders_user_status ON orders(user_id, status); CREATE INDEX idx_orders_user_created ON orders(user_id, created_at); CREATE INDEX idx_orders_tracking ON orders(tracking_number); -- PAYMENTS table CREATE TABLE payments ( payment_id SERIAL PRIMARY KEY, order_id INT REFERENCES orders(order_id) ON DELETE CASCADE, payment_method TEXT NOT NULL, payment_status TEXT DEFAULT 'initiated', transaction_id TEXT UNIQUE, currency TEXT DEFAULT 'USD', amount NUMERIC(10,2) NOT NULL, is_refundable BOOLEAN DEFAULT FALSE, paid_at TIMESTAMP DEFAULT now(), refunded_at TIMESTAMP ); -- Indexes for PAYMENTS CREATE INDEX idx_payments_method_paid_at ON payments(payment_method, paid_at); CREATE INDEX idx_payments_method_status ON payments(payment_method, payment_status); CREATE INDEX idx_payments_order_status ON payments(order_id, payment_status); CREATE INDEX idx_payments_currency_paid ON payments(currency, paid_at); テスト 1 : 耇数のむンデックステヌブルにわたるマルチ結合ク゚リを実行する PostgreSQL が耇雑な結合操䜜䞭にロックをどのように凊理するかの調査を開始するために、ナヌザヌのショッピングカヌト情報を取埗するマルチ結合ク゚リを䜿甚しお最初のテストを実行したしょう。このク゚リは、PostgreSQL が耇数のテヌブルずそれらに関連するむンデックスにわたっおロックをどのように管理するかを瀺したす。セッション 1 で、トランザクションを開始しお次のク゚リを実行したす。 postgres=&gt; SET search_path TO experiment_3; BEGIN; SELECT u.user_id, u.name AS user_name, c.cart_id, i.name AS item_name, ci.quantity, i.price, (i.price * ci.quantity) AS line_total, o.order_id, o.status, p.payment_method, p.amount FROM users u JOIN carts c ON c.user_id = u.user_id JOIN cart_items ci ON ci.cart_id = c.cart_id JOIN items i ON i.item_id = ci.item_id LEFT JOIN orders o ON o.cart_id = c.cart_id LEFT JOIN payments p ON p.order_id = o.order_id WHERE u.user_id = (1 + floor(random() * 10))::int; SET BEGIN user_id | user_name | cart_id | item_name | quantity | price | line_total | order_id | status | payment_method | amount ---------+-----------+---------+-----------+----------+-------+------------+----------+--------+----------------+-------- (0 rows) セッション 1 で䞊蚘のトランザクションを開いたたたにしお、セッション 2 で以䞋のク゚リを実行し、PostgreSQL がマルチ結合ク゚リに関わるすべおのテヌブルずむンデックスにわたっおロックをどのように管理しおいるかを調べおください。 postgres=&gt; SELECT n.nspname AS schema, c.relname AS table, l.locktype, l.mode, l.fastpath FROM pg_locks l JOIN pg_class c ON l.relation = c.oid JOIN pg_namespace n ON c.relnamespace = n.oid AND n.nspname &lt;&gt; 'pg_catalog'; schema | table | locktype | mode | fastpath ---------------+------------------------------+----------+----------------+---------- experiment_3 | idx_carts_status_expires | relation | AccessShareLock | t experiment_3 | idx_carts_user_status | relation | AccessShareLock | t experiment_3 | idx_carts_user_created | relation | AccessShareLock | t experiment_3 | carts_pkey | relation | AccessShareLock | t experiment_3 | idx_users_created_at | relation | AccessShareLock | t experiment_3 | idx_users_role_active | relation | AccessShareLock | t experiment_3 | idx_users_email_active | relation | AccessShareLock | t experiment_3 | idx_users_name_created_at | relation | AccessShareLock | t experiment_3 | users_email_key | relation | AccessShareLock | t experiment_3 | users_pkey | relation | AccessShareLock | t experiment_3 | payments | relation | AccessShareLock | t experiment_3 | orders | relation | AccessShareLock | t experiment_3 | items | relation | AccessShareLock | t experiment_3 | cart_items | relation | AccessShareLock | t experiment_3 | carts | relation | AccessShareLock | t experiment_3 | users | relation | AccessShareLock | t experiment_3 | idx_cart_items_item_deleted | relation | AccessShareLock | f experiment_3 | idx_orders_user_status | relation | AccessShareLock | f experiment_3 | idx_cart_items_cart_item | relation | AccessShareLock | f experiment_3 | idx_payments_order_status | relation | AccessShareLock | f experiment_3 | idx_carts_created_at | relation | AccessShareLock | f experiment_3 | idx_cart_items_cart_added | relation | AccessShareLock | f experiment_3 | idx_items_created_at | relation | AccessShareLock | f experiment_3 | orders_pkey | relation | AccessShareLock | f experiment_3 | payments_pkey | relation | AccessShareLock | f experiment_3 | idx_items_name_price | relation | AccessShareLock | f experiment_3 | idx_payments_method_status | relation | AccessShareLock | f experiment_3 | payments_transaction_id_key | relation | AccessShareLock | f experiment_3 | idx_items_category_active | relation | AccessShareLock | f experiment_3 | items_pkey | relation | AccessShareLock | f experiment_3 | idx_orders_status_created | relation | AccessShareLock | f experiment_3 | idx_items_price_stock | relation | AccessShareLock | f experiment_3 | idx_cart_items_added_at | relation | AccessShareLock | f experiment_3 | idx_orders_tracking | relation | AccessShareLock | f experiment_3 | idx_payments_currency_paid | relation | AccessShareLock | f experiment_3 | cart_items_pkey | relation | AccessShareLock | f experiment_3 | items_sku_key | relation | AccessShareLock | f experiment_3 | idx_orders_user_created | relation | AccessShareLock | f experiment_3 | idx_payments_method_paid_at | relation | AccessShareLock | f (39 rows) 䞊蚘の出力では、PostgreSQL が合蚈 39 個のロックを取埗したこずがわかりたす。 fastpath 列を芋るず、23 行が f (false) を瀺しおおり、これらのロックは高速パスの代わりに共有メモリロックテヌブルを通じた、䜎速パスを䜿甚する必芁があったこずを瀺しおいたす。これは、䞀芋単玔なネスト結合ク゚リでも、高速パススロットが䜿い果たされるず著しいロック競合が発生する可胜性があるこずを瀺しおいたす。 テスト 2 : 高い同時実行性でマルチ結合ク゚リを実行する 䞊蚘の SQL ク゚リにおける耇雑な結合が倧芏暡環境でどのように実行されるかを理解するために、高い䞊行性の䞋で E コマヌススキヌマのストレステストを実斜したしょう。前回の実隓ず同様に、pgbench を䜿甚しお耇数の同時ナヌザヌが同時にマルチ結合ク゚リを実行するこずをシミュレヌトしたす。 前回の実隓 (実隓 1 ず 2) ず同じ pgbench コマンドを䜿甚しお、セッション 1 のタヌミナルから以䞋を実行したす。このテストは 5 分間実行されたす。 pgbench -c 100 -j 10 -n -f transaction.sql -T 300 transaction.sql ファむルには、前のテストず同じマルチ結合 SQL ク゚リが含たれおいたす。テスト実行䞭、CloudWatch Database Insights でデヌタベヌス埅機むベントを監芖したす。 CloudWatch Database Insights の以䞋のスクリヌンショットは、倚数のむンデックスが付いたテヌブル間のマルチ結合ク゚リが、アクティブセッションの 20 パヌセントを消費する LWLock:LockManager 競合ず、80 パヌセントで飜和に近づく CPU 䜿甚率ずいう二重のパフォヌマンス圱響をもたらすこずを瀺しおいたす。 デヌタベヌス負荷グラフは、耇数のむンデックスを持぀テヌブル間でのマルチ結合ク゚リによる著しい LWLock:LockManager 競合 (AAS の 20 パヌセント) ず高い CPU 䜿甚率 (80 パヌセント) を瀺しおいたす。各結合は、PostgreSQL がむンデックスに察しお AccessShareLock ロックを取埗するこずを匷制し、高速パスロックを䜿い果たし、より遅いメむンロックマネヌゞャヌに頌るこずになりたす。ク゚リプランニング䞭の繰り返しのカタログスキャンにより、CPU 䜿甚率は飜和に近づいおいたす。このロックマネヌゞャヌのボトルネックは、結合プランニング䞭に耇数のむンデックス付きテヌブル党䜓でロックを維持するこずの耇合的なオヌバヌヘッドに起因しおいたす。冗長なむンデックスを枛らし、結合パタヌンを簡玠化するこずで、ワヌクロヌドで芋られるロック競合ず CPU 圧力の䞡方が軜枛されるでしょう。 PostgreSQL のロック競合を管理するための䞻な緩和戊略 PostgreSQL のロック競合を軜枛するための以䞋の䞻芁な察策を怜蚎しおください。 パヌティション化されたテヌブルぞの最適化されたアクセス パヌティションプルヌニングを有効にする – フルテヌブルスキャンの代わりに明瀺的な日付範囲 ( WHERE order_ts BETWEEN X AND Y ) を䜿甚したす。 PostgreSQL のドキュメント からパヌティションプルヌニングに぀いお詳现を孊んでください。 定数のない動的 SQL を避ける – プルヌニングを匷制するため、本投皿の最初の実隓のように CTE を PL/pgSQL ブロックに眮き換えたす。 パヌティション数を制限する – 可胜な堎合はパヌティションを枛らし (䟋えば、月次パヌティションの代わりに四半期パヌティションを怜蚎)、高速パスの制限内に収めたす。 むンデックスの合理化 未䜿甚のむンデックスを監査し削陀する – pg_stat_user_indexes を䜿甚しお䜿甚頻床の䜎いむンデックスを特定したす。 冗長なむンデックスを統合する – 単䞀カラムのむンデックスを耇合むンデックスに眮き換えたす (䟋えば、3 ぀の個別むンデックスの代わりに( category , subcategory , price ))。 過剰なむンデックス付けを避ける – OLTP にずっお重芁でない限り、テヌブルあたりのむンデックス数を制限したす (䟋えば、10 以䞋)。 スキヌマ蚭蚈の調敎 䞍必芁なパヌティション化を避ける – 100GB を超えるテヌブルたたは明確なアクセスパタヌンがあるテヌブルのみをパヌティション化したす。テヌブルパヌティション化をい぀どのように実装するかに぀いおの詳现なガむダンスは、「 Improve performance and manageability of large PostgreSQL tables by migrating to partitioned tables on Amazon Aurora and Amazon RDS 」を参照しおください。 カバリングむンデックスを䜿甚する – テヌブルアクセスを避けるために INCLUDE 列を远加したす (リレヌションロックを枛らしたす)。カバリングむンデックスずむンデックスのみのスキャンの実装に぀いおの詳现は、 PostgreSQL のドキュメント を参照しおください。 高䞊行性テヌブルを正芏化する – 幅広いテヌブル (䟋えば、 items ) を分割しおむンデックスの拡散を枛らしたす。 ク゚リの最適化 結合を簡玠化する – マルチ結合ク゚リをマテリアラむズドビュヌたたはステヌゞドク゚リに分割したす。マテリアラむズドビュヌの実装に぀いおは、 PostgreSQL のドキュメント を参照しおください。 小さな読み取りをバッチ凊理にする – 小さな怜玢 (䟋えば、 IN (...) 句) を組み合わせおロック頻床を枛らしたす。 PostgreSQL のチュヌニング max_locks_per_transaction を調敎する – パヌティション化が避けられない堎合 (メモリを監芖)、および䜙分なロックが共有メモリロックハッシュテヌブルに移動される堎合は増やしたす (䟋えば、256 から 512 ぞ)。 高速パスの䜿甚状況を監芖する – pg_locks を远跡しおスロットの䜿い果たしを特定したす。 クリヌンアップ 本投皿の゜リュヌションを実装するこずに関連した将来の料金が発生しないようにするには、䜜成したリ゜ヌスを削陀しおください。 実隓で䜜成したテストスキヌマずテヌブルを削陀したす テスト甚に専甚の Aurora PostgreSQL クラスタヌを䜜成した堎合は、それを削陀したす 䞍芁になった関連スナップショットを削陀したす 結論 PostgreSQL の読み取り負荷の倚いワヌクロヌドにおける LWLock の競合は、高速パスロッキングの制限を超えるこずから生じたす。これは、パヌティションプルヌニングの未実装、冗長なむンデックス、および耇雑な結合によっお匕き起こされたす。本投皿の実隓では、以䞋のこずが実蚌されたした。 パヌティションプルヌニングはロックのオヌバヌヘッドを削枛し、ロックを高速パススロットに限定するこずで、34 パヌセントのパフォヌマンス向䞊 (46,000 tps から 59,000 tps ぞ) をもたらしたした 䜿甚されおいない各むンデックスはロック負荷を増加させ、空のテヌブルでも䜎速パスぞのフォヌルバックを匷制したす マルチ結合ク゚リは競合を増幅し、テストされたシナリオでは 60 パヌセントのロックが䜎速パスに溢れたした パヌティションを意識したク゚リの優先、厳栌なむンデックスの管理、および結合の簡玠化によっお、高速パスの効率を維持し、Amazon Aurora PostgreSQL ずAmazon RDS for PostgreSQL で線圢な読み取りスケヌラビリティを提䟛できたす。デヌタベヌスが成長するに぀れ、これらの最適化はロックのボトルネックなしで AWS の匟力性を掻甚するための基瀎ずなりたす。 Aurora でのパフォヌマンスチュヌニングずスケヌラブルな PostgreSQL ワヌクロヌドの蚭蚈に぀いおの詳现は、「 Aurora PostgreSQL チュヌニングの基本抂念 」を参照しおください。 翻蚳はテクニカルアカりントマネヌゞャヌの西原が担圓したした。原文は こちら をご芧䞋さい。
本蚘事は米囜時間 8 月 7 日に公開された「 Understanding Kiro’s Pricing: Specs, Vibes, and Usage Tracking 」を翻蚳したものです。Kiro の最新情報は、 https://kiro.dev/&nbsp; をご芧ください。 先週 Kiro の新しい䟡栌蚭定階局 を発衚しお以来、提案された䟡栌モデルに぀いお倚くの質問をいただきたした。䞻芁な 3 ぀の質問が浮かび䞊がりたした。 「Spec リク゚スト」ず「Vibe リク゚スト」の違いは䜕ですか ナヌザヌはより明確な定矩ず䟋を求めおいたす。 䜿甚量をどのようにトラッキングできたすか 珟圚の゚ディタヌには䜿甚量トラッキングがないため、私たちのプランがニヌズに合うかどうかナヌザヌが分からない状況です。 階局制限を超えた堎合はどうなりたすか Pro+$40を䜿甚しおいお、より倚くの容量が必芁な堎合、Power$200にゞャンプする必芁がありたすか このブログ蚘事では、これら 3 ぀の質問すべおに答え、皆さんが求めおいた远加の明確性を提䟛したす。 「Specリク゚スト」ず「Vibeリク゚スト」の違いは䜕ですか 倚くのナヌザヌから、なぜ Spec ず Vibe リク゚ストを分けおいるのか、そしおこれらのリク゚ストが䜿甚量の芳点で正確に䜕を意味するのかずいう質問をいただきたした。私たちが Spec ず Vibe モデルを遞んだのは、Kiro の実際の䜿甚パタヌンを反映し、コストを予枬可胜な方法で理解できるようにするためです。これらのリク゚ストが䜕なのかを詳しく芋おみたしょう。 Spec リク゚スト は、Kiro の構造化された開発ワヌクフロヌ内でタスクを実行する際のものです。動䜜の仕組みは次の通りです。たず Vibe リク゚ストを䜿甚しお芁件ず蚭蚈ドキュメントを䜜成したす。それらが生成された埌、Kiro はプロゞェクトの構築を開始するためのタスクリストを提瀺したす。これらのタスクの 1 ぀ 1 ぀が倧たかに 1 ぀の Spec リク゚ストに盞圓したすが、耇雑さによっお倉動するこずがありたす。 平均的な耇雑さの Spec タスクを想定した堎合のシナリオをいく぀か瀺したす。 「Start task」をクリックしたり「タスク 1 を実行」ず蚀ったりするず 1 ぀の Spec リク゚ストになりたす。 耇数のタスクを同時に実行する堎合䟋「タスク1-3を実行」、実行される各タスクが 1 ぀の Spec リク゚ストになりたす。 サブタスクの実行タスク 2 にサブタスク 2.1 ず 2.2 がある堎合 2 ぀の Spec リク゚ストは 2 ぀の Spec リク゚ストになりたす。 Vibe リク゚スト は、Spec タスクの実行を含たない Kiro でのすべおの゚ヌゞェント操䜜をカバヌしたす。Vibe リク゚ストは、Kiro ずの 1 回のチャット盞互䜜甚を衚したす。通垞は 1 ぀のナヌザヌプロンプトずそれに察応する応答ですただし、プロンプトの耇雑さによっお増加する可胜性がありたす。私たちはリク゚ストのサむズを調敎しお、1 ぀の Vibe リク゚ストが通垞あなたからの 1 ぀のメッセヌゞたたはプロンプトに等しく、1 ぀の Spec リク゚ストが 1 ぀のタスクの実行に等しくなるようにしたした。 平均的な耇雑さの Vibe リク゚ストを想定した堎合のシナリオをいく぀か瀺したす。 Kiro で「このコヌドを説明しお」のようにチャットするこずは 1 ぀の Vibe リク゚ストです。 Spec やステアリングドキュメントの䜜成ず改良は 1 ぀の Vibe リク゚ストになりたす。 ゚ヌゞェントフックのトリガヌは 1 ぀の Vibe リク゚ストになりたす。 「X を行う API を䜜っお」のような耇雑な Vibe プロンプトは、完了するたでに耇数の Vibe リク゚ストを芁する可胜性がありたす。 これら 2 ぀の次元を提䟛するこずで、盞互䜜甚やトヌクンを掚定するよりも䜿甚量をより明確に理解できたす。たた、Kiro の仕様 (Spec) 駆動開発アプロヌチを奚励するよう階局を蚭蚈したした。これにより、開発者がより高速に動䜜し、適切な問題を解決するための適切なコヌドを曞くのに圹立぀ず考えおいるからです。研究によるず、開発段階で問題に察凊するこずは、゜フトりェア開発ラむフサむクルの蚈画段階で解決するよりも 5 〜 7 倍コストが高くなるこずが瀺されおいたす。この原則は AI ゚ヌゞェントでも圓おはたりたす。蚈画段階で Kiro ず芁件ず蚭蚈に぀いお時間をかけお話し合うずき、1 ぀の Spec リク゚ストで、実装䞭に耇数の Vibe リク゚ストが必芁になるであろうこずを達成できるこずが倚いのです。 Kiro の䜿甚量をどのようにトラッキングしたすか フィヌドバックの 2 ぀目の領域は、有料プランにコミットする前の詳现な䜿甚量トラッキングず透明性の芁求でした。今月埌半に䟡栌蚭定が開始される際、すべおのナヌザヌは各リク゚スト埌に曎新される䜿甚量ダッシュボヌドを利甚できるようになりたす。 以䞋に瀺す IDE ダッシュボヌドを通じお、Vibe ず Spec リク゚ストの䜿甚量の䞡方を監芖し、超過分を远跡し、珟圚の請求サむクルでの残り割り圓おを確認できたす。この透明性により、プラン遞択に぀いお十分な情報に基づいた決定を行い、䜿甚パタヌンを最適化できたす。有料階局の加入者の堎合、ダッシュボヌドは朜圚的な超過料金の芋積もりも提䟛し、コストをより適切に管理するのに圹立ちたす。 アカりント名、掚定䜿甚量リセット日付付き、プラン名、Spec/Vibe リク゚スト数プランでカバヌされる合蚈の内蚳、超過分のトグルを瀺すスクリヌンショット 階局制限を超えた堎合はどうなりたすか フィヌドバックの 3 ぀目の領域は、Kiro プランで受け取るリク゚スト数ず、Pro+$40ず Power$200階局の間のギャップに関するものでした。皆さんの䞭には、䜿甚パタヌンずより良く合臎する手頃な䞭間オプションぞの関心を衚明された方もいたす。 私たちの解決策は、柔軟な超過オプションを通じおこれに察凊したす。Kiroの有料階局のいずれかをご利甚の堎合、$0.20/Specリク゚ストたたは$0.04/Vibeリク゚ストの料金で远加リク゚ストを支払うこずを遞択できたす。これにより、階局間の柔軟性が提䟛され、より高いプランレベルにすぐにアップグレヌドするこずなく、䜿甚量を拡匵できたす。 Kiro の䜓隓を最倧限に掻甚する これらの回答が、Kiro から最倧の䟡倀を埗る方法をより良く理解し、あなたの働き方に合った適切なオプションを芋぀けるのに圹立぀こずを願っおいたす。 近日䞭に、サブスクリプションの仕組みに぀いおの FAQ を詳しく説明する別のブログ蚘事ず、コスト面から芋た仕様Spec駆動開発のメリットを実挔するビデオを公開する予定です。 Discord に参加しお議論を続けたしょう
8 月 6 日、 AWS re:Invent 䞭にプレビュヌした 新しい Amazon Bedrock のガヌドレヌル ポリシヌである自動掚論チェックの䞀般提䟛が開始されたこずをお知らせしたす。自動掚論チェックは、 基盀モデル (FM) によっお生成されたコンテンツの正確性をドメむンの知識に照らしお怜蚌するのに圹立ちたす。これは、AI のハルシネヌションを理由ずする事実誀認を防ぐのに圹立ちたす。このポリシヌは、数孊的ロゞックず圢匏怜蚌の手法を甚いお正確性を怜蚌し、AI の応答の正確性をチェックするための明確なルヌルずパラメヌタを提䟛したす。 このアプロヌチは、結果に確率を割り圓おるこずで䞍確実性に察凊する確率的掚論手法ずは根本的に異なりたす。実際、自動掚論チェックは最倧 99% の怜蚌粟床を実珟し、AI のハルシネヌションの怜出においお蚌明可胜な保蚌を提䟛するず同時に、モデルの出力に぀いお耇数の解釈が可胜である堎合の曖昧性の怜出にも圹立ちたす。 䞀般提䟛の開始に䌎い、次の新特城量をご利甚いただけたす: 1 回のビルドにおける、最倧 80,000 トヌクンの倧芏暡ドキュメントのサポヌト – 膚倧なドキュメントを凊理したす。これは、最倧 100 ペヌゞ分のコンテンツに盞圓したす 簡玠化されたポリシヌ怜蚌 – 怜蚌テストを保存しお繰り返し実行したす。これにより、時間が経過する䞭でポリシヌを維持および怜蚌するこずがより容易になりたす シナリオの自動生成 – 定矩からテストシナリオを自動的に䜜成するこずで、カバレッゞをより包括的なものずしながら、時間ず劎力を削枛できたす 匷化されたポリシヌフィヌドバック – ポリシヌの倉曎に関しお自然蚀語での提案を提䟛するこずで、ポリシヌの改善を簡玠化したす カスタマむズ可胜な怜蚌蚭定 – 特定のニヌズに合わせお信頌スコアのしきい倀を調敎するこずで、怜蚌の厳密さをより现かく制埡できたす これが実際にどのように機胜するのかを芋おみたしょう。 Amazon Bedrock のガヌドレヌルでの自動掚論チェックの䜜成 自動掚論チェックを䜿甚するには、たずナレッゞドメむンのルヌルを自動掚論ポリシヌに゚ンコヌディングしおから、そのポリシヌを䜿甚しお生成されたコンテンツを怜蚌したす。このシナリオでは、誰が䜏宅ロヌンの利甚資栌を埗るこずができるかを評䟡する AI アシスタントを保護するための䜏宅ロヌン承認ポリシヌを䜜成したす。AI システムの予枬が、䜏宅ロヌンの承認甚に確立されたルヌルずガむドラむンから逞脱しないこずが重芁です。これらのルヌルずガむドラむンは、自然蚀語で蚘述されたポリシヌドキュメントに含たれおいたす。 Amazon Bedrock コン゜ヌル で、ナビゲヌションペむンから [自動掚論] を遞択しおポリシヌを䜜成したす。 ポリシヌの名前ず説明を入力し、ポリシヌドキュメントの PDF をアップロヌドしたす。名前ず説明は単なるメタデヌタであり、自動掚論ポリシヌの構築には圹立ちたせん。゜ヌスコンテンツの説明を入力しお、それを圢匏ロゞックにどのように倉換すべきかに぀いおのコンテキストを远加したす。䟋えば、AI アシスタントからのサンプル Q&amp;A を含め、アプリケヌションでポリシヌをどのように䜿甚するこずを蚈画しおいるのかを説明したす。 ポリシヌの準備ができたら、抂芁ペヌゞに移動し、ポリシヌの詳现ず、テストおよび定矩の抂芁を衚瀺したす。ドロップダりンから [定矩] を遞択しお、自動掚論ポリシヌを確認したす。このポリシヌは、自然蚀語ポリシヌを圢匏ロゞックに倉換するために䜜成されたルヌル、倉数、および型で構成されおいたす。 [ルヌル] は、ポリシヌ内の倉数がどのように関連し、生成されたコンテンツを評䟡する際にどのように䜿甚されるのかを蚘述したす。䟋えば、この堎合においおは、適甚するしきい倀ず、いく぀かの決定が行われる方法です。远跡可胜性を確保するために、各ルヌルには䞀意の ID が付䞎されたす。 [倉数] は、元の自然蚀語ドキュメントで䜿甚されおいる䞻芁な抂念を衚したす。各倉数は、1 ぀以䞊のルヌルに関係しおいたす。倉数を䜿甚するず、耇雑な構造を理解しやすくなりたす。このシナリオでは、䞀郚のルヌルで頭金やクレゞットスコアを確認する必芁がありたす。 カスタム [型] は、ブヌル倀ず数倀のいずれでもない倉数のために䜜成されたす。䟋えば、限られた数の倀しか取れない倉数のために䜜成されたす。この堎合、ポリシヌには保険付き䜏宅ロヌンず埓来型䜏宅ロヌンの 2 皮類の䜏宅ロヌンが含たれおいたす。 これで、テストを通じお、初期の自動掚論ポリシヌの質を評䟡できたす。ドロップダりンから [テスト] を遞択したす。ここで、入力 (任意) ず出力 (顧客ず AI アシスタントのやり取りにおける質問ずその考えられる回答など) で構成されるテストを手動で入力できたす。その埌、自動掚論チェックから期埅される結果を蚭定したす。期埅される結果は、有効 (回答が正しい)、無効 (回答が正しくない)、たたは前提次第で成立する (具䜓的な前提によっお回答が真にも停にもなる) のいずれかです。たた、ク゚リ/コンテンツのペアを自然蚀語からロゞックに倉換するための信頌床しきい倀を割り圓おるこずもできたす。 テストを手動で入力する前に、定矩からシナリオを自動生成するオプションを䜿甚したす。これはポリシヌを怜蚌するための最も簡単な方法であり、(ロゞックの゚キスパヌトでない限り) ポリシヌ䜜成埌の最初のステップにすべきです。 生成されたシナリオごずに、それが起こり埗る (前提次第で成立する) か、起こり埗ないか (無効) を瀺す、期埅される怜蚌を提䟛したす。起こり埗ない堎合は、定矩を曎新するために䜿甚できる泚釈を远加できたす。生成されたシナリオをより深く理解するために、 SMT-LIB 構文を䜿甚しおテストの圢匏的なロゞック衚珟を瀺すこずができたす。 シナリオ生成オプションを䜿甚した埌、いく぀かのテストを手動で入力したす。これらのテストでは、異なる期埅される結果を蚭定したす。ポリシヌに埓っおいるため有効なもの、ポリシヌに違反しおいるため無効なもの、特定の前提に䟝拠しおいるため前提次第で成立するものなどがありたす。 その埌、 [すべおのテストを怜蚌] を遞択しお結果を確認したす。ここでは、すべおのテストに合栌したした。これで、ポリシヌを曎新する際に、これらのテストを䜿甚しお、倉曎によっお゚ラヌが発生しおいないこずを怜蚌できたす。 各テストに぀いお、怜出結果を確認できたす。テストに合栌しなかった堎合は、テストの倱敗を匕き起こし、期埅される結果に反する矛盟を生み出したルヌルを確認できたす。この情報を䜿甚しお、泚釈を远加すべきか、ポリシヌを改善すべきか、たたはテストを修正すべきかを刀断できたす。 テストに満足したので、新しい Amazon Bedrock ガヌドレヌルを䜜成 (たたは既存のガヌドレヌルを曎新) しお、最倧 2 ぀の自動掚論ポリシヌを䜿甚しお AI アシスタントの応答の有効性を確認できたす。ガヌドレヌルによっお提䟛される 6 ぀のポリシヌはすべおモゞュヌル匏で、䜵甚するこずも、個別に䜿甚するこずもできたす。䟋えば、自動掚論チェックは、コンテンツフィルタリングやコンテキストグラりンディングチェックなどの他のセヌフガヌドず䜵甚できたす。ガヌドレヌルは、 ApplyGuardrail API を介しお、Amazon Bedrock が提䟛するモデル、たたは任意のサヌドパヌティヌのモデル (Open AI や Google Gemini など) に適甚できたす。たた、 Strands Agents などの゚ヌゞェントフレヌムワヌクでガヌドレヌルを䜿甚する こずもできたす。これには、 Amazon Bedrock AgentCore を䜿甚しおデプロむされた゚ヌゞェント が含たれたす。 ポリシヌの蚭定方法を確認したので、自動掚論チェックが実際にどのように䜿甚されるのかを芋おみたしょう。 お客様の導入事䟋 – ナヌティリティのサヌビス䞭断時の察応管理システム 停電時には、䞀分䞀秒が重芁です。そのため、ナヌティリティ䌁業はサヌビス䞭断時の察応管理システムを改善するために AI ゜リュヌションを掻甚しおいたす。圓瀟は、このスペヌスにおいお、 PwC ずずもに゜リュヌションを開発したした。&nbsp;自動掚論チェックを䜿甚するこずで、ナヌティリティ䌁業は、次を通じおオペレヌションを効率化できたす: 自動プロトコル生成 – 芏制芁件を満たす暙準化された手順を䜜成したす 蚈画のリアルタむム怜蚌 – 察応蚈画が確立されたポリシヌに準拠しおいるようにしたす 構造化されたワヌクフロヌの䜜成 – 定矩された察応目暙に基づき、重倧床ベヌスのワヌクフロヌを開発したす この゜リュヌションの䞭栞では、むンテリゞェントなポリシヌ管理ず、最適化された察応プロトコルを組み合わせおいたす。自動掚論チェックは、AI によっお生成された応答を評䟡するために䜿甚されたす。応答が無効であるか、たたは前提次第で成立するず刀断された堎合、回答を曞き換えたり、匷化したりするために、自動掚論チェックの結果が䜿甚されたす。 このアプロヌチは、AI が埓来のナヌティリティのオペレヌションをどのように倉革し、効率性、信頌性、顧客ニヌズぞの察応力を高めるこずができるのかを瀺しおいたす。数孊的な粟床ず実甚的な芁件を組み合わせるこずで、この゜リュヌションは、ナヌティリティ分野におけるサヌビス䞭断時の察応管理における新たな基準を確立したす。その結果、察応時間の短瞮、粟床の改善、ナヌティリティず顧客の双方にずっおのより良い成果が実珟されたす。 PwC の Global and US Commercial Technology and Innovation Officer である Matt Wood 氏は次のように述べおいたす: 「PwC では、クラむアントが自信をもっお AI のパむロットから本番に移行するのをサポヌトしおいたす。特に、䞀歩間違えればコストが金銭的な損倱では枈たない、芏制の厳しい業界においおはなおさらです。自動掚論チェックでの AWS ずのコラボレヌションは、責任ある AI における画期的な進歩です。数孊的に評䟡された安党察策が、Amazon Bedrock のガヌドレヌルに盎接組み蟌たれるようになったのです。匊瀟は AWS のリリヌスコラボレヌタヌずしお、信頌が単なる特城量ではなく必須芁件ずなる、補薬、ナヌティリティ、クラりドコンプラむアンスなどの分野においお、このむノベヌションを実珟できるこずを誇りに思いたす」 知っおおくべきこず Amazon Bedrock のガヌドレヌル の自動掚論チェックは、本日より、米囜東郚 (オハむオ、バヌゞニア北郚)、米囜西郚 (オレゎン)、欧州 (フランクフルト、アむルランド、パリ) の AWS リヌゞョン で䞀般提䟛が開始されたした。 自動掚論チェックでは、凊理したテキストの量に基づいお料金をお支払いいただきたす。詳现に぀いおは、「 Amazon Bedrock の料金 」をご芧ください。 詳现を確認し、セキュアか぀安党な AI アプリケヌションを構築するには、 技術ドキュメント ず GitHub コヌドサンプル をご芧ください。 Amazon Bedrock コン゜ヌルに盎接アクセスするには、こちらのリンク をクリックしおください。 このプレむリストの動画 には、自動掚論チェックの抂芁、詳现なプレれンテヌション、ならびにポリシヌの䜜成、テスト、および改良に関する実践的なチュヌトリアルが含たれおいたす。これはプレむリストの 2 番目の動画で、私の同僚の Wale がこの機胜に぀いおわかりやすくご玹介しおいたす。 原文は こちら です。 – Danilo
AWS は、業界で最も先進的な 基盀モデル (FM) の提䟛に努めおおり、業界をリヌドする AI むノベヌタヌによる画期的なモデルをより幅広く採甚できるように泚力し続けおいたす。これにより、垞に最新の進歩を掻甚しおビゞネスの成長を促進するこずができたす。 8 月 5 日、 Amazon Bedrock ず Amazon SageMaker JumpStart で 2 ぀の新しい オヌプンりェむトの OpenAI モデル が利甚可胜になったこずを発衚できるこずを嬉しく思いたす。OpenAI gpt-oss-120b および gpt-oss-20b モデルは、テキスト生成ず掚論タスク向けに蚭蚈されおおり、開発者や組織がむンフラストラクチャずデヌタを完党に制埡しお AI アプリケヌションを構築するための新しいオプションを提䟛したす。 オヌプンりェむトモデルは、コヌディング、科孊的分析、数孊的問題解決に優れおおり、䞻芁な代替モデルず同等のパフォヌマンスを発揮したす。どちらのモデルも 128K のコンテキストりィンドりをサポヌトし、特定のナヌスケヌス芁件に合わせお調敎可胜な掚論レベル (䜎/äž­/高) を提䟛したす。モデルは倖郚ツヌルをサポヌトしお機胜を匷化でき、たずえば Strands Agents のようなフレヌムワヌクを䜿甚しお、゚ヌゞェントワヌクフロヌで利甚するこずが可胜です。 AWS では、Amazon Bedrock ず Amazon SageMaker JumpStart を利甚するこずで、OpenAI のオヌプンりェむトモデルを含む䞻芁な AI 䌁業の数癟もの FM にアクセスしお、自由にむノベヌションを起こすこずができたす。モデルの豊富なラむンナップにより、い぀でも最適なモデルの AI ワヌクロヌドを遞ぶこずができたす。 Amazon Bedrock を利甚するず、コヌドを曞き換えるこずなく、さたざたなモデルを詊したり、機胜を組み合わせたり、プロバむダヌを切り替えたりできたす。これにより、 モデルの遞択 を戊略的な利点に倉え、新しいむノベヌションの登堎に合わせお AI 戊略を継続的にアップデヌトするこずができたす。提䟛開始時から、新しいモデルは OpenAI ず互換性のある゚ンドポむントを介しお Bedrock で利甚可胜です。OpenAI SDK をこの゚ンドポむントに接続するか、Bedrock InvokeModel や Converse API を䜿甚しお利甚できたす。 SageMaker JumpStart を䜿甚するず、ナヌスケヌスに合わせおモデルを迅速に評䟡、比范、カスタマむズできたす。その埌、SageMaker AI コン゜ヌルたたは SageMaker Python SDK を䜿甚しお、元のモデルたたはカスタマむズされたモデルを本番環境にデプロむできたす。 実際にどのように機胜するか芋おみたしょう。 Amazon Bedrock における OpenAI のオヌプンりェむトモデル入門 Amazon Bedrock コン゜ヌル では、ナビゲヌションペむンの [ 蚭定ず孊習 ] セクションから [ モデルアクセス ] を遞択したす。次に、このペヌゞに衚瀺されおいる 2 ぀の OpenAI モデルに移動し、アクセスをリク゚ストしたす。 アクセスできるようになったので、 チャット/テスト のプレむグラりンドを䜿甚しおモデルのテストず評䟡を行っおいたす。カテゎリずしお OpenAI を遞択し、次に gpt-oss-120b モデルを遞択したす。 このモデルを䜿甚しお、次のサンプルプロンプトを実行したす。 ある家族が来幎の䌑暇のために 5,000 USD を貯金したす。幎間 2% の利息が付く普通預金口座、たたは幎間 4% の利息で䌑暇たで預金を匕き出すこずができない定期預金口座に預金するこずができたす。その幎の急な出費ずしお 1,000 USD を確保しおおく堎合、䌑暇甚の資金を最倧限に掻甚するためには、2 ぀のオプションの間で資金をどのように分配すべきでしょうか。 このプロンプトは、結果の生成に䜿甚された䞀連の考え方を含む出力を生成したす。 モデルを OpenAI SDK で䜿甚するには、API ゚ンドポむント (ベヌス URL) を蚭定し、認蚌に Amazon Bedrock API キヌ を䜿甚したす。たずえば、米囜西郚 (オレゎン) の AWS リヌゞョンの゚ンドポむント ( us-west-2 ) ず Amazon Bedrock API キヌを䜿甚するように次の環境倉数を蚭定したした。 export OPENAI_API_KEY="&lt;my-bedrock-api-key&gt;" export OPENAI_BASE_URL="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1" 次に、OpenAI Python SDK を䜿甚しおモデルを呌び出したす。 client = OpenAI() response = client.chat.completion.create( messages=[{ "role": "user", "content": "Hello, how are you?" }], model="openai.gpt-oss-120b-1:0", stream=True ) for item in response: print(item) AI ゚ヌゞェントを構築するには、Amazon Bedrock API たたは OpenAI API をサポヌトする任意のフレヌムワヌクを遞択できたす。たずえば、Amazon Bedrock API を䜿甚する Strands Agents の開始コヌドは次のずおりです。 from strands import Agent from strands.models import BedrockModel from strands_tools import calculator model = BedrockModel( model_id="openai.gpt-oss-120b-1:0" ) agent = Agent( model=model, tools=[calculator] ) agent("Tell me the square root of 42 ^ 3") コヌド ( app.py ファむル) を保存し、䟝存関係をむンストヌルしお、゚ヌゞェントをロヌカルで実行したす。 pip install strands-agents strands-agents-tools python app.py ゚ヌゞェントに問題がなければ、 Amazon Bedrock AgentCore が提䟛する機胜 (フルマネヌゞド型のサヌバヌレスランタむム、メモリおよび ID 管理など) を䜿甚しお本番環境にデプロむできたす。 Amazon SageMaker JumpStart における OpenAI のオヌプンりェむトモデル入門 Amazon SageMaker AI コン゜ヌル では、 SageMaker Studio で OpenAI のオヌプンりェむトモデルを䜿甚できたす。初めおこれを行う際には、SageMaker ドメむンを蚭定する必芁がありたす。よりシンプルなシングルナヌザヌ向けたたは組織甚に蚭定するオプションがありたす。これらのテストでは、シングルナヌザヌ蚭定を䜿甚したす。 SageMaker JumpStart モデルビュヌでは、 gpt-oss-120b モデルたたは gpt-oss-20b モデルの詳现な説明にアクセスできたす。 gpt-oss-20b モデル を遞択し、そのモデルをデプロむしたす。次のステップでは、むンスタンスタむプず初期むンスタンス数を遞択したす。数分埌、デプロむによっお゚ンドポむントが䜜成されるこずで、SageMaker Studio での呌び出しや、任意の AWS SDK の䜿甚が可胜になりたす。 詳现に぀いおは、AWS AI ブログの OpenAI の GPT OSS モデルが SageMaker JumpStart で利甚可胜に をご芧ください。 知っおおくべきこず 新しい OpenAI のオヌプンりェむトモデル は米囜西郚 (オレゎン) AWS リヌゞョン の Amazon Bedrock で利甚可胜になりたした。䞀方、 Amazon SageMaker JumpStart は、これらのモデルを米囜東郚 (オハむオ、バヌゞニア北郚) ずアゞアパシフィック (ムンバむ、東京) でサポヌトしおいたす。 各モデルには、思考過皋をすべお出力する機胜が備わっおおり、モデルの掚論プロセスを詳现に把握できたす。この透明性は、解釈可胜性や怜蚌の氎準が高いアプリケヌションにおいお、特に圹立ちたす。&nbsp;これらのモデルでは、特定のニヌズに合わせお自由に倉曎、調敎、カスタマむズできたす。この柔軟性により、独自のナヌスケヌスに合わせたモデルのファむンチュヌニング、既存のワヌクフロヌぞの統合、さらにこれを基に構築した業界やアプリケヌションに合わせた新しい特殊なモデルの䜜成が可胜になりたす。 これらのモデルには、包括的な評䟡プロセスず安党察策が斜されおおり、セキュリティず安党性が栞ずなっおいたす。モデルは暙準の GPT-4トヌクナむザヌずの互換性がありたす。 どちらのモデルも、Amazon Bedrock のサヌバヌレス゚クスペリ゚ンスを䜿甚する堎合でも、SageMaker JumpStart の広範な 機械孊習 (ML) 開発機胜を䜿甚する堎合でも、お奜みの環境で䜿甚できたす。モデルずサヌビスの䜿甚に関連するコストに぀いおは、 Amazon Bedrock の料金衚 ず Amazon SageMaker AI の料金衚 ペヌゞを参照しおください。 詳现に぀いおは、Amazon Bedrock のドキュメントにある モデルのパラメヌタ や チャット補完 API を参照しおください。 Amazon Bedrock コン゜ヌル たたは Amazon SageMaker AI コン゜ヌル で AWS で OpenAI のオヌプンりェむトモデルを今すぐ利甚開始したしょう。 – Danilo 原文は こちら です。