AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3894ä»¶

このブログ蚘事では、移行途䞭の過枡期に斌けるハむブリッドアヌキテクチャの連携パタヌンず連携゜リュヌションを蚭蚈する方法を玹介したす。 倚くの䞀般的なメむンフレヌム環境には、デヌタやコヌドを共有するアプリケヌション間の耇雑で密結合されたシステム間連携がありたす。メむンフレヌムアプリケヌションを AWS クラりドに移行するずき、倧芏暡な移行には Strangler fig パタヌン を䜿甚した段階的なアプロヌチが掚奚されたす。むンクリメンタルなアプロヌチでは、過枡期 (移行) フェヌズたたはトランスフォヌメヌション (モダナむれヌション) フェヌズ䞭に、メむンフレヌムず AWS クラりド間のハむブリッドアヌキテクチャを構成する連携を実装するこずになりたす。 抂芁 メむンフレヌムワヌクロヌドは通垞、䞀連のビゞネス機胜を実行するプログラム、ミドルりェア、デヌタストア、䟝存関係、およびリ゜ヌスの集合䜓ずしお定矩されたす。 AWS は、お客様のビゞネス戊略および技術戊略の目暙に応じお、メむンフレヌムワヌクロヌドをモダナむズするための耇数のパタヌンを提案しおいたす。これらのオプションは倧きく 2 ぀のグルヌプに分類できたす。 マむグレヌション & モダナむれヌション (図 1.1 — 巊偎) 拡匵 & 連携 (図 1.2 — 右偎) 図 1. AWS Mainframe Modernization パタヌン ワヌクロヌドのマむグレヌションたたはモダナむれヌションは、アプリケヌションず移行の目的に応じた䞀連の戊略 (replatform, refactor, rewrite, repurchase) に埓っおメむンフレヌムからコンポヌネントをオフロヌドし、AWS クラりドに移行するこずを目的ずしおいたす。 ワヌクロヌド拡匵の目的は、メむンフレヌムのデヌタを掻甚しお AWS 䞊に新しいビゞネス機胜を構築するこずにありたす。 いずれのアプロヌチでも、メむンフレヌムず AWS 環境ずの共存を促進する連携アヌキテクチャが必芁です。これには、移行の過枡期もしくは恒久的にメむンフレヌムに残されるワヌクロヌドず、AWS クラりドに移行たたは䜜成されるワヌクロヌドずの間の盞互䜜甚を管理するこずが含たれたす。 アプロヌチ 䞀般的に、倧芏暡なメむンフレヌムワヌクロヌドは同時䞊行的に実行され、互いに密結合しおいたす。Strangler fig パタヌンでは、各ワヌクロヌドは個別に移行されたす。ハむレベルで芋るず、個々のワヌクロヌドが段階的に次々ず移行されたす。ビゞネス䟡倀、アプリケヌションの耇雑さ、連携ポむント、およびビゞネスの重芁性に基づいお、ワヌクロヌドの移行に優先順䜍を付けたす。時間の経過ずずもに、メむンフレヌムのワヌクロヌドは䞀぀ず぀切り離されおいきたす。 図 2. ワヌクロヌドに Strangler fig パタヌンを適甚したメむンフレヌムアプリケヌションの移行 メむンフレヌムワヌクロヌドの移行を開始しようずするず、メむンフレヌムず密に連携されおいるワヌクロヌドは他にもあるこずがわかりたす。それらには、アプリケヌション間連携、デヌタ間連携、そしおアプリケヌションからデヌタぞの連携がありたす。図 3 では、䞀郚のワヌクロヌドを AWS に移行し、他のワヌクロヌドがメむンフレヌムに残るシナリオを瀺したした。 図 3 に瀺す連携は、以䞋の 3 皮類です。 アプリケヌション間の連携 アプリケヌションからデヌタに察する連携 デヌタ間の連携 図 3. 移行前埌のシステムが䜵存するハむブリッドアヌキテクチャが必芁 各連携タむプは盞互に排他的ではなく、むしろ互いに補完し合うこずができたす。連携タむプの遞択は、䞻に、メむンフレヌム䞊のワヌクロヌド間の既存の連携蚭定に圱響されたす。たずえば、ワヌクロヌド 1 がアプリケヌションコンポヌネント (CICS、COBOL、MQ 呌び出しなど) を介しおワヌクロヌド 2 ずやり取りする堎合は、アプリケヌション間のパタヌンを確立する必芁がありたす。逆に、ワヌクロヌド 1 がワヌクロヌド 2 のデヌタにアクセスする必芁がある堎合は、デヌタからデヌタぞ、たたはアプリケヌションからアプリケヌションぞのパタヌンのいずれかを実装する必芁がありたす。これらのパタヌンおよび関連する技術的実装の䞭で、いずれを遞択するかは、䞻に、スルヌプット、パフォヌマンス、デヌタ本䜓の保管堎所、ずいう 3 ぀の重芁な基準に基づいお決定されたす。 連携パタヌン 以䞋のパタヌンは、䜵存シナリオにおけるアプリケヌション連携ず利甚可胜な゜リュヌションを理解するのに圹立ちたす。これらの機胜を実珟する補品は垂堎に出回っおいたすが、ここではそのうちのいく぀かに぀いお説明したす。 パタヌン 1 — アプリケヌション間の連携パタヌン アプリケヌション同士の連携は、アプリケヌション間連携パタヌンず呌ばれ、2 ぀の゜フトりェアアプリケヌションたたはシステムを接続しお連携させるプロセスを指したす。アヌキテクチャず連携にはいく぀かのタむプがあり、それぞれ目的が異なり、さたざたなニヌズに応えたす。 アヌキテクチャ的には、アプリケヌション連携ための Hub-and-Spoke、Enterprise Service Bus (ESB)、API マネゞメントなど、耇数のパタヌンがありたす。これらのアヌキテクチャパタヌンには、メむンフレヌムず他の環境ずの間の仲介圹ずしお機胜する䞭倮集暩型の連携ハブやミドルりェアプラットフォヌムが含たれたす。各アプリケヌションをハブ、ESB、たたは API マネゞメント局ず連携するだけで、接続されたシステム間のデヌタルヌティングず倉換が管理されたす。このアプロヌチにより、連携の管理ず保守を簡玠化できたす。䞭倮ハブ、ESB、たたは API マネゞメント局ずメむンフレヌムの間は、図 4 に瀺す point-to-point の連携パタヌンで接続したす。 図 4. アプリケヌション間連携パタヌン AWS クラりドずメむンフレヌム間の最も䞀般的な連携タむプをいく぀か玹介したす。 JCA コネクタを䜿った point-to-point 連携 このタむプの連携では、2 ぀のアプリケヌションを盞互に盎接接続しおデヌタを亀換したす。Java Connector Architecture (JCA) コネクタを䜿甚した point-to-point 連携は、Java EE アプリケヌションず CICS、IMS/TM、Db2 ストアドプロシヌゞャなどのメむンフレヌムサブシステムずの盎接接続を䌎いたす。JCA コネクタずの point-to-point 連携には、Java アプリケヌションずメむンフレヌムを盎接接続できるため、パフォヌマンス、スケヌラビリティ、トランザクション性のサポヌト、セキュリティなどが向䞊するメリットがありたす。たた、連携するシステム間が密結合になるため、メッセヌゞングや API のように疎結合された連携アプロヌチに比范するず、柔軟性が䜎䞋し、保守し難くなる堎合がありたす。 CICS、IMS、Db2 ず統合するための 3 ぀の䞻な point-to-point 連携゜リュヌションを以䞋に瀺したす。 CICS ず連携するための CICS Transaction Gateway (CTG)。CTG は z/OS たたはオヌプンシステムにデプロむできたす。 IMS Connect を䜿甚しお IMS ず連携できたす。IMS Connect は z/OS にデプロむする必芁がありたす。 Db2 z/OS ストアドプロシヌゞャをトリガヌするには、倖郚アプリケヌションから盎接 JDBC 接続を行いたす。 JCA コネクタを䜿甚した point-to-point 連携のもう 1 ぀の泚目すべき点は、その単方向性です。぀たり、双方向通信をサポヌトする IMS Connect の堎合を陀き、連携は AWS クラりドからメむンフレヌムに流れ、その逆は行われないずいうこずです。 API ベヌスの連携 RESTful API ベヌスの連携は、゜フトりェアシステムを連携するための柔軟で暙準化されたアプロヌチを提䟛したす。これにより、盞互運甚性、拡匵性、および開発が容易になりたす。RESTful API は、Web 開発、モバむルアプリ、クラりドコンピュヌティング、Internet of Things (IoT) など、さたざたな分野で広く䜿甚されおいたす。RESTful API ベヌスの連携を䜿甚するアプリケヌションは、2 ぀の環境間でのトランザクションコンテキストの䌝播が緩和されるように蚭蚈する必芁がありたす ( SAGA などのパタヌンや補償メカニズムを䜿甚するなど)。そうしないず、䞍敎合が発生したり、同期の問題が発生したりする可胜性がありたす。 IBM の z/OS Connect や OpenLegacy などの゜リュヌションは、API 察応のメむンフレヌムサブシステムで䜿甚できたす。z/OS Connect では、プログラム、デヌタ、トランザクションなどのメむンフレヌム資産を RESTful API ずしお公開できたす。これにより、クラりド内のさたざたなモダンなアプリケヌションやサヌビスからこれらの資産にアクセスしお利甚できるようになりたす。z/OS Connect の倧きな利点の 1 ぀は、双方向の連携機胜です。これにより、モダンなアプリケヌションずメむンフレヌムシステム間の双方向の通信が可胜になりたす。぀たり、モダンアプリケヌションはメむンフレヌムのサヌビスずデヌタを利甚できるだけでなく、メむンフレヌムのトランザクションずアプリケヌションも AWS クラりドのアプリケヌションずサヌビスを䜿甚できるずいうこずです。 メッセヌゞ指向型ずむベント駆動型の連携 メッセヌゞ指向型の連携では、アプリケヌションはメッセヌゞを介しお非同期的に通信したす。メッセヌゞはキュヌに入れられ、システム間で確実に配信されたす。メッセヌゞ指向の連携ずむベント駆動型の連携により、パブリッシュ/サブスクラむブやリク゚スト/レスポンスなど、さたざたなメッセヌゞングパタヌンをサポヌトできたす。IBM MQ は、メむンフレヌムず AWS クラりド間の通信ずデヌタ亀換を容易にする䞻芁なメッセヌゞングミドルりェアの 1 ぀です。パブリッシュ/サブスクラむブたたはリク゚スト/レスポンスのパタヌンを掻甚するこずで、メむンフレヌムずの連携に䜿うこずができたす。 もう 1 ぀の遞択肢は、IBM MQ を通じお Kafka をメむンフレヌムず連携するこずです。この方匏は、適切なコネクタヌず Kafka Connect を䜿甚した Kafka ず MQ 間の通信を䌎いたす。Kafka Connect はメむンフレヌムでもクラりドでも実行できたす。Kafka ずメむンフレヌムアプリケヌション間でデヌタをストリヌミングするコネクタを構築およびデプロむするためのフレヌムワヌクを提䟛するこずで、連携プロセスを簡玠化したす。Kafka を䜿うず、メむンフレヌムず AWS クラりド間で远加の連携䜜業を行わなくおも、より倚くのコンシュヌマヌが自分のドメむンに関連するトピックを賌読できるようになりたす。 パタヌン 2 — デヌタ間の連携パタヌン あるワヌクロヌドが AWS クラりドに移行され、他のワヌクロヌドがただメむンフレヌムに残っおいる堎合、メむンフレヌムずの間でデヌタを送信する頻床に応じおさたざたな方法がありたす。デヌタ転送のニヌズず頻床に応じお構築するさたざたな連携パタヌンを図 5 に瀺したす。 図 5. デヌタ間連携パタヌン ニアリアルタむムのデヌタ転送 ニアリアルタむムのデヌタ転送は、あるプラットフォヌムから別のプラットフォヌムにニアリアルタむムで耇補しデヌタを曎新できるようにする凊理です。本機胜を実珟するツヌルは Change Data Capture (CDC) を䜿甚しお、倉曎ログに基づいおニアリアルタむムでデヌタを移行したす。デヌタ転送のニヌズは、単方向、単方向ず逆向き単方向の組み合わせ、あるいは双方向である可胜性がありたす。 単方向ずは、メむンフレヌムのデヌタ゜ヌスから AWS デヌタ゜ヌスに、たたはその逆にデヌタを耇補する必芁があるこずを意味したす。単方向ず逆向き単方向の組み合わせずは、デヌタのレプリケヌションを双方向で行う必芁があるものの、異なるテヌブルや無関係なテヌブルに察しお行う堎合です。双方向ずは、関連する耇数のテヌブルで䞡方向にレプリケヌションを実行する必芁があるこずを意味したす。双方向レプリケヌションは、関連テヌブルの曎新によるデヌタ競合ずいう課題が増えるため、最終手段にすべきです。アプリケヌションをメむンフレヌムから AWS に移行するず、あるプラットフォヌムのアプリケヌションからの曎新を別のプラットフォヌムでもすぐに利甚できるようになりたす。 AWS Mainframe Modernization サヌビスは、CDC テクノロゞヌず AWS Mainframe Modernization Data Replication powered by Precisely を䜿っお、メむンフレヌムず AWS 間のデヌタレプリケヌション機胜を提䟛したす。これにより、Db2、IMS、VSAM などのメむンフレヌムや IBM i (AS/400) のデヌタ゜ヌスから、さたざたな AWS クラりドデヌタベヌスに向けお、たたはその逆に、異皮デヌタをニアリアルタむムで耇補できたす。AWS のデヌタレプリケヌションでは、䜎レむテンシヌ CDC テクノロゞヌが掻甚されおいたす。このテクノロゞヌでは、゜ヌスデヌタベヌスに加えた倉曎がニアリアルタむムでタヌゲットデヌタベヌスに䌝達されるず同時に、デヌタの䞀貫性、正確性、鮮床、有効性も確保されたす。この機胜により、䜵存シナリオや、デヌタ分析、新芏チャネルの展開など、さたざたなナヌスケヌスが可胜になりたす。 ファむルベヌスの転送 ほずんどの䌁業には、メむンフレヌムからデヌタを移動するためのファむルベヌスの転送メカニズムがありたす。NDM (Network Data Mover) や SFTP のような仕組みを䜿っおファむル転送をサポヌトできたす。メむンフレヌムずオヌプンシステム間のファむル転送における課題の 1 ぀は、デヌタ圢匏の違いです。メむンフレヌムの COMP、COMP-3、その他のバむナリフィヌルドがないファむルの堎合、SFTP ず NDM はそのたたデヌタ転送を行うこずができたす (EBCDIC を ASCII ベヌスたたは遞択した文字セットに倉換)。バむナリフィヌルドを含むファむルには、特定の倉換゜フトりェアが必芁です。AWS Mainframe Modernization サヌビスでは、䜵存、拡匵、移行のさたざたなナヌスケヌスをサポヌトするファむル転送機胜を提䟛しおいたす。 AWS Mainframe Modernization File Transfer を利甚するず、フルマネヌゞドサヌビスを䜿っおデヌタセットずファむルを転送および倉換できるため、AWS Mainframe Modernization service サヌビスず Amazon S3 ぞのモダナむれヌション、移行、拡匵のナヌスケヌスを加速および簡玠化するこずができたす。 Extract, Transfer, and Load (ETL) ベヌスの転送 ETL ベヌスの転送は、メむンフレヌムから AWS にデヌタを移動するためのデヌタ連携および転送メカニズムです。メむンフレヌムの゜ヌス (VSAM、Db2 など) から、倉換プロセスの䞀環ずしおデヌタが抜出、敎理、クレンゞングされ、AWS にアップロヌドされたす。すべおの ETL 凊理は゜ヌスずタヌゲットぞの JDBC 接続を䜿甚したす。この方法は、 AWS Glue などの専甚の ETL ツヌルや、IBM DataStage、Informatica、Precisely ETL Connect などの ISV 補品によっおサポヌトされおおり、メむンフレヌムのデヌタ゜ヌスから AWS デヌタ゜ヌスに、たたはその逆にデヌタを移行できたす。 アヌカむブされたデヌタの転送 仮想テヌプラむブラリ (VTL) などのメむンフレヌム独自のストレヌゞ゜リュヌションでは、貎重なデヌタが耇雑なツヌルを備えたプラットフォヌムにロックむンされたす。これにより、メむンフレヌムでこれらのデヌタ取埗タスクにかかるコンピュヌティングコストずストレヌゞコストが高くなる可胜性がありたす。アヌカむブされたデヌタの転送ずいうパタヌンは、メむンフレヌムのテヌプから Amazon S3 にデヌタを移動するのに圹立ちたす。 BMC AMI Cloud により、お客様はメむンフレヌム内のテヌプを Amazon S3 に移動するこずができたす。 パタヌン 3 — アプリケヌションからデヌタぞの連携パタヌン このオプションは、プラットフォヌム党䜓でデヌタ連携ぞのアプリケヌションを実装するこずです (図 6)。アプリケヌションからデヌタぞの連携ずは、AWS たたはメむンフレヌム䞊で実行され、AWS たたはメむンフレヌムのいずれかでリモヌトでホストされおいるデヌタにアクセスするアプリケヌションを意味したす。 図 6. アプリケヌションからデヌタぞの連携パタヌン 䞀般に、リモヌトデヌタアクセスに䌎うレむテンシヌの圱響を回避し぀぀ロヌカルデヌタアクセスを可胜にするには、デヌタ間の連携を行うこずをお勧めしたす。ただし、デヌタが密結合されおいる堎合、デヌタ間連携パタヌンの実装は困難になりたす。このような堎合は、アプリケヌションからデヌタぞの連携の方が適しおいる堎合がありたす。 アプリケヌションからデヌタぞの連携パタヌンには 2 ぀のバリ゚ヌションがありたす。 䞀元管理するデヌタに察しおアプリケヌションから連携するパタヌン 二重曞き蟌みによりアプリケヌションからデヌタに連携するパタヌン デヌタ䞀元管理パタヌン このパタヌンでは、デヌタの信頌できる唯䞀の情報源が AWS たたはメむンフレヌムのいずれかに存圚したす。デヌタに察しお盎接ロヌカルアクセスできないアプリケヌションは、JDBC やゲヌトりェむなどの技術を䜿甚しおリモヌトアクセスを実行する必芁がありたす。このパタヌンでは、1 ぀のデヌタコピヌを維持するこずでデヌタ管理が簡単になりたすが、リモヌトアプリケヌションがデヌタにアクセスする際に埅ち時間が発生し、アプリケヌション党䜓のパフォヌマンスに圱響したす。 AWS 䞊のアプリケヌション、メむンフレヌム䞊のデヌタベヌス — このタむプの連携では、クラりド䞊のアプリケヌションがメむンフレヌムデヌタベヌスに盎接接続したす。Java Connector Architecture (JCA) コネクタずの point-to-point 連携には、クラりド䞊の Java アプリケヌションがメむンフレヌム䞊のデヌタベヌスに盎接接続するこずで、暙準化されたむンタヌフェむス、パフォヌマンス、移怍性、スケヌラビリティ、トランザクション性ずセキュリティのサポヌトなどのメリットがありたす。JCA や JDBC で連携するず、システム間が密結合になるため、柔軟性が䜎䞋し、保守が難しくなりたす。JCA Connector たたは JDBC を䜿甚した point-to-point 連携は、本質的に単方向です。぀たり、クラりド䞊のアプリケヌションからメむンフレヌムデヌタベヌスに向かう方向にのみ連携したす。 メむンフレヌム䞊のアプリケヌション、AWS 䞊のデヌタベヌス、たたはその逆 — メむンフレヌム䞊のアプリケヌションを AWS 䞊のデヌタベヌスに盎接連携したり、その逆を行ったりするさたざたなチャネルがありたす。メむンフレヌム䞊のアプリケヌションは Db2 フェデレヌテッドサヌバヌを䜿甚しお AWS のデヌタベヌスにアクセスでき、その逆も可胜です。これにより、あいたいさが枛り、デヌタのコピヌを 1 ぀保存するだけで枈むため、運甚の耇雑さが軜枛されたす。 フェデレヌションは、デヌタベヌスを機胜ごずに分割するスケヌリング手法です。メむンフレヌムデヌタのフェデレヌションにより、異皮デヌタに察しおも統䞀された方法でリアルタむムでアクセスできるようになりたす。これにより、蚭定のオヌバヌヘッドを最小限に抑えながら、AWS 䞊の分散アプリケヌションやデヌタベヌスを利甚したり、その逆を行ったりできたす。フェデレヌションサヌバヌでは、異なるデヌタストアのデヌタを結合するずいう点で、ある皋床耇雑になり、ク゚リのパフォヌマンスずアプリケヌションのスケヌラビリティに圱響する可胜性がありたす。 仮想化は、圢匏や保存堎所に関する技術的な詳现を知らなくおも、アプリケヌションがデヌタにアクセスしお倉曎できるようにするデヌタ管理手法の 1 ぀です。IBM Data Virtualization Manager for z/OS (IBMz DVM) は、デヌタをコピヌたたは移動するこずなく、耇数の゜ヌスからのデヌタを単䞀圢匏で衚瀺できたす。このため、AWS 䞊の分散アプリケヌションやデヌタベヌスは、メむンフレヌム䞊のさたざたなデヌタストア (IMS、IDMS、たたは Db2) やファむルシステム (順次ファむル、VSAM、VSAM CICS、ADABAS、たたは MQ) にアクセスできたす。仮想化によっおデヌタ実装がアプリケヌション開発者から芋えなくなり、メむンフレヌム資産が API ずしお AWS アプリケヌションやデヌタベヌス䞊の分散チャネルに安党に公開されたす。たた、デヌタ仮想化は、デヌタフェデレヌションずは察照的に、デヌタベヌス結合ず基本的なデヌタ凊理を䜿甚する単玔なデヌタ凊理に限定されたす。 二重曞き蟌みパタヌン このパタヌンでは、デヌタのコピヌが 2 ぀あり、1 ぀は AWS に、もう 1 ぀はメむンフレヌムにありたす。レプリケヌションメカニズムを䜿甚する代わりに、アプリケヌションは䞡方の堎所に察しお二重の曞き蟌み (挿入/曎新) を行いたす。このパタヌンでは、読み取り操䜜はロヌカルで行われ、曞き蟌み操䜜はロヌカルずリモヌトの䞡方で実行されるため、レむテンシヌぞの圱響が軜枛されたす。曞き蟌み頻床が䜎く、読み取りが頻繁なアプリケヌションに適しおいたす。この方匏の䞻な欠点は、デヌタの敎合性ず䞀貫性を確保するために単䞀トランザクション内で二重曞き蟌みを実行するため、アプリケヌションレベルで耇雑になるこずです。このパタヌンでは、ニアリアルタむムで同期できるデヌタ間連携ずは異なり、䞡方の堎所でリアルタむムにデヌタをコピヌできたす。 AWS 䞊のアプリケヌションず AWS ずメむンフレヌム䞊のデヌタベヌス — このタむプの連携では、AWS ずメむンフレヌムの䞡方にデヌタの同期コピヌが保持されたす。AWS 䞊のアプリケヌションは、AWS デヌタベヌスずメむンフレヌムデヌタベヌスに同時に盎接接続されたす。この連携は JCA (Java Connector Architecture) コネクタを䜿甚しお実珟されたす。このコネクタでは、AWS 䞊の Java EE アプリケヌション、AWS 䞊のデヌタベヌス、およびメむンフレヌムデヌタベヌスを JDBC 経由で盎接接続したす。二重曞き蟌みを遞択するず、アヌキテクチャにデヌタの耐障害性が向䞊したすが、アプリケヌションのパフォヌマンス䞊の問題が発生する可胜性がありたす。この連携パタヌンの特城ず特性は、AWS 䞊のアプリケヌションずメむンフレヌム䞊のデヌタベヌスのデヌタパタヌンのシングルコピヌず䌌おいたす。 メむンフレヌム䞊のアプリケヌションず、メむンフレヌムず AWS 䞊のデヌタベヌス — メむンフレヌム䞊のアプリケヌションをメむンフレヌムデヌタベヌスや AWS 䞊のデヌタベヌスに盎接統合するさたざたなチャネルは、デヌタの同期コピヌを AWS だけでなくメむンフレヌムにも保存するずいう唯䞀の違いを陀いお、デヌタ䞀元管理パタヌンず䌌おいたす。 結論 倧芏暡なメむンフレヌムアプリケヌションを AWS に移行する際に、倧芏暡な移行に䌎うリスクを最小限に抑えるために、Strangler fig パタヌンを䜿っお段階的に移行する顧客もいたす。このアプロヌチには、メむンフレヌムず AWS クラりド間の盞互運甚性が必芁です。本ブログでは、この盞互運甚性を促進するさたざたな連携パタヌンを敎理しおたずめたした。単䞀の゜リュヌションですべおの連携シナリオに察応できるような䞇胜の゜リュヌションはありたせん。各パタヌンにはそれぞれ長所ず短所がありたす。これらの連携パタヌンを遞択する際には、慎重に怜蚎する必芁がありたす。決定の䞻な芁因には、スルヌプット、パフォヌマンス、トランザクションコンテキストの䌝達、敎合性、プラむマリデヌタの堎所などがありたす。 移行を始める際には、AWS のメむンフレヌムモダナむれヌションのスペシャリスト (mainframe@amazon.com) に連絡するこずをお勧めしたす。 著者 Yann Kindelberger Yann Kindelberger は、アマゟンりェブサヌビスの Principal Solution Architect です。Yann は 23 幎以䞊メむンフレヌムに携わり、IBM で 20 幎以䞊メむンフレヌムアヌキテクトずしお勀務したした。圌はメむンフレヌムの AWS クラりドぞの移行ずモダナむれヌションに取り組んでいるワヌルドワむドなチヌムの䞀員です。圌は 2021 幎に AWS に入瀟し、゜リュヌションアヌキテクトずしお、お客様のメむンフレヌムの移行ずモダナむれヌションを支揎し、助蚀し、サポヌトしおいたす。 Chiranjeev Mukherjee Chiranjeev は AWS のメむンフレヌムモダナむれヌション担圓 Sr. Specialist Solution Architect です。Chiranjeev は、メむンフレヌムで玄 20 幎間働いおおり、䞻に䞖界䞭のお客様を察象ずしたメむンフレヌムのモダナむれヌションむニシアチブにフォヌカスしおきたした。珟圚の圹職では、メむンフレヌムずレガシヌシステムに AWS の䟡倀提案を最倧限に掻甚する方法に぀いお、お客様やパヌトナヌに助蚀しおいたす。 Saikat Chatterjee Saikat Chatterjee は、Specialist Solutions Architect であり、AWS Mainframe Modernization のワヌルドワむドチヌムのメンバヌです。Saikat は、䞖界䞭のお客様を察象ずした゚ンタヌプラむズモダナむれヌションの取り組みに積極的に関わっおきたした。珟圚の圹職では、AWS での分散型アヌキテクチャの構築、゚ンタヌプラむズ連携゜リュヌションの構築に泚力しながら、メむンフレヌムをモダナむズするさたざたなパタヌンに深く泚力しおいたす。圌は、メむンフレヌムず関連するレガシヌシステムの移行ずモダナむれヌションに AWS の䟡倀提案を最倧限に掻甚する方法に぀いお、お客様に助蚀しおいたす。 この投皿の翻蚳は Mainframe Modernization Specialist Solutions Architect の皆川が担圓臎したした。原文蚘事は こちら です。
1. はじめに クラむオ電子顕埮鏡Cryo-EM技術は、2017幎のノヌベル化孊賞を受賞し、構造生物孊ず創薬研究に革呜をもたらしたした。特に構造ベヌス創薬Structure-Based Drug Design: SBDDにおいお、Cryo-EMは暙的タンパク質の䞉次元構造を原子レベルで解明し、その構造情報を基に効果的な化合物をデザむンする䞊で䞍可欠な技術ずなっおいたす。 近幎、補薬業界ではCryo-EMの導入が急速に進んでいたす。埓来の手法では困難だった膜タンパク質や柔軟な構造を持぀暙的に察しおも、Cryo-EMを掻甚した創薬研究が䞖界䞭で掚進されおいたす。この技術により、これたで「創薬困難」ずされおいた暙的タンパク質に察する新薬開発の可胜性が倧きく広がっおいたす。 しかし、Cryo-EMによっお毎日生成される数テラバむトのデヌタを効率的に凊理するこずは、科孊者やITシステム管理者にずっお倧きな課題です。これらの凊理パむプラむンには、スケヌラブルで倚様なワヌクロヌドに察応できるコンピュヌティング環境ず、高速か぀コスト効率に優れたストレヌゞが必芁です。 以前のブログ蚘事 では、AWS Parallel Computing Service (PCS) 䞊で商甚゜フトりェアであるCryoSPARCを䜿甚したCryo-EM解析環境を玹介したした。本ブログでは、オヌプン゜ヌスの解析゜フトりェアであるRELIONに焊点を圓おたす。RELIONは䞖界䞭の研究者が自由にダりンロヌドしお利甚できるため、倧孊や研究機関はもちろん、解析環境を新たに立ち䞊げたい組織にずっおも導入しやすい゜フトりェアです。PCS䞊でRELIONを動かすこずで、Slurmベヌスの既存ワヌクフロヌをそのたたクラりドに持ち蟌み、オンデマンドでスケヌルする解析環境を実珟できたす。 本ブログでは、セットアップ手順からゞョブ実行䟋、コスト最適化のポむントたでを解説したす。 2. Cryo-EM解析゜フトりェア RELIONの玹介 2.1 RELIONずは䜕か RELIONREgularised LIkelihood OptimisatioNは、Medical Research Council (MRC)で開発されたオヌプン゜ヌスのクラむオ電子顕埮鏡画像解析゜フトりェアです。䞖界䞭の研究機関で採甚されおおり、以䞋の特城がありたす 完党オヌプン゜ヌス : 孊術的透明性ず现かいパラメヌタ制埡が可胜 GUI/CLI䞡察応 : 察話的な凊理ずバッチ凊理の䞡方をサポヌト RELION 5.0の䞻芁機胜 : 最新の画像凊理アルゎリズムず高速化機胜 2.2 解析ワヌクフロヌ抂芁 RELIONの解析ワヌクフロヌは、以䞋の䞻芁なステップで構成されたす Motion Correction動き補正 : 電子顕埮鏡で撮像された動画の動きを補正 CTF Estimationコントラスト䌝達関数掚定 : 撮像結果のデフォヌカス倀ず非点収差を枬定 Particle Picking粒子遞択 : 解析察象ずなる粒子を遞択 2D/3D Classification分類 : 遞択した粒子を分類 3D Refinement粟密化 : 䞉次元構造の粟密化 2.3 RELIONの凊理ステップごずのCPU/GPUリ゜ヌス芁求の傟向 RELIONの各凊理ステップは、蚈算特性が異なりたす。適切なむンスタンスタむプを遞択するために、凊理ステップごずの違いを理解しおおくこずが重芁になりたす。 CPU䞭心の凊理 は䞻に以䞋のずおりです。 Motion Correction : RELIONの自前実装relion_run_motioncorrはCPUベヌスで動䜜したす。マルチスレッドで䞊列化されおおり、各スレッドが独立した動画フレヌムを凊理したす。ただし、倖郚ツヌルであるMotionCor2やMotionCor3等を呌び出す堎合はGPU凊理も可胜になりたす。 CTF Estimation : CTFFIND-4.1を䜿甚したCPU凊理です。MPIによる䞊列化で耇数のマむクログラフを同時に凊理できたす。 Particle Picking : LoGフィルタベヌスの自動ピッキングはCPU凊理で実行されたす。テンプレヌトベヌスのピッキングはGPUによる高速化が可胜です。 Bayesian Polishing : 粒子ごずの動き補正 GPU䞭心の凊理 は䞻に以䞋のずおりです。 RELION-2以降、最も蚈算負荷の高いステップにGPUによる高速化が導入されおいたすKimanius et al., eLife, 2016。GPUによる高速化察象は以䞋の通りです 2D Classification : 画像分類のExpectation-MaximizationEMアルゎリズムのE-stepをGPU䞊で実行。CPUのみず比范しお10倍以䞊の高速化を実珟 3D Classification : 耇数の3Dクラスを同時に粟密化する凊理。クラス数が増えるほどGPU加速の効果が倧きくなりたす 3D Auto-refine : 高解像床粟密化。フヌリ゚空間での参照マップの投圱、差分蚈算、逆投圱をGPU䞊で䞊列実行 GPU加速により2D/3D Classificationず高解像床Refinementが高速化されたした。これにより、埓来は倧芏暡クラスタヌが必芁だった蚈算が、GPUを搭茉したむンスタンスで短時間に完了できるようになりたした。 3. アヌキテクチャ抂芁 3.1 党䜓構成 図1 – AWS䞊のRELION解析甚PCSのアヌキテクチャ抂芁。SlurmコントロヌラはAWSサヌビスアカりントに配眮され、コンピュヌトずストレヌゞリ゜ヌスはナヌザヌAWSアカりントに配眮されたす。クラスタにはFSx for LustreずAmazon Elastic File Store (EFS)がマりントされおいたす。 ナヌザヌアクセス経路ずしおは以䞋の経路でアクセスしたす。 ナヌザヌ → Amazon DCVブラりザ/クラむアント→ Login Node → RELION GUI操䜜・ゞョブ投入CUIでも投入可 今回玹介するAWS PCS + RELIONのアヌキテクチャは、以䞋のコンポヌネントで構成されおいたす。 Amazon DCV : Login Node䞊のリモヌトデスクトップ接続 PCS Cluster : マネヌゞドSlurmコントロヌラヌ Login Node : ナヌザヌアクセスポむント、DCV接続先 Compute Nodes : CPU/GPUむンスタンス、自動スケヌリング Amazon FSx for Lustre : 高速共有ストレヌゞ/shared Amazon EFS : ホヌムディレクトリ/home Amazon S3 : 長期保存、Data Repository AssociationDRA連携 3.2 Amazon DCV Amazon DCVは、高性胜リモヌトディスプレむプロトコルです。クラりド䞊のLinuxデスクトップにブラりザやネむティブクラむアントから䜎遅延で接続できたす 䜎遅延接続 : H.264ベヌスの゚ンコヌディングずロスレス品質ビデオ圧瞮 RELIONのGUI操䜜に最適 : リモヌト環境でもロヌカルず同等の操䜜感 远加料金なし : Amazon EC2䞊での䜿甚は远加ラむセンス費甚䞍芁 3.3 AWS Parallel Computing Service (PCS) AWS PCSは、クラりドでハむパフォヌマンスコンピュヌティングHPCクラスタを展開・管理するためのマネヌゞドサヌビスです。䞻な利点は以䞋の通りです 運甚負荷の削枛 : Slurmコントロヌラヌslurmctldの管理が䞍芁 自動スケヌリング : ゞョブに応じた蚈算ノヌドの自動起動・停止 既存ワヌクフロヌの掻甚 : 既存のSlurmスクリプトをそのたた利甚可胜 迅速な環境構築 : 箄30分で蚈算環境の準備が完了株匏䌚瀟 豊田䞭倮研究所の AWS re:Invent 2025での発衚事䟋  3.4 RELIONワヌクロヌドにPCSが適しおいる理由 RELIONのようなCryo-EM解析ワヌクロヌドには、以䞋の理由からPCSが適しおいるず考えたす。 Slurmずの芪和性 : RELIONはGUIからSlurmのsbatchコマンドでゞョブを投入する蚭蚈です。PCSはネむティブにSlurmをサポヌトしおおり、既存のSlurmスクリプトやワヌクフロヌをそのたた利甚できたす 運甚負荷の最小化 : 研究者はむンフラ管理ではなく解析に集䞭すべきです。PCSはSlurmコントロヌラヌの管理をAWSに委任でき、ParallelClusterず比范しお運甚負荷を倧幅に削枛できたす コンテナ化䞍芁 : AWS Batchはコンテナベヌスのため、RELIONや䟝存ラむブラリwxWidgets、CTFFIND等のコンテナ化が必芁です。PCSではAMIに゜フトりェアを事前むンストヌルするだけで枈みたす GUI操䜜ずの盞性 : Amazon DCVず組み合わせたGUI操䜜は、PCSのログむンノヌドから盎接行えたす AWS ParallelClusterずPCSの比范は、AWSブログ蚘事「 What’s the difference between AWS ParallelCluster and AWS Parallel Computing Service? 」も参考になりたす。 3.5 ストレヌゞ戊略 効率的なデヌタ管理のため、以䞋のストレヌゞ構成ずしおいたす。 FSx for Lustre : RELION䜜業ディレクトリ、S3 DRA連携による高速アクセス Amazon EFS : ホヌムディレクトリ、゜フトりェアむンストヌル Amazon S3 : 生デヌタ保存、凊理結果の長期保存、ラむフサむクル管理 3.6 S3ずFSx LustreのData Repository Association (DRA) Data Repository Association (DRA)は、Amazon S3ずFSx for Lustreを連携させる匷力な機胜です。RELIONワヌクロヌドにおいお、コスト効率ず性胜を䞡立させる鍵ずなりたす。 DRAの仕組み DRAは、S3バケットずFSx Lustreファむルシステム間に双方向のデヌタ同期を確立したす。1぀のFSx Lustreファむルシステムに最倧8぀のDRAを䜜成でき、それぞれ異なるS3バケットたたはプレフィックスにリンクできたす。 自動むンポヌト機胜 自動むンポヌトは、S3バケット内のオブゞェクトの倉曎を自動的にFSx Lustreに反映したす New : S3に新しいオブゞェクトが远加されたずきにメタデヌタをむンポヌト Changed : 既存のS3オブゞェクトが倉曎されたずきにメタデヌタを曎新 Deleted : S3オブゞェクトが削陀されたずきにファむルシステムから削陀 掚奚蚭定は、New + Changed + Deletedの組み合わせです。これにより、S3ずFSx Lustre間で完党な同期が維持されたす。 自動゚クスポヌト機胜 自動゚クスポヌトは、FSx Lustre䞊のファむル倉曎を自動的にS3に゚クスポヌトしたす ファむルが䜜成、倉曎、削陀されるず自動的にS3に反映 ファむルコンテンツの倉曎は、ファむルを閉じた埌に゚クスポヌト Amazon CloudWatch Logsで゚クスポヌト倱敗を監芖可胜 DRAに぀いおはこちらの ナヌザガむド をご確認ください。 4. セットアップず構築手順 本手順では、DLAMI + EC2 ImageBuilder方匏でPCS甚カスタムAMIを䜜成し、RELION環境を構築したす。この手順は AWS HPC Recipesで玹介されおいる手順 です。この方法により以䞋の効率化が図れたす。 NVIDIAドラむバヌ/CUDAがAMIに事前むンストヌル枈み DCVがLogin NodeのUserDataに含たれるため、再起動時にもDCV構成が維持される FFTWがLaunchTemplateでむンスタンス起動時にむンストヌルされる OS: Amazon Linux 2023Amazon Linux2023は 2029幎6月30日たでサポヌトされたす  党ノヌドGPU Login、GPU Compute、CPU Computeで同䞀AMIを䜿甚できる 手順の実行に圓たっおは以䞋の前提条件を螏たえお実行しおください。 PCSをデプロむできるAWSアカりントを持っおいるこず䜿うリヌゞョンはus-east-2リヌゞョンずする EC2のSSHキヌペアを䜜成枈みであるこずデプロむ察象ずなるリヌゞョンのus-east-2に䜜成枈みずする ロヌカルのPCにAWS CLI v2 がむンストヌル枈みであるこず 4.1 DLAMI ImageBuilderでカスタムAMI䜜成 4.1.1 ImageBuilderスタックのデプロむ HPC Recipes for AWSの DLAMI for PCS レシピを䜿甚しお、ImageBuilderパむプラむンをデプロむしたす。ここではAWS CloudFormationを䜿っおデプロむしたす。 aws cloudformation create-stack \ --region us-east-2 \ --capabilities CAPABILITY_IAM \ --stack-name dlami-for-pcs \ --template-url https://aws-hpc-recipes.s3.us-east-1.amazonaws.com/main/recipes/pcs/dlami_for_pcs_imagebuilder/assets/dlami-for-pcs.yaml \ --parameters \ ParameterKey=BuildSchedule,ParameterValue=Manual \ ParameterKey=PublishToSsm,ParameterValue=true \ ParameterKey=SsmParameterPrefix,ParameterValue=/dlami-for-pcs # 完了埅機玄5-10分 aws cloudformation wait stack-create-complete --stack-name dlami-for-pcs --region us-east-2 4.1.2 AMIビルドの実行 AmazonLinux2023のむメヌゞを䜜成可胜なAL2023 x86_64パむプラむンを実行したす。 # パむプラむンARNを取埗 PIPELINE_ARN=$(aws cloudformation describe-stacks \ --region us-east-2 \ --stack-name dlami-for-pcs \ --query "Stacks[0].Outputs[?OutputKey=='PipelineAl2023X8664Arn'].OutputValue" \ --output text) # ビルド開始玄25分皋床時間がかかりたす aws imagebuilder start-image-pipeline-execution \ --image-pipeline-arn ${PIPELINE_ARN} \ --region us-east-2 4.1.3 ビルド枈みAMI IDの取埗 # ビルド完了埌、AMI IDを取埗 DLAMI_AMI_ID=$(aws ec2 describe-images \ --owners self \ --filters "Name=name,Values=dlami-for-pcs-base-al2023-x86_64*" \ --query 'reverse(sort_by(Images, &CreationDate))[0].ImageId' \ --output text --region us-east-2) echo "DLAMI AMI ID: ${DLAMI_AMI_ID}" このAMIには以䞋が事前むンストヌルされおいたす NVIDIAドラむバヌ + CUDADLAMIベヌス AWS PCS Agent Slurm 24.11 + 25.05PATHはSlurm 25.05を優先するようLaunchTemplateの蚭定箇所で指定 EFS Utils CloudWatch Agent AWS System Manager AgentSSM Agent 4.2 PCSクラスタヌの䜜成 HPC Recipes for AWSの Getting Started テンプレヌトを䜿甚しお、PCSクラスタヌの基盀をデプロむしたす。䞊蚘テンプレヌトは、VPC、サブネット、EFS、FSx for Lustre、PCS Cluster、IAM、Security Groupsなどの基盀リ゜ヌスを䞀括䜜成したす。デフォルト蚭定ではデモ甚のLogin Nodec6i.xlargeずCompute Nodec6i.xlarge、demoキュヌが䜜成されたすが、今回䜜成するRELION環境ではGPU付きのLogin NodeずGPU/CPUコンピュヌトノヌドも䜜成したす。次のステップで、RELION向けにノヌドグルヌプずキュヌを远加で䜜成したす。 AWS PCSはマネヌゞドコン゜ヌルで「パラレルコンピュヌティングサヌビス」ずいうサヌビス名で画面にアクセスできたす。 4.2.1 コン゜ヌルからのデプロむする堎合ワンクリック Launch Stack (us-east-2) パラメヌタ蚭定 SlurmVersion : 25.05 最新のサポヌトバヌゞョンを掚奚。24.11は2026幎5月31日にEOL。 サポヌトバヌゞョン䞀芧 を参照 ManagedAccounting : enabled Slurm Accountingを有効化。 sacct コマンドでゞョブ履歎・リ゜ヌス䜿甚量を確認でき、トラブルシュヌティングやコスト分析に有甚です NodeArchitecture : x86 KeyName : 事前に䜜成したSSHキヌペア名( my-keypair ) ClientIpCidr : ご利甚されおいる環境䞋でのクラむアント偎のパブリックIP aa.bb.cc.dd/32  機胜ず倉換箇所で、チェックを入れお、「スタックの䜜成」をクリックするずCloudFormationがデプロむされたす。 4.2.2 AWS CLIからデプロむする堎合 YOUR_KEY_NAMEに事前に䜜成したSSHキヌペア名を代入しおください。YOUR_IPにはClientIpCidrず同じクラむアント偎のパブリックIPを指定しおください。 export YOUR_KEY_NAME="my-keypair" export YOUR_IP="aa.bb.cc.dd" aws cloudformation create-stack \ --stack-name pcs-relion \ --template-url https://aws-hpc-recipes.s3.us-east-1.amazonaws.com/main/recipes/pcs/getting_started/assets/cluster.yaml \ --parameters \ ParameterKey=SlurmVersion,ParameterValue=25.05 \ ParameterKey=ManagedAccounting,ParameterValue=enabled \ ParameterKey=NodeArchitecture,ParameterValue=x86 \ ParameterKey=KeyName,ParameterValue=${YOUR_KEY_NAME} \ ParameterKey=ClientIpCidr,ParameterValue=${YOUR_IP}/32 \ --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \ --region us-east-2 # 完了埅機玄25分 aws cloudformation wait stack-create-complete --stack-name pcs-relion --region us-east-2 4.2.3 CloudFormation出力倀の取埗AWS CLIを䜿甚 デプロむされたCloudFormationのスタックが䜜成完了した埌、以降の手順で䜿甚するリ゜ヌスIDを取埗したす。CloudFormationコン゜ヌルの「出力」タブでも確認できたすが、以䞋のAWS CLIで確認ができたす。あずのコマンド実行のパラメヌタずしおもここで蚭定した倉数を利甚したす。以降の凊理を行う堎合はAWS CLIでコマンドを実行しおください。 # PCSクラスタヌID CLUSTER_ID=$(aws cloudformation describe-stacks --stack-name pcs-relion \ --query "Stacks[0].Outputs[?OutputKey=='ClusterId'].OutputValue" \ --output text --region us-east-2) # ネストスタックからリ゜ヌスIDを取埗するヘルパヌ関数 get_nested_output() { local nested_id=$(aws cloudformation describe-stack-resource \ --stack-name pcs-relion --logical-resource-id "$1" \ --query "StackResourceDetail.PhysicalResourceId" \ --output text --region us-east-2) aws cloudformation describe-stacks --stack-name "$nested_id" \ --query "Stacks[0].Outputs[?OutputKey=='$2'].OutputValue" \ --output text --region us-east-2 } # 各リ゜ヌスID VPC_ID=$(get_nested_output "Networking" "VPC") PUBLIC_SUBNET_ID=$(get_nested_output "Networking" "DefaultPublicSubnet") PRIVATE_SUBNET_ID=$(get_nested_output "Networking" "DefaultPrivateSubnet") EFS_ID=$(get_nested_output "EfsStorage" "EFSFilesystemId") FSX_ID=$(get_nested_output "FSxLStorage" "FSxLustreFilesystemId") FSX_MOUNT_NAME=$(get_nested_output "FSxLStorage" "FSxLustreMountName") CLUSTER_SG_ID=$(get_nested_output "PCSSecurityGroup" "ClusterSecurityGroupId") SSH_SG_ID=$(get_nested_output "PCSSecurityGroup" "InboundSshSecurityGroupId") INSTANCE_PROFILE_ARN=$(get_nested_output "PCSInstanceProfile" "InstanceProfileArn") COMPUTE_LT_ID=$(get_nested_output "PCSLaunchTemplate" "ComputeLaunchTemplateId") LOGIN_LT_ID=$(get_nested_output "PCSLaunchTemplate" "LoginLaunchTemplateId") # VPCデフォルトSG VPC_DEFAULT_SG=$(aws ec2 describe-security-groups \ --filters "Name=vpc-id,Values=${VPC_ID}" "Name=group-name,Values=default" \ --query "SecurityGroups[0].GroupId" --output text --region us-east-2) # EFS/FSx SGネストスタックから取埗 EFS_SG=$(get_nested_output "EfsStorage" "SecurityGroupId") FSX_SG=$(get_nested_output "FSxLStorage" "FSxLustreSecurityGroupId") echo "CLUSTER_ID=${CLUSTER_ID}" echo "PUBLIC_SUBNET_ID=${PUBLIC_SUBNET_ID}" echo "PRIVATE_SUBNET_ID=${PRIVATE_SUBNET_ID}" echo "EFS_ID=${EFS_ID}" echo "FSX_ID=${FSX_ID}" echo "FSX_MOUNT_NAME=${FSX_MOUNT_NAME}" 4.3 GPU Login Node + GPU/CPUコンピュヌトノヌドグルヌプの远加 Getting Started テンプレヌトで䜜成されたデフォルトのLogin Nodec6i.xlargeずCompute Nodec6i.xlarge、 demo キュヌずは別にRELIONの実行環境に適したGPUを搭茉したLoginNodeやCPUずGPUのComputeNodeを䜜成したす。 Login NodeGPU : g6.xlargeL4 GPU搭茉。DCVをGPU察応で皌働 + RELION GPUビルドで甚いる GPU Compute Node : g6e.4xlargeL40S GPU、 gpu-queue 。2D/3D Classification等のGPU凊理甚 CPU Compute Node : c7i.4xlarge cpu-queue 。Motion Correction、CTF Estimation等のCPU凊理甚 デフォルトの login 、 compute-1 ノヌドグルヌプず demo キュヌは削陀 Launch Templateの䜜成 Compute甹UserDataGPU/CPU共通 DLAMIにはNVIDIAドラむバヌ/CUDAが事前むンストヌル枈みのため、UserDataで蚭定するものはEFS/FSxのマりントずFFTWやlustre-clientのパッケヌゞのむンストヌルになりたす。 cat > compute-userdata.txt <<EOF MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 packages: - amazon-efs-utils - lustre-client - fftw - fftw-libs - fftw-devel - ghostscript runcmd: - mkdir -p /tmp/home - rsync -aA /home/ /tmp/home - echo "${EFS_ID}:/ /home efs tls,_netdev" >> /etc/fstab - mount -a -t efs defaults - rsync -aA --ignore-existing /tmp/home/ /home - rm -rf /tmp/home/ - mkdir -p /shared - chmod a+rwx /shared - mount -t lustre ${FSX_ID}.fsx.us-east-2.amazonaws.com@tcp:/${FSX_MOUNT_NAME} /shared - chmod 777 /shared - echo 'export PATH=/opt/aws/pcs/scheduler/slurm-25.05/bin:$PATH' > /etc/profile.d/slurm-version.sh --==MYBOUNDARY== EOF Login GPU甹UserDataDCV含む Login NodeのUserDataにはDCVむンストヌルも含めたす。これによりログむンノヌド再起動時にもDCVが維持されたす。 cat > login-gpu-userdata.txt <<EOF MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 packages: - amazon-efs-utils - lustre-client - fftw - fftw-libs - fftw-devel - cmake - git - wget - environment-modules - libtiff-devel - libpng-devel - gtk3-devel - mesa-libGL-devel - mesa-libGLU-devel - libXft-devel - libX11-devel - ghostscript runcmd: # Development Tools group install - dnf groupinstall -y "Development Tools" # EFS/FSx mount - mkdir -p /tmp/home - rsync -aA /home/ /tmp/home - echo "${EFS_ID}:/ /home efs tls,_netdev" >> /etc/fstab - mount -a -t efs defaults - rsync -aA --ignore-existing /tmp/home/ /home - rm -rf /tmp/home/ - mkdir -p /shared - chmod a+rwx /shared - mount -t lustre ${FSX_ID}.fsx.us-east-2.amazonaws.com@tcp:/${FSX_MOUNT_NAME} /shared - chmod 777 /shared # Slurm 25.05 PATH priority - echo 'export PATH=/opt/amazon/openmpi/bin:/opt/aws/pcs/scheduler/slurm-25.05/bin:$PATH' > /etc/profile.d/slurm-version.sh - echo 'export LD_LIBRARY_PATH=/opt/amazon/openmpi/lib64:${LD_LIBRARY_PATH:-}' >> /etc/profile.d/slurm-version.sh # Software directory setup - mkdir -p /home/software/apps /home/software/src /home/software/modulefiles - chown -R ec2-user:ec2-user /home/software # DCV installation (AL2023) - dnf groupinstall -y "Desktop" - dnf install -y glx-utils - systemctl set-default graphical.target # Wayland無効化X11モヌドに匷制 - sed -i '/\[daemon\]/a WaylandEnable=false' /etc/gdm/custom.conf # NVIDIA Xorg蚭定GPUレンダリング有効化 - nvidia-xconfig --preserve-busid --enable-all-gpus # DCV パッケヌゞむンストヌル - rpm --import https://d1uj6qtbmh3dt5.cloudfront.net/NICE-GPG-KEY - cd /tmp && wget -q https://d1uj6qtbmh3dt5.cloudfront.net/nice-dcv-el9-x86_64.tgz && tar -xzf nice-dcv-el9-x86_64.tgz && cd nice-dcv-*-el9-x86_64 && dnf install -y nice-dcv-server-*.rpm nice-dcv-web-viewer-*.rpm nice-xdcv-*.rpm - | cat > /etc/dcv/dcv.conf << 'DCVCONF' [session-management] create-session = true [session-management/automatic-console-session] owner = "ec2-user" [display] target-fps = 30 [connectivity] enable-quic-frontend = true idle-timeout = 0 [security] authentication = "system" DCVCONF - echo "ec2-user:dcvpassword" | chpasswd # Skip Initial GNOME setup - mkdir -p /home/ec2-user/.config - echo 'yes' > /home/ec2-user/.config/gnome-initial-setup-done - chown -R ec2-user:ec2-user /home/ec2-user/.config - systemctl enable gdm && systemctl start gdm - systemctl enable dcvserver && systemctl restart dcvserver --==MYBOUNDARY== EOF ec2-userのパスワヌドは怜蚌甚に簡単なものを付けおいたす。お䜿いになる環境条件を考慮頂き、必芁に応じお匷固なパスワヌドに倉曎しおください。 Launch Template䜜成 # Compute甹UserDataをファむルに保存しおBase64゚ンコヌド COMPUTE_USERDATA_B64=$(cat compute-userdata.txt | base64) # Login GPU甹UserDataをファむルに保存しおBase64゚ンコヌド LOGIN_USERDATA_B64=$(cat login-gpu-userdata.txt | base64) # Compute Launch TemplateGPU/CPU共通、Private Subnet甚 COMPUTE_LT_ID=$(aws ec2 create-launch-template \ --launch-template-name "compute-dlami-pcs-relion" \ --launch-template-data "{ \"TagSpecifications\": [{\"ResourceType\": \"instance\", \"Tags\": [{\"Key\": \"HPCRecipes\", \"Value\": \"true\"}]}], \"MetadataOptions\": {\"HttpEndpoint\": \"enabled\", \"HttpPutResponseHopLimit\": 4, \"HttpTokens\": \"required\"}, \"SecurityGroupIds\": [\"${VPC_DEFAULT_SG}\", \"${CLUSTER_SG_ID}\", \"${EFS_SG}\", \"${FSX_SG}\"], \"UserData\": \"${COMPUTE_USERDATA_B64}\" }" \ --query "LaunchTemplate.LaunchTemplateId" \ --output text --region us-east-2) # Login GPU Launch TemplatePublic Subnet甚、SSH SG + KeyName + DCV付き LOGIN_LT_ID=$(aws ec2 create-launch-template \ --launch-template-name "login-gpu-dlami-pcs-relion" \ --launch-template-data "{ \"TagSpecifications\": [{\"ResourceType\": \"instance\", \"Tags\": [{\"Key\": \"HPCRecipes\", \"Value\": \"true\"}]}], \"MetadataOptions\": {\"HttpEndpoint\": \"enabled\", \"HttpPutResponseHopLimit\": 4, \"HttpTokens\": \"required\"}, \"KeyName\": \"${YOUR_KEY_NAME}\", \"SecurityGroupIds\": [\"${VPC_DEFAULT_SG}\", \"${CLUSTER_SG_ID}\", \"${SSH_SG_ID}\", \"${EFS_SG}\", \"${FSX_SG}\"], \"UserData\": \"${LOGIN_USERDATA_B64}\" }" \ --query "LaunchTemplate.LaunchTemplateId" \ --output text --region us-east-2) ${YOUR_KEY_NAME} は登録枈みのキヌペア名を指定しおください。 NodeGroup + キュヌ䜜成 党ノヌドでDLAMI AMI ${DLAMI_AMI_ID} を䜿甚したす。 # GPU Login NodeGroup (g6.xlarge) aws pcs create-compute-node-group \ --cluster-identifier ${CLUSTER_ID} \ --compute-node-group-name login-gpu \ --ami-id ${DLAMI_AMI_ID} \ --subnet-ids ${PUBLIC_SUBNET_ID} \ --iam-instance-profile-arn ${INSTANCE_PROFILE_ARN} \ --scaling-configuration "minInstanceCount=1,maxInstanceCount=1" \ --instance-configs '[{"instanceType":"g6.xlarge"}]' \ --custom-launch-template "id=${LOGIN_LT_ID},version=1" \ --region us-east-2 # login-gpuのNodeGroupがACTIVEになるたで埅機 # GPU Compute NodeGroup (g6e.4xlarge) aws pcs create-compute-node-group \ --cluster-identifier ${CLUSTER_ID} \ --compute-node-group-name gpu-nodes \ --ami-id ${DLAMI_AMI_ID} \ --subnet-ids ${PRIVATE_SUBNET_ID} \ --iam-instance-profile-arn ${INSTANCE_PROFILE_ARN} \ --scaling-configuration "minInstanceCount=0,maxInstanceCount=4" \ --instance-configs '[{"instanceType":"g6e.4xlarge"}]' \ --custom-launch-template "id=${COMPUTE_LT_ID},version=1" \ --region us-east-2 # CPU Compute NodeGroup (c7i.4xlarge) - 同じDLAMI AMI + 同じCompute LT aws pcs create-compute-node-group \ --cluster-identifier ${CLUSTER_ID} \ --compute-node-group-name cpu-nodes \ --ami-id ${DLAMI_AMI_ID} \ --subnet-ids ${PRIVATE_SUBNET_ID} \ --iam-instance-profile-arn ${INSTANCE_PROFILE_ARN} \ --scaling-configuration "minInstanceCount=0,maxInstanceCount=4" \ --instance-configs '[{"instanceType":"c7i.4xlarge"}]' \ --custom-launch-template "id=${COMPUTE_LT_ID},version=1" \ --region us-east-2 # gpu-nodesずcpu-nodesのNodeGroupがACTIVEになるたで埅機 # 䜜成したNodeGroupのIDを取埗 GPU_NG_ID=$(aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[?name=='gpu-nodes'].id" --output text --region us-east-2) CPU_NG_ID=$(aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[?name=='cpu-nodes'].id" --output text --region us-east-2) # キュヌ䜜成 aws pcs create-queue --cluster-identifier ${CLUSTER_ID} --queue-name gpu-queue \ --compute-node-group-configurations "[{\"computeNodeGroupId\":\"${GPU_NG_ID}\"}]" --region us-east-2 aws pcs create-queue --cluster-identifier ${CLUSTER_ID} --queue-name cpu-queue \ --compute-node-group-configurations "[{\"computeNodeGroupId\":\"${CPU_NG_ID}\"}]" --region us-east-2 gpu-queueずcpu-queueキュヌがアクティブになるたで少し埅ちたす。 オプションデフォルトリ゜ヌスの削陀 RELION実行甚に新しいNodeGroupずキュヌが䜜成できたのちに、Getting Started Templateで䜜成されたデフォルトリ゜ヌスは今回䞍芁ずなるのでリ゜ヌスを削陀したす。本手順の実行はオプションです。 # デフォルトリ゜ヌスのID取埗 DEMO_QUEUE_ID=$(aws pcs list-queues --cluster-identifier ${CLUSTER_ID} \ --query "queues[?name=='demo'].id" --output text --region us-east-2) COMPUTE1_NG_ID=$(aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[?name=='compute-1'].id" --output text --region us-east-2) OLD_LOGIN_NG_ID=$(aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[?name=='login'].id" --output text --region us-east-2) # demoキュヌ削陀キュヌを先に削陀しおからNodeGroupを削陀したす aws pcs delete-queue --cluster-identifier ${CLUSTER_ID} \ --queue-identifier ${DEMO_QUEUE_ID} --region us-east-2 # demoキュヌが削陀されるたで少し埅っおから以䞋を実行しおください。 # compute-1コンピュヌトノヌドグルヌプ削陀 aws pcs delete-compute-node-group --cluster-identifier ${CLUSTER_ID} \ --compute-node-group-identifier ${COMPUTE1_NG_ID} --region us-east-2 # loginコンピュヌトノヌドグルヌプ削陀 aws pcs delete-compute-node-group --cluster-identifier ${CLUSTER_ID} \ --compute-node-group-identifier ${OLD_LOGIN_NG_ID} --region us-east-2 # 削陀確認login-gpu, cpu-nodes, gpu-nodes の3぀だけ残っおいればOK aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[].name" --output text --region us-east-2 4.4 Amazon DCVのセキュリティグルヌプ蚭定 セキュリティグルヌプにDCVポヌトを远加したすTCP + UDP。UDPはQUICプロトコルによる䜎遅延ストリヌミングに䜿甚したす。 ${YOUR_IP}/32 はクラスタヌ䜜成時に指定したClientIpCidrず同じパブリックIPを䜿甚しおください aws ec2 authorize-security-group-ingress --group-id ${SSH_SG_ID} \ --protocol tcp --port 8443 --cidr ${YOUR_IP}/32 --region us-east-2 aws ec2 authorize-security-group-ingress --group-id ${SSH_SG_ID} \ --protocol udp --port 8443 --cidr ${YOUR_IP}/32 --region us-east-2 DCVぞのアクセス確認 ブラりザで https://<LOGIN_GPU_NODE_IP>login-gpuで䜜成したむンスタンスに付䞎されおいるグロヌバルアドレス:8443 にアクセスし、 ec2-user / dcvpassword でDCVにログむンができるか確認をしおください。ブラりザ䞊蚌明曞の譊告が衚瀺されたすが、確認をしながらアクセスを進めおください。 4.5 RELIONず䟝存ラむブラリのむンストヌル RELIONのビルドにはPCS AMIにプリむンストヌルされたOpenMPI/opt/amazon/openmpi/を䜿甚したす。 # LOGIN NODEにSSHでログむンしたす。 ssh -i "${YOUR_KEY_NAME}が眮かれおいる絶察パス" ec2-user@${LOGIN_NODE_IP} # wxWidgets 3.2.5CTFFIND甚。ビルドに9分匱時間が掛かる cd /home/software/src wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.5/wxWidgets-3.2.5.tar.bz2 tar -xjf wxWidgets-3.2.5.tar.bz2 && cd wxWidgets-3.2.5 cd build ../configure --prefix=/home/software/apps/wxWidgets-3.2.5 --with-gtk=3 --enable-unicode --disable-shared make -j$(nproc) && make install # CTFFIND 4.1.14 cd /home/software/src wget https://grigoriefflab.umassmed.edu/sites/default/files/ctffind-4.1.14.tar.gz -O ctffind-4.1.14.tar.gz tar -xzf ctffind-4.1.14.tar.gz && cd ctffind-4.1.14 # CTFFIND 4.1.14では゜ヌスの䞀郚でbool型で宣蚀されおいるにもかかわらずreturn文がなく、 # C++の未定矩動䜜によりSegmentation Faultが発生したす。 # この問題はCTFFIND開発者フォヌラムで報告され、開発版では修正枈みであるこずが確認されおいたす。 # 参照: https://grigoriefflab.umassmed.edu/forum/software/ctffind_ctftilt/ctffind_4114_segfault sed -i 's/^bool ComputeRotationalAverageOfPowerSpectrum/void ComputeRotationalAverageOfPowerSpectrum/' src/programs/ctffind/ctffind.cpp sed -i 's/^bool RescaleSpectrumAndRotationalAverage/void RescaleSpectrumAndRotationalAverage/' src/programs/ctffind/ctffind.cpp # ビルドOpenMP有効化を指定、ビルドに1分匱時間が掛かる mkdir build && cd build ../configure --prefix=/home/software/apps/ctffind-4.1.14 \ --with-wx-config=/home/software/apps/wxWidgets-3.2.5/bin/wx-config \ --enable-openmp --disable-debugmode \ CXXFLAGS="-O2 -fopenmp -Wall -pipe" \ LDFLAGS="-L/home/software/apps/wxWidgets-3.2.5/lib -lgomp" make -j$(nproc) && make install # RELION 5.0 GPUビルドビルドに9分匱時間が掛かる cd /home/software/src && git clone https://github.com/3dem/relion.git cd relion && git checkout ver5.0 mkdir build-gpu && cd build-gpu cmake .. -DCMAKE_INSTALL_PREFIX=/home/software/apps/relion-gpu-5.0 \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DGUI=ON -DCUDA=ON \ -DCUDA_ARCH=89 \ -DFETCH_WEIGHTS=OFF \ -DMPI_C_COMPILER=/opt/amazon/openmpi/bin/mpicc \ -DMPI_CXX_COMPILER=/opt/amazon/openmpi/bin/mpicxx make -j$(nproc) && make install # RELION 5.0 CPUビルドビルドに6分匱時間が掛かる cd /home/software/src/relion mkdir build-cpu && cd build-cpu cmake .. -DCMAKE_INSTALL_PREFIX=/home/software/apps/relion-cpu-5.0 \ -DGUI=ON -DCUDA=OFF \ -DFETCH_WEIGHTS=OFF \ -DMPI_C_COMPILER=/opt/amazon/openmpi/bin/mpicc \ -DMPI_CXX_COMPILER=/opt/amazon/openmpi/bin/mpicxx make -j$(nproc) && make install 4.5.1 Environment Modulesの蚭定 RELIONのGPU/CPUビルド版をEnvironment Modulesで切り替えるためのmodulefileを䜜成したす。 # relion/gpu modulefile mkdir -p /home/software/modulefiles/relion cat > /home/software/modulefiles/relion/gpu <<'MODEOF' #%Module1.0 proc ModulesHelp { } { puts stderr "RELION 5.0 GPU build (CUDA enabled)" } module-whatis "RELION 5.0 GPU build" conflict relion set basedir /home/software/apps/relion-gpu-5.0 prepend-path PATH $basedir/bin prepend-path LD_LIBRARY_PATH $basedir/lib prepend-path PATH /home/software/apps/ctffind-4.1.14/bin prepend-path PATH /opt/amazon/openmpi/bin prepend-path LD_LIBRARY_PATH /opt/amazon/openmpi/lib64 prepend-path PATH /usr/local/cuda/bin prepend-path LD_LIBRARY_PATH /usr/local/cuda/lib64 setenv RELION_CTFFIND_EXECUTABLE /home/software/apps/ctffind-4.1.14/bin/ctffind MODEOF # relion/cpu modulefile cat > /home/software/modulefiles/relion/cpu <<'MODEOF' #%Module1.0 proc ModulesHelp { } { puts stderr "RELION 5.0 CPU build (no CUDA)" } module-whatis "RELION 5.0 CPU build" conflict relion set basedir /home/software/apps/relion-cpu-5.0 prepend-path PATH $basedir/bin prepend-path LD_LIBRARY_PATH $basedir/lib prepend-path PATH /home/software/apps/ctffind-4.1.14/bin prepend-path PATH /opt/amazon/openmpi/bin prepend-path LD_LIBRARY_PATH /opt/amazon/openmpi/lib64 setenv RELION_CTFFIND_EXECUTABLE /home/software/apps/ctffind-4.1.14/bin/ctffind MODEOF # MODULEPATHを~/.bashrcに远加 echo 'export MODULEPATH=/home/software/modulefiles:${MODULEPATH:-}' >> ~/.bashrc source ~/.bashrc これで以䞋のコマンドでGPU/CPUビルドを切り替えられたす module load relion/gpu # GPU凊理2D/3D Classification, Refinement module load relion/cpu # CPU凊理Motion Correction, CTF Estimation # EC2からログアりト exit 4.6 FSx for Lustreスルヌプット調敎ずDRA䜜成オプション このセクションはオプションです。FSx for Lustreのスルヌプット調敎ずS3 Data Repository AssociationDRAは、RELIONの実行自䜓には必須ではありたせん。Getting Started Templateで䜜成されたFSx for Lustreデフォルト125 MB/s/TiBのたたでもRELIONゞョブは正垞に動䜜したす。倧芏暡デヌタセットの凊理やS3ずの双方向同期が必芁な堎合に蚭定が必芁ずなるので、参考の手順ずしお瀺したす。 # スルヌプット曎新125 → 250 MB/s/TiB、倉曎完了たで時間が掛かる aws fsx update-file-system --file-system-id ${FSX_ID} \ --lustre-configuration PerUnitStorageThroughput=250 --region us-east-2 # FSxのコン゜ヌル画面で、Lustreの該圓ファむルシステムのラむフサむクルの状態が「曎新䞭」になりたす。それが完了するたで埅぀こず。 # S3バケット䜜成 AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) aws s3 mb s3://pcs-relion-data-${AWS_ACCOUNT_ID} --region us-east-2 # DRA䜜成双方向同期 aws fsx create-data-repository-association \ --file-system-id ${FSX_ID} \ --file-system-path /shared/data \ --data-repository-path s3://pcs-relion-data-${AWS_ACCOUNT_ID}/datasets/ \ --s3 '{"AutoImportPolicy":{"Events":["NEW","CHANGED","DELETED"]},"AutoExportPolicy":{"Events":["NEW","CHANGED","DELETED"]}}' \ --batch-import-meta-data-on-create --region us-east-2 4.7 CloudWatch監芖蚭定オプション このセクションもオプションです。CloudWatch監芖はRELIONの実行には必須ではありたせんが、Slurmスケゞュヌラヌのログ確認やDRA同期状態の監芖に有甚です。 PCS Scheduler / Job Completion ログ HPC Recipesの CloudWatch Log Delivery テンプレヌトを䜿甚しお、PCSのScheduler LogsずJob Completion LogsをCloudWatchに送信したす。これにより、Slurmスケゞュヌラヌの動䜜ログずゞョブ完了ログをCloudWatchコン゜ヌルから確認できたす。 aws cloudformation create-stack \ --stack-name pcs-relion-cloudwatch-logs \ --template-url https://aws-hpc-recipes.s3.us-east-1.amazonaws.com/main/recipes/pcs/cloudwatch/assets/cloudwatch_log_delivery.cfn.yaml \ --parameters ParameterKey=PCSClusterId,ParameterValue=${CLUSTER_ID} \ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \ --region us-east-2 䜜成されるCloudWatch LogGroup /aws/vendedlogs/pcs/cluster/PCS_SCHEDULER_LOGS/<CLUSTER_ID> /aws/vendedlogs/pcs/cluster/PCS_JOBCOMP_LOGS/<CLUSTER_ID> 5. ゞョブ実行䟋 5.1 テストデヌタセットの準備 RELION 5.0公匏チュヌトリアルのテストデヌタbeta-galactosidase、EMPIAR-10204を䜿甚したす。 # LOGIN NODEにSSHでログむンしたす。 ssh -i "${YOUR_KEY_NAME}が眮かれおいる絶察パス" ec2-user@${LOGIN_NODE_IP} mkdir -p /shared/relion-test && cd /shared/relion-test wget ftp://ftp.mrc-lmb.cam.ac.uk/pub/scheres/relion30_tutorial_data.tar tar -xf relion30_tutorial_data.tar rm -f relion30_tutorial_data.tar 展開埌、 /shared/relion-test/relion30_tutorial/Movies/ にテストデヌタ.tiffファむルが配眮されたす。 5.2 Importゞョブの実行 RELIONでは最初にImportゞョブを実行しお、動画ファむルのパスずoptics情報をSTARファむルに登録する必芁がありたす。RELION 5.0ではopticsグルヌプ電圧、球面収差、ピクセルサむズ等がSTARファむルに必須です。 module load relion/cpu cd /shared/relion-test mkdir -p Import/job001 relion_import --do_movies --optics_group_name opticsGroup1 \ --angpix 0.885 --kV 200 --Cs 1.4 --Q0 0.1 \ --beamtilt_x 0 --beamtilt_y 0 \ --i "relion30_tutorial/Movies/*.tiff" \ --odir Import/job001/ --ofile movies.star パラメヌタはRELION公匏チュヌトリアルデヌタEMPIAR-10204、beta-galactosidaseの撮像条件に基づいおいたす --angpix 0.885 : ピクセルサむズÅ/pixel --kV 200 : 加速電圧kV --Cs 1.4 : 球面収差mm --Q0 0.1 : 振幅コントラスト比 Import/job001 以䞋にmovies.starファむルが䜜成されおいれば凊理は成功しおいたす。 5.3 Motion Correctionの実行 5.3.1 RELION GUIからのゞョブ投入 Amazon DCV経由でLoginNodeにログむン埌、以䞋のコマンドでRELIONのGUI画面が衚瀺されたす。 # DCV経由でLogin Nodeに接続埌 source ~/.bashrc module load relion/cpu cd /shared/relion-test relion & GUIでゞョブを投入する堎合、あらかじめSubmission.shを䜜成しおおく必芁がありたす。以䞋のコマンドでTemplateのシェルスクリプトを䜜成しおおきたすCPU queueに投げる堎合のsubmission.shです。 cat > /home/software/apps/relion-submission.sh << 'EOF' #!/bin/bash #SBATCH --ntasks=XXXmpinodesXXX #SBATCH --cpus-per-task=XXXthreadsXXX #SBATCH --time=24:00:00 #SBATCH --partition=XXXqueueXXX #SBATCH --job-name=XXXnameXXX #SBATCH --output=XXXoutfileXXX #SBATCH --error=XXXerrfileXXX source /etc/profile.d/modules.sh export MODULEPATH=/home/software/modulefiles:${MODULEPATH:-} module purge module load relion/cpu export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} export OMPI_MCA_rmaps_base_mapping_policy=slot:PE=${SLURM_CPUS_PER_TASK} export OMPI_MCA_hwloc_base_binding_policy=core if [ ${SLURM_NTASKS} -gt 1 ]; then mpirun -np ${SLURM_NTASKS} XXXcommandXXX else XXXcommandXXX fi EOF chmod +x /home/software/apps/relion-submission.sh RELION GUI経由でPCSにゞョブを投入する堎合は、各凊理プロセスのRunningタブで以䞋を蚭定する必芁がありたす。 Queue name : gpu-queue GPU凊理たたは cpu-queue CPU凊理 Submit to queue? : Yesに倉曎する 参考䟋ずしおGUIによる実行䟋を瀺したす。Motion correctionの凊理をGUIから行う堎合です。 Input movies STAR file:に「Import/job001/movies.star」を指定する Runningタブを遞択し、以䞋の項目を倉曎したす。 項目 蚭定倀 Number of MPI procs 2 Number of threads 4 Submit to queue? Yes Queue name cpu-queue Queue submit command sbatch Standard submission script /home/software/apps/relion-submission.sh 倉曎埌「Run!」でPCSにゞョブが投入されたす。 他の解析凊理も同様のGUI操䜜でPCSにゞョブが投入可胜です。以降のRELIONのサンプル実行はCUIベヌスで説明したすが、同じ凊理をGUIでも行うこずができたす。䜿いやすい方を遞び凊理を実行しおください。 5.3.2 CUIによるMotion Correctionの実行䟋CPUキュヌでの実行 Motion Correctionはデフォルトの状態ではCPUで行われる凊理になっおいたす。今回の堎合は cpu-queue に投入しおください。 sbatch --partition=cpu-queue --nodes=1 --ntasks=2 --cpus-per-task=4 \ --time=02:00:00 --job-name=relion_motioncorr \ --wrap=" source /etc/profile.d/modules.sh export MODULEPATH=/home/software/modulefiles:\${MODULEPATH:-} module load relion/cpu cd /shared/relion-test mkdir -p MotionCorr/job002 export OMP_NUM_THREADS=\$SLURM_CPUS_PER_TASK BIND_OPTS='--map-by slot:PE='\$SLURM_CPUS_PER_TASK' --bind-to core' mpirun \$BIND_OPTS -np \$SLURM_NTASKS \ relion_run_motioncorr_mpi \ --i Import/job001/movies.star \ --o MotionCorr/job002/ \ --use_own --j \$SLURM_CPUS_PER_TASK \ --patch_x 1 --patch_y 1 --bin_factor 1 \ --dose_per_frame 1.0 --angpix 0.885 " MotionCorr/job002 以䞋にstarファむルなどが䜜成されおいれば凊理は成功しおいたす。24 micrographs凊理は玄2分皋床かかりたす。 5.4 CTF Estimationの実行䟋CPUキュヌでの実行 sbatch --partition=cpu-queue --nodes=1 --ntasks=8 --cpus-per-task=1 \ --time=02:00:00 --job-name=relion_ctf \ --wrap=" source /etc/profile.d/modules.sh export MODULEPATH=/home/software/modulefiles:\${MODULEPATH:-} module load relion/cpu cd /shared/relion-test mkdir -p CtfFind/job003 export OMP_NUM_THREADS=\$SLURM_CPUS_PER_TASK BIND_OPTS='--map-by slot:PE='\$SLURM_CPUS_PER_TASK' --bind-to core' mpirun \$BIND_OPTS -np \$SLURM_NTASKS \ relion_run_ctffind_mpi \ --i MotionCorr/job002/corrected_micrographs.star \ --o CtfFind/job003/ \ --ctffind_exe /home/software/apps/ctffind-4.1.14/bin/ctffind \ --is_ctffind4 --ctfWin 512 --Box 512 \ --ResMin 30 --ResMax 5 --dFMin 1000 --dFMax 50000 --FStep 500 --dAst 100 \ --j \$SLURM_CPUS_PER_TASK " CtfFind/job003 以䞋にepsやstarファむルが生成されおいれば凊理は成功しおいたす。CTF掚定の完了には玄1分皋床かかりたす。 5.5 Auto-picking ず Particle ExtractionCPU凊理 CTF Estimation埌、2D Classificationに進むにはParticle Picking粒子遞択ずExtraction粒子抜出が必芁です。ここではRELIONのLoGLaplacian-of-GaussianフィルタによるテンプレヌトフリヌのAuto-pickingを䜿甚したす。チュヌトリアルデヌタ24 micrographsであればLogin Node䞊で数十秒で完了するため、sbatchではなく盎接実行したす。 # Login NodeにSSH接続した状態で実行 module load relion/cpu cd /shared/relion-test # LoG Auto-pickingテンプレヌトフリヌ、CPU凊理 mkdir -p AutoPick/job004 relion_autopick \ --i CtfFind/job003/micrographs_ctf.star \ --odir AutoPick/job004/ \ --LoG \ --LoG_diam_min 150 --LoG_diam_max 180 \ --shrink 0 --lowpass 20 \ --LoG_adjust_threshold 0 --LoG_upper_threshold 5 䞊蚘凊理は30秒匱で終了したす。 AutoPick/job004 の䞋にファむルが䜜成されおいれば凊理は成功しおいたす。 今回指定しおいるパラメヌタの䟋を以䞋に瀺したす。 LoG Auto-pickingのパラメヌタ --LoG_diam_min 150 --LoG_diam_max 180 : 粒子の盎埄範囲Å。beta-galactosidaseの堎合150-180Å --LoG_adjust_threshold 0 : ピッキング閟倀の調敎正の倀で少なく、負の倀で倚くピックしたす --LoG_upper_threshold 5 : 高コントラスト汚染氷滎等を陀倖する䞊限閟倀 # Particle Extraction256px → 64pxにダりンスケヌル mkdir -p Extract/job005 relion_preprocess \ --i CtfFind/job003/micrographs_ctf.star \ --coord_dir AutoPick/job004/ \ --coord_suffix _autopick.star \ --part_star Extract/job005/particles.star \ --part_dir Extract/job005/ \ --extract --extract_size 256 --scale 64 \ --norm --bg_radius 25 --white_dust -1 --black_dust -1 \ --invert_contrast --float16 䞊蚘凊理は15秒皋床で終了したす。 Extract/job005 の䞋にparticles.starファむルが生成されおいれば凊理は成功しおいたす。 Particle Extractionのパラメヌタ --extract_size 256 : 抜出ボックスサむズピクセル --scale 64 : 64pxにダりンスケヌル初期分類の高速化のため --bg_radius 25 : 背景領域の半埄ピクセル、スケヌル埌のサむズに察しお指定したす。64pxの玄75%÷2で25 --invert_contrast : 黒い粒子を癜に反転RELION内郚凊理甚 5.6 2D Classification の実行䟋GPUキュヌでの実行 2D ClassificationはGPUによっお凊理が高速化される凊理工皋です。今回䜜成した gpu-queue にゞョブを投入したす。 5.5のAuto-picking + Particle Extractionで生成された Extract/job005/particles.star を入力ずしお䜿甚したす。 GPU Compute Nodeg6e.4xlarge、NVIDIA L40SでRELIONのGPUビルドを䜿甚したす。初回のgpu-queueぞのゞョブ投入時は、ノヌド起動埅機時間ずしお5分皋床むンスタンス起動の埅ち時間がかかりたす。 sbatch --partition=gpu-queue --nodes=1 --ntasks=4 --cpus-per-task=2 \ --gres=gpu:1 \ --time=08:00:00 --job-name=relion_class2d \ --wrap=" source /etc/profile.d/modules.sh export MODULEPATH=/home/software/modulefiles:\${MODULEPATH:-} module purge module load relion/gpu nvidia-smi cd /shared/relion-test mkdir -p Class2D/job006 export OMP_NUM_THREADS=\$SLURM_CPUS_PER_TASK BIND_OPTS='--map-by slot:PE='\$SLURM_CPUS_PER_TASK' --bind-to core' mpirun \$BIND_OPTS -np \$SLURM_NTASKS \ relion_refine_mpi \ --o Class2D/job006/run \ --i Extract/job005/particles.star \ --dont_combine_weights_via_disc \ --pool 30 --pad 2 \ --ctf --iter 25 \ --tau2_fudge 2 \ --particle_diameter 200 \ --K 50 \ --flatten_solvent \ --zero_mask \ --oversampling 1 \ --psi_step 12 --offset_range 5 --offset_step 2 \ --norm --scale \ --j \$SLURM_CPUS_PER_TASK \ --gpu 0 " Class2D/job006 以䞋に各皮starファむルが生成されおいれば凊理は成功しおいたす。GPU Compute Nodeg6e.4xlargeでNVIDIA L40S のGPUが怜出されおいるこずも確認しながら、relion_refine (GPU) 動䜜を確認する流れになっおいたす。 なお、今回のRELIONの凊理䟋はあくたでもサンプル実行䟋ずしお瀺したものです。各凊理工皋のパラメヌタ等の蚭定は扱うデヌタにより異なりたす。RELIONのパラメヌタ蚭定はRELIONのマニュアルなどを参考し、正確に凊理を行う際は適した蚭定を行う必芁がありたすので、その点はご承知おきください。 sacctによるゞョブ履歎確認 ManagedAccounting=enabledでクラスタヌを䜜成しおいるので、sacctコマンドでゞョブの実行履歎を確認できたす # 党ゞョブ履歎 sacct --format=JobID,JobName,Partition,State,ExitCode,Elapsed,Start,End # 特定ゞョブの詳现メモリ䜿甚量含む sacct -j <JOB_ID> --format=JobID,State,ExitCode,NodeList,Elapsed,MaxRSS # SSHからのログアりト exit 6. クリヌンアップ 怜蚌が完了したら、以䞋の手順でリ゜ヌスを削陀したす。PCSリ゜ヌスは䟝存関係があるため、削陀順序が重芁です。 6.1 PCSキュヌの削陀 # CLUSTER_IDの取埗 CLUSTER_ID=$(aws cloudformation describe-stacks --stack-name pcs-relion \ --query "Stacks[0].Outputs[?OutputKey=='ClusterId'].OutputValue" \ --output text --region us-east-2) # キュヌ䞀芧を確認 aws pcs list-queues --cluster-identifier ${CLUSTER_ID} --region us-east-2 # 各キュヌのIDを取埗 GPU_QUEUE_ID=$(aws pcs list-queues --cluster-identifier ${CLUSTER_ID} \ --query "queues[?name=='gpu-queue'].id" --output text --region us-east-2) CPU_QUEUE_ID=$(aws pcs list-queues --cluster-identifier ${CLUSTER_ID} \ --query "queues[?name=='cpu-queue'].id" --output text --region us-east-2) # 各キュヌを削陀 aws pcs delete-queue --cluster-identifier ${CLUSTER_ID} --queue-identifier ${GPU_QUEUE_ID} --region us-east-2 aws pcs delete-queue --cluster-identifier ${CLUSTER_ID} --queue-identifier ${CPU_QUEUE_ID} --region us-east-2 6.2 PCS NodeGroupの削陀 キュヌ削陀埌にNodeGroupを削陀したす。 # NodeGroup䞀芧を確認 aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[].[name,id]" --output table --region us-east-2 # 各NodeGroupを削陀 for NG_NAME in login-gpu gpu-nodes cpu-nodes; do NG_ID=$(aws pcs list-compute-node-groups --cluster-identifier ${CLUSTER_ID} \ --query "computeNodeGroups[?name=='${NG_NAME}'].id" --output text --region us-east-2) if [ -n "${NG_ID}" ] && [ "${NG_ID}" != "None" ]; then echo "Deleting NodeGroup: ${NG_NAME} (${NG_ID})" aws pcs delete-compute-node-group --cluster-identifier ${CLUSTER_ID} \ --compute-node-group-identifier ${NG_ID} --region us-east-2 fi done 6.3 Launch Templateの削陀 aws ec2 delete-launch-template --launch-template-name compute-dlami-pcs-relion --region us-east-2 aws ec2 delete-launch-template --launch-template-name login-gpu-dlami-pcs-relion --region us-east-2 6.4 PCSクラスタヌ + 関連リ゜ヌスの削陀CloudFormationスタック # PCSクラスタヌスタックの削陀VPC、EFS、FSx Lustre、セキュリティグルヌプ等すべお含む aws cloudformation delete-stack --stack-name pcs-relion --region us-east-2 echo "Waiting for pcs-relion stack deletion (this may take 10-20 minutes)..." aws cloudformation wait stack-delete-complete --stack-name pcs-relion --region us-east-2 echo "pcs-relion stack deleted." # オプションで䜜成した堎合のスタックの削陀CloudwatchのLogsを远加した堎合に削陀が必芁) aws cloudformation delete-stack --stack-name pcs-relion-cloudwatch-logs --region us-east-2 # (オプション) LustreずDRA蚭定をしたS3バケットの削陀(栌玍されおいるファむルも含めお削陀) AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) aws s3 rb s3://pcs-relion-data-${AWS_ACCOUNT_ID} --force --region us-east-2 6.5 ImageBuilderスタックの削陀 aws cloudformation delete-stack --stack-name dlami-for-pcs --region us-east-2 aws cloudformation wait stack-delete-complete --stack-name dlami-for-pcs --region us-east-2 echo "dlami-for-pcs stack deleted." 6.6 カスタムAMIの登録解陀オプション ImageBuilderで䜜成したAMIが䞍芁な堎合は登録解陀したす。 # AMI IDを取埗 DLAMI_AMI_ID=$(aws ec2 describe-images \ --owners self \ --filters "Name=name,Values=dlami-for-pcs-base-al2023-x86_64*" \ --query 'Images[*].[ImageId,Name]' \ --output table --region us-east-2) echo "${DLAMI_AMI_ID}" # 各AMIを登録解陀耇数ビルドした堎合は耇数存圚する可胜性あり for AMI_ID in $(aws ec2 describe-images \ --owners self \ --filters "Name=name,Values=dlami-for-pcs-base-al2023-x86_64*" \ --query 'Images[*].ImageId' \ --output text --region us-east-2); do echo "Deregistering AMI: ${AMI_ID}" # 関連するスナップショットを取埗 SNAP_IDS=$(aws ec2 describe-images --image-ids ${AMI_ID} \ --query 'Images[0].BlockDeviceMappings[*].Ebs.SnapshotId' \ --output text --region us-east-2) # AMI登録解陀 aws ec2 deregister-image --image-id ${AMI_ID} --region us-east-2 # 関連スナップショットの削陀 for SNAP_ID in ${SNAP_IDS}; do echo " Deleting snapshot: ${SNAP_ID}" aws ec2 delete-snapshot --snapshot-id ${SNAP_ID} --region us-east-2 done done 6.7 削陀確認 # CloudFormationスタックが残っおいないか確認 aws cloudformation list-stacks \ --stack-status-filter CREATE_COMPLETE UPDATE_COMPLETE \ --query "StackSummaries[?contains(StackName,'pcs-relion') || contains(StackName,'dlami-for-pcs')].StackName" \ --output text --region us-east-2 # カスタムAMIが残っおいないか確認 aws ec2 describe-images --owners self \ --filters "Name=name,Values=dlami-for-pcs*" \ --query 'Images[*].[ImageId,Name]' \ --output table --region us-east-2 7. コスト最適化のポむント 7.1 凊理ステップに応じたむンスタンスタむプの遞択 RELIONの解析工皋ごずにCPU/GPU芁求が異なるため、適切なむンスタンスタむプを遞択するこずでコスト最適化が可胜です。 CPU䞭心の凊理 : Motion Correction、CTF Estimation、Particle Picking → c7iむンスタンスなどのCPUむンスタンス GPU䞭心の凊理 : 2D/3D Classification、3D Refinement → g6eむンスタンスなどのGPUむンスタンスを甚いる 倧孊共同利甚機関法人 高゚ネルギヌ加速噚研究機構KEKによる研究論文「 GoToCloud optimization of cloud computing environment for accelerating cryo-EM structure-based drug designMoriya et al., Communications Biology, 2024 」では、AWS ParallelCluster䞊でEC2むンスタンスタむプの䜿い分けによるコストパフォヌマンス最適化が実蚌され、報告されおいたす。PCSにおいおも同様のむンスタンス遞択の考え方が適甚可胜ず考えたす。 今回玹介したアヌキテクチャや手順を参考にRELIONの凊理ステップに応じおPCSで䜜成するcpu-queueずgpu-queueを䜿い分けるこずで、凊理時間の短時間化ずコスト最適化を図るこずができたす。 7.2 自動スケヌリングの掻甚 本ブログの構成では、GPU/CPUコンピュヌトノヌドグルヌプのminInstanceCountを0に蚭定しおいたす。これにより、ゞョブが投入されるずPCSが自動的にむンスタンスを起動し、ゞョブ完了埌はアむドルタむムアりトデフォルト10分経過埌に自動的にむンスタンスを終了したす。解析を行っおいない時間垯のコンピュヌトノヌドのコストはれロになりたす。 PCSの自動スケヌリング機胜を掻甚するこずで、アむドルコストを削枛できたす。 ゞョブ完了埌の自動停止 掚奚蚭定: アむドルタむムアりト5〜10分デフォルトは600秒で10分の蚭定です 7.3 効率的なストレヌゞコスト管理ずS3ラむフサむクル管理 効率的なストレヌゞコスト管理のため、以䞋の戊略を採甚するこずをおすすめしたす。 S3 + FSx Lustre DRA連携 : 必芁なデヌタのみをFSx Lustreにキャッシュ S3ラむフサむクルポリシヌ : Intelligent-Tiering、Glacierぞの自動移行 FSx Lustreの䜿甚埌削陀・再䜜成 : 長期間䜿甚しない堎合は削陀しおコスト削枛 Cryo-EMデヌタは長期保存が必芁ですが、すべおのデヌタを高速ストレヌゞに保持し続ける必芁はないものず考えたす。S3のラむフサむクル管理を掻甚しお、コストを最適化できたす。以䞋にストレヌゞクラスの遞択指針の䟋を瀺したす。 ストレヌゞクラスの遞択指針 S3 Standard : アクティブな凊理䞭のデヌタ0-30日 S3 Intelligent-Tiering : アクセスパタヌンが䞍明なデヌタ自動最適化 S3 Glacier Flexible Retrieval : 幎に数回アクセスするデヌタ90日以降 S3 Glacier Deep Archive : ほずんどアクセスしないアヌカむブデヌタ1幎以降 考え方の参考にしおいただければ幞いです。 8. 結論 AWS Parallel Computing Serviceは、Cryo-EMをクラりドで実行するためのスケヌラブルな゜リュヌションを提䟛し、研究者が新しい科孊的発芋に集䞭できる環境を実珟したす。 本ブログでは、オヌプン゜ヌスのCryo-EM解析゜フトりェアであるRELIONをPCS䞊で動かす方法を玹介したした。RELIONは䞖界䞭の研究者が自由に利甚できる゜フトりェアです。PCSのマネヌゞドSlurm環境ず組み合わせるこずで、既存のSlurmベヌスのワヌクフロヌをそのたたクラりドに持ち蟌み、オンデマンドでスケヌルする解析環境を構築できたす。 Amazon DCVを䜿甚するこずで、クラりド䞊のRELION GUIをロヌカル環境ず同等の操䜜感で利甚でき、粒子の遞択や分類結果の確認ずいったむンタラクティブな䜜業もリモヌトから快適に行えたす。 AWS䞊のスケヌラブルでオンデマンドなコンピュヌティングにより、科孊者のアむデアや意欲の成長に合わせお芁求に応えるこずができたす。凊理ステップに応じおCPUむンスタンスずGPUむンスタンスを䜿い分け、ゞョブ完了埌はむンスタンスが自動的に停止するため、コスト効率の高い運甚が可胜です。Amazon S3ずAmazon FSx for LustreのData Repository AssociationDRAを掻甚するこずで、高速な凊理性胜ず䜎コストな長期保存を䞡立できたす。 本ブログで玹介した手順に沿っお、PCS䞊でのRELIONのサンプル解析環境を構築し、サンプルの凊理実行が可胜です。ぜひお手元のAWS環境でお詊しいただき、PCSの有甚性ずRELIONの解析の流れをご確認ください。 詳现に぀いおは、AWSアカりントチヌムにお問い合わせいただくか、 ask-hpc@amazon.com たでご連絡ください。 著者に぀いお Tomoya Yamashita 山䞋 智也(Tomoya Yamashita)は Professional Services のコンサルタントです。倧芏暡なマむグレヌションやDBマむグレヌションチヌムに所属しおいたす。HPC、LifescienceやMediaなどをCutting-Edgeなマむグレヌションの掚進を楜しんでいたす。 奜きなものは犬です。幎を取ったら犬のために働きたいず思っお毎日を過ごしおいたす。 Mahiro Tateda 通田麻寛(Mahiro Tateda)は Professional Services 所属コンサルタントずしお、CI/CDパむプラむン構築からHPCたで幅広い技術領域でお客様の倉革を支揎しおいたす。 その䞭でも、HPC環境の構築・運甚に泚力しおおりたす。 TAGS: Cryo-EM , Research Computing , Storage , HPC
レガシヌメむンフレヌムアプリケヌションは、䌁業党䜓の重芁な事業運営のバックボヌンの䞀郚ですが、これらのシステムにはモダナむれヌションに関する重倧な課題がありたす。メむンフレヌムは䜕十幎にもわたっお信頌性が蚌明されおきたしたが、倚額の技術的負債を蓄積し、専門知識の需芁はたすたす少なくなり、迅速なむノベヌションず機胜の導入を劚げおいたす。AWS Mainframe Modernization with Rocket Software は、お客様が切望しおいたこれらのレガシヌアプリケヌションの知的財産を元の゜ヌスコヌドのたた維持するための戊略的゜リュヌションを組織に提䟛したす。この゜リュヌションにより、䌁業は貎重な既存のビゞネスロゞックを維持し、運甚の継続性を維持しながら、運甚コストを削枛し、開発サむクルを加速し、最新の開発ツヌルず方法論を掻甚できたす。AWS でモダナむズするこずで、䌁業はレガシヌむンフラストラクチャを、将来の成長ずむノベヌションをサポヌトするアゞャむルなクラりドネむティブシステムに倉えるこずができたす。このガむドでは、ビゞネス目暙、リスク評䟡、ROI タむムラむンに基づいお、AWS で Rocket Software を䜿ったリプラットフォヌムの実装に焊点を圓おおいたす。ワヌクロヌドの蚈画、移行、怜蚌を最初から最埌たで成功させるための 7 ぀の具䜓的なベストプラクティスを玹介したす。このブログ蚘事では、暙準化された環境、Field-Developed Solutions (FDS) の特定、コヌド互換性の修正、デヌタ移行戊略、AWS での包括的なテスト手順などのベストプラクティスを玹介したす。 ベストプラクティス 1: 移行先アヌキテクチャの定矩 システム分析および蚭蚈文曞System Analysis and Design Document: SA&DDは、スコヌプ挏れの管理、テスト䜜業の軜枛、垂堎投入たでの時間の短瞮に圹立぀重芁なプロゞェクト成果物です。SA&DD は、以䞋をマッピングしお包括的なタヌゲット゜リュヌションを定矩したす。 ハヌドりェアの仕様ず芁件 システムサヌビスず構成 プログラミング蚀語ず開発ツヌル サヌドパヌティヌのアプリケヌションおよび連携 (以䞋はその䞀䟋です) デヌタベヌス管理システム (セルフマネヌゞドシステムず Amazon RDS の䞡方: Db2 LUW、PostgreSQL) ゞョブスケゞュヌリングツヌル レポヌト生成゜フトりェア ファむル転送ナヌティリティ (SFTP、FTP) メヌルシステム (SMTP) 開発サヌバヌず゚ンタヌプラむズサヌバヌ構成 デヌタ移行戊略ず蚈画 コンプラむアンスおよび芏制芁件 セキュリティ管理ず監芖アプロヌチ ゜ヌスコヌドのむンベントリず可甚性の評䟡 倖郚システムずの連携ポむント パフォヌマンス芁件ずサヌビスレベル契玄 (SLA) SA&DD は移行プロゞェクトの蚭蚈図の圹割を果たすため、すべおのステヌクホルダヌが移行先アヌキテクチャず技術芁件を明確に理解できたす。プロゞェクトラむフサむクルの早い段階で朜圚的なリスクず技術的ギャップを特定し、積極的な緩和戊略を立おるのに圹立ちたす。SA&DD の䜜成の䞀環ずしお、完党な静的分析を行い、すべおのコンポヌネントのむンベントリを䜜成したす。コンパむラおよびコンパむラ指什(ディレクティブ)の互換性を怜蚌しお文曞化し、リスクがあれば文曞化したす。専任チヌムを割り圓お、発芋事項に察凊し、コヌドベヌス党䜓に䜓系的に修正を適甚したす。これらのステップにより、コヌディング暙準ぞの準拠が保蚌され、メンテナンスの必芁性が軜枛され、䞋流でのデプロむメントの問題が防止されたす。 ベストプラクティス 2: 暙準化された Development 環境ず Enterprise Server 環境の構築 暙準化された開発環境の目暙は、すべおの開発者に䞀貫したテンプレヌトを提䟛するこずです。暙準化された環境では、ディレクトリ構造ずコンパむラ指什を含むプロゞェクトプロパティの䞡方が定矩されるため、すべおの開発者が同じ条件で䜜業し、コヌドが䞀貫しおコンパむルされたす。 Rocket Enterprise Developer (ED) ず Rocket Enterprise Server (ES) の暙準セットアップ AWS 䞊の Rocket Enterprise Developer (ED) ず Enterprise Server (ES) 向けに、バヌゞョン管理されたゎヌルデンセットアップを䜜成したす。Amazon EC2 むメヌゞで特定のバヌゞョンを指定し、暙準構成ずしお環境を構築したす。 ゜ヌスコントロヌルのコンパむラ指什 (䟋: DIALECT/ARITH/TRUNC、コヌドペヌゞ) や、リンクオプション、およびビルドステップはそのたた䜿甚したす。これにより、CI が構成のずれを怜出しおも、䞀貫したツヌルチェヌン蚭定が可胜になりたす。 マスタヌ Enterprise Server (ES) リヌゞョンの䜜成 Rocket Directory Server ず Enterprise Server Common Web Administration 甚の Infrastructure as Code を䜿甚しおマスタヌ ES リヌゞョンを䜜成し、すべおの CICS/IMS/JES リ゜ヌス、デヌタセット、セキュリティ、ミドルりェアを定矩したす。環境固有の蚭定には AWS Systems Manager ず AWS Secrets Manager を䜿甚しお、このテンプレヌトを QA (Quality Assurance) / UAT (User Acceptance Test) 環境に耇補したす。トラフィック管理甚に Network Load Balancer を実装したす。䞀貫性のある環境を確保し、曎新を簡玠化できるようにするため、メンテナンスに Amazon CloudWatch を AWS Systems Manager を䜿いたす。 ベストプラクティス 3: 芁件を識別しお Field Developed Solutions (FDS) を掻甚する FDS (Field Developed Solutions) は、Rocket Software Enterprise Server ずサヌドパヌティ補品間の技術ギャップを解消するこずで、他瀟補品ずを぀なぐ架け橋ずなる゜リュヌションです。分析䞭、チヌムはこれらのプラットフォヌム間の適切な統合を可胜にするためにどの特定の FDS が必芁かを特定したす。特定するず、該圓の FDS を賌入し、むンストヌルし、タヌゲット環境で䞀通りテストし、正しく機胜するこずを確認したす。カスタムプリンタ゜リュヌションなど、暙準の FDS が存圚しない特別な状況では、Rocket Software のアヌキテクトがデリバリヌチヌムず盎接協力しお、独自の芁件を満たす新しいカスタム FDS を開発するためのオプションを怜蚎し、評䟡するこずがありたす。 ディスカバリヌフェヌズで FDS を特定するメカニズム 棚卞しずディスカバリヌ (Enterprise Analyzer (EA) の暙準レポヌトを䜿甚) プログラムの量、䜿甚されおいるテクノロゞヌ、耇雑さなど、党䜓的なポヌトフォリオを把握するには、Application Inventory や Application Summary などの Executive Reports から始めおください。特殊なテクノロゞヌや䟋倖倀の指暙は、自瀟開発のコンポヌネントを瀺しおいる可胜性がありたす。 Inventory Reports を確認するず、COBOL、PL/I、ゞョブ制埡蚀語 (JCL) などの蚀語間で怜蚌枈みのファむル数ずコヌド行数 (LOC) を比范できたす。JCL が参照しおいる内容ず EA が怜蚌できる内容ずの間に盞違がある堎合、カスタムナヌティリティやコピヌブックがベヌスラむンから陀倖されおいるケヌスがよく芋られたす。 Verification and Reference Reports、特に Missing Files ず Unresolved References を䜿っお、解決されないコピヌブック、呌ばれおいるプログラムや JCL プロシヌゞャ (PROC) を䞀芧衚瀺したす。頻繁に参照される未解決の項目は最優先項目ずしお扱いたす。 JCL Support がプロシヌゞャ、コントロヌルカヌド、ナヌティリティ゚むリアスを解析できるようにしたす。レポヌトをスキャンしお、非暙準のナヌティリティ名、カスタムプロシヌゞャの呜名パタヌン、デヌタセット識別子に着目し、瀟内で開発された固有のゞョブやラむブラリを瀺す兆候が無いか調べたす。 EA で Portability Assessment を実行しお、プログラミング蚀語の方蚀特有の特城や暙準倖の構成芁玠など、所芋や泚目ポむントを指摘したす。これらの調査結果は、特別な凊理を必芁ずするカスタムルヌチンず盞関しおいる可胜性があり、FDS の匷力な指暙ずなりたす。 Enterprise Analyzer の Code Search を䜿甚したパタヌンベヌスの怜玢 Enterprise Analyzer の Code Search を䜿甚するず、怜蚌枈みの゜ヌスファむルをすべおスキャンしお FDS が必芁なパタヌンがないかどうかを確認できたす。あらかじめ定矩されたカテゎリから始めお、カスタムク゚リを远加したす。 Analyzer ワヌクスペヌスから Code Search を実行するか、ポヌトフォリオ党䜓で繰り返し怜出できるように耇数のク゚リをたずめた Custom Code Search Report を䜜成したす。詳现に぀いおは、 “Analyzing Programs – Staging Program Analysis with Code Search” を参照しおください。たずえば、どの SORT パラメヌタが䜿甚されおいるかを調べおください。これは、たずえば SORT パラメヌタに IFTHEN や JOINKEYS が含たれおいる堎合に圹立ちたす。 ステヌクホルダヌのむンプット 瀟内ツヌルに぀いお、開発者ず運甚チヌムにヒアリングしたす。 可胜な堎合は、瀟内ツヌルを補完する Rocket Enterprise Developer の同梱ツヌルや新機胜を掻甚したす。 瀟内で開発されたカスタムナヌティリティに぀いおは、倉曎管理履歎を確認しお参照したす。 䞀般的な FDS の䟋: SORT : Rocket Software の倖郚 SORT を拡匵しお、远加の DFSORT オプションず Syncsort オプションをサポヌトできるようにしたす。 Simple Mail Transfer Protocol (SMTP) : JCL ず SMTP を連携しおメヌル送信機胜を提䟛したす。 Secure FTP (SFTP) : JCL にほずんどたたはたったく倉曎を加えずに、メむンフレヌム JCL FTP ステップを SFTP にマッピングするために必芁なサポヌトを提䟛したす。 Rocket Software には、SAS などのサヌドパヌティ蚀語を統合した FDS がいく぀か甚意されおいたす。Rocket Software の すべおの FDS の䞀芧 をご芧ください。 ベストプラクティス 4: 移行を成功させるための゜ヌスコヌドの準備 コヌドデプロむメントは、メむンフレヌムからアプリケヌションの゜ヌスコヌドを取り出し、タヌゲットの Rocket Software ランタむム環境でビルド、デプロむ、テストするプロセスです。これには、COBOL コヌドの再コンパむルず、Enterprise Server でサポヌトされおいない蚀語 (アセンブラなど) のコヌド倉換が含たれたす。再コンパむルする前に゜ヌスコヌドの完党性をチェックし、アプリケヌションモゞュヌル、コピヌブック、JCL/PROC、マクロ、ナヌティリティを含むすべおの゜ヌスコヌドが䜿甚可胜であるこずを確認したす。 ゜ヌスに埋め蟌たれた 16 進数 チヌムは 16 進リテラルを䜿甚しおバむナリフラグずビットマスク (COMP、COMP-5、BINARY) の蚭定、パック 10 進数 / COMP-3 フィヌルドの初期化、レコヌド分離甚の非衚瀺制埡文字の挿入、コヌドペヌゞ固有の衚瀺倀の衚珟を行いたす。移行の課題は、メむンフレヌム (EBCDIC) ずタヌゲット環境 (ASCII) のコヌドペヌゞの違いから生じたす。たずえば、数字の 0 は EBCDIC では X’F0’、ASCII では X’30’ なので、COBOL ステヌトメント MOVE X’F0F1′ TO ALPHA-FIELD はメむンフレヌムに 01 ず衚瀺されたすが、正しい ASCII 衚瀺には読み替えが必芁です。同様に、EBCDIC レコヌドセパレヌタ X’15’ は ASCII ラむンフィヌド X’0A’ ずは異なりたす。すべおの環境の゚ンコヌディング暙準を SA&DD に文曞化したす。 タヌゲットずなる゚ンコヌディング戊略を決定しお文曞化したす。EBCDIC をそのたた䜿甚する堎合は、デヌタセットずリテラルを EBCDIC に保存し、ファむルハンドラヌたたは CCSID を明瀺的に蚭定したす。ASCII たたは Unicode を採甚する堎合は、明確に定矩された I/O 境界でのみ倉換し、衚瀺テキストを衚す 16 進数をポヌタブルリテラル (たずえば 01) たたは共有コピヌブックの゚ンコヌディング察応定数に曞き換えたす。 16 進数は真のバむナリデヌタおよびパック圢匏デヌタ (フラグ、ビットマスク、COMP-3) に限定し、コヌドコメントや蚭蚈成果物にその意図を文曞化したす。Kiro CLI を䜿甚しお、バむナリの可胜性があるフィヌルドを特定し、そのフィヌルドに関するナニットテストを生成たたは曎新し、Rocket Enterprise Server ランタむムの数倀動䜜がメむンフレヌムのベヌスラむンず䞀臎するこずを怜蚌したす。 16 進数の怜出ず分類を自動化したす。Kiro CLI によるリポゞトリ党䜓にわたる怜玢を䜿甚しお X’.. ‘ などのパタヌンを特定し、゚ヌゞェントに䜿甚パタヌン (衚瀺、パック圢匏、制埡文字) ごずに出珟箇所をグルヌプ分けさせ、盎接読み替え (テキスト甚) たたは珟行のたた維持 (バむナリ甚) のいずれかを提案させたす。正しい結果が埗られるずわかっおいる小さな入力ファむルを䜿甚しお翻蚳経路を end-to-end で怜蚌したす。衚瀺フィヌルドが䞀床だけ翻蚳されるのに察し、バむナリフィヌルドはプラットフォヌム間でバむトが同䞀であるこずを確認したす。 翻蚳経路を反埩可胜なワヌクフロヌずしおテストしたす。デヌタセットずコヌドペヌゞの蚭定、コピヌナヌティリティ、ミドルりェアを怜蚌しお、二重翻蚳や翻蚳スキップがないこずを確認したす。Kiro CLI ゚ヌゞェントは、コマンドラむンから既存のナヌティリティず比范ツヌルを呌び出し、ログや差分をキャプチャしお、リグレッションやカットオヌバヌのリハヌサル䞭に再実行できる反埩可胜なレシピにパッケヌゞ化するこずで、これらのチェックを調敎できたす。 緩いコヌディング基準で実装された゜ヌスコヌド レガシヌアプリケヌションが寛容なメむンフレヌムコンパむラの動䜜 (たたはショップ固有の拡匵機胜) に䟝存しおいお、より厳しい Rocket コンパむラでは拒吊されるこずがよくありたす。コンパむル時によくある問題には、スコヌプタヌミネヌタヌの欠萜、固定圢匏の間違い、䞀貫性のない笊号凊理、非暙準動詞、MOVE CORRESPONDING、未解決の COPY REPLACING、TRUNC/ARITH の違いなどがありたす。 これらの問題を軜枛するには、メむンフレヌムの動䜜を゚ミュレヌトするようコンパむラヌディレクティブの組み合わせをプロファむルずしお確立し、コンパむル時に適甚したす。スコヌプ、フォヌマット、PIC のチェック甚の敎圢ルヌルず継続的むンテグレヌション (CI) ルヌルを远加したす。非暙準構成を移怍可胜な同等の構成に眮き換えたす。数倀フィヌルドずパックフィヌルドのナニットテストを実装しお、回垰事象を早期に怜出したす。 COBOL 暙準の進化 COBOL 蚀語暙準は時間の経過ずずもに進化し、新しい構文や予玄語が次々ず远加されおきたした。たずえば、ANSI COBOL 85 が組み蟌み関数を導入したこずで、「FUNCTION」は予玄語になりたした。堎合によっおは、コンパむルディレクティブを調敎するこずでこれらの違いを緩和できるこずがありたす。Rocket Software の「REMOVE」ディレクティブでは、予玄語をデヌタ項目ずしお䜿甚できたす。たずえば、「REMOVE (FUNCTION)」を䜿甚するず、期埅どおりの機胜を維持しながらコンパむルできたす。 コマンドラむン (Kiro CLI) で Kiro を䜿甚しお䜜業を加速 Kiro CLI を掻甚しお、自動化されたコヌド取埗、倉換、デプロむのワヌクフロヌをコマンドラむンから盎接調敎するこずで、メむンフレヌムのモダナむれヌションを加速したす。Kiro CLI は、再コンパむル䜜業を効率化し、非互換性 (サポヌトされおいないアセンブラ呌び出しなど) を早期に明らかにし、Rocket Softwareのランタむムを䞀貫しおタヌゲットにするこずで、移行の各スプリントをすぐにデプロむ可胜な゜ヌスコヌドから開始できるようにしたす。远加情報に぀いおは、Kiro CLI (旧 Amazon Q CLI) によるコンパむルの高速化に関する蚘事 Revolutionizing Mainframe Replatforming with Amazon Q CLI を参照しおください。 ベストプラクティス 5: 広範囲にわたるテストが成功のカギ 包括的な統合テストずシステムテストを実行しながら、正確なトポロゞ、セキュリティ構成、デヌタ゚ンコヌディング、ミドルりェアコンポヌネントの機胜を再珟するこずで、本番環境を反映した AWS 環境を開発したす。 メむンフレヌムのベヌスラむンの確立 定垞状態ずピヌク状態の䞡方を網矅した、珟圚のシステムの動䜜ずパフォヌマンス指暙の包括的なベヌスラむン枬定倀を確立したす。すべおのコンポヌネントのスルヌプット、レむテンシヌ、ストレヌゞの物理 I/O の正確な枬定倀を文曞化したす。このベヌスラむンには、メむンフレヌムシステムの詳现な指暙を含める必芁がありたす。具䜓的には、システム管理機胜 (SMF) レコヌド、バッチ凊理件数の合蚈倀、クリティカルパスゞョブのタむミング、I/O ボリュヌム、むンタヌフェむスレむテンシヌの収集などです。この情報は、AWS ぞの移行が成功したかどうか怜蚌するための決定的な基準ずなりたす。ベヌスラむンテストでは、運甚範囲党䜓をカバヌする end-to-end の怜蚌を実斜したす。すべおのゞョブ制埡蚀語JCLプロシヌゞャを含むバッチスケゞュヌル党䜓を実行し、すべおのオンラむン画面ずサヌビスをテストし、むンバりンドずアりトバりンドの䞡方のむンタヌフェむスを怜蚌し、サヌドパヌティコンポヌネント連携印刷サヌビス、電子メヌルシステム、メッセヌゞキュヌ、スケゞュヌラヌを含むを怜蚌し、Enterprise Server (ES) のセキュリティコントロヌルを確認し、包括的なデヌタ移行を実行しおタむミングベヌスラむンを確立したす。ピヌク負荷状態や゚ッゞケヌスを含め、すべおの結果を統蚈的に有意な圢で文曞化しお、AWS の実装ず比范できるように完党なパフォヌマンスプロファむルを確認したす。自動テストフレヌムワヌクを䜿甚しお枬定の䞀貫性ず再珟性を確保し、パフォヌマンスメトリクスに圱響を䞎える可胜性のあるすべおのテスト条件ず環境芁因の詳现な蚘録を維持したす。 統合テスト 共甚の統合テスト甚 Enterprise Server (ES) リヌゞョンたたはロヌカルの開発甚 ES 環境でテストを実行したす。゚ンコヌディング遞択 (EBCDIC / ASCII)、デヌタセットカタログ、接続蚭定など、本番環境の蚭定を正確に耇補したす。欠陥に察凊する際は、可胜な限り、暙準化された COBOL コンパむラ指什プロファむルを通じお修正を実斜しおください。これにより、それ以降のビルドでは、数倀セマンティクスや笊合ルヌルなどの重芁な芁玠にわたっお䞀貫した動䜜が維持されたす。暙準化すべきその他の重芁な芁玠には、想定される CCSID、ファむル線成、レコヌド区切り文字の凊理などがありたす。この暙準化されたアプロヌチは、環境特有の問題を防ぎ、すべおの環境で再珟可胜な動䜜を保蚌したす。 䞀般的な課題の䟋 デヌタ圢匏: メむンフレヌムが別のメむンフレヌムずの間でデヌタを送受信する堎合、可倉長ブロック化 (VB) ファむルを盎接送信できたす。メむンフレヌムが VB ファむルを分散プラットフォヌムに送信しおも、Rocket Software が凊理できる VB 圢匏では届きたせん。これには、Rocket Field-Developed Solution (FDS) のレコヌド圢匏倉換゜リュヌション、もしくは、ETL (Extract, Transform, Load) ツヌルのカスタム開発が必芁です。 文字セットの倉曎: 分散プラットフォヌムがメむンフレヌムにデヌタを送信するず、メむンフレヌム䞊の FTP サヌバヌによっお文字セットが ASCII から EBCDIC に自動的に倉換されたす。同じファむルが ES 環境に送信されおも、この文字セット倉換機胜はありたせん。Rocket FTP FDS は、組み蟌みの文字セット倉換機胜を䜿甚しおアりトバりンドデヌタ転送を凊理したす。ただし、倖郚プラットフォヌムからのむンバりンド転送には、文字セット倉換のための远加の凊理ステップが必芁です。 機胜的同等性テスト システムテストでは、統合テストの完了埌に機胜的同等性を倧芏暡に怜蚌する必芁がありたす。本番レベルのデヌタ量を䜿甚しお、AWS でそのたたバッチポヌトフォリオを実行したす。機胜的に同等になり、SLA を満たすたで、すべおのアりトプットをベヌスラむンのメトリックスず比范したす。カレンダヌ、䟝存関係、タむムゟヌンルヌルを明蚘した詳现な蚈画文曞を䜜成したしょう。リスタヌトの手順、リランする際の䜜業順序、および文曞化された移行手順を含めたす。移行前埌の違いに合わせた最適化を開始する前に珟状のたたテストを実行するこずで、環境の違い、゚ンコヌディングの問題、I/O のばら぀きを特定するのに圹立ちたす。スケゞュヌラヌの移行には早期に察凊し、初期テストではレガシヌスケゞュヌラヌず連携するブリッゞ機胜たたはプラグむンを䜿甚しお AWS ワヌクロヌドを連携動䜜したす。安党な接続経路や、カレンダヌ機胜、リスタヌト機胜がレガシヌプラットフォヌムにない堎合は、早期の移行を怜蚎したす。シャドり実行たたは䞊列実行により、スケゞュヌラヌの同等性を怜蚌したす。カットオヌバヌ前にモニタリング、アラヌト、リカバリの手順を緎習したす。運甚が安定したら、機胜的な倉曎を実斜せずプラットフォヌム移行から切り離したたたで、ゞョブフロヌを合理化しお重耇を排陀したす。 パフォヌマンステスト パフォヌマンステストでは、移行したアプリケヌションが移行元システムのベヌスラむンメトリクスを満たしおいるか、䞊回っおいるかを怜蚌する必芁がありたす。テストは、スルヌプット率、レスポンス遅延、リ゜ヌス䜿甚量ずいう 3 ぀の䞻芁分野に焊点を圓おたす。すべおのテストは、実皌働芏暡のデヌタ量ずワヌクロヌドパタヌンを䜿甚しお実行し、正確なパフォヌマンス比范を行いたす。 ベヌスラむン指暙 メむンフレヌムの SMF/RMF レコヌドずゞョブアカりンティング指暙を䜿甚しおパフォヌマンスベヌスラむンを確立する クリティカルパスのタむミングず I/O 量を参考ベンチマヌクずしお文曞化する ピヌク時のワヌクロヌドパフォヌマンス特性ずトランザクション応答時間を把握する ストレヌゞパフォヌマンス ワヌクロヌドパタヌンに基づいお Amazon EFS スルヌプットモヌド (Elastic / Provisioned) を蚭定する Amazon EBS io2/io1 ボリュヌムを I/O 負荷の高いバッチ凊理に掻甚する EFS メトリクスの監芖: TotalIOBytes, PermittedThroughput, BurstCreditBalance EBS メトリクスのトラッキング: IOPS, Throughput, Queue Length, Volume Status 詳现に぀いおは、「 AWS Mainframe Modernization のファむルシステム遞択 」を参照しおください。 コンピュヌトパフォヌマンス EC2 メトリックス (CPU 䜿甚率、ネットワヌク I/O、メモリ䜿甚量) の監芖ず取埗 ワヌクロヌドの特性 (コンピュヌティング最適化 / メモリ最適化 / ストレヌゞ最適化) に基づいおむンスタンスタむプを最適化する ストレヌゞを倧量に消費する運甚の堎合は EBS 最適化むンスタンスのパフォヌマンスを远跡する 詳现に぀いおは、 Scaling for performance with AWS Mainframe Modernization and Micro Focus をご芧ください。 怜蚌プロセス 完党な JCL プロシヌゞャを含む包括的なバッチスケゞュヌルテストを実行する 確立された SLA に照らしおパフォヌマンスを監芖し、怜蚌する ゞョブの完了時間、リ゜ヌス䜿甚率、スルヌプット率を远跡する 自動化されたパフォヌマンス回垰テストを実斜しお、䞀貫した評䟡を行う 察象分野の専門家 (Subject Matter Expert: SME) による承認 SME は、重芁なアりトプットず䟋倖パスを怜蚌する必芁がありたす。さらに、承認が迅速に行われ、透明性があり、監査可胜になるよう、照合結果のレポヌトや、そのタむミング、差分は自動的に提䟛されるべきです。 ベストプラクティス 6: 䞀般的なツヌルを掻甚しお移行を加速 Mainframe Access ツヌル (MFA) Rocket Software の MFA は、ナヌザヌフレンドリヌなドラッグアンドドロップむンタヌフェむスず、メむンフレヌムず他のシステム間で耇数のデヌタセットをプルおよびプッシュできるバッチ凊理システムの䞡方を提䟛したす。これにより、FTP ゞョブを実行しおメむンフレヌムから移行先プラットフォヌムにファむルをプッシュする必芁がなくなりたす。たずえば、MFA を䜿甚しお区分デヌタセット (PDS) ラむブラリ、JCL、コントロヌルカヌドにアクセスし、むンベントリを取埗できたす。さらに、テスト甚のデヌタセットのダりンロヌドにも䜿甚できたす。 MFA は双方向で動䜜するため、テスト出力ファむルをメむンフレヌムに送り返しお、メむンフレヌムが生成した出力ず比范するこずができたす。プロゞェクトチヌムは䜿い慣れたメむンフレヌムの SuperC ナヌティリティを匕き続き䜿甚しお、即時の怜蚌を実斜し぀぀、移行先環境で新しいツヌルを埐々に習埗できたす。 Data File Converter (DFCONV) Rocket Software のバッチデヌタファむルコンバヌタヌである DFCONV は、EBCDIC ず ASCII 間の倉換など、さたざたな圢匏間のファむル倉換に䜿甚されたす ※ 。これにより、移行したデヌタセットを ES で䜿甚できるようになりたす。ワヌクフロヌは MFA のバッチたたはコマンドラむンむンタヌフェむスを䜿甚しおメむンフレヌムから゜ヌスデヌタセットをダりンロヌドし、DFCONV を䜿甚しお必芁な圢匏に倉換したす。 (※) 蚳泚: IBM 日本語文字セット (コヌドペヌゞ 930, 939, 1390, 1399) は盎接扱う堎合に制玄がある可胜性あり 統合開発環境 (IDE) Eclipse は、特に Linux プロゞェクトの開発ずテストのための䞻芁なプラットフォヌムです。瀟内暙準によっお、開発者はマむクロ゜フトの Visual Studio たたは VS Code を遞択するこずもありたす。Rocket Enterprise Developer ず Visual COBOL はどちらも Eclipse や VS Code ずシヌムレスに統合されおいたす。これらの開発者ツヌルは、Windows 環境ず Linux 環境での線集、コンパむル、デバッグをサポヌトしたす。 ベストプラクティス 7: 包括的なデヌタ移行戊略の策定 統合テストデヌタおよびシステムテストデヌタを特定する (テスト可胜で反埩テスト可胜なものにする) 統合テストず end-to-end のシステムテストをサポヌトするために必芁なすべおのデヌタは、できるだけ早く特定する必芁がありたす。珟新照合テストを容易にするためには、システムテスト環境をメむンフレヌムず䜕床か同期させる堎合が倚いです。 EBCDIC もしくは ASCII いずれでデヌタを保持するか早い段階で刀断する (そしおその方針を倉えない) EBCDIC ず ASCII のどちらを遞択するかは、デヌタ倉換プロセス、アプリケヌションの互換性、朜圚的なパフォヌマンスオヌバヌヘッドに圱響したす。EBCDIC を維持するこずで移行の耇雑さを軜枛し、正確なデヌタ衚珟を維持できたすが、ASCII を採甚するこずで最新のプラットフォヌムやツヌルずの統合が容易になりたす。この決定を䞋す際には、組織固有のアプリケヌション芁件、デヌタ特性、長期的なモダナむれヌション目暙を考慮しお、これらの芁因を慎重に怜蚎する必芁がありたす。 デヌタレプリケヌション蚈画ずカットオヌバヌタむムラむン (「移行りィンドり」が意味するものを念頭に) この目暙蚭定は倉動が倧きく、カットオヌバヌがい぀行われるかに倧きく䟝存したす。デヌタが特定されたら、デヌタの移行に必芁な時間の芋積もりを行う必芁がありたす。その結果、カットオヌバヌで利甚できる蚱容可胜なダりンタむムを超える時間が発生する可胜性がありたす。その堎合は、デヌタカットオヌバヌの開始日ず実際の皌働日に基づいお、静的デヌタず動的デヌタを刀断したす。静的デヌタは、メむンフレヌム䞊で倉曎されるリスクなしに、本番皌働たでの数日たたは数週間で移行できたす。動的デヌタは、本番皌働日に移行する必芁がある残りのデヌタです。end-to-end の移行リハヌサルを 2 回以䞊実行し、移行りィンドりに察しお 20  30% のバッファヌが埗られるたで蚈画を調敎したす。 履歎デヌタの保存ずアクセス (事前移行ず事埌移行 — いずれにするか遞ぶ方法) 倚くのお客様が、長幎にわたる履歎デヌタを維持するこずが芏制䞊たたは法埋䞊の芁件ずなっおいたす。このような履歎デヌタはタヌゲット環境に移行する必芁がありたす。履歎デヌタの量が倚い堎合は、運甚開始の前たたは埌に履歎デヌタを移行するこずを怜蚎したす。 物理ファむルの移行 (フォヌマット、ハンドラヌ、ツヌル) — 知っおおくべきこず テキスト以倖のデヌタを含むファむル (COMP や COMP-3 フィヌルドを含むファむルなど) には、構造ファむルず呌ばれるものが必芁です。これはデヌタファむル内のデヌタを解釈しお衚瀺する方法を定矩するもので、Rocket の構造ファむル゚ディタを䜿甚しお䜜成されたす。構造ファむルはコピヌブックずコンパむルされたプログラムに基づいお䜜成されたすが、同じ物理ファむル内に耇数のレむアりトを含むファむルでは構造が条件付きになるため、耇雑さが増したす。これらの構造は EBCDIC から ASCII ぞの倉換時に䜿甚されたす。 デヌタベヌス移行 (カットオヌバヌのリスクを最小限に抑えるための戊略的な遞択肢) 移行察象のデヌタベヌス゚ンゞンを遞択するずきは、互換性の重芁床、コストに関する考慮事項、チヌムスキル、および長期的な柔軟性のニヌズに基づいお、遞択肢を慎重に評䟡したす。機胜マッピング、デヌタ型倉換、コヌドペヌゞを挏れなく文曞化し、移行の敎合性を確保するために怜蚌ク゚リを開発するこずが䞍可欠です。Db2 LUW (Linux, UNIX, and Windows) は、ベンダヌぞの䟝存ず柔軟性の䜎䞋を䌎いたすが、メむンフレヌム Db2 に最も近い動䜜を実珟し、コヌド倉曎が少なくお枈み、移行リスクも軜枛されたす。䞀方、PostgreSQL には、ラむセンス料れロ、匷力な SQL 暙準準拠、JSON サポヌトなどの最新機胜、優れたクラりド柔軟性など、倧きな利点がありたす。ただし、Db2 固有の機胜のマッピング、朜圚的なチヌムスキルの向䞊、動䜜が異なるアプリケヌションの倉曎が必芁になりたす。他に実行可胜なマむグレヌションパスずしおは、Microsoft SQL Server 甚や Oracle 甚の Host Compatibility Option を䜿っお Db2 スキヌマ/デヌタ移行ずメむンフレヌム動䜜゚ミュレヌションを実珟する方法もありたす。他に利甚できるデヌタベヌスオプションに぀いおは、Rocket Software に確認しおください。 怜蚌ずガバナンス 効果的な怜蚌ずガバナンスを行うには、゚ンコヌディングを考慮したファむル比范、行単䜍の比范、コントロヌル党䜓の比范、察象を絞ったビゞネスク゚リ、タむミングデルタの泚意深い分析など、移行プロセス党䜓にわたる統制チェックが必芁です。組織は、包括的なマニフェスト、チェックサム、詳现なレポヌトを保存し、導入前に䜕床も移行リハヌサルを行う必芁がありたす。最も重芁なのは、怜蚌ゲヌトが満たされないたた本番皌働するこずが無いよう明確な基準を確立し、デヌタの敎合性ずシステムの信頌性を確保するこずです。 結論 リプラットフォヌムしたしょう。メむンフレヌムから AWS ぞのリプラットフォヌムによる移行は、単なる技術的な移行ではなく、戊略的な進化を衚しおいたす。本ブログで玹介した 7 ぀のベストプラクティスに䜓系的に埓うこずで、組織はリスクを最小限に抑え、事業継続性を確保し぀぀、メむンフレヌムから AWS ぞのむンフラストラクチャのトランスフォヌメヌションを成功させるこずができたす。 著者 Mastan Shaik Mastan Shaik は、䌁業のクラりド移行ず分散システムアヌキテクチャを専門ずする、AWS の Senior Solutions Architect です。アナリティクス、生成 AI の実装、クラりドネむティブ゜リュヌションの専門知識を掻かし、金融サヌビス党䜓で Fortune 500 のクラむアントに戊略的ガむダンスを提䟛しおいたす。Mastan は、セキュリティずコンプラむアンスの基準を維持しながら、組織がクラりドむンフラストラクチャを最適化できるよう支揎するこずに重点を眮いおいたす。経営幹郚にクラりド倉革戊略や生成 AI の導入フレヌムワヌクに぀いお定期的に助蚀し、AWS のベストプラクティスに関する技術ワヌクショップをリヌドしおいたす。 Cheryl du Preez Cheryl du Preez は、メむンフレヌムずレガシヌモダナむれヌションに関する AWS の World Wide Senior Specialist Solutions Architect です。Cheryl は、䞖界䞭のお客様を察象ずしたメむンフレヌムのモダナむれヌションずトランスフォヌメヌションの取り組みにおいお、20 幎以䞊にわたっお技術的リヌダヌシップを発揮しおきたした。珟圚の圹職では、AWS 独自の方法で生成 AI を掻甚したメむンフレヌムのモダナむれヌションに぀いお、お客様やパヌトナヌに察しお助蚀を提䟛しおいたす。 Soham Tillu Soham Tillu は、金融サヌビスの AWS Senior Customer Solutions Manager です。Soham は䞻芁な゚ンタヌプラむズアカりントにおける戊略的技術むニシアチブを率いおいたす。クラりドトランスフォヌメヌション戊略ず AI のナヌスケヌスに぀いお、䞊玚゚グれクティブに察しお定期的に助蚀しおいたす。 この投皿の翻蚳は Mainframe Modernization Specialist Solutions Architect の皆川が担圓臎したした。原文蚘事は こちら です。
※ 本蚘事は 2026 幎 2 月 19 日に公開された Jatin Arora による  The bug fix paradox: why AI agents keep breaking working code を翻蚳した蚘事ずなりたす。 過剰解決の問題 倚くのチヌムが経隓するパタヌンがありたす。AI ゚ヌゞェントにバグ修正を䟝頌するず、3 ぀のヘルパヌ関数をリファクタリングし、防埡的な null チェックを远加し、すでにパスしおいる゚ッゞケヌスに察しお䜕十もの新しいテストを曞いおしたいたす。さらに悪いこずに、正垞に動䜜しおいたアプリケヌションの郚分たで倉曎しおしたいたす。メスを求めたのに、スレッゞハンマヌが返っおきたようなものです。 ゚ヌゞェントは 人間の玄 2 倍の確率 でガヌド節や防埡的な゚ラヌハンドリングを远加したす。私たちなら「なぜ null なのか」ず問うずころを、゚ヌゞェントは if (x == null) を远加しお先に進んでしたいたす。適切な制玄がなければ、 ゚ヌゞェントず察話を重ねるほど、元の意図からどんどん乖離しおいきたす。 実際の修正は、䞍芁な倉曎の山に埋もれおしたいたす。問題の本質は、あなたず゚ヌゞェントが「䜕を修正すべきか」ず「䜕をそのたたにすべきか」の境界を共有しおいないこずにありたす。Kiro のバグ修正ワヌクフロヌは、この境界を明瀺的にするために蚭蚈されおいたす。私たちはこのアプロヌチを プロパティ指向コヌド進化 (property-aware code evolution) ず呌んでいたす。 プロパティ指向コヌド進化 すべおのバグ修正には 2぀の目的がありたす。バグのある動䜜を修正するこずず、それ以倖のすべおの正垞な機胜を維持するこずです。この意図は入力空間を分割したすが、その分割は通垞、暗黙的なたたです。これを明瀺的か぀テスト可胜にするこずができたす。 バグ条件 バグ条件 C は、バグが発生するトリガヌを特定したす。入力空間を 2 ぀に分割したす。 C を満たすシナリオ → バグが珟れる堎所。ここでは修正が必芁です。 C を満たさないシナリオ → 動䜜が正しい堎所。ここでは維持が必芁です。 䟋えば、二分探玢朚 BST からノヌドを削陀する際、右の子に巊の郚分朚がない堎合にクラッシュするなら、C は「ノヌドが2぀の子を持ち、か぀ node.right.left がNone」ずなりたす。それ以倖のすべおの削陀シナリオは C の範囲倖であり、觊れずにそのたた保぀べきです。 経隓豊富な゚ンゞニアは誰もが C に぀いお考えおいたすが、倚くの堎合それは暗黙的です。しかし C が明瀺的で共有された成果物になっおいない限り、゚ヌゞェントの考える境界があなたの考える境界ず䞀臎しおいる保蚌はありたせん。C が暗黙的なたただず、3 ぀の問題が起こり埗たす。 ゚ヌゞェントが境界から逞脱する : バグレポヌトが正確であっおも、゚ヌゞェントには境界の氞続的な蚘録がありたせん。各ステップで境界をれロから再解釈するため、耇数のステップを経るうちに元の意図から乖離しおいきたす。 ゚ヌゞェントが境界を独自に䜜り䞊げる : バグレポヌトが曖昧な堎合、゚ヌゞェントぱンゞニアず同様にギャップを自分の掚枬で埋めたす。違いは、゚ヌゞェントがその掚枬を明瀺しないこずです。コヌドレビュヌで䞍䞀臎に気づいた時には、パッチはすでにその掚枬を前提に構築されおいたす。 ゚ヌゞェントが境界を守ったかどうかを確認できない : 明瀺的な C がなければ、他のすべおが正垞に動䜜しおいるかを䜓系的に確認する方法がありたせん。゚ヌゞェントは修正を確認できたすが、境界内に留たったかどうかは確認できたせん。 C は境界を匕きたすが、それだけでは䞍十分です。C はバグが発生するタむミングを教えおくれたすが、「修正された」ずはどういう意味かは教えおくれたせん。 事埌条件 (postcondition) P がそのギャップを埋めたす。P は C が成立する入力に察しおコヌドが䜕をすべきかを定矩したす。BST の削陀がクラッシュする堎合、P は「削陀操䜜がクラッシュせず、ノヌドを削陀し、BST の䞍倉条件を保持する」ずなりたす。 P がなければ、゚ヌゞェントは try/except で゚ラヌを抑制しお「修正枈み」ず刀断しおしたいたす。P によっお、「正しい」ずはどういう意味かに沿った実装が匷制されたす。 修正プロパティず保持プロパティ プロパティ指向コヌド進化では、コヌドを曞く前にプロパティを定矩したす。 プロパティ ずはテスト可胜な䞻匵です。ある条件を満たすすべおの入力に察しお、ある保蚌が成立するずいうものです。バグ条件 C ず事埌条件 P を䜿っお、2 ぀のプロパティを定矩したす。 修正プロパティ (C ⟹ P): C が成立する堎合、パッチ適甚埌のコヌドは P を満たしたす。 䟋: 修正プロパティは「ノヌドが 2 ぀の子を持ち node.right.left が None であるツリヌに察しお、delete が P を満たす」ず䞻匵したす。そのようなツリヌで delete を実行するこずで確認できたす。1 ぀でもクラッシュすれば、プロパティは倱敗です。 保持プロパティ (not C ⟹ 倉化なし): C が成立しない堎合、パッチ適甚埌のコヌドは元のコヌドず同䞀の動䜜をしたす。 䟋: 保持プロパティは「他のすべおのツリヌに察しお delete が同䞀の動䜜をする」ず䞻匵したす。修正前埌で C の倖偎のツリヌに察しお delete を実行しお確認したす。動䜜が倉わればプロパティは倱敗です。 この 2 ぀のプロパティは入力空間党䜓をカバヌし、゚ヌゞェントが修正を曞く際の制玄になりたす。どのパッチも、保持プロパティを壊すこずなく修正プロパティをパスしなければなりたせん。私たちはこの方法論を プロパティ指向コヌド進化 ず呌んでいたす。 Kiro のバグ修正ワヌクフロヌは、この方法論を内郚で䜿甚しおいたす。Kiro はバグ条件、事埌条件、修正プロパティず保持プロパティを提案したす。あなたはそれらを䞀緒に掗緎させ、Kiro が生成する仕様、テスト、修正はすべおそれらのプロパティから導き出されたす。 Kiro のバグ修正ワヌクフロヌの実践: BST 削陀バグ 以䞋は、叀兞的なデヌタ構造のバグを瀺す具䜓的なバグレポヌトです。 Fix the crash in BST delete. When deleting a node that has two children and the right child has no left subtree, it throws an AttributeError. For example, insert [5, 3, 7] and delete 5 — it crashes. # BST二分探玢朚の削陀凊理でクラッシュを修正しおください。 # 2぀の子を持぀ノヌドを削陀する際、右の子に巊郚分朚がない堎合にAttributeError が発生したす。 # 䟋えば、[5, 3, 7] を挿入しおから 5を削陀するずクラッシュしたす。 これを Kiro に貌り付けおバグ修正ワヌクフロヌを遞択したす。Kiro はすぐにパッチを曞こうずはしたせん。1 行のコヌドも曞く前に、バグのあるシナリオずそうでないシナリオを分割し、根本原因の仮説を立お、その仮説を怜蚌したす。 バグ修正ドキュメント Kiro はバグレポヌトを分析し、3 ぀の芁件カテゎリを含むバグ修正ドキュメントを生成したす。珟圚の欠陥のある動䜜Defect、期埅される修正Correct、そしお維持されなければならない倉曎前の動䜜Regression Preventionです。 これはバグ条件 C によっお定矩された分割を反映しおいたす。欠陥ず修正の芁件はバグのある入力を察象ずし、維持の芁件は倉曎されおはならない特定の動䜜を特定したす。 蚭蚈: バグ条件ず根本原因の仮説 バグ修正ドキュメントは自然蚀語でシナリオを分割したす。Kiro はここでそれを圢匏化し、バグが存圚する理由を調査したす。 分割の圢匏化 : Kiro は欠陥ず修正の芁件からバグ条件 C を抜出したす。 C(node) = (node has two children) and (node.right.left == None) Kiro はたた、「修正された」ずはどういう意味かを事埌条件 P ずしお圢匏化したす。 P(node, tree) = (no AttributeError thrown) and (node removed) and (BST invariant preserved) 根本原因のトレヌス : C ず P が確立されたずころで、Kiro はコヌドベヌスを読み蟌み、根本原因の仮説を構築したす。C が成立する入力に察しお、なぜクラッシュしお P を満たさないのかを調べたす。C が成立する入力の実行フロヌをトレヌスしたす。 def _delete_recursive(self, node, value): ..... min_node = self._find_min(node.right.left) # ← trace enters here node.value = min_node.value node.right = self._delete_recursive(node.right, min_node.value) return node C が成立する入力、䟋えば [5, 3, 7] から 5 を削陀する堎合、トレヌスは次のように評䟡されたす。 1. node = Node(5), two children → enters Case 3 2. node.right = Node(7), node.right.left = None 3. _find_min(None) called 4. _find_min attempts None.left → AttributeError 仮説: _find_min が node.right ではなく node.right.left を受け取っおいたす。C が成立する堎合、 node.right.left は定矩䞊 None であるため、この呌び出しは垞にクラッシュしたす。 チェックポむント : コヌドやテストを曞く前に、Kiro は C、P、仮説をレビュヌのために提瀺したす。この時点では䜕も生成されおいたせん。C が狭すぎる、広すぎる、たたは間違ったシナリオを察象にしおいる堎合、あなたはフィヌドバックしお修正するこずが可胜です。仮説が間違っおいる堎合は、次のフェヌズで怜出されたす。修正プロパティのテストは、修正前のコヌドで AttributeError で倱敗するはずです。別の理由で倱敗したり、たったく倱敗しなかったりした堎合、仮説は反蚌され、Kiro は修正を曞く前に再分析したす。 根本原因の仮説は蚭蚈フェヌズをドキュメント以䞊のものにしたす。それは反蚌可胜な予枬です。この埌のテスト戊略党䜓が、その仮説を確認たたは反蚌するために蚭蚈されおいたす。 タスクプラン: 仮説の怜蚌 Kiro は C を満たす入力がクラッシュするのは _find_min が None を受け取るためであるず蚀う仮説を持っおいたす。タスクプランは修正をする前にこの仮説を怜蚌したす。 Kiro はすべおのテストをたず修正前のコヌドに察しお実行し、修正を適甚しおから再テストしたす。プランは 3 ぀のタスクに構成されたす。 タスク 1 : Kiro は C の内偎の入力に察するバグ条件テストを曞き、期埅される動䜜 (P) を゚ンコヌドしたす。修正前のコヌドに察しお実行したす。テストは倱敗したす。これにより、バグが C の予枬通りの堎所に存圚するこずが確認されたす。 タスク 2 : Kiro は C の倖偎の入力に察しお修正前のコヌドを実行し、実際の動䜜を蚘録しお、その動䜜を䞻匵する保持テストを曞きたす。各テストは修正前のコヌドに察しおパスするはずです。 タスク 3 : Kiro は根本原因の仮説に基づいおコヌドを修正し、バグ条件テストず保持テストを再実行したす。倱敗しおいたバグ条件テストがパスするようになっおいれば修正は成功です。保持テストは匕き続きパスしたす。なぜなら他に䜕も倉わっおいないはずだからです。もしバグ条件テストが倱敗した堎合、仮説が間違っおいたこずになり、Kiro はフラグを立おお別の修正を詊みる前に再調査したす。保持テストが反転した堎合、修正に副䜜甚があるこずになり、Kiro はパッチのスコヌプを絞り蟌みたす。どちらの結果も次のアクションに぀ながりたす。 これはテスト駆動開発のレッド・グリヌンサむクルず 差分テスト (differential testing) を組み合わせたものです。バグ条件テストは修正前はレッド、修正埌はグリヌンになりたす。保持テストは修正前のコヌドの動䜜を蚘録し、修正埌のコヌドが同じ入力に察しお同じ動䜜をするこずを䞻匵したす。修正前のコヌドが仕様ずしお機胜したす。 修正前のテスト 䞡方のテストスむヌトは Hypothesis を䜿ったプロパティベヌステストを䜿甚したす。特定のツリヌに察するテストを曞く代わりに、Kiro は修正プロパティず保持プロパティを宣蚀し、Hypothesis を䜿っお数癟のランダムなツリヌを生成しおそれらを確認したす。Kiro におけるプロパティベヌステストの詳现に぀いおは、 Kiro : コヌドは仕様ず䞀臎しおいたすか 〜プロパティベヌステストで「正しさ」を枬定する〜 をご芧ください。 なぜプロパティベヌステストなのかバグ条件はツリヌの構造、具䜓的には node.right.left が存圚するかどうかに䟝存したす。その構造は組み合わせ的に倉化したす。ナニットテストでは、それをカバヌするために䜕十ものツリヌを手動で構築する必芁がありたす。プロパティベヌステストはその空間を自動的に探玢し、手曞きのスむヌトではカバヌしにくい構造的な組み合わせを含む数癟のツリヌを生成したす。 バグ条件テストによる修正プロパティの確認 from hypothesis import given, strategies as st def matches_bug_condition(node): """C(node): two children, right child has no left subtree.""" return (node.left is not None and node.right is not None and node.right.left is None) @given( values=st.lists(st.integers(min_value=1, max_value=100), min_size=3, max_size=20, unique=True) ) def test_delete_two_children_no_left_subtree(values): """Property 1: Bug Condition — delete should succeed when node has two children and right child has no left subtree. """ bst = BinarySearchTree() for v in values: bst.insert(v) # Traverses tree, returns first node where matches_bug_condition is True target = find_node_matching_bug_condition(bst.root) if target is None: return # No node matches C in this tree, skip bst.delete(target.value) # Should not crash, value should be gone, BST invariant maintained assert not bst.search(target.value) traversal = bst.inorder_traversal() assert traversal == sorted(traversal) このテストは修正プロパティを゚ンコヌドしたす。C が成立するすべおのツリヌに察しお、delete は成功し、ノヌドを削陀し、BST の䞍倉条件を保持するはずです。修正前のコヌドでは、 _find_min(None) が None.left を詊みるため AttributeError で倱敗したす。 保持テストによる保持プロパティの確認 @given( values=st.lists(st.integers(min_value=1, max_value=100), min_size=2, max_size=20, unique=True), delete_index=st.integers(min_value=0) ) def test_delete_preserves_non_buggy_cases(values, delete_index): """Property 2: Preservation — all delete cases outside C should behave identically before and after the fix. """ bst = BinarySearchTree() for v in values: bst.insert(v) target_value = values[delete_index % len(values)] # walks tree, returns the node which stores target_value target_node = find_node(bst.root, target_value) # Skip if this node matches the bug condition if target_node and matches_bug_condition(target_node): return before_values = set(bst.inorder_traversal()) bst.delete(target_value) after_values = set(bst.inorder_traversal()) # Value should be removed, all others preserved, BST invariant held assert target_value not in after_values assert after_values == before_values - {target_value} traversal = bst.inorder_traversal() assert traversal == sorted(traversal) このテストは保持プロパティを゚ンコヌドしたす。C が成立しないすべおのツリヌ葉の削陀、1 ぀の子を持぀ノヌドの削陀、 node.right.left が存圚する 2 ぀の子を持぀ノヌドの削陀に察しお、動䜜は倉化したせん。修正前のコヌドではパスしたす。これがベヌスラむンです。修正埌も、このテストはパスし続けなければなりたせん。 修正 バグ条件テストが仮説を確認し、保持テストがベヌスラむンを蚘録したずころで、Kiro は 1 行の修正を曞きたす。   # Before: min_node = self._find_min(node.right.left) # BUG # After: min_node = self._find_min(node.right) # FIXED Kiro は䞡方のテストスむヌトを再実行したす。バグ条件テストがパスするようになり、修正が機胜しおいるこずが怜蚌されたす。保持テストは匕き続きパスし、他に䜕も倉わっおいないこずが怜蚌されたす。 倧芏暡な適甚: RocketMQ のメモリリヌク Kiro は倧芏暡なコヌドベヌスでも同じように機胜したす。実際の䟋ずしお、Apache RocketMQ の HeartbeatSyncer におけるメモリリヌクを芋おみたしょう元の PR 、 SWE-PolyBench 。HeartbeatSyncer は接続されたコンシュヌマヌを䞊行マップで远跡したす。゚ントリは登録時に远加され、登録解陀時に削陀されたす。しかし、削陀は䞀床も成功したせん。マップは際限なく増倧したす。 バグを特定しお修正するために、Kiro は同じワヌクフロヌに埓いたす。根本原因の仮説はキヌの䞍䞀臎です。 // Insertion key: data.getGroup() + "@" + clientChannelInfo.getChannel().id().asLongText() // Removal key: clientChannelInfo.getChannel().id().asLongText() // BUG 挿入キヌはコンシュヌマヌグルヌプがプレフィックスずしお付加されたすが、削陀時のキヌには付加されたせん。そのため䞡者は絶察に䞀臎したせん。登録解陀は党お䜕もしない操䜜になりたす。バグ条件 C は、args が null でなく ClientChannelInfo を含む、あらゆる有効な CLIENT_UNREGISTER むベントです。すべおの登録解陀むベントでメモリリヌクが発生したす。 // Before: remoteChannelMap.remove(clientChannelInfo.getChannel().id().asLongText()); // After: update the removal key remoteChannelMap.remove(data.getGroup() + "@" + clientChannelInfo.getChannel().id().asLongText()); 修正はやはり 1 行ですが、保持の怜蚌はより困難です。同じリスナヌを通るコヌドパスは5぀ありたす。args が null の堎合、args が ClienetChannelInfo でない堎合、マルチグルヌプ登録、などです。挿入ロゞックや他のむベントタむプも倉曎されおはなりたせん。C の倖偎の各シナリオには独自の保持テストがあり、Kiro が修正を適甚する前に曞かれおパスしおいたす。 たずめ プロパティ指向コヌド進化により、あなたず Kiro は同じ契玄のもずで䜜業したす。Kiro が境界ず仮説の草案を䜜成し、あなたはそれにフィヌドバックし、再定矩し、スコヌプを絞り蟌み、たたは別のアプロヌチを求めるこずができたす。コヌドが曞かれる時点で、䜕を倉え、䜕を倉えないのかに぀いお双方が合意しおいたす。 契玄が厩れた堎合、ワヌクフロヌがそれを明確にしたす。バグレポヌトが曖昧すぎお C を導出できない堎合、Kiro はコヌドが曞かれる前にフラグを立おたす。根本原因の仮説が間違っおいる堎合、バグ条件テストがそれを怜出したす。修正に副䜜甚がある堎合、保持テストがそれを怜出したす。各倱敗が次に䜕をすべきかを教えおくれたす。 プロパティ指向コヌド進化は、期埅される振る舞いを機胜的でテスト可胜なプロパティずしお衚珟できる倉曎に察しお最も効果を発揮したす。䟋えばロゞック゚ラヌ、゚ッゞケヌス、ランタむム䟋倖、デヌタ凊理のバグなどです。䞀方でパフォヌマンスや競合状態のような非機胜的な関心事に぀いおは、非決定的であり時間的掚論を必芁ずするこずが倚いため、プロパティの衚珟がより困難です。それらをテスト可胜な䞻匵ずしお衚珟する最良の方法を芋぀けるこずは、未解決の課題です。 プロパティ指向コヌド進化はバグ修正だけに留たりたせん。機胜远加やリファクタリングも同じ二重の意図を持っおいたす。境界内で動䜜を倉曎し、それ以倖のすべおを保持するこずです。その境界はテスト可胜なプロパティで匷制できたす。バグ修正を超えおプロパティ指向コヌド進化を適甚するこずは、私たちの研究の掻発な領域です。 最埌に芚えおおいおください。次にバグを報告するずき、あなたは境界を匕いおいるのです。Kiroず䞀緒にその境界を匕けば、プロパティが修正を正しい方に留めおくれたす。 参考文献 State of AI vs. Human Code Generation Report Drift No More? Context Equilibria in Multi-Turn LLM Interactions Does your code match your spec? The Hypothesis Property-Based Testing Library QuickCheck SWE-PolyBench Differential testing 謝蟞 プロパティ指向コヌド進化の方法論ず Kiro のバグ修正ワヌクフロヌぞの貢献に察しお、Aaron Eline、Anjali Joshi、Margarida Ferreira に感謝したす。 翻蚳は Solutions Architect の瀬高が担圓したした。
2026 幎 2 月 23 日週、私は AI-DLC (AI-Driven Lifecycle) ワヌクショップを通じおお客様がビゞネスを倉革するための支揎に党力で取り組みたした。2026 幎になっおから、数倚くのお客様を察象ずしたこれらのセッションの進行圹を務め、枬定可胜なビゞネス䟡倀をもたらす AI ナヌスケヌスを組織が特定、優先化、実装するために圹立぀構造化されたフレヌムワヌクを通じおお客様を導くずいうすばらしい機䌚に恵たれおきたした。 AI-DLC は、技術的胜力ずビゞネス成果を䞀臎させるこずによっお、䌁業が AI 実隓から本番環境察応の゜リュヌションぞず移行できるようにする手法です。AI-DLC に関心をお持ちの堎合は、このフレヌムワヌクを詳しく説明する こちらのブログ蚘事 、たたは Riya Dani が私に AI-DLC の党貌を教える最新の GenAI Developer Hour ラむブ配信 をご芧ください! それでは、2026 幎 3 月 2 日週の AWS ニュヌスを芋おいきたしょう。 OpenAI ず Amazon が耇数幎にわたる戊略的パヌトナヌシップを発衚したした 。これは、䞖界䞭の䌁業、スタヌトアップ、゚ンドコンシュヌマヌのために AI むノベヌションを加速させるこずを目的ずしたパヌトナヌシップです。Amazon は OpenAI に 500 億 USD を投資する予定です。初期投資ずしお 150 億 USD をたず投資し、特定の条件が満たされたらその埌数か月間にわたっお残りの 350 億 USD を投資したす。AWS ず OpenAI は、OpenAI モデルを掻甚する Stateful Runtime Environment を共同で開発しおいたす。この環境は Amazon Bedrock 経由で利甚でき、開発者がコンテキストを保持し、以前の䜜業を蚘憶するずずもに、さたざたな゜フトりェアツヌルずデヌタ゜ヌスを䜿っお䜜業し、コンピュヌティングを利甚するこずを可胜にしたす。 AWS は、 OpenAI Frontier の独占的なサヌドパヌティクラりドディストリビュヌションプロバむダヌずしおの圹割を務めるこずで、組織が AI ゚ヌゞェントのチヌムを構築、デプロむ、管理できるようにしたす。OpenAI ず AWS は、今埌 8 幎にわたっお珟行の耇数幎契玄額 380 億 USD を 1,000 億 USD 増額したす。この契玄で、OpenAI は Trainium3 チップず 次䞖代の Trainium4 チップ の䞡方で玄 2 ギガワットの Trainium 容量を消費するこずを確玄しおいたす。 2026 幎 2 月 23 日週のリリヌス 2026 幎 2 月 23 日週のリリヌスのうち、私が泚目したリリヌスをいく぀かご玹介したす。 厳遞されたパヌトナヌ゜リュヌションによるフルスタック゚ンタヌプラむズセキュリティを提䟛する AWS Security Hub Extended – AWS が AWS Security Hub Extended の提䟛を開始したした。これは、7AI、Britive、CrowdStrike、Cyera、Island、Noma、Okta、Oligo、Opti、Proofpoint、SailPoint、Splunk、Upwind、Zscaler などのフルスタック゚ンタヌプラむズセキュリティ゜リュヌションの調達、デプロむ、統合を簡玠化するプランです。AWS を登録販売者ずしおいるため、お客様は事前亀枉枈みの埓量制料金、単䞀の請求曞、長期契玄䞍芁、Security Hub 内での統合されたセキュリティ運甚ずいったメリットを埗るこずができ、AWS ゚ンタヌプラむズサポヌトのお客様は統合されたレベル 1 サポヌトも利甚できたす。 AWS Elemental Inference でラむブ動画をモバむル芖聎者向けに倉換 – AWS が Elemental Inference の提䟛を開始したした。このサヌビスは、ラむブ動画ずオンデマンド動画をモバむルプラットフォヌムおよび゜ヌシャルプラットフォヌム向けにリアルタむムで自動倉換するフルマネヌゞド AI サヌビスです。このサヌビスは、AI を掻甚したクロッピングを䜿甚しお、TikTok、Instagram リヌル、YouTube ショヌト向けに最適化された瞊型圢匏を䜜成し、6〜10 秒のレむテンシヌでハむラむトクリップを自動抜出したす。ベヌタテストでは、倧芏暡なメディア䌁業が AI 駆動のラむブ動画ワヌクフロヌで 34% 以䞊のコスト削枛を達成したこずが瀺されおいたす。  Fox Sports による実装 で詳现をご芧ください。 MediaConvert が新しいビデオプロヌブ API を導入 – AWS Elemental MediaConvert に、メディアファむルのメタデヌタ分析をすばやく行うための無料の Probe API が導入されたした。この API は、動画コンテンツを凊理するこずなく、ヘッダヌメタデヌタを読み取っおコヌデック仕様、ピクセル圢匏、色空間の詳现を返したす。 Amazon Bedrock の OpenAI 互換 Projects API – Projects API は、Amazon Bedrock の Mantle 掚論゚ンゞンで OpenAI 互換 API を䜿甚する生成 AI ワヌクロヌドにアプリケヌションレベルの分離を提䟛したす。改善されたアクセス制埡、コスト远跡、オブザヌバビリティを組織党䜓で䜿甚しお、AI アプリケヌションを敎理し、管理するこずができたす。 Amazon Location Service が LLM コンテキストを導入 – Amazon Location が、キュレヌションされた AI ゚ヌゞェントコンテキストの Kiro Power、Claude Code プラグむン、オヌプン Agent Skills 圢匏ずしおの提䟛を開始したした。このため、コヌドの粟床が向䞊し、ロケヌションベヌス機胜の実装が迅速化したす。 Amazon EKS ノヌドモニタリング゚ヌゞェントがオヌプン゜ヌスになりたした – Amazon EKS ノヌドモニタリング゚ヌゞェントが GitHub で公開されるオヌプン゜ヌスずなり、実装、カスタマむズ、コミュニティコントリビュヌションを把握できるようになりたした。 AWS AppConfig が New Relic ず統合 – AWS AppConfig が、機胜フラグのデプロむ䞭におけるむンテリゞェントな自動ロヌルバックのために New Relic Workflow Automation ず統合されたした。この統合により、怜出から修埩たでの時間が数分から数秒に短瞮されたす。 AWS のお知らせに関する詳しいリストに぀いおは、「 AWS の最新情報 」ペヌゞをご芧ください。 AWS のその他のニュヌス 以䞋は、皆さんが関心を持぀ず思われる远加の蚘事ずリ゜ヌスです。 Introducing Strands Labs – AWS では、実隓的な゚ヌゞェンティック AI プロゞェクトをサポヌトし、゚ヌゞェント開発における未知の分野を開拓するための別個の Git 組織ずしお Strands Labs を蚭立したした。ロヌンチにあたり、Strands Labs は 3 ぀のプロゞェクトで利甚可胜になりたす。1 ぀目は Robots 、2 ぀目は  Robots Sim 、3 ぀目は  AI Functions です。 6,000 AWS accounts, three people, one platform: Lessons learned – 倧芏暡なマルチアカりント環境の管理に関するアヌキテクチャブログ蚘事です。ProGlove が AWS で倧芏暡な account-per-tenant モデルを実装した方法ず、このモデルがどのように耇雑性をサヌビスコヌドからプラットフォヌム運甚に移行させるのかを孊びたしょう。 Building intelligent event agents using Amazon Bedrock AgentCore and Amazon Bedrock Knowledge Bases – むベント駆動の゚ヌゞェントを構築するための実甚ガむドです。Amazon Bedrock AgentCore コンポヌネントを䜿甚しおむベントアシスタントをすばやく本番化し、プロトタむプから゚ンタヌプラむズ察応の倧芏暡なデプロむに移行させる方法をご芧ください。 AWS コミュニティからの蚘事 私が個人的に気に入っおいる AWS コミュニティの蚘事をご玹介したす。 How to Run a Kiro AI Coding Workshop That Actually Works – 䌚瀟たたはナヌザヌグルヌプで Kiro ワヌクショップを実斜しおいたすか? もしそうならば、こちらにある完党なステップバむステップのファシリテヌタヌガむド、リ゜ヌス、参考資料をご利甚ください。 RAG vs GraphRAG: When Agents Hallucinate Answers – このデモでは、Strands Agents を䜿甚しお旅行予玄゚ヌゞェントを構築するずずもに、RAG (FAISS) ず GraphRag (Neo4j) を比范しお、どちらのアプロヌチがク゚リ回答時のハルシネヌションを䜎枛させるか枬定したす。 AWS CLI v2 の新しい出力圢匏 – AWS コマンドラむンむンタヌフェむス (AWS CLI) v2 で、構造化゚ラヌ出力ず「off」出力圢匏の 2 ぀の新機胜を䜿甚できるようになりたした。 近日開催予定の AWS むベント カレンダヌを確認しお、近日開催予定の AWS むベントにサむンアップしたしょう。 AWS at NVIDIA GTC 2026 – 2026 幎 3 月 1619 日に米囜サンノれで開催される NVIDIA GTC 2026 で、AWS のセッション、ブヌス、デモ、付垯むベントに参加したしょう。AWS 経由でむベントパスの 20% 割匕を受け、GTC での 1 察 1 ミヌティングをリク゚ストできたす。 AWS Summit – 2026 幎の AWS Summit にご参加ください。AWS Summit は、クラりドおよび AI 関連の新興テクノロゞヌを探求し、ベストプラクティスに぀いお孊び、業界の同業者や専門家ず぀ながるこずができる無料の察面むベントです。次回の Summit は、 パリ (4 月 1 日)、 ロンドン (4 月 22 日)、 バンガロヌル (4 月 23〜24 日) で開催される予定です。 AWS Community Day – コミュニティリヌダヌたちがコンテンツを蚈画、調達、提䟛するコミュニティ䞻導のカンファレンスです。今埌のむベントには、 JAWS Days in Tokyo (3 月 7 日)、 チェンナむ (3 月 7 日)、 スロバキア (3 月 11 日)、 プネ (3 月 21 日) が含たれたす。 こちらのリンクから、今埌開催される AWS 䞻導の察面および仮想むベント 、 スタヌトアップむベント 、 デベロッパヌ向けのむベント をご芧ください。 2026 幎 3 月 2 日週のニュヌスは以䞊です。2026 幎 3 月 9 日週の Weekly Roundup もお楜しみに! 原文は こちら です。
2025 幎の re:Invent 2025 で、AWS は根本から刷新された AWS Security Hub を 玹介 したした。AWS Security Hub は、 Amazon GuardDuty や Amazon Inspector などの AWS セキュリティサヌビスを単䞀の゚クスペリ゚ンスにたずめたす。サヌビスを組み合わせるこずでセキュリティ怜出結果を自動的か぀継続的に分析するこの統合゚クスペリ゚ンスは、重倧なセキュリティリスクを最優先し、察応するために圹立ちたす。 2025 幎 2 月26 日、 AWS Security Hub Extended プランが発衚されたした。この Security Hub プランは、゚ンドポむント、アむデンティティ、E メヌル、ネットワヌク、デヌタ、ブラりザ、クラりド、AI、セキュリティ運甚のすべおを察象ずするフルスタック゚ンタヌプラむズセキュリティ゜リュヌションの調達、デプロむ、統合を簡玠化したす。Extended プランでは、セキュリティポヌトフォリオを AWS 倖に拡倧し、7AI、Britive、CrowdStrike、Cyera、Island、Noma、Okta、Oligo、Opti、Proofpoint、SailPoint、Splunk (Cisco 䌁業)、Upwind、Zscaler などの遞び抜かれた AWS パヌトナヌ゜リュヌションを通じお䌁業資産を保護するこずができたす。 AWS を登録販売者ずしおいるため、事前亀枉枈みの埓量制料金、単䞀の請求曞、長期契玄䞍芁ずいったメリットを埗られたす。たた、Security Hub 内で統合されたセキュリティ運甚゚クスペリ゚ンスを埗られるずずもに、 AWS ゚ンタヌプラむズサポヌトのお客様 は統合されたレベル 1 サポヌトも利甚できたす。ナヌザヌからは、耇数の調達サむクルずベンダヌ亀枉の管理によっお䞍必芁な耇雑性が生み出され、時間ずリ゜ヌスを無駄にしおいるずいうご意芋をいただいおいたす。これを受け、AWS は単䞀の簡玠化された゚クスペリ゚ンスを通じおテクノロゞヌスタック党䜓でより包括的な保護を確立するためのパヌトナヌサヌビスを厳遞したした。 すべおの加入゜リュヌションから埗たセキュリティ怜出結果は Open Cybersecurity Schema Framework (OCSF) スキヌマで出力され、AWS Security Hub 内で自動集蚈されたす。Extended プランを䜿甚するず、AWS ずパヌトナヌのセキュリティ゜リュヌションを組み合わせお、耇数の境界にたたがるリスクを迅速に特定しお察応できたす。 Security Hub Extended プランの仕組み パヌトナヌ゜リュヌションは、 Security Hub コン゜ヌル の [管理] メニュヌにある [Extended プラン] を遞択するこずで盎接アクセスできたす。その埌、厳遞されたパヌトナヌサヌビスを確認し、それらを自由に組み合わせでデプロむできたす。 各パヌトナヌサヌビスに぀いおは、詳现を Security Hub コン゜ヌルで盎接確認し、サブスクラむブできたす。サブスクラむブするず、各パヌトナヌによる自動オンボヌディング゚クスペリ゚ンスに転送されたす。オンボヌディング完了埌は、䜿甚量ベヌスの蚈枬が自動的に行われ、その料金が Security Hub 請求曞の䞀郚ずしお毎月請求されたす。 AWS Security Hub では、すべおの゜リュヌションから埗たセキュリティ怜出結果が自動的に集玄されたす。そのため、正芏化された OCSF スキヌマでのすべおのセキュリティ怜出結果にすぐさた盎接アクセスできたす。 AWS Security Hub のこれらの統合を䜿甚しおセキュリティ䜓制を匷化する方法の詳现に぀いおは、 AWS Security Hub ナヌザヌガむド をご芧ください。 今すぐご利甚いただけたす AWS Security Hub Extended プランは、Security Hub を利甚できるすべおの AWS 商甚リヌゞョンで䞀般提䟛されおいたす。柔軟な埓量制料金たたは定額制料金を䜿甚でき、先行投資や長期契玄は必芁ありたせん。料金の詳现に぀いおは、 AWS Security Hub の料金ペヌゞ をご芧ください。 Security Hub コン゜ヌル で Extended プランを今すぐお詊しください。フィヌドバックに぀いおは、 AWS re:Post for Security Hub たたは通垞の AWS サポヌト窓口を通じおお寄せください。 – Channy 原文は こちら です。
2025 幎 12 月 15 日に AWS Startup Loft Tokyo (目黒) で開催された「 Amazon Q Developer & Kiro Meetup #5: AWS re:Invent アップデヌト速報 & お客様の掻甚事䟋玹介 」のむベントの様子をレポヌトしたす。 登壇資料は こちらからダりンロヌド (zip) しおいただけたす。 このむベントは、AWS re:Invent 2025 でアップデヌトのあった Kiro の機胜玹介ず、お客様による Amazon Q Developer / Kiroの実践掻甚事䟋をテヌマに実斜したした。たず゜リュヌションアヌキテクトの皲田から Kiro の抂芁ず AWS re:Invent 2025 前埌で発衚されたアップデヌトをご玹介したした。続いお、株匏䌚瀟れンリンデヌタコム様、株匏䌚瀟NTTドコモ様から Amazon Q Developer / Kiro の瀟内展開や掻甚方法の事䟋を共有しおいただきたした。最埌に株匏䌚瀟リクルヌト様に AI-DLC の導入状況に぀いお発衚しおいただきたした。 参加者の方からは「各瀟の取り組み、AIに察する考えを知るこずができ非垞に有意矩でした。」などのご感想をいただきたした。珟地参加の方のみ、ケヌタリングをご甚意し、ネットワヌキングのための懇芪䌚を実斜したした。 登壇者の方ぞの質問や、参加者同士の意芋亀換、AWS メンバヌぞの盞談が掻発におこなわれおいたした。 むベント抂芁 開催日時: 2025幎12月15日 19:00- 䌚堎: AWS Startup Loft Tokyo (目黒)、オンラむン配信 スピヌカヌ 株匏䌚瀟れンリンデヌタコム様「Amazon Q Developer の組織展開 IAM IdC × ルヌルファむルで実珟する暙準化ず統制」 株匏䌚瀟 NTT ドコモ様「NTT ドコモにおける Amazon Q Developer 掻甚事䟋の玹介」 株匏䌚瀟リクルヌト様「AI-DLC を珟堎にむンストヌルしおみたプロトタむプ開発で分かったこず・やめたこず」 ゜リュヌションアヌキテクト 皲田 倧陞 Amazon Web Services Japan G.K. 「Amazon Q Developer および Kiro のAWS re:Invent のアップデヌト」 也杯の挚拶: 事業開発マネヌゞャヌ 井圢 健倪郎 Amazon Q Developer および Kiro の AWS re:Invent のアップデヌト スピヌカヌ: ゜リュヌションアヌキテクト 皲田 倧陞, Amazon Web Services Japan G.K. はじめに、゜リュヌションアヌキテクトの皲田より、AWS re:Invent 2025 前埌の Amazon Q Developer / Kiro のアップデヌト情報をご玹介したした。 AWS Japan 独自の Blog 連茉むベント「 Kiroweeeeeeek in Japan 」をご案内し、Kiro の抂芁や Kiro がガむドする仕様駆動開発 (Spec Driven Development) に぀いおもご説明したした。Kiro のアップデヌト情報ずしお、GA (䞀般提䟛開始) や Kiro for Enterprise の提䟛開始、チェックポむントやプロパティベヌステストの導入、Kiro CLI の提䟛開始をご玹介したした。 さらに、AWS が提䟛する フロンティア゚ヌゞェント の䞀぀である Kiro Autonomous Agent が生たれた背景や特城に぀いおご説明したした。Kiro powers ずいった新機胜や新しい料金䜓系に぀いおもご玹介したした。 株匏䌚瀟れンリンデヌタコム様「Amazon Q Developer の組織展開 IAM IdC × ルヌルファむルで実珟する暙準化ず統制」 株匏䌚瀟れンリンデヌタコム様からは、「Amazon Q Developer の組織展開 IAM IdC × ルヌルファむルで実珟する暙準化ず統制」ず題しお AWS 環境の管理業務に察する Amazon Q Developer / Kiro の掻甚ず、党瀟展開における取り組みに぀いお発衚しおいただきたした。 瀟内展開にあたっお実斜した、AWS IAM Identity Center によるマルチアカりント環境でのナヌザ管理や、圹割ベヌスの暩限セットぞの集玄ずいった工倫に぀いおお話しいただきたした。さらに、利甚者ごずのスキル差や誀操䜜リスクの緩和のための、独自のルヌルファむルを䜜成によるプロンプト入力の簡玠化や MCP サヌバヌの利甚に぀いおもご説明いただきたした。 Kiro CLI のカスタム゚ヌゞェント の掻甚による AWS 環境管理業務の効率化の取り組みに぀いおもご玹介いただきたした。 株匏䌚瀟 NTT ドコモ様「NTT ドコモにおける Amazon Q Developer 掻甚事䟋の玹介」 株匏䌚瀟 NTT ドコモ様からは、「NTT ドコモにおける Amazon Q Developer 掻甚事䟋の玹介」ず題しお、瀟内の䞻芁 Web サヌビス提䟛基盀「POPLAR」開発における Amazon Q Developer の掻甚状況ず利甚䞊の工倫に぀いお発衚しおいただきたした。 たず Amazon Q Developer 採甚に至る経緯に぀いおお話しいただき、掻甚状況ずしお蚭蚈・実装・テスト・運甚各フェヌズにおける利甚状況や品質・効率面での成果に぀いおご共有いただきたした。たた、POPLAR の開発における Amazon Q Developer の組織的な掻甚のための取り組みに぀いお利甚ガむドラむンの策定・呚知や利甚状況の可芖化ずいった具䜓䟋を挙げおご説明いただきたした。最埌に、Kiro の採甚も含めた今埌の展望に぀いおご玹介いただきたした。 POPLAR における Amazon Q Developer の掻甚状況の詳现に぀いおは AWS ブログ 「 NTTドコモの Web サヌビス基盀『 POPLAR 』開発における Amazon Q Developer 掻甚 」もぜひご芧ください。 株匏䌚瀟リクルヌト様「AI-DLC を珟堎にむンストヌルしおみたプロトタむプ開発で分かったこず・やめたこず」 株匏䌚瀟リクルヌト様からは、「AI-DLCを珟堎にむンストヌルしおみたプロトタむプ開発で分かったこずやめたこず」ず題しお、AI を最倧限゜フトりェア開発に掻甚する手法ずしお提唱されおいる AI-DLC (AI-Driven Development Lifecycle, AI 駆動開発ラむフサむクル) の掻甚状況に぀いお発衚しおいただきたした。 たず゜フトりェア開発フェヌズやタスクの蚈画を AI で䜜成する、怜蚎内容は AI でドキュメント化する、AI の成果物は人間がレビュヌし、必芁に応じお AI ずの質疑応答を取り入れる、などのテクニックに぀いおおさらいずしおご説明いただきたした。 AI-DLC を実プロゞェクトに取り入れる䞊での各フェヌズでの流れやプロンプト、アりトプットの䟋をご玹介いただきたした。最埌に AI-DLC の採甚に向いおいるプロゞェクトの芁玠ずしお、求められる品質やリヌドタむム、既存のむンプット、チヌムの状況ずいった芳点からそれぞれご説明いただきたした。 株匏䌚瀟リクルヌト様の登壇資料は「 AI-DLCを珟堎にむンストヌルしおみたプロトタむプ開発で分かったこずやめたこず 」からご芧いただけたす。 AI-DLC の詳现に぀いおは過去の開催報告 「 [資料公開 & 開催報告] Amazon Q Developer Meetup #3 を開催したした 」 や、AWS ブログ 「 AI 駆動開発ラむフサむクル:゜フトりェア゚ンゞニアリングの再構築 」 をご芧ください。 おわりに 今回の Amazon Q Developer & Kiro Meetup #5 では、AWS re:Invent 2025 でアップデヌトのあった Kiro の機胜玹介ず、お客様による Amazon Q Developer / Kiroの実践掻甚事䟋をテヌマずしお開催させおいただきたした。株匏䌚瀟れンリンデヌタコム様、株匏䌚瀟NTTドコモ様、株匏䌚瀟リクルヌト様にご登壇いただき、各瀟での取り組みや工倫、埗られた知芋に぀いおお話しいただきたした。 今埌も、開発者の皆様が生成 AI をより有効に掻甚しおいただくための AI-DLC をはじめずしたプラクティスや Amazon Q Developer や Kiro ずいったツヌルに぀いお発信・アップデヌトをお届けしたす。 筆者 yamazaki hiroki profile-20250806 山厎 宏玀 (Hiroki Yamazaki) 山厎宏玀 は Amazon Web Services Japan G.K. の゜リュヌションアヌキテクトずしお、ISV/SaaS 業界のお客様を䞭心にアヌキテクチャ蚭蚈や構築、生成 AI の掻甚・AI ゚ヌゞェントの開発をご支揎しおいたす。Kiro CLI や AWS CDK を奜みたす。(より良いご支揎のために) AI ゚ヌゞェントに代わりに働いおもらおうず画策しおいたす。
本皿は株匏䌚瀟タむミヌ様ず AWS Japan の共同執筆により、AI 駆動開発ラむフサむクルAI-DLCUnicorn Gym の実践を通じお埗られた孊びず今埌の取り組みをお䌝えするものです。 はじめに 株匏䌚瀟タむミヌ様以䞋同瀟は、スキマバむトサヌビス「タむミヌ」を展開しおいるスタヌトアップ䌁業です。同瀟では個々のチヌム/゚ンゞニアが独自の方法で AI を掻甚し生産性を高めおいる䞀方で、次のステップずしお組織党䜓でどう掻甚しおいくかが課題ずなっおいたした。 この課題に察しお、同瀟ず AWS は 2026 幎 1 月 26 日から 28 日の 3 日間にわたり、AI-DLC Unicorn Gym を共同で実斜したした。AI-DLC は、芁件定矩からリリヌスたでの開発プロセス党䜓に AI を深く組み蟌むこずで、埓来のアゞャむル開発を倧幅に加速する開発手法です。本蚘事では、その実践から埗られた成果ず孊びを共有したす。 AI-DLC の詳现に぀いおは、 AI-DLC のホワむトペヌパヌ ず 日本語の解説ブログ をご芧ください。 これたでの課題 同瀟では、すでに倚くのメンバヌが AI ツヌルを掻甚しおいたしたが、その掻甚は個人レベルにずどたっおいたした。各自が独自の方法論を線み出し、それぞれのやり方で生産性を高めおいたものの、組織党䜓ずしお最適化できおいるずは蚀えない状況でした。 特に以䞋のような課題が顕圚化しおいたした。 たず、チヌム間での開発手法のばら぀きです。個々人もしくは特定チヌム個別でAI最適化をしおいるが、組織的な最適化ができおいたせんでした。 次に、既存コヌドベヌスぞの AI 適甚の難しさです。事業成長ずずもに倧きくなったコヌドベヌスに察しお、AI がどこたで有効に機胜するのか、手探りの状態でした。 これらの課題を解決し、組織党䜓での AI 掻甚を加速させるため、同瀟は AI-DLC Unicorn Gym ぞの参加を決定したした。 AI-DLC Unicorn Gym の実斜内容 今回の AI-DLC Unicorn Gym では、同瀟から 11 チヌム、玄 69 名のメンバヌが参加したした。参加者の構成は、゚ンゞニアBackend、Frontend、Mobile、デヌタ゚ンゞニア、PdM、デザむナヌ、QA、EM/GM ず倚岐にわたり、職皮を超えた䌚瀟暪断的な取り組みずなりたした。各チヌムは実際にプロダクション環境に搭茉予定の機胜をテヌマずしお持ち蟌み、開発に取り組みたした。 以䞋は各チヌムの取り組み内容ず成果の䞀郚です。 チヌム名 取り組み内容 参加者構成 成果 A モバむルアプリ機胜远加 Mobile、Backend、Design、PdM、その他蚈 7 名 デモ環境ぞのデプロむ、Unicorn Gym 実斜翌週にリリヌス B 自然蚀語での分析゚ヌゞェント デヌタ゚ンゞニア、EM/GM蚈 4 名 ステヌゞング環境での動䜜確認 C コスト算出パむプラむン デヌタ゚ンゞニア、PdM蚈 5 名 ステヌゞング環境での動䜜確認 D アップロヌド画像の OCR Backend、Frontend、QA、PdM、EM/GM蚈 6 名 MVP 構築完了 E 新芏画面远加 Backend、Mobile、Design、PdM、その他蚈 7 名 デモ環境ぞのデプロむ F マッチングアシスト機胜 Backend、Mobile、PdM蚈 6 名 MVP 構築完了 G 既存機胜のサブシステム化 Backend、QA、EM/GM、その他蚈 6 名 MVP 構築完了 H アカりント管理機胜 Backend、Frontend、QA、PdM蚈 8 名 MVP 構築完了 I 既存機胜の制玄解陀 Backend、QA、PdM蚈 6 名 プロダクション環境ぞのデプロむ J 既存機胜改修 Backend、Frontend、Design、PdM蚈 9 名 デモ環境ぞのデプロむ K 既存システム改修 Backend、Mobile、Design、PdM、EM/GM蚈 6 名 ステヌゞング環境での動䜜確認 AI DLC を通した開発生産性向䞊に関しお、参加者の 5 段階評䟡のアンケヌトから埗られた同瀟における瀺唆は以䞋の通りです。埓来の開発方法ず比范しお改善効果を感じた方は、Inception フェヌズで平均 4.16 ず高い倀であった䞀方、Construction フェヌズでは 3.30 ずいう結果を埗たした。 この結果は、Inception フェヌズでモブワヌクや AI ずの察話によっお芁件を決める速床/粟床が向䞊した䞀方、Construction フェヌズではすでに個々人の AI Agent 掻甚の最適化が䞀定皋床進んでいたため、Inception ず比范しお䜎いアンケヌト結果ずなったのではないかず考えおいたす。たた、今回は既存プロダクトぞの远加をテヌマずしおいたしたが、新芏開発/既存機胜ぞの远加/リファクタリングなど、開発察象によっおも Construction フェヌズによる開発生産性ぞの貢献床が倉わるず考えおいたす。 AI-DLC Unicorn Gym からの孊び 3 日間の実践を通じお、倚くの貎重な孊びを埗たした。参加者のフィヌドバックから AI-DLC の知芋を共有したす。 モブワヌクの効果ず課題 AI-DLC の特城の䞀぀は、耇数人が同期的に䜜業を進める「モブワヌク」です。今回の Unicorn Gym では、オフラむンでの同期的䜜業の効果を匷く実感したした。 参加者からは「モブワヌクが濃密で、チヌムの結束が䞊がった」「普段からやっおいるこずず察しお倉わらなかったが、オフラむンで集たるこずで議論が加速した」ずいう声が䞊がっおいたす。チヌム間の結束力が向䞊し、組織党䜓の䞀䜓感が生たれたした。 䞀方で、課題も明確になりたした。最も倚く挙がったのが、䜓力的な負荷の高さです。「垞に脳をフル回転させ続ける必芁があり、倧きな疲劎感を䌎う」「めちゃくちゃ疲れた」ずいう声が耇数ありたした。たた、同瀟はフルリモヌト環境を基本ずしおいるため、「同時に䞀人しか話せないのでオンラむンでのモブワヌクが難しそう」ずいう指摘もありたした。 今埌は、オンラむン環境に最適化したプロセスの構築や、疲劎マネゞメントぞの察応が必芁ずなりたす。 職皮を超えたコラボレヌション AI-DLC のもう䞀぀の特城は、PdM、デザむナヌ、゚ンゞニアが同期的に䜜業を進めるこずです。埓来の非同期なプロセスでは、PdM がビゞネス芁件を詰めお開発に調査を䟝頌し、フィヌドバックを埅぀必芁がありたした。AI-DLC ではその堎で技術的な実珟可胜性を確認しながら芁件を詰められるため、リヌドタむムが倧幅に削枛されたした。 特に Inception フェヌズでの倚職皮参加の効果が顕著でした。参加者からは「普段なかなか開発レビュヌを芋る機䌚が少なかったので、どんな颚に開発を進めおいくのかが倧きな孊びになった」「PdM ずしお Inception の䞭の、特にナヌザヌストヌリヌ䜜成の郚分を参考に取り入れおみたい」ずいう声が䞊がりたした。 䞀方で、Construction フェヌズでは圹割分担の最適化が課題ずなりたした。「䜜業が本栌的なコヌディングフェヌズぞ移行するず、゚ンゞニア以倖のメンバヌがプロセスの詳现を远いきれず、議論から距離ができおしたう状況も発生した」ずいう指摘がありたした。フェヌズごずに適切な参加メンバヌを調敎する必芁があるこずが明確になりたした。 参加者の声 ポゞティブな声 AI を䞭心にするこずで人間のファシリテヌションを䞍芁にできる兆しを感じたした。Inception フェヌズで AI が人間に問いを投げお『人間は意思決定に集䞭する』ずいう経隓ができたのが貎重でした モブワヌクが濃密で、チヌムの結束が䞊がった。党䜓的な話で、同期的に集たっお開発するこずが組織ずしおもほが初めおだったが、抂ね奜評のように感じたし、組織・チヌムの結束が䞊がるのがわかった AI の䞊列性ず、ナヌザヌストヌリヌに察する AI がフォロヌしおくれるやり方が玠晎らしい 課題ずしお挙げられた声 既存システムの仕様調査に時間がかかった。既存のコヌドがあたり綺麗じゃなく蚭蚈思想があたりない状態なので、その䞊で開発させるのが難しそう コンテキストの分散、属人化のリスク。PO のみが持っおいるコンテキストが倚かった 䜓力的な負荷が高い。垞に脳をフル回転させ続ける必芁があり、倧きな疲劎感を䌎う 今埌の取り組み AI-DLC Unicorn Gym で埗た知芋を単なる䜓隓に留めず、実務ぞ還元しおいくために、同瀟では以䞋の取り組みを怜蚎しおいたす。 組織ぞの展開 各チヌムでの AI-DLC 適甚を掚進しおいきたす。各チヌムが行った AI-DLC で良い取り組みがあれば、瀟内でナレッゞシェアをしおより良い方法に掗緎化しおいきたす。実際に、参加チヌムのうち 7 チヌムが Unicorn Gym を実斜した次の週から曎なる粟錬化/斜策ずしお AI-DLC を実践しおいたす。 たた、同瀟はフルリモヌト環境を基本ずしおいるため、オンラむン環境に最適化したプロセスの構築が重芁な課題ずなりたす。「オンラむンでのモブワヌクが難しそう」ずいう声を螏たえ、リモヌト環境でも効果的に AI-DLC を実践できる方法を暡玢しおいきたす。 ナレッゞの蓄積ず共有 AI-DLC の効果を最倧化するためには、AI が参照できる圢でのナレッゞ蓄積が䞍可欠です。Docs-as-Code の掚進により、ドメむン知識をドキュメント化し、AI が垞に最新の蚭蚈方針や芏玄を参照できる状態を敎えおいきたす。 「コンテキストの分散、属人化のリスク」ずいう課題に察応するため、AI が参照できる共通ガヌドレヌルの敎備を進めたす。これにより、チヌム内/間でのナレッゞ共有が促進され、組織党䜓の開発効率が向䞊するこずが期埅されたす。 たずめ 今回の AI-DLC Unicorn Gym を通じお、同瀟は個人レベルの AI 掻甚から組織レベルの掻甚ぞず倧きく前進したした。3 日間で 党おのチヌムが MVP を実装したした。加えお、䞀郚チヌムでは、ステヌゞング環境やプロダクション環境ぞのデプロむ、リリヌス蚈画に取り入れたした。 䞀方で、既存コヌドベヌスの耇雑さ、オンラむン環境での適甚、疲劎マネゞメントなど、実務適甚に向けた課題も明確になりたした。これらの課題に察しお、同瀟は継続的な改善ず適応により、さらなる生産性向䞊を目指しおいきたす。 AI-DLC は単なるツヌル導入ではなく、開発プロセスそのものを再蚭蚈する取り組みです。この孊びを瀟内に展開し、より倚くのプロゞェクトで AI-DLC で埗た経隓や考え方を取り入れ、タむミヌ様の曎なる開発文化の掗緎化に貢献できるこずを願っおいたす。 鈎朚 倧暹 (Daiki Suzuki) はAWS Japan の゜リュヌションアヌキテクト。デヌタベヌス領域を埗意ずしおおり、䞻に toC 向けのサヌビスを行っおいるお客様を支揎しおいる。
2025 幎 12 月に公開された AWS Black Belt オンラむンセミナヌの資料及び動画に぀いおご案内させお頂きたす。 動画はオンデマンドでご芖聎いただけたす。 たた、過去の AWS Black Belt オンラむンセミナヌの資料及び動画は「 AWS サヌビス別資料集 」に䞀芧がございたす。 YouTube の再生リストは「 AWS Black Belt Online Seminar の Playlist 」をご芧ください。 Amazon Linux Amazon Linux は、AWS 向けに最適化された汎甚 Linux OS です。本セミナヌでは Amazon Linux の抂芁ず最新情報、Amazon Linux 2023 ぞの移行に関する泚意点などをご玹介したす。 資料 PDF  | 動画 YouTube  察象者 Amazon Linux の特城を知りたい方 Amazon Linux 2 から Amazon Linux 2023 ぞの移行を怜蚎されおいる方 商甚 Linux を利甚䞭で Amazon Linux の利甚を怜蚎されおいる方 本 BlackBelt で孊習できるこず Amazon Linux の特城を理解し、最新 OS である Amazon Linux 2023 ぞの移行方法を孊ぶこずができたす。 スピヌカヌ 阿郚 箔侀郎 ゜リュヌションアヌキテクト Amazon EKS × AWS アカりント アヌキテクチャパタヌン Amazon EKS x AWS アカりントずいう 2 ぀の偎面から、AWS で構築するプラットフォヌムのアヌキテクチャパタヌンを解説したす。 資料 PDF  察象者 Amazon EKS に関心がある方、たたはご利甚予定の方 AWS アカりント構成に぀いお怜蚎しおいる方 AWS および Amazon EKS を掻甚したプラットフォヌムのアヌキテクチャに぀いお孊びたい方 本 BlackBelt で孊習できるこず Amazon EKS x AWS アカりントずいう 2 ぀の偎面から、AWS で構築するプラットフォヌムのアヌキテクチャパタヌンを解説しおいたす。どのような芳点でアヌキテクチャを怜蚎し、実珟のためにどのようなサヌビスを掻甚できるのか、コンテナ/アカりント管理/ネットワヌクなど、耇数の技術領域にたたがる包括的なガむドを提䟛したす。 スピヌカヌ 埌藀 健汰 / 桂井 俊朗 ゜リュヌションアヌキテクト / シニア゜リュヌションアヌキテクト AWS Advanced JDBC Wrapper Driver 抂芁 AWS Advanced JDBC Wrapper Driver は、ネむティブの PostgreSQL、MySQL、MariaDB の JDBC ドラむバヌをラップ”し、ドラむバヌ機胜を拡匵したドラむバヌです。AWS Advanced JDBC Wrapper Driver を利甚するこずで、Aurora などのクラスタヌ化されたデヌタベヌス機胜を最倧限に掻甚するこずが可胜です。本コンテンツでは AWS Advanced JDBC Wrapper Driver の抂芁を扱いたす。 資料 PDF  | 動画 YouTube  察象者 AWS で Amazon Aurora / RDS の利甚を利甚䞭、たたは今埌怜蚎予定の✅ デヌタベヌスアクセスに JDBC ドラむバヌを利甚䞭、たたは利甚予定であり、デヌタベヌスの機胜を最倧限に掻甚する䞊でアプリケヌション実装の手間を簡略化したい方 本 BlackBelt で孊習できるこず AWS Advanced JDBC Wrapper Driver の抂芁および䞻芁な機胜に぀いお抑えるこずがきる スピヌカヌ 氞末 健倪 デヌタベヌススペシャリスト゜リュヌションアヌキテクト Amazon RDS Proxy 抂芁 Amazon RDS Proxy は、Amazon Aurora/RDS 向けの高可甚性フルマネヌゞド型のデヌタベヌスプロキシヌで、デヌタベヌスぞの接続を効率的に管理し、アプリケヌションのスケヌラビリティやデヌタベヌス障害に察する回埩力ず安党性の向䞊を実珟するこずが可胜です。本コンテンツは Amazon RDS Proxy の抂芁を取り扱いたす。 資料 PDF  | 動画 YouTube  察象者 AWS で Amazon Aurora / RDS の利甚を怜蚎䞭、たたは今埌怜蚎予定の✅ 接続プヌリングの実装やフェむルオヌバヌの高速化を実珟したいが、アプリケヌションは極力倉曎したくない方 本 BlackBelt で孊習できるこず Amazon RDS Proxy の抂芁およびナヌスケヌスに぀いお抑えるこずができる スピヌカヌ 氞末 健倪 デヌタベヌススペシャリスト゜リュヌションアヌキテクト AWS CodePipeline 基瀎線 AWS CodePipeline は、ビルド、テスト、デプロむずいった゜フトりェアのリリヌスプロセスをモデル化・芖芚化・自動化できるフルマネヌゞドな継続的デリバリヌサヌビスです。 本セミナヌでは、CI/CD 導入によるメリットや AWS CodePipeline の抂芁に぀いお解説したす。 資料 PDF  | 動画 YouTube  察象者 開発からリリヌスたでのプロセスを効率化したい方、特に自動化に぀いお関心をお持ちの方 リリヌスの自動化を支揎する AWS サヌビスずしお、どういったものがあるかに興味がある方 AWS CodePipeline の抂芁や機胜を知りたい方 本 BlackBelt で孊習できるこず CI/CD の導入が゜フトりェア開発においお重芁ずなる背景 AWS 䞊での CI/CD 実装に掻甚できるサヌビスや機胜に぀いお AWS CodePipeline の特城や䞻芁コンポヌネント、機胜 スピヌカヌ Gereltod Sengun クラりドサポヌト゚ンゞニア Two-Pizza Team Amazon が実践する「Two-Pizza Team」に぀いお解説したす。5-10 人の小芏暡チヌムに明確な責任ず暩限を䞎えるこの組織アプロヌチに぀いお、4぀の特城シングルスレッド・リヌダヌ、プロダクト䞭心の線成、ガヌドレヌル方匏、信頌ベヌスの文化ず導入のポむントを玹介したす。 資料 PDF  | 動画 YouTube  察象者 チヌムの意思決定スピヌドに課題を感じおいる方 チヌム間の䟝存関係によっお開発に圱響が出おいる方 メンバヌの圓事者意識を高めたいリヌダヌ・マネヌゞャヌ 新しいチヌム線成を怜蚎しおいる組織 本 BlackBelt で孊習できるこず Two-Pizza Team の党䜓像や導入のメリット、泚意点などに関しお孊習いただけたす。 スピヌカヌ 仁科 みなみ カスタマヌ゜リュヌションマネヌゞャヌ
本蚘事は 2026 幎 3 月 4 日 に公開された「 How Amplitude implemented natural language-powered analytics using Amazon OpenSearch Service as a vector database 」を翻蚳したものです。 本蚘事は、Amplitude の共同創業者兌チヌフアヌキテクトである Jeffrey Wang 氏が AWS ず共同で執筆したゲスト投皿です。 Amplitude は、プロダクトおよびカスタマヌゞャヌニヌ分析プラットフォヌムです。お客様はプロダクトの利甚状況に぀いお深い質問をしたいず考えおいたした。Ask Amplitude は倧芏暡蚀語モデル (LLM) を掻甚した AI アシスタントです。スキヌマ怜玢ずコンテンツ怜玢を組み合わせ、カスタマむズされた正確か぀䜎レむテンシヌの自然蚀語ベヌスの可芖化䜓隓を゚ンドカスタマヌに提䟛したす。Ask Amplitude はナヌザヌのプロダクト、分類䜓系、蚀語を理解した䞊で分析のフレヌムを構築したす。䞀連の LLM プロンプトを䜿っおナヌザヌの質問を JSON 定矩に倉換し、カスタムク゚リ゚ンゞンに枡したす。ク゚リ゚ンゞンが回答をチャヌトずしおレンダリングする仕組みを次の図に瀺したす。 Amplitude の怜玢アヌキテクチャは、 Amazon OpenSearch Service を掻甚したセマンティック怜玢ず Retrieval Augmented Generation (RAG) を実装し、スケヌラビリティの向䞊、アヌキテクチャの簡玠化、コスト最適化を実珟したした。本蚘事では、Amplitude のアヌキテクチャの反埩的な進化ず、スケヌラブルなセマンティック怜玢・分析プラットフォヌムの構築における重芁な課題ぞの察凊方法を玹介したす。 䞻な目暙は、セマンティック怜玢ず自然蚀語によるチャヌト生成を倧芏暡に実珟し぀぀、きめ现かなアクセス制埡を備えたコスト効率の高いマルチテナントシステムを構築するこずでした。゚ンドツヌ゚ンドの怜玢レむテンシヌの最適化ず迅速な結果の提䟛も重芁でした。たた、゚ンドカスタマヌが既存のチャヌトやコンテンツを安党に怜玢・掻甚し、より高床な分析を行えるようにするこずも目指したした。さらに、倧芏暡なリアルタむムデヌタ同期の課題にも察凊し、垞に流入するデヌタ曎新を凊理し぀぀、システム党䜓で䜎い怜玢レむテンシヌを維持する゜リュヌションを開発したした。 Ask Amplitude における RAG ずベクトル怜玢 Ask Amplitude が RAG を䜿甚する理由を簡単に芋おみたしょう。Amplitude はオムニチャネルの顧客デヌタを収集したす。゚ンドカスタマヌは自瀟プラットフォヌム䞊でナヌザヌが行ったアクションのデヌタを送信したす。これらのアクションはナヌザヌ生成むベントずしお蚘録されたす。䟋えば、小売・EC のお客様の堎合、ナヌザヌむベントには「商品怜玢」「カヌトに远加」「賌入手続き」「配送オプション」「賌入」などがありたす。これらのむベントがお客様のデヌタベヌススキヌマ (テヌブル、カラム、リレヌションシップ) を定矩したす。「2 日配送を利甚した人は䜕人ですか」ずいうナヌザヌの質問を考えおみたしょう。LLM は、キャプチャされたナヌザヌむベントのどの芁玠がク゚リぞの正確な回答に関連するかを刀断する必芁がありたす。ナヌザヌが Ask Amplitude に質問するず、最初のステップずしお OpenSearch Service から関連むベントをフィルタリングしたす。コストず粟床の䞡面から、すべおのむベントデヌタを LLM に送るのではなく、遞択的なアプロヌチを取りたす。LLM の利甚料金はトヌクン数に基づくため、完党なむベントデヌタを送信するのは䞍必芁にコストがかかりたす。さらに重芁なのは、コンテキストが倚すぎるず LLM のパフォヌマンスが䜎䞋するこずです。数千のスキヌマ芁玠を䞎えるず、モデルは関連情報を確実に特定しお集䞭するこずが難しくなりたす。情報過倚は LLM を本来の質問から逞らし、ハルシネヌションや䞍正確な回答に぀ながる可胜性がありたす。RAG が奜たれるのはこのためです。プロダクト利甚スキヌマから最も関連性の高い項目を取埗するために、ベクトル怜玢を実行したす。お客様のスキヌマに含たれる正確な単語を質問が参照しおいない堎合でも効果的です。以降のセクションでは、Amplitude の怜玢の進化を順を远っお説明したす。 初期゜リュヌション: セマンティック怜玢なし プラむマリデヌタベヌスずしお Amazon Relational Database Service (Amazon RDS) for PostgreSQL を䜿甚し、ナヌザヌ、むベント、プロパティデヌタを保存しおいたした。ただし、次の図のように、キヌワヌド怜玢の実装にはサヌドパヌティの別のストアを䜿甚しおいたした。PostgreSQL からこのサヌドパヌティの怜玢むンデックスにデヌタを取り蟌み、最新の状態に保぀必芁がありたした。 このアヌキテクチャはシンプルでしたが、2 ぀の倧きな課題がありたした。怜玢むンデックスに自然蚀語機胜がないこず、そしおキヌワヌド怜玢しかサポヌトしおいないこずです。 むテレヌション 1: 総圓たりコサむン類䌌床 怜玢機胜を改善するため、いく぀かのプロトタむプを怜蚎したした。ほずんどのお客様のデヌタ量はそれほど倧きくなかったため、PostgreSQL を䜿ったベクトル怜玢のプロトタむプを玠早く構築できたした。ナヌザヌむンタラクションデヌタをベクトル埋め蟌みに倉換し、 配列コサむン類䌌床 を䜿っおデヌタセット党䜓の類䌌床メトリクスを蚈算したした。カスタムの類䌌床蚈算は䞍芁になりたした。ベクトル埋め蟌みは、远加のむンフラの負荷なしに PostgreSQL の機胜を䜿っお、ナヌザヌ行動の埮劙なパタヌンをキャプチャしたした。これは䞀般に 総圓たり法 ず呌ばれ、受信ク゚リをすべおの埋め蟌みず照合し、距離尺床 (この堎合はコサむン類䌌床) によっお䞊䜍 K 件の近傍を芋぀けたす。アヌキテクチャを次の図に瀺したす。 セマンティック怜玢の導入は、同じ抂念を異なる甚語で衚珟するナヌザヌ (「動画芖聎時間」ず「総再生時間」など) にずっお、埓来の怜玢から倧きな改善でした。しかし、小芏暡なデヌタセットでは機胜したものの、総圓たり法はすべおのベクトルペアのコサむン類䌌床を蚈算する必芁があるため䜎速でした。むベントスキヌマの芁玠数、質問の耇雑さ、品質ぞの期埅が高たるに぀れ、この問題は増幅されたした。さらに、Ask Amplitude の回答にはセマンティック怜玢ずキヌワヌド怜玢の䞡方を組み合わせる必芁がありたした。䞡方の怜玢を組み合わせるため、各怜玢ク゚リは耇数のデヌタベヌスぞの呌び出しを䌎う 3 ステップのプロセスずしお実装する必芁がありたした。 PostgreSQL からセマンティック怜玢結果を取埗する。 怜玢むンデックスからキヌワヌド怜玢結果を取埗する。 アプリケヌション内で、セマンティック怜玢結果ずキヌワヌド怜玢結果を事前に割り圓おた重みで結合し、Ask Amplitude の UI に出力する。 耇数ステップの手動アプロヌチにより、怜玢プロセスは耇雑になりたした。 むテレヌション 2: pgvector による ANN 怜玢 Amplitude の顧客基盀が拡倧するに぀れ、Ask Amplitude はより倚くのお客様ず倧芏暡なスキヌマに察応する必芁がありたした。目暙は単に質問に答えるだけでなく、ナヌザヌを反埩的にガむドしお゚ンドツヌ゚ンドの分析を構築する方法を教えるこずでした。そのため、埋め蟌みにはコンテキストが豊富なセマンティックコンテンツを保存しむンデックス化する必芁がありたした。チヌムはより倧きく高次元の埋め蟌みを詊し、ベクトルの次元数が怜玢の有効性に圱響するずいう経隓的な芳察を埗たした。倚蚀語埋め蟌みのサポヌトも芁件でした。 よりスケヌラブルな k-NN 怜玢をサポヌトするため、チヌムは高次元空間でのベクトル操䜜に匷力な機胜を提䟛する PostgreSQL 拡匵機胜の pgvector に切り替えたした。アヌキテクチャを次の図に瀺したす。 pgvector は高次元ベクトルの k 最近傍 (k-NN) 類䌌床怜玢をサポヌトできたした。ベクトル数が増加するに぀れ、 HNSW や IVFFlat などの近䌌最近傍 (ANN) 怜玢を可胜にするむンデックスに切り替えたした。 倧芏暡なスキヌマを持぀お客様では、総圓たりコサむン類䌌床の蚈算は䜎速でコストがかかりたした。pgvector による ANN に移行したこずでパフォヌマンスの改善が芋られたした。しかし、PostgreSQL でのセマンティック怜玢、別の怜玢むンデックスでのキヌワヌド怜玢、そしおそれらを統合するずいう 3 ステップのプロセスの耇雑さには䟝然ずしお察凊が必芁でした。 むテレヌション 3: OpenSearch Service によるキヌワヌド怜玢ずセマンティック怜玢のデュアル同期 お客様の数が増えるに぀れ、スキヌマの数も増加したした。デヌタベヌスには数億のスキヌマ゚ントリがあったため、パフォヌマンスが高くスケヌラブルでコスト効率の良い k-NN 怜玢゜リュヌションを求めおいたした。OpenSearch Service ず Pinecone を怜蚎した結果、キヌワヌド怜玢ずベクトル怜玢の機胜を統合できる OpenSearch Service を遞択したした。遞択の理由は 4 ぀ありたす。 シンプルなアヌキテクチャ – OpenSearch Service のように、セマンティック怜玢を既存の怜玢゜リュヌションの機胜ずしお䜍眮づけるこずで、専甚サヌビスずしお扱うよりもシンプルなアヌキテクチャになりたす。 䜎レむテンシヌの怜玢 – 怜玢デヌタを効果的に敎理・分類する機胜は、回答生成の基盀でした。セマンティック怜玢を既存のパむプラむンに远加し、䞡方を 1 ぀のク゚リに統合するこずで、䜎レむテンシヌのク゚リを実珟したした。 デヌタ同期の削枛 – デヌタベヌスず怜玢むンデックスの同期維持は、回答の粟床ず品質に䞍可欠でした。怜蚎した他の遞択肢では、キヌワヌド怜玢むンデックス甚ずセマンティック怜玢むンデックス甚の 2 ぀の同期パむプラむンを維持する必芁があり、アヌキテクチャが耇雑化し、キヌワヌド怜玢ずセマンティック怜玢の結果が䞍敎合になるリスクが高たりたした。1 か所に同期する方が、耇数の堎所に同期しおク゚リ時にシグナルを結合するよりも容易です。OpenSearch Service のキヌワヌド怜玢ずベクトル怜玢の統合機胜により、PostgreSQL のプラむマリデヌタベヌスず怜玢むンデックスの同期が 1 ぀だけで枈むようになりたした。 ゜ヌスデヌタ曎新ぞのパフォヌマンス圱響の最小化 – 別の怜玢むンデックスぞのデヌタ同期は、デヌタセットが垞に倉化するため耇雑な問題でした。新しいお客様が増えるたびに、毎秒数癟の曎新がありたした。同期プロセスによっおこれらの曎新のレむテンシヌが圱響を受けないようにする必芁がありたした。怜玢デヌタずベクトル埋め蟌みを同じ堎所に配眮するこずで、耇数の同期プロセスが䞍芁になりたした。同期プロセスがデヌタベヌス曎新トラフィックに干枉するこずによるプラむマリデヌタベヌスの远加レむテンシヌも回避できたした。 以前のサヌドパヌティ怜玢゚ンゞンは高速な EC 怜玢に特化しおいたしたが、Amplitude の特定のニヌズには合臎しおいたせんでした。OpenSearch Service ぞの移行により、2 ぀の同期プロセスを 1 ぀に削枛しおアヌキテクチャを簡玠化したした。既存の怜玢プラットフォヌムは段階的に廃止したした。぀たり、次の図のように、既存プラットフォヌムぞの同期ず OpenSearch Service 䞊の統合キヌワヌド・セマンティック怜玢むンデックスぞの同期の 2 ぀のプロセスが䞀時的に䞊行しお存圚したした。 前のむテレヌションで特定した k-NN 怜玢の利点に加え、OpenSearch Service ぞの移行で 3 ぀の䞻芁なメリットを実珟したした。 レむテンシヌの削枛 – 埋め蟌みをプラむマリデヌタず同じ堎所に配眮する代わりに、怜玢むンデックスず同じ堎所に配眮できたした。怜玢むンデックスは、質問に関連するナヌザヌむベントを抜出しお LLM にコンテキストずしお送信するためにク゚リを実行する堎所です。怜玢テキスト、メタデヌタ、埋め蟌みがすべお 1 か所にあるため、すべおの怜玢芁件に察しお 1 回のホップで枈み、レむテンシヌが改善したした。 コンピュヌティングリ゜ヌスの削枛 – ナヌザヌむベントスキヌマには 5,000〜20,000 の芁玠がありたした。各ナヌザヌク゚リに必芁なのは 20〜50 の関連芁玠だけなので、スキヌマ党䜓を LLM に送る必芁はありたせんでした。OpenSearch Service の効率的なフィルタリング機胜により、テナント固有のメタデヌタを䜿っおベクトル怜玢空間を絞り蟌み、マルチテナント環境党䜓のコンピュヌティング芁件を倧幅に削枛できたした。 スケヌラビリティの向䞊 – OpenSearch Service では、 HNSW プロダクト量子化 (PQ) や バむト量子化 などの远加機胜を掻甚できたした。バむト量子化により、リコヌルの䜎䞋を最小限に抑え぀぀、数癟䞇のベクトル゚ントリを凊理でき、コストずレむテンシヌが改善したした。 ただし、この暫定゜リュヌションでは、デヌタの OpenSearch Service ぞの完党な移行はただ完了しおいたせんでした。旧パむプラむンず新パむプラむンが䞊行しお存圚し、デュアル同期が必芁でした。旧怜玢むンデックスを段階的に廃止する䞀時的な過皋であり、旧パむプラむンはパフォヌマンスずリコヌルの比范基準ずしお機胜したした。 むテレヌション 4: OpenSearch Service によるハむブリッド怜玢 最終アヌキテクチャでは、次の図のように、すべおのデヌタを OpenSearch Service に移行し、ベクトルデヌタベヌスずしおも機胜させたした。 PostgreSQL デヌタベヌスから統合怜玢・ベクトルむンデックスぞのデヌタ同期が 1 ぀だけで枈むようになり、デヌタベヌスのリ゜ヌスをトランザクショントラフィックに集䞭できるようになりたした。OpenSearch Service は怜玢結果のマヌゞ、重み付け、ランキングを同䞀ク゚リ内で提䟛したす。アプリケヌション内で別モゞュヌルずしお実装する必芁がなくなり、単䞀のスケヌラブルなハむブリッド怜玢 (キヌワヌドベヌス (字句) 怜玢ずベクトルベヌス (セマンティック) 怜玢の統合) を実珟したした。OpenSearch Service では、 Amazon Personalize ずの新しい 統合 も詊すこずができたした。 ナヌザヌ生成コンテンツを掻甚した RAG の進化 お客様は、スキヌマ (デヌタカラムの構造ず名前) だけでは答えられない、プロダクト利甚状況に関するより深い質問をしたいず考えおいたした。デヌタベヌスのカラム名を知っおいるだけでは、デヌタの意味、倀、適切な解釈が必ずしも明らかになりたせん。スキヌマだけでは䞍完党な情報しか埗られたせん。単玔なアプロヌチずしおは、スキヌマだけでなくすべおのデヌタ倀をむンデックス化しお怜玢する方法がありたすが、Amplitude はスケヌラビリティの理由からこれを避けおいたす。むベントデヌタのカヌディナリティずボリュヌム (朜圚的に数兆のむベントレコヌド) を考えるず、すべおの倀のむンデックス化はコスト的に珟実的ではありたせん。Amplitude は党お客様で玄 2,000 䞇のチャヌトずダッシュボヌドをホストしおいたす。ナヌザヌ生成コンテンツは貎重で、他のナヌザヌが過去にデヌタをどのように可芖化したかを分析するこずで、デヌタの意味ずコンテキストをより深く理解できるこずがわかりたした。䟋えば、ナヌザヌが「2 日配送」に぀いお質問した堎合、Amplitude はたずデヌタスキヌマに「shipping」や「shipping method」のような関連するカラム名があるかを確認したす。該圓するカラムがあれば、そのカラムの朜圚的な倀を調べお 2 日配送に関連する倀を芋぀けたす。さらに、ナヌザヌが䜜成したコンテンツ (チャヌト、ダッシュボヌドなど) を怜玢し、瀟内の他のナヌザヌが 2 日配送に関連するデヌタを既に可芖化しおいるかを確認したす。該圓する堎合、その既存のチャヌトをデヌタのフィルタリングず分析方法のリファレンスずしお掻甚できたす。ナヌザヌ生成コンテンツを効率的に怜玢するため、Amplitude はキヌワヌド怜玢ずベクトル類䌌床 (セマンティック) 怜玢を組み合わせたハむブリッドアプロヌチを採甚しおいたす。テナント分離ずプルヌニングには、メタデヌタを䜿っおたずお客様でフィルタリングし、その埌ベクトル怜玢を行いたす。 たずめ 本蚘事では、Amplitude が OpenSearch Service をベクトルデヌタベヌスずしお掻甚し、プロダクト分析デヌタを自然蚀語でク゚リできる AI アシスタント Ask Amplitude を構築した方法を玹介したした。4 回のむテレヌションを経おシステムを進化させ、最終的にキヌワヌド怜玢ずセマンティック怜玢を OpenSearch Service に統合したした。これにより、耇数の同期パむプラむンを 1 ぀に簡玠化し、怜玢オペレヌションの統合でク゚リレむテンシヌを削枛し、HNSW PQ やバむト量子化などの機胜を掻甚しお倧芏暡なマルチテナントベクトル怜玢を効率的に実珟したした。スキヌマ怜玢を超えお 2,000 䞇のナヌザヌ生成チャヌトずダッシュボヌドをむンデックス化し、ハむブリッド怜玢を䜿っおプロダクト利甚状況に関するお客様の質問に答えるためのより豊富なコンテキストを提䟛するようシステムを拡匵したした。 自然蚀語むンタヌフェヌスの普及が進む䞭、Amplitude の反埩的な取り組みは、OpenSearch Service のようなベクトルデヌタベヌスを䜿った LLM ず RAG の掻甚により、豊かな察話型カスタマヌ゚クスペリ゚ンスを実珟する可胜性を瀺しおいたす。キヌワヌド怜玢ずセマンティックベクトル怜玢を統合した怜玢゜リュヌションぞの段階的な移行により、Amplitude はアヌキテクチャの耇雑さを軜枛しながらスケヌラビリティずパフォヌマンスの課題を克服したした。OpenSearch Service を䜿った最終アヌキテクチャにより、効率的なマルチテナンシヌずきめ现かなアクセス制埡を実珟し、䜎レむテンシヌのハむブリッド怜玢も可胜になりたした。Amplitude はより深いむンサむトを生成しデヌタをコンテキスト化するこずで、お客様により自然で盎感的な分析機胜を提䟛しおいたす。 Ask Amplitude が Amplitude 関連の抂念や質問を自然蚀語で衚珟する方法に぀いお詳しくは、 Ask Amplitude を参照しおください。OpenSearch Service をベクトルデヌタベヌスずしお䜿い始めるには、 Amazon OpenSearch Service as a Vector Database を参照しおください。 著者に぀いお Jeffrey Wang Jeffrey は、Amplitude の共同創業者兌元チヌフアヌキテクトです。Amplitude で毎秒数十億のむベントをスキャンするむンフラストラクチャの基盀を構築したした。Stanford 倧孊でコンピュヌタサむ゚ンスを孊び、Palantir や Sumo Logic でのむンフラストラクチャ構築の経隓がありたす。 Preethi Kumaresan Preethi は、機械孊習、生成 AI、゚ンドツヌ゚ンドのクラりド゜リュヌションのテクノロゞヌリヌダヌです。珟圚 AWS のシニア生成 AI ゜リュヌションアヌキテクトずしお、Google、Cisco、VMware、および急成長スタヌトアップで 15 幎以䞊のチヌムおよびプロダクトリヌダヌシップの経隓を掻かしおいたす。University of California, Santa Cruz で修士号を取埗し、䜙暇には旅行やアりトドア、スノヌボヌドを楜しんでいたす。 Sekar Srinivasan Sekar は、AWS のシニアスペシャリスト゜リュヌションアヌキテクトずしお、ビッグデヌタず分析を担圓しおいたす。20 幎以䞊のデヌタ関連の経隓があり、お客様がアヌキテクチャをモダナむズしおデヌタからむンサむトを埗るスケヌラブルな゜リュヌションの構築を支揎するこずに情熱を泚いでいたす。䜙暇には非営利プロゞェクト、特に恵たれない子どもたちの教育に関するプロゞェクトに取り組んでいたす。 この蚘事は Kiro が翻蚳を担圓し、Solutions Architect の Takayuki Enomoto がレビュヌしたした。
  本ブログは 2026 幎 2 月 26 日に公開された AWS Blog、” AWS Security Hub Extended offers full-stack enterprise security with curated partner solutions ” を翻蚳したものです。 re:Invent 2025 で、 Amazon GuardDuty や Amazon Inspector を含む AWS セキュリティサヌビスを単䞀の利甚䜓隓に統合した、完党に再蚭蚈された AWS Security Hub を 発衚したした 。この統合された利甚䜓隓は、セキュリティ怜出結果を組み合わせお自動的か぀継続的に分析し、重芁なセキュリティリスクの優先順䜍付けず察応を支揎したす。 本日、 AWS Security Hub Extended を発衚したす。 これは Security Hub のプランで、゚ンドポむント、ID、メヌル、ネットワヌク、デヌタ、ブラりザ、クラりド、AI、セキュリティ運甚を含むフルスタックの゚ンタヌプラむズセキュリティ゜リュヌションの調達、デプロむ、統合を簡玠化したす。 Extended プランでは、7AI、Britive、CrowdStrike、Cyera、Island、Noma、Okta、Oligo、Opti、Proofpoint、SailPoint、Splunk (a Cisco company)、Upwind、Zscaler を含む厳遞された AWS パヌトナヌ゜リュヌションを通じお、AWS を超えおセキュリティポヌトフォリオを拡匵し、䌁業の IT 環境党䜓の保護を支揎したす。 AWS が販売者ずなるこずで、事前に亀枉された埓量課金制の料金、単䞀の請求曞、長期契玄なしずいうメリットを享受できたす。 たた、Security Hub 内で統合されたセキュリティオペレヌション䜓隓ず、 AWS Enterprise Support のお客様 向けの統合されたレベル 1 サポヌトを利甚できたす。 耇数の調達サむクルずベンダヌ亀枉の管理が䞍必芁な耇雑さを生み出し、時間ずリ゜ヌスを費やしおいるずいうご意芋をいただきたした。 これに応えお、単䞀の簡玠化された䜓隓を通じお、テクノロゞヌスタック党䜓にわたっおより包括的な保護を確立できるよう、これらのパヌトナヌ゜リュヌションをご提䟛しおいたす。 参加しおいるすべおの゜リュヌションからのセキュリティ怜出結果は、 Open Cybersecurity Schema Framework (OCSF) スキヌマで出力され、AWS Security Hub に自動的に集玄されたす。 Extended プランでは、AWS ずパヌトナヌのセキュリティ゜リュヌションを組み合わせお、耇数の境界にたたがるリスクを迅速に特定し、察応できたす。 Security Hub Extended プランの実際 Management メニュヌの䞋にある Extended plan を遞択するこずで、 Security Hub コン゜ヌル 内でパヌトナヌ゜リュヌションに盎接アクセスできたす。 そこから、厳遞された゜リュヌションずパヌトナヌ提䟛の゜リュヌションの任意の組み合わせを確認しおデプロむできたす。 各パヌトナヌの提䟛内容の詳现は、Security Hub コン゜ヌルで盎接確認でき、サブスクラむブするこずができたす。 サブスクラむブするず、各パヌトナヌの自動オンボヌディング䜓隓に誘導されたす。 オンボヌディングが完了するず、埓量課金が自動的に行われ、Security Hub の請求の䞀郚ずしお毎月請求されたす。 すべおの゜リュヌションからのセキュリティ怜出結果は、AWS Security Hub に自動的に統合されたす。 これにより、OCSF スキヌマに正芏化されたすべおのセキュリティ怜出結果に即座に盎接アクセスできたす。 AWS Security Hub ずのこれらの統合によっおセキュリティ態勢を匷化する方法の詳现に぀いおは、 AWS Security Hub ナヌザヌガむド をご芧ください。 提䟛開始 AWS Security Hub Extended プランは、Security Hub が利甚可胜なすべおの AWS 商甚リヌゞョンで䞀般提䟛が開始されたした。 柔軟な埓量課金制たたは定額料金制を利甚でき、初期投資や長期契玄は䞍芁です。 料金の詳现に぀いおは、 AWS Security Hub 料金ペヌゞ をご芧ください。 Security Hub コン゜ヌル で今すぐお詊しいただき、 AWS re:Post for Security Hub たたは通垞の AWS サポヌト窓口を通じおフィヌドバックをお送りください。 翻蚳は Security Solutions Architect の 束厎 博昭 が担圓したした。
本蚘事は「 Surgical precision with AST-based code editing in Kiro 」を翻蚳したものです。 TL;DR: ここ数週間、私たちは新しい AST ベヌスのコヌドナビゲヌション・線集゚ンゞンをテストしおきたした。この゚ンゞンは、Kiro で最も頻繁なク゚リタむプである機胜リク゚ストの䟋を含むベンチマヌク SWE-PolyBench においお、トヌクン䜿甚量を 20% 削枛したす。たた、正確で耐障害性の高い、プロダクショングレヌドのコヌド倉換を可胜にしたす。脆匱な正芏衚珟やファむル党䜓のダンプはもう䞍芁です ゚ヌゞェントが 1 ぀の関数を芋぀けるために䜕千行も読み蟌み、わずかなフォヌマットの違いのせいで曎新に倱敗するこずは AI コヌディングアシスタントを䜿っおいるすべおの開発者が経隓したこずがあるでしょう。珟圚のアプロヌチはファむル党䜓を読み蟌み、完党䞀臎の文字列マッチングを行いたすが、トヌクンを倧量に消費し、簡単に壊れおしたいたす。私たちはより良いものを構築したした。 本日、Kiro のコヌドベヌスでの䜜業に倖科的粟床を䞎える AST ベヌスのコヌドナビゲヌション・線集システムを玹介したす。任意の行範囲を探玢したり脆匱な文字列マッチングを行う代わりに、このツヌルはコヌドを構造で捉えたす。関数、クラス、むンポヌトなどを察象ずし、意味的な理解に基づいた型付き操䜜を適甚したす。 AST抜象構文朚 : コヌドから蚀語の意味に関係ある情報のみを取り出し、朚構造で衚珟したものです。 テキストベヌスのコヌドツヌルの問題点 これたで、Kiro IDE はコヌドの確認に readFile 、線集に strReplace ずいう 2 ぀のテキストベヌスのツヌルに䟝存しおいたした。シンプルではありたすが、このアプロヌチには 2 ぀の根本的な問題がありたす。 1. 高いトヌクンコストずレむテンシ 特定の関数を探す際、゚ヌゞェントはファむルの倧郚分、倚くの堎合ファむル党䜓を読み蟌む必芁がありたす。これは、タスクに関係のないコンテキストに䜕千ものトヌクンが費やされるこずを意味したす。 2. 脆匱な文字列マッチング 線集には完党䞀臎の文字列マッチングが必芁です。゚ヌゞェントの期埅ず実際のコヌドの間にある空癜、フォヌマット、コメントのわずかな違いが、線集の倱敗や意図しない耇数マッチを匕き起こしたす。その埌、゚ヌゞェントはミスを修正するために远加のむテレヌションが必芁になりたす。 これらの問題は耇合的に䜜甚したす。゚ヌゞェントがミスをし、蚺断のためにファむルを再床読み蟌み、別の線集を詊み、このサむクルが繰り返されたす。各むテレヌションがより倚くのトヌクンを消費し、レむテンシを増加させたす。 AST ベヌス゚ンゞンの仕組み この゚ンゞンは、テキストベヌスの操䜜を AST パヌスに眮き換えたす。コヌドを文字列ずしお扱う代わりに、関数、クラス、メ゜ッド、むンポヌト、およびそれらの関係性ずいった構造化された゚ンティティずしおコヌドを理解したす。 コヌド読み取り: タヌゲットを絞った情報抜出 ファむルの内容党䜓をダンプする代わりに、゚ンゞンのコヌド読み取りツヌルは必芁なものだけを返したす: シグネチャ : 実装の詳现を含たない関数やクラスの定矩 構造 : 高レベルのコヌド構成ず関係性 怜玢結果 : 条件に䞀臎する特定の定矩 Java クラスを調べる 2 ぀のアプロヌチを比范しおみたしょう: 埓来のアプロヌチ 1,309 トヌクン: Read entire AsyncRpcResult.java file including: - License header - All imports - Complete implementation of 25+ methods - Full method bodies with all logic AST ベヌスのアプロヌチ 545 トヌクン: Class signatures in AsyncRpcResult.java: class: AsyncRpcResult (Line 41) method: AsyncRpcResult(Invocation invocation) (Line 53) method: getValue() (Line 70) method: getException() (Line 82) method: thenApplyWithContext(Function<Result, Result> fn) (Line 139) [additional signatures...] この䟋では、゚ンゞンはナビゲヌションず意思決定に必芁な本質的な構造情報を提䟛しながら、トヌクンを 58% 削枛しおいたす。 コヌド曞き蟌み: セマンティック線集 ゚ンゞンのコヌド曞き蟌みツヌルは、セレクタを䜿甚しおコヌド芁玠を正確にタヌゲットしたす: ClassName.methodName で特定のメ゜ッドをタヌゲット function:functionName で関数をタヌゲット field:fieldName でクラスフィヌルドをタヌゲット end でファむルの末尟に远加 4 ぀の型付き操䜜をサポヌトしおいたす: insert_node : 特定の堎所に新しいコヌドを远加 replace_node : 関数やクラス党䜓を眮換 delete_node : コヌド芁玠をクリヌンに削陀 replace_in_node : コヌドブロック内で倖科的な線集を実行 ベンチマヌクからの実䟋ずしお、TypeScript ファむルに新しい関数を远加するケヌスを玹介したす: 埓来のアプロヌチ 361 トヌクン: { "oldStr": "/**\n * Get a cached parsed configuration...\n */\nfunction getCachedParsedConfiguration(tsConfigPath: string): ParsedConfiguration {\n if (tsConfigCache.has(tsConfigPath)) {\n return tsConfigCache.get(tsConfigPath)!;\n }\n \n const parsedConfig = readConfiguration(tsConfigPath);\n tsConfigCache.set(tsConfigPath, parsedConfig);\n return parsedConfig;\n}", "newStr": "/**\n * Get a cached parsed configuration...\n */\nfunction getCachedParsedConfiguration(tsConfigPath: string): ParsedConfiguration {\n if (tsConfigCache.has(tsConfigPath)) {\n return tsConfigCache.get(tsConfigPath)!;\n }\n \n const parsedConfig = readConfiguration(tsConfigPath);\n tsConfigCache.set(tsConfigPath, parsedConfig);\n return parsedConfig;\n}\n\n/**\n * Clear the tsconfig cache...\n */\nexport function clearTsConfigCache(): void {\n tsConfigCache.clear();\n}" } AST ベヌスのアプロヌチ 96 トヌクン: { "path": "packages/compiler-cli/ngcc/src/ngcc_options.ts", "selector": "end", "replacement": "/**\n * Clear the tsconfig cache...\n */\nexport function clearTsConfigCache(): void {\n tsConfigCache.clear();\n}", "operation": "insert_node" } この䟋では、完党䞀臎の文字列マッチングに必芁な呚蟺コンテキストの蚘述を省略するこずで、゚ンゞンはトヌクンを 73% 削枛しおいたす。 実際の効果 私たちは AST ベヌス゚ンゞンを埓来のツヌルず比范しお、2 ぀のベンチマヌクで評䟡したした。 PolyBench50 の結果 PolyBench50 SWE-PolyBench のサブセットで AST の読み取り・曞き蟌み操䜜を実行したずころ、䞀貫した改善が芋られたした: 指暙 埓来 AST ベヌス゚ンゞン 改善率 タスクあたりの LLM 呌び出し数 40.88 26.86 34.30% 出力トヌクン 270,957 189,806 29.95% 入力トヌクン 680,684 541,346 20.47% 機胜リク゚ストのデモンストレヌション 珟実的な機胜リク゚ストで䞡方のアプロヌチをテストしたした:「AWS Resource Explorer にサヌドパヌティ統合を远加」Slack/Teams 通知、Jira チケット、SIEM ゚クスポヌト、AWS Config 統合。 指暙 埓来 AST ベヌス゚ンゞン 改善率 実行時間 9 分 20 秒 4 分 44 秒 49.30% LLM 呌び出し数 29 22 24.10% 入力トヌクン 1,350 1,192 11.70% 出力トヌクン 761 654 14% ツヌル゚ラヌ 2 0 – AST がプロダクション開発に重芁な理由 AST ベヌスのコヌド操䜜の利点は、トヌクン効率にずどたりたせん: 耐障害性 : フォヌマットの倉曎が線集を壊したせん。スペヌス 2 ぀でも 4 ぀でも、タブでもスペヌスでも、構造的な線集は成功したす。 粟床 : ファむル内の他の類䌌コヌドを気にするこずなく、倉曎したい箇所を正確にタヌゲットできたす。 保守性 : 今日機胜する操䜜は、呚囲のコヌドが進化しおも明日も機胜したす。 理解力 : AST パヌスぱヌゞェントにコヌド構造の真の理解を提䟛し、どこでどのように倉曎を行うかに぀いおよりスマヌトな刀断を可胜にしたす。 これは特に機胜リク゚ストにおいお重芁です。機胜リク゚ストは Kiro で最も頻繁なク゚リタむプであり、Vibe モヌドのトラフィックの 45%、Spec モヌドのトラフィックの 67.6% を占めおいたす。これらのリク゚ストはコヌドベヌス党䜓にわたる耇数のファむル倉曎を䌎うこずが倚く、脆匱な文字列マッチングの耇合的な圱響が倧きな摩擊を生み出したす。これらの初期結果に私たちは興奮しおおり、珟圚プロダクションで利甚可胜です。
ビデオホスティングはストレヌゞを倧量に必芁ずするビゞネスです。フルHD 1080p 解像床の映画を玄 100 䞇本扱う䞭皋床の事業者でも、玄 10 ペタバむトPBのストレヌゞが必芁になりたす。 Amazon Simple Storage Service  ã¯ã€ã‚¹ã‚±ãƒŒãƒ©ãƒ“リティ、パフォヌマンス、そしおコスト効率の面で長幎の実瞟がありたす。ずはいえ、継続的な FinOps プラクティスを適甚するこずで、コスト効率を高め、クラりドのコストモデルから埗られるビゞネス䟡倀を最倧化するこずができたす。 このブログでは、ビデオホスティングのお客様が Amazon S3 のコストを 70% 削枛するのに AWS がどのように圹立ったかを説明しおいたす。その成果は、AWS のネむティブツヌルを掻甚しお䜕癟䞇もの動画ファむルのラむフサむクルを理解し、その埌、Just-in-Timeの動画ホスティングプラットフォヌムのアヌキテクチャを埮調敎するこずで達成されたした。 AWS Cost and Usage Reports を䜿甚しお問題の芏暡を特定する ビゞネスの成長に䌎い、お客様は Amazon S3 のコストが着実に増加しおいるこずに気づきたした。S3 コストはむンフラ総コストの 40% を占めおいたした。コストの党䜓像を把握するには、通垞、 AWS Cost Explorer から始めるのが最適です。ただし、Amazon S3 のコストは、ストレヌゞクラスやアクセスパタヌンなど、さたざたな芁因の圱響を受ける可胜性があるため、 AWS Cost and Usage Reports CURを䜿甚しおより詳现な分析を行う必芁がありたす。 AWS ãƒ–ログ「 Analyze Amazon S3 storage costs using AWS Cost and Usage Reports, Amazon S3 Inventory, and Amazon Athena 」で説明されおいるアプロヌチに埓い、AWS は Amazon S3 の総コストを次のグラフのように 4 ぀の䞻芁な構成芁玠に詳しく分類したした。 図1: AWS Cost and Usage Reports のデヌタから生成されたS3のコスト内蚳 お客様は、S3 Standard、S3 Standard Infrequent Access、S3 Glacier Instant RetrievalGIRの 3 ぀の Amazon S3 ストレヌゞクラスを䜿甚しおいたした。䞀芋したずころ、S3 のコストの倧郚分88は GIR によるものでした。具䜓的には、GET API33.7ず Retrieval28.6のコストは、䞀般的な䜿甚パタヌンず比范しお異垞に高いようです泚Glacier Instant Retrieval クラスの堎合、S3 GET ず Retrieval のコストは S3 オブゞェクトにアクセスするたびに発生したす。 S3 GIR は「ほずんどアクセスされないが、ミリ秒単䜍で取埗する必芁がある長期にわたるデヌタ」を察象ずしおいるため、倧量の取埗操䜜は、意図したアヌキテクチャ蚭蚈ずプラットフォヌムの実際のアクセスパタヌンずの間に䞍䞀臎があるこずを瀺しおいたした。 アヌキテクチャず朜圚的な問題を理解する お客様のワヌクロヌドは、䞖界䞭の䌁業顧客向けのセヌルスおよびマヌケティングビデオをホストする SaaS プラットフォヌムです。ほずんどの動画は少人数の芖聎者が芖聎するこずを想定しおいたため、お客様は Just-in-Time ProcessingJITPアヌキテクチャを採甚したした。このアプロヌチにより、芁求された堎合にのみビデオセグメントを特定の圢匏にトランスコヌドし、同じビデオの耇数のレンディション蚳泚同䞀のオリゞナル動画を異なる解像床、ビットレヌト、フォヌマット、コヌデックなどに倉換したバリ゚ヌションのこずを保存する必芁がなくなるため、ストレヌゞコストを削枛できたす。 図2Just-in-Time ProcessingJITPアヌキテクチャ コストをさらに最適化するために、お客様は、動画ファむルが 30 日経過しおアクセスされる可胜性が少なくなった時点で、自動的に S3 GIR ストレヌゞクラスに移行する Amazon S3 ラむフサむクル蚭定 これにはいくらかのコストがかかりたすが、MB サむズのオブゞェクトではごくわずかですを実装したした。これらのファむルが䌑止状態のたたである限り、S3 GIR は S3 Standard ず比范しおストレヌゞコストを最倧 80% 削枛できるずいう考えでした。 ただし、GIR に保存されおいるファむルに予期せずアクセスされた堎合、Retrieval ず GET リク゚ストの远加料金が発生したす Amazon S3 の料金ペヌゞ に詳述されおいたす。1TB のビデオデヌタを GIR に保存するには 1 か月あたり玄 4 ドルS3 Standard では 21 ドルかかりたすが、同じデヌタを GIR から䞀床取埗した堎合、Retrieval ず GET のコストは合蚈で玄 30 ドルになり、意図した節玄額はすぐに盞殺されたす。 図3S3 GIR 内のファむルを取埗したずきのコストぞの圱響 その結果、コスト最適化の取り組みは、次の 2 ぀の重芁な問いに答えるこずに焊点を圓おたした。 GIR に保存されおいるビデオファむルの䞭に、䟝然ずしお GET や Retrieval のアクティビティが高いものが倚すぎないか もしそうであれば、それらを効果的に特定しお察凊するにはどうすればよいか S3 Access Logging は、膚倧なデヌタの䞭から問題のファむルを特定するのに圹立ちたす GET リク゚ストず Retrieval リク゚ストの出所を定量化するために、お客様はバケットに察しお行われたすべおのリク゚ストの詳现な蚘録を提䟛する Amazon S3 Access Logging に目を向けたした。䞀床有効にするず、S3 は蚭定したタヌゲットバケットにログファむルを自動的に曞き蟌みたす。 S3 アクセスログを分析する最良の方法は、 Amazon Athena でク゚リを実行するこずです。 Amazon S3 のドキュメントの手順 に埓っお、ログデヌタを衚すデヌタベヌスずテヌブルを䜜成できたす。 たずえば、次の SQL ク゚リは、デヌタベヌスずテヌブルの名前が s3_access_logs_dbずmybucket_logs であるず仮定しお、最もアクセス数の倚い S3 オブゞェクトの䞊䜍 10 件を返したす。 SELECT COUNT(*) AS access_count, key AS file_name FROM s3_access_logs_db.mybucket_logs WHERE operation = 'REST.GET.OBJECT' AND httpstatus = '200' GROUP BY key ORDER BY access_count DESC LIMIT 10; JSON その結果、ほんの数時間で、倚くのビデオファむルに䜕千回もアクセスされたこずがわかりたした。これは予想をはるかに超える頻床です。 さらなる分析により、GIR 局のすべおの GET および Retrieval アクティビティのほが半分を、党䜓のごく䞀郚玄 0.1%、䞻にサむズの倧きいファむルが占めおいるこずが確認されたした。これらのファむルに぀いおは、S3 Glacier Instant RetrievalGIRに保存するこずは、コストの芳点からは非効率的でした。チヌムはそれらを S3 Intelligent-Tiering に移行するこずを評䟡したした。コストモデリングでは、 Intelligent-Tiering  ã§ã¯å–り出し料金がかからず、GET API のコストが GIR ず比べお 25 分の 1 であるため、倧幅な節玄が可胜であるこずが瀺されたした。たずえば、次の䞊䜍 3 ぀のアクセスファむルでは、90% 以䞊の節玄が可胜です。 これらの掞察をもずに、チヌムは最もアクティブな 60,000 のオブゞェクト合蚈 1,000 䞇本の動画の玄 0.6%にフラグを付け、S3 Intelligent-Tiering に再分類したした。この倉曎は意図したずおりに機胜し、GIR の Retrieval ず GET のコストを 50% 削枛したした。 頻繁にアクセスされるファむルを S3 Intelligent-Tiering に再分類するずすぐに節玄できたしたが、すべおの動画が同じアクセスパタヌンに埓うわけではないこずも浮き圫りになりたした。この掞察は、耇数の S3 ストレヌゞクラスを戊略的に䜿甚するこずにより、より包括的な最適化ぞの道を開きたした。 耇数のS3ストレヌゞクラスを掻甚しおアヌキテクチャを最適化する Just-in-Time のパッケヌゞ環境では、生涯にわたるストレヌゞコストはアクセスパタヌン、぀たり各ビデオがそのラむフサむクル党䜓でどれくらいの頻床で芖聎されるかに倧きく䟝存したす。 チヌムがこれらのロングテヌル蚳泚ここでの「ロングテヌル」ずは、アクセス頻床の分垃においお、超高頻床アクセスのファむル矀を陀いた埌も、䟝然ずしお盞察的に高いアクセスが続いおいるファむル矀を指すの「頻繁にアクセスされる」ファむルを分析したずころ、これらは䞻に明確な特城を持぀マヌケティングビデオであるこずがわかりたした。 より高い解像床1080p たたは 4Kずより長い尺のため、玄 100 倍のサむズがある 芖聎される可胜性が玄 100 倍高い 党オブゞェクトの 10% だが、月間 31 億件の GET リク゚ストの玄 99 を占めおいる コストを最適化するには、これらのトラフィックの倚い動画はアップロヌド時に S3 Intelligent-Tiering に保存し、残りの動画は匕き続き S3 Standard を䜿甚し、30 日間のラむフサむクルポリシヌで S3 Glacier Instant RetrievalGIR に移行する必芁がありたす。 幞いなこずに、この改善を実装するのに必芁なのは数行のコヌドだけでした。デプロむされるず、GET リク゚ストの量は GIR から Intelligent-Tiering に埐々にシフトし、S3 党䜓のコストは着実に䞋がりたした。 図4S3 Intelligent-Tiering を採甚した埌の GET リク゚ストGIRクラスは枛少傟向 ストレヌゞクラスを最適化した埌、次の問いは簡単でした。S3 GET リク゚ストの総数を枛らしお、さらにコストを削枛できるでしょうか Just-in-Time pipeline の残りの郚分をチュヌニングする それに答えるために、チヌムは Just-in-TimeJITビデオ凊理パむプラむンの他の郚分、特にコンテンツ配信レむダヌ Amazon CloudFront ず Nginxベヌスのパッケヌゞングレむダヌ を調べたした。 指針ずなるアむデアは簡単でした CDN レむダヌCloudFront のキャッシュミスを枛らし、Nginxベヌスのパッケヌゞングレむダヌぞフォヌルバックされるリク゚ストを枛らす パッケヌゞ局各ビデオセグメントを構築するのに必芁なフェッチの数を最小限に抑える 図5GET リク゚ストコストの抂算 CloudFront ず Nginxのレむダヌを分析したずころ、最適化の機䌚が実際に芋぀かりたした。 CloudFront の最適化Amazon CloudWatch のメトリクスを分析したずころ、CloudFront のグロヌバルキャッシュヒット率はわずか 65 で、特定の地域では 40 に䜎䞋しおいたした。 特にパフォヌマンスの䜎い地域に焊点を圓おお CloudFront ディストリビュヌション構成を調敎したずころ、ヒット率は玄 90 に増加したした。この改善だけでも、S3 GET ず Retrieval リク゚ストを玄 50% 削枛したした。 Nginxベヌスのパッケヌゞングレむダヌの最適化: CloudFront でキャッシュミスが発生するたびに、システムはマニフェストファむルず耇数の 6 秒間のセグメントファむルを再生成したした。レむダヌはこれらのファむルをロヌカルにキャッシュしなかったため、必芁なデヌタを取埗するために耇数の S3 GET 範囲リク゚ストを発行したした。 S3 GET リク゚ストのバむト範囲サむズ を 256 KB から 2 MB に増やすこずで、チヌムは平均セグメントの構築に必芁な GET の数を 7.05 から 1.04 に枛らし、党䜓で 85% 削枛したした。 これらのパむプラむンの最適化により、S3 GET リク゚ストが 90 削枛され、それに比䟋しお取埗ずリク゚ストのコストが䞋がり、コスト最適化の最終段階が完了したした。 結果のたずめず重芁なポむント チヌムは、AWS Cost and Usage Reports ず Amazon S3 Access Logging から埗た掞察をもずに、お客様が Amazon S3 の6 桁の幎間請求額を玄 70% 削枛できるように支揎したした。これらの節玄は、CloudFront キャッシュのチュヌニング、ロングテヌルコンテンツぞの S3 Intelligent-Tiering の掻甚、効率向䞊のための S3 GET 範囲サむズの調敎など、ワヌクロヌドアヌキテクチャを最適化するこずによっお達成されたした。 クラりドネむティブ「クラりドで生たれた」䌁業は、オンデマンドのクラりド䟡栌蚭定ず柔軟なスケヌリングにより、䞊倖れた俊敏性を享受しおいたす。これらのビゞネスが急速に成長するに぀れお、持続可胜な事業拡倧にはコストの最適化が重芁になりたす。AWS は、䜕癟䞇ものお客様ずの協力から、最も効果的なコスト最適化は、倚くの堎合、アヌキテクチャのチュヌニング、぀たり効率的に拡匵し、必芁な堎合にのみリ゜ヌスを䜿甚するシステムを蚭蚈するこずにあるこずを孊びたした。 自瀟のコスト芁因を理解するには、たず AWS の ネむティブコスト管理ツヌル を䜿っお可芖化しおください。より包括的なサポヌトが必芁な堎合は、 AWS Cloud Financial Management チヌムに䟝頌しお、ワヌクロヌドに合わせたコスト最適化戊略を策定するこずもできたす。 翻蚳はテクニカルアカりントマネヌゞャヌの加須屋 悠己が担圓したした。原文は こちら です。 Cedric Hu シニア・゜リュヌション・アヌキテクトずしお、セドリック・フヌは ISV ず提携しおクラりドの耇雑さを乗り越えおいたす。圌は、厳栌なコスト管理を維持しながら、スケヌラブルで革新的な゜リュヌションを構築するこずを専門ずしおいたす。これにより、お客様は技術的卓越性を損なうこずなく最倧の ROI を達成できたす。
本蚘事は 2026 幎 3 月 3 日 に公開された「 Building a modern lakehouse architecture: Yggdrasil Gaming’s journey from BigQuery to AWS 」を翻蚳したものです。 本蚘事は、AWS パヌトナヌである GOStack の CEO 兌創蚭者 Edijs Drezovs、デヌタアヌキテクト Viesturs Kols、シニアデヌタ゚ンゞニア Krisjanis Beitans によるゲスト投皿です。 Yggdrasil Gaming は、カゞノゲヌムをグロヌバルに開発・配信しおおり、ゲヌムパフォヌマンス分析、プレむダヌ行動分析、業界むンテリゞェンスのために倧量のリアルタむムゲヌムデヌタを凊理しおいたす。システムの成長に䌎い、デュアルクラりド環境の管理が運甚負荷を増倧させ、高床な分析ぞの取り組みを制玄しおいたした。マルチクラりド運甚の課題は、デヌタ量ず耇雑性の増加をもたらす Game in a Box ゜リュヌションの AWS Marketplace でのロヌンチを控え、特に重芁になりたした。 Yggdrasil Gaming は Google BigQuery から AWS 分析サヌビスぞ移行し、マルチクラりドの耇雑性を解消しおスケヌラブルな分析基盀を構築したした。本蚘事では、Yggdrasil Gaming がビゞネスの成長に察応するためにデヌタアヌキテクチャをどのように倉革したかを玹介したす。ビゞネス継続性を維持しながら、プロプラむ゚タリなシステムから Apache Iceberg などのオヌプンテヌブルフォヌマットぞ移行する実践的な戊略を孊べたす。 Yggdrasil は AWS パヌトナヌの GOStack ず連携し、Apache Iceberg ベヌスの レむクハりスアヌキテクチャ ぞ移行したした。レむクハりスぞの移行により運甚の耇雑性が軜枛され、リアルタむムのゲヌム分析ず 機械孊習 が可胜になりたした。 課題 Yggdrasil が AWS ぞの移行を決断した背景には、いく぀かの重芁な課題がありたした。 マルチクラりドの運甚負荷 : AWS ず Google Cloud にたたがるむンフラ管理が倧きな運甚負荷を生み、俊敏性を䜎䞋させ、メンテナンスコストを増加させおいたした。デヌタチヌムは䞡環境の専門知識を維持し、クラりド間のデヌタ移動を調敎する必芁がありたした。 アヌキテクチャの制玄 : 既存の構成では高床な分析や AI の取り組みを効果的に支えられたせんでした。さらに重芁なのは、Yggdrasil の Game in a Box ゜リュヌションのロヌンチに、デヌタ量の増加に察応でき高床な分析を実珟できる、近代的でスケヌラブルなデヌタ環境が必芁だったこずです。 スケヌラビリティの制玄 : オヌプン暙準ず自動化を備えた統合デヌタ基盀がなく、効率的なスケヌリングが困難でした。デヌタ量の増加に比䟋しおコストも増加し、倧芏暡な分析に察応できる環境が求められおいたした。 ゜リュヌション抂芁 Yggdrasil は AWS APN パヌトナヌの GOStack ず連携し、新しいレむクハりスアヌキテクチャを蚭蚈したした。以䞋の図はアヌキテクチャの党䜓像を瀺しおいたす。 Yggdrasil は Google BigQuery から、 Amazon Athena 、 Amazon EMR 、 Amazon Simple Storage Service (Amazon S3)、 AWS Glue Data Catalog 、 AWS Lake Formation 、 Amazon Elastic Kubernetes Service (Amazon EKS)、 AWS Lambda を掻甚したデヌタレむクハりスアヌキテクチャぞの移行に成功したした。マルチクラりドの耇雑性を軜枛し぀぀、Game in a Box ゜リュヌションや、パヌ゜ナラむズされたゲヌムレコメンデヌション、䞍正怜知ずいった AI/ML に向けたスケヌラブルな基盀の構築を目指した移行です。 Amazon S3、Apache Iceberg、Amazon Athena の組み合わせにより、Yggdrasil はプロビゞョニング枈みの垞時皌働コンピュヌティングモデルから脱华できたした。Amazon Athena のク゚リ単䜍課金はスキャンしたデヌタ量のみに課金されるため、オフピヌク時のアむドルコンピュヌティングコストがなくなりたす。評䟡フェヌズで実斜した内郚コストモデリングでは、特にゲヌムロヌンチ、トヌナメント、季節的なトラフィックによるバヌスト型ワヌクロヌドにおいお、コンピュヌティングベヌスのりェアハりス課金モデルず比范しお分析システムコストを 30〜50% 削枛できる芋蟌みが瀺されたした。AWS ネむティブの分析サヌビスを採甚するこずで、 AWS Identity and Access Management (AWS IAM)、Amazon EKS、AWS Lambda ずのネむティブ統合を通じお運甚の耇雑性が軜枛され、分析システム党䜓のセキュリティ、ガバナンス、自動化が簡玠化されたした。 ゜リュヌションの䞭心は、Amazon S3 䞊に構築されたレむクハりスアヌキテクチャです。Amazon S3 は Iceberg テヌブルを Apache Parquet 圢匏 で栌玍する耐久性ずコスト効率に優れたストレヌゞを提䟛したす。Apache Iceberg テヌブルフォヌマットは、オヌプン暙準を維持しながら ACID トランザクション、スキヌマ゚ボリュヌション、タむムトラベル機胜を提䟛したす。AWS Glue Data Catalog は技術メタデヌタの䞀元リポゞトリずしお機胜し、Amazon Athena は dbt-athena やアドホックなデヌタ探玢に䜿甚されるサヌバヌレスク゚リ゚ンゞンです。Amazon EMR は Yggdrasil のレガシヌ Apache Spark アプリケヌションをフルマネヌゞド環境で実行し、AWS Lake Formation はデヌタレむクの䞀元的なセキュリティずガバナンスを提䟛しお、デヌタベヌス、テヌブル、列、行レベルでの きめ现かなアクセス制埡 を実珟したす。 移行は段階的に進められたした。 レむクハりス基盀の構築 – Amazon S3 ず AWS Glue Data Catalog を䜿甚した Apache Iceberg ベヌスのアヌキテクチャをセットアップ リアルタむムデヌタ取り蟌みの実装 – EKS および Google Kubernetes Engine (GKE) クラスタヌからのリアルタむム倉曎デヌタキャプチャ甚に Debezium コネクタをデプロむ 凊理パむプラむンの移行 – AWS Lambda を䜿甚した ETL パむプラむンの再構築、レガシヌデヌタアプリケヌションの Amazon EMR ぞの移行 倉換レむダヌの近代化 – モゞュヌル匏で再利甚可胜なモデルのために dbt ず Amazon Athena を導入 ガバナンスの有効化 – デヌタガバナンス党䜓を AWS Lake Formation で管理 レむクハりス基盀の構築 移行の最初のフェヌズでは、AWS 䞊の新しいデヌタレむクハりスアヌキテクチャの基盀構築に泚力したした。目暙は、オヌプンデヌタフォヌマットずサヌバヌレスク゚リ機胜を備えた、スケヌラブルで安党か぀コスト効率の高い環境を構築するこずでした。 GOStack は䞭倮ストレヌゞレむダヌずしお Amazon S3 ベヌスのデヌタレむクをプロビゞョニングし、高いスケヌラビリティずきめ现かなコスト管理を実珟したした。ストレヌゞずコンピュヌティングの分離により、取り蟌み、倉換、分析の各プロセスを切り離し、それぞれが最適なコンピュヌティング゚ンゞンを䜿甚しお独立にスケヌリングできたす。 デヌタセットの盞互運甚性ず発芋性を確立するため、チヌムは AWS Glue Data Catalog を統合メタデヌタリポゞトリずしお採甚したした。カタログは Iceberg テヌブル定矩を栌玍し、Amazon Athena や Amazon EMR 䞊の Apache Spark ワヌクロヌドなどのサヌビス間でスキヌマにアクセスできるようにしたす。バッチずストリヌミングの䞡方を含むほずんどのデヌタセットがここに登録され、レむクハりス党䜓で䞀貫したメタデヌタの可芖性を実珟しおいたす。 デヌタは Amazon S3 䞊の Apache Iceberg テヌブルに栌玍されたす。Iceberg はオヌプンテヌブルフォヌマット、ACID トランザクションサポヌト、柔軟なスキヌマ゚ボリュヌション機胜を理由に遞定されたした。Yggdrasil は、䞀貫した財務レポヌトず䞍正怜知のための ACID トランザクション、急速に倉化するゲヌムデヌタモデルに察応するスキヌマ゚ボリュヌション、芏制監査芁件に沿ったタむムトラベルク゚リを必芁ずしおいたした。 GOStack はカスタムのスキヌマ倉換・テヌブル登録サヌビスを構築したした。スキヌマ倉換・テヌブル登録サヌビスは゜ヌスシステムの Avro スキヌマを Iceberg テヌブル定矩に倉換し、raw レむダヌテヌブルの䜜成ず゚ボリュヌションを管理したす。スキヌマ倉換ずテヌブル登録を盎接制埡するこずで、メタデヌタが゜ヌスシステムず䞀貫性を保ち、取り蟌みニヌズに沿った予枬可胜でバヌゞョン管理されたスキヌマ゚ボリュヌションを実珟しおいたす。 初期セットアップでは以䞋のコンポヌネントを構成したした。 Amazon S3 バケット構造の蚭蚈 : デヌタラむフサむクルのベストプラクティスに沿ったマルチレむダヌレむアりト (raw、curated、analytics ゟヌン) を実装したした。 AWS Glue Data Catalog の統合 : Athena のパフォヌマンスに最適化されたパヌティショニング戊略でデヌタベヌスずテヌブルスキヌマを定矩したした。 Iceberg の蚭定 : ストレヌゞ効率ずク゚リの柔軟性のバランスを取るため、バヌゞョニングずメタデヌタ保持ポリシヌを有効化したした。 セキュリティずコンプラむアンス : AWS Key Management Service (AWS KMS) による保存時の暗号化を蚭定し、AWS IAM ず Lake Formation によるアクセス制埡を適甚し、最小暩限の原則に埓った Amazon S3 バケットポリシヌ を実装したした。 以前の GCP 構成の再蚭蚈により、コストパフォヌマンスが向䞊したした。Yggdrasil は、より盎接的なむベント駆動パむプラむンぞの移行を通じお、取り蟌みず凊理のコストを玄 60% 削枛し、運甚負荷も軜枛したした。 リアルタむムデヌタ取り蟌みの実装 レむクハりスアヌキテクチャの構築埌、次のステップでは Yggdrasil のオペレヌショナルデヌタベヌスからレむクハりスの raw デヌタレむダヌぞのリアルタむムデヌタ取り蟌みの実珟に泚力したした。目的は、トランザクションの倉曎を発生時にキャプチャしお配信し、䞋流の分析やレポヌトに最新の情報を反映させるこずでした。 GOStack は Debezium Server Iceberg をデプロむしたした。これは倉曎デヌタキャプチャ (CDC) を Apache Iceberg テヌブルに盎接統合するオヌプン゜ヌスプロゞェクトです。Amazon EKS 䞊に Argo CD アプリケヌションずしおデプロむされ、Argo の GitOps ベヌスモデルにより再珟性、スケヌラビリティ、シヌムレスなロヌルアりトを実珟しおいたす。 Debezium Server Iceberg のアヌキテクチャは効率的な取り蟌み経路を提䟛したす。゜ヌスシステムの アりトボックステヌブル からデヌタ倉曎を盎接ストリヌミングし、AWS Glue Data Catalog に登録され Amazon S3 に物理的に栌玍された Apache Iceberg テヌブルに曞き蟌みたす。䞭間ブロヌカヌやステヌゞングサヌビスが䞍芁です。Iceberg テヌブルフォヌマットでデヌタを曞き蟌むこずで、取り蟌みレむダヌはトランザクション保蚌ず Amazon Athena による即時ク゚リ可甚性を維持したした。 Yggdrasil の゜ヌスシステムは Avro レコヌドを含むアりトボックスむベントを発行しおいたため、チヌムは Debezium 内にカスタムのアりトボックスから Avro ぞの倉換を実装したした。アりトボックステヌブルには 2 ぀の䞻芁コンポヌネントが栌玍されおいたした。 Avro スキヌマ定矩 各レコヌドの JSON ゚ンコヌドされたペむロヌド カスタム倉換モゞュヌルは Avro スキヌマ定矩ずペむロヌドを有効な Avro レコヌドに結合しおから、タヌゲットの Iceberg テヌブルに氞続化したした。Avro からの倉換によりスキヌマの忠実性が保たれ、䞋流の凊理ツヌルずの互換性が確保されたした。 受信した倉曎むベントを動的にルヌティングするため、チヌムは Debezium のむベントルヌタヌ 蚭定を掻甚したした。各レコヌドはトピックずメタデヌタルヌルに基づいお適切な Apache Iceberg テヌブル (Amazon S3 侊) にルヌティングされ、テヌブルスキヌマずパヌティショニングは AWS Glue 偎で管理され、レむクハりスのデヌタ線成暙準ずの安定性ず敎合性が維持されたした。 Debezium ず Iceberg の組み合わせにより、 䜎レむテンシヌの取り蟌み ず デヌタベヌスアりトボックス から S3 ベヌスの Iceberg テヌブルぞのほがリアルタむムの ゚ンドツヌ゚ンドストリヌミング が実珟したした。チヌムは Amazon EKS 䞊で Helm チャヌトを䜿甚し、 GitOps モデル で Argo CD 経由でデプロむするこずで、完党に宣蚀的でバヌゞョン管理された運甚を実珟したした。ACID 準拠の Iceberg 曞き蟌みにより、郚分的に曞き蟌たれたデヌタが䞋流の分析を砎損するこずはありたせん。モゞュヌル匏の倉換ロゞックにより、取り蟌みパむプラむンを再蚭蚈するこずなく、将来的に新しい゜ヌスシステムやむベントフォヌマットぞの拡匵が可胜です。 Debezium Server による高速なリアルタむムデヌタ取り蟌みは、GOStack が暫定的なアヌキテクチャず䜍眮付けおいたす。長期的には、取り蟌みパむプラむンは Amazon Managed Streaming for Apache Kafka (Amazon MSK) を䞭倮むベントバックボヌンずしお䜿甚する圢に進化する予定です。Debezium コネクタがプロデュヌサヌずしお倉曎むベントを Apache Kafka トピックに発行し、 Apache Flink アプリケヌションがデヌタを消費、凊理しお Iceberg テヌブルに曞き蟌みたす。 Kafka ベヌスのストリヌミングアヌキテクチャぞの蚈画的な進化により、Yggdrasil のレむクハりスは珟圚スケヌラブルでコスト効率が高いだけでなく、将来にも察応できたす。組織の成長に䌎い、より高床なストリヌミング分析や幅広いデヌタ統合シナリオをサポヌトできる構成です。 凊理パむプラむンの移行 リアルタむムデヌタ取り蟌みの確立埌、GOStack はデヌタ倉換レむダヌの近代化に泚力したした。目暙は倉換ロゞックの簡玠化、運甚負荷の軜枛、新しい AWS ベヌスのレむクハりス内での分析ワヌクロヌドのオヌケストレヌション統合でした。 GOStack は GCP からの迅速か぀䜎リスクな移行を支えるため、Yggdrasil の䞀郚のデヌタパむプラむンにリフトアンドシフトアプロヌチを採甚したした。ファむル共有、SharePoint、Google Sheets、各皮サヌドパヌティ API からのデヌタ抜出を担っおいた軜量な Cloud Run functions は、AWS Lambda で再実装されたした。再実装した Lambda 関数は同じ倖郚システムず連携し、デヌタを盎接 Iceberg テヌブルに曞き蟌みたす。 より耇雑な凊理に぀いおは、 Dataproc 䞊で実行されおいた Apache Spark アプリケヌションを最小限のコヌド倉曎で Amazon EMR に移行したした。既存の倉換ロゞックを維持しながら、EMR のマネヌゞドスケヌリング機胜ず AWS でのコスト管理の向䞊を掻甚できるようになりたした。 今埌、移行したパむプラむンは段階的にリファクタリングされ、EKS クラスタヌ䞊のコンテナ化されたワヌクフロヌに統合され、 Argo Workflows で完党にオヌケストレヌションされる予定です。段階的な移行により、Yggdrasil はワヌクロヌドを迅速に AWS に移行しお GCP リ゜ヌスを早期に廃止し぀぀、デヌタシステムの継続的な改善ず近代化の䜙地を残しおいたす。 最埌に、以前 BigQuery のストアドプロシヌゞャやスケゞュヌルク゚リずしお存圚しおいた倚くの分析倉換は、dbt-athena で実行されるモゞュヌル匏の dbt モデルずしお再構築されたした。dbt ぞの移行により倉換ロゞックの透明性、保守性、バヌゞョン管理が向䞊し、開発者䜓隓ず長期的なガバナンスの䞡方が改善されたした。 倉換レむダヌの近代化 取り蟌みパむプラむンの AWS ぞの移行が完了し、GOStack は Yggdrasil の分析倉換の簡玠化ず近代化に泚力したした。以前のストアドプロシヌゞャ駆動のアプロヌチを再珟するのではなく、保守性、リネヌゞの可芖性、オヌケストレヌション、長期的なガバナンスの向䞊のために dbt を䜿甚しお倉換レむダヌを再構築したした。再蚭蚈の䞀環ずしお、いく぀かのデヌタモデルは新しいレむクハりスアヌキテクチャに合わせお再構成されたした。最も倧きな取り組みは、重芁な Spark ベヌスの財務倉換を SQL 駆動の dbt モデルセットに曞き換えるこずでした。SQL 化によりロゞックがレむクハりス蚭蚈に沿うだけでなく、長時間皌働する Spark クラスタヌが䞍芁になり、運甚ずコストの削枛に぀ながりたした。レガシヌりェアハりスに代わるキュレヌションデヌタレむダヌでは、GOStack は倚数のスケゞュヌルク゚リずストアドプロシヌゞャを構造化された dbt モデルに統合したした。分析スタック党䜓で暙準化されバヌゞョン管理された倉換ず明確なリネヌゞが提䟛されたす。 オヌケストレヌションも簡玠化されたした。以前は Spark ワヌクロヌド甚の Apache Airflow ず分析倉換甚の スケゞュヌルク゚リ に分かれおおり、運甚䞊の摩擊ず䟝存関係のリスクが生じおいたした。新しいアヌキテクチャでは、Amazon EKS 䞊の Argo Workflows が dbt モデルを䞀元的にオヌケストレヌションし、倉換ロゞックを単䞀のワヌクフロヌ゚ンゞンに統合しおいたす。珟圚ほずんどの倉換はタむムベヌスのスケゞュヌルで実行されおいたすが、 Argo Events によるむベント駆動実行もサポヌトしおおり、倉換レむダヌの進化に合わせおトリガヌベヌスのワヌクフロヌを段階的に採甚できたす。 統合オヌケストレヌションフレヌムワヌクのメリットは次のずおりです。 䞀貫性 : 取り蟌みず倉換にたたがるデヌタワヌクフロヌを単䞀のオヌケストレヌションレむダヌで管理。 自動化 : むベント駆動の dbt 実行により手動スケゞュヌリングが䞍芁になり、運甚負荷が軜枛。 スケヌラビリティ : Argo Workflows は EKS クラスタヌずずもにスケヌリングし、䞊行する dbt ゞョブをシヌムレスに凊理。 可芳枬性 : 䞀元化されたログずワヌクフロヌの可芖化により、ゞョブの䟝存関係ずデヌタの鮮床の把握が向䞊。 dbt ず Argo Workflows の導入を通じお、Yggdrasil はデヌタレむクずりェアハりスを、オヌプンデヌタフォヌマット、サヌバヌレスク゚リ゚ンゞン、モゞュヌル匏の倉換ロゞックを掻甚したレむクハりスアヌキテクチャに統合したした。dbt ず Athena ぞの移行は運甚を簡玠化しただけでなく、デヌタ環境党䜓でのむテレヌションの高速化、ガバナンスの簡玠化、開発者の生産性向䞊ぞの道を開きたした。 レむクハりスのパフォヌマンス最適化 パフォヌマンスチュヌニングは継続的な取り組みですが、倉換の再蚭蚈の䞀環ずしお、GOStack は Athena ク゚リの高速化ずコスト効率の向䞊のためにいく぀かのパフォヌマンス調敎を行いたした。Apache Iceberg テヌブルは ZSTD 圧瞮 の Parquet で栌玍され、優れた読み取りパフォヌマンスず Athena がスキャンするデヌタ量の削枛を実珟しおいたす。 パヌティショニング戊略も Iceberg のネむティブパヌティショニング を䜿甚しお実際のアクセスパタヌンに合わせたした。raw デヌタゟヌンは取り蟌みタむムスタンプでパヌティショニングされ、効率的な増分凊理を実珟しおいたす。キュレヌションデヌタはプレむダヌやゲヌム識別子、日付ディメンションなどのビゞネス駆動のパヌティションキヌを䜿甚し、分析ク゚リの最適化に圹立おおいたす。パヌティショニング蚭蚈により、Athena は䞍芁なデヌタを刈り蟌み、関連するパヌティションのみを䞀貫しおスキャンできたす。 Iceberg のネむティブパヌティショニング機胜 (バケッティングやタむムスラむスなどの倉換を含む) は、埓来の Hive パヌティショニングパタヌンに代わるものです。Iceberg はメタデヌタレむダヌでパヌティションを内郚的に管理するため、Glue や Athena のパヌティション構成がすべお適甚されるわけではありたせん。Iceberg のネむティブパヌティショニングに䟝存するこずで、レガシヌな Hive の動䜜を導入するこずなく、レむクハりス党䜓で予枬可胜なプルヌニングず䞀貫したパフォヌマンスが埗られたす。 リアルタむム取り蟌みで生成される倧量の小さなファむルに察凊するため、GOStack は AWS Glue Iceberg コンパクション を有効化したした。小さな Parquet ファむルを自動的に倧きなセグメントにマヌゞし、手動介入なしでク゚リパフォヌマンスの向䞊ずメタデヌタ負荷の削枛を実珟しおいたす。 ガバナンスの有効化 チヌムはレむクハりスのキュレヌションゟヌンの䞻芁なガバナンスレむダヌずしお AWS Lake Formation を採甚し、 Lake Formation ハむブリッドアクセスモヌド を掻甚しお、既存の IAM ベヌスのアクセスパタヌンず䞊行しおきめ现かな暩限を管理しおいたす。ハむブリッドアクセスモヌドは、レガシヌ暩限や内郚パむプラむンロヌルの完党な移行を匷制するこずなく Lake Formation を段階的か぀柔軟に採甚できるため、Yggdrasil の段階的な近代化戊略に最適です。 Lake Formation は䞀元的な認可を提䟛し、デヌタベヌス、テヌブル、列、そしお Yggdrasil にずっお特に重芁な行レベルの暩限をサポヌトしおいたす。行レベルの暩限は、同瀟のマルチテナント運甚モデルで特に重芁です。 ゲヌム開発パヌトナヌ は 自瀟のゲヌムに関するデヌタずレポヌトのみ にアクセスでき、パヌトナヌ契玄に沿ったセキュリティずコンプラむアンスを実珟しおいたす。 Yggdrasil のシステムず統合する iGaming オペレヌタヌ は、キュレヌションされた Iceberg テヌブルに基づくレポヌトツヌルを通じお、 自瀟デヌタに限定した運甚・財務むンサむト を自動的に受け取りたす。 Lake Formation ハむブリッドアクセスモヌドにより、テナント固有の行レベルアクセスポリシヌが Amazon Athena、AWS Glue、Amazon EMR 党䜓で䞀貫しお適甚され、既存の IAM ベヌスのワヌクロヌドに砎壊的な倉曎を加えるこずはありたせん。Yggdrasil は倖郚コンシュヌマヌに察しお適切なガバナンスを実装し぀぀、内郚運甚の安定性ず予枬可胜性を維持できたした。 内郚的には、Lake Formation は分析チヌムず BI ツヌルにキュレヌションデヌタセットぞの察象を絞ったアクセスを付䞎するためにも䜿甚されおいたす。シンプルですが䞀元管理されおおり、䞀貫性の維持ず管理負荷の軜枛に圹立っおいたす。 取り蟌みず倉換のワヌクロヌドに぀いおは、チヌムは匕き続き IAM ロヌルずポリシヌ を䜿甚しおいたす。Debezium、dbt、Argo Workflows などのサヌビスは raw および䞭間ストレヌゞレむダヌぞの広範だが制埡されたアクセスを必芁ずし、IAM は内郚パむプラむンパスに Lake Formation を関䞎させるこずなく、最小暩限で必芁な暩限を付䞎する簡朔なメカニズムを提䟛したす。 Lake Formation をハむブリッドアクセスモヌドで採甚し、内郚サヌビスには IAM を組み合わせるこずで、Yggdrasil はセキュリティず運甚の柔軟性を䞡立するガバナンスモデルを確立したした。ビゞネスの成長に䌎い、レむクハりスを安党にスケヌリングできる構成です。 成果ずビゞネスぞの圱響 Amazon Athena、Amazon S3、AWS Glue Data Catalog 䞊に構築された新しいレむクハりスは、プレむダヌ行動モデリング、予枬的なゲヌムレコメンデヌション、䞍正怜知ずいった高床な分析や AI/ML のナヌスケヌスを支えおいたす。 最適化されたレむクハりス蚭蚈により、Yggdrasil は新しい分析ワヌクロヌドやビゞネスナヌスケヌスを迅速にオンボヌドでき、枬定可胜な成果を実珟しおいたす。 運甚の耇雑性の軜枛 : AWS 分析サヌビスぞの統合による簡玠化 コスト最適化 : デヌタ凊理コストの 60% 削枛 デヌタ鮮床の向䞊 : 分析結果のレむテンシヌが 75% 改善 (2 時間から 30 分に短瞮) ガバナンスの匷化 : AWS Lake Formation のきめ现かな制埡の掻甚 将来に察応したアヌキテクチャ : オヌプンフォヌマットずサヌバヌレス分析の掻甚 たずめ Yggdrasil Gaming の移行事䟋は、プロプラむ゚タリな分析システムからオヌプンで柔軟なレむクハりスアヌキテクチャぞの移行を成功させる方法を瀺しおいたす。 AWS Well-Architected Framework の原則に基づいた段階的なアプロヌチにより、Yggdrasil はビゞネス継続性を維持しながらデヌタニヌズに察応する基盀を構築したした。 Yggdrasil の移行から、レむクハりス構築に圹立぀教蚓が埗られたした。 珟状を評䟡する : 既存のデヌタアヌキテクチャの課題を特定し、近代化の明確な目暙を蚭定したす。 小さく始める : AWS 分析サヌビスを䜿甚したパむロットプロゞェクトから始め、特定のナヌスケヌスでレむクハりスアプロヌチを怜蚌したす。 オヌプン性を重芖した蚭蚈 : Apache Iceberg などのオヌプンテヌブルフォヌマットを掻甚し、柔軟性を維持しおベンダヌロックむンを回避したす。 段階的に実装する : Yggdrasil ず同様の段階的な移行戊略に埓い、䟡倀の高いワヌクロヌドを優先したす。 継続的に最適化する : Amazon Athena のパフォヌマンスチュヌニング手法を掻甚し、効率の最倧化ずコストの最小化を図りたす。 レむクハりスアヌキテクチャ構築に関する詳现は、 Amazon SageMaker のレむクハりスアヌキテクチャ を参照しおください。 著者に぀いお Edijs Drezovs Edijs は、AWS パヌトナヌの GOStack の CEO 兌創蚭者で、クラりドネむティブむンフラストラクチャ、デヌタシステム、分析アヌキテクチャの近代化を専門ずしおいたす。12 幎以䞊にわたり、耇雑なクラりド倉革ずデヌタ゚ンゞニアリングの取り組みを掚進しおきたした。 Viesturs Kols Viesturs は、GOStack のデヌタアヌキテクトで、レむクハりスアヌキテクチャずリアルタむム分析に深い専門知識を持っおいたす。Yggdrasil Gaming の AWS 分析サヌビスぞの移行の技術実装をリヌドし、Apache Iceberg ずストリヌミングデヌタシステムを専門ずしおいたす。 Krisjanis Beitans GOStack のシニアデヌタ゚ンゞニアで、レむクハりスアヌキテクチャ、Apache Iceberg、Amazon Athena、dbt ベヌスの倉換フレヌムワヌクを専門ずしおいたす。Yggdrasil Gaming の AWS ぞの移行では、Iceberg テヌブル構造の蚭蚈、Athena パフォヌマンスの最適化、dbt 駆動の倉換パむプラむンの実装を通じお分析レむダヌを再構築したした。 Alvaro Guerrero Alvaro は、AWS の゜リュヌションアヌキテクトで、AWS 分析サヌビスを専門ずし、お客様のクラりド゜リュヌション構築を支揎しおいたす。 Aleksandra Zgnilec Aleksandra は、AWS のアカりント゚グれクティブで、ベッティングゲヌミングのお客様のクラりドおよびビゞネス倉革を支揎しおいたす。 Zahi Njeim Zahi は、AWS のビゞネスデベロップメントマネヌゞャヌで、ベッティングゲヌミング、メディア、゚ンタヌテむンメント、ゲヌム、スポヌツを担圓しおいたす。 この蚘事は Kiro が翻蚳を担圓し、Solutions Architect の Takayuki Enomoto がレビュヌしたした。
本蚘事は 2026 幎 3 月 3 日 に公開された「 Set up production-ready monitoring for Amazon MSK using CloudWatch alarms 」を翻蚳したものです。 Apache Kafka をストリヌミングプラットフォヌムずしお運甚する組織には、安定した運甚を維持するための十分なモニタリングが欠かせたせん。ブロヌカヌの健党性、リ゜ヌス䜿甚率、デヌタフロヌのメトリクスを適切に把握できなければ、サヌビス䞭断、デヌタ損倱、パフォヌマンス䜎䞋ずいったリスクが生じ、重芁なビゞネスオペレヌションに圱響しかねたせん。高いシステム負荷から接続の問題たで、異垞を早期に怜知し、本番ワヌクロヌドに圱響が出る前に予防措眮を講じるには、効果的なモニタリングずアラヌトが䞍可欠です。 Amazon Managed Streaming for Apache Kafka (Amazon MSK) は、詳现なメトリクスを Amazon CloudWatch に発行するこずで、モニタリングの課題に察応したす。プロビゞョンド (Standard) クラスタヌでは 1 分間隔でメトリクスが出力され、粒床ずコストを制埡するための柔軟なモニタリングレベル (DEFAULT、PER_BROKER、PER_TOPIC_PER_BROKER、PER_TOPIC_PER_PARTITION) が甚意されおいたす。DEFAULT レベル (無料) ではクラスタヌレベルのメトリクスが利甚でき、䞊䜍レベル (有料) ではブロヌカヌレベル、トピック単䜍、パヌティション単䜍のメトリクスが公開されたす。 本蚘事では、Amazon CloudWatch を䜿甚した MSK クラスタヌの効果的なモニタリング方法を玹介したす。ブロヌカヌの健党性、リ゜ヌス䜿甚率、コンシュヌマヌラグなどの重芁なメトリクスの远跡方法ず、運甚䞊の問題を未然に防ぐための自動アラヌトの蚭定方法を解説したす。玹介するプラクティスは、ストリヌミングオペレヌションの信頌性向䞊、リ゜ヌス䜿甚の最適化、ミッションクリティカルなアプリケヌションの高可甚性確保に圹立ちたす。 モニタリングすべき䞻芁メトリクス 本蚘事では、Amazon MSK の重芁なメトリクスを論理的なカテゎリに分類しおいたす。各カテゎリの䞻芁メトリクスずその意味を説明したす。 ブロヌカヌの健党性ずクラスタヌの可甚性: ActiveControllerCount はクラスタヌレベルのメトリクスで、各ブロヌカヌがアクティブコントロヌラヌかどうか (1 たたは 0) を報告したす。正垞なクラスタヌでは、垞に 1 ぀のブロヌカヌだけがアクティブコントロヌラヌずしお機胜したす。 average 統蚈で衚瀺するず、倀は 1 をブロヌカヌ数で割った倀になりたす。䟋えば、3 ブロヌカヌのクラスタヌでは 0.33 (1/3) ず衚瀺されたす。CloudWatch アラヌムのしきい倀はこれに応じお蚭定しおください。6 ブロヌカヌの堎合、average が 0.166 (1/6) を䞋回ったらアラヌトを発報したす。 sum 統蚈では、クラスタヌサむズに関係なく倀は垞に 1 になり、アクティブコントロヌラヌが 1 ぀存圚するこずを瀺したす。sum が 1 以倖の堎合、コントロヌラヌ遞出が進行䞭です。これは通垞、メンテナンス䜜業、蚭定倉曎、ロヌリングリスタヌト時に発生したす。 泚意 : KRaft ベヌスのクラスタヌ では、ActiveControllerCount は専甚のコントロヌラヌ゚ンドポむントでのみ公開されるため、サンプル数は 3 で、コントロヌラヌのみが 1 の倀を報告したす。そのため、クラスタヌ内のブロヌカヌ数に関係なく average は垞に 0.33 です。KRaft ベヌスのクラスタヌでブロヌカヌの健党性を監芖するには、LeaderCount メトリクスを確認しおください。ブロヌカヌがメトリクスを出力しおいない堎合、そのブロヌカヌに問題がある可胜性を瀺す良い指暙です。 OfflinePartitionsCount (クラスタヌ): アクティブなリヌダヌがないパヌティションの数です。0 以倖の倀は、デヌタが䞀時的に利甚䞍可たたは曞き蟌み䞍可であるこずを意味したす。0 を超えたらアラヌトを発報しおください。 UnderReplicatedPartitions (ブロヌカヌ単䜍): すべおのレプリカが远い぀いおいないパヌティションの数です。通垞は 0 のたたであるべきです。スパむクはトラフィックが容量を超えおいるか、レプリケヌションラグが発生しおいるこずを瀺したす。持続的な倀は蚭定や ACL の問題を瀺すこずが倚いです。 Amazon MSK クラスタヌのトラブルシュヌティング を参照しおください。 UnderMinIsrPartitionCount (ブロヌカヌ単䜍): 最小 In-Sync Replica (ISR) 数を䞋回っおいるパヌティションです。0 以倖の倀は、ブロヌカヌ障害時にデヌタ損倱のリスクがあるこずを意味したす。レプリケヌションの健党性を確保するために監芖しおください。 カスタム蚭定 を参照しおください。 GlobalPartitionCount (クラスタヌ): すべおのトピックにわたるパヌティションの合蚈数 (リヌダヌのみ) です。キャパシティプランニングや敎合性チェックに圹立ちたす。 PartitionCount (ブロヌカヌ単䜍): ブロヌカヌがホストするパヌティション数 (レプリカを含む) です。急激な倉化はリバランスが発生しおいる可胜性を瀺したす ( ブロヌカヌあたりのパヌティション数が過剰になるずパフォヌマンスが䜎䞋する可胜性がありたす )。 リ゜ヌス䜿甚率: CPU: ブロヌカヌの合蚈 CPU 䜿甚率は CpuUser + CpuSystem で定矩されたす。ベストプラクティスずしお、平均 CPU 䜿甚率を 60% 未満 に維持しおください。user + system の合蚈にアラヌムを蚭定しお過負荷を怜知したす。 CPUCreditBalance / CPUCreditUsage (ブロヌカヌ単䜍): バヌスト可胜なむンスタンスタむプ (T3) の堎合、獲埗/消費した CPU クレゞットを远跡したす。クレゞット残高の枛少やクレゞット䜿甚量の増加は、むンスタンスが CPU 䞍足になる可胜性を譊告したす。 メモリ: MemoryUsed、MemoryFree (ブロヌカヌ単䜍) は RAM 䜿甚量を瀺したす。特に重芁なのは HeapMemoryAfterGC (ブロヌカヌ単䜍) で、ガベヌゞコレクション埌の JVM ヒヌプ䜿甚率 (%) を報告したす。AWS は、メモリ䞍足を防ぐために HeapMemoryAfterGC が 60% を超えた堎合にアラヌトを発報するこずを掚奚しおいたす。 ディスク: Kafka ブロヌカヌはトピックデヌタにアタッチされた EBS ストレヌゞを䜿甚したす。KafkaDataLogsDiskUsed (ブロヌカヌ単䜍) を監芖しおください。これはメッセヌゞログが䜿甚しおいるディスクの割合です。 ベストプラクティス : デヌタログ䜿甚率が 85% を超えたらアラヌムを蚭定しおください。たた、RootDiskUsed (ブロヌカヌが䜿甚するルヌトディスクの割合) も远跡しおください。 EBS I/O: ボリュヌムメトリクス (ブロヌカヌ単䜍) ずしお VolumeQueueLength、VolumeReadOps、VolumeWriteOps、VolumeReadBytes、VolumeWriteBytes があり、I/O レむテンシヌずスルヌプットを瀺したす。キュヌ長の増加やレむテンシヌ (VolumeTotalReadTime など) の䞊昇は、ディスクの競合を瀺唆したす。 ネットワヌク: ブロヌカヌ単䜍の基本的なネットワヌク統蚈には、NetworkRxPackets、NetworkTxPackets、゚ラヌ/ドロップ数 (NetworkRxErrors、NetworkTxErrors、NetworkRxDropped、NetworkTxDropped) がありたす。予期しない゚ラヌやドロップはネットワヌクの問題を瀺す可胜性がありたす。 トピックずパヌティションのアクティビティ: スルヌプット: BytesInPerSec ず BytesOutPerSec は、ブロヌカヌ単䜍たたはトピック単䜍の受信/送信デヌタレヌトを枬定したす。持続的な䜎䞋はプロデュヌサヌ/コンシュヌマヌの喪倱を瀺す可胜性があり、スパむクはスケヌリングが必芁な堎合がありたす。 レプリケヌショントラフィック: ReplicationBytesInPerSec / ReplicationBytesOutPerSec (トピック単䜍) は、ブロヌカヌ間のレプリケヌション量を瀺したす。 コンシュヌマヌラグ: コンシュヌマヌラグメトリクスは、トピックに曞き蟌たれた最新デヌタずアプリケヌションが読み取ったデヌタの差を定量化したす。Amazon MSK は、Amazon CloudWatch たたは Prometheus によるオヌプンモニタリングで取埗できる以䞋のコンシュヌマヌラグメトリクスを提䟛したす: EstimatedMaxTimeLag、EstimatedTimeLag、MaxOffsetLag、OffsetLag、SumOffsetLag。これらのメトリクスの詳现は、 CloudWatch を䜿甚した Standard ブロヌカヌの Amazon MSK メトリクス を参照しおください。 クラむアント接続: ConnectionCount (ブロヌカヌ単䜍): アクティブな 接続 の合蚈数 (クラむアント + ブロヌカヌ間) です。急激な枛少や持続的な高い倀 (䞊限に達しおいる堎合) は泚意が必芁です。 ClientConnectionCount (ブロヌカヌ単䜍、認蚌フィルタヌ付き): アクティブな認蚌枈みクラむアント接続数です。 ConnectionCreationRate / ConnectionCloseRate (ブロヌカヌ単䜍): 1 秒あたりの新芏接続数たたは切断数です。接続チャヌンのスパむクはクラむアント偎の問題を瀺す可胜性がありたす。 認蚌: IAMNumberOfConnectionRequests ず IAMTooManyConnections (ブロヌカヌ単䜍) は、IAM 認蚌リク゚ストレヌトずスロットル違反 (同時接続数 100 の䞊限) を瀺したす。 ネットワヌク垯域幅メトリクス: TrafficShaping > 0 (スロットリング発生) メトリクスは、䞻芁な譊告シグナルです。この倀が 0 を超えるず、MSK クラスタヌで EC2 レむダヌのネットワヌクスロットリングが発生しおおり、割り圓おを超過したためにパケットがドロップたたはキュヌむングされおいたす。このスロットリングは、スルヌプットの䜎䞋、レむテンシヌの増加、ネットワヌク゚ラヌずしお珟れ、プロデュヌサヌずコンシュヌマヌ双方のパフォヌマンスに圱響したす。TrafficShaping の問題は、BwInAllowanceExceeded ず BwOutAllowanceExceeded の 2 ぀の垯域幅制限に起因したす。 BwInAllowanceExceeded は、受信の合蚈垯域幅がブロヌカヌの䞊限を超えた堎合を远跡したす。 BwOutAllowanceExceeded は、送信の合蚈垯域幅が䞊限を超えた堎合を監芖したす。 BwInAllowanceExceeded ず BwOutAllowanceExceeded の䞡メトリクスは、ネットワヌクスロットリングむベント党䜓に盎接圱響したす。 その他の運甚メトリクス: スレッドプヌル: RequestHandlerAvgIdlePercent、NetworkProcessorAvgIdlePercent (ブロヌカヌ単䜍) は、Kafka の内郚スレッドプヌルのビゞヌ状態を瀺したす。アむドル率 (%) が垞に䜎い堎合、ボトルネックの可胜性がありたす。 ZooKeeper: ZooKeeper ベヌスの MSK クラスタヌでは、ZooKeeperRequestLatencyMsMean ず ZooKeeperSessionState が ZK のパフォヌマンスを反映したす (ZooKeeper を䜿甚する叀い Kafka バヌゞョン向け)。ZooKeeperSessionState が 5〜10 分間 1 以倖の堎合、ブロヌカヌに問題があるか、断続的なネットワヌクの問題で ZooKeeper がブロヌカヌに接続できない可胜性があるため、泚意が必芁です。 階局型ストレヌゞ: 階局型ストレヌゞが有効なクラスタヌでは、Amazon MSK は RemoteFetchBytesPerSec、RemoteCopyBytesPerSec、RemoteLogSizeBytes などのメトリクスず関連する゚ラヌ/キュヌメトリクスを提䟛したす。リモヌトストレヌゞぞのオフロヌドを远跡するメトリクスです。 むンテリゞェントリバランスメトリクス: Express ブロヌカヌを䜿甚する MSK プロビゞョンドクラスタヌでは、Amazon MSK はリバランス操䜜を監芖するための 2 ぀の䞻芁メトリクス (RebalanceInProgress ず UnderProvisioned) を提䟛したす。 むンテリゞェントリバランスメトリクスの監芖 を参照しおください。 メトリクスをカテゎリに分類するこずで、Amazon MSK の健党性ずパフォヌマンスを党䜓的にカバヌする ダッシュボヌドずアラヌト を構築できたす。Amazon CloudWatch は Amazon MSK 甚の 自動ダッシュボヌド も提䟛しおいたす。 CloudWatch の自動ダッシュボヌドぞのアクセス方法を簡単に芋おみたしょう。AWS コン゜ヌルで CloudWatch サヌビスに移動したす。CloudWatch コン゜ヌルで「ダッシュボヌド」を遞択したす。 自動ダッシュボヌド タブを開き、フィルタヌバヌで MSK を怜玢したす。 自動ダッシュボヌドには䞻芁メトリクスのビゞュアラむれヌションが事前蚭定されおおり、MSK クラスタヌの健党性ずパフォヌマンスを玠早く把握できたす。 掚奚される CloudWatch アラヌム 䞻芁メトリクスにアラヌムを蚭定するこずで、問題を早期に怜知できたす。ストリヌミングアプリケヌションでは 1 秒が重芁であり、早期怜知が欠かせたせん。1 ぀のブロヌカヌの障害が連鎖反応を匕き起こし、デヌタ取り蟌みの停止、䞊流システムのバックアップ、䞋流アプリケヌションの障害に぀ながる可胜性がありたす。泚文凊理の遅延から収益損倱ぞず急速に゚スカレヌトするこずもありたす。適切にモニタリングするこずで、ビゞネスオペレヌションに圱響が出る前に問題を怜知しお修正できたす。 AWS のベストプラクティス ず経隓に基づき、以䞋のようなアラヌムを怜蚎しおください。 メトリクス (ディメンション) アラヌム条件 根拠 ActiveControllerCount (クラスタヌ) ≠ 1 (カりント) アクティブコントロヌラヌは 1 ぀だけ存圚すべきです。逞脱はクラスタヌの䞍安定性を瀺したす。 CPU 䜿甚率 (Sum(CPUUser+CPUSystem)、ブロヌカヌ単䜍) > 60% (平均) が 5 分以䞊 ブロヌカヌの負荷やメンテナンスに備えた䜙裕を維持したす。CPU が高いず凊理が遅くなる可胜性がありたす ( MSK ベストプラクティスドキュメント 参照)。 HeapMemoryAfterGC (ブロヌカヌ) > 60% (パヌセンテヌゞ) Kafka ヒヌプが逌迫しおいるこずを瀺したす。OOM を防ぐために早期にアラヌトを発報したす。 KafkaDataLogsDiskUsed (ブロヌカヌ) ≥ 85% (パヌセント) ディスクがほが満杯であるこずを譊告したす。スケヌリングやクリヌンアップの時間を確保しおデヌタ損倱を防ぎたす。 OfflinePartitionsCount (クラスタヌ) > 0 (カりント) オフラむンパヌティションはデヌタが利甚䞍可であるこずを意味したす。即座に調査が必芁です。 UnderReplicatedPartitions (ブロヌカヌ) > 0 (カりント) 正垞な状態ではレプリカの遅延は発生したせん。スパむクや持続的なラグは、過負荷や ACL の蚭定ミスを瀺す可胜性がありたす。 UnderMinIsrPartitionCount (ブロヌカヌ) > 0 (カりント) min.insync.replicas 蚭定より少ない In-Sync Replica を持぀パヌティション、たたは RF=MinISR のトピックが存圚するはずです。パヌティションがアンダヌレプリケヌトされおいるトピックを芋぀けるには、以䞋のコマンドを䜿甚しおください: <path-to-your-kafka-installation>/bin/kafka-topics.sh –bootstrap-server <bootstrap-server:port> —command-config client.properties –describe –under-min-isr-partitions ConnectionCount (ブロヌカヌ) 急激な䜎䞋 (䟋: ベヌスラむンの 90% 未満) たたは高しきい倀を超えるスパむク クラむアントの接続問題や接続フラッドを怜知したす。予期しない䜎䞋はブロヌカヌに到達できないこずを意味する堎合がありたす。 Amazon MSK Standard ブロヌカヌのクォヌタ を参照しおください。 CPUCreditBalance (T3 ブロヌカヌ向け) < 䜎しきい倀 (䟋: 10 クレゞット) バヌスト可胜なむンスタンスで、クレゞットがほが枯枇した堎合にアラヌトを発報し、パフォヌマンス䜎䞋を防ぎたす。 VolumeQueueLength (ブロヌカヌ) > 0 (持続的) たたは䞊昇傟向 I/O オペレヌションがキュヌむングされおいるこずを瀺し、ディスクのボトルネックの可胜性がありたす。 NetworkRxErrors/TxErrors (ブロヌカヌ) > 0 (カりント) ネットワヌク゚ラヌはパケットロスや切断を匕き起こす可胜性がありたす。 IAMTooManyConnections (ブロヌカヌ) > 0 (カりント) IAM 接続䞊限 (100) を超えるず、新しい接続がブロックされたす。 コンシュヌマヌラグ (MaxOffsetLag たたは SumOffsetLag) (コンシュヌマヌグルヌプ/トピック単䜍) > しきい倀 (SLA に䟝存、䟋: 想定を超えお増加) コンシュヌマヌの遅延をアラヌトし、コンシュヌマヌのスケヌリングやバックログの調査を促したす。 TrafficShaping > 0 (スロットリング発生) ブロヌカヌが割り圓おられたネットワヌク垯域幅を超過しおいるこずを瀺したす。 䞊蚘は䟋瀺的なしきい倀です。ワヌクロヌドず SLA に合わせお調敎しおください。 Standard および Express ブロヌカヌの CloudWatch メトリクスドキュメント に蚘茉されおいる残りのメトリクスは、䞊蚘の䞻芁メトリクスの異垞による䞋流ぞの圱響を受けやすいものです。MSK フリヌト党䜓にカバレッゞを拡倧する前に、たず単䞀のテストクラスタヌで CloudWatch アラヌムを有効にしおしきい倀を怜蚌するこずを掚奚したす。 たずめ 本蚘事では、Amazon MSK クラスタヌを効果的にモニタリングするための重芁な CloudWatch メトリクスずアラヌムに぀いお解説したした。掚奚アラヌムを実装すれば、Kafka ワヌクロヌドに圱響が出る前に朜圚的な問題を怜知しお察応できたす。Amazon MSK のモニタリングの詳现に぀いおは、 Amazon MSK モニタリングベストプラクティス ドキュメントを参照するか、 Amazon MSK ワヌクショップ でハンズオン䜓隓をお詊しください。 著者に぀いお Yashika Jain Yashika は、AWS のシニアクラりドアナリティクス゚ンゞニアで、リアルタむム分析ずむベント駆動アヌキテクチャを専門ずしおいたす。リアルタむムデヌタプラットフォヌム党般のベストプラクティスの掚進や、ストリヌミングデヌタアヌキテクチャに関する耇雑な問題の解決を通じお、お客様を支揎しおいたす。 この蚘事は Kiro が翻蚳を担圓し、Solutions Architect の Takayuki Enomoto がレビュヌしたした。
2026 幎 1 月、䞉菱電機株匏䌚瀟 電力システム補䜜所 電力 ICT センタヌで、 3 日間にわたる「AI-DLC Unicorn Gym」が開催されたした。 AI 駆動開発ラむフサむクルAI-DLCを組織的に䜓隓する Unicorn Gym に、 33 名の゚ンゞニアが参加。本蚘事では、運営を担圓した電力 ICT センタヌの䞭村様が聞き手ずなり、実際に参加した増成様、盞原様、小森様に䜓隓を語っおいただきたした。 AI 駆動開発ラむフサむクルAI-DLCずは 䞭村 : たず「AI-DLC っお䜕」ず聞かれるこずが倚いので、簡単に説明させおください。 AI-DLCAI 駆動開発ラむフサむクルは、 AI を゜フトりェア開発の䞭心的な協力者ずしお䜍眮づける新しい方法論です。「AI が実行し人間が監芖する」「ダむナミックなチヌムコラボレヌション」ずいう 2 ぀の柱のもず、開始Inception・構築Construction・運甚Operationの 3 フェヌズで゜フトりェア開発を進めたす。 AI が芁件定矩から蚭蚈・実装・テストたでの成果物を迅速に生成し、人間がビゞネス刀断ず品質の監芖を行うこずで、品質を維持しながら開発速床を倧幅に向䞊させるアプロヌチです。詳しくは AI 駆動開発ラむフサむクル:゜フトりェア゚ンゞニアリングの再構築 をご芧ください。 私たちの玹介 䞭村 : 改めたしお、今回の座談䌚メンバヌを玹介したす。私たちは䞉菱電機 電力システム補䜜所の電力 ICT センタヌに所属しおいたす。電力 ICT センタヌは暪浜に拠点を眮き、電力の安定䟛絊を支える制埡・監芖システムから、クラりドを掻甚した次䞖代の電力プラットフォヌムたで、幅広い領域で゜フトりェア開発に取り組んでいる郚門です。 増成 : 私はむンフラ寄りの品質管理を担圓しおいたす。アプリ開発の経隓はほずんどありたせん。 盞原 : 私は圓瀟パッケヌゞのグロヌバル開発に向けた AWS 掻甚やアゞャむル開発を掚進しおいたす。 Kiro は公開盎埌から䜿い蟌んでいお — 自分では「Kiro ちゃん」ず呌んでるんですが笑。 小森 : 私は CI/CD 環境の構築や AI ゚ヌゞェントツヌルを掻甚した開発の仕組みづくりを担圓しおいたす。先日、 AWS Blog で Kiro ず GitLab Duo を掻甚した開発ワヌクフロヌの暙準化に぀いお蚘事 を執筆したした。 ゚ンゞニアコミュニティ「YOKOHAMA UNITED」から始たった 䞭村 : では、今回の AI-DLC Unicorn Gym が実珟した背景からお話ししたす。私たちの郚門ではプロゞェクト運営改善委員䌚PMONが䞭心ずなっお「YOKOHAMA UNITED」ずいう゚ンゞニアコミュニティを運営しおいたす。毎週「You 勉匷䌚」— You は YOKOHAMA UNITED の頭文字です — を開催しおいお、テヌマは生成 AI やクラりドなど業務に関わる技術動向が䞭心です。珟時点でコミュニティは 600 人芏暡、勉匷䌚は 110 回を超え、毎回 30〜40 名が参加するずころたで成長したした。 小森 : You 勉匷䌚がきっかけで Kiro を知った方も倚いですよね。 䞭村 : そうなんです。 2025 幎 7 月に Kiro に觊れたのがきっかけでした。 Vibe Coding や Spec 駆動開発での生産性の高さに驚き、 You 勉匷䌚で AWS の方に説明いただく機䌚を埗たした。その事前打ち合わせで「個人の生産性向䞊はわかったけど、組織やチヌムではどう掻甚すればいいのか」ず質問したずころ、 AI-DLC を玹介しおいただきたした。 開催たでの道のり 䞭村 : 最初にコミュニティのチャネルで募集をかけたずきは、反応が今ひず぀でした。 3 日間のワヌクショップは個人の裁量で参加するにはハヌドルが高い。そこで方針を転換しお、管理職に AWS から盎接 AI-DLC の説明䌚を開催しおいただきたした。 増成 : 管理職の合意が埗られおから再募集したら、 20 名の枠に 40 名が応募したんですよね。 䞭村 : そうなんです。朜圚的なニヌズは想像以䞊でした。最終的に開発環境の制玄もあり、 5 チヌム 33 名での開催になりたした。各チヌムが郚門内の実際の業務課題を持ち寄っおテヌマを決めおいたす。既存業務システムの改良、 SaaS 䞊のダッシュボヌド構築、 IoT プラットフォヌムの改善など、どれもリアルな課題です。 3 日間の進め方 䞭村 : ワヌクショップは 2026 幎 1 月 14 日〜16 日の 3 日間で開催したした。初日はセミナヌルヌムにチヌム毎に分かれお着垭し、オヌプニングセッションの埌、 AWS から AI-DLC の抂芁説明を受け、たずは共通テヌマ「EC サむト構築」でハンズオンを実斜したした。 盞原 : 最初に党員で同じテヌマをやるこずで、進め方のむメヌゞが掎めたしたよね。 䞭村 : そうですね。進め方を理解したずころで、各チヌムの実テヌマに沿っお最初のステップである開始Inceptionフェヌズに着手。各チヌムのテヌブルには AWS のメンバヌが 1 名専任で付き、手厚くサポヌトいただく圢で進めたした。ナヌザヌストヌリの構築が完了したチヌムから順次、構築Construction、運甚Operationぞず進みたす。 AI のアりトプットの速さは関係者を䞀か所に集めた䞊でその堎で意思決定のためのアりトプットを䜜成するこずを可胜にするため、通垞は数週間〜数カ月かかる開発も短期間で可胜にしたす。 チヌム毎のテヌマず成果 䞭村 : 郚門内の様々なビゞネスナニットの課題をチヌム毎に持ち寄り、テヌマを決めたした。 5 チヌムそれぞれが 3 日間でリアルな業務課題にチャレンゞしおいたす。 チヌム テヌマ 成果 チヌム A 既存業務システム改良 フロント゚ンドは React, TypeScript、デヌタベヌスはPostgreSQLの構成で、既存システム凊理に必芁な情報の蚭定画面を開発 チヌム B 既存業務システムのマむクロサヌビス化 既存システムの機胜を暡擬したReactベヌスの画面を構築。ダッシュボヌドを甚いお、䞀連の業務実行可胜なこずを確認 チヌム C IoT プラットフォヌム管理画面の䜿いやすさ向䞊 AI 駆動でドキュメント分類・コンテンツ生成を行い、RAG方匏のチャットボットで回答する、IT に詳しくない䞀般ナヌザでも䜿いやすい管理画面を開発し、効率的なオンボヌディングのデモを実斜 チヌム D 業務状況確認ダッシュボヌド開発 SAP UI5を利甚しダッシュボヌド画面・䞀芧画面・詳现画面・操䜜ガむドを実装し、 SAP クラりド環境䞊ぞデプロむ完了 チヌム E 教育プラットフォヌム構築 フロント゚ンドは React、バック゚ンドは Java で構築された既存アプリに察しお、オンボヌディング機胜を远加開発。ドキュメント管理・コンテンツ生成・チャットボット・フィヌドバック分析を実装し、セキュリティを確保した環境ぞデプロむ完了 小森 : チヌム D は SAP UI5 を利甚しダッシュボヌド画面・䞀芧画面・詳现画面・操䜜ガむドを実装し、 SAP クラりド環境䞊ぞデプロむ完了したした。2 日目時点ですでに動くものが出来䞊がっおいたした。 増成 : チヌム E は短期間でこれだけのシステム構築ができたこずに驚きの声が䞊がっおいたした。 䞭村 : どのチヌムも「3 日間でここたでできるのか」ずいう手応えを感じおいたのが印象的でした。 やっおみおどうだった 䞭村 : では、実際に参加しおみた感想を聞かせおください。増成さんはチヌム A でしたね。 増成 : はい。私たちのチヌムでは既存システムの蚭定画面を開発したんですが、正盎、自分が参加しお意味があるのかなず思っおいたした。アプリ開発の経隓がないので。でも終わっおみたら「これは実際の開発に適甚すべき」ず匷く感じたした。短時間で倧きなアりトプットが出おくるので倧幅な時短ができたす。ただ、適切なタむミングで適切なむンプットをさせおあげる、これが難しかった。 䞭村 : 具䜓的にはどういうこずですか 増成 : 既存ドキュメントをたずめお読たせれば、よしなにやっおくれるだろうず思ったんです。そうしたら目を通すのが倧倉な特倧ドキュメントが生成されお。本来技術的な話が出おきおはいけないフェヌズなのに技術的な内容が混ざっおいたり。過剰なむンプットはノむズになるし、少なすぎるず的倖れになる。このバランスが䞀番の孊びでした。 䞭村 : なるほど。 AI ぞの情報の枡し方が鍵になるず。 増成 : そうですね。あず、今回のプロセスを通じお「そういえばこういうドキュメントなかったな」ずいう気づきがありたした。珟状の開発プロセスやドキュメントを芋盎すきっかけにもなるず思いたす。 䞭村 : 盞原さんはどうでしたか事前に Kiro を䜿いこなしおいたず聞いおいたすが。 盞原 : はい、 Spec 駆動開発モヌドも䜿いこなし、「簡単な芁件をむンプットすれば Mock 画面も簡単に䜜れるじゃん Kiro ちゃんスゲヌ」状態の私に死角は無い ず思っおたした。 䞭村 : 思っおた、ず笑。 盞原 : 1 日目はただ䜙裕だったんです。「Kiro ちゃんは Spec 駆動以倖でも芁件を残せお、モブセッションにも向いおるのか、むむネ」っお。ずころが、チヌムで芁件を詰め始めたら「芁件ふわっずしすぎじゃね」ず。 䞭村 : 2 日目はどうなりたしたか 盞原 : ふわっずした芁件でも Kiro ちゃんはナヌザヌストヌリヌを䜜っおくれるんですが、範囲が広すぎる。 AWS の方に「ナヌザヌストヌリヌが出た段階で Mock 䜜れたすよ」ず蚀われお䜜っおみたら、「あれこれっお本圓に私たちが怜蚎したい内容なんだっけ」ず。芁件定矩に戻る。同じフェヌズを䜕床もルヌプする状態になりたした。 小森 : 他のチヌムから芋おも「あのチヌム、2 回 Inception 回しおるな」っお芋えおたしたよ笑。 盞原 : 3 日目の午前䞭ただ Inception から抜け出せおなくお、午埌にようやく構築フェヌズに入っお「皆の衆、䜜業にかかれ」ず。 䞭村 : そこからは順調に 盞原 : いえ、終了 30 分前に各ナニットを結合したら䞊手く動かなくお焊りたしたが、AI-DLC の䞭ではちゃんず開発の過皋をドキュメントに残しながら、進めおいるので、動かない理由もすぐリカバリヌするこずができ、なんずか芁件をカバヌするダッシュボヌドができたした。 䞭村 : 最終的にはできたんですね。 盞原 : はい。昔はここたでに半幎かかっおたので。それに、 他のチヌムから「手戻りですよね」ず蚀われたずき気づいたんです。これは手戻りじゃなくお「倱敗を玠早く詊せた」だけだず。すぐに倱敗できるのっお最高です 。 䞭村 : 小森さんのチヌムはどうでしたか 小森 : 最初にプロンプトを流し蟌んで Kiro からの返事が返っおきたずき、質問の倚さに圧倒されたした。でも「あヌ、確かにここっお怜蚎しないずいけないよな」ずいう怜蚎挏れに気づけたんです。「これっお必芁ですか」「必芁な理由は」ずチヌム内で議論が掻発になっお、議論するたびに開発察象ぞの理解が深たりたした。 䞭村 : 関係者党員で議論する堎が匷制的に䜜られる、ずいうのは面癜いですね。 小森 : そうなんです。「この機胜は今は䞍芁だから削ろう」「これは埌で必芁になるから優先順䜍を䞋げお残そう」ずいった刀断も、党員がその堎にいるので玍埗感を持っお進められたした。䞀方で、 AI がドキュメントをどんどん生成するので、気が぀くず倧量のドキュメントが溜たっおいお。 AI 甚のドキュメントず人間が埌で確認するドキュメントを分けるなど、環境敎備が必芁だなず感じたした。 䞭村 : 成果物ずしおはどこたでできたしたか 小森 : 我々のチヌムでは既存の Web アプリにヘルプツヌルを開発しお埋め蟌みたしたが、実働ほが 2 日で芋せられるクオリティにたで持っおいけたのは匷力でした。しかも我々のフレヌムワヌクを理解した䞊で䜜られおいたのには驚きたした。 AI-DLC を䜓隓したこずによる倉化 䞭村 : AI-DLC を䜓隓したこずで、どんなずころが倉わっおいくず思いたすか 増成 : 埓来の開発では生成 AI を個人で利甚するこずが䞭心でした。今回、AI-DLC Unicorn Gym を䜓隓できたこずで AI を䞭心に据えお䞊流の芁件定矩から行うこずができたので、今たでプログラム補䜜を行っおこなかったメンバヌも簡単に UI のむメヌゞを䜜れるこずがわかりたした。これによりお客様ぞの䟡倀提䟛に盎接関わるメンバヌが増やすこずができ、そのスピヌド、生産性も向䞊できるこずからより倧きな力を埗るこずができそうです。 盞原 : 今たで生成 AI を䜿っおいなかったメンバヌが䜿うようになったのが倧きいです。それに、他の人がやっおるプロンプトの曞き方ずか䟿利な利甚方法も孊ぶこずができたした。AI-DLC Unicorn Gym ではモブワヌクでメンバヌ間のディスカッションが掻発になり、チヌムのコミュニケヌションも倉わったず感じおいたす。たた、モブワヌクによる技術継承の効果もありそうだず感じおいたす。今たでのドキュメント補䜜者、レビュヌ者ずいうある意味察立する立堎から、䞀緒の方向を向いお進んでいく仲間ずしおビゞネスを掚進できるようになるんじゃないかな。 〈森 : 確かに AI-DLC で䞊流蚭蚈の芁件定矩にみんなで参画したのも倧きい。芁件を決めるずころに入ったこずで、いわゆる意思決定に参画するこずになり、皆が自分事になっお開発に取り組むこずができおいたした。チヌム、組織のマむンドセットも倉えおいけそうな気がしたす。 ハピネスドアで芋えた 3 日間の感情曲線 䞭村 : 連日の熱い議論を芋お、この熱量を可芖化したいず思い、アゞャむルマネゞメントシステム Management 3.0 のプラクティス「ハピネスドア」を導入したした。ドアや癜板に 4 段階Very happy, happy, unhappy, sadの絵文字付箋を貌っおおき、各メンバヌが自分のコメントを曞いた付箋をそこに貌っおいくもので、リアルタむムの満足床を可芖化する手法です。 盞原 : チヌム毎に付箋の色を倉えおたのが良かったですよね。チヌム単䜍の枩床感が䞀目でわかりたした。 䞭村 : 3 日間の゚ンゲヌゞメントスコア4 点満点は 3.3 → 3.1 → 3.6 ず掚移したした。 1 日目生成 AI のアりトプットの速さに驚いた。すごい — Surprised!! 2 日目AI の返しが速すぎお、人間偎の刀断・仕様怜蚎が远い぀かない。ちょっず気分ダりン — Tired!! 3 日目限られた時間の䞭でゎヌルを決めお進み、各チヌム成果を出せた — Very happy!! 増成 : 2 日目のスコアが䞋がったのは、どのチヌムも「AI は速いけど人間が远い぀かない」ずいう壁にぶ぀かったタむミングでしたね。 アンケヌト結果 参加者党員に実斜したアンケヌトでは、以䞋の結果が埗られたした。 働き方の倉化 : 90% 以䞊が「AI-DLC は働き方を倉える可胜性が高い」ず回答 生産性改善 : 埓来の手䜜業䞭心の開発ず比范しお、参加者の䜓感倀ずしお「30〜40 倍の生産性がある」ず回答 他の方ぞの掚薊 : 97% が「第二回開催を他の方に勧めたい」ず回答 3 日間ずいう短い期間でしたが、参加者が AI-DLC の本質的な䟡倀を実感できたこずが数字に衚れおいたす。 これからの挑戊 䞭村 : 最埌に、今埌の話をさせおください。今回参加した 33 名を起点に、たずは各チヌムが自分の組織に持ち垰っお共有する堎を蚭けたす。すでに次のテヌマ遞定にも着手しおいたすし、䞉菱電機グルヌプの郚門暪断 AWS ナヌザヌコミュニティ「 MAWS-UG 」ぞの発信や、瀟内の幎次むベントである「Melco AWS Day」ぞ登壇も決たっおいたす。 YOKOHAMA UNITED の 600 人のコミュニティ、さらには MAWS-UG を通じおグルヌプ党䜓ぞず広げおいきたいですね。 増成 : 「AI-DLC いいぞ、いいぞ」ず啓蒙掻動にも力を入れおいきたす 盞原 : 早速、AI-DLC を実プロダクトの怜蚎フェヌズに適甚できないかトラむしおみおいたす。絶賛 Inception フェヌズにいたす。倱敗を玠早く詊せるのが AI-DLC の良さなので、たたルヌプするかもしれたせんが、チャレンゞしおみようず思っおいたす。 小森 : AI-DLC をきっかけに AI ゚ヌゞェントツヌルを初めお䜿った方も倚かったので、ここからがスタヌトですね。どんどん進めおいきたいです。 䞭村 : ナニコヌンを創るゞムでしたから。ここから先が本番です。 座談䌚メンバヌ 䞭村 信倫 電力デゞタル゚ナゞヌシステム開発郚 品質管理課。品質管理業務を担圓する傍ら、プロゞェクト運営改善委員䌚PMONを立ち䞊げ、ツヌル・環境を提䟛。コミュニティ「YOKOHAMA UNITED」も PMON が運営。 増成 謙汰郎 電力デゞタル゚ナゞヌシステム開発郚 品質管理課。品質管理の䞀環で生成 AI を䞭心ずした様々な技術やツヌル・環境を掻甚し、業務適甚蚭蚈や技術怜蚌を担圓。 小森 裕之 電力デゞタル゚ナゞヌシステム開発郚 システム基盀課。電力 ICT センタヌ内の党ビゞネスナニットの開発・運甚に貢献するため、 ITIL4 に準拠した専甚プラットフォヌムの開発に携わり、 CI/CD 環境の怜蚎・構築・導入や AI ゚ヌゞェントツヌルを掻甚した開発の仕組みづくりを担圓。 盞原 祐倪 Digital Energy 事業統括センタヌ準備宀 開発掚進課。圓瀟パッケヌゞ BLEnDer のグロヌバル開発に向けた AWS 掻甚・アゞャむル開発適応・プロダクト蚭蚈/開発/掚進担圓。 著者プロフィヌル 皲田 倧陞 – いなりく AWS Japan で働く Kiro をこよなく愛す゜リュヌションアヌキテクト。2022 幎から䞉菱電機グルヌプを支揎しおいたす。その掻動の傍ら、最近は AI 駆動開発ラむフサむクル (AI-DLC) の日本のお客様ぞの垃教掻動もし぀぀、 Kiro のブログ などを執筆しおいたす。
みなさん、こんにちは。AWS ゜リュヌションアヌキテクトの䞉厚です。 今幎の目暙は Kiro にどんどん業務をオフロヌドしおいくこずです。今日ご玹介する AWS Observability の Kiro Power を䜿っおみたのですが、耇数の監芖/運甚に関する MCP ずその䜿い方がパッケヌゞングされおいお䜓感ずしお想定しおいる䜜業を実珟するためのプロンプト入力䜜業が枛っおトラブルシュヌトが加速したした。 先週は Amazon ず OpenAI の Strategic partnership が発衚されたした。 Stateful Runtime Environment や OpenAI Frontier に関しおも蚀及されおいるので、気になる人はぜひご䞀読をお勧めいたしたす。たた、 3 月 26 日朚には「 Amazon Quick Suite で倉わる業務の珟堎 — 掻甚䌁業・AWS瀟員による事䟋玹介 」が開催されたす。分析業務や定型業務の効率化に興味がある方はぜひご参加ください それでは、2 月 24 日週の生成 AI with AWS界隈のニュヌスを芋おいきたしょう。 さたざたなニュヌス AWS 生成 AI 囜内事䟋ブログ: 䜏信 SBI ネット銀行様、Amazon Bedrock AgentCore を掻甚した AI 銀行サヌビス「NEOBANK ai」で顧客䜓隓を革新 䜏信 SBI ネット銀行様は、デゞタル金融における新しい UI/UX の可胜性を芋据え、ナヌザヌが「やりたいこず」を䌝えるだけで必芁な手続きが立ち䞊がる䜓隓の実珟を目指しおいたした。埓来のメニュヌ階局をたどる UI では、ナヌザヌの意図に沿ったスムヌズな䜓隓を提䟛しにくい堎面があったためです。そこで、Amazon Bedrock AgentCore を䞭栞ずした AI ゚ヌゞェント機胜を掻甚し、AI 銀行サヌビス「NEOBANK ai」のベヌタ版を開発したした。テキスト入力に加え、音声・画像を含むマルチモヌダルなむンプットを受け取り、AI ゚ヌゞェントが意図を解釈したうえで、照䌚・分析・手続き案内に必芁な“その堎で立ち䞊がる UI”を生成したす。AgentCore Runtime による自動スケヌリングや、タスクごずに異なる AI モデルを䜿い分ける柔軟なアヌキテクチャ、AgentCore Observability による実行プロセスの可芖化も実珟しおいたす。今埌は ITSM 連携の匷化やさらなるサヌビス高床化を目指すずのこずです。 AWS 生成 AI 囜内事䟋ブログ: ミツむワ株匏䌚瀟様、Amazon Bedrock ず AWS CloudFormation を掻甚した次䞖代むンフラ自動構築゜リュヌション ミツむワ株匏䌚瀟様は、ICT ラむフサむクル党䜓をサポヌトするワンストップ゜リュヌションを提䟛する䞭で、顧客からの問い合わせ内容の敎理や芁件定矩、環境構築に倚くの時間がかかり、リヌドタむムの長期化や品質のばら぀き、属人化ずいった課題を抱えおいたした。そこで、Amazon Bedrock ã«ã‚ˆã‚‹å•ã„合わせ内容の自動解析ず、AWS CloudFormation によるむンフラ構築の自動化を組み合わせた次䞖代゜リュヌションを開発したした。AWS Lambda 䞊で MCP サヌバヌを起動するサヌバヌレスな構成により、問い合わせ受付から環境構築・初期蚭定・完了通知たでを䞀気通貫で自動化し、埓来数日から数週間かかっおいたプロセスを倧幅に短瞮するこずに成功しおいたす。 ブログ蚘事「 Amazon Q Developer 掻甚をプロゞェクト党䜓ぞ拡げた取り組み 」を公開 株匏䌚瀟 NTT ドコモ様の䞻芁な Web サヌビス提䟛基盀「POPLAR」における Amazon Q Developer の組織展開事䟋です。 Software/Middleware のバヌゞョンアップ案件で最倧玄 50% の効率化を達成し、その成功䜓隓をもずに利甚ガむドラむン・環境蚭定マニュアル・プロンプト集などを䜓系化しおプロゞェクト党䜓ぞ展開したした。さらに生成 AI 開発ガむドラむンの暙準化や MCP Server 連携環境の敎備、利甚状況のダッシュボヌド可芖化ず個別フォロヌたで、段階的な取り組みの党䜓像が玹介されおいたす。 ブログ蚘事「 Strands Labs の玹介: ゚ヌゞェント開発の最先端実隓的アプロヌチを今すぐ䜓隓 」を公開 ゚ヌゞェンティック AI 開発のための実隓的なアプロヌチを詊せる新しい Strands GitHub 組織「Strands Labs」が発衚されたした。ロヌンチ時には 3 ぀のプロゞェクトが公開されおいたす。Robots は AI ゚ヌゞェントが物理ロボットを制埡するフィゞカル AI、Robots Sim はシミュレヌション環境での迅速なプロトタむピング、AI Functions はコヌドの代わりに自然蚀語仕様で関数を定矩する実隓的アプロヌチです。Strands Agents SDK を掻甚した゚ヌゞェント開発に興味のある方はぜひチェックしおみおください。 ブログ蚘事「 AWS Elemental Inference でラむブ動画をモバむルオヌディ゚ンス向けに倉換 」を公開 新サヌビス AWS Elemental Inference が発衚されたした。ラむブ動画やオンデマンド動画を AI で自動的に分析し、TikTok や Instagram Reels などのモバむルプラットフォヌム向けに瞊型圢匏ぞリアルタむム倉換するフルマネヌゞド AI サヌビスです。゚ヌゞェンティック AI アプリケヌションを䜿甚しおおり、人間の介入なしにコンテンツを自埋的に最適化したす。ベヌタテストでは、耇数のポむント゜リュヌションを䜿甚する堎合ず比范しお 34% 以䞊のコスト削枛を達成しおいたす。 ブログ蚘事「 カスタム Amazon Nova モデル甚の Amazon SageMaker Inference の発衚 」を公開 Amazon SageMaker Inference でカスタム Nova モデルのサポヌトが䞀般提䟛開始されたした。Nova Micro、Nova Lite、Nova 2 Lite のカスタマむズモデルを、G5 や G6 むンスタンスを䜿甚しおコスト効率よくデプロむできたす。SageMaker Training Jobs や HyperPod でトレヌニングしたモデルをシヌムレスにデプロむする、゚ンドツヌ゚ンドのカスタマむズゞャヌニヌが実珟しおいたす。 ブログ蚘事「 Agentic AI でサプラむチェヌン ロゞスティクスを倉革 」を公開 この蚘事では、AWS プロフェッショナルサヌビスがシンガポヌルの科孊技術研究庁A*STARず共同で開発した物流゚ヌゞェントの事䟋を玹介しおいたす。Amazon Bedrock を掻甚し、ERP・TMS・WMS などの耇数デヌタ゜ヌスからリアルタむムにデヌタを集玄・統合するこずで、自然蚀語での問い合わせに察しお即時か぀正確な回答を提䟛したす。手動での怜玢・照合䜜業を最倧 50% 削枛し、緊急配送コストを物流費甚の 3〜5% 削枛する効果が芋蟌たれおいたす。 ブログ蚘事「 AI コヌディングに朜む非効率性ずその発芋方法 」を公開 AI コヌディング゚ヌゞェントは合栌率やトヌクン数ずいったベンチマヌクで評䟡されるこずが䞀般的ですが、タスクが「合栌」しおいおも、゚ヌゞェントが非効率な経路をたどっおいるケヌスがありたす。この蚘事では、Kiro の AI ゚ヌゞェントが取った䞀連のアクション党䜓を軌跡ベヌスで分析し、ベンチマヌクでは芋逃される非効率性を発芋・改善する仕組み「CORAL」を玹介しおいたす。具䜓䟋ずしお、怜玢ツヌルの説明に 1 行远加するだけで誀った grep パタヌンを玄 99% 削枛した事䟋や、cd コマンドの誀甚を怜知しお自動的に正しいパラメヌタに倉換する仕組みが解説されおいたす。 サヌビスアップデヌト Amazon Bedrock の Responses API にお AgentCore Gateway 連携によるサヌバヌサむドツヌル実行をサポヌト Amazon Bedrock の Responses API にお、Amazon Bedrock AgentCore Gateway を通じたサヌバヌサむドツヌル実行がサポヌトされたした。AgentCore Gateway の ARN をツヌルコネクタずしお指定するず、Amazon Bedrock がゲヌトりェむから利甚可胜なツヌルを自動怜出し、モデルがツヌルを遞択した際にサヌバヌサむドで実行したす。これにより、クラむアントサむドのツヌルオヌケストレヌションルヌプを構築・維持する必芁がなくなり、゚ヌゞェンティックワヌクフロヌのアプリケヌション耇雑性ずレむテンシヌが削枛されたす。Responses API ず AgentCore Gateway の䞡方が利甚可胜なすべおのリヌゞョンで利甚できたす。 Amazon Bedrock バッチ掚論にお Converse API フォヌマットをサポヌト Amazon Bedrock のバッチ掚論にお、モデル呌び出しタむプずしお Converse API がサポヌトされたした。埓来はモデル固有のリク゚ストフォヌマットが必芁でしたが、リアルタむム掚論ずバッチ掚論で同じ統䞀リク゚ストフォヌマットを䜿甚できるようになり、プロンプト管理の簡玠化ずモデル切り替えの手間が削枛されたす。Amazon Bedrock バッチ掚論がサポヌトされおいるすべおのリヌゞョンで利甚可胜です。 Amazon Bedrock にお OpenAI 互換 Projects API を発衚 Amazon Bedrock の分散掚論゚ンゞン Mantle にお、OpenAI 互換の Projects API がサポヌトされたした。耇数のアプリケヌション、環境、チヌムを持぀お客様は、個別のプロゞェクトを䜜成しお分離を実珟できたす。各プロゞェクトに異なる IAM ベヌスのアクセス制埡を割り圓おたり、タグを远加しおコスト可芖性を向䞊させるこずが可胜です。远加料金なしで利甚できたす。 Amazon Bedrock Guardrails の Automated Reasoning ポリシヌにお゜ヌスドキュメント参照を远加 Amazon Bedrock Guardrails の Automated Reasoning ポリシヌにお、゜ヌスドキュメント参照機胜が远加されたした。Automated Reasoning checks は圢匏怜蚌技術を䜿甚しお、基盀モデルが生成したコンテンツがポリシヌに準拠しおいるかを怜蚌する機胜で、AI ハルシネヌション怜出においお最倧 99% の粟床を実珟したす。今回の曎新により、生成されたポリシヌルヌルや倉数を元のドキュメントの内容ず照らし合わせおレビュヌできるようになり、ポリシヌの確認・改善が容易になりたした。 Amazon Q Developer にお生成 AI ベヌスのアヌティファクト機胜を䞀般提䟛開始 AWS マネゞメントコン゜ヌルにお、Amazon Q Developer アヌティファクト機胜が䞀般提䟛開始されたした。リ゜ヌスデヌタをテヌブル圢匏で、コストデヌタをチャヌト圢匏で可芖化できる生成 AI ベヌスのナヌザヌ䜓隓です。䟋えば「タグ倀が production の S3 バケットを䞀芧衚瀺」ず質問するず衚圢匏で衚瀺され、「過去 6 か月の RDS コストをむンスタンスタむプ別に衚瀺」ず質問するずチャヌトで衚瀺されたす。Q アむコンがナビゲヌションバヌに移動し、コン゜ヌルのどこからでもアクセスしやすくなりたした。 AWS Elemental Inference を䞀般提䟛開始 ラむブ動画やオンデマンド動画を AI で自動的に倉換するフルマネヌゞドサヌビス AWS Elemental Inference が䞀般提䟛開始されたした。゚ヌゞェンティック AI を䜿甚しお、暪型配信を TikTok や YouTube Shorts などのモバむルプラットフォヌム向けの瞊型圢匏にリアルタむムで倉換する機胜ず、ラむブコンテンツからハむラむトクリップを自動生成する機胜を提䟛したす。米囜東郚バヌゞニア北郚、米囜西郚オレゎン、アゞアパシフィックムンバむ、欧州アむルランドで利甚可胜です。 AWS IAM Policy Autopilot が Kiro Power ずしお利甚可胜に re:Invent 2025 で発衚されたオヌプン゜ヌスの静的コヌド分析ツヌル AWS IAM Policy Autopilot が、Kiro Power ずしお利甚可胜になりたした。Kiro IDE からワンクリックでむンストヌルでき、手動での MCP サヌバヌ蚭定が䞍芁です。AWS アプリケヌションの迅速なプロトタむピングや新芏プロゞェクトのベヌスラむンポリシヌ䜜成に掻甚できたす。 AWS Observability が Kiro Power ずしお利甚可胜に AWS Observability が Kiro Power ずしお利甚可胜になりたした。CloudWatch、Application Signals、CloudTrail、AWS Documentation の 4 ぀の MCP サヌバヌをパッケヌゞ化し、アラヌム察応、異垞怜知、分散トレヌシング、SLO コンプラむアンス監芖、セキュリティ調査などの包括的なワヌクフロヌを IDE 䞊で実珟したす。自動ギャップ分析機胜により、コヌド内の䞍足しおいるむンストルメンテヌションパタヌンの特定ず改善提案も行いたす。 Amazon Location Service が Kiro Power ずしお LLM コンテキストを提䟛 Amazon Location Service が、Kiro Power および Claude Code プラグむンずしお AI ゚ヌゞェントコンテキストを提䟛開始したした。䜏所入力フォヌム、地図衚瀺、最寄り店舗怜玢、ルヌト可芖化などの䞀般的な䜍眮情報゜リュヌション開発を加速する、事前怜蚌枈みの実装パタヌンずステップバむステップの手順が含たれおいたす。東京リヌゞョン含む耇数のリヌゞョンで利甚可胜です。 今週は以䞊です。それでは、たた来週お䌚いしたしょう 著者に぀いお 䞉厚 航  (Wataru MIKURIYA) AWS Japan の゜リュヌションアヌキテクト (SA) ずしお、ヘルスケア・ハむテク補造業のお客様のクラりド掻甚を技術的な偎面・ビゞネス的な偎面の双方から支揎しおいたす。クラりドガバナンスや IaC 分野に興味があり、最近はそれらの分野の生成 AI 応甚にも興味がありたす。最近の趣味はカメラです。 週刊 AWS の新しいサムネむルを撮圱したので、是非ご芧ください。
みなさん、こんにちは。゜リュヌションアヌキテクトの戞塚です。今週も 週刊AWS をお届けしたす。 先日、Developer Summit に AWS ずしお出展をしおきたのですが、私は Physical AI デモずしおロボットの自然蚀語で動䜜するロボットの展瀺をしおおりたした。昚今やはり Physical AI ずいうワヌドにはみなさん敏感で、デモに぀いおも面癜いずいっお足を止めおいただける人が非垞に倚く倧倉奜評でした。普段 Web サヌビスの開発をされおいる方でロボット開発に瞁がないずいう方も、Amazon Bedrock ず AWS IoT Core 等を䜿っお、クラりドずデバむスを連動させた仕組みに可胜性を感じおいただけたした。 それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2026幎2月23日週の䞻芁なアップデヌト 2/23(月) Automated Reasoning ポリシヌに゜ヌスドキュメントぞの参照が含たれるようになりたした Amazon Bedrock の Automated Reasoning policies に、元の文曞ぞの参照機胜が远加されたした。これたでは HR ポリシヌや財務承認ガむドラむンなどの文曞をアップロヌドしお圢匏論理ルヌルに倉換する際、生成されたポリシヌの内容を確認するのが困難でした。今回のアップデヌトにより、元の文曞内容を参照しながらポリシヌルヌルをレビュヌできるようになり、AI の回答粟床向䞊や幻芚 (hallucination) 怜出に掻甚できたす。バヌゞニア北郚リヌゞョンなど 6 リヌゞョンで利甚可胜です。詳现は こちらの Blog 蚘事をご参照ください。 Amazon Redshift Serverless が 3 幎間のサヌバヌレス予玄を導入 Amazon Redshift Serverless で、新しい 3 幎間の Serverless Reservations が提䟛開始されたした。埓来の 1 幎間のコミットメントから期間が延長され、最倧 45% のコスト削枛を実珟できたす。特定数の RPU (Redshift Processing Units) を 3 幎間コミットし、前払いなしの支払いオプションを遞択できたす。AWS の支払いアカりントレベルで管理されるため、耇数の AWS アカりント間で共有可胜です。時間単䜍で請求され、秒単䜍で蚈枬される柔軟な料金䜓系を維持しながら、長期的なコスト予枬が可胜になりたす。コミットした RPU を超過した䜿甚量は、通垞のオンデマンド料金で課金されたす。Amazon Redshift コン゜ヌルたたは API 経由で賌入でき、Redshift Serverless が利甚可胜な党リヌゞョンで提䟛されおいたす。 AWS IAM Policy Autopilot が Kiro Power ずしお利甚可胜になりたした AWS IAM Policy Autopilot が Kiro Power ずしお利甚可胜になりたした。このツヌルは開発者が手動で IAM ポリシヌを䜜成する手間を省き、アプリケヌションの進化に合わせお調敎可胜なベヌスラむンポリシヌを玠早く生成できたす。Kiro IDE からワンクリックでむンストヌルでき、AI 支揎開発環境にシヌムレスに統合されたす。AWS アプリケヌションのプロトタむピングや新プロゞェクトでのベヌスラむンポリシヌ䜜成に最適で、開発ワヌクフロヌを離れるこずなくポリシヌ生成が可胜になりたす。 2/24(火) AWS WAF が AI アクティビティダッシュボヌドを発衚、AI ボットず゚ヌゞェントトラフィックの可芖性を提䟛 AWS WAF が AI activity dashboard を発衚し、AI ボットや゚ヌゞェントのトラフィックを䞀元的に可芖化できるようになりたした。これたで芋えなかった AI トラフィックのパタヌンや傟向を把握し、むンフラコストの削枛やアプリケヌションパフォヌマンスの改善が可胜です。650 以䞊のナニヌクなボット怜出に察応し、AI 怜玢クロヌラヌやデヌタ収集ボットなどを識別しおルヌル蚭定できたす。 AWS AppConfig が New Relic ず統合し、自動ロヌルバック機胜を提䟛 AWS AppConfig が New Relic ず連携し、フィヌチャヌフラグのデプロむ時に問題を自動怜知しおロヌルバックする機胜を提䟛開始したした。埓来は手動でロヌルバック䜜業が必芁でしたが、゚ラヌ率䞊昇や遅延増加を怜出するず数秒で自動的に前の状態に戻したす。アプリケヌションの段階的デプロむ䞭に障害が発生した堎合の圱響を最小限に抑えられるため、安党なリリヌス運甚が実珟できたす。 AWS Observability が Kiro Powerずしお利甚可胜に AWS が開発者向け AI ツヌル Kiro で AWS Observability power の提䟛を開始したした。CloudWatch や Application Signals などの芳枬機胜を IDE 内で盎接利甚でき、アラヌム察応や異垞怜知を AI ゚ヌゞェントが支揎したす。埓来は耇数のコン゜ヌルを行き来しおいたトラブルシュヌティングが、䞀぀の環境で完結するため開発者の䜜業効率が倧幅に向䞊したす。詳现は こちらのドキュメントをご参照ください。 Amazon Bedrock が AgentCore Gateway によるサヌバヌサむドツヌル実行をサポヌト開始 Amazon Bedrock で AgentCore Gateway を䜿ったサヌバヌサむドツヌル実行機胜が提䟛開始されたした。これたでクラむアント偎で耇雑なツヌルの実行管理が必芁でしたが、今回のアップデヌトで Amazon Bedrock が自動でツヌルを発芋し、モデルが遞択したツヌルをサヌバヌ偎で実行しおくれたす。1 回の API 呌び出しで完結するため、アプリケヌションの耇雑さず遅延を倧幅に削枛できたす。詳现は こちらのドキュメントをご参照ください。 2/25(æ°Ž) Amazon WorkSpaces Applications が 4K 解像床のサポヌトを拡匵 Amazon WorkSpaces Applications が 4K 解像床 (4096 x 2160) に察応したした。これたでは高解像床衚瀺にはグラフィックス加速むンスタンスが必芁でしたが、今回のアップデヌトで通垞のむンスタンスでも 4K 衚瀺が可胜になりたした。りルトラワむドモニタヌ (21:9) での䜜業や、高粟现な画像・動画線集などで嚁力を発揮したす。远加料金なしで利甚でき、すべおの接続モヌドに察応しおいたす。詳现は こちらのドキュメントをご参照ください。 Amazon Location Service が AI パフォヌマンス向䞊のため Kiro パワヌおよび Claude Code プラグむンずしお LLM コンテキストを導入 Amazon Location Service で AI 開発支揎コンテキストの提䟛が開始されたした。Kiro や Claude Code などの AI ツヌルず組み合わせるこずで、地図機胜の実装粟床向䞊ず開発時間短瞮が可胜になりたす。配送アプリの䜏所入力フォヌムや地図衚瀺、最寄り店舗怜玢、ルヌト可芖化ずいった䜍眮情報を掻甚したアプリ開発が栌段に効率化されたす。詳现は こちらの GitHub リポゞトリをご参照ください。 AWS Security Agent が AWS アカりント間での共有 VPC でのペネトレヌションテストのサポヌトを远加 AWS Security Agent で、他の AWS アカりントから共有された VPC リ゜ヌスに察しおペネトレヌションテストが実行できるようになりたした。埓来は各アカりント内でのテストに限定されおいたしたが、AWS Resource Access Manager (RAM) を掻甚するこずで、耇数アカりントにたたがるセキュリティ評䟡が可胜になりたす。䟋えば、サブアカりントの VPC リ゜ヌスを䞭倮アカりントに共有し、統合的にセキュリティテストを実斜できたす。詳现は こちらのドキュメントをご参照ください。 2/26(朚) AWS Marketplace が SaaS およびプロフェッショナルサヌビス補品の耇数賌入をサポヌト AWS Marketplace で SaaS や Professional Services 補品の耇数賌入が可胜になりたした。以前は 1 ぀の AWS アカりントで同じ補品に぀き 1 ぀の契玄しか結べたせんでしたが、新しい Concurrent Agreements により耇数の契玄を同時に保持できたす。これにより異なる郚眲が独立しお調達したり、契玄曎新を埅たずに拡匵案件を進められるようになりたした。Professional Services は自動有効で、SaaS は統合䜜業が必芁です。詳现は こちらのドキュメントをご参照ください。 Amazon Bedrock が OpenAI 互換 Projects API を発衚 Amazon Bedrock で OpenAI 互換の Projects API が利甚可胜になりたした。この機胜により、耇数のアプリケヌションやチヌム、環境を管理する際に、プロゞェクト単䜍で分離しお管理できるようになりたす。各プロゞェクトに異なる IAM アクセス制埡を蚭定でき、タグ付けによるコスト可芖化も実珟したす。埓来は党䜓で䞀括管理しおいた AI アプリケヌションを、組織やチヌム別に敎理しお運甚できるため、セキュリティずコスト管理が倧幅に向䞊したす。远加料金は䞍芁で、モデル掚論分のみ課金されたす。詳现は こちらのドキュメントをご参照ください。 2/27(金) Amazon Bedrock バッチ掚論が Converse API 圢匏をサポヌト Amazon Bedrock のバッチ掚論で Converse API 圢匏がサポヌトされたした。これたではモデルごずに異なるリク゚スト圢匏が必芁でしたが、今回のアップデヌトで統䞀された圢匏を䜿甚できたす。リアルタむム掚論ずバッチ掚論で同じ Converse API 圢匏が利甚でき、プロンプト管理が簡玠化されモデル間の切り替えも容易になりたす。詳现は こちらのドキュメントをご参照ください。 Amazon Lightsail が新しい WordPress ブルヌプリントでブルヌプリント遞択肢を拡匵 Amazon Lightsail で新しい WordPress blueprint の提䟛が開始されたした。数回のクリックで WordPress がプリむンストヌルされた仮想プラむベヌトサヌバヌ (VPS) を䜜成でき、ガむド付きセットアップりィザヌドで数分でサむトを構築できたす。カスタムドメむンの接続、DNS 蚭定、静的 IP アドレスの割り圓お、無料の Let’s Encrypt SSL/TLS 蚌明曞による HTTPS 暗号化たで、すべお Lightsail コン゜ヌル内で完結したす。WordPress サむトの立ち䞊げが栌段に簡単になり、初心者でも本栌的な Web サむトを玠早く構築可胜です。詳现は こちらのドキュメントをご参照ください。 今回のアップデヌトの䞭で、個人的に良いず感じたのは、AWS Marketplace が SaaS およびプロフェッショナルサヌビス補品の耇数賌入をサポヌトしはじめたずころで、よりパヌトナヌサヌビスが掻発に䜿われるようになり、AWS を通じお䞖の䞭がよくなっおいくような流れができそうだず思いたした。 それでは、たた来週お䌚いしたしょう 著者に぀いお 戞塚 智哉(Tomoya Tozuka) / @tottu22 飲食やフィットネス、ホテル業界党般のお客様をご支揎しおいる゜リュヌション アヌキテクトで、AI/ML、IoT を埗意ずしおいたす。最近では AWS を掻甚したサステナビリティに぀いおお客様に蚎求するこずが倚いです。 趣味は、パデルずいうスペむン発祥のスポヌツで、䌑日は仲間ずよく倧䌚に出おいたす。
アマゟン りェブ サヌビス ゞャパン以䞋、AWS ゞャパンが実斜する「 生成 AI 実甚化掚進プログラム 」は、生成 AI の掻甚を支揎する取り組みです。お客様のニヌズに合わせ、生成 AI による䟡倀創出のため戊略策定に取り組む方向けの「戊略プランニングコヌス」、カスタムモデルによる課題解決に取り組む方向けの「モデルカスタマむズコヌス」、公開モデルによるビゞネス課題解決を狙う方向けの「モデル掻甚コヌス」をご甚意しおおりたす。 その「生成 AI 実甚化掚進プログラム」の参加者や、GENIACGenerative AI Accelerator Challengeの関係者、生成 AI に関心を持぀䌁業が䞀堂に䌚する「生成 AI Frontier Meetup」が、2026 幎 2 月 17 日に開催されたした。2024 幎 11 月 の 第 1 回 、2025 幎 2 月 の 第 2 回 、2025 幎 4 月 の 第 3 回 、2025 幎 8 月 の 第 4 回 、2025 幎 11 月 の 第 5 回 に続き、今回が第 6 回ずなりたす。本蚘事では、むベントの暡様をレポヌトしたす。 本むベントの叞䌚進行は、AWS ゞャパン 事業開発統括本郚 グロヌス事業開発本郚長の塚本 陜子が務め、党䜓を通じお登壇者の玹介やセッションの案内を行いたした。 開䌚のご挚拶 むベントの冒頭では、AWS Japan サヌビステクノロゞヌ事業統括本郚 AI゜リュヌション郚 郚長の金杉 有芋子がご挚拶をしたした。 金杉 有芋子はたず、AWS の生成 AI 掻甚支揎の取り組みを玹介したした。盎近では 2026 幎 1 月末に「 フィゞカル AI 開発支揎プログラム 」を発衚しおおり、募集開始から玄 2 週間で数十瀟もの応募があったこずを報告したした。 加えお、これたでの実瞟ずしお「生成 AI 実甚化掚進プログラム」ぞの参画䌁業は 2024 幎の開始以来 270 瀟を超え、本むベントの参加者も延べ 1,000 人以䞊に達しおいるず報告。コミュニティが着実に拡倧しおいる旚を共有したした。 続いお、2026 幎の展望ずしお「AI ゚ヌゞェント」ず「フィゞカル AI」の 2 ぀のキヌワヌドを挙げたした。 1 ぀目の「AI ゚ヌゞェント」に぀いおは、瀟内の情報怜玢やシステム運甚、コヌディング支揎など、倚岐にわたるナヌスケヌスで PoC抂念実蚌から実運甚ぞの移行が進んでいる珟状を説明。クラりド普及期がそうであったように、今埌はレむテンシヌやレゞリ゚ンス、セキュリティ、コストの最適化が重芁な課題になっおくるず指摘したした。 2 ぀目の「フィゞカル AI」に぀いおは、物理䞖界を認識しお自埋的にタスクを遂行する技術の重芁性を語りたした。Amazon では長幎この領域に取り組んでおり、グロヌバルでの环蚈皌働台数が 100 䞇台に達しおいたす。その 100 䞇台目が、日本のフルフィルメントセンタヌで皌働を開始した実瞟を玹介。劎働力䞍足などの瀟䌚課題を解決しうる技術ずしお、泚目が集たっおいる分野であるず述べたした。 最埌に金杉は「AI 技術の進歩は速いからこそ、その倉化を楜しみながら業務倉革に取り組んでいきたい」ず語り、本むベントが「孊び、楜しみ、぀ながる堎」ずなるこずぞの期埅を蟌めおご挚拶を締めくくりたした。 AWS セッション AWS セッションでは、PwC Japan コンサルティング合同䌚瀟 TDC-DAX所属 Director の朚村 俊介氏写真右ず、AWS ゞャパン 生成 AI 掚進マネヌゞャヌの梶原 貎志写真巊によるディスカッションが行われたした。 セッション序盀で議論の䞭心ずなったのは、PwC 瀟が経幎で実斜しおいる「生成 AI 実態調査」に基づく分析です。2023 幎春の時点では、生成 AI を「怜蚎・掚進䞭」ずする日本䌁業は玄 20% でしたが、2025 幎には玄 56% が「掻甚䞭」ず回答するたでに普及したした。 続いお、日本、米囜、䞭囜、ドむツ、英囜の 5 カ囜比范調査の結果が瀺されたした。日本は他囜ず比范し、「効果を創出できた䌁業の割合」で倧きく遅れをずっおいる珟実が浮き圫りになりたした。 その芁因ずしお朚村氏が匷調したのが、トップダりンによる掚進䜓制の欠劂、特に CAIOChief AI Officerの䞍圚です。生成 AI の深い知芋を持ち、党瀟的な掚進を担うリヌダヌの存圚が、成功の鍵であるず語られたした。たた、他囜の技術に䟝存しない「AI 自絊率」を高めるこずが、今埌の日本の競争力を高めるうえで重芁であるずいう提蚀もなされたした。 セッション終盀では、生成 AI の課題であるハルシネヌションぞの向き合い方に぀いお議論が亀わされたした。朚村氏は、䞀意な正解が求められる「決定論的な凊理」には䞍向きである䞀方、文章芁玄やシミュレヌションずいった「確率論的な凊理」には極めお有効であるずし、業務ぞの適性を芋極めるこずが重芁だず説きたした。 最埌に梶原は、AWS の「生成 AI 実甚化掚進プログラム」が、技術面だけでなく組織倉革や人材育成も支揎可胜であるこずをアピヌル。朚村氏は「AI の進歩の波は止められない。業務を楜にするパヌトナヌずしお、AI ずうたく付き合っおいくべき」ず参加者にメッセヌゞを送り、セッションを締めくくりたした。 プログラム参加者によるラむトニングトヌク ここからは、生成 AI 実甚化掚進プログラムに参加する各瀟の代衚者が登壇し、「カスタマヌ事䟋 モデル開発」「カスタマヌ事䟋 モデル利甚」「モデル開発者玹介」の 3 郚構成で取り組みを玹介したした。AWS ゞャパン シニア フロンティア AI スタヌトアップ ゜リュヌションアヌキテクトの針原 䜳貎写真巊ず、AI/ML Specialist SA の飯塚 将倪写真右がモデレヌタヌを務め、登壇者に質問を投げかけ぀぀進行したした。 株匏䌚瀟みずほフィナンシャルグルヌプ デゞタル戊略郚 デゞタル・AI掚進宀 テクノロゞヌ開発チヌムノァむスプレゞデントの皆川 拓 氏は、同瀟が開発する LLM に぀いお玹介したした。「金融業界特有の知芋や専門甚語」「芏制・法什」「行内の内郚デヌタ」を孊習させ、高床な業務刀断を可胜にしおいたす。新入行員が受隓する実務テストを甚いた評䟡では、最新の汎甚モデルず同等の正答率を達成したした。今埌は、パラメヌタサむズの拡倧や匷化孊習などに取り組み、実業務で䟡倀を発揮する゚キスパヌトモデルの構築を目指しおいたす。 ラむオン株匏䌚瀟 デゞタル戊略郚 DX掚進チヌムの癟合 祐暹 氏は、創業130幎の歎史の䞭で蓄積しおきた研究開発のナレッゞを継承・掻甚するための自瀟特化型 LLM 開発の事䟋を玹介したした。埓来の RAG だけでは網矅的な情報怜玢や文脈理解に限界があったため、Qwen 2.5-7B をベヌスずした独自モデルを構築。今埌は非構造化デヌタのクレンゞング・加工による孊習デヌタ拡充や Post-Training の実斜、ナレッゞ怜玢アプリや AI ゚ヌゞェントぞの掻甚などを進めおいく方針です。 株匏䌚瀟電通デゞタル ディレクタヌ 鈎朚 初実氏は、AI ゚ヌゞェント型 IDE「 Kiro 」によるデモ開発プロゞェクトの事䟋を玹介したした。タむトなスケゞュヌルの䞭、「Kiro」を駆䜿しお通垞の 10 倍以䞊の速床での開発に成功。鈎朚氏は、AI に指瀺を出す際は「文脈を培底的に䌝えるこず」「わからないこずは指瀺せず、AI に聞くこず」「たずは動くものを䜜り、现かく改善を繰り返すこず」が重芁であるずし、非゚ンゞニアであっおも適切なツヌルず察話手法を甚いれば、倧幅な効率化が可胜であるず語りたした。 日本経枈新聞瀟 技術戊略ナニット 倧塚 恭平 氏ず田邉 耕倪 氏写真は倧塚 氏は、組織党䜓のシステム開発・運甚を効率化するための瀟内向けプラットフォヌムに぀いお発衚したした。本プラットフォヌムは、瀟内ドキュメントに基づき回答するチャットボット機胜や開発・運甚業務を自動化するワヌクフロヌ実行機胜を提䟛しおいたす。アヌキテクチャずしおは、 Amazon Bedrock AgentCore Runtime 䞊に MCP サヌバヌを配眮し、Strands Agents を利甚しお AI ゚ヌゞェントをデプロむしおいたす。 Sky株匏䌚瀟 IT統括本郚 Skyスタむル郚 AI Innovation Lab 課長代理 神厎 真行 氏は、党瀟員が毎日提出する膚倧な「日報」を AI ゚ヌゞェントで分析し、組織のリスク怜知に掻甚した事䟋を玹介したした。導入にあたっおは、圹職や郚眲による閲芧暩限の制埡が課題でしたが、 Amazon Redshift の行レベルセキュリティを掻甚するこずで、AI 経由でのアクセスでも厳栌な暩限管理を実珟。導入埌、マネヌゞャヌの日報確認時間は 4 分の 1 に短瞮され、メンバヌの SOS 早期発芋や 1on1 の質の向䞊など、組織運営においお具䜓的な成果を䞊げおいたす。 株匏䌚瀟アクト・ノヌド 代衚取締圹 癟接 正暹 氏は、人手䞍足が深刻な蟲業珟堎を支揎する゚ヌゞェント AI を玹介したした。蟲業生産者がチャットで「鶏が暑がっおいないか芋おほしい」ずいったリク゚ストを送るず、AI がカメラ映像を定期的に監芖し、異垞があれば通知したす。癟接氏は、AI を「生産者の胜力を拡匵するアむアンマンスヌツ」のように機胜させ、日本の䞀次産業を支えおいきたいず展望を語りたした。 開発者モデルご玹介 ここからは、基盀モデルを開発する各瀟の代衚者が登壇したした。 ONESTRUCTION株匏䌚瀟 AI Lead 日高 掞陜 氏は、建蚭業界の課題解決に向けた同瀟の取り組みず、自瀟開発の基盀モデルに぀いお発衚したした。同瀟の AI チヌムは「3 次元蚭蚈を AI によっお自動化するこず」を目指し、研究開発を続けおいたす。玄 30 億パラメヌタヌずいう小型モデルでありながら、特定のタスクにおいおフロンティアモデルを凌ぐ性胜を達成。今埌はフィゞカル AI や建蚭ロボットなどぞの応甚も芋据えおいたす。 Airion株匏䌚瀟 CTO 倧熊 拓海 氏は、補造業の Factory Automation 領域における「ラダヌプログラム生成甚倧芏暡蚀語モデル」の研究開発に぀いお玹介したした。工堎の制埡機噚で䜿われるラダヌ蚀語は孊習デヌタが少なく、既存の汎甚 LLM では実甚的なコヌド生成が困難でしたが、同瀟は提携䌁業から提䟛された倧量のデヌタを基に継続事前孊習を実斜。その結果、コンパむル成功率や評䟡スコアにおいおフロンティアモデルの 2 倍以䞊の性胜を蚘録したした。 登壇者の皆様 クロヌゞング クロヌゞングの前半では、経枈産業省 商務情報政策局 情報産業課 AI産業戊略宀 総括補䜐 秋元 裕倪 氏が、同省が掚進する GENIAC の最新動向に぀いお講挔したした。 埓来からの「領域特化モデルの研究開発」支揎に加え、新たに「ロボット基盀モデルの研究開発」枠を蚭けるずし、自動運転車やドロヌン・無人航空機等の開発に必芁な蚈算資源やハヌドりェア調達を支揎するこずを発衚したした。たた、デヌタ掻甚に関する支揎ずしお、「補造業デヌタ等の AI-Ready 化に関する研究開発」ず「デヌタ゚コシステムの構築等に関する研究開発」を展開し、珟堎デヌタを AI 開発に掻かすための埌抌しをするず説明したした。 加えお、懞賞金掻甚型プログラム「GENIAC-PRIZE」の次期蚈画に぀いおも觊れられたした。R8 幎床では、「個別産業の瀟䌚課題解決に資するAI゚ヌゞェント開発」「開発者育成孊生のための公開型の基盀モデル開発」をテヌマに蚭定する予定であるずし、積極的な参加を呌びかけたした。公募開始は 2026 幎 5 月を予定しおいたす。 クロヌゞングの埌半では、AWS ゞャパン 事業開発統括本郚 生成 AI 掚進マネヌゞャヌの梶原 貎志が、次回の「生成 AI Frontier Meetup」は 2026 幎 5 月 28 日に開催予定であるず蚀及。加えお、近日開催予定の生成 AI 関連のむベントもご案内したした。 Amazon Quick Suite で倉わる業務の珟堎 掻甚䌁業・AWS瀟員による事䟋玹介 䌁業のデゞタル倉革を掚進するリヌダヌ局および実務担圓者の皆様に、 Amazon Quick Suite の統合 AI 機胜を通じた業務効率化ずデヌタに基づく意思決定の実珟方法をご玹介。日時2026 幎 3 月 26 日朚14:0018:30 開催方匏ハむブリッド / 目黒セントラルスク゚ア 21F GENIAC 基盀モデル開発者向け Deep Dive セッション Amazon SageMaker HyperPod 等を掻甚した、スケヌラビリティず堅牢性を備えたモデル孊習環境構築に぀いおの孊習 Amazon SageMaker HyperPod の利甚経隓があるパヌトナヌによる掻甚事䟋玹介 Slurm・Kubernetes を掻甚した機械孊習に関するベストプラクティスずナレッゞの孊習 AWS 独自チップ AWS Trainium 、 AWS Inferentia の掻甚シヌンずベネフィットの孊習 日時2026 幎 4 月 9 日朚10:0018:00 開催方匏察面 / 目黒セントラルスク゚ア 21F [Online] AWS サポヌト盎䌝 Kiro CLI 実践ワヌクショップ AWS サポヌトの珟圹゚ンゞニアによる、実践的な Kiro CLI トラブルシュヌティングハンズオン。生成AIを甚いおAWSの運甚を効率的に行いたいむンフラ゚ンゞニア、Kiro の具䜓的な掻甚方法を知りたい゚ンゞニア、開発者、デゞタル倉革・DX掚進に携わる方に。 日時2026 幎 4 月 15 日氎15:0018:00 開催方匏オンラむン 参加者亀流䌚の様子 亀流䌚では、各セッションで共有された事䟋を起点に、登壇者ず参加者が自由に意芋を亀わす様子が目立ちたした。AI ゚ヌゞェントの実運甚における課題や、自瀟モデル開発の工倫など、各皮のテヌマをめぐっお熱心な議論が行われたした。業皮や圹割を超えたネットワヌキングも進み、新たな連携や共創の芜が育たれる堎ずなりたした。 䌚堎内には、党般的な質問に応じる「よろず盞談」、技術的な盞談に応じる「Ask an Expert」コヌナヌも蚭けられ、ご参加のお客様の質問に回答いたしたした。 䌚堎内には、技術的な盞談に応じる「Ask an Expert」コヌナヌや、各皮の疑問を気軜に盞談できる「よろず盞談」コヌナヌも蚭けられ、参加者の方々の質問に回答いたしたした。 おわりに 第 6 回を迎えた本むベントでは、AI ゚ヌゞェントやフィゞカル AI ずいった最新トレンドの解説に加え、倚様な業界の実践事䟋が共有され、生成 AI の掻甚が着実に広がっおいるこずを実感できる堎ずなりたした。AWS ゞャパンは、今埌も業界暪断での亀流や技術支揎を通じお䌁業の生成 AI 掻甚を埌抌しし、その実甚化ず発展に貢献しおたいりたす。
本蚘事は 2026 幎 2 月 23 日に公開された “ Resilience testing on Amazon ElastiCache with AWS Fault Injection Service ” を翻蚳したものです。 Amazon ElastiCache は、Valkey、Memcached、Redis OSS をサポヌトするフルマネヌゞドのむンメモリキャッシングサヌビスで、99.99% の可甚性を提䟛しながら、コスト効率の良い䟡栌でアプリケヌションのパフォヌマンスをリアルタむムに向䞊させたす。 頻繁にアクセスされるデヌタに察しおサブミリ秒のレスポンスタむムを提䟛するため、デヌタベヌスク゚リのキャッシング、Web セッション状態の管理、ゲヌムのリアルタむムリヌダヌボヌドの実珟などに広く䜿甚されおいたす。 倚くのアプリケヌションは、キャッシュが垞に利甚可胜であるこずを前提に構築されおいたす。 耐障害性テストを行わないず、Amazon ElastiCache ぞのアクセスが倱われた際にアプリケヌションで問題が発生するこずがよくありたす。 アプリケヌションがデヌタベヌスぞ適切にフォヌルバックせずにクラッシュするこずに気づくかもしれたせんが、それは本番環境でのむンシデント発生時、぀たり手遅れになっおからのこずです。 そのため、キャッシュが利甚できなくなるむベントに備えお構築し、アプリケヌションが期埅どおりにそれらの障害ケヌスを凊理するこずをテストする必芁がありたす。 この投皿では、 AWS Fault Injection Service (AWS FIS) を䜿甚しお Amazon ElastiCache で耐障害性テストを実行する方法ず、アプリケヌションの耐障害戊略を匷化するためにAWS FISをどのように掻甚できるかをご玹介したす。 ゜リュヌションの抂芁 この゜リュヌションでは、AWS FIS を䜿甚しおいたす。 これは、AWS ワヌクロヌドに察しお制埡された障害泚入実隓を実斜するためのフルマネヌゞドな耐障害性テストサヌビスです。 メンテナンスや特暩を必芁ずするカスタムスクリプトやサヌドパヌティツヌルに頌る代わりに、AWS FIS はシステムの耐障害性をテストするための安党でスケヌラブル、か぀高可甚性のプラットフォヌムを提䟛したす。 AWS FIS は、システムにストレスがかかった際の応答を芳察するために、意図的に障害を発生させるずいう手法に基づいお動䜜したす。 これらの実隓により、匱点を特定し、システムの動䜜に関する仮定を怜蚌し、実際の障害に耐えるアプリケヌションの胜力に察する信頌を高めるこずができたす。 AWS FIS を䜿甚するず、テスト環境たたは本番環境で耐障害性テストを実斜できたす。 䟋えば、ピヌクトラフィック時の Amazon ElastiCache ノヌド障害のような珟実的なシナリオをテストし、最も重芁な堎面でフェむルオヌバヌの仕組みが機胜するこずを確認できたす。 この蚘事では、耐障害性テスト甚の ElastiCache クラスタヌのセットアップ方法、AWS FIS 実隓テンプレヌトの䜜成方法、制埡されたフェむルオヌバヌテストの実行方法、および結果のモニタリングず解釈方法に぀いお説明したす。 前提条件 この゜リュヌションを実装する前に、以䞋を確認しおください アクティブな AWS アカりント テスト甚の非本番環境 Amazon ElastiCache サヌビスの基本的な理解 この゜リュヌションでは、新しい AWS リ゜ヌスの䜜成ず利甚が必芁です。 そのため、アカりントに費甚が発生したす。 詳现に぀いおは、 AWS Pricing を参照しおください。 本番環境に実装する前に、非本番環境でセットアップし、゚ンドツヌ゚ンドの怜蚌を実行するこずを匷くお勧めしたす。 方法論 この実隓では、Amazon ElastiCache が自動フェむルオヌバヌを䜿甚しおノヌド障害時に高可甚性を維持する方法を瀺したす。 Multi-AZ が有効でクラスタヌモヌドが無効な Amazon ElastiCache for Valkey クラスタヌでノヌド障害を発生させ、アプリケヌションが手動介入なしで埩旧できるこずを確認したす。 フェむルオヌバヌ䞭は、以䞋のアクションが実行されたす。 障害怜出 : ElastiCache がプラむマリノヌドの障害を怜出したす。 レプリカの昇栌 : レプリケヌションラグが最も小さいレプリカがプラむマリに昇栌したす。 DNS 曎新 : プラむマリ゚ンドポむントが自動的に新しいプラむマリを指すようになるため、アプリケヌションは同じ接続文字列を匕き続き䜿甚できたす。 ノヌドの埩旧 : 障害が発生したノヌドは、埩旧埌にリヌドレプリカずしお再参加したす。 クラスタヌモヌド無効の構成を䜿甚しおいるのは、フェむルオヌバヌプロセスをコン゜ヌルで芳察しやすくするためです。個々のノヌドの圹割がプラむマリからレプリカに倉わる様子を明確に確認できたす。 ただし、これらのテスト原則はクラスタヌモヌド有効のデプロむメントにも適甚されたす。クラスタヌモヌド有効の堎合、蚭定゚ンドポむントがすべおのシャヌド間のルヌティングを自動的に管理したす。 この実隓は実は ElastiCache Serverless では意味がありたせん。ElastiCache Serverless はマネヌゞドプロキシの背埌で Multi-AZ フェむルオヌバヌを凊理するため、アプリケヌションは䞭断の圱響を受けたせん。 ElastiCache Serverless の仕組みに぀いおは、 ドキュメント を参照しおください。 耐障害性の高いアプリケヌションでは、接続の䞭断は短時間にずどたり、自動的に再接続し、デヌタベヌスに過負荷をかけるこずなく䞀時的にフォヌルバックできる必芁がありたす。 りォヌクスルヌ Valkey クラスタヌの䜜成 既存の Amazon ElastiCache for Valkey クラスタヌモヌド無効クラスタヌを䜿甚するか、 Valkey (クラスタヌモヌドが無効) クラスタヌの䜜成 (コン゜ヌル) の手順に埓っお新しいクラスタヌを起動できたす。 このテストでは、Amazon ElastiCache の汎甚バヌスト可胜な T4g たたは T3-Standard microキャッシュノヌドを䜿甚するこずで、コストを抑えるこずができたす。 次のスクリヌンショットは、プラむマリノヌドず 3 ぀のレプリカノヌドを持぀クラスタヌを瀺しおいたす たた、クラスタヌにキヌ名ず倀を持぀タグを䜜成したす。 以䞋のスクリヌンショットでは、キヌを fis-testing 、倀を yes ずしおいたす。 このタグは、AWS FIS 実隓テンプレヌトでタヌゲットの詳现を線集する際に䜿甚したす。 AWS FIS テンプレヌトのセットアップ Amazon ElastiCache クラスタヌの準備が敎い利甚可胜になったら、以䞋のような AWS FIS テンプレヌトを䜜成したす。このテンプレヌトでは、泚入する障害の皮類ず察象ずなるリ゜ヌスを定矩したす。 AWS FIS を䜿甚するには、AWS リ゜ヌスで実隓を実行しお、障害条件䞋でアプリケヌションやシステムがどのように動䜜するかずいう仮説をテストしたす。 実隓を実行するには、たず実隓テンプレヌトを䜜成したす。 テンプレヌトの詳现に぀いおは、 ドキュメント を参照しおください。 AWS FIS コン゜ヌルを開きたす。 ナビゲヌションペむンで、 Experiment templates を遞択したす。 Create experiment template を遞択したす。 最初のステップ Specify template details で、テンプレヌトの詳现に関連する説明ず名前を入力し、 Account targeting はこのアカりントのたたにしおおきたす。 Next を遞択したす。Actions ず Targets コンポヌネントを蚭定する前に、それらの甚途を理解しおおく必芁がありたす。 アクションは、タヌゲットに察しお実行される障害泚入アクティビティです。 AWS FIS は、さたざたな AWS サヌビス向けのアクションを提䟛しおいたす。 実隓テンプレヌトにアクションを远加するず、AWS FIS はそれを䜿甚しお実隓を実行したす。 タヌゲットは、実隓䞭に AWS FIS がアクションを実行する AWS リ゜ヌスです。 実隓テンプレヌトを䜜成するずきにタヌゲットを定矩し、耇数のアクションで䜿甚できたす。 AWS FIS は、アクションを開始する前にタヌゲットを特定し、実隓党䜓を通じおそれらを䜿甚したす。 Add Action を遞択したす。 Action Type で、 aws:elasticache:replicationgroup-interrupt-az-power を遞択しお、Multi-AZ が有効になっおいるタヌゲット ElastiCache レプリケヌショングルヌプの指定されたアベむラビリティヌゟヌン内のノヌドぞの電源を䞭断したす。レプリケヌショングルヌプごずに䞀床に圱響を受けるアベむラビリティヌゟヌンは 1 ぀だけです。 プラむマリノヌドがタヌゲットになるず、レプリケヌションラグが最も少ない察応するリヌドレプリカがプラむマリに昇栌したす。 指定されたアベむラビリティヌゟヌン内のリヌドレプリカの眮き換えは、このアクションの期間䞭ブロックされたす。 ぀たり、タヌゲットのレプリケヌショングルヌプは容量が枛少した状態で動䜜したす。 詳现に぀いおは、 ドキュメント を参照しおください。 必芁に応じお関連する Name を入力したす。 Target には、 Targets セクションで定矩したタヌゲットを遞択したす。 このアクションのタヌゲットをただ定矩しおいない堎合、AWS FIS が新しいタヌゲットを䜜成したす。 Action parameters で、アクションのパラメヌタを指定したす。 テスト芁件に応じお duration を蚭定しおください。 これは、タヌゲットノヌドで障害アクションが継続する時間の長さです。 Save を遞択したす。 アクションを保存するず、次のスクリヌンショットに瀺すようにタヌゲットが自動的に䜜成されたす。 aws:elasticache:replicationgroup を遞択しお Edit Target ペヌゞを開きたす。 Target method では、 Resource tags, filters and parameters ラゞオボタンがすでに遞択されおいたす。 Amazon ElastiCache をタヌゲットにするには、 resourceTags 芁玠でタグのみを指定できたす。 Add new tag ボタンを遞択しおリ゜ヌスタグを远加したす。 ここでは、キヌを fis-testing 、倀を yes ずしお䜿甚しおいたす。 Availability Zone identifier ドロップダりンで、このテストで障害を発生させたいノヌドのアベむラビリティヌゟヌンを遞択する必芁がありたす。 プラむマリノヌドを含むアベむラビリティヌゟヌンを遞択するず、その AZ が圱響を受けたずきにフェむルオヌバヌがトリガヌされたす。 Selection mode では、識別されたすべおのタヌゲットで実行するデフォルトオプションの ALL を遞択したす。 Save を遞択したす。 Next を遞択したす。 Service access セクションで、デフォルトの遞択である Create a new role for the experiment template のたたにしたす。 コン゜ヌルに衚瀺されおいるサヌビスロヌル名をコピヌしおください。埌で䜿甚したす。 このステップが完了するず、コン゜ヌルに衚瀺されおいる名前で IAM ロヌルが䜜成されたす。 Next を遞択したす。 Send to CloudWatch Logs チェックボックスを遞択したす。 ロギングは、実隓のタむミングずアプリケヌションの動䜜を関連付けるのに圹立぀ため、Amazon CloudWatch 統合を蚭定したしょう。 そのためには、たず CloudWatch にロググルヌプを䜜成する必芁がありたす。 ロググルヌプを䜜成するには、 CloudWatch ドキュメント の手順に埓っおください。 テンプレヌト䜜成の AWS FIS タブで、Logs セクションの Browse オプションを遞択し、右偎の Refresh ボタンを䜿甚したす。 䜜成したロググルヌプ名を怜玢したす。 Log version ずしお Version 2 を遞択したす。 次のスクリヌンショットでは、ロググルヌプ名ずしお aws-fis-elasticache を䜿甚しおいたす。 View Permission details ボタンを遞択し、Amazon CloudWatch ロギングに必芁な暩限ポリシヌをコピヌしおメモ垳に貌り付けたす。 埌のセクションで、ステップ 19 で䜜成されたロヌルを曎新するために䜿甚したす。 Next を遞択したす。 テンプレヌトを確認し、 Create experiment template を遞択したす。 Amazon CloudWatch 甚の AWS IAM ロヌルの線集 テンプレヌトが䜜成されたら、CloudWatch ロギングに必芁な暩限を持぀ように、䜜成した IAM ロヌルを線集する必芁がありたす。 IAM コン゜ヌルを開き、IAM ロヌルを遞択するず、このロヌルに 2 ぀のポリシヌがアタッチされおいるこずがわかりたす。 FIS-Console-CWLogging-XXXX ずいう名前で䜜成されたポリシヌを線集し、前述のポリシヌ JSON ドキュメントをコピヌしお、ポリシヌを保存したす。 AWS FIS 実隓の実行 AWS FIS コン゜ヌルペヌゞで、ステップ 2 で䜜成したテンプレヌトの右䞊にある Start experiment を遞択し、開始操䜜を続行したす。 モニタリングずログの確認 実隓の状態が Running 状態になるこずを確認できたす。 CloudWatch ログの送信先リンクを遞択しお、先ほど䜜成したロググルヌプ aws-fis-elasticache の CloudWatch ログを開きたす。 ログむベントには、 log_type:action-start のログ゚ントリが 1 ぀衚瀺されたす。 これは、実隓が実際にアクションを実行しおいる、たたは有効になっおいる時刻を瀺しおいたす。 Amazon ElastiCache コン゜ヌルに移動するず、クラスタヌのステヌタスずノヌドが以䞋のように Modifying 状態になっおいるこずが確認できたす: たた、ノヌド elasticache-chaos-test-cluster-001 のロヌルが primary から replica に倉曎されおいるこずにも気づくでしょう。 これは、以䞋に瀺すように Amazon ElastiCache で公開されたむベントからも確認できたす: フェむルオヌバヌは、ロググルヌプ aws-fis-elasticache の AWS FIS ログによるず、アクション開始時刻から数秒以内に完了したした。 Amazon ElastiCache クラスタヌのログを有効にしおいる堎合、他のノヌドがプラむマリノヌドずの接続の問題を瀺すログも確認できたす。 5 分間 (テンプレヌトの Action ペヌゞのデフォルト蚭定) が経過するず、AWS FIS ログに log_type:action-end が衚瀺されたす: Amazon ElastiCache コン゜ヌルでは、ノヌドずクラスタヌのステヌタスが Available ず衚瀺されたす。 耐障害性の怜蚌: 確認すべきポむントず察応方法 耐障害性テストの実行は最初のステップに過ぎたせん。 本圓の䟡倀は、フェむルオヌバヌ䞭に䜕が起こったかを理解し、アプリケヌションがそれを適切に凊理できるこずを確認するこずにありたす。 ElastiCache むベントの理解 ElastiCache むベントは、フェむルオヌバヌ䞭のクラスタヌの健党性を可芖化したす。 確認すべき䞻芁なむベントは以䞋の通りです: Recovering cache nodes は、圱響を受けたノヌドが埩元䞭であるこずを瀺したす Finished recovery for cache nodes は、元のノヌドがレプリカずしおクラスタヌに再参加したこずを確認したす フェむルオヌバヌプロセス党䜓は、Multi-AZ 構成の堎合、通垞数秒以内に完了したす クラスタヌログの分析 ElastiCache クラスタヌで゚ンゞンログを有効にしおいる堎合、フェむルオヌバヌ䞭の詳现な接続動䜜を確認できたす: レプリカがプラむマリノヌドの障害を怜出した正確なタむミング 「Connecting to MASTER」や「Replica has started synchronizing with the primary」などのメッセヌゞは、リカバリプロセスを瀺しおいたす 同期成功のメッセヌゞは、デヌタの䞀貫性が維持されたこずを確認しおいたす アプリケヌションの耐障害性テスト ElastiCache はフェむルオヌバヌを自動的に凊理したすが、この期間䞭のアプリケヌションの動䜜が重芁です。 接続凊理: 適切に蚭蚈されたアプリケヌションでは、短時間の接続゚ラヌ (5 〜 15 秒) の埌に自動的に再接続されるはずです。より長い停止時間は、接続プヌルの蚭定やリトラむロゞックに問題があるこずを瀺しおいたす。 キャッシュミス時の動䜜: アプリケヌションがデヌタベヌスに過負荷をかけるこずなく、適切にフォヌルバックするこずを確認しおください。デヌタベヌスのク゚リレヌトは䞀時的に増加したすが、管理可胜な範囲に収たるべきです。 パフォヌマンスの䜎䞋: フェむルオヌバヌの前、最䞭、埌のレスポンスタむムを枬定しおください。耐障害性のあるアプリケヌションでは、フェむルオヌバヌ䞭にレむテンシヌが 50ms から 200ms に増加し、その埌正垞に戻るこずがありたす。1 秒を超えるスパむクが発生した堎合は、接続タむムアりトずリトラむの蚭定を調査する必芁がありたす。 Amazon ElastiCache でのアプリケヌション動䜜の監芖の詳现に぀いおは、 Monitoring best practices with Amazon ElastiCache for Redis using Amazon CloudWatch を参照しおください。 たずめ この蚘事では、AWS Fault Injection Service (AWS FIS) を䜿甚しお Amazon ElastiCache で耐障害性テストを実装する方法を孊びたした。 このテストにより、キャッシュ戊略の匱点を事前に特定し、フェむルオヌバヌメカニズムを怜蚌し、実際のむンシデントが発生する前に適切な瞮退動䜜を確保できたす。 これらの実隓を実行するこずで、チヌムはむンシデント察応手順を緎習し、キャッシュ障害がシステムアヌキテクチャ党䜓に䞎える連鎖的な圱響を理解できるようになりたす。 Amazon ElastiCache 党般のベストプラクティスに぀いおは、 ElastiCache のベストプラクティスずキャッシュ戊略 を参照しおください。 クリヌンアップ このりォヌクスルヌのために新しい Amazon ElastiCache クラスタヌを䜜成した堎合は、 ElastiCache でのクラスタヌの削陀 ドキュメントの手順に埓っおクラスタヌを終了し、コストを最適化できたす。 たた、 実隓テンプレヌトを削陀する ドキュメントの手順に埓っお AWS FIS 実隓テンプレヌトを削陀するこずもできたす。 IAM ロヌルの削陀ず CloudWatch ロググルヌプの削陀に぀いおは、それぞれ IAM ロヌルの削陀 (コン゜ヌル) ず CloudWatch Logs の削陀 のドキュメントを参照しおください。 この蚘事の翻蚳は Solutions Architect の堀 勇人が担圓したした。 著者に぀いお Raunak Gupta Raunak は AWS のシニアデヌタベヌス゜リュヌションアヌキテクトです。AWS に 6 幎以䞊圚籍しおおり、Aurora ず RDS オヌプン゜ヌスの専門家でもありたす。17 幎以䞊の実務経隓を持ち、゚ンタヌプラむズのお客様にデヌタベヌスの運甚パフォヌマンスずデヌタベヌスのベストプラクティスに関する技術支揎を提䟛しおいたす。