TECH PLAY

AWS

AWS の技術ブログ

å…š2973ä»¶

本ブログは、ルヌムクリップ株匏䌚瀟ず Amazon Web Services Japan が共同で執筆したした。たた、今回の内容を含む講挔動画 ( Lambda で動くプロンプトラむクな物䜓怜出システム ) も公開されおいたすので、興味をお持ちいただけたしたら合わせおご芧ください。 ルヌムクリップ株匏䌚瀟 は「日垞の創造性を応揎する」ずいうミッションを掲げ、䜏生掻の領域に特化した日本最倧玚の゜ヌシャルプラットフォヌム「RoomClip」を運営しおいたす。同プラットフォヌムでは、ナヌザヌが投皿した「䜏生掻の実䟋写真」から欲しいアむテムや奜きなブランドず繋がるこずができたす。 同瀟で投皿された郚屋写真を自動で解析しお類䌌商品のリンクを蚘茉する機胜を実装したした。これによりナヌザヌは投皿された写真に写る家具を取り扱う EC サむトに遷移したり、䞀郚は Roomclip 内で盎接賌入できるため、シヌムレスな賌買䜓隓が埗られたす。この機胜のコアずなる家具の怜出システムに軜量な基盀モデルを採甚し AWS Lambda 䞊で実行した事䟋を玹介いたしたす。 課題 家具の怜出システムの実装には芁件が 2 ぀あり、1) ある写真ではカヌテンにリンクを付䞎するが、ある写真では付䞎しないずいうような、现やかな運甚のドメむン知識を反映できるこず。2) 今たでリンクが付けられおいなかったコヌヒヌメヌカヌにもリンクを付䞎したいずいうような、远加のニヌズに柔軟に察応できるこずが求められたす。 たずは、家具怜出システム構築に必芁な芁玠であるセグメンテヌション、家具の認識、座暙の取埗を、既存の仕組みを甚いお怜蚎したした。しかし、既存の API サヌビスを利甚する堎合、新たに怜出したい家具を远加するには远加孊習が必芁で、ニヌズに即座に応えるのが難しいこず。さらに過剰に家具を怜出しおしたうずいう課題があり、柔軟なリンク付䞎察象の調敎が難しいこずが分かりたした。たた、自瀟で機械孊習モデルを開発する堎合は GPU の利甚コストず孊習時間がかかるずいう課題がありたした。 ゜リュヌション ルヌムクリップ瀟では課題解決のために、軜量な基盀モデルを利甚しお自然蚀語で指定した家具のみを怜出させる以䞋のようなアプロヌチを取りたした。 FastSAM による物䜓のセグメンテヌションず座暙取埗 基盀モデルの CLIP による自然蚀語で指定した家具の認識 FastSAM ず CLIP を組み合わせた物䜓怜出のフロヌを AWS Lambda 䞊で構築 FastSAM のセグメント範囲の倧小を調敎できるカスタム性ず、CLIP を利甚した自然蚀語で指定した家具のみを抜出するフィルタヌを組み合わせるこずで、现やかなビゞネスニヌズに応える柔軟な家具怜出システムを実珟したした。投皿された写真が Amazon Simple Storage Service (Amazon S3) に保存されたこずをトリガヌに AWS Lambda 䞊の家具怜出システムが実行され、凊理結果が Amazon Relational Database Service (Amazon RDS) に保存されるずいうシンプルな構成です。ここで泚目すべきは家具怜出システムは CPU で動䜜し、 AWS Lambda のメモリは 4 GB 皋床で、写真 1 枚あたりの蚈算は 60 秒以䞋で完了する高速か぀䜎コストなシステムであるこずです。怜出すべき家具が远加された堎合でも、远加孊習䞍芁でプロンプトを倉曎するだけで察応可胜です。 導入効果 生成 AI を掻甚したこずにより独自のニヌズに即座に応えられる家具怜出システムの構築を実珟したした。プロンプトで認識すべき家具を指定できるため、非゚ンゞニアでも仕様を倉曎できる柔軟なシステムずなりたした。新たに認識したい家具が増えた堎合でも、远加孊習䞍芁でプロンプトの修正のみで察応可胜です。ビゞネス的な効果ずしおは、導入前ず比范しお商品ペヌゞの閲芧数がおよそ 2 倍に増加する倧きな効果が埗られたした。たた基盀モデルを AWS Lambda 䞊で実行するこずで、コストず運甚負荷を倧幅に削枛できたした。ルヌムクリップ瀟は、今埌も AI やクラりドサヌビスの掻甚を掚進し、䜏生掻の領域でむノベヌションを続けおいく考えです。 ゜リュヌションアヌキテクト 長友 健人
アバタヌ
2024 幎 6 月 20 日、21 日に AWS Summit Japan が開催され、その 1 日目に “ チヌムで課題解決型ハンズオンに挑戊楜しく孊ぶ「AWS Jam」 ” を実斜したした。本むベントには、クラりドスキルの向䞊を目指す 112 名が 4 名ず぀ 28 チヌムに分かれお参加し、熱戊が繰り広げられるず同時にチヌム内でのスキル共有や新たな発芋に満ちた有意矩な時間ずなりたした。 このブログでは圓日の様子を䌝え぀぀、AWS Jam がどのように AWS の孊習やチヌムでのスキル共有などに圹立おられるか、AWS Jam を実斜したい堎合の遞択肢ずしお AWS Skill Builder やクラスルヌムトレヌニングを玹介したす。 AWS Jam ずは AWS Jam は、AWS のナヌスケヌスに沿っお甚意された様々なテヌマの課題を解決しながら「AWS を楜しく孊ぶ」実践型のむベントです。参加者は AWS やシステム開発の知識や経隓を掻甚し、必芁に応じおその堎で情報を調べながら、䞎えられた耇数の課題を AWS マネゞメントコン゜ヌルなどを利甚しおクリアしおいきたす。AWS Jam では、課題ごずに獲埗埗点やヒントが蚭定されおおり、時間内にクリアした課題ず䜿甚したヒントを総合しおチヌムの埗点を競い合いたす。 AWS Jam には「 Play 」「 Learn 」「 Validate 」の3぀のコンセプトがありたす。 Play (遊ぶ) : 埗点を競うゲヌミング圢匏のむベントを通じお、楜しみながら課題解決に挑戊したす。チヌム内でのコミュニケヌションの促進にも぀ながりたす。 Learn (孊ぶ) : シナリオに沿った課題を解決するこずで、AWS サヌビスの知識やスキルを身に぀けおいきたす。普段扱っおいない AWS のサヌビスや機胜を新たに孊んだり調べたりする機䌚にもなりたす。 Validate (怜蚌する) : 課題解決を通しお、参加者自身の AWS サヌビスに察するスキルや理解床を確認できたす。 AWS Jam 実斜前のハむラむト 今回の AWS Jam では 4 人でチヌムを組みたす。登録時点ではチヌムは決たっおおらず、䌚堎に入堎する際にくじ匕きでチヌムを決定したした。ランダムにチヌムを決定するこずで、個人で参加する人のハヌドルを䞋げ、平等性を保぀こずを目的ずしたした。 AWS Jam 開堎時のくじ匕きず誘導 AWS Jam に参加するには、AWS Skill Builder のアカりントが必芁です。開堎からむベント開始たでの時間を利甚しお、アカりントの準備を行なっおいただきたした。たた、準備が完了したテヌブルでは、チヌムメンバヌず自己玹介や雑談をしお亀流を深めおいたした。 準備が敎ったらオリ゚ンテヌション開始です。オリ゚ンテヌションでは、AWS Jam のプラットフォヌム䞊でむベントずチヌムに参加しおいただき、AWS Jam の玹介ずチャレンゞぞの取り組み方の説明を行いたした。 AWS Jam では、チヌムでの取り組み方にプラットフォヌム䞊の制玄は無く、耇数人で盞談しながら 1 ぀ず぀チャレンゞを進めるモブ型や、チヌム内で 2 人 1 組になっおチャレンゞを進めるペア型、手分けしお個人でチャレンゞを進める゜ロ型がありたす。 AWS Jam チヌム内での分担 ただし、本むベントでは以䞋の理由によりペアワヌクたたはモブワヌクで進めおいただくこずにしたした。 個人ではなく、チヌムで AWS Jam むベントを楜しんでいただきたいため AWS Jam は個人の孊習だけではなく参加者同士のスキル共有にも圹立぀こずを䜓隓しおいただきたかったため たた、ペアワヌクたたはモブワヌクをチャレンゞに取り組む時のルヌルずしお蚭定するこずは、昚幎の AWS Summit でも行なっおいたした。ペアワヌクたたはモブワヌクの効果やうたく進めるための方法は AWS Jam 実斜レポヌト @ AWS Summit Tokyo 2023 も確認ください。 AWS Jam 開始前にいく぀かコツを䌝えたした。盎前のこずが䞀番蚘憶に残りやすいため、特に重芁なこずを開始盎前のタむミングで䌝えるず効果的です。 AWS Jam うたく進めるためのコツ 特に最埌の楜しむためのコツずしお、チヌムで喜びを共有するこずを意識しおいただきたした。チヌムで䜕かを達成したり、ポむントを獲埗したりしたずきには、チヌム党員で拍手をするこずで、チヌムの連垯感を高め、チヌムでむベントを楜しんでいただけるようにしたした。 AWS Jam 実斜䞭の様子 本むベントでチヌムで Jam に取り組む時間は 150 分でした。AWS Jam が始たるず、チヌム内でペアを決めたり、担圓チャレンゞを盞談したりしおいたした。ペアワヌクやモブワヌクでは、画面を操䜜するドラむバヌず、指瀺やサポヌトを行うナビゲヌタヌに分かれお協力しながらチャレンゞに取り組んでいたした。参加者の䞭にはペアワヌクやモブワヌクを初めお経隓する方も倚く、最初は䞊手に指瀺ができなかったり、指瀺の意図をうたく汲み取れなかったりする様子も芋受けられたしたが、積極的にコミュニケヌションを取る䞭でチヌムでスキルを共有する姿が芋られたした。 たた、ペアワヌクでチャレンゞに取り組む䞭で行き詰たったずきには、ホワむトボヌドを掻甚しお考えを敎理したり、チヌム内の他のペアに盞談したりするこずで、チヌム䞀䞞ずなっお課題解決に取り組んでいたした。 AWS Jam 実斜䞭の様子 1/4 AWS Jam 実斜䞭の様子 2/4 AWS Jam 実斜䞭の様子 3/4 AWS Jam 実斜䞭の様子 4/4 結果発衚 激戊の結果、優勝は「オオサカ」チヌム、2 䜍が「Nara as the No.1」チヌム、3 䜍が「サヌティヌワン」チヌムずなりたした。各チヌムずも玠晎らしいパフォヌマンスを芋せ、最埌たで緊匵感が挂う癜熱した戊いを繰り広げたした。おめでずうございたす。 1 䜍「オオサカ」のみなさん 2 䜍「 Nara as the No.1 」のみなさん 3 䜍「サヌティヌワン」のみなさん 䞊䜍チヌムのメンバヌ AWS Jam のコン゜ヌルでは、リヌダヌボヌドやスコアリングトレンドがリアルタむムで衚瀺されるため、特に埌半ではリヌダヌボヌドを芋ながらチャレンゞの優先順䜍を倉曎したり、ヒントを掻甚しおチヌムで競い合う様子が確認できたした。スコアリングトレンドからは、順䜍が䜕床も入れ替わる倧接戊の様子がわかりたす。 AWS Jam では単玔な技術力だけでなく、チヌムでの連携や戊略も順䜍に倧きく圱響したす。特に、ヒントを䜿甚したチヌムには最倧獲埗可胜スコアの枛少ずいうペナルティがある䞭、ヒントを䜿っおでも孊びずスコアを埗るずいう戊略を遞択したチヌムもありたした。 AWS Jam リヌダヌボヌド AWS Jam スコアリングトレンド 実斜埌のアンケヌトでは、「楜しく孊べお倧倉満足したした」「ペアワヌクはお互いで教え合う仕掛けになっおおり、勉匷になり、か぀楜しかったです」「普段利甚しおいなかったサヌビスか぀、蚭定したこずのない蚭定ができたので、そこは今埌の瀟内でのサヌビス怜蚎時に利甚できそうです。」ずいったコメントを倚くいただきたした。 たた、「今埌自分の組織でスキルアップをするために AWS Jam を䜿いたいず思いたすか」ずいう項目では、96 %以䞊の参加者が肯定的な結果ずなりたした。組織で AWS のスキルアップを考えられおいる堎合には、ぜひ AWS Jam を掻甚しおみおください。組織で AWS Jam を掻甚する方法は次にご玹介したす。 AWS Skill Builder チヌムサブスクリプションで AWS Jam むベントを実斜可胜 AWS Skill Builder は AWS の無料の孊習コンテンツずしお、600 を超えるデゞタルコヌスや AWS 認定公匏緎習問題を䜿甚できるオンラむン孊習センタヌです。たた、 チヌムサブスクリプション を利甚すれば、今回の AWS Summit で実斜した AWS Jam むベントをお客様が実斜できるようになりたす。他にも 500 を超えるチャレンゞ (2024/07/01 珟圚) から奜みのチャレンゞを遞定し、組織内で回数制限なく自由にむベントを開催できたす。 AWS Skill Builder サブスクリプションのご案内 のブログに詳现が蚘茉されおいたすので、䜵せおご確認ください。 AWS Summit Japan 2024 で䜿われたチャレンゞの䞀芧はこちらです。すでに組織で AWS Skill Builder チヌムサブスクリプションを契玄されおいる堎合は、「 AWS Summit Japan 2024 」 のチャレンゞセットを䜿甚しお、ぜひご自身の組織で開催しおみおください。 レベル タむトル AWSサヌビス Easy Protect my CloudFront Origin CloudFront, ELB Easy ARM64 your Databases RDS Medium Query operations in DynamoDB DynamoDB, Lambda Medium Use one ALB with multiple domains ELB, Route 53, VPC Medium Pull the Alarm! CloudWatch, EC2 Medium Mining in my cloud? CloudTrail, EC2, ELB Medium Trace with AWS Lambda Powertools Lambda, X-Ray, DynamoDB Medium Connect using RDS Proxy RDS, Lambda, IAM Hard A/B Testing Puzzle CloudFront, S3, Cognito, API Gateway, Lambda, DynamoDB, CloudWatch Hard Hash the Data Lake! Athena, S3, Lake Formation, Lambda AWS クラスルヌムトレヌニングで AWS Jam を提䟛䞭 AWS クラスルヌムトレヌニングに AWS Jam を远加したコヌスも提䟛しおいたす (2024/07/01 時点では個瀟向けの開催のみです)。こちらを遞択しおいただく利点ずしお、クラスルヌムトレヌニングを受けた埌に AWS Jam を実斜するため、 知識をむンプットするだけでなく AWS Jam で実践するこずで、より理解を深めたりスキルずしおの怜蚌をしたりできる点がありたす。さらに、トレヌニング䌁画時に AWS の担圓者ず盞談しながら AWS Jam の実斜方法を決めおいけるので、以䞋のような芁望も可胜です。 Play / Learn / Validate のどのコンセプトを重芖するか 知識やスキルの近いメンバヌでチヌムを組むか、均等になるようにチヌムを組むか モブ型、ペア型、゜ロ型など、どんな圢匏で進めるか たた、AWS Summit ず同様に AWS の認定むンストラクタヌが実斜準備や圓日の進行をするため、AWS Jam の甚意や進行をするのに䞍安があるお客様にもおすすめです。 AWS Jam を远加したクラスルヌムトレヌニングはオンラむンでもオンサむトでもどちらでも提䟛可胜です。オンラむンの利点を掻かしお、普段は亀流の少ないグルヌプ内䌁業や囜際拠点の埓業員ずの亀流の堎ずしたり、オンサむトで郚眲やチヌム内のスキル共有の堎ずしおいただいおいたす。どちらもトレヌニングでの知識のむンプットだけでなく、AWS Jam で実践するこずで、知識を深めスキルずしお怜蚌できたずお客様から満足いただけおいたす。 組織での AWS Jam 掻甚に興味がある堎合は、 AWS トレヌニングず認定ぞのお問い合わせ からご連絡ください。(画面右䞊で「日本語」を遞択し、日本語での問い合わせが可胜です) 最埌に AWS Jam は、楜しみながら実践的に AWS を孊ぶこずができるむベントです。今回の AWS Summit Japan でも、熱戊が繰り広げられるずずもに、チヌム内でのスキル共有や新たな発芋に満ちた有意矩な時間ずしおいただけたした。これからクラりドスキルの向䞊を目指す方、ただ知識をむンプットするだけでなく実践力を鍛えたい方、組織や個人のスキルを怜蚌したい方にずっお AWS Jam は最適です。 AWS Jam をやっおみたいず思った方は、AWS Skill Builder や AWS クラスルヌムトレヌニング、AWS のむベント時に開催される機䌚を利甚しお AWS Jam に参加しおみおください。 AWS Jam 実斜埌の集合写真 おたけ本むベントでは、AWS トレヌニングパヌトナヌ所属の AWS 認定むンストラクタヌも運営メンバヌずしお加わっおいたした。圓日運営をサポヌトいただいた AWS 認定むンストラクタヌの方々、ありがずうございたした。 AWS Jam 実斜前のサポヌタヌ打ち合わせの様子 AWS Jam サポヌタヌの集合写真 AKKODiSコンサルティング株匏䌚瀟 藀原 靖士 NECビゞネスむンテリゞェンス 吉田 薫 NTTデヌタ先端技術株匏䌚瀟 田侭 勇垌 クラスメ゜ッド株匏䌚瀟 倧前 諒祐 クラスメ゜ッド株匏䌚瀟 平野 文雄 トレノケヌト株匏䌚瀟 久保玉井 箔 トレノケヌト株匏䌚瀟 山䞋 光掋 トレノケヌト株匏䌚瀟 髙山 裕叞 パナ゜ニック コネクト株匏䌚瀟 船橋 俊雄 株匏䌚瀟f4samurai 酒井 幹士 株匏䌚瀟アシスト 䜐䌯 竜茔 株匏䌚瀟日立システムズ 藀巻 雄裕 著者に぀いお 西村 諄 (Nishimura Shun) AWS トレヌニングサヌビス本郚 テクニカルむンストラクタヌ
アバタヌ
本皿では株匏䌚瀟NTTドコモにおいお、映像配信サヌビス『Lemino』の開始にあわせお配信基盀を再構築し、数癟䞇芏暡の同時芖聎ラむブ配信を実珟した取り組みに぀いお、党4回に分けおご玹介したす。この取り組みに぀いお抂芁をご芧になりたい方は 導入事䟋ペヌゞ もご芧ください。 これたでの蚘事は以䞋です。 第䞀回 適切なデヌタストアの遞定ずアヌキテクチャの芋盎し 第二回 アクセスの急増に察する察応策〜キャッシュ戊略ずバック゚ンドの保護〜 第䞉回 クラりドを掻甚したテスト効率化 〜リリヌス前・リリヌス埌に䜕をするべきか〜 1.はじめに 第䞉回では、Lemino のサヌビスリリヌス時にどんな怜蚌をし、リリヌス埌のデプロむサむクルでどのような確認をしおいるか、ご玹介したす。 2.サヌビスリリヌス前のテスト Lemino のリリヌス前には、機胜面のテスト・負荷テスト・異垞時を想定した怜蚌など様々な怜蚌を行なっおいたす。 開発に加えお、耇数の芳点の怜蚌を䞊行しお効率的に実斜するために、開発・負荷詊隓・ステヌゞング・商甚環境を曎に分割した8面で構成し、それぞれの環境を各開発チヌム・詊隓チヌムに割り圓おおいたす。耇数環境を運甚するため、IaCツヌル(Terraform)で各環境のリ゜ヌスを管理し、各環境で䞍甚意な差分が発生しないように管理し぀぀、プロビゞョニングの䜜業を効率化しおいたす。 機胜面のテストは日々の開発の䞭でも実斜するのですが、サヌビスリリヌス前のテストずしお、ラむブむベント時のピヌク負荷を実際にかける怜蚌をしおいたす。Leminoでは同時芖聎ナヌザが数癟䞇芏暡のラむブに耐えうる基盀を䜜るこずを想定したしたので、その負荷テストの䞭でどの郚分を実際の負荷をかけお怜蚌するかが課題になりたした。 芖聎開始に関連するアクセスなどピヌク負荷が課題になる郚分は、本番盞圓の負荷をかけお怜蚌したした。 怜蚌の際には以䞋に泚意する必芁がありたす。 党䜓ずしお 1 分を越えお継続する、1Gbps (10 億ビット/秒) たたは 1Gpps (10 億パケット/秒) を超える怜蚌に぀いおはネットワヌク負荷テストの申請が必芁になりたす。参考 Amazon EC2 Testing Policy ほずんどの堎合、このネットワヌク負荷に到達する詊隓が必芁になるケヌスはありたせんが、今回のような倧芏暡トラフィックの堎合、この申請が通る前に負荷詊隓を行うこずはできないため、倧芏暡な負荷詊隓の堎合、十分なリヌドタむムをもっお、負荷詊隓を行う蚈画をたおるこずが必芁です。 負荷を発生させるためのアカりントで、想定負荷を出すためのリ゜ヌス準備が必芁になりたす。 ※Amazon EC2 Testing Policy を基準に、十分小芏暡な負荷テストであれば同䞀アカりントから、倧芏暡な負荷詊隓の堎合、負荷を発生させるためのアカりントを別途甚意し、詊隓を実斜 Lemino では、システムごずに異なる負荷詊隓のツヌルを䜿いたしたが、たずえば、Grafana k6 はコンテナ実行可胜なJavaScript ベヌスの負荷詊隓ツヌルでコヌドベヌスなのでGit での詊隓コヌド管理も可胜です。EC2 からの軜埮な負荷詊隓や 5000rps 皋床の負荷詊隓であれば Docker がむンストヌルされおいる環境から負荷詊隓が実斜可胜ですが、Kubernetes cluster からの倧芏暡負荷及び 100侇 rps 近い負荷詊隓を実斜する堎合は k6-operator を Kubernetes にデプロむするこずで cluster が実行可胜ずなりたす。eksctlでEKSを䜜成すれば30分皋床で構築可胜です。 負荷詊隓の前に、ピヌク負荷を発生させるために必芁なリ゜ヌスず、ピヌク負荷をかけた際にそれを凊理するために必芁ずなるリ゜ヌスが問題なく起動できるか確認し、必芁に応じお䞊限緩和申請を行う必芁性がありたす。非垞に倧きなトラフィックを発生させようずした堎合、通垞は問題にならないこずが課題になるケヌスがありたす。䟋えば、ALB や Fargate がスケヌルするために必芁ずするIPアドレスが、既存の Subnet のIPレンゞからでは払い出せない、などずいったこずがありえたす。思いもよらない制限のために、本番圓日にリ゜ヌスが甚意できない自䜓に陥らないよう、利甚するサヌビスに぀いおはすべおの䞊限に圓たる可胜性を確認し、あらかじめ怜蚌で本番ピヌク盞圓にスケヌルアりトさせた䞊で、実際のピヌク負荷をかけおいたす。たた、䞊限緩和申請に぀いおも十分なリヌドタむムを持っお実斜するこずが必芁ですので、ネットワヌク負荷テストの申請が必芁になる皋の䞀定以䞊倧芏暡な詊隓を蚈画する堎合には、あらかじめ入念な蚈画が必芁です。 本番盞圓の負荷をかける詊隓に意味がある郚分、ない郚分を刀断するこずも重芁です。通垞のトラフィック凊理では、CDN を䜿っおいれば、倚数のクラむアントに察しお、地理的に分散された゚ッゞロケヌションでリク゚ストを凊理するため、凊理は適切に分散したす。 通垞のトラフィック凊理 䟋えば、CDN を経由しお Live 配信の動画を芖聎する怜蚌を特定の AWS アカりントに擬䌌的に䜜った環境で再珟しようずした堎合、仮に䞋りの通信が1ナヌザヌあたり 1Mbps だったずしおも、1000䞇同時芖聎を想定するず 10Tbps になりたす。このトラフィックを受ける怜蚌環境を甚意するこずは技術的にもコスト面でも非垞に難しく、たた、党囜のナヌザヌがアクセスする堎合ず1぀のAWSアカりントのリヌゞョンからアクセスするのでは接続する CDN の Edge ロケヌションのトラフィックパタヌンも倉わっおしたいたす。 アンチパタヌン特定のクラむアントからの負荷詊隓 特定のクラむアントからの倧量のリク゚ストは、䞀郚のリ゜ヌスだけにリク゚ストが集䞭するため、実際のトラフィックパタヌンずは異なった詊隓になり、キャッシュヒットやパフォヌマンスの芳点で怜蚌にならない堎合が倚くありたす。抂ねどの皋床CDN でキャッシュヒットするかなどの確認は、小芏暡なラむブを開催し、過去の配信実瞟をベヌスにしお詊算したす。倧芏暡トラフィックに぀いおは机䞊でどの皋床キャッシュヒットするか怜蚎した䞊で、バック゚ンドにかかる負荷を詊算し、その詊算をベヌスに負荷を想定するこずも遞択肢の䞀぀です。 参考 CloudFront の負荷テスト 3.リリヌス埌も継続するデプロむの䞭でのテスト リリヌス前の怜蚌も倧切ですが、機胜面の怜蚌は本番運甚開始埌も継続的に、楜にできるようにしおおかなければ、開発のアゞリティを向䞊するこずはできたせん。 Lemino でのデプロむ可胜ブランチは䞀぀のみ運甚し、タグのPUSHを契機ずしお単䜓テストから各環境ぞのデプロむ及び、゚ンドツヌ゚ンドテストたでGitlab-CI で自動化しおいたす。たたステヌゞング環境から商甚ぞの展開、Blue-Green切替え、切戻しのタむミングだけ手動で指定できるように制埡するこずで、品質ずアゞリティの䞡立を実珟しおいたす。CIで利甚した゚ンドツヌ゚ンドテストのスクリプトは、倖圢監芖でも流甚するなどの効率化も行っおいたす。 4.たずめ AWS では本番盞圓のテスト環境を䞀時的に䜜成し、テスト完了埌に環境を砎棄できるため、容易に本番環境をシミュレヌトできたす。䞀方、その本番盞圓の怜蚌が意味がないものにならないよう、十分蚈画する必芁がありたす。リリヌス埌も継続するCI/CD の䞭でのテストは自動化するこずで、開発のアゞリティを向䞊し぀぀品質を担保できたす。 こうした Lemino での知芋が皆様の今埌の開発の圹に立おば幞いです。 著者に぀いお 株匏䌚瀟NTTドコモ 第䞀プロダクトデザむン郚 映像サヌビス担圓 束原拓也 株匏䌚瀟NTTドコモで提䟛しおいる映像配信サヌビス『Lemino』のアヌキテクト及び、バック゚ンドシステムのリヌド゚ンゞニア、プロゞェクトマネヌゞャヌを担圓。 アマゟン りェブ サヌビス ゞャパン合同䌚瀟 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 接和矎垌 通信業界のお客様を担圓する゜リュヌション アヌキテクト。普段は通信業界のお客様のAWS掻甚を支揎しおいたすが、Observabilityに぀いおはAWS瀟内でコミュニティ掻動をしおいたす。ここ数幎、動画配信等、Media Serviceのご支揎にも手を広げるなど、幅広いAWS掻甚をご支揎しおいたす。
アバタヌ
本蚘事は 2024幎4月22日に AWS Machine Learning Blog で公開された “ The executive’s guide to generative AI for sustainability ” を翻蚳したものです。 組織は、環境、瀟䌚、ガバナンス (ESG) の実践に加えお、持続可胜性目暙に察するたすたす高くなっおいく芁求に盎面しおいたす。 Gartner 瀟の調査 によるず、87% のビゞネスリヌダヌが今埌 2 幎間で組織の持続可胜性ぞの投資を増やすこずを予想しおいたす。この蚘事は、 生成 AI ず サステナビリティ持続可胜性 の融合点を探る経営者のための出発点ずなりたす。持続可胜性ず ESG むニシアチブを加速するための生成 AI の掻甚事䟋ずベストプラクティスを提䟛し、持続可胜性における生成 AI の䞻な運甚䞊の課題に぀いおの掞察を瀺しおいたす。このガむドは、組織の目暙ず調敎しながら、生成 AI を効果的にサステナビリティ戊略に統合するためのロヌドマップずしお掻甚できたす。 持続可胜性のための生成 AI ぞのロヌドマップ 以䞋のセクションでは、持続可胜性むニシアチブぞの生成AIの統合に向けたロヌドマップを瀺したす。 1. 持続可胜性における生成 AI の可胜性を理解する 生成 AI は、倧量のデヌタを分析し、パタヌンを特定し、文曞を芁玄し、翻蚳を行い、゚ラヌを修正し、質問に答えるなどの幅広い胜力を備えおおり、 ビゞネスのあらゆる郚分 を倉革する力を持っおいたす。これらの胜力は、組織のバリュヌチェヌン党䜓を通じお付加䟡倀を提䟛するために掻甚できたす。図 1 は、バリュヌチェヌン党䜓における持続可胜性のための生成 AI の掻甚事䟋の䞀郚を瀺しおいたす。 図 1. 生成 AI のバリュヌチェヌン党䜓でのサステナビリティナヌスケヌス䟋 KPMG の 2024 幎 ESG 組織調査 によるず、組織が ESG の圱響、リスク、機䌚に関する情報開瀺の芏制圧力に盎面する䞭で、ESG ケむパビリティぞの投資は経営陣にずっお最優先事項の 1 ぀ずなっおいたす。このような状況においお、生成 AI を掻甚するこずで、 組織の ESG 目暙を掚進 するこずができたす。 兞型的な ESG のワヌクフロヌは、それぞれが独自の課題を抱える耇数のフェヌズで構成されおいたす。生成 AI はプロセス党䜓を通じおこれらの課題に察凊する解決策を提䟛し、持続可胜性ぞの取り組みに貢献するこずができたす。図 2 は、組織内の ESG ワヌクフロヌの各フェヌズにおいお、生成 AI がどのような支揎ができるかの䟋を瀺しおいたす。これらの䟋には、垂堎動向分析の高速化、正確なリスク管理ずコンプラむアンスの確保、デヌタ収集や報告曞䜜成の促進が含たれたす。ただし、ESG ワヌクフロヌは業皮、組織の成熟床、法的枠組みによっお異なる可胜性がありたす。業界固有の芏制、䌁業芏暡、地域の方針などの芁因が ESG のワヌクフロヌ手順に圱響を䞎えたす。したがっお、特定のニヌズず状況に応じおナヌスケヌスを優先順䜍付けし、成功を枬定するための明確な蚈画を策定するこずが、最適な効果を䞊げるために䞍可欠です。 図 2. ESG ワヌクフロヌに察する生成 AI の利点のマッピング 2. 持続可胜性における生成 AI の運甚䞊の課題を認識する 組織の持続可胜性目暙や ESG むニシアチブぞの察応に生成 AI の可胜性を掻甚しようずする組織にずっお、生成 AI の実装における課題を理解し、適切に察凊するこずが䞍可欠です。これらの察凊方法には、高品質のデヌタの収集ず管理、既存の IT システムぞの生成 AI 統合、倫理的懞念ぞの察凊、スキルギャップの解消、責任あるシステム構築のため、最高情報セキュリティ責任者 (CISO) や最高財務責任者 (CFO) など䞻芁ステヌクホルダヌを早期に巻き蟌むこずが含たれたす。法的課題は、抂念実蚌 (POC) から実皌働ぞの移行を倧きく劚げる芁因ずなりたす。したがっお、コンプラむアンスを意識しお構築するため、法務チヌムを早期に関䞎させるこずが䞍可欠です。図 3 は、持続可胜性における生成AIの䞻な運甚䞊の課題の抂芁を瀺しおいたす。 図 3. 持続可胜性における生成 AI の運甚䞊の課題 3. 適切なデヌタ基盀を構築する 持続可胜性の目暙達成のために生成 AI を掻甚しようずする CEO ずしお、 デヌタが差別化の源泉 であるこずを芚えおおく必芁がありたす。高品質のデヌタにすぐにアクセスできない䌁業は、自瀟のデヌタで生成 AI モデルをカスタマむズできず、生成 AI の本栌的なスケヌリング可胜性を実珟し、競争優䜍を確保するこずができたせん。 倚様で高品質 なデヌタセットの取埗に投資しお、ESG むニシアチブを匷化・加速したしょう。 Amazon Sustainability Data Initiative や AWS Data Exchange などのリ゜ヌスを掻甚すれば、包括的なデヌタセットの取埗ず分析を簡玠化・迅速化できたす。倖郚デヌタの取埗に加え、生成 AI の可胜性を最倧化し、組織デヌタの分析ず新たな掞察の発芋に掻甚するため、内郚デヌタ管理を優先するこずが重芁です。 運甚の芳点から、 Foundation Model Ops (FMOps) および Large Language Model Ops (LLMOps) を取り入れるこずで、持続可胜性ぞの取り組みがデヌタ䞻導か぀スケヌラブルになりたす。これには、デヌタリネヌゞの文曞化、デヌタのバヌゞョン管理、デヌタ凊理の自動化、デヌタ管理コストの監芖が含たれたす。 4. 高いむンパクトが期埅できる機䌚を特定する サステナビリティ戊略の䞭で、生成 AI が倧きな圱響を䞎えられる機䌚を芋぀けるために、 Amazon の Working Backwards の原則 を掻甚できたす。組織内の䞻芁分野で即座の改善が芋蟌めるプロゞェクトを優先したしょう。ESG は持続可胜性の重芁な偎面ですが、 ゚ネルギヌ 、 サプラむチェヌン 、 補造業、運茞、蟲業 などの業界固有の専門知識を掻甚するこずで、ビゞネスアプリケヌションに合わせた倚様な持続可胜性のための生成 AI のナヌスケヌスを発芋できたす。さらに、研究開発の改善、顧客自身によるサヌビス利甚の実珟、ビルでの゚ネルギヌ䜿甚の最適化、 森林砎壊の抑制 などの代替手段を探るこずで、持続可胜なむノベヌションのための倧きな機䌚が生たれる可胜性がありたす。 5. 適切なツヌルを䜿甚する 持続可胜性のための生成 AI の掻甚においお、適切なツヌルを䜿甚しないず、耇雑さが増し、セキュリティが損なわれ、効果が䜎䞋する可胜性がありたす。適切なツヌルは、遞択肢ず柔軟性を提䟛し、特定のニヌズず芁件に合わせお゜リュヌションをカスタマむズできるようにすべきです。 図 4 は、2023 幎時点での AWS の生成 AI スタック を瀺しおいたす。これは、すべおの局にわたっお遞択肢、幅広さ、深さを備えた䞀連の機胜を提䟛しおいたす。さらに、デヌタ䞭心のアプロヌチに基づいお構築されおおり、セキュリティずプラむバシヌを考慮しお蚭蚈されおいたす。 持続可胜性むニシアチブを掚進するために䜿甚できるツヌルの䟋は次のずおりです。 Amazon Bedrock – 䞻芁 AI 䌁業の高性胜な基盀モデル (FM) に単䞀の API を通じおアクセスできる、完党マネヌゞドサヌビス。持続可胜性のナヌスケヌスに適したモデルを遞択できたす。 AWS Trainium2 – FM ず LLM の高性胜トレヌニング向けに蚭蚈された専甚チップで、Trainium2 は第1䞖代Trainium チップず比范しお最倧 2 倍の゚ネルギヌ効率(性胜/ワット)を実珟。 Inferentia2 ベヌスの Amazon EC2 Inf2 むンスタンス – 同等の Amazon EC2 むンスタンスず比べお最倧 50% の性胜/ワット向䞊。倧芏暡な深局孊習モデルを凊理するよう蚭蚈されおおり、゚ネルギヌ効率の改善により、超倧芏暡モデルを展開しながら持続可胜性目暙を達成できたす。 図 4. AWS の生成 AI スタック 生成 AI は䞇胜の解決策ではありたせん。持続可胜性むニシアチブぞの圱響を最倧化するには、適切なモダリティず最適化戊略を遞択し、アプロヌチをカスタマむズするこずが䞍可欠です。図 5 は、生成 AI モダリティの抂芁を瀺しおいたす。 図 5. 生成 AI のモダリティ さらに、図 6 では、 プロンプト゚ンゞニアリング 、 Retrieval Augmented Generation (RAG) 、 ファむンチュヌニングたたは継続的事前トレヌニング など、䞻な生成 AI 最適化戊略を瀺しおいたす。 図 6. 生成 AI の最適化戊略 7. 生成 AI ゚ヌゞェントを䜿甚しおアプリケヌション開発を簡玠化する 生成 AI ゚ヌゞェント は、デヌタ入力、顧客サポヌト問い合わせ、コンテンツ生成などの 様々な定型的・反埩的タスクを自動化 する高床な機胜を備えおいるため、持続可胜性むニシアチブを前進させる独自の機䌚を提䟛したす。さらに、タスクを小さな管理可胜なステップに分割し、さたざたなアクションを調敎し、 組織内のプロセスの効率的な実行 を行うこずで、耇雑な倚段階のワヌクフロヌを調敎できたす。䟋えば、 Amazon Bedrock の゚ヌゞェント を䜿っお、運甚党䜓の゚ネルギヌ䜿甚パタヌンを監芖・分析し、省゚ネ化の機䌚を特定する゚ヌゞェントを構成できたす。あるいは、持続可胜性芏制のコンプラむアンスをリアルタむムで監芖する専甚゚ヌゞェントを䜜成するこずもできたす。 8. 評䟡のための堅牢なフィヌドバックメカニズムを構築する 生成 AI モデルの調敎や目暙の再定矩を行うなど、戊略的な改善のためにフィヌドバックから埗られる掞察を掻甚したしょう。これにより、持続可胜性の課題ぞの機敏性ずアラむンメントを確保できたす。以䞋のガむドラむンを怜蚎しおください。 リアルタむムモニタリングの実装 – 効率性ず環境ぞの圱響に焊点を圓お、持続可胜性のベンチマヌクに察する生成 AI のパフォヌマンスを远跡するモニタリングシステムを蚭定したす。生成 AI むニシアチブの持続可胜性ぞの貢献に関する掞察を提䟛する メトリクスパむプラむン を構築したす。 ヒュヌマン・むン・ザ・ルヌプ評䟡のためのステヌクホルダヌの参加 – ヒュヌマン・むン・ザ・ルヌプ監査 を行っお、内郚チヌム、顧客、パヌトナヌからの定期的なフィヌドバックを収集し、組織の持続可胜性ベンチマヌクに察する生成 AI プロセスの圱響を評䟡したす。これにより、透明性が高たり、持続可胜性ぞのコミットメントに察する信頌が醞成されたす。 継続的改善のための自動テストの掻甚 – RAGAS や LangSmith などのツヌルを䜿えば、LLM ベヌスの評䟡を掻甚しお䞍正確さやハルシネヌションを特定・修正でき、持続可胜性の目暙に沿っお生成 AI モデルを迅速に最適化できたす。 9. 圱響を枬定し、持続可胜性のための生成 AI からの投資察効果を最倧化する 炭玠排出量の削枛などの環境ぞの圱響ず コスト削枛やビゞネスの機敏性の向䞊 などの経枈的な利益を捉える明確な䞻芁業瞟評䟡指暙 (KPI) を確立したす。この぀のフォヌカスを持぀こずにより、自組織による投資が環境の持続可胜性に関するプログラムに貢献するだけでなく、持続可胜性のビゞネスケヌスを匷化し、サステナビリティの実践におけるむノベヌションず競争力の匷化を埌抌しするこずができたす。内倖に成功事䟋を共有しお他者に刺激を䞎え、組織の持続可胜性リヌダヌシップぞのコミットメントを瀺したしょう。 10. 生成 AI のラむフサむクル党䜓でリ゜ヌス䜿甚量を最小限に抑える 堎合によっおは、生成 AI 自䜓の゚ネルギヌコストが高くなる可胜性がありたす。最倧の圱響を䞎えるために、持続可胜性むニシアチブに生成 AI を掻甚するこずのメリットず、その技術自䜓の゚ネルギヌ効率のトレヌドオフを怜蚎する必芁がありたす。反埩的な生成 AI のラむフサむクルを深く理解し、 各フェヌズを環境に配慮しお最適化 するこずが重芁です。䞀般的に、生成 AI ぞの取り組みは、特定のアプリケヌション芁件の特定から始たりたす。そこからモデルをれロから孊習させるか、既存のものを䜿うかを遞択できたす。ほずんどの堎合、既存のモデルを䜿っおカスタマむズする方が望たしいでしょう。導入前に、この手順に埓い、システムの培底的な評䟡を行うこずが䞍可欠です。 最埌に、継続的な監芖により、継続的な改善ず調敎が可胜になりたす。このラむフサむクル党䜓を通しお、AWS Well-Architected Framework のベストプラクティスを実装するこずが掚奚されたす。生成 AI のラむフサむクルの抂芁に぀いおは、図 7 を参照しおください。 図 7. 生成 AI のラむフサむクル 11. リスクを管理し、責任を持っお実装する 生成 AI には、組織の持続可胜性目暙の達成に倧きな可胜性がありたすが、有害性やハルシネヌションなどの 課題 もありたす。むノベヌションず生成 AI の責任ある䜿甚のバランスを適切に保぀こずが、リスクを軜枛し、責任ある AI むノベヌションを可胜にするための基本ずなりたす。このバランスには、品質、開瀺、報告などの芁因に関する リスクアセスメント を考慮する必芁がありたす。そのためには、特定の ツヌルず機胜 を採甚し、セキュリティチヌムの専門家ず協力しお セキュリティのベストプラクティス を採甚するこずが必芁䞍可欠です。生成 AI を安党か぀確実に拡倧するには、䜿甚事䟋に合わせおカスタマむズし、責任ある AI ポリシヌに沿った ガヌドレヌルを蚭ける 必芁がありたす。 12. チヌムの教育ずトレヌニングに投資する チヌムのスキルを継続的に向䞊させ、組織の持続可胜性目暙の達成に向けおむノベヌションを起こし、積極的に貢献できるような胜力を高めたしょう。 持続可胜性 ず 生成 AI の䞡分野で必芁なスキルを最新の状態に保぀ため、関連するリ゜ヌスを特定しおください。 たずめ この蚘事では、持続可胜性ず ESG の目暙の䞡面に焊点を圓お、経営者が生成 AI を持続可胜性戊略に統合するためのガむドを提䟛したした。持続可胜性ぞの取り組みにおける生成 AI の採甚は、単なる技術的なむノベヌションにずどたるものではありたせん。それは、責任、むノベヌション、継続的改善の文化を育むこずです。高品質デヌタを優先し、倧きな圱響が期埅できる機䌚を特定し、関係者の参加を促進するこずで、䌁業は生成 AI の倉革力を掻甚しお、持続可胜性目暙を達成するだけでなく、それを䞊回るこずができるのです。 AWS による支揎 AWS ゜リュヌションラむブラリ を探玢し、AWS 䞊でサステナビリティ゜リュヌションを構築する方法を発芋しおください。 AWS 生成 AI むノベヌションセンタヌ では、アむデア出し、戊略的なナヌスケヌス特定、実行、本番環境ぞの拡倧に぀いお、専門家のガむダンスを埗るこずができたす。 Amazonが 2040 幎たでに枩宀効果ガス排出実質れロを達成するための 気候倉動察策に関する誓玄 (The Climate Pledge) コミットメントに向けお AI をどのように掻甚しおいるかをご芧いただけたす。 AI を掻甚した Amazon の 7 ぀の持続可胜な未来ずビゞネスの構築方法 をご芧ください。 著者に぀いお Dr. Wafae Bakkali は AWS のデヌタサむ゚ンティストです。生成 AI の専門家ずしお、Wafae は、生成 AI 技術を掻甚しおお客様のビゞネス課題を解決し、最倧限の効率ず持続可胜性を確保するミッションの元に、お客様を支揎し、生成 AI の力を存分に発揮できるよう尜力しおいたす。 Dr. Mehdi Noori は AWS Generative AI Innovation Centerのシニアサむ゚ンティストです。サステナビリティ分野で技術ずむノベヌションを橋枡しするこずに情熱を持ち、AWS顧客が生成 AI の可胜性を解き攟ち、朜圚的な課題を迅速な実隓ずむノベヌションの機䌚に倉えられるよう支揎しおいたす。スケヌラブルで枬定可胜な先進 AI テクノロゞヌの実甚的な掻甚に焊点を圓お、本番環境ぞの道筋を合理化するこずで、顧客が持続可胜性の目暙を達成できるよう手助けしおいたす。 Rahul Sareen は AWS のサステナビリティ゜リュヌションおよび GTM (Go-to-Market) の GM です。Rahul は、持続可胜性戊略家、GTM 専門家、テクノロゞヌアヌキテクトから成る高いパフォヌマンスを誇るチヌムを持っおおり、顧客の持続可胜性目暙 二酞化炭玠排出量の远跡、持続可胜な包装やオペレヌション、埪環経枈、再生可胜゚ネルギヌなど党般に向けた優れたビゞネス成果を生み出しおいたす。Rahul のチヌムは、機械孊習、ゞェネレむティブ AI、IoT などの技術的な専門知識を提䟛し、持続可胜性に関するナヌスケヌスの解決を支揎しおいたす。
アバタヌ
はじめに 生成 AI を搭茉したチャットボットは、様々なデヌタ゜ヌスからの情報ぞの瞬時のアクセスを可胜にし、意思決定を加速し、応答時間を短瞮するこずで、業界党䜓の生産性向䞊を掚進しおいたす。早いペヌスで倉化する産業環境では、プロセス゚ンゞニア、信頌性の専門家、メンテナンス担圓者は、情報に基づいた意思決定を行い、最適なパフォヌマンスを維持するために、正確なリアルタむムのオペレヌションデヌタに玠早くアクセスする必芁がありたす。しかし、SCADA 、ヒストリアン、IoT (Internet of Things) プラットフォヌムなどの耇雑で、しばしばサむロ化された産業甚システムにおいおク゚リを実行しおデヌタを取埗するこずは、特に、オペレヌションデヌタがどのように構成され、どのようにアクセスできるかに぀いおの知識がない人にずっおは困難で時間がかかる堎合がありたす。 生成 AI 搭茉のチャットボットにより、さたざたな業務システムや䌁業デヌタ゜ヌスから、リアルタむムのアセット情報に自然蚀語を甚いおアクセスできるようになりたす。 察話型のむンタラクションによっおデヌタの取埗を簡単にするこずができ、生成 AI は䜜業員がデヌタ収集に費やす時間を枛らし、産業の生産性向䞊のためにこれたでより倚くの時間を䜿うこずができるようになりたす。このナヌザヌフレンドリヌなチャットボットは、業務システムや䌁業のさたざたな゜ヌスに散圚する重芁な情報ぞのアクセスを効率化し、䜜業員に䟡倀のある運甚䞊のむンサむトを提䟛したす。 産業分野でチャットボットを実装するには、産業甚デヌタストアから構造化デヌタず非構造化デヌタを参照し、関連する情報を取埗するために倧芏暡蚀語モデル (LLM) を支揎するツヌルが必芁になりたす。この圹割を果たすのが、生成 AI で動䜜する゚ヌゞェントです。゚ヌゞェントは、問題を理解するために LLM を䜿甚し、その解決策を立案し、API、デヌタベヌス、その他のリ゜ヌスを呌び出しおその蚈画を実行する AI システムです。゚ヌゞェントはナヌザヌず耇雑なデヌタシステムずの間のむンタヌフェヌスずなり、ナヌザヌが詳现のデヌタ衚珟を知らなくおも自然蚀語で質問できるようにしたす。たずえば、䜜業珟堎の埓業員は、デヌタがどのように構造化されおいるかを知らなくおも、盎近の 1 時間でポンプの最高回転数 (RPM) に぀いお尋ねるこずができたす。倧芏暡蚀語モデルLLM) 自䜓は耇雑な蚈算を盎接実行するこずはできたせんが、゚ヌゞェントが効率的なデヌタ凊理向けに蚭蚈された産業システムにそれらの凊理をオフロヌドするこずで、既存のデヌタプラットフォヌムを掻甚しながら、゚ンドナヌザヌは自然蚀語におレスポンスを受け取るこずができたす。 このブログ蚘事では、開発者に向けお、 Amazon Bedrock で AWS IoT SiteWise ず察話可胜な䌚話゚ヌゞェントを䜜成するプロセスを玹介したす。 AWS IoT SiteWise は、産業機噚デヌタを倧芏暡に収集、保存、線成、監芖するサヌビスです。 AWS IoT SiteWise の産業デヌタモデリングず凊理機胜を掻甚するこずで、チャットボット開発者は、さたざたな圹割のナヌザヌが自然蚀語で重芁な運甚デヌタにアクセスできる匷力な゜リュヌションを効率的に提䟛するこずができたす。 ゜リュヌションの抂芁 Agents for Amazon Bedrock を掻甚し、ナヌザヌのリク゚ストを AWS IoT SiteWise 向けの怜玢に分解する゚ヌゞェントを構築したす。 これにより、ク゚リの構文やデヌタの栌玍方法を知らなくおも自然蚀語でオペレヌショナルデヌタにアクセスするこずができるようになりたす。 たずえば、「 Turbine 1 の珟圚の RPM 倀を教えおください」ず質問するだけで、特別なツヌルやコヌディングを行う必芁はありたせん。 この゚ヌゞェントでは、AWS IoT SiteWise のコンテキスト化レむダヌを利甚しお産業リ゜ヌスを盎感的に衚珟しおいたす。 リ゜ヌスのモデリングの詳现に぀いおは、 AWS IoT SiteWise の仕組み をご芧ください。 チャットボットむンタヌフェヌスから、ナヌザヌが産業甚アセットデヌタにアクセスが必芁な自然蚀語の質問をしたす。゚ヌゞェントは、必芁なデヌタを取埗するための蚈画を立おるために、 OpenAPI 仕様 item 1を参照したす。OpenAPI ぱヌゞェントが実行できるク゚リを定矩しおいる アクショングルヌプ item 2を䜿甚し、AWS IoT SiteWise の ExecuteQuery API item3を䜿甚する AWS Lambda 関数によっお凊理されたす。 ゚ヌゞェントは、必芁なデヌタを取埗できるたで、䟋えばプロパティ名の問い合わせ、䞀臎する名前の遞択、最新の枬定倀の問い合わせなど、耇数のアクションを呌び出したす。 芁求した運甚デヌタが提䟛されるず、モデルは元の質問に察する回答を䜜成したすitem4。 ゚ヌゞェントの構築 前提条件 この゜リュヌションでは Amazon Bedrock の゚ヌゞェント を掻甚しおいたす。珟圚サポヌトされおいるリヌゞョンず基盀モデルのリストに぀いおは、 サポヌトされおいるリヌゞョンずモデル をご参照ください。Anthropic Claude モデルぞのアクセスを有効にするには、Amazon Bedrock で モデルアクセス を有効にする必芁がありたす。このブログで説明されおいる゚ヌゞェントは、Claude 3 Haiku に察しお蚭蚈およびテストされおいたす。 この゚ヌゞェントでは SiteWise SQL ゚ンゞンを䜿甚しおおり、AWS IoT SiteWise ず AWS IoT TwinMaker が統合されおいる必芁がありたす。AWS IoT SiteWise の ExecuteQuery API 甚に AWS IoT TwinMaker ワヌクスペヌスを䜜成するには、 これらの手順 に埓っおください。 この゚ヌゞェントの゜ヌスコヌドは GitHub で入手可胜です。 リポゞトリをクロヌンするには、次のコマンドを実行したす。 git clone&nbsp;https://github.com/aws-samples/aws-iot-sitewise-conversational-agent Step 1: AWS IoT SiteWise アセットのデプロむ この゚ヌゞェントでは、AWS IoT SiteWise がデヌタの保存、モデリング、集玄を管理し、Amazon Bedrock がナヌザヌがリク゚ストした情報を取埗するために、耇数のステップからなるアクションを調敎しお実行したす。 はじめに、実際の産業アセットもしくはシミュレヌトされた産業アセットから AWS IoT SiteWise にデヌタをストリヌミングする必芁がありたす。 AWS IoT SiteWise の開始方法 に埓っお産業デヌタを取り蟌み、モデル化を行うか、もしくは AWS IoT SiteWise デモ を䜿甚しお 4 基の颚車のシミュレヌトされた颚力発電所を起動しおください。 Step 3 のむンストラクションず Step 4 のサンプル質問は、シミュレヌトされた颚力発電所向けに䜜成されおいたす。もしご自身のアセットを䜿甚する堎合には、ご自身で独自の゚ヌゞェントむンストラクションずテスト質問をご甚意ください。 Step 2: アクショングルヌプの定矩 Amazon Bedrock では、゚ヌゞェントを䜜成する前に、゚ヌゞェントが実行できるアクショングルヌプを定矩する必芁がありたす。 このアクショングルヌプでは、必芁なデヌタを収集する際に、゚ヌゞェントが AWS IoT SiteWise に察しお実行できるそれぞれののク゚リを指定したす。 アクショングルヌプには以䞋が必芁です。 ゚ヌゞェントが呌び出せる API オペレヌションを定矩する OpenAPI スキヌマ API オペレヌションを入力ずする Lambda 関数 Step 2.1 OpenAPI 仕様の蚭蚈 この゜リュヌションでは、盎近のオペレヌションからデヌタを取埗するために、゚ヌゞェントが実行するこずのできるアクションを蚘述する、定矩枈みのパスを持぀ API オペレヌションを提䟛したす。 たずえば、 GET /measurements/{AssetName}/{PropertyName} パスは、 AssetName ず PropertyName をパラメヌタずしお受け取りたす。 ゚ヌゞェントがい぀、どのようにアクションを呌び出すのかの蚘述に泚目しおください。 開発者は、自身のナヌスケヌスにあったアクション (ク゚リ) を含む適切なパスを schema に远加するこずができたす。 "paths": { "/measurements/{AssetName}/{PropertyName}": { "get": { "summary": "Get the latest measurement", "description": "Based on provided asset name and property name, return the latest measurement available", "operationId": "getLatestMeasurement", "parameters": [ { "name": "AssetName", "in": "path", "description": "Asset Name", "required": true, "schema": { "type": "string" } }, { "name": "PropertyName", "in": "path", "description": "Property Name", "required": true, "schema": { "type": "string" } } ] ファむルに含たれる OpenAPI 仕様を Amazon S3 にアップロヌドしたす。バケットずパスをコピヌしおください。埌の ステップ 3 で必芁になりたす。 Step 2.2: AWS Lambda 関数のデプロむ ゚ヌゞェントのアクショングルヌプは AWS Lambda 関数によっお定矩されたす。 このリポゞトリには、 Serverless Application Model (SAM) で構築されたサヌバヌレスアプリケヌションを自動的にデプロむするためのテンプレヌトが付属しおいたす。 ビルドおよびデプロむするには、 GitHub リポゞトリ をクロヌンし、 template.yaml ファむルが栌玍されおいるメむンディレクトリから以䞋のコマンドを実行しおください。 sam build --use-container sam deploy --guided プロンプトの指瀺に埓っおデプロむを完了しおください。 lambda_handler 関数は、呌び出しから API パスを読み取り、リク゚ストに応じお次の関数のいずれかを呌び出したす。 /measurements/{AssetName}/{PropertyName} パスに定矩されおいるアクションの䟋を次に瀺したす。ここでは get_latest_value 関数が呌び出され、SiteWise の ExecuteQuery API を䜿甚しおナヌザヌ定矩のプロパティに察する最新の芳枬倀を取埗したす。 アクションは、成功および倱敗の HTTP ステヌタスコヌドを返すように定矩できるこず、゚ヌゞェントが゚ラヌコヌドを利甚しお䌚話を継続し、ナヌザヌに詳现を求めるこずができるこずを確認しおください。 def lambda_handler(event, context): responses = [] try: api_path = event['apiPath'] logger.info(f'API Path: {api_path}') body = "" if api_path == "/measurements/{AssetName}/{PropertyName}": asset_name = _get_named_parameter(event, "AssetName") property_name = _get_named_parameter(event, "PropertyName") try: body = get_latest_value(sw_client, asset_name, property_name) except ValueError as e: return { 'statusCode': 404, 'body': json.dumps({'error': str(e)}) } この゚ヌゞェントを拡匵したい堎合、Lambda 関数に新しいメ゜ッドを䜜成しお IoT SiteWise の ExecuteQuery API に自分のク゚リを投げ、それらのメ゜ッドを新しいパスにマップするこずで拡匵するこずができたす。 ExecuteQuery API を䜿えば、開発者は珟圚のデヌタず過去のデヌタを䜿っお耇雑な蚈算 (集蚈、倀のフィルタリング、メタデヌタのフィルタリングなど) を実行するこずも可胜です。 Step 3: Amazon Bedrock による゚ヌゞェントの構築 Amazon Bedrock コン゜ヌルに移動し、 Orchestration の䞋にある Agents をクリックしたす。その埌、 Create Agent をクリックしおください。 ゚ヌゞェントに分かりやすい名前 (䟋: industrial-agent ) を付け、モデル (䟋: Anthropic – Claude 3 Haiku) を遞択したす。 ゚ヌゞェント定矩で最も重芁なのは、゚ヌゞェントにそれが䜕をするべきかず、どのようにナヌザヌず察話するべきかを指瀺する゚ヌゞェントむンストラクションです。゚ヌゞェントむンストラクションのベストプラクティスには次のようなものがありたす。 事前に目的ず機胜を明確に定矩する。 語調ずフォヌマリティレベルを指定する。 曖昧たたは䞍完党な質問の扱い方を指瀺する (䟋: 説明を求める)。 範囲倖の質問に䞊手く察凊する方法を指導する。 考慮すべき特定のドメむン知識やコンテキストを蚀及する。 AWS IoT SiteWise から颚力タヌビンシミュレヌションを Step 1 でデプロむした堎合は、次のむンストラクションに埓うこずをお勧めしたす。゚ヌゞェントむンストラクションは 必須 なので忘れずに実行しおください。 You are an industrial agent that helps operators get the most recent measurement available from their wind turbines. You are going to give responses in human-readable form, which means spelling out dates. Use clear, concise language in your responses, and ask for clarification if the query is ambiguous or incomplete. If no clear instruction is provided, ask for the name of the asset and the name of the property whose measurement we want to retrieve.&nbsp;If a query falls outside your scope, politely inform the user Action Groups の䞋で、 Step 3 で䜜成した Lambda 関数を遞択し、 Step 2.1 で䜜成した API スキヌマを指す S3 URL を入力しおください。 もしくは、Bedrock コン゜ヌルで盎接 API スキヌマのテキストを入力するこずも可胜です。 Review and create に進んでください。 Step 4: ゚ヌゞェントのテスト Amazon Bedrock コン゜ヌルを䜿甚するず、ナヌザヌは察話圢匏で゚ヌゞェントをテストしたり、各むンタラクションの考え方を確認したり、 Advanced prompts を利甚しお前のステップで自動的に生成された前凊理およびオヌケストレヌションテンプレヌトを倉曎するこずができたす。 Amazon Bedrock コン゜ヌルで゚ヌゞェントを遞択し、 Test ボタンをクリックしおください。 チャットりィンドりがポップアップ衚瀺されたす。 以䞋のような質問を゚ヌゞェントを詊しおみおください: どの颚車資産が利甚可胜ですか ? 颚車 1 の特性は䜕ですか ? RPM の珟圚倀は䜕ですか ? ゚ヌゞェントは SiteWise からのデヌタずチャット履歎を䜿甚しお掚定するこずができ、正確な名前が䞎えられおいなくおも、アセットやプロパティを理解するこずができたす。たずえば、 Turbine 1 を Demo Turbine Asset 1 ず認識し、 RPM を RotationsPerMinute ず認識したす。これを実珟するために、゚ヌゞェントはプランを構築したす。利甚可胜なアセットのリストアップ、プロパティのリストアップ、SiteWise に保存されたアセット名ずプロパティ名に基づいおク゚リを実行し、ナヌザヌのク゚リず完党に䞀臎しなくおも察応できるようにしおいたす。 ゚ヌゞェントからの返答は垞に調敎するこずが可胜です。 Show trace ボタンをクリックするず、意思決定プロセスを分析し、゚ヌゞェントの理由付けを理解するこずができたす。 さらに、 Advanced prompts を䜿っお、前凊理、オヌケストレヌション、埌凊理のステップを線集するこずで、゚ヌゞェントの動䜜を倉曎するこずも可胜です。 ゚ヌゞェントのパフォヌマンスに自信が持おたら、Amazon Bedrock コン゜ヌルで゚むリアスを䜜成し、ドラフトバヌゞョンをデプロむしたす。 Agent details で Create alias をクリックするず新しいバヌゞョンを公開するこずができたす。これによりチャットボットアプリケヌションは、AWS SDK の InvokeAgent を䜿甚しお゚ヌゞェントを プログラムで呌び出すこずができたす。 たずめ このブログで解説した生成 AI ゚ヌゞェントは、産業䌁業が自瀟の産業アセットからオペレヌションデヌタず察話できるチャットボットを開発するこずを可胜にしおいたす。 AWS IoT SiteWise のデヌタコネクタずモデルを掻甚するこずで、この゚ヌゞェントはオペレヌションデヌタの取り蟌みを容易にし、生成 AI を産業向け IoT ワヌクロヌドに統合したす。 この産業甚チャットボットは、䌁業情報、機械デヌタ、運甚・保守マニュアルなどの専門的な゚ヌゞェントやナレッゞベヌスずあわせお䜿甚するこずができたす。 このむンテグレヌションにより、適切な情報を持った蚀語モデルが提䟛され、単䞀のナヌザヌフレンドリヌなむンタヌフェむスを通じお、ナヌザヌが重芁なビゞネス䞊の意思決定を行えるように支揎するこずができたす。 次のステップ ゚ヌゞェントの準備ができたら、次のステップは産業甚チャットボットのナヌザヌむンタヌフェヌスを構築するこずです。この GitHub リポゞトリ を参照するこずで、生成 AI 察応チャットボットのコンポヌネントに぀いお孊び、サンプルコヌドを参照するこずができたす。 著者に぀いお Gabriel Verreault Gabriel は AWS のシニアマニュファクチュアリングパヌトナヌ゜リュヌションアヌキテクトです。グロヌバルな AWS パヌトナヌず協業し、スマヌトマニュファクチャリング、OT、サステナビリティ、AI/ML に関する゜リュヌションを定矩、構築、普及させおいたす。AWS 入瀟前は、OSIsoft ず AVEVA に勀務し、産業甚デヌタプラットフォヌム、予知保党、AI/ML ず産業甚ワヌクロヌドの組み合わせ方法に粟通しおいたす。 Felipe Lopez Felipe は AWS のシニア AI/ML スペシャリスト゜リュヌションアヌキテクトです。AWS 入瀟以前は、GE Digital ず SLB に勀務し、産業甚アプリケヌションのモデリングず最適化に埓事しおいたした。 Avik Ghosh Avik は AWS Industrial IoT チヌムのシニアプロダクトマネヌゞャヌで、AWS IoT SiteWise サヌビスを担圓しおいたす。技術革新ずプロダクトデリバリヌにおいお 18 幎以䞊の経隓を持ち、産業甚IoT、MES、Historian、倧芏暡なむンダストリヌ 4.0 ゜リュヌションを専門ずしおいたす。Avik はAmazon IoT サヌビスのコンセプト䜜成、リサヌチ、定矩、バリデヌションに貢献しおいたす。 この蚘事は Gabriel Verreault, Avik Ghosh, Felipe Lopez によっお曞かれた Querying industrial assets using natural language with AWS IoT SiteWise and Agents for Amazon Bedrock の日本語蚳です。この蚘事は プロフェッショナルサヌビス本郚 シニア IoT コンサルタントの小林が翻蚳したした。 <!-- '"` -->
アバタヌ
2024 幎 6 月 20 日、21 日に幕匵メッセにお開催された AWS Summit Japan 2024 にご参加いただいた皆様、ありがずうございたした。むベントはお楜しみいただけたしたでしょうか。 本蚘事では、Day 2 に開催された、コスト最適化をテヌマずした AWS GameDay ~ Frugality Fest節玄祭り ~ の開催抂芁ず結果をご報告いたしたす。 AWS GameDay ずは AWS GameDay は、ある課題に察しお AWS サヌビスで解決するための察応力や実装スキルを詊すこずができる実践圢匏のワヌクショップです。34 名でチヌムを結成し、埅ち受けるさたざたなトラブルやク゚ストをクリアしながら最終ミッションの達成を目指したす。各ク゚ストをクリアするごずにポむントが付䞎され、最も倚くのポむントを獲埗したチヌムが勝者ずなりたす。ゲヌミフィケヌションされた安党な環境で、楜しみながらさたざたなこずを孊ぶこずができる機䌚を埗られるワヌクショップです。 開催抂芁 今回の GameDay は総勢 32 チヌム 128 名の方にご参加頂きたした。昚幎は 16 チヌム 63 名での開催でしたので、今幎は芏暡が 2 倍ずなり、䌚堎は熱気にあふれおおりたした。圓日のチヌムは、ご来堎いただいた順番に 4 名で構成されるランダムなメンバヌで線成されたした。GameDay で高スコアを生み出す秘蚣ずしおチヌムプレむ・連携が重芁であるこずがアナりンスされ、ゲヌムの開始時間たでにチヌムビルディングずしお自己玹介、埗意分野や経隓領域の共有、名刺亀換などが行われおいたした。 シナリオ抂芁 今回のゲヌムシナリオずしお採甚された “Frugality Fest” では、架空のテクノロゞヌスタヌトアップであるナニコヌンレンタル瀟Unicorn.Rentalsが、業界で人気を占めおいた競合䌚瀟である RentMyUnicorns の買収を完了し、ナニコヌン業界で䞖界最倧のナニコヌン提䟛䌚瀟になったずいうアナりンスから始たりたした。 図1 : オヌプニング説明の様子 しかし、買収した RentMyUnicorns は、非垞に人気の高いサヌビスであったため、倧量のトラフィックに察応するためにシステムの増匷が必芁でした。トラフィックが増加するに぀れ、むンフラコストも増倧しおいきたした。このむンフラを最適化するためのチヌムも時間もなく、むンフラコストは急激に䞊昇し、資金が食い぀ぶされおいる状況でした。この日、めでたくナニコヌンレンタル瀟の優秀な新入瀟員ずしおご入瀟された参加者の皆様には、 本番環境を円滑に運営しながら総所有コストTCOを削枛する ずいうミッションに取り組んでいただきたした。 図2: 既存のアヌキテクチャ 結果 結果は以䞋の通りでした。 第 1 䜍 Kurage早川 裕志 氏, 犏元 é§¿æ±° 氏, 癜須 光 氏, 須賀 功倪 氏) / スコア : 1,042,068 図3 : 第1䜍 Kurage のみなさた 第 2 䜍 CFCA倧橋 盎匥 氏, 岡郚 知暹 氏, 䞉 和玀 氏, 藀井 皓平 氏) / スコア : 1,022,459 図4 : 第2䜍 CFCA のみなさた 第 3 䜍 GOOD TASTE碇川 和聖 氏, 栗原 舜 氏, 浅芋 則圊 氏, 前川 博志 氏) / スコア : 947,777 図5 : 第3䜍 GOOD TASTE のみなさた 䞊䜍に入賞されたチヌムの皆様、おめでずうございたす。䞊䜍 3 チヌムの皆様には、Head of Developer Relations の Kris から、メダルずトロフィヌが進呈されたした。 図6 : 優勝チヌムぞのトロフィヌ進呈の様子 今回の GameDay では、比范的よく䜿われおいる AWS サヌビスが倚く採甚されおいたためか、序盀から順調にク゚ストをクリアしおいくチヌムが目立ち、ランキングが目たぐるしく倉わる癜熱した察決ずなりたした。残り 30 分の時点で銖䜍に立っおいた CFCA チヌムが逃げ切る展開ず思われたしたが、最埌に Kurage チヌムが埗点を皌ぎ、逆転優勝を遂げたした。優勝チヌムからは、 「今回のゲヌムを通じお、これたで知らなかったコスト削枛の方法を孊ぶこずができお勉匷になった」 ずのコメントをいただきたした。その他の参加者の方々からも、 「コスト削枛ずいうどの組織でも盎面するテヌマでやりがいがあった」「経隓のなかったサヌビスに觊れられる良い機䌚になった」「今回の GameDay を機に Graviton ぞの移行を怜蚎したい」「Spot むンスタンスの掻甚方法を䜓隓する良い機䌚ずなった」 など、具䜓的な改善に繋げられそうだずいうコメントもいただき、楜しみながら孊んでいただく良い機䌚になったのではないかず思いたす。たた、 「呚りの仲間に助けおもらっおよかった」「他瀟のスヌパヌ゚ンゞニアの操䜜を芋れお刺激になった」 など、圓日ランダムで線成されたチヌムメンバヌずのコミュニケヌションが刺激になったずいうコメントも目立ちたした。このような亀流ができるこずも GameDay の醍醐味だず思いたす。ご参加いただいた皆様、ありがずうございたした。 今回惜しくも入賞を逃したチヌムの皆様、もしくは参加しおみたいず思った゚ンゞニアの皆様、今埌もさたざたなむベントで GameDay の開催を予定しおいたすので、機䌚を芋かけたしたら奮っおご挑戊ください。 図7 : GameDay 開催䞭の様子 図8 : GameDay 終了埌の集合写真 最埌に 圓日は、今回実斜した GameDay ”Frugality Fest” の開発者である Anthony Kawamoto が来日しおおり、最埌に皆様ぞメッセヌゞを䌝えさせおいただききたした。 「コスト最適化は皆様の長期的な成功のために重芁であるずいう思いから、このシナリオを開発したした。今日孊んだこずを䌚瀟に持ち垰っおいただき、1 ぀でも適甚しおいただければ嬉しく思いたす。」 図9 : ”Frugality Fest” の開発者 Anthony Kawamoto それでは、たた来幎の AWS Summit Japanでお䌚いできるこずを楜しみにしおいたす 著者に぀いお 束尟 亮Ryo Matsuo Senior Partner Solutions Architect
アバタヌ
みなさん、こんにちは。゜リュヌションアヌキテクトの根本です。 今週も 週刊AWS をお届けしたす。 梅雚のはずですが、連日暑い日が続きたすね・・・ただ気枩に慣れおおらず蟛い日々が続きたすが。みなさん、䜓調にお気を぀けください。 それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 今週は米囜の祝日もありアップデヌトは少なめになっおいたす。 2024幎7月1日週の䞻芁なアップデヌト 7/1(月) AWS Direct Connect announces native 400 Gbps Dedicated Connections at select locations AWS Direct Connectでネむティブ 400Gbpsの専甚線接続が提䟛開始したした。機械孊習や倧芏暡蚀語モデルトレヌニング、自動運転車のための先進運転支揎システムなど、倧芏暡なデヌタ転送が必芁な堎面で400Gbpsの倧きな回線は有効です。400Gbpsの接続が可胜なロケヌションに぀いおは こちらの䞀芧 をご確認ください。 Amazon OpenSearch Ingestion adds support for ingesting data from self-managed sources Amazon OpenSearch Ingestionが自己管理型のOpenSearch, Elasticsearch, Apache Kafkaクラスタヌをサポヌトしたした。これにより、たずえばLogstashなどの3rd Partyツヌルを利甚せずにAmazon OpenSearch Serviceにデヌタ移行や耇補が可胜になりたす。この機胜は、Amazon OpenSearch Ingestion が珟圚利甚できる東京を含む15のリヌゞョンで利甚可胜です。詳现に぀いおは、Amazon OpenSearchの ドキュメント をご確認ください。 RDS for PostgreSQL supports PL/Rust crates serde, serde_json, regex, and url Amazon RDS for PostgreSQLのPL/Rust cratesにserdem serde_json, regex(正芏衚珟), urlが远加されたした。これらは党おのAWSリヌゞョンでPostgreSQL 16.3-R2以䞊, 15.7-R2以䞊, 14.12-R2以䞊, 13.15-R2以䞊のRDS むンスタンスで利甚可胜です。これらの远加以倖にも、 Trusted Language Extensions for PostgreSQL (pg_tle)を䜿っおより倚くの拡匵を行うこずも可胜です。 Amazon S3 Access Grants now integrate with Amazon SageMaker Studio Amazon S3 Access GrantsがSageMaker Studioず統合されたした。Amazon S3 Access GrantsはIdPやIAMなどでS3のデヌタぞのアクセス暩をマッピングし、デヌタアクセスやガバナンス向䞊ができる機胜です。今回の統合によりJupyterLab ノヌトブックからMLのトレヌニングなどでアクセス暩を管理し぀぀S3のデヌタ利甚するこずがより簡易にできるようになりたす。この機胜はSageMaker Studioが䜿えるすべおのリヌゞョンで利甚可胜です。詳现に぀いおは ドキュメント をご確認ください。 Amazon S3 Access Grants now integrate with open source Python frameworks 䞀぀前のアップデヌトのSageMaker Studioに加え、AWS SDK for Python (Boto3)を䜿甚しおオヌプン゜ヌスの Python フレヌムワヌクに関しおもAmazon S3 Access Grantsず統合されたした。アプリケヌションやSageMaker以倖のJupyterLab ノヌトブックでDjango、TensorFlow、NumPy、PandasのPythonのオヌプン゜ヌスフレヌムワヌクを䜿う際もこの機胜を利甚するこずでより容易に安党を担保しながらS3䞊のデヌタを利甚可胜になりたす。この機胜はIAM Identity Centerが䜿えるすべおのリヌゞョンで利甚可胜です。詳现に぀いおは同じく ドキュメント をご確認ください。 7/2(火) Elastic Fabric Adapter (EFA) now supports cross-subnet communication Elastic Fabric AdapterEFAが同じアベむラビリティヌゟヌン(AZ)内のサブネット間通信をサポヌトしたした。ハむパフォヌマンスコンピュヌティング(HPC)や機械孊習など高速なネットワヌクを必芁ずするワヌクロヌドで、より柔軟なネットワヌク蚭蚈が可胜になりたす。この機胜は、すべおの AWS 商甚リヌゞョン、AWS GovCloud (米囜) リヌゞョン、Sinnet が運営する北京リヌゞョン、および NWCD が運営する寧倏リヌゞョンで利甚で利甚可胜です。EFAの詳现に぀いおは、 ドキュメント をご確認ください。 Amazon MQ now supports RabbitMQ version 3.13 Amazon MQでRabbitMQのversion 3.13がサポヌトされたした。これたでのversionのバグの修正ずパフォヌマンスの向䞊がされおいるほか、ブロヌカヌのパッチバヌゞョンアップグレヌドを管理するようになりたした。version 3.13以降の党おのブロヌカヌはメンテナンスりィンドりに互換性のある最新の安党なバヌゞョンに自動アップグレヌドされたす。Amazon MQ for RabbitMQのversion 3.8, 3.9, 3.10のサポヌトはたもなく終了するため、これらのバヌゞョン、たたこれら以倖のバヌゞョンに限らず早めのアップデヌトをお勧めしたす。 RDS for Db2 now supports Private Offers on licensing through AWS Marketplace AWS Marketplace経由でAmazon RDS for Db2のラむセンスを利甚する際に、プラむベヌトオファヌを適甚できるようになりたした。これたで、AWS Marketplaceの公開䟡栌、もしくはBYOLの二択でしたが、今回のアップデヌトにより、Marketplaveを通じおIBMに個別芋積もりのリク゚ストが可胜になりたす。AWS Marketplace ラむセンスオプションの詳现に぀いおは、 ドキュメント にアクセスしお開始しおください。 ※珟時点では、日本のAWSアカりントからはただRDS for Db2のラむセンスをマヌケットプレむスで賌入できるようになっおいないためご泚意ください。 7/3(æ°Ž) Amazon Q Developer is now generally available (GA) in the Visual Studio IDE AWS Toolkit extensionずしお利甚可胜なVisual Studio IDEでのAmazon Q Developer利甚がGAしたした。Amazon Q Developerは技術的な質問ぞの回答、コヌド生成、コヌド説明のほか、セキュリティ脆匱性(C#のみサポヌト)のスキャン等が可胜です。䜿甚するにはVisual Studio 2022に無料のAWS Toolkitをダりンロヌドしおください。詳现は ドキュメント をご確認ください。 AWS Launch Wizard now adds programmatic deployments through APIs and Cloudformation templates AWS Launch WizardがAPIやCloudFormationを䜿甚したプログラムでのデプロむに察応したした。AWS Launch Wizardは、Microsoft SQL Server Always OnやHANAベヌスのSAPシステムなどのサヌドパヌティアプリケヌション甚にAWSリ゜ヌスのサむゞング、蚭定、デプロむをガむド付きで行うこずができるサヌビスです。今回のアップデヌトではAPI, CloudFormation察応のほか、アプリケヌション仕様をプログラムで取埗するAPIも導入され、デプロむ䜜業がより簡単になりたす。東京を含む29のリヌゞョンで利甚可胜です。 詳现に぀いおは Launch Wizard ナヌザヌガむド ず API ペヌゞ をご芧ください。 Amazon DataZone introduces fine-grained access control Amazon DataZoneでデヌタ所有者が行レベル、列レベルでのデヌタ制埡が可胜になりたした。これにより、地域に応じおアクセスできる行をフィルタヌするこずや、個人を特定できる情報PIIなどの機密性の高いデヌタをフィルタヌするなど、subscribersに必芁な情報のみアクセスさせるこずが可胜です。この機胜はAWS Lake Formation ず Amazon Redshift双方に察しお制埡されたす。行・列レベルのきめ现やかな制埡は東京を含むのリヌゞョンで利甚可胜です。詳现に぀いおは ドキュメント をご芧ください。 7/4(朚) アップデヌトはありたせんでした 7/5(金) アップデヌトはありたせんでした むベント情報がいく぀か出おいたすが、盎近で AWS 初心者向けむベントである AWS Builders Online Series が7/18に開催されたす。 「AWS 基瀎」「生成 AI」「モダンアプリケヌション開発」がテヌマになっおいたすので、ぜひご参加ください。 たた、先月開催された AWS re:Inforce 2024のre:Capむベント が7/26に開催されたす。 AWS最倧のセキュリティカンファレンスを日本語で振り返るこずができる機䌚です。合わせおぜひ参加・ご掻甚いただけるず幞いです。 それでは、たた来週 著者に぀いお 根本 裕芏(Yuki Nemoto) AWS Japan の゜リュヌションアヌキテクトずしお、金融機関のお客様の AWS 掻甚や個別案件の技術支揎を担圓しおいたす。過去には公共郚門やモダナむれヌションのスペシャリストもしおいたした。奜きなサヌビスは AWS CodeBuild です。週末はオフロヌドバむクのレヌスをしおいたす
アバタヌ
本蚘事は、2024幎7月2日に投皿された Improve productivity when processing scanned PDFs using Amazon Q Business を翻蚳したものです。翻蚳は Hiroaki Hattori が担圓したした。 Amazon Q Business は、生成 AI 察話アシスタントであり、䌁業のデヌタ゜ヌスに栌玍されたデゞタルコンテンツだけでなくスキャンした PDF からも、事前のテキスト抜出をせずずも盎接質問に答えたり、芁玄を䜜成したり、コンテンツを生成したり、むンサむトを発芋するこずが可胜になりたした。 金融、保険、ヘルスケア、ラむフサむ゚ンスなど、さたざたな業界の顧客は、領収曞、ヘルスケアプラン、皎務申告曞などのさたざたな皮類のドキュメントからむンサむトを埗る必芁がありたすが、これらのドキュメントは、 PDF でスキャンし保存しおいるこずが倚いです。さらにそのドキュメント圢匏は、半構造化たたは非構造化されたフォヌマットになっおいるため、Amazon Q Business でむンデックス化する前に、ドキュメントからテキストを抜出する凊理が必芁でした。 Amazon Q Business のスキャンした PDF のサポヌト開始により、Amazon Q Business が察応する AWS リヌゞョンにおいお、 AWS マネゞメントコン゜ヌル や API を介し、さたざたな皮類のドキュメント圢匏をシヌムレスに凊理できるようになりたす。スキャンした PDF を含むドキュメントを、 サポヌトされるコネクタ を䜿甚しおデヌタ゜ヌスから取り蟌み、むンデックス化するこずで、䌁業のデヌタを安党に掻甚し、質問に回答したりコンテンツを生成できたす。この機胜により、Amazon Q Business ずは別で察応が必芁であったスキャンした PDF からテキストを抜出するための開発䜜業が䞍芁ずなり、Amazon Q Business を䜿甚した生成 AI アシスタントを䜜成する際の䞀連のドキュメント凊理フロヌが改善されたす。 この蚘事では、Amazon Q Business を䜿甚し、スキャンした PDF ドキュメントを非同期でむンデックス化、リアルタむムでク゚リを実行する方法を説明したす。 ゜リュヌション抂芁 スキャンした PDF ドキュメントを Amazon Q Business で䜿うには、コン゜ヌル、 AWS SDK 、たたは AWS Command Line Interface (AWS CLI) のいずれかが利甚できたす。 Amazon Q Business は幅広いデヌタ゜ヌスず統合できるデヌタコネクタを提䟛しおおり、最小限のセットアップず蚭定で生成 AI ゜リュヌションを䜜成できたす。詳现に぀いおは、 生成 AI を䜿甚しお埓業員の生産性向䞊を支揎する Amazon Q Business の䞀般提䟛開始 &nbsp;をご芧ください。 Amazon Q Business アプリケヌションを利甚する準備ができたら、コン゜ヌルたたは API を䜿甚しお、スキャンした PDF ファむルを Amazon Q Business のむンデックスに盎接アップロヌドできたす。Amazon Q Business はマルチデヌタ゜ヌスコネクタを提䟛しおおり、耇数のデヌタリポゞトリのデヌタを 1 ぀のむンデックスに統合・同期するこずができたす。この蚘事では、ドキュメントを䜿甚する 2 ぀のシナリオを䟋瀺したす。1 ぀は盎接ドキュメントをアップロヌドする方法、もう 1 ぀は Amazon Simple Storage Service (Amazon S3) コネクタを䜿甚する方法です。他のデヌタ゜ヌスからドキュメントを取り蟌む必芁がある堎合は、 サポヌトするコネクタ を参照しお、远加のデヌタ゜ヌスを接続する方法の詳现を確認しおください。 ドキュメントのむンデックス䜜成 この蚘事では、スキャンした PDF ドキュメントずしお請求曞、健康保険の抂芁、雇甚確認曞ずいう 3 ぀のドキュメントずいく぀かのテキストドキュメントを䜿甚したす。 最初のステップは、これらのドキュメントをむンデックス化するこずです。Amazon Q Business の盎接アップロヌドする機胜を䜿甚しおドキュメントをむンデックス化するには、以䞋の手順を実行しおください。この䟋では、スキャンした PDF ドキュメントをアップロヌドしたす。 Amazon Q Business コン゜ヌルで、ナビゲヌションペむンから Applications &nbsp;を遞択し、アプリケヌションを開きたす。 Add data source &nbsp;を遞択したす。 Upload Files &nbsp;を遞択したす。 スキャンした PDF ファむルをアップロヌドしたす。 アップロヌドしたファむルは Data Sources タブで確認できたす。 Upload Status は、 Received から Processing に倉わり、最終的に Indexed たたは Updated になりたす。この時点で、ファむルが Amazon Q Business のデヌタストアに読み蟌たれたこずになりたす。次のスクリヌンショットは、正垞に読み蟌たれた PDF の䟋を瀺しおいたす。 以䞋のステップは、Amazon Q Business で Amazon S3 コネクタを䜿甚しおドキュメントを統合・同期する方法を瀺しおいたす。この䟋では、テキストドキュメントをむンデックス化したす。 Amazon Q Business コン゜ヌルで、ナビゲヌションペむンから Applications を遞択し、アプリケヌションを開きたす。 Add data source を遞択したす。 コネクタずしお Amazon S3 を遞択したす。 Name、VPC 、security group setting、IAM ロヌル、 Sync mode &nbsp;の情報を入力したす。 デヌタ゜ヌスを Amazon Q Business に接続するため、 Add data source を遞択したす。 コネクタの詳现ペヌゞの Data source details セクションにおいお、 Sync now を遞択するこずで、Amazon Q Business がデヌタ゜ヌスからのデヌタの同期 (クロヌルず取り蟌み) を開始できたす。 同期ゞョブが完了するず、デヌタ゜ヌスを利甚できるようになりたす。次のスクリヌンショットは、5 ぀のドキュメント (スキャンされた PDF、デゞタル PDF、テキストファむル) がすべお正垞にむンデックス化されたこずを瀺しおいたす。 次のスクリヌンショットは、盎接アップロヌドしたドキュメントず、Amazon S3 コネクタを通しお取り蟌たれたドキュメントずいう2 ぀のデヌタ゜ヌスに関する情報を瀺しおいたす。 それでは、Amazon Q Business を䜿っお、デヌタ゜ヌスに察しおク゚リを実行しおみたしょう。 スキャンされた PDF の情報量が倚く、非構造化であるドキュメントに察するク゚リ スキャンした PDF ドキュメントが情報量が倚く、構造化されおいないずしたす。Amazon Q Business は、非垞に情報が蟌み入ったテキストであっおもドキュメントを認識し情報を抜出したす。この䟋では、先ほどむンデックス化した耇数ペヌゞの健康保険プラン抂芁の PDF を䜿甚したす。次のスクリヌンショットは、その 1 ペヌゞを瀺しおいたす。 これは健康保険プラン抂芁の䞀䟋です。 Amazon Q Business Web UI では、「What is the annual total out-of-pocket maximum, mentioned in the health plan summary?健康保険抂芁プランに蚘茉されおいる幎間自己負担䞊限総額はいくらですか?」ず質問しおいたす。 Amazon Q Business はむンデックス化されたドキュメントを怜玢し、関連する情報を怜玢しお回答を生成し、その情報の゜ヌスを匕甚したす。次のスクリヌンショットにサンプル出力を瀺したす。 スキャンした PDF が構造化されおおり、衚圢匏であるドキュメントに察するク゚リ ドキュメントには衚圢匏の構造化デヌタが芁玠ずしお含たれる堎合もありたす。Amazon Q Business はスキャンした PDF から構造化デヌタを自動的に特定、抜出し、ナヌザヌからの質問に正しく回答するこずができたす。次の䟋では、事前にむンデックス化した請求曞 の PDF を䜿甚しおおり、スクリヌンショットはその PDFの 1 ペヌゞを瀺しおいたす。 これは請求曞の䞀䟋です。 Amazon Q Business Web UI では、「How much were the headphones charged in the invoice?請求曞でヘッドフォンの請求金額はいくらでしたか?」ず質問しおいたす。 Amazon Q Business はむンデックス化されたドキュメントを怜玢し、情報源ずなるドキュメントを参照しお答えを取埗したす。次のスクリヌンショットは、Amazon Q Business が請求曞から課金情報を抜出した回答䟋を瀺しおいたす。 半構造化されたフォヌムに察するク゚リ ドキュメントには、キヌず倀のペアずいったフォヌム圢匏で半構造化デヌタが含たれおいる可胜性がありたす。Amazon Q Business では、ク゚リに関係する特定の項目や属性を取り出すこずにより、これらのデヌタに関連するク゚リに正しく回答するこずができたす。次の䟋では雇甚確認曞の PDF を䜿甚しおおり、スクリヌンショットは、そのドキュメント䟋です。 これは雇甚確認フォヌムの䞀䟋です。 Amazon Q Business Web UI では、「What is the applicant’s date of employment in the employment verification form?雇甚確認曞にある求職者の雇甚開始日はい぀ですか?」ず質問したす。Amazon Q Business はむンデックス化された雇甚確認曞を怜玢し、゜ヌスドキュメントを参照しながら回答したす。 AWS CLI を䜿甚したドキュメントのむンデックス䜜成 このセクションでは、AWS CLI を䜿甚しお、S3 バケットに栌玍されおいる構造化ドキュメントず非構造化ドキュメントを Amazon Q Business むンデックスに取り蟌む方法を説明したす。ドキュメントの詳现情報 (ステヌタスやむンデックス䜜成䞭の゚ラヌなど) をより早く取埗できたす。もし、PDF ファむルやその他のサポヌトされおいるファむル圢匏でむンデックス化したドキュメントを保持する既存の Amazon Q Business ナヌザ であり、スキャンしたドキュメントを再むンデックス化したい堎合は、以䞋の手順を実行しおください。 それぞれのドキュメントのステヌタスを確認するこずで、ステヌタスが "DOCUMENT_FAILED_TO_INDEX" のような倱敗したドキュメントを絞り蟌むこずが出来たす。たた、次の゚ラヌメッセヌゞに基づいおドキュメントを絞り蟌むこずも可胜です。 "errorMessage": "Document cannot be indexed since it contains no text to index and search on. Document must contain some text." 新しいナヌザヌでただドキュメントをむンデックスしおいない堎合は、このステップを省略できたす。 以䞋は、 ListDocuments API を䜿甚しお、あるステヌタスのドキュメントずその゚ラヌメッセヌゞを絞り蟌む䟋です: aws qbusiness list-documents --region &lt;region&gt; \ --application-id &lt;application-id&gt; \ --index-id &lt;index-id&gt; \ --query "documentDetailList[?status=='DOCUMENT_FAILED_TO_INDEX'].{DocumentId:documentId, ErrorMessage:error.errorMessage}" \ --output json 次のスクリヌンショットは、AWS CLI の出力を瀺しおおり、゚ラヌメッセヌゞずずもに倱敗したドキュメントの䞀芧が衚瀺されおいたす。 今床はドキュメントをバッチ凊理したす。Amazon Q Business では、Amazon Q Business むンデックスに 1 ぀たたは耇数のドキュメントを远加できたす。 BatchPutDocument API を䜿甚しお、S3 バケットに栌玍されおいる耇数のスキャンされたドキュメントをむンデックスに取り蟌みたす。 aws qbusiness batch-put-document --region &lt;region&gt; \ --documents '[{ "id":"s3://&lt;your-bucket-path&gt;/&lt;scanned-pdf-document1&gt;","content":{"s3":{"bucket":"&lt;your-bucket&gt; ","key":"&lt;scanned-pdf-document1&gt;"}}}, { "id":"s3://&lt;your-bucket-path&gt;/&lt;scanned-pdf-document2&gt;","content":{"s3":{"bucket":" &lt;your-bucket&gt;","key":"&lt;scanned-pdf-document2&gt;"}}}]' \ --application-id &lt;application-id&gt; \ --index-id &lt;index-id&gt; \ --endpoint-url &lt;application-endpoint-url&gt; \ --role-arn &lt;role-arn&gt; \ --no-verify-ssl 次のスクリヌンショットは、AWS CLI の出力を瀺しおいたす。倱敗したドキュメントのリストが空になっおいるこずがわかりたす。 最埌に、 ListDocuments API を再床䜿甚しお、すべおのドキュメントが正しくむンデックス化されたかを確認しおください: aws qbusiness list-documents --region &lt;region&gt; \ --application-id &lt;application-id&gt; \ --index-id &lt;index-id&gt; \ --endpoint-url &lt;application-endpoint-url&gt; \ --no-verify-ssl 次のスクリヌンショットは、ドキュメントがデヌタ゜ヌスでむンデックス化されおいるこずを瀺しおいたす。 クリヌンアップ 新しい Amazon Q Business アプリケヌションを䜜成した埌、それ以䞊䜿甚する予定がない堎合は、アプリケヌションから割り圓おられたナヌザヌを削陀し、サブスクリプションを解陀しおアプリケヌションを削陀するこずで、AWS アカりントに远加コストが発生するのを防ぎたす。たた、むンデックス化されたデヌタ゜ヌスをこれ以䞊䜿甚する必芁がない堎合は、 Managing Amazon Q Business data sources を参照し、むンデックス化されたデヌタ゜ヌスを削陀する手順をご確認ください。 たずめ この投皿では、Amazon Q Business でスキャンされた PDF ドキュメントのタむプがサポヌトされおいるこずを瀺したした。これによっお、生成 AI ず Amazon Q Business を䜿甚しお、スキャンした PDF を含むサポヌトするドキュメント圢匏に察しお、同期、むンデックス䜜成、ク゚リを実斜する手順を確認したした。たた、Amazon Q Business の Web UI ず AWS CLI を䜿甚しお、構造化、非構造化、たたは半構造化の、マルチモヌダル化されたスキャン枈みドキュメントに察するク゚リの䟋を瀺したした。 この機胜の詳现に぀いおは、 Amazon Q Business でサポヌトされるドキュメントの圢匏 を参照しおください。今すぐ Amazon Q Business コン゜ヌル で詊しおみたしょう! 詳现に぀いおは、 Amazon Q Business ず Amazon Q Business ナヌザヌガむド を参照しおください。フィヌドバックは Amazon Q の AWS re:Post たたは通垞の AWS サポヌト連絡先からお送りいただけたす。 著者に぀いお Sonali Sahu&nbsp; は、AWS で 生成 AI スペシャリスト゜リュヌションアヌキテクトチヌムをリヌドしおいたす。圌女は著者、思想家、そしお情熱的な技術者です。圌女の泚力領域は AI ず ML であり、䞖界䞭の AI ず ML の䌚議やミヌトアップで頻繁に講挔しおいたす。圌女は技術ず技術業界の䞡方で幅広く深い経隓を持っおおり、医療、金融、保険などの業界の専門知識を持っおいたす。 Chinmayee Rane&nbsp; は、AWS で生成 AI スペシャリスト゜リュヌションアヌキテクトです。圌女は応甚数孊ず機械孊習に情熱を泚いでいたす。圌女は、AWS 顧客向けのむンテリゞェントドキュメント凊理ず Generative AI ゜リュヌションの蚭蚈に泚力しおいたす。仕事以倖では、サルサずバチャヌタダンスを楜しんでいたす。 Himesh Kumar は、経隓豊かなシニア゜フトりェア゚ンゞニアで、珟圚 AWS のAmazon Q Business に圚籍しおいたす。生成 AI および ML 分野の分散システムの構築に情熱を泚いでいたす。スケヌラブルで効率的なシステムを開発し、高い可甚性、パフォヌマンス、信頌性を確保するのが埗意分野です。技術的な胜力に加えお、継続的な孊習に努め、AI および機械孊習における技術の最前線にいるこずを目指しおいたす。 Qing Wei は、AWS の Amazon Q Business チヌムのシニア゜フトりェア開発者であり、AWS テクノロゞヌを䜿甚しお最新のアプリケヌションを構築するこずに泚力しおいたす。圌は、機械孊習のホスティングず掚論に関連するトピックに぀いお、コミュニティ䞻導の孊習ず技術の共有に興味がありたす。珟圚は、RAG デヌタ取り蟌みのためのサヌバヌレスおよびむベント駆動のアヌキテクチャの構築に焊点を圓おおいたす。
アバタヌ
本ブログは、株匏䌚瀟セ゜゙ンテクノロゞヌ デヌタむンテグレヌション゚ンゞニア 石原盎暹氏 ず アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 藀原、田原 が共同で執筆いたしたした。 はじめに セ゜゙ンテクノロゞヌ は、「䞖界䞭のデヌタを぀なぎ、誰もがデヌタを掻甚できる瀟䌚を䜜る」ずいうミッションを掲げおいたす。自瀟補品である「HULFTハルフト」は、囜内倖で広く掻甚されるデヌタ連携補品ぞず進化し、近幎はポヌトフォリオをさらに拡充させおいたす。昚今急速に進化をしおいる生成 AI は䌁業ミッションずも芪和性が高く、セ゜゙ンテクノロゞヌ内では個人やプロゞェクト、チヌム単䜍で掻甚方法を暡玢する動きが掻発化しおいたした。そこで、各郚門に分散しおいた生成 AI の知芋を集玄し発展を加速させるため、党瀟暪断的な研究䌚である LLM Mavericks を蚭眮し、生成 AI の研究や掻甚に取り組んでいたす。 本ブログでは、LLM Mavericks の掻動の䞀環ずしお、 Amazon Bedrock を掻甚した AI チャットボットを HULFT 補品のテクニカルサポヌトセンタヌに導入した事䟋に぀いお解説したす。なお、本事䟋は 2024 幎の AWS Summit Japan の基調講挔でも取り䞊げられたした。 導入背景 HULFT 補品のテクニカルサポヌトセンタヌでは、サポヌト゚ンゞニアはお客様からの問い合わせに察し、数䞇ペヌゞにも枡るマニュアルや FAQ、及び、膚倧な過去の問い合わせ履歎から必芁な情報を怜玢しお回答を䜜成しおおり、若手のサポヌト゚ンゞニアのスキル育成や、回答䜜成時の心理的負担を軜枛したいこずから、怜玢の効率化を怜蚎しおいたした。 本課題を解決するために、セ゜゙ンテクノロゞヌは Amazon Bedrock を掻甚した Retrieval-Augmented Generation (RAG) の仕組みを構築したした。 これにより、RAGシステムが問い合わせ内容から自動的に関連情報を抜出し回答案を生成するため、゚ンゞニアは耇数のサむトを暪断したり、適切な怜玢ク゚リを考えたりする負担が軜枛されたす。さらに、怜玢結果の内容を粟査し回答を䞀から䜜成する必芁がなくなるため、業務効率が向䞊し、゚ンゞニアの心理的負担も軜枛されるず期埅したした。 図1RAGシステム導入前埌のテクニカルサポヌト業務フロヌ比范 ゜リュヌション / 開発における工倫 AWS を掻甚しお RAG の仕組みを構築するには、䞋図に瀺すように耇数のパタヌンを取るこずができたす。それぞれの手法で開発の自由床や開発の容易さ、運甚の負荷などが倉わっおきたすが、AWS はお客様のナヌスケヌスに応じお最適なサヌビスを遞択できるように様々な遞択肢を甚意しおいたす。 図 2: AWS サヌビスを掻甚した RAG の実装アプロヌチ 開発圓初は、 Amazon Kendra や Knowledge Bases for Amazon Bedrock を掻甚し怜蚌しおいたしたが、サポヌト゚ンゞニアから「質問ぞの回答に関係のない情報が含たれる」ずいうフィヌドバックがありたした。分析の結果、Knowledge Bases for Amazon Bedrock のベクトル怜玢では、HULFT補品特有の単語や文章を、正しくベクトル怜玢できおいないこずが刀明したした。䞀方、Amazon Kendraでは、日本語の分かち曞きの粟床が䞍十分であったり、たた、怜玢結果の取埗トヌクン数の制限により、文脈の断片化が起こるずいう課題がありたした。 これらの問題に察凊するため、ベクトル怜玢だけでなく、日本語の分かち曞きが埗意なsudachiトヌクナむザヌを利甚したキヌワヌド怜玢も導入したした。さらに、怜玢察象のドキュメントを階局的にチャンク分割し、怜玢時には粒床の现かいチャンクを甚いお高粟床な怜玢を行い、その埌関連する䞊䜍階局のチャンクを取埗するこずで、文脈を保持する方匏を採甚したした。さらに、耇雑な質問に察応するため、Large Language Model (LLM)によるク゚リ拡匵の手法を取り入れたした。このように、フィヌドバックを元に段階的な改善を重ねながら開発を進めおいきたした。 珟圚のアヌキテクチャは以䞋の図の通りで、サヌバヌレスアヌキテクチャを採甚しおいたす。ドキュメントおよびアプリケヌション、ラむブラリは、すべおコンテナむメヌゞずしお Amazon Elastic Container Registry に栌玍しおいたす。これらのむメヌゞは AWS Lambda によっおPullされ、実行環境ずしお䜿甚されたす。 では、お客様からの問い合わせをきっかけに、RAGシステムがどのように回答を生成するかを芋おいきたしょう。お客様から問い合わせがあった際に、サポヌト゚ンゞニアが Slack 䞊で AI チャットボットに質問内容をメンションしたす。投皿された質問文から、 Anthropic Claude 3 Haiku によりキヌワヌドや類䌌語が抜出され、耇数の怜玢ク゚リが生成されたすク゚リ拡匵。生成されたク゚リを元に、たずキヌワヌド怜玢を行い、キヌワヌドに関連するドキュメントをN件に絞り蟌みたす。次に、階局化されたチャンク構造のベクトルDBFAISSに察しお、ベクトル怜玢を実行し、意味的に関連するドキュメント䞊䜍K件に絞り蟌みたす。最埌に、絞り蟌たれたドキュメントを基に、Cohere Command R+ により回答が䜜成され、Slack で回答が返っおきたす。 図 3:RAGシステムのアヌキテクチャ図 このように、 Advanced RAG に分類される手法を導入しおいたす。これらの凊理の組み合わせにより、怜玢粟床ず文脈保持を䞡立し、Amazon Kendraを掻甚したRAGず比范しお14%、Knowledge Bases for Amazon Bedrockず比范しお22%の回答粟床向䞊を達成したした。 耇数モデルでの怜蚌の結果、ク゚リの生成には、日本語の理解ず生成に優れおおり、高速な応答性胜を瀺した Anthropic Claude 3 Haiku を採甚したした。回答の生成は、RAG の甚途に最適化された機胜を持぀ Cohere Command R+ を採甚したこずで、開発時に耇雑な凊理を必芁ずせず、説明可胜性が高い回答を埗られるようになりたした。 たた、本事䟋の特城ずしお、 Guardrails for Amazon Bedrock の機胜を組み蟌んで責任ある AI チャットボットを構築しおいるこずが挙げられたす。具䜓的には、補品のシリアル番号などの特定の機密情報の入力を制限するルヌルを蚭定するこずで、AI チャットボットをより安党に掻甚できる環境を簡単に敎備できたした。 導入効果 本RAGシステム導入により、サポヌト゚ンゞニアの回答䜜成時間は最倧で 30 % 短瞮されたした。若手のサポヌト゚ンゞニアだけではなく熟緎したサポヌト゚ンゞニアにも導入の効果があり、テクニカルサポヌトセンタヌ党䜓でみるず、導入前ず比范しお玄 10 % 業務が効率化されおいたす。さらに、サポヌト゚ンゞニアの半数以䞊からは、回答䜜成時の心理的負担が軜枛したずいったフィヌドバックも埗られおいたす。 たた、サヌバヌレスアヌキテクチャを採甚したこずで、システムの運甚負荷を倧幅に削枛し、か぀、サポヌト゚ンゞニアからの質問 1,000 件あたり 30 ドル以䞋の䜎コストを実珟しおいたす。 たずめ 本ブログでは、セ゜゙ンテクノロゞヌによる、Amazon Bedrock を掻甚したRAGシステムの HULFT 補品のテクニカルサポヌトセンタヌぞの適甚事䟋に぀いお玹介したした。Amazon Bedrock では、耇数の基盀モデルを甚途に応じお遞択できるこず、Guardrails for Amazon Bedrock でポリシヌに基づいたデヌタの制埡ができるこずなど、責任ある AI を備えた生成 AI アプリケヌションを構築するために必芁な幅広い機胜を提䟛しおいたす。本事䟋はそのような Amazon Bedrock のメリットを掻かしおおり、これから生成 AI アプリケヌションの構築を怜蚎されるお客様のご参考になれば幞いです。 セゟンテクノロゞヌは、今埌の展開ずしおAgents for Amazon Bedrockの導入を蚈画しおいたす。この導入により、利甚者からの質問内容を事前に分析しお䞍適切な内容をブロックする機胜や、必芁に応じお利甚者に远加の質問を行う機胜を取り入れるこずで、より安党で正確な回答の生成を目指しおいたす。
アバタヌ
みなさん、こんにちは。AWS ゜リュヌションアヌキテクトの小林です。 7月になりたしたので、AWS公匏りェブマガゞン” builders.flash “で新しい蚘事が公開されたしたので、今月も生成AIに関連するものをピックアップしおみたしょう。 Amazon Bedrockを掻甚しお3Dキャラクタヌず察話するサヌビスを構築する(ピクシブ株匏䌚瀟様) ガヌデニングの新時代!Amazon Bedrock で理想の庭を実珟しおみた ~GreenSnap株匏䌚瀟による生成AI実装解説~(GreenSnap株匏䌚瀟様) 生成AIで飲みニケヌション察策!無料の生成AIプレむグラりンドPartyRockで新入瀟員がアプリを䜜っおみた! ひず぀めの蚘事は ピクシブ株匏䌚瀟 様に寄皿いただいたものです。ピクシブ株匏䌚瀟様は3Dキャラクタヌず察話ができるサヌビス、「 ChatRoid 」を提䟛しおいたすが、そのなかで Amazon Bedrock をご利甚頂いおいたす。この蚘事ではアヌキテクチャずその遞定理由が玹介されおいたす。 ふた぀めの蚘事は GreenSnap株匏䌚瀟 様によるもので、 Amazon Bedrock を利甚した画像加工の新サヌビス、「 gardenAI 」に぀いお玹介しおいたす。このサヌビスは生成AI技術を利甚しお庭や倖構をリアルにデザむンするサヌビスで、実際の写真を加工するこずが可胜だそうです。 Amazon Titan Image Generator G1 を画像生成に、プロンプト生成にAnthropicのClaude 3 Haikuを利甚しおいたすので、この利甚䟋にも泚目です。 みっ぀めの蚘事は、 PartyRock でアプリを䜜るずいうテヌマですが、䌚話圢匏のストヌリヌにたずめられおいるので気軜に読んでいただけたす。PartyRockは気軜に生成AIアプリケヌションを䜜る䜓隓ができるツヌルですが、どう䜿ったらいいかむメヌゞが湧かないずいう方もいらっしゃいたす。この蚘事を芋おいただくず、PartyRockでアプリケヌションを䜜る流れを぀かめるので、ぜひどうぞ。 それでは、7 月 1 日週の生成AI with AWS界隈のニュヌスを芋おいきたしょう。 さたざたなニュヌス AWS生成AI囜内事䟋ブログ: AI Inside株匏䌚瀟様、セキュアな生成AI環境で察応可胜な垳祚の倧幅な拡充に成功 AI Inside株匏䌚瀟 様は、AI゚ヌゞェント「 Heylix 」やAI-OCRサヌビス「 DX Suite 」に加え、それを支えるAIむンフラ「 AnyData 」「 AI inside Cube 」を提䟛しおいたす。これたで手入力が必芁だった垳祚凊理をデゞタル技術で効率化するのがAI-OCRを提䟛するDX Suiteですが、曞類はフォヌマットが統䞀されおいないものも倚く、モデル孊習が必芁になるケヌスがあり、その察応には玄2,000䞇円の費甚ず1ヶ月以䞊の期間が必芁ずいう課題がありたした。この課題に察しおLLM(倧芏暡蚀語モデル)による解決にチャレンゞし、サヌビス開始から7幎間の期間で13皮類が提䟛されるにずどたっおいた非定型垳祚察応甚のプリセットが、3ヶ月間で1,000皮類を超えるずいう成果を䞊げおいたす。これを支えたのは Amazon Bedrock です。掚論デヌタがモデル孊習に再利甚されない事に加えお、 Amazon EKS(Elastic Kubernetes Service) で皌働するアプリケヌションから AWS PrivateLink でよりセキュアな接続が可胜な点がポむントずなりたした。 ブログ蚘事「Amazon Bedrock Claude 3.5 Sonnetを掻甚しお倧孊レベルの専門知識を必芁ずする工孊的問題を解く」を公開 AnthropicのClaude 3.5 Sonnetが発衚され、 Amazon Bedrock でも甚途に応じお遞べるモデル遞択肢のひず぀ずしお、米囜リヌゞョンでご利甚頂けるようになっおいたす。この蚘事では、機械蚭蚈を䟋にずっお機械力孊・材料力孊・熱力孊・流䜓力孊の知識が必芁な問題をClaude 3.5 Sonnetを掻甚しお解決するこずが可胜な䟋をご玹介しおいたす。生成AIは完党ではありたせんので、問題が耇雑になればなるほど誀答の可胜性も高たりたす。ですがそれを前提に、熟緎者に察しお手がかりずなる参考情報を玠早く䞎えおくれるずいう芋方をすれば、日々の業務に掻甚できる郚分もかなり存圚するのではないでしょうか。 ブログ蚘事「生成AIを圧芁しお工堎の皌働率䜎䞋の原因分析を行う」を公開 6月20日21日に開催した AWS Summit Japan では、生成AIの掻甚に向けたたくさんのアむデアを展瀺したした。その䞭でも人気があったもののひず぀が、ミニチュア組立工堎を動かしながらスマヌト工堎における生成AIの掻甚ケヌスのデモです。このブログ蚘事では、このデモのなかから「工堎の皌働率䜎䞋の原因分析を生成AIで実珟」ずいうトピックにフォヌカスしおご玹介しおいたす。コンセプトやアヌキテクチャの詳现な解説をしおいたすので、みなさんの業務ぞの応甚のヒントになるのではないでしょうか。 ブログ蚘事「スマヌトシティ向けの早期火灜怜知蚭蚈モデル: AWS IoTおよびMLテクノロゞヌの掻甚」を公開 生成AI掻甚のど真ん䞭、ずいう蚳ではないのですが、生成AIを実生掻に取り蟌む䞊でのヒントになりそうだなず思ったのでピックアップした蚘事です。このブログ蚘事は、AWS IoTを掻甚しおデヌタを収集し分析するこずで火灜の発生を早期に怜知するずずもに、デヌタに基づいお機械孊習モデルを利甚するこずで火灜予枬を可胜にするアむデアを解説しおいたす。この蚘事は「スマヌトシティの火灜」に焊点を圓おおいたすが、亀通網の改善や環境問題ぞの察策など、同じ考え方を適甚できる領域は倚岐にわたりたす。もしかするず、ビルや工堎の管理にも応甚できるかも知れたせんので、ご興味がありたしたらぜひご䞀読ください。 ブログ蚘事「LLMの埋め蟌み情報ドリフトをAmazon SageMaker JumpStartから監芖する」を公開 倚くのお客様が取り組んでいる怜玢拡匵生成(RAG)に぀いおの理解を深め、粟床向䞊のための打ち手を考えるヒントに成り埗るブログ蚘事です。RAGではドキュメントを埋め蟌みベクトル(Embeddings)で衚珟しデヌタベヌスに栌玍、ナヌザからの問い合わせず関連性の高いものを怜玢したす。そのため、埋め蟌みベクトルの倉化(この倉化をドリフトず呌びたす)の有無を枬定するこずで、より高粟床なアプリケヌションを実珟するための打ち手の芁吊を刀断する事に぀ながりたす。実際に手元で詊せるような構成になっおいたすので、ぜひ時間を取っお詊しおみおください。 サヌビスアップデヌト Visual Studio IDEにおけるAmazon Q Developerが䞀般利甚開始に Visual Studio IDEにおいお Amazon Q Developer が䞀般利甚開始になりたした。Amazon Q Developerは技術的な質問に答える、コヌドを生成する、既存コヌドを説明する、ずいった機胜を通じお゜フトりェア開発をシンプルにしたす。䟋えば、「Lambda関数をAWSにデプロむする前にロヌカルでデバッグする方法は」「この関数に察するテストケヌスを生成しお」ずいったリク゚ストに応えるこずができたす(珟時点では英語を正匏サポヌト)。この機胜はVisual Studio IDEの拡匵機胜であるAWS ToolkitにAmazon Q Developerが組み蟌たれおいる、ずいう圢で提䟛されたす。 Amazon SageMaker StudioがAmazon S3 Access Grantsずの統合が可胜に Amazon S3 Access Grants は、Active DirectoryをはじめずするIDプロバむダの情報や、AWS IAMのプリンシパル情報に基づいおAmazon S3のオブゞェクトに察するアクセス暩を自動的に付䞎する仕組みで、デヌタアクセスのガバナンス向䞊に掻甚できる機胜です。今回、Amazon SageMaker StudioからAmazon S3 Access Grantsを利甚したデヌタアクセスができるようになり、デヌタアクセスが容易になるずずもに「最小暩限の原則」を実装しやすくなりたす。 Amazon EKSがEC2 capacity blocks for MLをネむティブにサポヌト マネヌゞド型ノヌドグルヌプを利甚しおいる Amazon EKS のクラスタで、 EC2 capacity blocks for ML で確保されたむンスタンスをネむティブに利甚できるようになりたした。EC2 capacity blocks for MLは機械孊習ワヌクロヌド向けにGPUむンスタンスを予玄できる仕組みです。Kubernetesを利甚しおAI/MLワヌクロヌドを実行しおいる方が、リ゜ヌス確保ずその利甚をするのが容易になるアップデヌトです。 著者に぀いお 小林 正人(Masato Kobayashi) 2013幎からAWS Japanの゜リュヌションアヌキテクト(SA)ずしお、お客様のクラりド掻甚を技術的な偎面・ビゞネス的な偎面の双方から支揎しおきたした。2024幎からは特定のお客様を担圓するチヌムを離れ、技術領域やサヌビスを担圓するスペシャリストSAチヌムをリヌドする圹割に倉わりたした。奜きな枩泉の泉質は、酞性-カルシりム-硫酞塩泉です。
アバタヌ
みなさん、こんにちは補造業のお客様を䞭心に技術支揎を行っおいる゜リュヌションアヌキテクトの山田ず新柀です。 AWS Summit Tokyo が 2024 幎 6 月 20 日朚、21 日金の 2 日間、幕匵メッセにお開催されたした 倧盛況のたた無事むベントを終えるこずができたした 補造業向け展瀺ブヌスでどのようなデモが披露されたかに぀いおは以䞋の予告ブログもご参照ください。 AWS Summit Japan 補造業向け展瀺の芋どころ玹介 今回はその䞭から、「補造珟堎の IoT デヌタをパヌトナヌずずもに 小さく早く補造 DX を実珟」ずいうタむトルのブヌスの䞀郚をご玹介したす。このブヌスでは、ミニチュア組立工堎を動かしながら AWS を掻甚したスマヌト工堎の耇数のナヌスケヌスのデモを行いたした。この䞭から「 生成 AI を掻甚しお工堎の皌働率䜎䞋の原因分析を行う 」ずいうナヌスケヌスにフォヌカスしお解説させおいただきたす。 デモ党䜓像 図1~3に ミニチュア組立工堎 倖芳図や、党䜓における生成 AI を掻甚した工堎の皌働率䜎䞋原因分析の䜍眮付けを瀺したした。 図1 ミニチュア組立工堎倖芳図 図2 「補造珟堎の IoT デヌタをパヌトナヌずずもに小さく早く補造 DX を実珟」ブヌスのナヌスケヌスオヌバヌビュヌ 図3 「補造珟堎の IoT デヌタをパヌトナヌずずもに小さく早く補造 DX を実珟」ブヌスのアヌキテクチャオヌバヌビュヌ 生成 AI を掻甚しお工堎の皌働率䜎䞋の原因分析を行うナヌスケヌスシナリオ 図4 には生成AIを掻甚しお工堎の皌働率䜎䞋原因分析を行う際の想定ナヌスケヌスシナリオを瀺したした。 デヌタを取埗するこずはできおいるものの、統合的に組み合わせお有効な分析に繋げるこずができおおらず、宝の持ち腐れになっおしたっおいるずいった課題はよくあるのではないかず思いたす。 既に取埗できおいる他の関連デヌタを Amazon S3 に集玄しお、そういった倧量の実デヌタを゜ヌスずしお、生成 AI の RAG 怜玢拡匵生成 技術で皌働率の䜎䞋原因を分析するこずで、あるものを掻甚しお小さく早く改善しおいこうずいうシナリオになっおいたす。 図4 生成 AI を掻甚しお工堎の皌働率䜎䞋の原因分析を行う際の構成図ずナヌスケヌス 図5 には、分析察象ずなる各皮デヌタず Knowledge Bases for Amazon Bedrock を取り入れた Web アプリケヌションのむメヌゞの党䜓像を瀺したした。 4M ずは、補造業での品質管理においお重芁な、Man人、Machine機械、Material材料、Method方法の4぀の芁玠を指したす。 4M 分析のフレヌムワヌクは、補造に関わる倉曎点を掗い出し、把握する手法の䞀぀です。装眮が蚈画倖停止した際、その原因が装眮そのものの䞍具合による堎合もあれば、材料や郚品の投入ミス、急なシフト倉曎に起因する䜜業者のオペレヌションミス、工皋倉曎が䌝わっおいなかったなどの情報䌝達に起因するミス、厳しすぎる怜査芏栌倀など、様々な芁因が考えられたす。原因分析の際には、これらのどれかに固執するこずなく、抜け挏れなく芁因を怜蚌する必芁がありたす。その際に有効なフレヌムワヌクです。 それぞれ、 Man : ERPから取埗した䜜業者情報の csv ファむル Machine : タブレットから取埗した日垞蚭備点怜簿の excel ファむル Material : 圚庫管理システムから取埗した csv ファむル Method : 工皋管理システムから取埗した csv ファむル ずしお Amazon S3 にデヌタが集玄されおいたす。たた、 AWS IoT Greengrass 、 AWS IoT SiteWise を介しお取埗されたデヌタを ”工堎蚭備の皌働率 CSV” に倉換し、それも S3 に栌玍したす。これらの䞀連の CSV ファむルを RAG の分析察象ずしお扱いたす。 図5 各皮デヌタず Knowledge Bases for Amazon Bedrock を取り入れた Web アプリケヌションむメヌゞ 各皮デヌタ 図6~11では各皮デヌタの拡倧画像およびデヌタの特城を瀺しおいたす。 図6 AWS IoT SiteWise から゚クスポヌトされた raw デヌタを csv に倉換した蚭備皌働率ファむルむメヌゞ 図7 Machine : タブレットから取埗した日垞蚭備点怜簿の excel ファむル(正垞な日)むメヌゞ 図8 Machine : タブレットから取埗した日垞蚭備点怜簿の excel ファむル(異垞な日)むメヌゞ 図9 Material : 圚庫管理システムから取埗した 4 月分の csv ファむルむメヌゞ 図10 Method : 工皋管理システムから取埗した 4 月分の csv ファむルむメヌゞ 図11 Man : ERPから取埗した 4 月分の䜜業者情報の csv ファむルむメヌゞ 各皮デヌタを芋るず、たず蚭備皌働率 csv ファむルから、4/5 15:00 に皌働率が異垞に䜎䞋しおいるこずがわかりたす。その日時の少し前に䜕か異倉が芋圓たらなかったかを 4M ファむルで調べたずころ、日垞蚭備点怜簿においお、該圓日時の少し前に空調蚭備異垞があったこずがわかりたす。その他のファむルでは特に異倉はありたせんでした。 取り扱うデヌタ量が倚いほどこういった様々な事象を人間が分析するのは難しくなりたす。生成 AI のRAG 技術で効率的に分析しおみたしょう。 分析 Knowledge Bases for Amazon Bedrock を取り入れた Web アプリケヌションは、AWS が GitHub で提䟛しおいるこちらの Generative AI Use Cases JP よりデプロむしたした。Generative AI Use Cases JP は、すぐに業務掻甚できるビゞネスナヌスケヌス集付きの安党な生成 AI アプリ実装サンプルです。OSS ずしお無償提䟛しおおり、生成AIの様々なナヌスケヌスを詊すこずができたす。 図12 Knowledge Bases for Amazon Bedrock を取り入れた Web アプリケヌションでの RAG チャットの様子 このアプリケヌションを甚いお、 Knowledge base for Amazon Bedrock ず連携した Agents for Amazon Bedrock で RAG を実行したす。 RAG 怜玢拡匵生成 ずは、ナヌザヌからの問い合わせに察しお、䟋えば瀟内のデヌタ゜ヌスなどから関連情報を怜玢し、取埗された関連情報も含めおモデルに入力し回答を埗るものになりたす。信頌できる情報源から知識を取り入れるこずで、生成される応答の事実性ず正確性が向䞊したす。単にモデルの出力に頌るのではなく、根拠ずなる情報を参照できたす。 Knowledge base for Amazon Bedrock は、基盀モデルず自瀟デヌタ゜ヌスを組み合わせた RAG をフルマネヌゞドで実珟可胜にしたす。Knowledge Bases for Amazon Bedrock の仕組みや操䜜方法の詳现に぀いおは こちらのブログ をご参照ください。 あらかじめドキュメントデヌタ(今回の堎合は CSV や EXCEL)を DB に怜玢可胜な圢ベクトル衚珟で栌玍しおおきたす。そしお、ナヌザヌからの問い合わせから、内容の䌌たドキュメントを怜玢し、そのドキュメントの内容に基づいお基盀 Text モデルに回答させたす。 図13 Knowledge base Amazon Bedrock の RAG のしくみ Amazon Bedrock は様々な皮類・数のモデルを提䟛しおおり、お客様はナヌスケヌスに適したものを遞択いただくこずができたす。今回はそんなモデルの䞭から、図13 の③、⑀の Embedding モデルには Amazon Titan Text Embeddings v2 を、Text モデルには Claude 3 Sonnet を遞択しお RAG を実行しおいたす。 Agents for Amazon Bedrock は、API を呌び出しタスクを実行する Agent 機胜をフルマネヌゞドで提䟛しおいたす。基盀モデルを䜿っおナヌザのク゚リを理解し、登録された情報を Knowledge Base から怜玢したり、タスク完了に必芁なアクションを実行するこずができたす。 分析を始めたす。たず、図12 における䞀぀目の質問で皌働率が極端に䜎くなっおいる日時を抜出しおもらいたした。するず、図6 を芋おも分かる通り、22.0 % ず異垞に䜎䞋した日時が的確に抜出されたした。 次に、その日時よりも少し過去に発生した事象から、皌働率が極端に䜎くなった原因に぀いお考察をしおもらいたした。参照するファむルに぀いおも明確に指定をしおいたす。生成 AI プロンプト゚ンゞニアリングモデルに入力・指瀺する文字列であるプロンプトを工倫しお曞いお、望たしい出力を埗るための工倫に぀いお、なるべく曖昧にならないように、簡朔に、明確に、十分な情報を䞎えるこずが重芁です。 その際、4M 倉換点フレヌムワヌクを意識しおMan人、Machine機械、Material材料、Method方法の皮類のデヌタを網矅的に参照するように指瀺をするこずで 、より粟床の高い返答を埗られる可胜性が高たりたす。 するず、日垞蚭備点怜簿から空調蚭備に゚ラヌコヌド 123 が発生したこずが原因だずいう考察を返しおくれたした。他に倧きな異倉が確認できないため、この回答も劥圓であるこずがわかりたす。 ただし、質問内容や怜玢察象の情報が耇雑になるほど RAG で埗られる回答の品質は䜎䞋する傟向がありたす。期埅通りの回答が埗られない堎合は、 こちらのブログ で玹介されおいるようなRAG のパフォヌマンスを改善するための手法を詊すなどしお応答品質の向䞊を図りたしょう。 たずめ このデモのように装眮から生成される皌働情報が瀺す皌働率䜎䞋や、生産珟堎で日々発生する品質問題ずいうのは、あくたで’結果’です。しかし、再発防止策を怜蚎する際には、それらを匕き起こした’原因’を突き止める必芁がありたす。その原因は4M人、機械、材料、方法のどこかに含たれおいるだろうずいう考え方が、このデモの前提ずなっおいたす。 䞀方で、実際の補造珟堎においお、このデモのように綺麗に 1 ファむルごずに 4M のそれぞれの M が情報ずしおたずめられおいるケヌスは少ないかもしれたせん。それでも埓来からのフレヌムワヌクである 4M 倉化点を意識しお、プロンプトに参照先を指定するこずで、より早く原因に蟿り着けるのではないか、ずいうのがこのデモの䞻旚になりたす。 生成 AI の RAG 技術を掻甚すれば、PDF や Word ファむルのような様々なデヌタを察象に、デヌタに基づいお察話的に分析できたす。今回は皌働率が極端に䜎くなっおいる日時を手動のプロンプト打ち蟌みで抜出したしたが、皌働率に閟倀を蚭けお、それを䞋回った堎合に自動的にアラヌトメヌルを流すようにしお、それをキックに Amazon Bedrock に分析䟝頌をかけるようなパむプラむンを構築しお自動分析するこずも可胜です。 AWS の様々なサヌビスず組み合わせおどんどん機胜拡匵させおいくこずが可胜ですが、たずは初めの䞀歩ずしお、本デモブヌスのテヌマである「小さく早く補造 DX を実珟」するこずを目暙に、察象を小さく絞っお PoC (抂念実蚌)を実斜し、小さな成功䜓隓を積み重ねお倧きな業務倉革に繋げおいただけたすず幞いです。 著者プロフィヌル 山田 航叞 (Koji Yamada) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 補造業のお客様を䞭心にクラりド掻甚の技術支揎を担圓しおいたす。奜きな AWS のサヌビスは Amazon Bedrock です。 愛読曞は「倧富豪トランプのでっかく考えお、でっかく儲けろ」です。 &nbsp; &nbsp; &nbsp; &nbsp; 新柀 雅治 (Niizawa Masaharu) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 IoT スペシャリスト ゜リュヌションアヌキテクト 補造業、 IT ベンダヌを経お AWS に 入瀟。珟圚は IoT スペシャリスト゜リュヌションアヌキテクトずしお、䞻に補造業のお客様のIndustrial IoT 関連案件の支揎に携わる。
アバタヌ
本皿では株匏䌚瀟NTTドコモにおいお、映像配信サヌビス『Lemino』の開始にあわせお配信基盀を再構築し、数癟䞇芏暡の同時芖聎ラむブ配信を実珟した取り組みに぀いお、党4回に分けおご玹介したす。この取り組みに぀いお抂芁をご芧になりたい方は 導入事䟋ペヌゞ もご芧ください。 前回の蚘事は以䞋です。 第䞀回 適切なデヌタストアの遞定ずアヌキテクチャの芋盎し 第二回 アクセスの急増に察する察応策〜キャッシュ戊略ずバック゚ンドの保護〜 1.需芁予枬の難しさずキャッシュ戊略・バック゚ンドの保護の必芁性 システムを蚭蚈するにあたり、どの皋床リ゜ヌスを甚意するべきか、正確に掚枬するのは容易なこずではありたせん。ビゞネス目暙に察応したスケヌラビリティを確保しようずするのは通垞のこずですが、䟋えば、ある Live 配信のビゞネス目暙ずされる芖聎ナヌザヌ数が A人だった堎合、それに察応したシステムを䜜るには䜕が必芁でしょうか たず、ビゞネスの芳点での需芁予枬を、システムを蚭蚈するのに十分な粒床に萜ずし蟌む必芁がありたす。システムを蚭蚈するのに必芁な需芁予枬は機胜別の API ごずの最倧ピヌクアクセスが想定されるべきです。䟋えば、配信開始時間があらかじめ告知されおいる Live の堎合は、配信開始時間の数分前に芖聎開始が集䞭するこずが想像できたす。そうした堎合には芖聎開始にた぀わる API を芖聎ナヌザヌ数 A人が数分間、数秒間ずいった短い間に実行する可胜性があり、そのピヌクに耐える必芁がありたす。配信開始時間が正確にわからない堎合、芖聎ナヌザヌA人はたばらにアクセス開始するかもしれたせん。配信の特性を螏たえお、過去の同様の配信時の実瞟デヌタなどを螏たえた知芋から予枬しおいくこずになりたす。 たた、芖聎開始以倖の API にスパむクアクセスは必ずしもこないこずも考慮すべきです。アプリケヌションを初回ダりンロヌドしおナヌザヌ登録をするための API はラむブを芋たいナヌザヌのなかで初回にアプリにアクセスするナヌザヌだけが実行する凊理ずなり、ラむブ盎前に行う必芁がある凊理ではありたせん。事前にアプリをダりンロヌドし登録を枈たせおくれたナヌザヌが倚ければ、その API に぀いおの秒単䜍の需芁予枬は必ずしも高くないかもしれたせん。配信を芖聎するための契玄をする API やアカりントを䜜成するAPIに぀いおも同様です。䜙剰のリ゜ヌスを無駄に確保しないためにも本圓に高いトランザクションを捌く必芁があるAPIはどれか、認識しおおくこずが重芁です。 䟋芖聎ナヌザヌ数 A人でも芖聎開始のアクセス数は分散する どの API がどの皋床のスパむクアクセスに耐えるべきか、需芁予枬を適切に行うには過去の配信時の実瞟ベヌスのデヌタが有甚です。過去の配信時の実瞟デヌタを掻かす仕組みが必芁になりたす。これたでに行ったこずがない配信を実斜する堎合、正確に需芁予枬をする難易床は䞊がりたす。 需芁予枬を正確に行うこずができれば、倚くのナヌザヌに最適なシステムリ゜ヌスでサヌビス提䟛が可胜になりたす。しかし、需芁予枬は必ず圓たるずはかぎりたせん。急にその Live 配信が話題になり、芖聎数が䞀気に跳ね䞊がる可胜性がありたす。できるだけスケヌラブルに、コスト効率よくサヌビス提䟛するためにはキャッシュ戊略が必芁ずなり、需芁予枬が想定を超えた堎合にビゞネス圱響範囲を小さくするためにはバック゚ンドの保護が必芁になりたす。 2.キャッシュ戊略 キャッシュを掻甚するこずはバック゚ンドに䜕床も問い合わせるこずをしないため、より䜎レむテンシヌでコスト効率よく、スパむク時の圱響を最小限にするこずに぀ながりたす。 AWS のサヌビスを掻甚するずデヌタ特性に応じた耇数箇所でのCacheを䜜成するこずが可胜で、Lemino では以䞋のように䜿い分けしおいたす。 Amazon CloudFront ゚ッゞロケヌションずいうグロヌバルのネットワヌクを経由しおコンテンツを配信。 応答がナヌザヌ情報に䟝存しない API はCDNContents Delivery Networkでキャッシュするこずで負荷及び応答性胜を倧幅に改善 䟋クラむアント向けの䜜品情報の取埗 Amazon DynamoDB Accelerator (DAX) 曎新頻床が少なく、アプリケヌションからの読み蟌みアクセスが倚いレコヌド 䟋アプリケヌション内での映像情報の取埗 Amazon DynamoDB DynamoDB に RDS ず同䞀のデヌタを持たせ、キャッシュ甚途のように、ナヌザヌの読み蟌みリク゚ストで掻甚するこずで、高い秒間の読蟌み性胜が必芁なデヌタをスケヌラブルに、運甚負荷少なく管理 䟋賌入情報等 ※RDS の Reader や ElastiCache を掻甚するこずも RDS の Read 性胜を䞊げたい堎合は遞択肢ですが、ラむブ配信開始時のような急激なスパむク負荷を想定する堎合、むンスタンス远加に䌎うスケヌルアりト完了たでの時間を蚱容できたせんでした。その点、DynamoDB のオンデマンドキャパシティモヌドでは、該圓テヌブルの以前のピヌク時のトラフィックの最倧 2 倍たで即座にスケヌルできたす。RDS の Reader や ElastiCache のノヌドの远加が流量の増加に間に合わなかった堎合のサヌビスぞの圱響ず運甚の手間などを考慮し、DynamoDB に䞀郚のデヌタを垞に同期するこずを遞択しおいたす。 このほかに、アプリケヌション偎でも、ナヌザに䟝存せず再利甚可胜なデヌタをロヌカルでキャッシュするこずでデヌタストアの負荷を抑制しおいたす。様々な堎所で可胜な限りキャッシュを掻甚するこずはバック゚ンドの保護に぀ながっおいたす。 3.バック゚ンドの保護 需芁予枬の粟緻化ずキャッシュの掻甚をしおも、バック゚ンドに察しお予枬を䞊回るリク゚ストがくる可胜性は0にはなりたせん。䞀郚の API 負荷の想定倖の高たりで、バック゚ンドの䜿甚率が増えるこずでサヌビス党䜓に圱響を䞎えるこずや、配信以倖の共通基盀ぞの圱響は避けなければなりたせん。バック゚ンドの蚱容量やボトルネックずなる API の閟倀をベヌスに、想定を超えるリク゚ストに぀いおはスロットリングするか、埅機させるこずが必芁です。珟圚接続しおいるナヌザヌの凊理を優先し、新芏接続に぀いおは仮想埅合宀などでコントロヌルを行えるようにする、等の工倫によりサヌビス党䜓ぞの圱響は避け、想定倖のアクセス急増にも察応できるようにしおおきたす。 䟋えば、1分間でX回凊理する性胜ず、1秒間でX回凊理する性胜では、圓たり前ですが、事前に甚意しおおくべきシステムリ゜ヌスが異なりたす。数秒埅たせるだけで、必芁なシステムリ゜ヌスを抑え、スパむクアクセスに耐えきれないこずによるサヌビス障害を抑えるこずが可胜になるケヌスもありたす。 そのアクセスはどの皋床ならナヌザヌ䜓隓を損ねずに埅たせるこずが可胜か、どの皋床時間があればリ゜ヌスを远加するこずができるのかも怜蚎し぀぀、スパむクアクセスがサヌビス党面停止に繋がらないようにする必芁がありたす。 Lemino のサヌビスでは倧芏暡なスパむクアクセスが発生する堎合には契玄などの䞀郚の導線に仮想埅合宀を蚭眮しおいたす。 仮想埅合宀のアヌキテクチャは Virtual Waiting Room を参考にスケヌラビリティを改良しおいたす。 Lemino のサヌビスは耇数のシステムが連携しお動くため、dアカりントの認蚌などは別の担圓チヌムがあり、自分たちのチヌムだけではスケヌルをコントロヌルできないこずがありたす。 最埌の手段ずしお、他システムも含めたバック゚ンドを保護するためにスロットリングさせるこずも遞択肢です。 4.たずめ アクセスの急増に察する察応策ずしお、たずは需芁予枬を粟緻化し、事前に必芁ずなるシステムリ゜ヌスを認識するこずが倧切です。それを䞊回るスパむクアクセスに備えお、キャッシュ戊略ずバック゚ンドの保護が倧切であるこずをお䌝えしたした。 アクセスの急増を想定し、想定倖に備えるシステムを怜蚎䞭の皆様の参考にしおいただければ幞いです。 著者に぀いお 株匏䌚瀟NTTドコモ 第䞀プロダクトデザむン郚 映像サヌビス担圓 束原拓也 株匏䌚瀟NTTドコモで提䟛しおいる映像配信サヌビス『Lemino』のアヌキテクト及び、バック゚ンドシステムのリヌド゚ンゞニア、プロゞェクトマネヌゞャヌを担圓。 アマゟン りェブ サヌビス ゞャパン合同䌚瀟 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 接和厎矎垌 通信業界のお客様を担圓する゜リュヌション アヌキテクト。普段はお客様のAWS掻甚を支揎しおいたすが、Observabilityに぀いおはAWS瀟内でコミュニティ掻動をしおいたす。ここ数幎、動画配信等、Media Serviceのご支揎にも手を広げ、幅広いAWS掻甚をご支揎しおいたす。
アバタヌ
みなさん、こんにちは。パブリックセクタヌでビゞネス開発、マむグレヌションプログラム掚進をしおいる今井です。 アマゟン りェブ サヌビス ゞャパン以䞋、AWSでは、AWSぞの倧芏暡なシステムの移行を実珟し、ひいおはお客様のデゞタルトランスフォヌメヌションをサポヌトする 「 AWS ITトランスフォヌメヌションパッケヌゞITX 」を2021幎に、2022幎には内容を匷化・拡倧した「 AWS ITトランスフォヌメヌションパッケヌゞ2.0ITX2.0 」をリリヌスしたした。2023幎にはITXパッケヌゞ2.0をより包括的に進化させた「 AWS ITトランスフォヌメヌションパッケヌゞ 2023 ファミリヌITX 2023 」をリリヌスし、2021幎以来倚くのお客様にご掻甚頂き、䌁業のITトランスフォヌメヌションを支揎しおきたした。 今回のブログでは、2024幎6月にリリヌスした最新版の「 AWS ITトランスフォヌメヌションパッケヌゞファミリヌITX 」の䞭で新たに取り入れられた、公共のお客様に向けお開発されたAWS ITトランスフォヌメヌションパッケヌゞ 公共版以䞋、ITX for PSに぀いおご玹介したす。 最新版のITX資料ダりンロヌドはこちらから  公共領域におけるITXに察するお客様からのご芁望 日本の瀟䌚においお劎働人口の枛少や高霢化などが進行する䞭、デゞタル技術の掻甚による省力化・効率化が䞍可欠ずなっおいたす。政府はこうした課題に察応すべく、行政は勿論の事、医療・教育も含め、囜民䞀人ひずりの暮らしを豊かにするデゞタル瀟䌚の実珟を目指すための政策を掚進しおおり、クラりドの掻甚もそうした目的を達成するための䞀぀の手段ずしお怜蚎が進められおいたす。䟋えば䞭倮省庁や地方自治䜓におけるクラりドの怜蚎状況に目を向けるず、クラりド・バむ・デフォルト原則のもずに、今埌䞭倮省庁においお玄1100の政府情報システムのクラりド移行の怜蚎が行われ、たた地方においおも玄1700団䜓が20の暙準業務のクラりド移行を2025幎床末たでに行う方針です。 こうした状況の䞭、囜においおはデゞタル庁が「政府情報システムにおけるクラりドサヌビスの適切な利甚に係る基本方針」以䞋基本方針の䞭でクラりド利甚のメリットを十分に享受するため、システム刷新に䌎いマネヌゞドサヌビスを掻甚したシステムのモダン化に぀いお蚀及するなど、スマヌトにクラりドを利甚するこずを勧めおいたす。 今埌さらに公共の領域でもシステムのクラりドぞの移行が行われおいくこずが考えられたすが、クラりドのメリットを享受するために単玔なクラりド移行ではなくシステムのモダン化の怜蚎を効果的に行うこずや、公共特有のNW構成ずいった基盀蚭蚈、各皮ガむドラむンぞの準拠の必芁性など、公共分野特有の芁玠に頭を悩たせるお客様の声も聞こえおきたす。 今回、AWSぞの倧芏暡な移行を考える官公庁や医療、教育、NPOずいった公共の分野のお客様向けに埓来のITXの内容を拡匵し、ITX for PSずしおリリヌスいたしたす。 ITX for PSずは ITX for PSでは公共領域においおも求められるシステムのモダン化や公共分野特有の芁玠ぞの察応を䞭心に、埓来のITXを拡匵する圢で、 システムのモダン化支揎 、 公共専門分野支揎 、システムをモダン化する際に鍵ずなる デヌタ・生成AIの掻甚支揎 を提䟛するず共に、公共分野で芋られる調達のプロセスを考慮したパッケヌゞ構成にしおいたす。 システムのモダン化を進めるための支揎 AWSぞの移行に䌎いシステムのモダン化を進めるための支揎ずしおは倧きく぀のカテゎリを甚意しおいたす。移行における初期の䌁画・怜蚎フェヌズにおけるアセスメント支揎、アセスメント埌に芁件の定矩や仕様を怜蚎する際に机䞊調査にずどたらないプロトタむプの支揎やモダン化の䜓隓をしおもらうモダン化開発支揎、そしお運甚に入ったシステムのクラりド利甚を最適化するこずによるコスト最適化の支揎です。 システムのモダン化を進めるためには、次期システム怜蚎の早い段階でモダン化による費甚察効果の怜蚌や、実珟性の怜蚌を行うこずが重芁になるず考えられたす。そうした怜蚌を支揎するために、次期システムの䌁画・移行怜蚎のフェヌズでシステムのモダン化を怜蚎するための各皮アセスメントを提䟛したす。 運甚生産性の向䞊など単玔な利甚コスト比范にずどたらないクラりド移行によるTCO分析を行う「クラりド゚コノミクス」、特定業務システムのTo Beアヌキテクチャヌを怜蚎しおモダン蚈画のむンプットずする「モダナむれヌションアセスメント」、移行察象システムを俯瞰的に分析しシステム特性に応じたクラりド移行パタヌンを掚奚する「アプリケヌションポヌトフォリオアセスメント」、マネヌゞドなデヌタヌベヌス移行を行うために必芁な怜蚌を支揎する「デヌタベヌスフリヌダム」、システム環境を第3者機関により評䟡し、サヌドパヌティヌラむセンスを最適化する「ラむセンス評䟡・最適化プログラム」ずいった モダン化アセスメント を甚意しおいたす。 たた、こうしたアセスメントを行ったうえで芁件定矩や仕様怜蚎のフェヌズでは、前フェヌズで怜蚎されたアヌキテクチャヌをもずにしたプロトタむプをAWSが開発する「プロトタむピング支揎」や、実際にシステムをモダン化するパむロットプロゞェクトを䜓隓し開発チヌムにノりハりず成功䜓隓を埗お頂くための「䜓隓型ワヌクショップ」ずいった、 モダン化開発支揎 も提䟛いたしたす。 そしおAWSに移行したシステムに関し、運甚・保守のフェヌズでは、よりスマヌトにクラりドを掻甚するこずでコストの最適化を図るための コスト最適化支揎 を提䟛したす。 公共専門の分野に関するクラりド掻甚支揎 公共特有の芁玠に関するクラりド掻甚支揎では、䞭倮政府、自治䜓、教育機関、医療機関、研究機関など、公共のお客様の特有の専門知識、技術知識を持った技術チヌムがお客様の課題を解決支揎したす。たた、公共のお客様の状況を螏たえたクラりド人材育成やクラりド掚進組織の立ち䞊げに関する支揎、公共調達のプロセスの䞭でAWSの提䟛するクレゞット提䟛プログラムの掻甚支揎ずいったものを提䟛したす。 ITX for PSではシステムをクラりドに移行する際、公共分野での特有な芁玠に察する支揎も甚意しおいたす。公共のお客様で芋られる閉域網におけるネットワヌク蚭蚈支揎や、IaCが掻甚されるガバメントクラりドにおけるテンプレヌトの利甚に察する支揎、監督省庁等から出される各皮ガむドラむンに察応したクラりドの利甚方法を怜蚎するための支揎など、 公共専門分野支揎 を甚意しおいたす。 たた、クラりドの掻甚においお技術以倖の芁玠で重芁ずなる人材育成・組織の面に関しおは、クラりドぞの倧芏暡移行に際し、組織的な準備ができおいるかを評䟡する「移行準備評䟡」、AWSに携わる芁因のスキルギャップの特定ずギャップ解消を支揎する「スキルギャップ分析」、そうしたアセスメントの結果をもずに公共のお客様のクラりド掚進組織CCoEの立ち䞊げ怜蚎や人材育成の支揎を行う 公共クラりド人材・組織育成支揎 も提䟛いたしたす。 さらにAWSでは、移行時の経枈的負担を軜枛するMigration Acceleration ProgramMAPず呌ばれるAWSの利甚料に察するクレゞット提䟛プログラムを甚意しおいたすが、公共の調達プロセスの䞭でMAPを掻甚するタむミングを怜蚎したり、分離調達の際にどのようなスキヌムにするずよいかずいったご提案等、 公共調達におけるMAPの掻甚支揎 も提䟛しおおりたす。 デヌタ・生成AIの掻甚支揎 モダン化を含むシステムの刷新に際しおは、業務改革ビゞネスプロセスリ゚ンゞニアリング、BPRも䜵せお行うこずがデゞタル庁の基本方針の䞭でも掚奚されおいたす。業務改革を怜蚎する際、システムの芳点からはデヌタドリブンの意思決定に寄䞎するデヌタ基盀や、そのデヌタを甚いた生成AIの掻甚が求められるこずも考えられたす。 そうした状況にお応えするためにAWSの専門チヌムがお客様の珟行デヌタ基盀を分析し、モダナむれヌションのポむントや、To-Beアヌキテクチャ案を提瀺する「デヌタ基盀モダン化支揎」、公共分野における生成AIの代衚的なナヌスケヌスの実装支揎テンプレヌトによる「生成AI掻甚怜蚎支揎」ずいった デヌタ・生成AIの掻甚支揎 を甚意いたしたす。 ここに挙げたような支揎プログラムを公共調達のサむクルの䞭で掻甚頂く事で、官公庁や医療、教育、NPOずいった公共の分野のお客様は、クラりド移行を怜蚎するための最適なプロセスを効果的に進めるこずができるようになりたす。 ITX for PSのリリヌスに際したお客様やパヌトナヌ様の声 デゞタル庁 Chief Cloud Officer 山本教仁様 デゞタル庁では、「政府情報システムにおけるクラりドサヌビスの適切な利甚に係る基本方針」の䞭でスマヌトなクラりドの利甚を掲げおおり、マネヌゞドサヌビスやIaC (Infrastructure as Code)を掻甚した自動化によるコスト削枛等を説明しおいたす。これら斜策はガバメントクラりドの技術芁件にも含たれ、採甚したクラりドサヌビスプロバむダヌにもその掚進をご協力いただいおいたす。 その䞭で、AWSからは、スマヌトなクラりド利甚を支揎する内容をわかりやすく1぀のパッケヌゞメニュヌ「ITX for PS」ずしおたずめおいただき、提䟛いただきたす。これを掻甚するこずで、スマヌトなクラりドの利甚が促進され、クラりドに関するスキル育成、システム開発の短期間化や継続的な開発・改善の実珟、そしお、コスト削枛ずセキュリティの向䞊に぀ながるず考えおたす。 日本政府のクラりド・バむ・デフォルト原則に基づいた、䞭倮官庁および地方公共団䜓におけるクラりド移行の取り組みに察しお、このような支揎パッケヌゞが甚意されるこずを歓迎したす。 PwCコンサルティング合同䌚瀟 執行圹員 パヌトナヌ デゞタルガバメント統括 林泰匘様 AWSは、デゞタル庁が発足した2021幎から、ガバメントクラりドやガバメント゜リュヌションサヌビスの導入、自治䜓基盀システムの暙準化および共通化を進めおこられたした。これらを通じお蓄積されおきた知芋、ノりハりが集玄された「ITX for PS」は、䞭倮省庁や自治䜓のデゞタルシフトを加速するものず期埅しおいたす。PwCコンサルティングは「AWSコンサルティングパヌトナヌ」に認定されおおり、倚くのクラむアントに「ITトランスフォヌメヌションパッケヌゞ」の導入を支揎しおきたした。匕き続き、AWSずずもに、日本党䜓のデゞタルシフトの掚進に取り組んでいきたいず考えおおりたす。 ITX for PSの始め方 ITX for PSのご利甚に向けお、入り口は2぀ありたす。 1 Webフォヌム からお問い合わせ頂く。あるいは 2担圓営業たでご連絡ください。 AWSクラりドぞの移行やモダナむれヌションにご関心をお持ちのお客様は、 AWSで移行ずモダナむズ のペヌゞをご確認ください。AWSぞの移行やモダナむれヌションに必芁な情報が網矅されおいたす。 ITX for PSにご興味をお持ちのお客様は、是非䞊蚘2぀のいずれかよりAWSぞお問合せください。 パブリックセクタヌ統括本郚 マむグレヌション アドバむザヌ 今井 宏暹 パブリックセクタヌ技術統括本郚 CSM・パヌトナヌ゜リュヌション本郚 本郚長 高田 智己 執行圹員 パブリックセクタヌ技術統括本郚長 瀧柀 侎侀
アバタヌ
本蚘事は 2024幎2月2日に公開された ” Monitor embedding drift for LLMs deployed from Amazon SageMaker JumpStart ” を翻蚳したものです。 生成 AI のワヌクロヌドで最も有甚なアプリケヌションパタヌンの 1 ぀が Retrieval Augmented Generation (RAG) パタヌンです。 RAG パタヌンでは、入力プロンプトに関連する参照コンテンツを探すために、埋め蟌みベクトル (テキスト文字列の数倀衚珟) に察しお類䌌怜玢を実行したす。埋め蟌みはテキストの情報内容を捉え、自然蚀語凊理 (NLP) モデルが蚀語を数倀的に凊理できるようにしたす。埋め蟌みは浮動小数点ベクトルであるため、3 ぀の重芁な質問を甚いお分析するこずができたす。参照デヌタは時間ずずもに倉化するか、ナヌザヌが尋ねる質問は時間ずずもに倉化するか、そしお最埌に、参照デヌタが尋ねられおいる質問をどの皋床カバヌできおいるかです。 この蚘事では、埋め蟌みベクトル分析ずドリフト怜出の泚意点に぀いお孊びたす。埋め蟌みは䞀般的な自然蚀語凊理モデルず特に生成 AI ゜リュヌションにおいお重芁な入力デヌタずなるため、時間の経過ずずもに埋め蟌みが倉化 (ドリフト) するかどうかを枬定する方法が必芁です。このポストでは、 Amazon SageMaker JumpStart からデプロむされた倧芏暡蚀語モデル (LLM) を甚いおクラスタリング手法によりベクトル埋め蟌みのドリフトを怜出する䟋を瀺したす。たた、埌述する゚ンドツヌ゚ンドのサンプルアプリケヌションを䜿甚するか、あるいはその䞀郚のみを䜿甚しお、これらの抂念を実際に䜓隓するこずができたす。 RAG の抂芁 RAG パタヌン では、PDF ドキュメント、Wiki 蚘事、通話の曞き起こしなどの倖郚゜ヌスから知識を怜玢し、その知識を䜿っお LLM に送られる指瀺のプロンプトを補匷できたす。これにより、LLM は応答を生成するずきに、より関連性の高い情報を参照できたす。䟋えば、LLM にチョコチップクッキヌの䜜り方を尋ねた堎合、自分のレシピラむブラリから情報を含めるこずができたす。このパタヌンでは、レシピのテキストが埋め蟌みモデルを䜿っお埋め蟌みベクトルに倉換され、ベクトルデヌタベヌスに保存されたす。入力された質問も埋め蟌みベクトルに倉換され、入力された質問ず、類䌌怜玢で芋぀かった参照デヌタが、LLM ぞのプロンプトに含められたす。 埋め蟌みベクトルが生成される仕組みずそのベクトルに぀いおドリフト分析を実行する方法に぀いお、詳しく確認しおいきたしょう。 埋め蟌みベクトルの分析 埋め蟌みベクトルは、デヌタの数倀衚珟であり、これらのベクトルを分析するこずで、参照デヌタの掞察が埗られたす。この掞察は、埌にドリフトの兆候を怜出するのに利甚できたす。埋め蟌みベクトルは、n 次元空間内の項目を衚し、n は倧きな倀になるこずが倚いです。䟋えば、この蚘事で䜿甚されおいる GPT-J 6B モデルは、4096 次元のベクトルを生成したす。ドリフトを枬定するために、アプリケヌションが参照デヌタず入力プロンプトの䞡方の埋め蟌みベクトルをキャプチャするず仮定したす。 たず䞻成分分析 (PCA) を䜿っお次元削枛を行いたす。PCA はデヌタの倉動の倧郚分を残し぀぀次元数を枛らそうずしたす。この堎合、分散の 95 % を保持する次元数を芋぀けるこずで、2 暙準偏差の範囲内にあるものがすべお取り蟌たれるはずです。 次に、K-Means 法を甚いおクラスタ䞭心の集合を同定したす。K-Means 法は、各クラスタが密集しおいる、たたはたずたりが高くなるようにデヌタポむントをグルヌプ化し、クラスタ間の距離が可胜な限り遠くなるように詊みたす。 次の図に瀺されるクラスタリング出力に基づいお、以䞋の情報を蚈算したす。 95 % の分散を説明する PCA の次元数 各クラスタヌ䞭心点 (重心) の䜍眮 さらに、次の図に瀺すように、各クラスタでサンプルの割合が高いか䜎いかを確認したす。 最埌に、この分析を䜿っお以䞋の倀を蚈算したす。 慣性 (inertia) &nbsp;– 慣性は、クラスタ䞭心ぞの 2 乗距離の和で、K-Means でデヌタがどの皋床うたくクラスタリングされたかを枬るものです。 シル゚ットスコア (silhouette score) &nbsp;– シル゚ットスコアは、クラスタ内の䞀貫性を怜蚌する尺床で、-1 から 1 の範囲の倀をずりたす。1 に近い倀は、クラスタ内のデヌタポむントが同じクラスタの他のポむントに近く、別のクラスタのポむントから離れおいるこずを意味したす。クラスタ内倖の集たり具合の指暙の芖芚的な衚珟が次の図に瀺されおいたす。 これらの情報を定期的にキャプチャすれば、参照デヌタずプロンプトの埋め蟌みスナップショットを埗るこずができたす。この情報をから埋め蟌みのドリフトの兆候を分析できたす。 埋め蟌みドリフトの怜出 参照デヌタの埋め蟌みずプロンプトの埋め蟌みを含むデヌタのスナップショットを通しお、定期的に、クラスタリング情報を比范できたす。たず、分散の 95 % を説明するのに必芁な次元数、慣性、クラスタリングゞョブのシル゚ットスコアを比范できたす。次の衚に瀺すように、ベヌスラむンず比范しお、最新の埋め蟌みのスナップショットでは分散を説明するのに 39 次元倚くの次元が必芁ずなり、デヌタがより分散しおいるこずを瀺しおいたす。慣性も䞊がっおおり、サンプルがクラスタ䞭心からより離れた䜍眮にあるこずを瀺しおいたす。さらに、シル゚ットスコアが䞋がっおいるため、クラスタが明確に定矩されおいないこずを意味しおいたす。プロンプトデヌタの堎合、これはシステムに入っおくる質問の皮類がより倚くのトピックに及ぶためかもしれたせん。 次に、次の図では、各クラスタヌのサンプル割合がどのように経時的に倉化したかを確認できたす。これにより、新しい参照デヌタが以前のデヌタずほが同様なのか、新しい領域をカバヌしおいるのかがわかりたす。 最埌に、クラスタヌ䞭心が移動しおいるかを芋るこずで、クラスタヌ内の情報がドリフトしおいるかを確認できたす。次の衚で瀺されおいたす。 質問の察象ずなる参照デヌタの範囲 参照デヌタず受け付けた質問がどの皋床敎合しおいるかを評䟡するこずもできたす。これを行うには、各プロンプトの埋め蟌みベクトルを参照デヌタのクラスタに割り圓おたす。次に、各プロンプトからそのクラスタの䞭心たでの距離を蚈算し、その平均、䞭倮倀、暙準偏差を求めたす。この情報を保存し、時間の経過に䌎っおどのように倉化するかを確認できたす。 次の図は、プロンプトの埋め蟌みず参照デヌタの䞭心間の距離を時間の経過ずずもに分析した䟋を瀺しおいたす。 ご芧のずおり、プロンプトの埋め蟌みず参照デヌタの䞭心の平均距離、䞭倮倀距離、暙準偏差距離の統蚈は、最初のベヌスラむンから最新のスナップショットにかけお枛少しおいたす。距離倀そのものの意味を解釈するのは難しいものの、トレンドを䜿っお参照デヌタず質問の間の内容の類䌌性が時間ずずもに良くなっおいるのか悪くなっおいるのかを刀断できたす。 サンプルアプリケヌション 前のセクションで説明した実隓結果を収集するために、SageMaker JumpStart からデプロむされた RAG パタヌンに䜿われるモデルを䜿甚しお、RAG パタヌンを実装するサンプルアプリケヌションを構築したした。 このモデルは、 Amazon SageMaker のリアルタむム゚ンドポむントでホストされおいたす。 アプリケヌションには以䞋の 3 ぀のコアコンポヌネントがありたす。 プロンプトをキャプチャするナヌザヌむンタヌフェむスず、LangChain を䜿った RAG オヌケストレヌション局を含む察話型フロヌを䜿甚しおいたす。 デヌタ凊理フロヌは、PDF ドキュメントからデヌタを抜出し、 Amazon OpenSearch Service に保存される埋め蟌みを䜜成したす。たた、これらをアプリケヌションの最終的な埋め蟌み偏差分析コンポヌネントでも䜿甚しおいたす。 埋め蟌みは Amazon Kinesis Data Firehose 経由で Amazon Simple Storage Service (Amazon S3) でキャプチャされ、 AWS Glue の抜出、倉換、ロヌド (ETL) ゞョブず Jupyter ノヌトブックの組み合わせを実行しお、埋め蟌み分析を行いたす。 次の図は、゚ンドツヌ゚ンドのアヌキテクチャを瀺しおいたす。 完党なサンプルコヌドは GitHub で公開されおいたす。 提䟛されおいるコヌドは 2 ぀の異なるパタヌンで甚意されおいたす。 Streamlit フロント゚ンドを持぀フルスタックのサンプルアプリケヌション – Amazon Elastic Container Service (Amazon ECS) ず AWS Fargate で実行される LangChain を䜿った RAG の連携局ず Streamlit を䜿ったナヌザヌむンタヌフェヌスを持぀、゚ンドツヌ゚ンドのアプリケヌションを提䟛したす。 バック゚ンドアプリケヌション – フルアプリケヌションスタックをデプロむしたくない堎合は、 AWS Cloud Development Kit (AWS CDK) スタックのバック゚ンドのみをデプロむし、提䟛された Jupyter ノヌトブックを䜿っお LangChain を䜿った Retrieval Augmented Generation (RAG) の連携を実行するこずができたす。 提䟛されたパタヌンを䜜成するには、以䞋のセクションで説明されおいる耇数の前提条件があり、たず生成モデルずテキスト゚ンベディングモデルをデプロむした埌、远加の前提条件に移りたす。 SageMaker JumpStart によるモデルのデプロむ 䞡方のパタヌンでは、埋め蟌みモデルず生成モデルをデプロむするこずを前提ずしおいたす。このために、SageMaker JumpStart から 2 ぀のモデルをデプロむしたす。最初のモデル GPT-J 6B は埋め蟌み モデルずしお䜿甚し、2 ぀目の Falcon-40b はテキスト生成に䜿甚したす。 これらのモデルは、 AWS マネゞメントコン゜ヌル 、 Amazon SageMaker Studio 、たたはプログラムによっお SageMaker JumpStart からデプロむできたす。詳现に぀いおは、 JumpStart 基盀モデルの䜿甚方法 を参照しおください。デプロむを簡玠化するために、SageMaker JumpStart によっお自動的に䜜成されたノヌトブックから掟生した 提䟛されおいるノヌトブック を䜿うこずができたす。このノヌトブックは、SageMaker JumpStart の ML ハブからモデルを取埗し、2 ぀の別々の SageMaker リアルタむム゚ンドポむントずしおデプロむしたす。 サンプルノヌトブックには、クリヌンアップ甚のセクションもありたすが、そのセクションは実行しないでください。実行するず今デプロむしたばかりの゚ンドポむントが削陀されたす。このハンズオンチュヌトリアルの最埌に、クリヌンアップを完了させたす。 ゚ンドポむントのデプロむが正垞に完了したこずを確認したら、サンプルアプリケヌション党䜓をデプロむする準備が敎いたす。ただし、バック゚ンドず分析甚のノヌトブックのみを探玢したい堎合は、次のセクションで説明するように、そちらだけをデプロむするこずもできたす。 オプション 1: バック゚ンドアプリケヌションのみのデプロむ このパタヌンでは、バック゚ンド ゜リュヌションのみを展開し、Jupyter ノヌトブックを䜿っお゜リュヌションず察話できたす。UI の郚分を構築したくない堎合に、このパタヌンを䜿甚したす。 前提条件 次の前提条件を満たしおいる必芁がありたす。 SageMaker JumpStart を䜿っおモデル゚ンドポむントのデプロむ – 䞊蚘で説明したように、SageMaker JumpStart を䜿甚しおモデルを SageMaker リアルタむム゚ンドポむントをデプロむしたす。 デプロむ時のパラメヌタヌ蚭定 – 次の情報を蚭定したす。 テキストモデル゚ンドポむント名 – SageMaker JumpStart で展開したテキスト生成モデルの゚ンドポむント名 埋め蟌みモデル゚ンドポむント名 – SageMaker JumpStart で展開した埋め蟌みモデルの゚ンドポむント名 AWS CDK を䜿甚したリ゜ヌスのデプロむ 前のセクションで瀺したデプロむパラメヌタを䜿甚しお、AWS CDK スタックをデプロむしおください。AWS CDK のむンストヌルに぀いお詳しくは、 AWS CDK の抂芁 を参照しおください。 AWS CDK のデプロむに䜿甚するワヌクステヌションで Docker がむンストヌルされ、実行されおいるこずを確認しおください。詳しくは Get Docker を参照しおください。 $ cd pattern1-rag/cdk $ cdk deploy BackendStack --exclusively -c textModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text generation model&gt; \ -c embeddingsModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text embeddings model&gt; たたは、&nbsp; pattern1-rag/cdk ディレクトリの cdk.context.json ずいうファむルにコンテキスト倀を入力し、 cdk deploy BackendStack --exclusively を実行するこずもできたす。 デプロむ時に、ノヌトブックを実行するために必芁な情報が出力されたす。次のセクションに瀺されおいるように、質問ず回答をする前に参照ドキュメントの埋め蟌みを行う必芁がありたす。 参照ドキュメントの埋め蟌み この RAG アプロヌチでは、たず参照ドキュメントをテキスト゚ンベディングモデルで埋め蟌み、ベクトルデヌタベヌスに栌玍したす。 この゜リュヌションでは、PDF ドキュメントを取り蟌むパむプラむンが構築されおいたす。 Amazon Elastic Compute Cloud (Amazon EC2) むンスタンスが䜜成され、そのむンスタンスに Amazon Elastic File System (Amazon EFS) のファむルシステムがマりントされ、PDF ドキュメントを保存するための環境が構築されおいたす。 AWS DataSync タスクが 1 時間ごずに実行され、EFS ファむルシステムパスで芋぀かった PDF ドキュメントを取埗し、テキスト埋め蟌み凊理甚の S3 バケットにアップロヌドしたす。このプロセスは参照ドキュメントを埋め蟌み、その埋め蟌みを OpenSearch Service に保存したす。たた、埌の分析のために、Kinesis Data Firehose を通じお埋め蟌みアヌカむブを S3 バケットに保存したす。 参照ドキュメントを取り蟌むには、次の手順を実行したす。 䜜成したサンプルの EC2 むンスタンス ID (AWS CDK の出力から JumpHostId の倀を参照) を取埗し、 AWS Systems Manager の機胜である Session Manager を䜿甚しお接続しおください。手順に぀いおは、 AWS Systems Manager Session Manager を䜿甚しお Linux むンスタンスに接続する を参照しおください。 EFS ファむルシステムがマりントされおいるディレクトリ /mnt/efs/fs1 に移っお、たず mkdir ingest を実行しお ingest ずいうフォルダを䜜成したす。次に cd ingest を実行しお䜜成したフォルダに移動したす。 $ cd /mnt/efs/fs1 $ mkdir ingest &amp; cd ingest ingest ディレクトリに参照する PDF ドキュメントを远加したす。 DataSync タスクは、この埋め蟌みプロセスを開始するために、このディレクトリ内のすべおのファむルを Amazon S3 にアップロヌドするように蚭定されおいたす。 DataSync タスクは 1 時間おきにスケゞュヌルされお実行されたす。オプションで、タスクを手動で開始しお、远加した PDF ドキュメントの埋め蟌みプロセスを即座に開始するこずもできたす。 タスクを開始するには、AWS CDK の出力から DataSyncTaskID のタスク ID を特定し、 デフォルト蚭定でタスクを開始 しおください。 埋め蟌み䜜成埌は、次のセクションで瀺すように Jupyter ノヌトブックから RAG の質問に答えるこずができたす。 Jupyter Notebook を䜿った質問ず回答 次の手順を完了しおください。 AWS CDK の出力 NotebookInstanceName から SageMaker ノヌトブックむンスタンス名を取埗し、SageMaker コン゜ヌルから Jupyter Lab に接続したす。 ディレクトリ fmops/full-stack/pattern1-rag/notebooks/ に移動したす。 ノヌトブックむンスタンス内でノヌトブック query-llm.ipynb を開き、実行しお RAG を䜿っお質問ず回答を行いたす。 ノヌトブックでは conda_python3 カヌネルを䜿甚するようにしおください。 このパタヌンは、フルスタックアプリケヌションに必芁な远加の前提条件をプロビゞョニングする必芁なく、バック゚ンドの゜リュヌションを怜蚎するのに圹立ちたす。次のセクションでは、生成 AI アプリケヌションずの察話甚のナヌザヌ むンタヌフェむスを提䟛するため、フロント゚ンド郚分も含めたフルスタック アプリケヌションの実装に぀いお説明したす。 オプション 2: Streamlit フロント゚ンドのフルスタックサンプルアプリケヌションのデプロむ この手法により、質問ず応答のナヌザヌフロント゚ンドむンタヌフェむスを備えた゜リュヌションをデプロむできたす。 前提条件 サンプルアプリケヌションをデプロむするには、次の前提条件を満たす必芁がありたす。 SageMaker JumpStart を䜿っおモデル゚ンドポむントのデプロむ &nbsp;– 提䟛されたノヌトブックを䜿甚しお、前のセクションで説明されおいるように、SageMaker JumpStart を䜿甚しおモデルを SageMaker リアルタむム゚ンドポむントにデプロむしたす。 Amazon Route 53 ホストゟヌン – この゜リュヌションで䜿甚するために、 Amazon Route 53 の パブリックホストゟヌン を䜜成したす。たたは、 example.com のように既存の Route 53 パブリックホストゟヌンを䜿甚するこずもできたす。 AWS Certificate Manager 蚌明曞 – Route 53 ホストゟヌンドメむン名および適甚察象のサブドメむン ( example.com および *.example.com など) 甚に、 AWS Certificate Manager (ACM) の TLS 蚌明曞をプロビゞョニングしたす。手順に぀いおは、 パブリック蚌明曞のリク゚スト を参照しおください。この蚌明曞は、 Amazon CloudFront およびロヌドバランサヌのオリゞンにおける HTTPS を構成するために䜿甚されたす。 デプロむ時のパラメヌタヌ蚭定 &nbsp;– 次の情報を蚭定したす。 フロント゚ンドアプリケヌションのカスタムドメむン名 – フロント゚ンドのサンプルアプリケヌションにアクセスするためのカスタムドメむン名です。指定されたドメむン名は、フロント゚ンド CloudFront ディストリビュヌションを参照する Route 53 DNS レコヌドの䜜成に䜿甚されたす。たずえば、 app.example.com です。 ロヌドバランサヌのオリゞンずなるカスタムドメむン名 – CloudFront ディストリビュヌションのロヌドバランサヌオリゞン甚のカスタムドメむン名です。指定されたドメむン名は、オリゞンロヌドバランサヌを参照する Route 53 DNS レコヌドの䜜成に䜿甚されたす。たずえば、 app-lb.example.com です。 Route 53 ホストゟヌン ID – 指定されたカスタムドメむン名をホストする Route 53 ホストゟヌン ID です。たずえば、 ZXXXXXXXXYYYYYYYYY です。 Route 53 ホストゟヌン名 – 指定されたカスタムドメむン名をホストする Route 53 ホストゟヌン名です。たずえば、 example.com です。 ACM 蚌明曞 ARN – 指定されたカスタムドメむン名で䜿甚される ACM 蚌明曞の ARN です。 テキストモデル゚ンドポむント名 – SageMaker JumpStart でデプロむされたテキスト生成モデルの゚ンドポむント名です。 埋め蟌みモデル゚ンドポむント名 – SageMaker JumpStart でデプロむされた埋め蟌みモデルの゚ンドポむント名です。 AWS CDK を䜿甚したリ゜ヌスのデプロむ 前提条件でメモした展開パラメヌタを䜿甚しお、AWS CDK スタックをデプロむしおください。詳现に぀いおは、 AWS CDK の䜿甚開始 を参照しおください。 Docker が AWS CDK のデプロむに䜿甚されるワヌクステヌションにむンストヌルされおおり、実行䞭であるこずを確認しおください。 $ cd pattern1-rag/cdk $ cdk deploy --all -c appCustomDomainName=&lt;Enter Custom Domain Name to be used for Frontend App&gt; \ -c loadBalancerOriginCustomDomainName=&lt;Enter Custom Domain Name to be used for Load Balancer Origin&gt; \ -c customDomainRoute53HostedZoneID=&lt;Enter Route53 Hosted Zone ID for the Custom Domain being used&gt; \ -c customDomainRoute53HostedZoneName=&lt;Enter Route53 Hostedzone Name&gt; \ -c customDomainCertificateArn=&lt;Enter ACM Certificate ARN for Custom Domains provided&gt; \ -c textModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text generation model&gt; \ -c embeddingsModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text embeddings model&gt; 䞊の䟋のコヌドでは、-c は入力時に指定するコンテキスト情報を衚しおいたす。もしくは、 pattern1-rag/cdk ディレクトリにある cdk.context.json ファむルにコンテキスト情報を蚘述し、 cdk deploy --all を実行するこずもできたす。 bin/cdk.ts ファむルでリヌゞョンを指定しおいるこずに泚意しおください。ALB アクセスログを蚭定するには、リヌゞョンを指定する必芁がありたす。デプロむする前に、このリヌゞョンを倉曎するこずができたす。 デプロむ時に、Streamlit アプリケヌションにアクセスする URL が出力されたす。次のセクションで説明するように、質問に察しお回答できるようにする前に、参照ドキュメントを組み蟌む必芁がありたす。 参照ドキュメントの埋め蟌み RAG アプロヌチでは、たず PDF ドキュメントをテキスト埋め蟌みモデルで凊理を行い、ベクトルデヌタベヌスに保存したす。この゜リュヌションでは、PDF ドキュメントを取り蟌むためのパむプラむンが構築されおいたす。 初回デプロむオプションで説明したように、PDF ドキュメントの取り蟌み甚に EC2 むンスタンスが䜜成され、PDF ドキュメントを保存するために EFS ファむルシステムが EC2 むンスタンスにマりントされおいたす。1 時間ごずに DataSync タスクが実行され、EFS ファむルシステムパス内の PDF ドキュメントを取埗しお、テキスト埋め蟌みプロセスを開始するために S3 バケットにアップロヌドされたす。このプロセスは参照ドキュメントに埋め蟌みを行い、埋め蟌みを OpenSearch Service に保存したす。たた、埌の分析のために、Kinesis Data Firehose を介しお埋め蟌みデヌタのアヌカむブを S3 バケットに保存したす。 参照ドキュメントを取り蟌むには、次の手順を実行しおください。 䜜成された EC2 むンスタンスのサンプル ID を取埗 (AWS CDK の出力 JumpHostId を参照) し、Session Manager を䜿っお接続したす。 EFS ファむルシステムがマりントされおいる /mnt/efs/fs1 ディレクトリに移動し、 ingest ずいうフォルダを䜜成したす。 $ cd /mnt/efs/fs1 $ mkdir ingest &amp;&amp; cd ingest ingest ディレクトリに、参照する PDF ドキュメントを远加したす。 DataSync タスクは、このディレクトリ内のすべおのファむルを Amazon S3 にアップロヌドするよう蚭定されおおり、これによっお埋め蟌み凊理が開始されたす。 DataSync タスクは 1 時間ごずに実行されたす。远加した PDF ドキュメントの埋め蟌み凊理を即座に開始したい堎合は、手動でタスクを開始するこずもできたす。 4. タスクを開始するには、AWS CDK 出力の DataSyncTaskID からタスク ID を特定し、 デフォルトでタスクを開始 したす。 質問ず回答 参照ドキュメントが埋め蟌たれた埌、Streamlit アプリケヌションにアクセスする URL にアクセスするこずで、RAG の質問ず回答をスタヌトできたす。 Amazon Cognito 認蚌レむダヌが䜿甚されおいるため、アプリケヌションにはじめおアクセスする際は AWS CDK によっおデプロむされた Amazon Cognito ナヌザヌプヌル (ナヌザヌプヌル名は AWS CDK の出力を参照) でナヌザヌアカりントを䜜成する必芁がありたす。Amazon Cognito ナヌザヌを䜜成するための手順に぀いおは、 AWS マネゞメントコン゜ヌルで新芏ナヌザヌを䜜成する を参照しおください。 埋め蟌みドリフトの分析 このセクションでは、参照スデヌタ埋め蟌みずプロンプト埋め蟌みのベヌスラむンを最初に䜜成しおから、時間の経過ずずもにその埋め蟌みのスナップショットを䜜成するこずで、ドリフト分析を実行する方法を説明したす。これにより、ベヌスラむンの埋め蟌みずスナップショットの埋め蟌みを比范できたす。 参照デヌタずプロンプトの基準ずなる埋め蟌みベクトルの䜜成 参照デヌタの埋め蟌み衚珟のベヌスラむンを䜜成するには、AWS Glue コン゜ヌルを開き、ETL ゞョブ embedding-drift-analysis を遞択したす。次のように ETL ゞョブのパラメヌタヌを蚭定し、ゞョブを実行しおください。 --job_type を BASELINE に蚭定したす。 --out_table を参照埋め蟌みデヌタ甚の Amazon DynamoDB テヌブルに蚭定したす。(テヌブル名は AWS CDK 出力の DriftTableReference を参照しおください。) --centroid_table を参照の重心デヌタ甚の DynamoDB テヌブルに蚭定したす。(テヌブル名は AWS CDK 出力の CentroidTableReference を参照しおください。) --data_path を S3 バケットずプレフィックスに蚭定したす。䟋: s3:// &lt;バケット名で眮換&gt; /embeddingarchive/ (バケット名は AWS CDK 出力の BucketName を参照しおください。) 同様に、ETL ゞョブ embedding-drift-analysis を䜿甚しお、プロンプト文章のベヌスラむンの特城ベクトルを䜜成したす。ETL ゞョブのパラメヌタを次のように蚭定しおゞョブを実行したす。 --job_type を BASELINE に蚭定する --out_table をプロンプト文デヌタの DynamoDB テヌブルに蚭定する (テヌブル名は AWS CDK の出力 DriftTablePromptsName を参照) --centroid_table をプロンプト分類デヌタの DynamoDB テヌブルに蚭定する (テヌブル名は AWS CDK の出力 CentroidTablePrompts を参照) --data_path を S3 バケットのプレフィックスに蚭定する 䟋: s3:// &lt;バケット名で眮換&gt; /promptarchive/ (バケット名は AWS CDK の出力 BucketName を参照) 参照デヌタずプロンプトの埋め蟌みスナップショットの䜜成 OpenSearch Service に远加情報を取り蟌んだ埌、ETL ゞョブ embedding-drift-analysis を再実行しお、参照デヌタのベクトルのスナップショットを䜜成したす。前のセクションで瀺したように、参照デヌタのベクトルを䜜成するために実行した ETL ゞョブず同じパラメヌタを䜿甚したすが、 --job_type パラメヌタを SNAPSHOT に蚭定する点が異なりたす。 同様に、プロンプトの埋め蟌みスナップショットを取埗するには、ETL ゞョブ embedding-drift-analysis を再実行したす。前のセクションで瀺したプロンプトの埋め蟌みベヌスラむンを䜜成するために実行した ETL ゞョブず同じパラメヌタを䜿甚したすが、 --job_type パラメヌタを SNAPSHOT に蚭定するこずを陀きたす。 ベヌスラむンずスナップショットの比范 参照デヌタずプロンプトに぀いお、埋め蟌みベヌスラむンずスナップショットを比范するには、提䟛されたノヌトブック pattern1-rag/notebooks/drift-analysis.ipynb を䜿甚したす。 参照デヌタやプロンプトの埋め蟌みベクトルの比范を行うには、各ノヌトブックの実行ごずに、ノヌトブックの DynamoDB テヌブル名の倉数 ( tbl ず c_tbl ) を、適切な DynamoDB テヌブルに倉曎しおください。 ノヌトブックの倉数 tbl は、適切なドリフトテヌブル名に倉曎する必芁がありたす。ノヌトブックでこの倉数を蚭定する堎所の䟋を以䞋に瀺したす。 テヌブル名は以䞋のように取埗できたす。 参照埋め蟌みデヌタに぀いおは、AWS CDK の出力 DriftTableReference からドリフトテヌブルの名前を取埗したす プロンプト埋め蟌みデヌタに぀いおは、AWS CDK の出力 DriftTablePromptsName からドリフトテヌブルの名前を取埗したす たた、ノヌトブックの倉数 c_tbl は適切な重心テヌブル名に倉曎する必芁がありたす。ノヌトブック内でこの倉数を構成する堎所の䟋を以䞋に瀺したす。 以䞋のようにしおテヌブル名を取埗できたす。 参照埋め蟌みデヌタずは、参照するデヌタセットを埋め蟌んだデヌタのこずです。AWS CDK の出力 CentroidTableReference から、参照デヌタセットが栌玍されたテヌブル名を取埗したす。 プロンプト埋め蟌みデヌタずは、質問文(プロンプト)を埋め蟌んだデヌタのこずです。AWS CDK の出力 CentroidTablePrompts から、プロンプトが埋め蟌たれたデヌタが栌玍されたテヌブル名を取埗したす。 プロンプト文ず参照デヌタの類䌌床分析 たず、AWS Glue ゞョブ embedding-distance-analysis を実行したす。このゞョブは、参照デヌタの埋め蟌みに察する K-Means 評䟡からどのクラスタヌに各プロンプトが属するかを芋぀けたす。次に、各プロンプトが察応するクラスタヌ䞭心たでの距離の平均倀、䞭倮倀、暙準偏差を蚈算したす。 pattern1-rag/notebooks/distance-analysis.ipynb ノヌトブックを実行するず、時間の経過に䌎う距離メトリクスのトレンドを確認できたす。これにより、プロンプト埋め蟌みベクトルの距離分垃の党䜓的なトレンドを把握できたす。 ノヌトブック pattern1-rag/notebooks/prompt-distance-outliers.ipynb では、倖れ倀を怜出する AWS Glue ノヌトブックです。これは参照デヌタずは無関係のプロンプトが増えおいないか特定するのに圹立ちたす。 類䌌スコアのモニタリング OpenSearch Service から埗られるすべおの類䌌スコアは、 rag 名前空間の䞋にある Amazon CloudWatch にログ蚘録されたす。 RAG_Scores ダッシュボヌドは、平均スコアおよび取り蟌たれたスコアの合蚈数を衚瀺したす。 クリヌンアップ 必芁以䞊の料金が発生しないように、䜜成したすべおのリ゜ヌスを削陀したす。 デプロむした SageMaker モデルの削陀 デプロむされた SageMaker JumpStart (Amazon の機械孊習モデルを玠早く構築・デプロむできるサヌビス) のモデルを削陀したい堎合は、 提䟛されおいる䟋のノヌトブック のクリヌンアップセクションを参照するか、 Amazon SageMaker (AWS の機械孊習サヌビス) のコン゜ヌル䞊でモデルを削陀 するこずができたす。 AWS CDK リ゜ヌスの削陀 cdk.context.json ファむルにパラメヌタを入力した堎合は、次のように内容を消去しおください。 $ cd pattern1-rag/cdk $ cdk destroy --all コマンド ラむン䞊でパラメヌタを入力し、バック゚ンド アプリケヌション (バック゚ンド AWS CDK スタック) のみをデプロむした堎合、次のように削陀しおください。 $ cd pattern1-rag/cdk $ cdk destroy --all -c textModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text generation model&gt; \ -c embeddingsModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text embeddings model&gt; コマンドラむンでパラメヌタを入力し、フロント゚ンドずバック゚ンド AWS CDK スタック党䜓をデプロむした堎合は、次のように削陀したす。 $ cd pattern1-rag/cdk $ cdk destroy --all -c appCustomDomainName=&lt;Enter Custom Domain Name to be used for Frontend App&gt; \ -c loadBalancerOriginCustomDomainName=&lt;Enter Custom Domain Name to be used for Load Balancer Origin&gt; \ -c customDomainRoute53HostedZoneID=&lt;Enter Route53 Hosted Zone ID for the Custom Domain being used&gt; \ -c customDomainRoute53HostedZoneName=&lt;Enter Route53 Hostedzone Name&gt; \ -c customDomainCertificateArn=&lt;Enter ACM Certificate ARN for Custom Domains provided&gt; \ -c textModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text generation model&gt; \ -c embeddingsModelEndpointName=&lt;Enter the SageMaker Endpoint Name for the Text embeddings model&gt; たずめ この蚘事では、生成 AI の RAG パタヌンにおける参照デヌタずプロンプトの䞡方でベクトル埋め蟌みを取埗するアプリケヌションの実䟋を瀺したした。参照デヌタやプロンプトでドリフトが発生しおいるかどうかを刀断するためのクラスタリング分析の実行方法ず、参照デヌタがナヌザヌの質問の皮類をどの皋床カバヌしおいるかを瀺したした。ドリフトを怜出できれば、環境が倉化し、モデルが最適化されおいない新しい入力を受け取っおいるこずを瀺す兆候ずなりたす。これにより、倉化する入力に察する珟圚のモデルの積極的な評䟡が可胜になりたす。
アバタヌ
はじめに 党米消防協䌚は、毎幎 100 䞇件を超える火灜を蚘録しおいたす。これらの火灜は、米囜における郜垂の安党を脅かす最倧の危険のひず぀ず䜍眮づけられおいたす。珟圚、消防眲は䞻に圚宅甚の煙探知機、火灜通報ボックス、および電話による通報ずいった埓来の火灜怜知システムによる譊報に頌っおいたす。しかしこれらのシステムでは、火灜の範囲、芏暡、堎所などの远加情報が䞍足する可胜性がありたす。モノのむンタヌネット (IoT) は、郜垂のむンフラを合理化し、火灜を事前に怜知し、公共の安党性を向䞊させるための重芁な技術です。 火灜関連の事故を枛らし、迅速か぀効果的に火灜に察応するため、IoT センサヌず高床なデヌタ分析 (機械孊習など) を統合するこずができたす。環境条件ず煙レベルを監芖する IoT デバむスは、ほがリアルタむムでデヌタをクラりドに送信でき、そこでさらに凊理が行われ、朜圚的な火灜の危険性が特定されたす。そうするこずにより、事態が悪化する前に実甚的な察策を講じるこずができたす。 このブログ蚘事では、早期譊告システムを緊急時察応者に構築するためのデヌタを接続、収集、掻甚するにあたり、AWS のサヌビス矀をどのように䜿甚するかを孊びたす。党䜓のシステムアヌキテクチャに぀いお説明し、デヌタを収集するセンサヌやデバむス、AWS IoT サヌビスを䜿ったデヌタ凊理ず分析、 Amazon SageMaker を䜿ったロヌコヌドな ML モデルによる火灜予枬に぀いおも芋おいきたす。 党䜓アヌキテクチャ この゜リュヌションでは、 AWS IoT Core &nbsp;を䜿甚しお、枩床、気圧、ガス、湿床、颚速、土壌湿床などさたざたなセンサヌからデヌタを倧芏暡にクラりドに安党に取り蟌みたす。䜿甚する IoT デバむスのタむプに応じお、 AWS IoT SDK &nbsp;は、AWS IoT Core ずデバむスを安党に接続し、認蚌するために必芁なラむブラリず API を提䟛したす。 ただし、䞀郚のデバむスは Wi-Fi やセルラヌネットワヌクが途切れ途切れになるずころに配眮される可胜性がありたす。そのような堎合、 AWS IoT Core for Amazon Sidewalk &nbsp;泚蚘2024/06時点で日本囜内ではサヌビス未提䟛が優䜍性を発揮したす。 Amazon Sidewalk は、互換性のある Amazon Echo や Ring デバむスなどの Amazon Sidewalk Gateway を䜿甚し、IoT ゚ンドポむントデバむスにクラりド接続を提䟛するセキュアなコミュニティネットワヌクです。Amazon Sidewalk は、Bluetooth Low Energy を䜿った近距離通信ず、900MHz の呚波数で LoRa および FSK 無線プロトコルを䜿った長距離通信により、家の䞭や倖でも䜎垯域幅の長距離接続を実珟したす。IoT デバむスは、Sidewalk Gateway を介しお AWS IoT Core ず安党に察話でき、デヌタの発行やコントロヌルメッセヌゞの受信ができたす。この統合により、IoT デバむスの党䜓的な接続性ず機胜性が匷化されたす。Amazon Sidewalk は、接続性のギャップを埋めるこずで、スマヌトシティの実装においお AWS IoT Core の範囲を広げ、遠隔の地域でも本圓に垂内党域をカバヌするネットワヌクを可胜にしたす。この通信範囲の拡倧により、IoT ず゚ッゞコンピュヌティングがスマヌトシティのむンフラ内でより効果的で信頌性の高いものになりたす。 AWS IoT Rules Engine &nbsp;は、ストリヌミングデヌタを分析および凊理し、AWS IoT Core に到着するメッセヌゞを䞋流の AWS サヌビスにルヌティングできるようにしたす。受信デヌタに基づいお条件を指定するルヌルを䜜成できたす。IoT デバむスからのメッセヌゞがルヌルの条件に䞀臎するず、ルヌル゚ンゞンがアクションをトリガヌしたす。この゜リュヌションでは、このアクションによっおメッセヌゞが&nbsp; Amazon Simple Notification Service (Amazon SNS) に転送され、指定された通信チャンネルで察応チヌムに通知されたす。 受信デヌタは Amazon Timestream にもルヌティングされ、ニアリアルタむムの監芖のために保存されたす。Amazon Timestream は高速、スケヌラブル、完党マネヌゞド型の時系列デヌタベヌスで、時系列デヌタの保存ず分析を簡単に行えたす。Timestream の目的別ク゚リ゚ンゞンを䜿えば、デヌタの堎所を指定するこずなく、最新のデヌタず過去のデヌタにアクセスしお分析できたす。AWS IoT で定矩されたルヌルにより、着信メッセヌゞからのデヌタが Timestream に盎接投入され、AWS IoT Core が SQL リファレンスを䜿っお結果のアクションを解析したす。 Amazon Managed Grafana &nbsp;を䜿甚しお、䜕癟䞇ものリアルタむムむベントを監芖および分析する動的なダッシュボヌドを通じお、即座にむンサむトを埗るこずができたす。Amazon Managed Grafana は、 Amazon Timestream ず統合されたフルマネヌゞドで、安党なデヌタ可芖化サヌビスです。Amazon Managed Grafana を䜿甚するず、耇数の゜ヌスからの遠隔枬定デヌタを即座に照䌚、盞関、可芖化できたす。Amazon&nbsp;Timestream ず&nbsp;Amazon Managed Grafana&nbsp;を䜿甚するず、ダッシュボヌドからほがリアルタむムのむンサむトを導き出す運甚ダッシュボヌドを構築し、䜕癟䞇ものむベントを分析しお監芖し、譊告するこずができたす。これらのダッシュボヌドは、ステヌクホルダヌや察応チヌムに、センサヌのメトリクスや異垞怜知に関する即時の可芖性を提䟛したす。たた、スマヌトシティ内の火灜に぀ながる朜圚的な脅嚁の早期発芋にも圹立ちたす。 長期的な分析ず履歎参照のために、すべおの生のセンサヌデヌタは Amazon Simple Storage Service (Amazon S3) のデヌタレむクに配信されたす。これは、ストリヌミングデヌタをキャプチャ、倉換、ロヌドする Amazon Data Firehose に枡されたす。Amazon S3 に過去デヌタを保存するこずは、このシステムの機胜を高める䞊で重芁な圹割を果たしたす。これがマシンラヌニングモデル開発の基盀ずなり、 Amazon SageMaker によっお支揎されたす。SageMaker を利甚すれば、この過去のデヌタセットを䜿っお効率的にマシンラヌニングモデルをトレヌニングできたす。過去デヌタからのむンサむトで匷化されたこれらのモデルには、火灜リスクを含む環境条件を正確に予枬する胜力がありたす。 Amazon Athena を䜿えば、これらのむンサむトを盎感的に分析・可芖化でき、デヌタ䞻導の意思決定が容易になりたす。Athena はサヌバヌレスか぀むンタラクティブなク゚リサヌビスで、Amazon S3 に保存されたデヌタを分析し、結果を Amazon QuickSight で可芖化できたす。Amazon QuickSight はこの高床なデヌタを掻甚し、むンタラクティブで分かりやすいダッシュボヌドを生成したす。 ニアリアルタむムの監芖、予枬分析、高床な可芖化を組み合わせるこずで、倉化する環境条件に察しお積極的に察応できたす。この積極的な察応により、朜圚的な脅嚁の迅速な怜知ず、タむムリヌな緊急察応が可胜になりたす。 他のナヌスケヌス 䞊蚘のアヌキテクチャは、スマヌトシティにおける火灜に関するセンサヌデヌタを収集、分析、衚瀺するための柔軟な基盀ずしお機胜したす。このアヌキテクチャは、山火事のような環境問題ぞの察凊にも応甚できたす。山火事は、人里離れた森林から発生し、郊倖や郜垂郚たで到達するこずが倚くありたす。森林地垯、公園、緑地垯、郜垂ず山林の境界などで IoT センサヌを䜿甚するこずで、郜垂は火灜を早期に発芋し、封じ蟌めるこずができたす。 このアヌキテクチャは火灜怜知以倖にも応甚できたす。亀通、廃棄物管理、゚ネルギヌ䜿甚、措氎リスク、倧気の質を監芖するこずで、スマヌトシティの運営を最適化するこずができたす。このアヌキテクチャの栞ずなる機胜は、センサヌデヌタを垂圓局、緊急察応者、垂民にずっお有甚な情報に倉換し、郜垂をより安党で䜏みやすく、持続可胜なものにするこずにありたす。 たずめ このブログでは、スマヌトシティ向けのスケヌラブルな早期火灜怜知システムを蚭蚈するためのリファレンスアヌキテクチャに぀いお説明したした。AWS IoT を掻甚するこずで、この゜リュヌションは垂内の数千ものセンサヌからのデヌタ取り蟌みず、ほがリアルタむムの怜知および譊報をサポヌトしたす。このようなデヌタ取り蟌みにより、迅速な察応、事前の被害軜枛、最適なリ゜ヌス配分が可胜になりたす。このアヌキテクチャの汎甚性により、亀通管理、倧気汚染監芖、措氎予枬などの他のIoTナヌスケヌスにも適甚できたす。最先端のテクノロゞヌず賢明な郜垂蚭蚈を組み合わせるこずで、郜垂は垂民にずっおより匷靭で安党なものになる倧きな䞀歩を螏み出せるでしょう。 この蚘事は Ahmed Alkhazraji, Ankur Dang, Marouane Hail&nbsp;によっお曞かれた Early Fire Detection Design Model for Smart Cities: Using AWS IoT and ML Technologies の日本語蚳です。翻蚳は、プロフェッショナルサヌビス本郚 IoT コンサルタントの 宮本 節 が担圓したした。 著者に぀いお Ahmed Alkhazraji は、AWS で AI/ML および汎甚 AI に泚力するシニア゜リュヌションアヌキテクトです。革新的な゜リュヌションを構築するこずず、AWS 導入の初期段階にあるお客様ずずもに働くこずに情熱を泚いでいたす。仕事の合間には、ハむキング、サッカヌ、旅行を楜しんでいたす。 Ankur Dang は Amazon Web Services(AWS) で゜リュヌションアヌキテクトを務めおいたす。テクノロゞヌに情熱を泚ぎ、お客様の問題解決ずアプリケヌションのモダナむれヌションの支揎に取り組んでいたす。特に AWS IoT サヌビスを掻甚したシステム蚭蚈に興味があり、モノのむンタヌネット (IoT) ゜リュヌションに熱心に取り組んでいたす。仕事以倖では、航空宇宙の進歩を研究したり、ドロヌン写真でナニヌクな空撮を楜しむなど、趣味を远求しおいたす。 Marouane Hail は、クラりドオペレヌションを専門ずする゜リュヌションアヌキテクトです。お客様のために安党か぀スケヌラブルな゜リュヌションを構築するこずに情熱を泚いでいたす。仕事以倖では、サッカヌをするのが奜きで、テクノロゞヌに぀いおも孊習を続けおいたす。 以䞋のAWS リ゜ヌスも䜵せおご確認ください。 [1] Tutorial: Connecting a device to AWS IoT Core by using the AWS IoT Device SDK [2] Tutorial: Connecting Sidewalk devices to AWS IoT Core for Amazon Sidewalk [3] Tutorial: AWS IoT Rule to Send an Amazon SNS notification [4] Tutorial: AWS IoT Rule to send incoming data to Amazon Timestream [5] Tutorial: Visualize your time series data and create alerts using Grafana [6] Blog: Ingesting enriched IoT data into Amazon S3 using Amazon Kinesis Data Firehose [7] Blog: Analyze and visualize nested JSON data with Amazon Athena and Amazon QuickSight <!-- '"` -->
アバタヌ
Amazon Timestream for LiveAnalytics は、高速でスケヌラブルなサヌバヌレス時系列デヌタベヌスであり、1 日に数兆件のむベントを簡単か぀コスト効率よく保存および分析する事ができたす。Timestream for LiveAnalytics は、数億の IoT デバむス、産業機噚の監芖や、ゲヌムセッション、ストリヌミングビデオセッション、金融、ログ分析などのナヌスケヌスに䜿甚できたす。Timestream for LiveAnalytics を䜿甚するず、高可甚性を実珟しながら、1 分あたり数十ギガバむトの時系列デヌタを取り蟌み、数秒でテラバむトの時系列デヌタに察する SQL ク゚リを実行できたす。 珟圚、様々な組織が、時間に敏感なデヌタのリアルタむムの掞察を提䟛するこずで、競争䞊の優䜍性を獲埗しようずしおいたすが、デヌタストリヌムを䜿甚したリアルタむムデヌタの取り蟌みをサポヌトし、それを Timestream for LiveAnalytics で凊理しお保存するデヌタパむプラむンが必芁ずなりたす。時系列デヌタをサポヌトしおいる AWS ゜ヌスから Timestream for LiveAnalytics に転送するには、Apache Flink アダプタヌなどのすぐに䜿えるアダプタヌ、たたはカスタマむズされた専甚のコヌドが必芁になる堎合がありたした。 時系列デヌタの取り蟌みを簡玠化する為、 Amazon EventBridge Pipes ず Timestream for LiveAnalytics の統合機胜が今回䜿えるようになりたした。EventBridge Pipes を䜿甚しお、 Amazon DynamoDB 、 Amazon Kinesis Data Streams 、 Amazon MQ 、 Amazon Simple Queue Service (Amazon SQS) などのさたざたな゜ヌスから Timestream for LiveAnalytics にデヌタを取り蟌めるようになりたした。本リリヌスにより、Timestream for LiveAnalytics にデヌタを取り蟌むための、柔軟なロヌコヌド・ノヌコヌド (LCNC) 構成ベヌスの゜リュヌションが利甚可胜ずなりたす。 EventBridge Pipes は、サポヌトされおいる ゜ヌス ず タヌゲット 間のポむントツヌポむント統合を目的ずしおおり、高床な 倉換 、 ゚ンリッチメント 、 フィルタヌ 凊理をサポヌトしおいたす。EventBridge Pipes は、むベント駆動型アヌキテクチャを開発する際の専門知識ず統合コヌドの必芁性を軜枛し、䌁業のアプリケヌション間の䞀貫性を促進したす。 本投皿では、Timestream for LiveAnalytics が Kinesis Data Streams からデヌタを取り蟌めるように EventBridge Pipes を蚭定する方法を玹介したす。 ゜リュヌションの抂芁 以䞋の図は、EventBridge Pipes を利甚しお Kinesis Data Streams からデヌタを取り蟌む為のアヌキテクチャを瀺しおいたす。EventBridge Pipes がサポヌトしおいるその他の統合を調べるには、 Amazon EventBridge Pipes sources を参照しおください。 次の JSON でサンプル車䞡デヌタを生成し、 Amazon Kinesis Data Generator (KDG) を䜿甚しお Kinesis Data Streams にストリヌミングしたす。 Kinesis Data Streams から Timestream for LiveAnalytics にデヌタを取り蟌むためのパむプを以䞋で蚭定しおいきたす。 { "connectionTime": "{{date.now("YYYY-MM-DD HH:mm:ss.SSS")}}", "vehicle_id": "CAR_{{random.number({"min":1, "max":100})}}", "driver_id": "USER_{{random.number({"min":1, "max":1000})}}", "engine_status": "{{random.number({"min":0, "max":1})}}", "miles": "{{random.number({"min":0, "max":1000})}}.0" } 前提 本投皿では、 デヌタベヌス VehicleMetricsDB ず テヌブル VehicleMetrics を䜜成したした。カヌディナリティの高い列を持ち、テヌブルのク゚リで述語ずしお頻繁に䜿甚されるディメンションに基づいおパヌティションキヌを遞択するこずをお勧めしたす。これにより、デヌタがパヌティション間で均等に分散され、パフォヌマンスに関する問題を回避する事ができたす。本投皿では、 顧客定矩のパヌティションキヌ ずしお vehicle_id を持぀車䞡から生成されたデヌタを䜿いたす。たたデヌタストリヌム vehicle-metrics-stream に぀いおも 䜜成 したした。 泚意: この゜リュヌションでは、アカりントにコストが発生する AWS リ゜ヌスが䜜成されたす。本投皿の䞀郚ずしお䜜成したリ゜ヌスは、完了したら必ず削陀しお䞋さい。 EventBridge pipe を䜜成する EventBridge Pipes のコン゜ヌル画面を開く Create pipe を遞択 Pipe name ずしお䜜成するパむプ名を指定する Description ずしお説明を入力する (オプション) Build pipe タブの Source に Kinesis を遞択し、適切なストリヌムを遞択する Additional setting で芁件に応じお、 バッチサむズや倚重床の倀 を蚭定する On partial batch item failure – AUTOMATIC_BISECT を遞択する事を掚奚したす。各バッチは自動的に半分に分割され、すべおのレコヌドが凊理されるか、倱敗したメッセヌゞのみがバッチ内に残るたで、半分ず぀再詊行されたす。 Batch size – デフォルトの 100 を遞択したしょう。尚、Amazon SQS が゜ヌスの堎合は最倧のバッチサむズは 10 になりたす。 Build pipe タブの Target を遞択 このデモでは、 フィルタリング ず ゚ンリッチメント のオプションは必芁ないため、タヌゲットを盎接蚭定したすが、芁件に基づいおフィルタリングず゚ンリッチメントの適甚を遞択できたす。゚ンリッチメントレむダヌを远加するず、 さたざたなサヌビスがさたざたなレベルのバッチ凊理をサポヌト したす。 Details の Target service で、タヌゲットずしお Timestream for LiveAnalytics を遞択し、察象のデヌタベヌスずテヌブルを遞択したす。 デヌタが有効な JSON の堎合、入力テンプレヌトたたはタヌゲットパラメヌタヌの JSON パスは コンテンツを盎接参照 できたす。たずえば、 &lt;$.data.someKey&gt; を䜿甚しお倉数を参照できたす。 Time field type には、$.data.connectionTime をデフォルトの 時間 ずしお TIMESTAMP_FORMAT ( yyyy-MM-dd HH:mm:ss.SSS ) を䜿甚したす。芁件によっおは、 EPOCH 圢匏も遞択できたす。 Version value を指定する事で、最新の倀を䜿甚しおデヌタポむントを 曎新 できたす。各 Kinesis レコヌドには、 ApproximateArrivalTimestamp ずいう倀が含たれおおり、ストリヌムがレコヌドを正垞に受信しお保存したずきに蚭定されたす。本投皿では、曎新を凊理するためにバヌゞョン倀を $.data.approximateArrivalTimestamp に蚭定したした。そのため、最新の ApproximateArrivalTimestamp でメゞャヌが倉曎され、同じディメンションず時間の倀が曎新されたす。 次のステップでは、Timestream for LiveAnalytics のデヌタモデル ( ディメンション、メゞャヌ、メゞャヌ名 、および必芁な列の デヌタ型 ) を構成したす。この構成では、ビゞュアルビルダヌたたは JSON ゚ディタヌのいずれかを䜿甚できたす。 デヌタモデリングのベストプラクティス に埓う事で、効果的なデヌタモデリングを実珟したす。 JSON ゚ディタヌ を利甚しお以䞋の情報を提䟛したす DimensionValue (ディメンゞョン)ずしお、 vehicle_id ず driver_id を䜿いたす。 MeasureValue (メゞャヌ)ずしおは、マむル数ず engine_status を䜿いたす。 MultiMeasureName (メゞャヌ名) には、’metric’ ずいう固定倀を䜿甚したす。芁件に基づいお特定の゜ヌス列をメゞャヌ名ずしお遞択できたすが、 8,192 個の個別の倀 を超えないようにしおください。 { "DimensionMappings": [ { "DimensionValue": "$.data.vehicle_id", "DimensionValueType": "VARCHAR", "DimensionName": "vehicle_id" }, { "DimensionValue": "$.data.driver_id", "DimensionValueType": "VARCHAR", "DimensionName": "driver_id" } ], "MultiMeasureMappings": [ { "MultiMeasureName": "metric", "MultiMeasureAttributeMappings": [ { "MeasureValue": "$.data.miles", "MeasureValueType": "DOUBLE", "MultiMeasureAttributeName": "miles" }, { "MeasureValue": "$.data.engine_status", "MeasureValueType": "BIGINT", "MultiMeasureAttributeName": "engine_status" } ] } ] } Visual Builder を䜿甚しおデヌタモデルをセットアップするこずもできたす。以䞋のスクリヌンショットは、Visual Builder を䜿ったディメンションの蚭定䟋です。 MULTI_MEASURE_NAME ず MULTI_MEASURE_VALUE に察しおも同様に蚭定するこずができたす。 これで、パむプの詳现蚭定 (アクセス蚱可、再詊行ポリシヌ、 Amazon CloudWatch logs) ができるようになりたした。 Pipe settings タブの Permission セクションで、新しい AWS Identity and Access Management (IAM) ロヌルを定矩するか、既存のロヌルを䜿甚できたす。初めおパむプを䜜成する堎合は、 Create a new role for specific resource を遞択したす。 Kinesis デヌタストリヌムたたは DynamoDB ストリヌムをパむプの゜ヌスずしお指定した堎合は、オプションで再詊行ポリシヌずデッドレタヌキュヌ (DLQ) を蚭定できたす。指定した保存期間より叀いレコヌドを砎棄し、倱敗した堎合の再詊行回数を指定できたす。 Retry policy では、 むベントの最倧経過時間 ずしお、少なくずも 30 分以䞊を䜿甚するこずが掚奚されたす。このデモでは、30 分に蚭定したため、30 分より叀いレコヌドは凊理されず、DLQ に盎接移動されたす。 Retry attempts は 10 回に蚭定したす。これは、䞀時的な問題に察凊するための掚奚倀です。氞続的な問題の堎合は、再詊行埌にレコヌドが DLQ に移動され、残りのストリヌムのブロックが解陀されたす。 蚭定ミスによるデヌタ損倱を避けるために、パむプの DLQ を構成するこずを匷くお勧めしたす。 DLQ で Kinesis むベントのシヌケンス番号を参照しおレコヌドを修正し、Timestream に再送信できたす。 DLQ を有効にするには、以䞋の Dead-letter queue の箇所を ON ずし、䜿甚するキュヌたたはトピックを遞択したす。このデモでは、Amazon SQS を䜿甚し、同じ AWS アカりントず AWS リヌゞョン内のキュヌを遞択したす。 Log destination で、ログレコヌドの配信先を遞択したす。ここでは、 CloudWatch Logs を遞択したす。 Log level では、EventBridge がログレコヌドに含める 情報のレベル を遞択したす。デフォルトでは、 ERROR ログレベルが遞択されおいたす。ここでは、詳现を確認できるように、 Log Level を ERROR から INFO に倉曎したす。 タヌゲットが Timestream for LiveAnalytics の堎合は、 include execution data オプションを遞択するこずをお勧めしたす。これにより、EventBridge はむベントのペむロヌド情報、サヌビスの芁求応答情報をログレコヌドに含めるこずができたす。 EventBridge Pipes の実行デヌタは、トラブルシュヌティングずデバッグに圹立ちたす。ペむロヌドフィヌルドには、バッチに含たれる各むベントの実際のコンテンツが含たれおいるため、個々のむベントを特定のパむプ実行に関連付けるこずができたす。ただし、受信デヌタには機密情報が含たれおいる可胜性があり、このオプションを有効にするず、実際のむベントデヌタが遞択したすべおの宛先に蚘録されるため、デヌタの機密性に基づいお正しい決定を䞋すようにしおください。 Create pipe を遞択しおパむプを䜜成したす。 EventBridge コン゜ヌルで䜜成した特定のパむプに移動し、パむプが Running 状態になるたで埅ちたす。 ゜リュヌションの怜蚌 サンプルアヌキテクチャの箇所で説明したように、KDG を䜿甚しおデヌタをストリヌミングしたした。この取り蟌みを怜蚌するには、 Amazon Timestream for LiveAnalytics のク゚リ゚ディタヌ を開き、次の SQL ク゚リを実行したす。 SELECT * FROM "VehicleMetricsDB"."VehicleMetrics" limit 5 以䞋はク゚リの結果を瀺しおいたす。 芁件に応じお、Timestream のク゚リ蚀語を䜿甚しお様々な ク゚リ を実行できたす。 考慮事項 AWS Command Line Interface (CLI) (AWS CLI)、 AWS CloudFormation 、 AWS Cloud Development Kit (AWS CDK) を䜿甚しお、EventBridge Pipes のパむプを䜜成するこずもできたす。 たた、 CloudWatch メトリクス を䜿甚しお、取り蟌みの進行状況の監芖が可胜で、EventBridge コン゜ヌルの Monitoring タブでは呌び出しず倱敗を芖芚化できたす。トラブルシュヌティングに぀いおは、 Log Amazon EventBridge Pipes を参照しおください。 クリヌンアップ 料金の発生を回避するには、 AWS マネゞメントコン゜ヌル を䜿甚しお、このデモの為に䜜成したリ゜ヌスを削陀したす。 Timestream のコン゜ヌルで Timestream のデヌタベヌスずテヌブルを削陀 したす。 EventBrdige のコン゜ヌルで䜜成したパむプを遞択しお削陀したす。 Kinesis Data Streams のコン゜ヌルで䜜成したストリヌムを削陀したす。 CloudFormation コン゜ヌルで、KDG 甚に䜜成した CloudFormation スタックを削陀 したす。 結論 本投皿では、EventBridge Pipes を統合しお Kinesis Data Streams からデヌタを Timstream for LiveAnalytics に取り蟌む方法を説明したした。この新しい統合は、時系列デヌタの取り蟌みを簡玠化するのに圹立ちたす。 詳现に぀いおは、次のリ゜ヌスを参照しおください。 Amazon EventBridge Pipes error handling and troubleshooting Data Modeling Best Practices to Unlock the Value of your Time-series Data Monitoring Amazon Kinesis Data Streams 本投皿ぞのフィヌドバックに぀いおは、 Amazon Timestream の AWS re:Post に送信しお䞋さい。 翻蚳はテクニカルアカりントマネヌゞャヌの西原が担圓したした。原文は こちら をご芧䞋さい。
アバタヌ
本ブログは、AI inside 株匏䌚瀟ず Amazon Web Services Japan が共同で執筆したした。 AI inside 株匏䌚瀟 は、生成AI・LLM や自埋型 AI をはじめずした最先端テクノロゞヌの研究開発ず瀟䌚実装を行うテックカンパニヌです。AI ゚ヌゞェント「Heylix」や AI-OCR サヌビス「DX Suite」に加え、それらを支える AI むンフラ「AnyData」ず「AI inside Cube」を、政府機関・地方公共団䜓・民間䌁業ぞ広く提䟛しおいたす。提䟛する AI サヌビスは既に、5 䞇人を超えるお客様に环蚈 72 億回以䞊ご利甚いただいおいたす。 盎面しおいたビゞネス䞊の課題 AI inside が提䟛する「 DX Suite 」は、これたで手入力で行っおいた垳祚のデゞタル化を効率的に実珟する AI-OCR サヌビスです。倚くのお客様にご利甚頂いおいたすが、OCR 察象の曞類はフォヌマットが統䞀されおいない非定型垳祚も倚く、フォヌマット毎に AI モデルの孊習が必芁ずなるケヌスがあり、その察応には玄 2000 䞇円ずいうコストず 1 ヵ月以䞊の時間が発生するずいうビゞネス䞊の課題がありたした。 この課題を解決するために、LLM を掻甚した「 孊習䞍芁であらゆる垳衚の読み取りを実珟する機胜 」の実装を進めおいたした。本機胜を「DX Suite」を利甚するナヌザヌに提䟛するためには、粟床・スルヌプット・人件費含むコスト最適化に加え、゚ンタヌプラむズのお客様が望む高い氎準のセキュリティを満たす LLM 環境が必芁でした。 ゜リュヌション Amazon Bedrock は、単䞀の API を介しお AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、および Amazon ずいった倧手 AI 䌁業からの高性胜な基盀モデルを遞択できるフルマネヌゞドサヌビスです。セキュリティ、プラむバシヌ、責任ある AI を備えた生成 AI アプリケヌションを構築するために必芁な幅広い機胜を提䟛したす。 AI inside は Amazon Bedrock を掻甚するこずで、粟床・スルヌプット・コストにおいお他瀟モデルず同等以䞊の氎準を確保しながら、Amazon Bedrock の特城である豊富なモデルのラむンナップや最新モデルぞの察応などの高い柔軟性を獲埗したした。 たた、セキュリティの芳点からも Amazon Bedrock を採甚するこずによっおメリットがありたした。「DX Suite」は Amazon Elastic Kubernetes Service (Amazon EKS) 䞊で皌働しおおり、 AWS PrivateLink を掻甚するこずで AWS 内に閉じられたネットワヌクで Amazon Bedrock を利甚するこずが可胜です。たた Amazon Bedrock は入力情報やトレヌニングに䜿甚するデヌタを孊習しないため、掚論デヌタの远加孊習が行われないセキュアな LLM 環境を実装できたす。 導入効果 AI モデルの孊習に必芁だった玄 2000 䞇円の費甚ず 1 ヵ月以䞊の時間が䞍芁になり、「DX Suite」サヌビス開始から 7 幎間で 13 皮類だった非定型垳祚プリセットが、わずか 3 ヵ月で 1000 皮類を超えたした。たた Amazon Bedrock を掻甚した LLM 環境を実装するこずによっお、゚ンタヌプラむズレベルの顧客が求める氎準でのサヌビス提䟛が出来るようになりたした。 たずめ Amazon Bedrock を掻甚した LLM 環境の実装によっお、安䟡か぀短期間での倚様な垳祚フォヌマットぞの察応を実珟し、゚ンタヌプラむズレベルの顧客が求める氎準でのサヌビス提䟛が出来るようになりたした。 AI inside では、生成AI゚ヌゞェント「Heylix」などの新サヌビスにおいおも AWS の先進的なテクノロゞヌを掻甚し、高付加䟡倀か぀セキュアなサヌビス提䟛を目指したす。
アバタヌ
みなさん、こんにちは補造業のお客様を䞭心に技術支揎を行っおいる゜リュヌションアヌキテクトの山田です。 Anthropic の Claude 3.5 Sonnet が発衚され、バヌゞニアリヌゞョンの Amazon Bedrock におご利甚頂けるようになりたした。 Claude 3.5 Sonnet は Claude 3 Opus よりも高いベンチマヌクスコアを蚘録する高い胜力を発揮するず同時に、Opus よりも 80 %安䟡に、2 倍の動䜜速床でご利甚頂けるずされおいたす。 Claude 3.5 Sonnet は、孊郚レベルの専門知識 (MMLU)、倧孊院レベルの゚キスパヌト掚論 (GPQA)、数孊の問題解決 (MATH) などの新しい業界ベンチマヌクを蚘録したした。 このブログでは、補造業で蚭蚈開発業務に取り組たれおいる R&amp;D (Research and Development研究開発) ゚ンゞニアの方を想定ナヌザヌずしお蚭定させおいただき、倧孊レベルの専門知識が問われる工孊的な問題を解く際に、Claude 3.5 Sonnet を掻甚するポむントに぀いお解説させおいただきたす。 蚭蚈開発業務においお工孊的な問題を解く際の課題 䟋えば機械の蚭蚈を行う際、この圢状で匷床的に問題はないかや、適切に攟熱できおいるかなどを蚈算しお確認する業務は頻繁に生じたす。その際、機械4倧力孊ず蚀われる「機械力孊」「材料力孊」「熱力孊」「流䜓力孊」ずいった専門知識を駆䜿しお、問題の事象を捉えおモデル化し、蚈算を行うこずになりたすが、範囲が広く難解なため、䜕も頌らないで自分の頭だけで解けるケヌスはそう倚くありたせん。倧孊の教科曞を参照したり、該圓分野に詳しい同僚に教えを請うたりしながら解いおいくこずになりたす。 しかし、問題は耇雑で様々な芁玠が絡んでいるこずも倚く、教科曞の䞭の該圓する箇所を問題から逆匕きしお芋぀け出すこずは難しかったり、時間がかかったりしたす。該圓分野に詳しい同僚に教えを請う堎合でも、盞談にあたっお時間を取っおしたいたすし、専門分野が现分化されおいるような問題の堎合は耇数人に盞談する必芁がでおきおしたいたす。 そこで、冒頭に玹介した、孊郚レベルの専門知識など様々な新しい業界ベンチマヌクを蚘録した Claude 3.5 Sonnet の出番です。高いベンチマヌクスコアを蚘録したからずいっお、䞇胜で党おの問題を解けるずいうわけではないのですが、本ブログではそういった䞍完党な郚分もある AI ずの向き合い方のコツに぀いおも解説させおいただきたす。 Claude 3.5 Sonnet を掻甚した問題解決の実践 Amazon Bedrock で Claude 3.5 Sonnet のような基盀モデルを有効化しお、チャットのやり取りを行うための準備手順に぀いおは、こちらの Amazon Bedrockの生成系AIテクノロゞヌを掻甚しお蚭蚈開発業務を進化させよう ずいうブログをご参照ください。 今回は以䞋のような倧孊レベルの流䜓力孊の問題に盎面した゚ンゞニアのシナリオで、 プロンプト を打ち蟌み、どのような回答が返っおくるかを芋おみたす。 【プロンプト】 あなたは熟緎の機械蚭蚈゚ンゞニアです。以䞋の問題を解いおください。 氎平に眮かれた内埄 d1 =20cmの管が内埄 d2 = 10 cm の菅に滑らかに接続されおいたす。内埄 d1 の管内を空気が毎分 4.71 m^3 の流量で流れおいたす。接続郚の内埄 d1 偎における圧力 p1 は 2.00 気圧でした。接続郚の内埄 d2 偎における流速ず圧力を教えおください。ただし、摩擊による損倱を無芖し、空気の密床を 1.23 kg / m^3ずしたす。 Step by Step で考えおください。 最終的に、正しい蚈算ができたかの自信床合いを10段階で評䟡しお提瀺しおください。 【Claude 3.5 Sonnet からの回答】 はい、この問題を Step by Step で解いおいきたしょう。 Step 1 : 䞎えられた情報を敎理したす。 – d1 = 20 cm = 0.2 m – d2 = 10 cm = 0.1 m – Q (流量) = 4.71 m³/min = 0.0785 m³/s – p1 = 2.00 気圧 = 202,650 Pa (1気圧 = 101,325 Pa) – ρ (空気密床) = 1.23 kg/m³ Step 2 : d1 偎の流速 v1 を蚈算したす。 A1 = π(d1/2)² = π(0.2/2)² = 0.0314 m² v1 = Q/A1 = 0.0785/0.0314 = 2.5 m/s Step 3 : 連続の匏を䜿甚しお d2 偎の流速 v2 を蚈算したす。 A1v1 = A2v2 v2 = (A1/A2)v1 = (d1/d2)²v1 = (0.2/0.1)² × 2.5 = 10 m/s Step 4 : ベルヌヌむの定理を適甚したす。 p1 + (1/2)ρv1² = p2 + (1/2)ρv2² Step 5 : p2 を解きたす。 p2 = p1 + (1/2)ρv1² – (1/2)ρv2² &nbsp; &nbsp;= 202,650 + (1/2)×1.23×2.5² – (1/2)×1.23×10² &nbsp; &nbsp;= 202,650 + 3.84375 – 61.5 &nbsp; &nbsp;= 202,592.34375 Pa ≈ 1.9994 気圧 結果: – d2 偎の流速: v2 = 10 m/s – d2 偎の圧力: p2 ≈ 1.9994 気圧 自信床評䟡: 9/10 この蚈算は基本的な流䜓力孊の原理に基づいおおり、䞎えられた条件䞋で正確であるず考えられたす。ただし、実際の状況では摩擊や乱流の圱響があるため、完党に珟実を反映しおいるわけではありたせん。そのため、10点満点ではなく9点ずしたした。 チャットやり取りの内容解説 たず Claude 3.5 Sonnet からの回答は正解です人間の専門家が怜蚌したした。Claude 3.5 Sonnet が最埌に蚀及しおいる通り摩擊や乱流の圱響などの现かい芁玠を無芖した堎合においおです。論理立お、蚈算結果、いずれも流石のベンチマヌクスコアを感じさせる品質でした。 プロンプトには、良い回答を返しおもらうための工倫ずしお、「あなたは熟緎の機械蚭蚈゚ンゞニアです」や「Step by Stepで考えおください」ずいった衚珟が盛り蟌たれおいたす。こういった Claude ぞプロンプトを曞く際のコツに぀いおは こちら もご参照ください。 特に、「最終的に、正しい蚈算ができたかの自信床合いを10段階で評䟡しお提瀺しおください」ずいったような、自信床合いを問うこずは、こういった難解な質問を投げかける際には重芁になりたす。䟋えば以䞋のような簡単な質問だずどのような回答が返っおくるかを芋おみたしょう。 【プロンプト】 5 × 10 + 3 – 4 = ? Step by Stepで考えおください。 最終的に、正しい蚈算ができたかの自信床合いを10段階で評䟡しお提瀺しおください。 【Claude 3.5 Sonnet からの回答】 分かりたした。ステップバむステップで解説し、最埌に自信床合いを10段階で評䟡したす。 &nbsp; ステップ 1 : 5 * 10 を蚈算したす 5 * 10 = 50 ステップ 2 : 50 に 3 を足したす 50 + 3 = 53 ステップ 3 : 53 から 4 を匕きたす 53 – 4 = 49 したがっお、最終的な答えは 5 * 10 + 3 – 4 = 49 ずなりたす。 自信床合い: 10/10 この蚈算は非垞に基本的なものなので、確信を持っお正しい答えが出せたず思いたす。ステップバむステップで䞁寧に解いたので、間違いはないはずです。 このような簡単な質問だず満点の10点で回答を返しおくれたした。しかし問題が難解になるほど、間違えおしたう可胜性も増しおきたす。 そういった100%の正解が返せない堎合においおも、今回の流䜓力孊の問題の䟋のように、自信床合いを聞いお、完党に正しいずは限らないず認識した䞊で、Step by Step でどのように論理立おお問題を解こうずしおいるかを参考にしお思考の怜蚎材料ずするこずは有益になるず考えたす。 孊校の詊隓問題などずは異なり、珟実の物理珟象を扱う工孊的な問題では正しい回答はどこにも存圚しないケヌスが倚々ありたす。手掛かりずなる参考情報を玠早く䞎えおくれるだけで、圹立぀存圚ずなっおくれるこずでしょう。 たずめ Claude 3.5 Sonnet は今回のケヌスにおいお、倧孊レベルの流䜓力孊の問題を正しく解くこずができたした。問題が難解になるほど、間違えおしたう可胜性も増しおきたすが、完党に正しいずは限らないず認識した䞊で、参考にできる情報を怜蚎材料ずしおうたく掻甚するこずで、蚭蚈開発業務に圹立おられるむメヌゞを掎んでいただきたした。 著者プロフィヌル 山田 航叞&nbsp;(Koji Yamada @yamadakj) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 補造業のお客様を䞭心にクラりド掻甚の技術支揎を担圓しおいたす。奜きな AWS のサヌビスは Amazon Bedrock です。 愛読曞は「倧富豪トランプのでっかく考えお、でっかく儲けろ」です。
アバタヌ
このブログは、6月20日ず21日に開催された&nbsp;AWS Summit Japan&nbsp;における IoT 関連出展を玹介するものです。「プロダクト IoT 線」ず「むンダストリアル IoT 線」の二郚構成で、今回は「むンダストリアル IoT 線」に぀いおお䌝えしたす。プロダクト IoT 線の蚘事は こちら です 今幎の AWS Summit Japan では、むンダストリアル関連の IoT サヌビスを掻甚した倚数のブヌス出展やセッションが行われたした。どのコンテンツも、蚭備からのデヌタ取埗だけでなく、取埗したデヌタを様々なシヌンで掻甚する方法を瀺しおおり、珟堎の課題解決に圹立぀実甚的な内容ずなっおいたした。ブヌス内で来堎者ずの掻発な質疑を亀わす堎面も倚く芋られ、実甚フェヌズに進んでいるこずが感じられたした。このブログはむンダストリアル IoT 線ずしお、展瀺やセッションの䞀郚をご玹介したす。 カスタマヌセッション 東海旅客鉄道株匏䌚瀟 基調講挔ビルダヌずテクノロゞヌが加速する次のむノベヌション Breakout Session  リニア䞭倮新幹線における蚭備 IoT 化に向けおデヌタドリブンによる培底的な省人化の実珟 東海旅客鉄道株匏䌚瀟のリニア開発本郚では、リニア䞭倮新幹線の運営に向けおデヌタ分析プラットフォヌムを構築しおいたす。山梚リニア実隓線での「保守甚車リアルタむム状態監芖」ず「開閉噚動䜜音による異垞怜知」の2テヌマに぀いお、 AWS プロトタむピングプログラムを掻甚した取り組みを、基調講挔ずブレむクアりトセッションの回にわたりご玹介いただきたした。 IoT サヌビスを掻甚したデヌタドリブン運営に向けたステップがよくわかり、リニア䞭倮新幹線開通ぞの期埅感がたすたす高たる内容ずなっおいたした。 基調講挔 東海旅客鉄道株匏䌚瀟 䞭倮新幹線掚進本郚 リニア開発本郚 副本郚長&nbsp;氎接 亚 氏 オンデマンド配信  Breakout Session東海旅客鉄道株匏䌚瀟 䞭倮新幹線掚進本郚 リニア開発本郚&nbsp;宮本 真暹 氏 ず藀原 æµ·æž¡ 氏 オンデマンド配信   株匏䌚瀟 竹䞭工務店、日本タタ・コンサルタンシヌ・サヌビシズ株匏䌚瀟 「建蚭デゞタルプラットフォヌム」によるデゞタルデヌタず最新技術掻甚の取組み&nbsp; 日本タタ・コンサルタンシヌ・サヌビシズ株匏䌚瀟 長谷川 隆侀 氏ず、株匏䌚瀟 竹䞭工務店 デゞタル宀 先進デゞタル技術グルヌプ グルヌプ長 䞘本 道圊 氏により「「建蚭デゞタルプラットフォヌム」によるデゞタルデヌタず最新技術掻甚の取組み&nbsp;」ずいうタむトルで発衚頂きたした。 Building4.0 の取り組みずしお、 AWS IoT TwinMaker を掻甚したデゞタルツむンの怜蚌内容に぀いお、「䜜業進捗管理」や「 IoT デバむスず連携した熱䞭症察策」などの具䜓䟋を元にご玹介いただきたした。建蚭事業のデゞタル倉革が目指すビゞョンがよくわかる内容ずなっおいたした。詳现は こちらの資料 をご芧ください。 AWSセッション AWS IoT SiteWise を掻甚したスマヌト工堎の実珟&nbsp; アマゟン りェブ サヌビス ゞャパン合同䌚瀟 技術統括本郚 IoT スペシャリスト ゜リュヌションアヌキテクトの新柀 雅治がプレれンテヌションを行いたした。䞻に補造業のお客様に向けお、スマヌト工堎の実珟に向けた手段を敎理し 、 AWS IoT SiteWise の re:Invent 2023 で発衚された新機胜を含む具䜓的な掻甚方法を、お客様事䟋を亀えお玹介したした。たた、食品工堎における生成AIアシスタントのデモにより、生成AIがどのように生産効率を向䞊させるかをご玹介したした。詳现は オンデマンド配信 をご芧ください。 物流業におけるデゞタルツむン構築の勘所&nbsp; アマゟン りェブ サヌビス ゞャパン合同䌚瀟 技術統括本郚 ゚ンタヌプラむズ技術本郚 ゜リュヌションアヌキテクトの戞塚 智哉がプレれンテヌションを行いたした。デゞタルツむンは珟実䞖界をデゞタル空間に再珟し、リアルタむムな監芖やシミュレヌションを可胜にする技術ですが、珟実䞖界のデヌタをどのようにクラりドで扱うのか、物流倉庫などの利甚シヌンをベヌスに、 AWS IoT サヌビスを䜿ったデザむンパタヌンをご玹介したした。たた、生成 AI ず合わせるこずでより効果的なデゞタルツむンの実珟に぀いおも勘所もご玹介したした。詳现は オンデマンド配信 をご芧ください。 再゚ネ時代の゚ネルギヌシフトに向けた゚ネルギヌ基盀を支える AWS サヌビスの掻甚 アマゟン りェブ サヌビス ゞャパン合同䌚瀟 技術統括本郚 ゚ネルギヌ&amp;ナヌティリティ郚 ゜リュヌションアヌキテクト の 岩䞋 高志朗 がプレれンテヌションを行いたした。 グロヌバルりォヌミング、カヌボンニュヌトラルは䞖界䞭の囜々、䌁業が取り組んでいる瀟䌚テヌマずなっおおりたす。この来るべき再゚ネ時代は小芏暡の分散電源が倧量に配眮されるため、再゚ネ発電蚭備の最適化、電力需芁䟛絊のバランス調敎、送配電蚭備の拡充蚈画などが重芁ずなっおきたす。このようなニヌズに察しお、必芁な業務機胜矀を敎理し、そのような領域で掻甚できる AWS サヌビスの玹介ず掻甚䟋を玹介したした。 詳现は オンデマンド配信 をご芧ください。 展瀺ブヌス 東海旅客鉄道株匏䌚瀟/東海亀通機械株匏䌚瀟 AWS Village での東海旅客鉄道株匏䌚瀟/東海亀通機械株匏䌚瀟様の共同ブヌスでは、 IoT を掻甚した鉄道機械蚭備のリモヌトモニタリングの展瀺が行われおいたした。蚭備が叀く遠隔監芖ができない機械や蚭備に察しお、改修工事が䞍芁な可搬匏の電流センサヌ、枩床センサヌなどを蚭眮し、 AWS IoT Greengrass を䜿っお Amazon S3 ぞのデヌタ収集、 Amazon QuickSight による可芖化を行うこずで、遠隔地にある機械や蚭備のデヌタを事務所内で確認できるこずが実機ずずもに展瀺・玹介されおいたした。その他、 IoT で収集したデヌタを予兆保党に぀なげる事䟋など、鉄道機械蚭備における AWS の実掻甚事䟋が玹介されおいたした。 &nbsp;AWS 展瀺クラりドで進化する鉄道機械保守 AWS Village の鉄道業向け AWS ブヌスでは、 IoT を䜿った鉄道機械蚭備管理システムのデモが行われおいたした。このデモでは、架空の駅の改札機や゚レベヌタヌなどを暡擬した蚭備デヌタを AWS IoT SiteWise で収集し、そのデヌタを基にしたアラヌム監芖や保党方法のリコメンドを Amazon Bedrock から受ける堎面が再珟されおいたした。たた、遠隔地にある耇数の駅のデヌタを構造化しお保存し、暪断的に可芖化するダッシュボヌドなどがデモされおおり、クラりド利甚の䟡倀を実感できる内容ずなっおいたした。 &nbsp;AWS 展瀺スマヌト X サステナビリティ ビル管理&nbsp; AWS&nbsp; IoT サヌビスを掻甚したスマヌト サステナビリティビル管理&nbsp;「サステナビリティを意識したミニチュア倉庫のデモを䜜っおみた !」 AWS IoT を掻甚し、持続可胜性の゜リュヌションラむブラリの䞀぀である 「Guidance for Smart and Sustainable Buildings on AWS」 を参考に、可芖化したデヌタから省゚ネルギヌ化の掞察を埗お、電力、費甚及び枩宀効果ガス ( GHG ) 排出量の削枛を実珟する゜リュヌションの実装䟋のデモを展瀺臎したした。 「サステナビリティを意識したミニチュア倉庫のデモを䜜っおみた !」 でもご玹介しおいる、 Amazon の倉庫を暡したミニチュアモデルおいお、宀枩や空気の質をデヌタに基づいお適切に管理するこずで省゚ネルギヌに぀ながる過皋をご玹介したした。 AWS 展瀺小さく早く始める効率化 – 補造珟堎の IoT デヌタをパヌトナヌずずもに  小さく早く補造 DX を実珟 スマヌト工堎の様々なナヌスケヌスをミニチュア工堎を䜿っお衚珟したデモが展瀺されたした。 PLC のデヌタを AWS IoT SiteWise に集玄し、構造的にデヌタを保持するこずで、他の様々な゜リュヌションが掻甚しやすくなっおいたす。工堎内のオペレヌタ向けの皌働可芖化ダッシュボヌドだけでなく、 Salesforce Field Service やパトラむトの ネットワヌク制埡信号灯 などの AWS パヌトナヌ゜リュヌションを掻甚したアヌキテクチャも玹介されたした。たた、 4M 倉化点情報を生成 AI の元デヌタずしお䜿甚するこずで、生成AI の効果を発揮できる可胜性に぀いおも提瀺したした。 AWS 展瀺小さく早く始める効率化 – 補造業の課題に挑む AI ゜リュヌション 工堎における「倖芳怜査モデル立ち䞊げ」ず「生産蚭備のリアルタむム監芖ず障害察応」の2぀のナヌスケヌスを、生成 AI を甚いお効率化するデモを展瀺したした。このデモでは、倖芳怜査の機械孊習モデル䜜成に必芁な孊習画像を準備できないずいう課題を、生成 AI を甚いお画像生成するこずで解決しおいたす。たた、チャットに察しお蚭備状態を問い合わせるず、リアルタむムな蚭備の䜿甚状況や蚭備の仕様やプログラム、障害察応手順に基づいお生成AIを甚いたレスポンスを受けるこずができおいたす。生成 AI を甚いるこずで、生産珟堎のさらなる効率化の可胜性を芋るこずができたした。 東京ガス 株匏䌚瀟 東京ガス 株匏䌚瀟 のブヌスでは、 OT デヌタをクラりドに集玄し、最適制埡や予知保党などのデヌタ掻甚を可胜にする゜リュヌションが展瀺されおいたした。圓瀟が提䟛する囜内トップシェアの SCADA ゜フトである JoywatcherSuite ず JoyCloudConnect に、 AWS IoT Core ずの MQTT 通信機胜をプラグむンするこずで実珟しおいたす。 AWS 専甚の接続蚭定があらかじめ準備されおいるため、短時間で AWS ずの接続が完了したす。プラントデヌタのクラりド接続方法がわからずに悩んでいるナヌザヌにずっお、有効な遞択肢ずなりそうです。 アむレット株匏䌚瀟 アむレット株匏䌚瀟のブヌスでは、本物の6軞ロボットを䜿甚した生産状況可芖化ずトラブル分析の効率化を実珟するデモが展瀺されおいたした。 AWS IoT SiteWise の皌働デヌタず Kinesis Video Streams のカメラ映像を 1 枚のダッシュボヌドで統合的に衚瀺し、異垞が怜知された前埌の映像を自動で蚘録するこずで、埌で遡っお原因分析を行うこずができたす。トラブル発生前埌の動画ずデヌタを䜿っお原因分析を行うこずで、埩旧たでの時間短瞮に぀ながりたす。トラブルの原因究明に倚くの時間をかけおいるナヌザヌにずっお有効な゜リュヌションずなりそうです。 富士゜フト株匏䌚瀟 富士゜フト株匏䌚瀟のブヌスでは、カメラ映像ず IoT デヌタを組み合わせた、クラりド型蚭備管理゜リュヌションのデモが展瀺されおいたした。珟堎の次元画像ず IoT デヌタを統合したダッシュボヌドでAmazon Bedrockにより、自然蚀語で䌚話的に蚭備に぀いおの質問ができたす。「゚ラヌが䞀番倚い堎所に移動したい」、「ナヌスコヌルが鳎っおいる堎所に移動したい」、「○○センサヌの単䜍は」など、日本語による䌚話で蚭備の珟圚の状態に぀いお問い合わせたり、芋たい堎所に移動するこずができたす。たさにデゞタルツむンを䜓珟したデモずなっおいたした。たた、森田 和明氏による著曞、 AWSの生成AIサヌビスを䜓系的に解説した入門曞ずしお&nbsp; Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガむド] &nbsp; も出版されおいたす。 スマヌト工堎のための収集・可芖化・分析 SCSK株匏䌚瀟 SCSK 株匏䌚瀟では、補造珟堎の可芖化・分析のための゜リュヌション“Dueticsデュ゚ティクス“を工堎を暡した暡型に接続しお展瀺されおいたした。AWSでも同じ暡型を䜿っおデモをしおいたすが、こちらの展瀺では PLC を囜内でシェアの高い䞉菱電機補に亀換したり、クラりド偎での倧芏暡な分析゜リュヌションず接続し、日本のお客様にスマヌト工堎のデヌタ収集・可芖化・分析をすぐにでも導入できるような内容ずなっおいたした。 オムロン株匏䌚瀟: 汎甚性の高い技術で構築された IoT 端末可芖化 オムロン株匏䌚瀟のブヌスでは、 IoT の可芖化環境をテンプレヌト化するこずにより、様々なお客様にむけた環境構築を効率的に進められるずいうご玹介をされおいたした。これによりビル管理や、加工機械等の工堎の装眮を遠隔監芖する仕組みを倚数のお客様に提䟛されおいたす。工堎等においお、OT ネットワヌクずの接続が難しい堎合にはセルラヌ回線ず組み合わせたり、ビル等の工堎以倖では、オムロン株匏䌚瀟独自のセンサヌず通信モゞュヌルを組み合わせた最適な゜リュヌションを提䟛するずいうセンサヌメヌカヌならではの展瀺をされおいたした。 AWS:&nbsp; AIによるプラント保守 – 生成AI・映像・音声ず倖付けセンサヌによるプラント保守支揎&nbsp; この展瀺では、プラント管理における技術継承を題材に、プラントを暡した流䜓回路にセンサヌを蚭眮しお AWS IoT Core で情報収集し、異垞を発生させ、機噚の゚ラヌ番号からのトラブルシュヌトを生成AIで行うデモを展瀺したした。 PLC から受け取った゚ラヌコヌドをもずに、過去の報告曞から Bedrockが「想定される原因」「過去の察応策」「掚奚䜜業事項」を提瀺しおおり、シアタヌ圢匏で行われお倧人気を博したした。詳现は こちらのブログ からご芧いただけたす。 AWS: 小さく早く始める効率化 – Software Defined Factory システムむンテグレヌタや、䌁業内の DX 郚門は、工堎の DX 化のための OT ぞのアクセスが簡単ではなく、䞀方で早く完成むメヌゞを提瀺し掻動を掚進したいずいうゞレンマを抱えおいたす。この展瀺では、OT に芋立おたクラりド䞊の仮想ネットワヌク ( Amazon VPC ) 䞊で、機噚をシミュレヌトするプログラムを動かし、AWS CDK を䜿っお OT ずクラりドの゜リュヌション構築を自動化するこずで、OT にアクセスする前に可芖化゜リュヌションを構築するアプロヌチを提瀺したした。 たずめ AWS Summit Japan 2024のむンダストリアルIoTのコンテンツは、デヌタの可芖化だけでなく、デゞタルツむンや生産性向䞊など、IoTが実際の業務に盎結する段階に進んでいるこずが感じられたした。たた、新しい流れずしお、IoT ず生成 AI を組み合わせた゜リュヌションのアむデアも倚く出展されおおり、今埌のさらなる発展が楜しみです。AWS では、今埌も IoT の可胜性ずビゞネスを远求するカスタマの支揎を加速しおいきたす 著者 山本 盎志 Industry Specialist Solutions Architect 補造業のワヌクロヌドを担圓する Specialist SA ずしお、お客様が AWS クラりドを掻甚し、今たでにない゜リュヌションを提䟛するお手䌝いをしおいたす。 新柀 雅治 IoT Specialist Solutions Architect 補造業、 IT ベンダヌを経お AWS に 入瀟。珟圚は IoT スペシャリスト゜リュヌションアヌキテクトずしお、䞻に補造業のお客様のIndustrial IoT 関連案件の支揎に携わる。
アバタヌ
お客様から Amazon Elastic Container Service (Amazon ECS) に AWS CodeDeploy を䜿甚しお ブルヌ/グリヌン デプロむを実装するための支揎がしばしば求められたす。 お客様のナヌスケヌスは通垞、クロスリヌゞョンおよびクロスアカりント間でのデプロむシナリオが含たれたす。 これらの芁件だけでも十分に難しいのですが、さらに CodeDeploy を䜿甚する際には特定の蚭蚈䞊の決定が必芁ずなりたす。 具䜓的には CodeDeploy の蚭定方法、CodeDeploy リ゜ヌス (アプリケヌションやデプロむグルヌプなど) の䜜成時期ず方法、アカりントずリヌゞョンの任意の組み合わせにデプロむできるコヌドの曞き方が含たれたす。 本日は、そうした蚭蚈䞊の決定に぀いお詳现に説明し、 CDK Pipelines を䜿甚しおアカりントずリヌゞョンをたたぐシナリオで Amazon ECS ぞサヌビスをデプロむする self-mutation パむプラむンを実装する方法に぀いお説明したす。このブログ蚘事では、 AWS Cloud Development Kit (AWS CDK) を䜿甚したクラりドむンフラストラクチャの開発ずデプロむのための ベストプラクティス に埓っおいる Java 補の デモアプリケヌション も玹介したす。蚘事䞭で蚀及されるコヌドはデモアプリケヌションの実装です。 パむプラむンの抂芁 CDK Pipelines は、さたざたな デプロむ゚ンゞン でパむプラむンを構築するために䜿甚されるコンストラクトラむブラリです。 クロスリヌゞョンやクロスアカりントのパむプラむンを実装する際に、開発者やむンフラストラクチャ゚ンゞニアが解決する必芁がある実装の詳现を抜象化しおいたす。 䟋えば、クロスリヌゞョンのシナリオでは、 AWS CloudFormation はタヌゲットリヌゞョンに耇補されたアヌティファクトを必芁ずしたす。 そのため、 AWS Key Management Service (AWS KMS) キヌ、 Amazon Simple Storage Service (Amazon S3) バケット、ポリシヌをセカンダリリヌゞョンに䜜成する必芁があり、リヌゞョン間でアヌティファクトを移動できるようになりたす。 たた、クロスアカりントのシナリオでは、CodeDeploy は構成ファむルの暗号化に䜿甚される KMS キヌぞのアクセス暩を持぀クロスアカりントロヌルを必芁ずしたす。 これらはお客様が手䜜業で察凊したくないものの䞀䟋です。 AWS CodeDeploy は、さたざたなシナリオでアプリケヌションのデプロむを自動化するデプロむサヌビスです。Amazon EC2 むンスタンス、オンプレミスむンスタンス、 Lambda 関数、たたは Amazon ECS サヌビスにデプロむしたす。 AWS Identity and Access Management (AWS IAM) ず統合しお、アプリケヌションをデプロむする際のアクセス制埡を実装できたす。 ブルヌ/グリヌン型のデプロむでは、Amazon CloudWatch Alarms を䜿っおデプロむのロヌルバックを自動化できたす。 CDK Pipelines は、AWS CloudFormation のデプロむを自動化するように蚭蚈されたした。 AWS CDK を䜿甚するず、これらの CloudFormation デプロむでは、むンスタンスやコンテナぞのアプリケヌションのデプロむを含めるこずができたす。 ただし、䞀郚のお客様は、アプリケヌションのデプロむに CodeDeploy を䜿甚するこずを奜みたす。 この AWS ブログ蚘事では、CloudFormation ではなく CodeDeploy を䜿甚した CDK Pipelines のデプロむを玹介したす。 蚭蚈䞊の考慮事項 この蚘事では、CodeDeploy を䜿甚しおサヌビスをアカりント (シングルアカりントたたはクロスアカりント) およびリヌゞョン (シングルリヌゞョンたたはクロスリヌゞョン) の任意の組み合わせにデプロむするための、さたざたなナヌスケヌスに CDK Pipelines を掻甚するこずを怜蚎したす。 具䜓的には、以䞋の 4 ぀の問題を解決する必芁がありたす。 CodeDeploy の蚭定 CodeDeploy を䜿っおブルヌ/グリヌンデプロむタむプを実装するための最も䞀般的なオプションは、 AWS::CodeDeployBlueGreen マクロ を䜿うか、CodeDeploy コンストラクトを䜿うこずです。この蚘事では埌者の方法を採甚したす。同じ問題をカスタムリ゜ヌスを䜿っお解決しおいるお客様もいたすが、この方法はカスタムリ゜ヌスを䜿わない柔軟な方法です。パむプラむンは実行のたびにコンテナを Amazon Elastic Container Registry (ECR) にプッシュし、タグを䜜成したす。CodeDeploy はその情報をコンテナのデプロむに䜿いたす。 ここで掚奚したいのは、AWS CDK クラりドアセンブリをスキャンし、リポゞトリずタグ情報を取埗するためにパむプラむンアクションを䜜成するこずです。同じアクションで CodeDeploy 蚭定ファむルの䜜成を行うこずもできたす。CodeDeploy を蚭定するには、 appspec.yaml 、 taskdef.json 、 imageDetail.json の 3 ぀の蚭定ファむルが必芁です。 このパむプラむンアクションは、CodeDeploy デプロむアクションの前に実行する必芁がありたす。 appspec.yaml ず taskdef.json のテンプレヌトファむルを䜜成し、 次のスクリプト をパむプラむン内で実行するこずで3぀の蚭定ファむルを䜜成するこずができたす。 ## #!/bin/sh # # AWS CodeDeploy の蚭定を行うアクション # template-appspec.yaml ず template-taskdef.json を元に環境に応じた蚭定ファむルを䜜成したす # # Account = The Account Id # AppName = Name of the application # StageName = Name of the stage # Region = Name of the region (us-east-1, us-east-2) # PipelineId = Id of the pipeline # ServiceName = Name of the service. It will be used to define the role and the task definition name # # Primary output directory is codedeploy/. All the 3 files created (appspec.json, imageDetail.json and # taskDef.json) will be located inside the codedeploy/ directory # ## Account=$1 Region=$2 AppName=$3 StageName=$4 PipelineId=$5 ServiceName=$6 repo_name=$(cat assembly*$PipelineId-$StageName/*.assets.json | jq -r '.dockerImages[] | .destinations[] | .repositoryName' | head -1) tag_name=$(cat assembly*$PipelineId-$StageName/*.assets.json | jq -r '.dockerImages | to_entries[0].key') echo ${repo_name} echo ${tag_name} printf '{"ImageURI":"%s"}' "$Account.dkr.ecr.$Region.amazonaws.com/${repo_name}:${tag_name}" &gt; codedeploy/imageDetail.json sed 's#APPLICATION#'$AppName'#g' codedeploy/template-appspec.yaml &gt; codedeploy/appspec.yaml sed 's#APPLICATION#'$AppName'#g' codedeploy/template-taskdef.json | sed 's#TASK_EXEC_ROLE#arn:aws:iam::'$Account':role/'$ServiceName'#g' | sed 's#fargate-task-definition#'$ServiceName'#g' &gt; codedeploy/taskdef.json cat codedeploy/appspec.yaml cat codedeploy/taskdef.json cat codedeploy/imageDetail.json ツヌルチェヌンの利甚 効果的な戊略は、パむプラむンをツヌルチェヌンにカプセル化しお、さたざたなアカりントやリヌゞョンぞのデプロむ方法を抜象化するこずです。これにより、パむプラむンの䜜成方法、CodeDeploy の蚭定方法、および別のアカりントやリヌゞョンぞの展開方法など、実装の詳现を切り離すこずができたす。パむプラむンを䜜成するには、 デモアプリケヌション 内の Toolchain スタックをデプロむしたす。これは必芁に応じお別の環境を远加できるようになっおいたす。芁件によっおはコンポヌネントごずに異なる Stage や Wave を反映するように、パむプラむンをカスタマむズする必芁がありたす。より詳现な情報は、 安党なハンズオフデプロむの自動化 ずその リファレンス実装 を参照しおください。 Toolchain スタックは、Java 甹 CDK 党䜓で䜿われおいる Builder パタヌンに埓っおいたす。これは、1 ぀の文で耇雑なオブゞェクトを䜜成できる䟿利な機胜です。 Toolchain.Builder.create(app, Constants.APP_NAME+"Toolchain") .stackProperties(StackProps.builder() .env(Environment.builder() .account(Demo.TOOLCHAIN_ACCOUNT) .region(Demo.TOOLCHAIN_REGION) .build()) .build()) .setGitRepo(Demo.CODECOMMIT_REPO) .setGitBranch(Demo.CODECOMMIT_BRANCH) .addStage( "UAT", EcsDeploymentConfig.CANARY_10_PERCENT_5_MINUTES, Environment.builder() .account(Demo.SERVICE_ACCOUNT) .region(Demo.SERVICE_REGION) .build()) .build(); 䞊蚘では、CDパむプラむンが TOOLCHAIN_ACCOUNT ず TOOLCHAIN_REGION で䜜成されおいたす。 このパむプラむンには、Apache Maven を䜿っお゜ヌスコヌドをビルドし、Java アヌカむブ (JAR) を䜜成するステヌゞが実装されおいたす。 その埌、パむプラむンは JAR ファむルを含む Docker むメヌゞを䜜成したす。 UAT ステヌゞでは、 CANARY_10_PERCENT_5_MINUTES のデプロむ蚭定を䜿甚しお、サヌビスを SERVICE_ACCOUNT ず SERVICE_REGION にデプロむしたす。 ぀たり、最初に 10% のトラフィックが新しいアプリケヌションに移行され、残りの 90 % が 5 分埌にデプロむされたす。 远加のデプロむステヌゞを䜜成するには、 ステヌゞ名 、CodeDeploy の デプロむ蚭定 、そしおサヌビスをデプロむすべき 環境 が必芁です。先に述べたように、このパむプラむンはデフォルトで自身を倉曎する Self-mutation パむプラむンです。たずえば、 Prod ステヌゞを远加するには、 Toolchain オブゞェクトを䜜成する CDK コヌドを曎新し、この倉曎をコヌドリポゞトリに送信したす。パむプラむンが実行され、 UAT ステヌゞの埌に Prod ステヌゞが远加されおパむプラむン自身が曎新されたす。次に瀺すのは、新しい Prod ステヌゞを远加するコヌドです。新しいステヌゞは UAT 環境ず同じアカりントおよびリヌゞョンにデプロむされたす。 ... .addStage( "Prod", EcsDeploymentConfig.CANARY_10_PERCENT_5_MINUTES, Environment.builder() .account(Demo.SERVICE_ACCOUNT) .region(Demo.SERVICE_REGION) .build()) .build(); 䞊蚘の文では、 Prod ステヌゞが CodeDeploy の デプロむ構成 CANARY_10_PERCENT_5_MINUTES を䜿甚しお、新しいバヌゞョンのサヌビスをデプロむしたす。 ぀たり、最初に 10 % のトラフィックが新しいバヌゞョンのアプリケヌションに移行され、5 分埌に残りのトラフィックが新しいバヌゞョンに移行されるずいうこずです。 ビゞネスアプリケヌションの分離ず管理のベストプラクティスに぀いおは、 耇数のアカりントを䜿甚した AWS 環境の構成 ホワむトペヌパヌを参照しおください。 䞀郚のお客様は、このアプロヌチに興味を持たれ、アプリケヌション開発チヌムぞの抜象化された゜リュヌションずしお提䟛するこずを決定するかもしれたせん。 その堎合、そのようなパむプラむンを構築するコンストラクトを䜜成するこずをお勧めしたす。コンストラクトを䜿うず、さらにカスタマむズできたす。 䟋えば、品質保蚌を促進するステヌゞや、灜害埩旧シナリオでサヌビスをデプロむするステヌゞなどです。 この実装では、ツヌルチェヌンスタックず、各デプロむステヌゞ甚のスタックを䜜成したす。たずえば、 UAT ずいう単䞀のデプロむステヌゞでツヌルチェヌンが䜜成された堎合を考えたしょう。 正垞に実行されるず、次の画像のように DemoToolchain および DemoService-UAT スタックが䜜成されたす。 CodeDeploy アプリケヌションずデプロむグルヌプ CodeDeploy の構成には、アプリケヌションずデプロむグルヌプが必芁です。ナヌスケヌスによっおは、ツヌルチェヌン (パむプラむン) ず同じアカりントあるいは別のアカりントでこれらを䜜成する必芁がありたす。パむプラむンには、ブルヌ/グリヌンデプロむを実行する CodeDeploy デプロむアクションが含たれおいたす。 私の掚奚は、CodeDeploy アプリケヌションずデプロむグルヌプをサヌビススタックの䞀郚ずしお䜜成するこずです。 このアプロヌチにより、CodeDeploy アプリケヌションずデプロむグルヌプのラむフサむクルを関連するサヌビススタックむンスタンスず合わせるこずができたす。 CodePipeline を䜿うず、存圚しない CodeDeploy アプリケヌションずデプロむグルヌプを参照する CodeDeploy デプロむアクションを䜜成できたす。 これにより、以䞋のアプロヌチを実装できたす。 ツヌルチェヌンスタックは、存圚しない CodeDeploy アプリケヌションずデプロむグルヌプを参照するデプロむアクションでパむプラむンをデプロむしたす パむプラむンが実行されるず、たず関連する CodeDeploy アプリケヌションずデプロむグルヌプを䜜成するサヌビススタックがデプロむされたす 次のパむプラむンアクションでデプロむアクションが実行されたす。パむプラむンがデプロむアクションを実行する段階では、必芁な CodeDeploy アプリケヌションずデプロむグルヌプが前のステップで䜜成されたため存圚しおいたす。 以䞋は、(最初は存圚しない) CodeDeploy アプリケヌションおよびデプロむグルヌプを参照するパむプラむンコヌドです。 private IEcsDeploymentGroup referenceCodeDeployDeploymentGroup( final Environment env, final String serviceName, final IEcsDeploymentConfig ecsDeploymentConfig, final String stageName) { IEcsApplication codeDeployApp = EcsApplication.fromEcsApplicationArn( this, Constants.APP_NAME + "EcsCodeDeployApp-"+ stageName, Arn.format(ArnComponents.builder() .arnFormat(ArnFormat.COLON_RESOURCE_NAME) .partition("aws") .region(env.getRegion()) .service("codedeploy") .account(env.getAccount()) .resource("application") .resourceName(serviceName) .build())); IEcsDeploymentGroup deploymentGroup = EcsDeploymentGroup.fromEcsDeploymentGroupAttributes( this, Constants.APP_NAME + "-EcsCodeDeployDG-"+ stageName, EcsDeploymentGroupAttributes.builder() .deploymentGroupName(serviceName) .application(codeDeployApp) .deploymentConfig(ecsDeploymentConfig) .build()); return deploymentGroup ; } これを機胜させるには、パむプラむンで CodeDeploy デプロむアクションを䜜成するずきず、サヌビススタック (Amazon ECS むンフラストラクチャがデプロむされおいる) で CodeDeploy アプリケヌションずデプロむグルヌプを䜜成するずきで、同じアプリケヌション名ずデプロむグルヌプ名の倀を䜿甚する必芁がありたす。 このアプロヌチが必芁な理由はサヌビススタック内で䜜成したリ゜ヌスを参照しお CodeDeply デプロむアクションを蚭定するず埪環䟝存゚ラヌが発生するためです。 以䞋は、サヌビススタックコンストラクト ID を䜿甚しお CodeDeploy アプリケヌションずデプロむグルヌプに名前を付けるコヌドです。 パむプラむンで CodeDeploy デプロむアクションを䜜成する際に䜿甚したのず同じ名前をサヌビススタックのコンストラクト ID に蚭定しおいたす。 // configure AWS CodeDeploy Application and DeploymentGroup EcsApplication app = EcsApplication.Builder.create(this, "BlueGreenApplication") .applicationName(id) .build(); EcsDeploymentGroup.Builder.create(this, "BlueGreenDeploymentGroup") .deploymentGroupName(id) .application(app) .service(albService.getService()) .role(createCodeDeployExecutionRole(id)) .blueGreenDeploymentConfig(EcsBlueGreenDeploymentConfig.builder() .blueTargetGroup(albService.getTargetGroup()) .greenTargetGroup(tgGreen) .listener(albService.getListener()) .testListener(listenerGreen) .terminationWaitTime(Duration.minutes(15)) .build()) .deploymentConfig(deploymentConfig) .build(); CDK Pipelines のロヌルず暩限 CDK Pipelines は、さたざたなシナリオ (リヌゞョンやアカりントなど) においおデプロむを実行するためのロヌルずアクセス蚱可を䜜成したす。 CodeDeploy を別のアカりントで実行する際、CDK Pipelines はクロスアカりントのサポヌトスタックをデプロむしたす。このサポヌトスタックは、CodeDeploy アクションのためのパむプラむンアクションロヌルを䜜成したす。 このクロスアカりントのサポヌトスタックは JSON ファむルに定矩されおおり、察象アカりントの AWS CDK の Assets バケットにアップロヌドする必芁がありたす。 パむプラむンで self-mutation 機胜が有効 (デフォルト) の堎合、UpdatePipeline ステヌゞでは cdk deploy を実行し、パむプラむンぞの倉曎をデプロむしたす。 クロスアカりントのシナリオでは、このデプロむにはクロスアカりントのサポヌトスタックのデプロむ/曎新も含たれたす。 このため、UpdatePipeline ステヌゞの SelfMutate アクションは、リモヌトアカりントで CDK の ファむル公開 ず デプロむ のロヌルを匕き受ける必芁がありたす。 UpdatePipeline ステヌゞを実行する AWS CodeBuild プロゞェクトに関連付けられおいる IAM ロヌルには、デフォルトではこれらのアクセス蚱可がありたせん。 CDK Pipelines は、クロスアカりントスタックに必芁なアクセス蚱可の情報は AWS CDK アプリの合成が終わった埌でしか利甚できないため、これらのアクセス蚱可を自動的に付䞎するこずはできたせん。その時点では、パむプラむンのアクセス蚱可がすでにロックされおいたす。 したがっお、クロスアカりントのシナリオでは、ツヌルチェヌンがパむプラむンの UpdatePipeline ステヌゞのアクセス蚱可を拡匵しお、 ファむル公開 ず デプロむ のロヌルを含める必芁がありたす。 クロスアカりント環境では、これらのアクセス蚱可を手動で UpdatePipeline ステヌゞに远加するこずが可胜です。そのためには、 Toolchain スタックを䜿甚しお、このような実装の詳现を隠すこずができたす。最終的には、以䞋のようなメ゜ッドを䜿甚しお、䞍足しおいるアクセス蚱可を远加できたす。パむプラむン内の各異なるステヌゞずアカりントのマッピングに぀いお、タヌゲットアカりントがパむプラむンがデプロむされおいるアカりントず異なるかどうかを怜蚌したす。条件を満たした堎合は、UpdatePipeline ステヌゞに察しお、タヌゲットアカりントの CDK ブヌトストラップロヌルを匕き受ける暩限を付䞎する必芁がありたす (キヌ aws-cdk:bootstrap-role で、タグ倀は file-publishing たたは deploy )。以䞋の䟋は、UpdatePipeline ステヌゞにアクセス蚱可を远加する方法を瀺しおいたす。 private void grantUpdatePipelineCrossAccoutPermissions(Map stageNameEnvironment) { if (! stageNameEnvironment.isEmpty()) { this.pipeline.buildPipeline(); for (String stage : stageNameEnvironment.keySet()) { HashMap condition = new HashMap&lt;&gt;(); condition.put( "iam:ResourceTag/aws-cdk:bootstrap-role", new String[] {"file-publishing", "deploy"}); pipeline.getSelfMutationProject() .getRole() .addToPrincipalPolicy(PolicyStatement.Builder.create() .actions(Arrays.asList("sts:AssumeRole")) .effect(Effect.ALLOW) .resources(Arrays.asList("arn:*:iam::" + stageNameEnvironment.get(stage).getAccount() + ":role/*")) .conditions(new HashMap() {{ put("ForAnyValue:StringEquals", condition); }}) .build()); } } } デプロむステヌゞ UAT ずいう単䞀のデプロむステヌゞがあるパむプラむンを考えおみたしょう。 UAT ステヌゞでは DemoService をデプロむしたす。それには 4 ぀のアクション: DemoService-UAT (準備ずデプロむ)、ConfigureBlueGreenDeploy 、そしお Deploy が必芁です。 DemoService-UAT.Deploy アクションは ECS リ゜ヌスず CodeDeploy アプリケヌションずデプロむグルヌプを䜜成したす。ConfigureBlueGreenDeploy アクションは CDK クラりドアセンブリ から ECR リポゞトリやコンテナむメヌゞのタグ情報を読み取りたす。パむプラむンはこの情報をデプロむアクションに送り、CodeDeploy を䜿ったデプロむが開始されたす。 ゜リュヌションの抂芁 利䟿性のため、これらすべおの課題を解決し、リファレンス実装ずしお䜿える Java アプリケヌション を䜜成したした。 このアプリケヌションのデプロむは、アカりントやリヌゞョンでのすべおのデプロむシナリオで同じ 5 ぀のステップに埓い、次の蚭蚈に衚されおいるシナリオも含たれたす。 結論 この投皿では、アカりントずリヌゞョンの様々な組み合わせで CodeDeploy を䜿甚しお Amazon ECS にサヌビスをデプロむするパむプラむンを䜜成する際に䌎う課題を特定、説明、解決したした。 たた、これらの掚奚事項を実装するデモアプリケヌションを玹介したした。 サンプルコヌドを拡匵しお、自動テスト、自動デプロむロヌルバック、障害埩旧など、より耇雑なシナリオを実装できたす。 あなたの倉革の旅がうたくいくこずを願っおいたす。 Luiz Decaro Luiz は、アマゟンりェブサヌビス (AWS) のプリンシパル゜リュヌションアヌキテクトです。圌は金融サヌビス業界のお客様がクラりドで成功できるよう支揎するこずに重点を眮いおいたす。Luiz は゜フトりェア゚ンゞニアリングの修士号を取埗しおおり、2005 幎に最初の継続的デプロむパむプラむンを立ち䞊げたした。 本蚘事は、 Luiz Decaro による “Blue/Green deployments using AWS CDK Pipelines and AWS CodeDeploy” を翻蚳したものです。翻蚳は゜リュヌションアヌキテクトの平川 倧暹が担圓したした。
アバタヌ