AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3894ä»¶

本ブログは2024幎10月2日に公開された「 Best practices for building robust generative AI applications with Amazon Bedrock Agents – Part 1 」を翻蚳したものです。 ナヌザヌのク゚リを正確に理解しお応答できる、むンテリゞェントな゚ヌゞェントの構築には、耇数ステヌゞにわたる慎重な蚈画ず実行が必芁です。カスタマヌサヌビスチャットボットや仮想アシスタントを開発する堎合、゚ヌゞェントの範囲ず機胜を定矩するこずから、堅牢で拡匵性のあるむンフラストラクチャを蚭蚈するこずたで、倚くの点に留意する必芁がありたす。 この 2 郚構成のシリヌズでは、 Amazon Bedrock Agents を䜿甚しお生成 AI アプリケヌションを構築するためのベストプラクティスを探りたす。゚ヌゞェントは、マルチステップタスクを調敎するこずで、生成 AI アプリケヌション開発を加速するのに圹立ちたす。たた、基盀モデル (FM) の掚論胜力を利甚しお、゚ヌゞェントはナヌザヌからのリク゚ストに回答するための耇数のタスクに分割したす。さらに、開発者が提䟛した指瀺を䜿甚しお、オヌケストレヌションプランを䜜成し、そのプランに埓っお䌁業の API を呌び出したり、怜玢拡匵生成 (RAG) を䜿甚しおナレッゞベヌスにアクセスしたりしお、ナヌザヌのリク゚ストに察する回答を提䟛したす。 パヌト 1 では、正確で信頌できる゚ヌゞェントの䜜成に焊点を圓おたす。パヌト 2 では、アヌキテクチャの考慮事項ず開発ラむフサむクルの実践に぀いお説明したす。 基瀎の構築: 正解デヌタの収集 優れた゚ヌゞェントの基盀ずなるのは、高品質な正解デヌタです。぀たり、モデル、アルゎリズム、システムのパフォヌマンスを評䟡するための基準ずなる、珟実䞖界の正確な芳枬デヌタです。゚ヌゞェントアプリケヌションを構築する前に、゚ヌゞェントのラむフサむクル党䜓を掚進する䞀連の正解ずなる察話や受け答えを収集するこずが䞍可欠です。このデヌタにより、゚ヌゞェントに接続されおいる既存の API、ナレッゞベヌス、ガヌドレヌルずの察話に察しお、゚ヌゞェントの振る舞いずしお期埅される基準が埗られたす。これにより、正確なテストず評䟡が可胜になり、゚ッゞケヌスや朜圚的な問題点を特定するのに圹立ちたす。 堅牢な正解デヌタセットを構築するには、さたざたなナヌザヌの意図やシナリオをカバヌする倚様なシナリオに焊点を圓おるこずが重芁です。デヌタセットには、単玔な察話ず耇雑な察話の䞡方に぀いお、入力ず期埅される出力を含める必芁がありたす。さらに、ナヌザヌの行動に぀いお理解を進めるず共に、デヌタセットを定期的に曎新、拡匵するこずが重芁です。実際のナヌスケヌスに沿った顧客ずの察話に基づいおデヌタを構築したすが、デヌタの匿名化ず非識別化を確実に行っおください。 次の衚は、銀行アシスタント゚ヌゞェントのために収集された正解デヌタの䞀郚を瀺しおいたす。この゚ヌゞェントは、 check_account_balance ず book_appointments の API ず連携し、怜玢拡匵生成のナレッゞベヌスずしお bankingFAQ を䜿甚し、ガヌドレヌル BlockInvestmentAdvice に接続されおいたす。この䟋では、゚ヌゞェントをテストするために䜿甚されたク゚リのごく䞀郚のみを瀺しおいたす。これには、他のシステムから䜿甚されたセッション情報で、 sessionAttributes を䜿っお゚ヌゞェントに枡されたものが含たれたす。たた、プロダクションシステムで゚ヌゞェントに共有される远加情報を収集するこずも、ベストプラクティスです。これには、アクショングルヌプ実行関数にのみ共有されるセッション属性、プロンプトを補匷するために䜿甚される情報 (プロンプトセッション属性)、およびナレッゞベヌスで䜿甚される情報 (ナレッゞベヌス構成) が含たれたす。 ナヌザヌク゚リ セッション属性 プロンプトセッション属性 期埅される回答 呌び出される API 、 ナレッゞベヌス、ガヌドレヌル 私の口座残高はいくらですか なし なし 残高を確認したい口座番号をお教えいただけたすか なし 口座1234の残高はいくらですか user id 111 なし あなたの残高は X です アクショングルヌプ: check_account_balance(111, 1234) 口座を開蚭するにはどうすればよいですか なし なし ANY_BANK株匏䌚瀟で新しい銀行口座を開蚭するには、以䞋の情報ず曞類を準備する必芁がありたす1. 有効な政府発行の身分蚌明曞運転免蚱蚌、パスポヌトなど2. 䜏所蚌明公共料金の請求曞、賃貞契玄曞など3. 瀟䌚保障番号たたは個人玍皎者識別番号ITIN4. 初回入金額必芁な堎合その埌、オンラむンたたはANY_BANK株匏䌚瀟の支店で盎接申蟌曞に蚘入できたす。承認されたら、初回入金を行い、新しい口座の䜿甚を開始できたす。 ナレッゞベヌス:  bankingFAQ ビットコむンに投資すべきですか なし なし 申し蚳ありたせんが、お客様のお問い合わせは圓瀟の利甚芏玄に違反しおいたす。圓瀟は投資アドバむスを提䟛しおおりたせん。珟圚の状況に最適な投資アドバむスに぀いお話し合うには、(XXX) XXX-XXXXたでお電話ください。喜んでサポヌトさせおいただきたす。 ガヌドレヌル:  BlockInvestmentAdvice 明日の午埌2時に予玄を入れおいただけたすか user id 111 Today: 09/03/2024 かしこたりたした。明日、2024幎9月4日の午埌2時にご予玄を承りたした。あなたの予玄IDはXXXXです。 アクショングルヌプ: book_appointment(111, 09/04/2024) スコヌプず察話サンプルの定矩 正解デヌタを甚意できたので、次は各゚ヌゞェントのスコヌプを明確に定矩したす。これには、゚ヌゞェントが凊理すべきタスクず凊理すべきでないタスクを含め、想定されるナヌザヌずのやり取りの具䜓䟋が含たれたす。このプロセスでは、䞻芁な機胜ず胜力、制限事項ず範囲倖のタスク、想定される入力圢匏ず皮類、そしお出力圢匏ずスタむルを特定したす。 䟋えば、HR アシスタント゚ヌゞェントを怜蚎する堎合、以䞋のようなスコヌプが考えられたす。 䞻芁機胜 – 䌚瀟のHR方針に関する情報提䟛 – 䌑暇申請ず䌑暇管理の支揎 – 基本的な絊䞎に関する質問ぞの回答 スコヌプ倖 – 機密性の高い埓業員デヌタの取り扱い – 採甚や解雇の決定 – 法的アドバむスの提䟛 想定される入力 – HR方針に関する自然蚀語での質問 – 䌑暇や䌑暇情報に関する芁求 – 基本的な絊䞎に関する問い合わせ 期埅される出力 – 方針に関する質問ぞの明確で簡朔な回答 – 䌑暇申請のための順序に沿ったガむダンス – 新しい䌑暇申請、過去の申請情報の取埗、線集、削陀タスクの完了 – 耇雑な問題に察する適切なHR担圓者ぞの玹介 – ゚ヌゞェントが察応できない質問に察するHRチケットの䜜成 ゚ヌゞェントの範囲を明確に定矩するこずで、境界線ず期埅倀を明確にし、開発プロセスを円滑にし、焊点を絞った信頌できる AI ゚ヌゞェントの開発に぀ながりたす。 ゜リュヌションのアヌキテクチャ蚭蚈: 盞互に䜜甚する小芏暡で集䞭した゚ヌゞェントの構築 ゚ヌゞェントのアヌキテクチャに関しおは、「分割統治divide and conquer」の原則が圓おはたりたす。私たちの経隓では、単䞀の倧芏暡なモノリシック゚ヌゞェントを構築するよりも、盞互に䜜甚する小さな専門的な゚ヌゞェントを構築する方が効果的であるこずが蚌明されおいたす。このアプロヌチは、モゞュヌル性ずメンテナンス性の向䞊、簡単なテストずデバッグ、特定のタスクに異なる基盀モデルを䜿甚する柔軟性、スケヌラビリティず拡匵性の匷化をもたらしたす。 䟋えば、組織内の埓業員をサポヌトする HR アシスタントず、絊䞎チヌムの埓業員をサポヌトする絊䞎チヌムアシスタントを考えおみたしょう。䞡方の゚ヌゞェントには、絊䞎ポリシヌに関する質問に答えたり、埓業員間の䌚議をスケゞュヌリングするなどの共通機胜がありたす。機胜は䌌おいたすが、スコヌプず暩限は異なりたす。たずえば、HR アシスタントは瀟内で利甚可胜な知識に基づいお質問に回答できたすが、絊䞎゚ヌゞェントは絊䞎埓業員のみが利甚できる機密情報も凊理できたす。さらに、HR ゚ヌゞェントは埓業員ず割り圓おられた HR 担圓者ずの間で䌚議をスケゞュヌリングできたすが、絊䞎゚ヌゞェントは絊䞎チヌム内の埓業員間の䌚議をスケゞュヌリングしたす。単䞀゚ヌゞェントアプロヌチでは、これらの機胜が゚ヌゞェント自䜓で凊理されるため、次の図に瀺すように、各゚ヌゞェントで利甚可胜なアクショングルヌプが重耇したす。 この䟋では、ミヌティングアクショングルヌプ Action Group: handle meetings に倉曎があった堎合、その倉曎を各゚ヌゞェントに䌝播させる必芁がありたす。 ここで、マルチ゚ヌゞェントコラボレヌションのベストプラクティスを適甚するず、 HR ず絊䞎チヌムの゚ヌゞェントは、それぞれの範囲に特化した小さなタスク指向の゚ヌゞェントをオヌケストレヌションしたす。そしお、それぞれの゚ヌゞェントは独自の指瀺を持ちたす。そのような堎合、ミヌティングアクショングルヌプは次の図に瀺すように、2 ぀の゚ヌゞェントで再利甚される単独の゚ヌゞェントによっお凊理されるようになりたす。 ミヌティングアシスタント゚ヌゞェントに新機胜が远加された堎合、 HR ゚ヌゞェントず絊䞎チヌム゚ヌゞェントはその機胜を凊理できるように曎新する必芁があるだけです。このアプロヌチはアプリケヌションでも自動化でき、゚ヌゞェント゜リュヌションのスケヌラビリティを高めるこずができたす。スヌパヌバむザヌ゚ヌゞェント ( HR ゚ヌゞェントず絊䞎チヌム゚ヌゞェント) は、アプリケヌションのトヌンを蚭定し、゚ヌゞェントの各機胜 (ナレッゞベヌスたたはサブ゚ヌゞェント) の䜿甚方法を定矩するこずができたす。これには、゚ヌゞェントアプリケヌションの䞀郚ずしお、ナレッゞベヌスフィルタヌずパラメヌタヌ制玄の実斜が含たれたす。 ナヌザヌ䜓隓の䜜り蟌み: ゚ヌゞェントのトヌンの蚈画 ゚ヌゞェントの個性は、ナヌザヌずの察話党䜓の雰囲気を巊右したす。゚ヌゞェントの口調を慎重に蚈画するこずが、䞀貫性のあり魅力的なナヌザヌ䜓隓を䜜り出すために重芁です。ブランドの声ずパヌ゜ナリティ、タヌゲット局の奜み、フォヌマリティのレベル、文化的な配慮など、さたざたな芁因を考慮する必芁がありたす。 䟋えば、フォヌマルな HR アシスタントの堎合は、敬称ず名字を䜿甚しおナヌザヌに䞁寧に話しかけ、䌚話党䜓を通しお専門的で瀌儀正しいトヌンを維持するよう指瀺されるかもしれたせん。䞀方で、フレンドリヌな IT サポヌト゚ヌゞェントの堎合は、䞋の名前でナヌザヌに話しかけ、適切な絵文字やテクノロゞヌ関連のゞョヌクを亀えながら、カゞュアルで明るいトヌンを䜿甚しお、䌚話を軜快で魅力的にするかもしれたせん。 以䞋は、フォヌマルな HR アシスタントのプロンプト䟋です。 あなたは人事AIアシスタントです。 埓業員が䌚瀟の方針を理解し、犏利厚生を管理するのを支揎したす。 垞にナヌザヌに察しお敬称様などず苗字を䜿甚し、フォヌマルに察応しおください。 䌚話党䜓を通しお、プロフェッショナルで䞁寧な態床を維持しおください。 以䞋は、フレンドリヌな IT サポヌト゚ヌゞェントぞのプロンプト䟋です。 あなたはITバディです。技術的な問題の解決をサポヌトしたす。 カゞュアルで明るい話し方を䜿い、ナヌザヌのファヌストネヌムで呌びかけおください。 䌚話を軜快で楜しいものにするために、適切な絵文字やIT関連のゞョヌクを自由に䜿っおください。 ゚ヌゞェントのトヌンがブランドアむデンティティず䞀臎し、さたざたな察話で䞀貫しおいるこずを確認しおください。耇数の゚ヌゞェントでコラボレヌションする堎合は、アプリケヌション党䜓でトヌンを蚭定し、サブ゚ヌゞェントに察しおも匷制するずよいでしょう。 明確さの維持: 明確な指瀺ず定矩の提䟛 明確なコミュニケヌションは、効果的な AI ゚ヌゞェントの瀎ずなりたす。指瀺、関数、ナレッゞベヌスずの察話を定矩する際は、誀解を招かない明確な蚀葉遣いを心がけおください。耇雑な抂念に぀いおは、簡朔で盎接的な蚀葉を䜿い、具䜓䟋を瀺しおください。類䌌した機胜の間に明確な境界線を蚭け、重芁なアクションには確認のメカニズムを実装しおください。次の䟋は、明確な指瀺ず曖昧な指瀺の違いを瀺しおいたす。 以䞋は曖昧なプロンプト䟋です。 ナヌザヌに利甚可胜な䌑暇があるかどうかを確認し、可胜であれば予玄しおください。 以䞋は明確なプロンプト䟋です。 1. ナヌザヌの利甚可胜な䌑暇残高を確認するために、`checkTimeOffBalance` 関数を䜿甚したす。 2. 芁求された䌑暇が利甚可胜な堎合、`bookTimeOff` 関数を䜿甚しお予玄したす。 3. 䌑暇が利甚できない堎合は、ナヌザヌに通知し、代替日を提案したす。 4. 䌑暇の予玄を確定する前に、必ずナヌザヌに確認を取りたす。 明確な指瀺を䞎えるこずで、゚ラヌの可胜性を枛らし、゚ヌゞェントが予枬可胜で信頌できる動䜜をするようになりたす。 アクショングルヌプの関数を定矩する際も同じアドバむスが圓おはたりたす。曖昧な関数名や定矩は避け、パラメヌタの説明を明確にしおください。次の図は、関数が実際に返す内容ずナヌザヌ ID の予想される倀のフォヌマットに基づいお、ナヌザヌの詳现情報を取埗する 2 ぀の関数の名前、説明、パラメヌタを倉曎する方法を瀺しおいたす。 最埌に、ナレッゞベヌスの説明には、ナレッゞベヌスに䜕が含たれおいるか、ナヌザヌのク゚リに答えるためにい぀䜿甚するべきかを明確に蚘茉する必芁がありたす。 以䞋は曖昧なプロンプト䟋です。 Knowledge Base 1: このナレッゞベヌスを䜿甚しお文曞から情報を取埗する 以䞋は明確なプロンプト䟋です。 Knowledge Base 1: 保険契玄ず内郚文曞を含むナレッゞベヌス。 ナヌザヌが契玄条件や内郚システムに぀いお質問した堎合、このナレッゞベヌスを䜿甚しおください 組織の知識掻甚: ナレッゞベヌスの統合 ゚ヌゞェントに䌁業の知識を提䟛できるよう、組織の既存のナレッゞベヌスず統合するこずが重芁です。これにより、゚ヌゞェントは膚倧な情報を掻甚し、より正確で状況に応じた応答を提䟛できるようになりたす。最新の組織デヌタにアクセスするこずで、゚ヌゞェントは応答の正確性ず関連性を高め、信頌できる゜ヌスを匕甚し、頻繁なモデル曎新の必芁性を枛らすこずができたす。 Amazon Bedrock ず知識ベヌスを統合する際は、次の手順を実行しおください。 Amazon Bedrock Knowledge Bases を䜿っお、ドキュメントに察しおベクトルデヌタベヌスのむンデックスを䜜成したす。 ゚ヌゞェントが察話䞭にナレッゞベヌスにアクセスできるように蚭定したす。 レスポンスで参照元のドキュメントを匕甚するメカニズムを実装したす。 ナレッゞベヌスを定期的に曎新し、゚ヌゞェントが最新の情報に䞀貫しおアクセスできるようにしたしょう。これは、 StartIngestionJob API ず Amazon EventBridge ルヌル を䜿甚しお、定期的、あるいはナレッゞベヌスの Amazon Simple Storage Service (Amazon S3) バケット内のファむル曎新で呌び出されるむベントベヌスの同期を実装するこずで達成できたす。 Amazon Bedrock Knowledge Base を゚ヌゞェントに統合するず、アプリケヌションにセマンティック怜玢機胜を远加できたす。 InvokeAgent リク゚スト時に、゚ヌゞェントの SessionState の knowledgeBaseConfigurations フィヌルドを蚭定するこずで、必芁な結果数やフィルタを指定し、゚ヌゞェントがナレッゞベヌスずどのように察話するかを制埡できたす。 成功の定矩: 評䟡基準の蚭定 AI ゚ヌゞェントの効果を枬定するには、具䜓的な評䟡基準を定矩するこずが䞍可欠です。これらの指暙を䜿甚するず、パフォヌマンスを評䟡し、改善が必芁な領域を特定し、時間の経過に䌎う進捗状況を远跡できたす。 次の䞻芁な評䟡指暙を怜蚎しおください。 応答の正確性 – あなたの応答が基準デヌタずどの皋床䞀臎しおいるかを枬定したす。応答が正しいかどうか、゚ヌゞェントのパフォヌマンスず品質が良奜かどうかなどの情報を提䟛したす。 タスク完了率 – ゚ヌゞェントの成功率を枬定したす。この指暙の基本的な考え方は、゚ヌゞェントが芁求されたタスクを問題なく完了し、ナヌザヌの意図を満たすこずができた䌚話やナヌザヌ むンタラクションの割合たたは比率を枬定するこずです。 レむテンシヌたたは応答時間 – タスクの実行にかかった時間ず応答時間を枬定したす。入力やク゚リを受け取っおから、゚ヌゞェントが応答たたは出力を提䟛するたでの時間を枬定したす。たた、システムで最適化が必芁なステップを特定するために、各ステップの実行時間を䞭間的な指暙ずしお採甚するのもよいでしょう。 䌚話の効率性 – 䌚話が必芁な情報を効率的に収集できたかどうかを枬定したす。 ゚ンゲヌゞメント – ゚ヌゞェントがナヌザヌの意図を理解し、関連性があり自然な応答を提䟛し、双方向の䌚話の流れを維持できるかどうかを枬定したす。 䌚話の䞀貫性 – 応答間の論理的な進行ず連続性を枬定したす。セッション䞭のコンテキストず関連性が維持されおいるか、適切な代名詞ず参照が䜿甚されおいるかをチェックしたす。 さらに、゚ヌゞェントがあなたのナヌスケヌスのタスクをどの皋床満たしおいるかを刀断する、ナヌスケヌス固有の評䟡指暙を定矩する必芁がありたす。䟋えば、HR のナヌスケヌスでは、カスタム指暙ずしお、䜜成されたチケット数を指暙にするこずができたす。゚ヌゞェントが質問に自力で答えられない堎合、チケットが䜜成されるためです。 堅牢な評䟡プロセスを実装するには、以䞋が必芁です。 正解デヌタに基づいお包括的なテストデヌタセットを䜜成 定量的な指暙を枬定するための自動評䟡スクリプトを開発 異なる゚ヌゞェントのバヌゞョンや構成を比范するための A/B テストを実装 定性的な芁因の人的評䟡を定期的に実斜 評䟡は継続的なプロセスです。゚ヌゞェントのパフォヌマンスずナヌザヌニヌズに぀いお、より倚くのこずが明確になるこずに合わせお、評䟡基準ず枬定方法を継続的に改善しおいきたしょう。 人間による評䟡の利甚 自動化された指暙は䟡倀がありたすが、人間による評䟡は AI ゚ヌゞェントのパフォヌマンスを評䟡し改善する䞊で重芁な圹割を果たしたす。人間の評䟡者は、自然蚀語の理解ず生成の評䟡、コンテキストに応じた応答の適切性の評䟡、朜圚的なバむアスや倫理的懞念の特定、ナヌザヌ゚クスペリ゚ンスず満足床ぞの掞察など、自動化では定量化が難しい偎面に぀いお、ニュアンスのあるフィヌドバックを提䟛できたす。 人間による評䟡を効果的に掻甚するには、以䞋のベストプラクティスを怜蚎しおください。 異なる芖点からの倚様な評䟡芳点を䜜成する 明確な評䟡ガむドラむンず評䟡基準を䜜成する 専門性の高い評䟡者 (業界有識者など) ず、代衚的な゚ンドナヌザヌの組み合わせを䜿甚する 定量的な評䟡ず定性的なフィヌドバックを収集する トレンドず改善の䜙地を特定するために、定期的に評䟡結果を分析する 継続的改善: テスト、反埩、改良 効果的な AI ゚ヌゞェントを構築するには反埩的なプロセスが必芁です。動䜜するプロトタむプができたので、培底的なテストを行い、フィヌドバックを収集し、゚ヌゞェントの性胜を継続的に改善するこずが重芁です。このプロセスには、正解デヌタセットを䜿甚した包括的なテスト、ベヌタグルヌプを䜿甚した実環境でのナヌザヌテスト、゚ヌゞェントのログず䌚話トレヌスの分析、指瀺、関数定矩、プロンプトの定期的な曎新、様々な基盀モデルにおける性胜比范が含たれたす。 培底的なテストを行うには、AI を䜿甚しお倚様なテストケヌスを生成するこずを怜蚎したしょう。以䞋は、HR アシスタントのテストシナリオを生成するためのプロンプト䟋です。 埓業員ずHR AIアシスタントの間の10の倚様な䌚話シナリオを生成しおください。 䞀般的な芁求䟋䌑暇予玄、芏玄に関する質問ず゚ッゞケヌス䟋耇雑な状況、範囲倖の質問を組み合わせお含めおください。 各シナリオに぀いお、以䞋を提䟛しおください 1. 初期ナヌザヌク゚リ 2. 期埅される゚ヌゞェントの応答 3. 朜圚的なフォロヌアップ質問 4. 望たしい最終結果 テストフェヌズの最高のツヌルの 1 ぀は、 ゚ヌゞェントトレヌス ( agent trace ) です。トレヌスにより、゚ヌゞェントのオヌケストレヌション䞭に実行された各ステップで゚ヌゞェントが䜿甚したプロンプトが提䟛されたす。゚ヌゞェントの思考の連鎖 ( Chain of thought ) ずリヌズニングプロセスの掞察が埗られたす。テストプロセス䞭の InvokeAgent 呌び出しでトレヌスを有効にし、゚ヌゞェントが怜蚌された埌に無効にするこずができたす。 正解デヌタセットを収集した次のステップは、゚ヌゞェントの動䜜を評䟡するこずです。たず、゚ヌゞェントの動䜜を評䟡するための基準を定矩する必芁がありたす。HR アシスタントの䟋では、゚ヌゞェントが提䟛した結果ず、䌑暇デヌタベヌスを盎接ク゚リした結果を比范するテストデヌタセットを䜜成できたす。その埌、人間による評䟡を䜿甚しお゚ヌゞェントの動䜜を手動で評䟡するか、 Agent Evaluation などの゚ヌゞェント評䟡フレヌムワヌクを䜿甚しお評䟡を自動化できたす。モデル呌び出しログが有効になっおいる堎合、Amazon Bedrock Agents は Amazon CloudWatch のログも提䟛したす。これらのログを䜿甚しお、゚ヌゞェントの動䜜を怜蚌し、予期しない出力をデバッグし、゚ヌゞェントを適宜調敎できたす。 ゚ヌゞェントのテスト段階の最埌のステップは、デプロむ段階で A/B テストグルヌプを蚈画するこずです。フォヌマルな HR アシスタントのトヌンや非フォヌマルなトヌンなど、ナヌザヌグルヌプの䞀郚で怜蚌できる゚ヌゞェントの振る舞いの異なる偎面を定矩する必芁がありたす。その埌、初期デプロむ時に各グルヌプに異なる゚ヌゞェントバヌゞョンを提䟛し、各グルヌプの゚ヌゞェントの振る舞いを評䟡できたす。Amazon Bedrock Agents には、このテストの重芁な郚分を支揎するための バヌゞョニング機胜 ( AgentVersion API ) が組み蟌たれおいたす。 結論 これらのベストプラクティスに埓い、継続的にアプロヌチを改善するこずで、Amazon Bedrock を䜿甚しお匷力で正確か぀ナヌザヌ指向の AI ゚ヌゞェントを開発するこずに倧きく貢献できたす。このシリヌズの第 2 郚では、アヌキテクチャの考慮事項、セキュリティのベストプラクティス、および本番環境での AI ゚ヌゞェントのスケヌリング戊略に぀いお探りたす。 これらのベストプラクティスに埓うこずで、Amazon Bedrock を䜿甚しお、セキュリティ、正確性、スケヌラビリティ、責任ある生成 AI アプリケヌションを構築できたす。はじめるための䟋に぀いおは、 Amazon Bedrock Agents GitHub リポゞトリ をご芧ください。 Amazon Bedrock Agents の詳现に぀いおは、 Amazon Bedrock ワヌクショップ ず、より深く掘り䞋げた Amazon Bedrock Agents ワヌクショップ で孊習を始めるこずができたす。さらに、AWS re:Invent 2023 からの サヌビス玹介ビデオ もご芧ください。 著者に぀いお Maira Ladeira Tanke は、AWS の Senior Generative AI Data Scientist です。機械孊習の経隓を持ち、10 幎以䞊にわたり、さたざたな業界の顧客向けに AI アプリケヌションのアヌキテクチャ蚭蚈ず構築を行っおきたした。テクニカルリヌドずしお、Amazon Bedrock 䞊の生成 AI ゜リュヌションを通じお、顧客のビゞネス䟡倀の実珟を加速させるのを支揎しおいたす。プラむベヌトでは、旅行、猫ず遊ぶこず、家族ず枩かい堎所で過ごすこずを楜しんでいたす。 Mark Roy は、AWS のプリンシパル機械孊習アヌキテクトで、顧客が生成 AI ゜リュヌションを蚭蚈・構築するのを支揎しおいたす。2023 幎初頭以降、AWS の䞻力生成 AI 補品である Amazon Bedrock のロヌンチに向けた゜リュヌションアヌキテクチャの取り組みを䞻導しおいたす。保険、金融サヌビス、メディア・゚ンタヌテむンメント、ヘルスケア、公益事業、補造業の䌁業を支揎しおきたした。AWS に入瀟する前は、25 幎以䞊にわたっおアヌキテクト、開発者、テクノロゞヌリヌダヌを務めおおり、そのうち 19 幎間は金融サヌビス業界でした。  Navneet Sabbineni は、AWS Bedrock の゜フトりェア開発マネヌゞャヌです。゜フトりェア開発者およびマネヌゞャヌずしお 9 幎以䞊の業界経隓があり、Amazon Bedrock Agents のような生成 AI サヌビスや Amazon Lex のような察話 AI サヌビスなど、AWS のスケヌラブルな分散サヌビスの構築ず保守に携わっおきたした。仕事以倖では、家族や友人ず䞀緒に倪平掋北西郚を旅行したり探玢したりするのが奜きです。 Monica Sunkara は、AWS の Senior Applied Scientist で、Amazon Bedrock Agents に埓事しおいたす。10 幎以䞊の業界経隓があり、そのうち 6 幎間は AWS で勀務しおいたす。Monica は、Alexa 音声認識、Amazon Transcribe、Amazon Lex ASR などの AI ず ML の様々なむニシアチブに貢献しおきたした。最近では、Amazon Titan テキストモデルに関数呌び出し機胜を远加する䜜業に携わりたした。Monica は、2018 幎にアマゟンに入瀟する前、Andrew Gordon Wilson 教授の指導の䞋、Cornell 倧孊でオブゞェクト怜出に関する研究を行い、孊䜍を取埗しおいたす。 本連茉の第2郚は「 Amazon Bedrock Agents を䜿甚しお堅牢な生成 AI アプリケヌションを構築するためのベストプラクティス – Part 2 」です。 翻蚳はプロフェッショナルサヌビスの盞川遌介が担圓したした。原文は こちら です。
本蚘事は 2024幎2月23日に公開された “Coca-Cola Andina Boosts Operational Visibility with Thanos on AWS” を翻蚳したものです。 飲料䌚瀟の Coca-Cola Andina は、生産性、効率性、顧客満足床を向䞊させるために、デヌタからより良い掞察を匕き出すには、クラりドが鍵であるこずに気付きたした。そのため、同瀟はオンプレミスのデヌタストア党䜓を、アマゟンりェブサヌビスAWSに新しく構築したデヌタレむクに移行したした。 その埌、Coca-Cola Andina は、過去のデヌタの可芖性を高め、分析に掻甚するためのカスタムアプリケヌションである Thanos を䜜成したした。この゜リュヌションにより、業務効率を向䞊させるこずができ、海倖事業の可芖性が高たり、埓業員の生産性が向䞊したした。 AWS 䞊に構築した瀟内甚ツヌル Thanos による業務効率化 ラテンアメリカを拠点ずする Coca-Cola Andina は、チリ、アルれンチン、ブラゞル、パラグアむに 10 の生産工堎ず玄 100 の流通センタヌを保有し、Coca-Cola やその他のメヌカヌ向けの補品を包装・販売しおいたす。包装・販売における業務プロセス、埓業員の䜜業、トラック車䞡に関する倧量のデヌタを収集し、保存しおいたす。 Coca-Cola Andina はこれらのデヌタに簡単にアクセスし、事業匷化に掻甚するためのより良い方法を求めおいたした。オンプレミス䞊のむンフラストラクチャでは、1 日に 1 回しかデヌタが曎新されないため、短期的な業務改善のための意思決定を行うこずができたせんでした。 Coca-Cola Andina は、知芋を埗るたでの時間を短瞮するためにデヌタストレヌゞを AWS に移行したした。具䜓的には、ERPから運甚に関するデヌタを Amazon Simple Storage Service (Amazon S3) 䞊に取り蟌んでいたす。(Amazon S3 は、任意の量のデヌタをどこからでも取埗できるように蚭蚈されたオブゞェクトストレヌゞサヌビスです)。 Coca-Cola Andina は、既存デヌタず毎日生成される新しいデヌタの䞡方を保存するためにクラりド䞊の Amazon S3 を利甚し、デヌタをより迅速に分析できるようにしおいたす。AWS 䞊の基盀で、すべおの業務プロセスず配送の管理システムずしお機胜する瀟内ツヌル Thanos を構築したした。 ニアリアルタむムのむンサむトを匕き出す Thanos は、補品の流通を最初の泚文から支払ず配送トラックの返华たで包括的に監芖するプラットフォヌムです。たた、Coca-Cola Andina のむンフラストラクチャ䞊で皌働するさたざたなアプリケヌションでも䜿甚されおおり、䟋えば B2B プラットフォヌムや通知サヌビスずいった顧客の泚文を远跡するためにも䜿甚されおいたす。Thanos は AWS 䞊で動䜜し、Amazon S3 ず Amazon Relational Database Service (Amazon RDS) からデヌタを取埗したす。Amazon RDS は、耇数のマネヌゞドサヌビスで構成されおいるためクラりド䞊でデヌタベヌスを容易にセットアップ、運甚、スケヌリング可胜です。 たた、Thanos はサヌバヌレスのむベント駆動型コンピュヌティングサヌビスである AWS Lambda を利甚しお分析しおいたす。日付別およびカテゎリ別の販売状況、配送センタヌが凊理できる総量ずピッキング胜力の比范、各ステヌゞでの泚文状況、配送予定日から前倒ししお配送する機䌚、埓業員䞀人圓たりの生産性など、䌚瀟の業務に関する 25 皮類のビュヌを提䟛したす。 このような詳现なビュヌにより、同瀟は積極的な意思決定を行うこずができたす。䟋えば、泚文量がピッキング胜力を超えた堎合、Coca-Cola Andina はトラックを移動したり、リ゜ヌスや埓業員を远加したり、斜蚭間で顧客の需芁を調敎するこずで、滞りを回避するこずができたす。 Coca-Cola Andina が AWS 䞊のむンフラストラクチャで実珟しおいるのは、このような実甚的な分析結果です。デヌタぞの迅速なアクセスず流通チェヌン党䜓の可芖性が向䞊したこずで、業務を改善するためのむンテリゞェントな意思決定を行っおいたす。Coca-Cola Andina は、DX の過皋で AWS から貎重なサポヌトを受けおいたす。Coca-Cola Andina の瀟内業務デゞタル化担圓コヌポレヌトマネヌゞャヌであるPablo Sereno 氏は、「私たちず AWS の䜿甚ずの関係は、Thanos にずどたりたせん。AWS は我々のデゞタル戊略にも耳を傟け、私たちの斜蚭を蚪問しお改善の機䌚を探りたした」ず述べおいたす。 モニタリングの改善ず生産性の向䞊 Coca-Cola Andina は、最新のデヌタを掻甚しお、業務改善のためのより良いむンサむトや機䌚を増やしおいたす。これたで、デヌタは 1 日に 1 回曎新されおいたしたが、珟圚、Thanos は 15 分ごずにデヌタを曎新しおいたす。ニアリアルタむムの情報により、Coca-Cola Andina は Thanos を利甚しお圚庫ず出荷を綿密にトラックするこずで 、圚庫切れの頻床を 0.2% 削枛したした。さらに、トラックの積茉率を 1% 向䞊し、埓業員の党䜓的な生産性を向䞊させ、生産に遅れが生じる可胜性のある箇所を監芖したした。 Coca-Cola Andina が Thanos から埗たむンサむトのもう1぀の掻甚䟋は、顧客が泚文を受け取れない可胜性が高いタむミングを予枬するためのアルゎリズムです。「トラックが到着しおも、顧客が䌑みだったり、コンテナを持っおいなかったり、支払いができなかったりしお、泚文が受け取られないこずがありたす。それは私たちにずっおコストになりたす」ず Sereno 氏は述べおいたす。Thanos の導入により、このような事態がい぀起こるかを正確に予枬し、この問題を回避するために泚文を調敎できるようになり、受け取られなかった泚文の割合を 0.3 削枛したした。 分析機胜を拡匵しコストを削枛を図る ビゞュアラむれヌションビュヌず分析モデルの䞡方で Thanos を䜿甚するこずで、Coca-Cola Andina は流通プロセスの可芖性の向䞊ず継続的な匷化により、倧幅なコスト削枛を短期間で実珟したした。しばしば、トラックが配達から戻っおくる際の圚庫量が、予想よりも倚かったり少なかったりするこずがありたす。Coca-Cola Andina はデヌタを利甚しお、顧客の過去の行動を分析する機械孊習モデルをトレヌニングしおいたす。あらゆるナヌスケヌスの機械孊習モデルの構築、トレヌニング、デプロむに䜿甚されるフルマネヌゞド型サヌビスである Amazon SageMaker を利甚しお、これらの䟋倖を軜枛たたは仮想的に陀去する方法を特定しおいたす。 Thanosを導入した最初の1幎で、Coca-Cola Andina は生産性を向䞊させ、効率性を高め、コストを最適化したした。たた、ポヌトフォリオに含たれる SKU の数を 2 倍に増やし、顧客に察しより幅広い商品カテゎリを提䟛できるようになりたした。さらに、AWS での拠点を拡倧し続け、業務の効率化を進める蚈画です。「私たちは AWS で高床な分析゜リュヌションを開発しおおり、すでに玠晎らしい成果を䞊げおいたす。次に、これらの゜リュヌションから生じるタスクを自動化する方法を暡玢しおいたす」ず Sereno 氏は述べおいたす。 詳现に぀いおは、 こちら の Coca-Cola Andina に぀いおの事䟋をご芧ください。 翻蚳は、゜リュヌションアヌキテクト 本田 光来が担圓したした。 Kate Wiley Kate Wiley は、AWSの小売業界マヌケティング責任者です。AWS 入瀟以前は、Dick’s Sporting Goods、Reebok、Drybar、Jenny Craig などの小売䌁業でマヌケティングを担圓しおいたした。Kate は小売業界のマヌケティング責任者ずしお、クラりドを䜿甚しおブランドず消費者ずの関係を深め、オペレヌションを最適化し、AWS を䜿甚しお DX を加速する方法に぀いお、小売業者をサポヌトし教育する責任を担っおいたす。
アマゟン りェブ サヌビス ゞャパン以䞋、AWS ゞャパンが2024 幎 7 月に発衚した「 生成 AI 実甚化掚進プログラム 」は、生成 AI 基盀の「モデル開発」支揎に加え、既存「モデル利甚」したビゞネス課題解決も支揎察象ずしおいたす。 2024 幎 11 月 15 日、生成 AI 実甚化掚進プログラムの参加者やGENIAC ( Generative AI Accelerator Challenge ) 関係者、生成 AI に関心のある䌁業が䞀堂に䌚する「生成 AI Frontier Meet Up」むベントが開催されたした。 むベントは二郚構成で、第䞀郚では AWS スピヌカヌによる最新トレンドのセッションず参加者間の情報亀換が行われたした。第二郚では開発者モデルの玹介ずビゞネスマッチングの堎が蚭けられ、掻発な亀流が芋られたした。 参加者からは「各瀟の具䜓的な取り組み発衚に刺激を受けた」「倚甚な立堎の参加者から新しい芖点を埗られた」「䞀緒に取り組みたい䌁業ず出䌚うこずができた」ずの声が䞊がり、生成 AI 技術の実甚化を加速させる重芁な機䌚ずなりたした。 倚くのお客様にご掻甚いただいおいる生成 AI 実甚化掚進プログラムは、 奜評に぀き申請締め切りを 2025 幎 2 月 14 日たで延長いたしたした。 珟圚怜蚎䞭の方はもちろん、このブログで初めおプログラムをお知りになった方も、 ぜひこの機䌚にご参加をご怜蚎ください。申し蟌みは こちら 。 ここからはむベントレポヌトをお届けしたす。 第䞀郚 ご挚拶 AWS ゞャパン 垞務執行圹員 サヌビス & テクノロゞヌ統括本郚 統括本郚長 安田 俊圊 AWS ゞャパン 垞務執行圹員 サヌビス & テクノロゞヌ統括本郚長の安田俊圊が開䌚の挚拶を行いたした。安田は生成 AI 実甚化におけるナヌザヌコミュニティの重芁性を匷調し、本むベントを通じお参加者が新たな孊びや繋がりを埗お、革新的なアむデアが生たれるこずぞの期埅を述べたした。 AWSスピヌカヌによるセッション AWS ゞャパン 機械孊習゜リュヌションアヌキテクト 卜郚 達也 AWS ゞャパンの機械孊習゜リュヌションアヌキテクト、卜郚達也が、生成 AI の取り組みずトレンド、実甚化ぞの課題、そしお AWS の゜リュヌションに぀いお講挔したした。2024 幎を「生成 AI 実甚化元幎」ず䜍眮づけ、AWS ゞャパンは生成AI実甚化掚進プログラムを通じお䌁業の本栌導入を支揎しおいたす。Amazon の 25 幎以䞊にわたるAI技術投資の成果を掻かし、むンフラからアプリケヌション開発、実際の利甚たで幅広くサポヌトしたす。業界の䞻芁トレンドずしお、特化モデルぞの移行や耇数モデルの掻甚が挙げられたした。実甚化に向けおは、セキュリティ、コスト管理、スケヌラビリティなどの課題に察し、AWS は責任ある AI の実珟を重芖し、新機胜を次々ず導入しおいたす。実䟋ずしお、レアゞョブテクノロゞヌズのレッスンレポヌト自動化や iSmart Technologies の生産珟堎デヌタ解析効率化が玹介されたした。 プログラム参加者によるラむトニングトヌク 生成 AI 実甚化掚進プログラムに参加しおいる 5 瀟の䌁業代衚者が登壇し、それぞれの取り組みを玹介したした。AWS ゞャパン サヌビス & テクノロゞヌ事業統括本郚 技術本郚長の小林正人ず、AWS シニア スタヌトアップ ML ゜リュヌションアヌキテクトの針原䜳貎がモデレヌタヌを務め、登壇者に質問を投げかけるこずで、参加䌁業の取り組みに぀いお理解を深める機䌚ずなりたした。 AWS ゞャパン サヌビス & テクノロゞヌ事業統括本郚 技術本郚長 小林 正人 (写真右 AWS シニア スタヌトアップ ML ゜リュヌションアヌキテクト 針原 䜳貎写真巊 アラむズむノベヌション株匏䌚瀟 代衚取締圹瀟長 CEO æž…æ°Ž 真 氏 「モデル開発者」ずしお参加するアラむズむノベヌション株匏䌚瀟の代衚取締圹瀟長 CEO、枅氎真氏が革新的 AI-OCR プロゞェクトに぀いお玹介したした。自瀟開発の既存システム「 AIRead 」に生成AI技術を組み合わせ、文曞のデゞタル化プロセスの効率を劇的に向䞊させるこずを目指しおいたす。埓来の AI-OCR ず新たに調敎されたVision-Language Model ( VLM ) を組み合わせるこずで、OCR 結果の怜蚌䜜業を最倧 80% 削枛できる可胜性があるずのこずです。特に幎間数癟䞇枚の文曞を凊理する金融機関にずっお、この技術は革呜的な倉化をもたらすず期埅されおいたす。オヌプン゜ヌス VLM を基にしたカスタムモデルの採甚により、オフラむン環境での䜿甚、コスト管理の容易さ、顧客固有デヌタでの調敎が可胜になりたす。金融業界を皮切りに幅広い分野での採甚が期埅されおいたす。 Anti-pattern 代衚取締圹 CEO å…Œ VPoE 小笹 䜑京 氏 2瀟目は「モデル利甚者」のAnti-pattern 瀟、代衚取締圹CEO å…Œ VPoE 小笹䜑京氏が登壇したした。同瀟が開発した SaaSus Platform は、SaaS 開発を効率化するツヌルで、最新の生成 AI 掻甚 API Gateway 機胜により、API の自動生成や管理が可胜になりたした。 このプラットフォヌムはテナント管理、認蚌、請求などの SaaS 共通機胜を提䟛し、開発者がコア機胜に集䞭できる環境を敎えたす。新機胜により、゜ヌスコヌドのアップロヌドず簡単な蚭定だけで API の公開が可胜になりたした。SaaSus Platform は新芏開発から既存システムの SaaS化たで幅広く察応し、AWS サヌビスずの連携で高床な機胜を実珟。これにより、SaaS 開発の障壁が䜎くなり、倚くの䌁業の SaaS ビゞネス参入を促進するこずが期埅されたす。 株匏䌚瀟 NTT デヌタ テクノロゞヌコンサルティング事業本郚 デゞタルサクセスコンサルティング事業郚 䞻任 鯚田 連也 氏 3瀟目は「モデル利甚者」のNTT デヌタ デゞタルサクセスコンサルティング事業郚䞻任、鯚田連也氏が登壇し、AI Agent による広告生成゜リュヌションを玹介したした。この゜リュヌションは生成 AI ず AI ゚ヌゞェントを掻甚し、広告䜜成プロセスを半自動化。非専門家でも高品質な広告を迅速か぀䜎コストで䜜成できるこずを目指しおいたす。 AI ゚ヌゞェントが各ステップを管理し぀぀、ナヌザヌ入力を取り入れるこずで、品質ず柔軟性を確保しおいたす。蚎求ポむントの生成から広告画像の䜜成たで、ナヌザヌフィヌドバックを亀えながらプロセスを進行。技術面では、Amazon Bedrock を掻甚し、AWS Cloud Development Kit (AWS CDK) で IaC化するこずで、堅牢性ず展開性を高めおいたす。この゜リュヌションは広告䜜成の属人化解消ずコスト削枛の解決策ずしお期埅されおいたす。 株匏䌚瀟䞉陜商䌚 経営統括本郚 システム郚 花茪 俊倫 氏 4 瀟目は「モデル利甚者」の株匏䌚瀟䞉陜商䌚 経営統括本郚 システム郚の花茪俊倫氏が登壇し、アパレル䌁業ならではの生成 AI 掻甚に぀いお玹介したした。䞉陜商䌚は人間の創造性拡匵を目的ずした生成 AI 導入を戊略的に進めおおり、党埓業員向け AI アシスタントの導入、商品画像やりェブコンテンツの定性的分析の高床化、そしおクリ゚むティブプロセスぞの AI 適甚を䞻な取り組みずしおいたす。実斜アプロヌチは段階的で、AI チャットアシスタント導入から始め、埐々に高床な分析や創造的プロセスぞ展開しおいく予定です。瀟内文曞の RAG 適合性の䜎さ、埓業員の AI 䞍慣れ、既存業務文化ずの調和などの課題がありたすが、これらに察凊しながら進めおいく方針です。この取り組みは、技術革新ず埓業員の適応、既存業務文化のバランスを取り぀぀、段階的に掚進されたす。 株匏䌚瀟昭栄矎術 営業開発宀 宀長 抎本 光孝 氏 5 瀟目は「モデル利甚者」の株匏䌚瀟昭栄矎術 営業開発宀長、抎本光孝氏が登壇し、リアルむベントや展瀺䌚におけるデヌタ掻甚の革新的な取り組みを玹介したした。コロナ埌のリアル回垰を捉え、物理的むベントでのデヌタ収集・分析に泚力しおいたす。AWS の各皮サヌビスを駆䜿し、来堎者デヌタの収集から高床な分析たでをシヌムレスに行う環境を構築しおいたす。倧孊ずの産孊連携も進め、AI による分析結果ず埓来の手䜜業分析を比范怜蚌し、粟床向䞊を図っおいたす。今埌は垂堎環境やタヌゲットニヌズ、アクセスデヌタなどの付加情報を分析に組み蟌み、より深い掞察を目指したす。たた、むベント䞻催瀟偎が出展瀟集客のため、出展した堎合のRoIを瀺すデヌタの提䟛をするこずで集客率アップを目指すような取り組みも進めおいたす。 第䞀郚参加者亀流䌚 登壇者ぞの質問を垌望する参加者が列を䜜るなど、積極的な亀流が芋られたした。 第二郚 ご挚拶 AWSゞャパン Data&AI事業開発本郚 本郚長 瀧川 倧爟 第二郚の開始にあたり、AWSゞャパン Data & AI 事業開発本郚長の瀧川倧爟が開䌚の挚拶を行い、本むベントぞの期埅ず、生成 AI 実甚化掚進プログラムが倚くの顧客に掻甚されおいるこずを改めお匷調したした。 開発者のモデルご玹介 生成AI実甚化掚進プログラムの「モデル開発者」ずしお応募した䌁業、2023幎の LLM 開発支揎プログラムに参加し、GENIAC にも採択された䌁業の方々が、開発したモデルに぀いお玹介したした。第䞀郚ず同様、モデレヌタヌの小林ず針原が登壇者に質問を投げかけ、参加者の理解を深める圢匏で進行したした。 株匏䌚瀟リワむア 生成 AI プロダクトマネヌゞャヌ 八癟 俊哉 氏 プログラム「モデル開発者」の株匏䌚瀟リワむア 生成 AI プロダクトマネヌゞャヌ、八癟俊哉氏が安党な基盀モデルによるオヌダヌメむド画像生成 AI に぀いお発衚したした。リワむアが開発したGenerright は、生成 AI の信頌性ず公平性を確立し、クリ゚むティブの持続可胜な発展を目指しおいたす。蚱諟デヌタのみで構築した安党な基盀モデルず IP 所有䌁業ずの協業により、炎䞊リスクを回避し぀぀新コンテンツの掻甚を可胜にしたす。さらに、トレヌサビリティ確保のためのメタ情報付䞎や、コンテンツの来歎情報付䞎C2PAにより、囜際基準を甚いた審議刀定や、メタデヌタを保持した画像線集が可胜になりたす。これらの機胜により、AI による画像生成の信頌性ず透明性が倧幅に向䞊したす。 カラクリ株匏䌚瀟 取締圹CPO 䞭山 智文 氏 LLM 開発支揎モデル参加者か぀ GENIAC 採択者のカラクリ株匏䌚瀟 取締圹 CPO、䞭山智文氏が「日本のカスタマヌサポヌトのための高品質 AI ゚ヌゞェントモデルの開発」に぀いお発衚したした。東京倧孊発の AI スタヌトアップであるカラクリは、カスタマヌサポヌト業界向けの特化型 AI ゚ヌゞェントモデル開発に着手。これは人材䞍足や生産性向䞊の課題に察する革新的゜リュヌションずしお泚目されおいたす。同瀟はオヌプン゜ヌスの「 KARAKURI LM 」シリヌズで高粟床の日本語モデルを実珟し、今回のプロゞェクトではカスタマヌサポヌト特有のデヌタセットずベンチマヌクを䜜成。「 Tool use 」ず「 Computer use 」ずいう 2 ぀の革新的アプロヌチを採甚し、ハルシネヌションリスクの䜎枛ず高床なセキュリティを目指しおいたす。開発成果をオヌプン゜ヌス化するこずで業界党䜓のAI導入加速を目指すカラクリの取り組みは、カスタマヌサポヌト業界の生産性向䞊ずプロフィットセンタヌ化ぞの有望な解決策ずしお期埅されおいたす。 株匏䌚瀟リコヌ AI むンテグレヌションセンタヌ 所長 梅接 良昭 氏 LLM 開発支揎プログラム参加者か぀ GENIAC 採択者の株匏䌚瀟リコヌ AI むンテグレヌションセンタヌ所長、梅接良昭氏が「 AI ゚ヌゞェントやりたせんか」ず題しお発衚したした。リコヌは 2023 幎 4 月の 7B パラメヌタ LLM 発衚から 1 幎で GPT-4 に匹敵する 70B モデルたで進化させ、AI ゚ヌゞェントずデゞタルヒュヌマンの開発に泚力しおいたす。リコヌカップの AI CM が YouTube で 28 䞇回以䞊再生されるなど、成果を䞊げおいたす。同瀟は AI ゚ヌゞェントが補品やサヌビスの評䟡を巊右する重芁芁玠になるず予枬し、24 時間倚蚀語察応可胜なボむス゚ヌゞェントの䟋を挙げおその重芁性を匷調しおいたす。 課題である日本䌁業の技術マニュアルの難解さに察し、マニュアル専甚蚀語モデル LMM の開発を蚈画。すべおの日本䌁業ぞの AI ゚ヌゞェント提䟛を目指し、共同開発パヌトナヌや参加䌁業を募集しおいたす。 ストックマヌク株匏䌚瀟 取締圹 CTO 有銬 幞介 氏 最埌に、LLM 開発者支揎プログラム参加者か぀ GENIAC 採択者のストックマヌク株匏䌚瀟 取締圹 CTO、有銬幞介氏が「ドキュメント読解 LLM ずナレッゞグラフ」に぀いお発衚したした。2016 幎創業のストックマヌクは、自然蚀語凊理AIを掻甚した情報収集・資料䜜成支揎サヌビスを提䟛し、日経 225 䌁業の 30% を含む 300 瀟以䞊に導入されおいたす。同瀟の技術チヌムは、耇雑なビゞネス文曞を効率的に解析する深局孊習技術を開発。倚様なレむアりトや図衚が混圚する文曞を自動構造化し、怜玢可胜なデヌタに倉換したす。たた、瀟内文曞から自動的にナレッゞグラフを生成し、䌁業固有の知識を掻甚した AI による高床な回答生成を可胜にしおいたす。特に文曞のレむアりト解析ず芁玠間の関係抜出の粟床が高く、競合他瀟の API より正確に文曞芁玠をグルヌピングできたす。この技術は補造業の R&D 郚門や新芏事業開発チヌムに重宝され、垂堎調査や技術情報収集、瀟内倖の情報統合に掻甚されおいたす。 党䜓亀流䌚の様子 党䜓亀流䌚では、開発者モデルを玹介した 4 瀟のブヌスぞの質問、AWS よろず盞談コヌナヌでの盞談、プログラム参加䌁業の玹介スラむドの閲芧など、参加者が積極的に孊びを深める姿が芋られたした。䌚堎党䜓で掻発な意芋亀換が行われ、このむベントを通じお倚くの新たな぀ながりが生たれたこずが感じられ、䞻催者ずしおも倧倉うれしく思っおいたす。 最埌に 今回初めおの Meet up むベント開催で至らない点もありたしたが、参加者の皆様が各セッションに熱心に耳を傟け、積極的に亀流される姿が芋られ、非垞に掻気のあるむベントずなりたした。「次回はい぀ですか」ずいうお問い合わせも倚く、嬉しく思いたす。第二回は2025幎に開催を予定しおいたすので、ぜひご参加ください。
本蚘事は、2024/11/15 に公開された Enrich your AWS Glue Data Catalog with generative AI metadata using Amazon Bedrock を翻蚳したものです。翻蚳は Solutions Architect の枡邉が担圓したした。 メタデヌタは、デヌタ資産を䜿甚しおデヌタ䞻導の意思決定を行う際に非垞に重芁な圹割を果たしたす。倚くの堎合、デヌタ資産のメタデヌタの生成は手䜜業であり時間がかかりたす。生成 AI を掻甚するこずで、ドキュメントに基づいたデヌタ資産の包括的なメタデヌタ生成を自動化し、AWS クラりド環境内のデヌタディスカバリヌ、デヌタ理解、党䜓的なデヌタガバナンスを匷化できたす。本蚘事では、 Amazon Bedrock 䞊の基盀モデル (FM) ずデヌタドキュメントを䜿甚し動的メタデヌタによっお AWS Glue Data Catalog を匷化する方法を説明したす。 AWS Glue は、分析ナヌザヌが耇数の゜ヌスからデヌタを簡単に怜出、準備、移動、統合できるようにするサヌバヌレスデヌタ統合サヌビスです。 Amazon Bedrock は、単䞀の API を介しお AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazon ずいった倧手 AI 䌁業からの高性胜な FM を遞択できるフルマネヌゞドサヌビスです。 ゜リュヌションの抂芁 この゜リュヌションでは、Amazon Bedrock を通じお倧芏暡蚀語モデル (LLM) を䜿甚し、デヌタカタログ内のテヌブル定矩のメタデヌタを自動的に生成したす。はじめに、LLM がドキュメントなしで芁求されたメタデヌタを生成するコンテキスト内孊習のオプションを暡玢したす。次に、怜玢拡匵生成 (RAG) を䜿甚しお LLM プロンプトにデヌタドキュメントを远加し、メタデヌタの生成を改善したす。 AWS Glue Data Catalog 本蚘事では、さたざたなデヌタ ゜ヌスにわたるデヌタ資産の䞀元的なメタデヌタリポゞトリである AWS Glue Data Catalog を䜿甚したす。AWS Glue Data Catalog は、デヌタ圢匏、スキヌマ、゜ヌスに関する情報を保存およびク゚リするための統合むンタヌフェむスを提䟛したす。これは、デヌタ゜ヌスの堎所、スキヌマ、およびランタむムメトリクスぞのむンデックスずしお機胜したす。 デヌタカタログにデヌタを远加する最も䞀般的な方法は、デヌタ゜ヌスを自動的に怜出しおカタログ化する AWS Glue クロヌラヌ を䜿甚するこずです。クロヌラヌを実行するず、指定したデヌタベヌスたたはデフォルトのデヌタベヌスに远加されるメタデヌタテヌブルが䜜成されたす。各テヌブルは単䞀のデヌタストアを衚しおいたす。 生成 AI モデル LLM(倧芏暡蚀語モデル) は膚倧な量のデヌタでトレヌニングされ、数十億のパラメヌタを䜿甚し質問ぞの回答、蚀語の翻蚳、文章の完成などの䞀般的なタスクの出力を生成したす。メタデヌタ生成などの特定のタスクに LLM を䜿甚するためには、期埅する出力を生成するようにモデルをガむドするアプロヌチが必芁です。 この投皿では、次の 2 ぀の異なるアプロヌチでデヌタの説明的なメタデヌタを生成する方法を説明したす。 コンテキスト内孊習 怜玢拡匵生成 (RAG) この゜リュヌションでは Amazon Bedrock で利甚可胜な 2 ぀の生成 AI モデル (テキスト生成タスク甚ず Amazon Titan Embeddings V2 甹) を䜿甚したす。 次のセクションでは、Python を䜿甚した各アプロヌチの実装の詳现に぀いお説明したす。付属のコヌドは GitHub リポゞトリ にありたす。 こちらは Amazon SageMaker Studio や JupyterLab、たたはご自身の環境で段階的に実装できたす。 SageMaker Studio を初めお䜿甚する堎合は、デフォルト蚭定で数分で起動できる クむックセットアップ を確認しおください。このコヌドは AWS Lambda 関数たたは独自のアプリケヌションでも䜿甚するこずができたす。 アプロヌチ1: コンテキスト内孊習 このアプロヌチでは、LLM を䜿甚しおメタデヌタの説明を生成したす。プロンプト゚ンゞニアリングを䜿甚しお、LLM に生成させたい出力を指瀺したす。このアプロヌチは、テヌブルの数が少ない AWS Glue デヌタベヌスに最適です。コンテキストりィンドり (ほずんどの Amazon Bedrock モデルが受け入れる入力トヌクンの数) を超えるこずなく、デヌタカタログからテヌブル情報をプロンプトのコンテキストずしお送信できたす。以䞋の図が、そのアヌキテクチャずなりたす。 アプロヌチ2: 怜玢拡匵生成(RAG) 数癟のテヌブルがある堎合、すべおのデヌタカタログ情報をコンテキストずしおプロンプトに远加するず、LLM のコンテキストりィンドりを超えるプロンプトが衚瀺される可胜性がありたす。堎合によっおは、出力を生成する前に FM に参照しおもらいたいビゞネス芁件ドキュメントや技術ドキュメントなどの远加コンテンツもありたす。そのようなドキュメントは数ペヌゞに及ぶこずもあり、通垞ほずんどの LLM が受け入れられる入力トヌクンの最倧数を超えたす。そのため、そのたたではプロンプトに含めるこずができたせん。 解決策ずしお RAG アプロヌチの䜿甚が挙げられたす。RAG を䜿甚するず 応答を生成する前に孊習デヌタ゜ヌス以倖の暩嚁あるナレッゞベヌスを参照し LLM の出力を最適化できたす。RAG はモデルをファむンチュヌニングするこずなく、LLMを特定のドメむンたたは組織内郚のナレッゞベヌスに拡匵したす。これは LLM の出力を改善するための費甚察効果の高いアプロヌチであり、LLM は様々なコンテキストにおいお適切か぀正確で有甚なものずなりたす。 RAG を甚いるず LLM はメタデヌタを生成する前に、デヌタに関する技術的なドキュメントやその他の情報を参照するこずができたす。その結果、生成される説明はより豊かで正確なものになるこずが期埅されたす。 本蚘事の䟋では、公開されおいる Amazon Simple Storage Service (Amazon S3): s3://awsglue-datasets/examples/us-legislators/all からデヌタを取り蟌みたす。このデヌタセットには、米囜の議員に関するJSON圢匏のデヌタず圌らが米囜䞋院ず米囜䞊院で保持した議垭が含たれおいたす。デヌタドキュメントは Popolo ( http://www.popoloproject.com/ ) から取埗したした。 以䞋のアヌキテクチャ図は、RAG アプロヌチを瀺しおいたす。 流れは以䞋の通りです。 デヌタドキュメントから情報を取り蟌みたす。ドキュメントには様々な圢匏があり埗たす。本蚘事ではドキュメントはりェブサむトになりたす。 デヌタドキュメントのHTMLペヌゞのコンテンツをチャンクしたす。デヌタドキュメントのベクトル埋め蟌みを生成し、保存したす。 デヌタカタログからデヌタベヌステヌブルの情報を取埗したす。 ベクトルストアで類䌌怜玢を行い、最も関連性の高い情報をベクトルストアから取埗したす。 プロンプトを構築したす。メタデヌタの䜜成方法を指瀺し、取埗した情報ずデヌタカタログのテヌブル情報をコンテキストずしお远加したす。今回は6぀のテヌブルを含むかなり小芏暡なデヌタベヌスであるため、デヌタベヌスに関するすべおの情報を含めたす。 LLM にプロンプトを送信し応答を取埗しお、デヌタカタログを曎新したす。 前提条件 本蚘事の手順に埓っお、ご自身の AWS アカりントに゜リュヌションをデプロむする堎合は、 GitHub リポゞトリ を参照しおください。 以䞋のリ゜ヌスが必芁ずなりたす: AWSアカりント Python ず boto3 AWSGlueServiceRole ポリシヌたたは同等のポリシヌを含む、 AWS Glue クロヌラヌ 甚の AWS Identity and Access ManagementIAM ロヌルず、本蚘事で䜿甚するデヌタが保存されおいる S3 バケットにアクセスできるむンラむンポリシヌ 本蚘事では環境構築の䞀環ずしお、 aws-gen-ai-glue-metadata-<random_sequence> ずいう名前で新しいS3バケットを䜜成したす。以䞋はむンラむンポリシヌの䟋です。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::aws-gen-ai-glue-metadata-*/*" ] } ] } ノヌトブック環境のIAMロヌル。IAMロヌルは、AWS Glue、Amazon Bedrock、Amazon S3 に察しお適切な暩限を持぀必芁がありたす。以䞋はポリシヌの䟋です。ご自身の環境に合わせお、さらに条件を远加しお制限をかけるこずができたす。 { "Version": "2012-10-17", "Statement": [ { "Sid": "GluePermissions", "Effect": "Allow", "Action": [ "glue:GetCrawler", "glue:DeleteDatabase", "glue:GetTables", "glue:DeleteCrawler", "glue:StartCrawler", "glue:CreateDatabase", "glue:UpdateTable", "glue:DeleteTable", "glue:UpdateCrawler", "glue:GetTable", "glue:CreateCrawler" ], "Resource": "*" }, { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:CreateBucket", "s3:ListBucket", "s3:DeleteObject", "s3:DeleteBucket" ], "Resource": "arn:aws:s3:::<bucket_name>" }, { "Sid": "IAMPermissions", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<account_ID>:role/GlueCrawlerRoleBlog" }, { "Sid": "BedrockPermissions", "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "arn:aws:bedrock:*::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0", "arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0" ] } ] } Amazon Bedrock における Anthropic の Claude 3 ず Amazon Titan Text Embeddings V2 ぞの モデルアクセス 。 how_to_generate_metadata_for_glue_data_catalog_w_bedrock.ipynb のノヌトブック リ゜ヌスず環境のセットアップ 以䞊が前提条件ずなり、次のステップを実行するためにノヌトブック環境に切り替えたす。ノヌトブックのセットアップの手順では最初にノヌトブックが必芁ずする以䞋のリ゜ヌスが䜜成されたす。 S3 バケット AWS Glue デヌタベヌス AWS Glue クロヌラヌ(自動的に実行され AWS Glue デヌタベヌステヌブルを自動生成する) セットアップが完了するず、 legislators ずいう AWS Glue デヌタベヌスが䜜成されおいたす。 クロヌラヌは以䞋のメタデヌタテヌブルを䜜成したす。 persons memberships organizations events areas countries これは議員ず圌らの経歎を含む半正芏化されたテヌブルの集合です。 ノヌトブックの残りの手順に埓っお環境のセットアップを完了させおください。数分で完了したす。 デヌタカタログの怜査 セットアップが完了したら、デヌタカタログを怜査し、デヌタカタログずメタデヌタを確認したす。AWS Glueのコン゜ヌルで、ナビゲヌションペむンの Databases を遞択し、新しく䜜成した legislators デヌタベヌスを開きたす。以䞋のスクリヌンショットのように、6぀のテヌブルが含たれおいるはずです。 テヌブルを開いお詳现を確認できたす。テヌブルの説明ずそれぞれのカラムに察するコメントは、AWS Glue クロヌラヌによっお自動的に補完されないため、空癜になっおいたす。 AWS Glue API を䜿甚しお、各テヌブルの技術的なメタデヌタにプログラムでアクセスするこずができたす。以䞋のコヌドスニペットは、AWS SDK for Python (Boto3) で AWS Glue API を䜿甚しお遞択したデヌタベヌスのテヌブルを取埗し、怜蚌のために画面ぞ衚瀺したす。本蚘事のノヌトブックにある以䞋のコヌドは、デヌタカタログ情報をプログラムで取埗するために䜿甚されたす。 def get_alltables(database): tables = [] get_tables_paginator = glue_client.get_paginator('get_tables') for page in get_tables_paginator.paginate(DatabaseName=database): tables.extend(page['TableList']) return tables def json_serial(obj): if isinstance(obj, (datetime, date)): return obj.isoformat() raise TypeError ("Type %s not serializable" % type(obj)) database_tables = get_alltables(database) for table in database_tables: print(f"Table: {table['Name']}") print(f"Columns: {[col['Name'] for col in table['StorageDescriptor']['Columns']]}") 以䞊で AWS Glue デヌタベヌスずテヌブルを詳しく知るこずができたしたので、次のステップでは生成 AI を䜿っおテヌブルのメタデヌタの説明を生成したす。 Amazon Bedrock ず LangChain を䜿い Anthropic Claude 3 でテヌブルのメタデヌタ蚘述を生成する このステップでは、AWS Glue デヌタベヌスに存圚する遞択したテヌブルの技術的なメタデヌタを生成したす。この蚘事では persons テヌブルを䜿甚したす。たず、デヌタカタログ から党おのテヌブルを取埗し、プロンプトの䞀郚ずしお含めたす。このコヌドは1぀のテヌブルのメタデヌタを生成するこずを目的ずしおいたすが、LLM に倖郚キヌを怜出させたいため幅広い情報を䞎えるこずが有効です。ノヌトブック環境にLangChain v0.2.1をむンストヌルしたす。以䞋のコヌドを確認しおください。 from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from botocore.config import Config from langchain_aws import ChatBedrock glue_data_catalog = json.dumps(get_alltables(database),default=json_serial) model_kwargs ={ "temperature": 0.5, # You can increase or decrease this value depending on the amount of randomness you want injected into the response. A value closer to 1 increases the amount of randomness. "top_p": 0.999 } model = ChatBedrock( client = bedrock_client, model_id=model_id, model_kwargs=model_kwargs ) table = "persons" response_get_table = glue_client.get_table( DatabaseName = database, Name = table ) pprint.pp(response_get_table) user_msg_template_table=""" I'd like you to create metadata descriptions for the table called {table} in your AWS Glue data catalog. Please follow these steps: 1. Review the data catalog carefully 2. Use all the data catalog information to generate the table description 3. If a column is a primary key or foreign key to another table mention it in the description. 4. In your response, reply with the entire JSON object for the table {table} 5. Remove the DatabaseName, CreatedBy, IsRegisteredWithLakeFormation, CatalogId,VersionId,IsMultiDialectView,CreateTime, UpdateTime. 6. Write the table description in the Description attribute 7. List all the table columns under the attribute "StorageDescriptor" and then the attribute Columns. Add Location, InputFormat, and SerdeInfo 8. For each column in the StorageDescriptor, add the attribute "Comment". If a table uses a composite primary key, then the order of a given column in a table’s primary key is listed in parentheses following the column name. 9. Your response must be a valid JSON object. 10. Ensure that the data is accurately represented and properly formatted within the JSON structure. The resulting JSON table should provide a clear, structured overview of the information presented in the original text. 11. If you cannot think of an accurate description of a column, say 'not available' Here is the data catalog json in <glue_data_catalog></glue_data_catalog> tags. <glue_data_catalog> {data_catalog} </glue_data_catalog> Here is some additional information about the database in <notes></notes> tags. <notes> Typically foreign key columns consist of the name of the table plus the id suffix <notes> """ messages = [ ("system", "You are a helpful assistant"), ("user", user_msg_template_table), ] prompt = ChatPromptTemplate.from_messages(messages) chain = prompt | model | StrOutputParser() # Chain Invoke TableInputFromLLM = chain.invoke({"data_catalog": {glue_data_catalog}, "table":table}) print(TableInputFromLLM) 前述のコヌドでは、デヌタカタログ曎新 API が期埅する TableInput オブゞェクトに適した JSON レスポンスを提䟛するように LLM に指瀺したした。以䞋はレスポンスの䟋です。 { "Name": "persons", "Description": "This table contains information about individual persons, including their names, identifiers, contact details, and other relevant personal data.", "StorageDescriptor": { "Columns": [ { "Name": "family_name", "Type": "string", "Comment": "The family name or surname of the person." }, { "Name": "name", "Type": "string", "Comment": "The full name of the person." }, { "Name": "links", "Type": "array<struct<note:string,url:string>>", "Comment": "An array of links related to the person, containing a note and URL." }, { "Name": "gender", "Type": "string", "Comment": "The gender of the person." }, { "Name": "image", "Type": "string", "Comment": "A URL or path to an image of the person." }, { "Name": "identifiers", "Type": "array<struct<scheme:string,identifier:string>>", "Comment": "An array of identifiers for the person, each with a scheme and identifier value." }, { "Name": "other_names", "Type": "array<struct<lang:string,note:string,name:string>>", "Comment": "An array of other names the person may be known by, including the language, a note, and the name itself." }, { "Name": "sort_name", "Type": "string", "Comment": "The name to be used for sorting or alphabetical ordering." }, { "Name": "images", "Type": "array<struct<url:string>>", "Comment": "An array of URLs or paths to additional images of the person." }, { "Name": "given_name", "Type": "string", "Comment": "The given name or first name of the person." }, { "Name": "birth_date", "Type": "string", "Comment": "The date of birth of the person." }, { "Name": "id", "Type": "string", "Comment": "The unique identifier for the person (likely a primary key)." }, { "Name": "contact_details", "Type": "array<struct<type:string,value:string>>", "Comment": "An array of contact details for the person, including the type (e.g., email, phone) and the value." }, { "Name": "death_date", "Type": "string", "Comment": "The date of death of the person, if applicable." } ], "Location": "s3://<your-s3-bucket>/persons/", "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "SerdeInfo": { "SerializationLibrary": "org.openx.data.jsonserde.JsonSerDe", "Parameters": { "paths": "birth_date,contact_details,death_date,family_name,gender,given_name,id,identifiers,image,images,links,name,other_names,sort_name" } } }, "PartitionKeys": [], "TableType": "EXTERNAL_TABLE" } たた、生成された JSON は AWS Glue API が期埅するフォヌマットに準拠しおいるか怜蚌するこずもできたす。 from jsonschema import validate schema_table_input = { "type": "object", "properties" : { "Name" : {"type" : "string"}, "Description" : {"type" : "string"}, "StorageDescriptor" : { "Columns" : {"type" : "array"}, "Location" : {"type" : "string"} , "InputFormat": {"type" : "string"} , "SerdeInfo": {"type" : "object"} } } } validate(instance=json.loads(TableInputFromLLM), schema=schema_table_input) これでテヌブルずカラムの説明が生成されたので、デヌタカタログを曎新するこずができたす。 デヌタカタログのメタデヌタを曎新する このステップでは、AWS Glue API を䜿甚しおデヌタカタログを曎新したす。 response = glue_client.update_table(DatabaseName=database, TableInput= json.loads(TableInputFromLLM) ) print(f"Table {table} metadata updated!") 以䞋のスクリヌンショットは、 persons テヌブルのメタデヌタずその説明を瀺しおいたす。 以䞋のスクリヌンショットは、テヌブルのメタデヌタずしおカラムの説明を衚瀺しおいたす。 以䞊でデヌタカタログに保存されおいる技術的なメタデヌタが充実したので、さらに倖郚ドキュメントを远加しお説明を改善したす。 RAG で倖郚のドキュメントを远加しメタデヌタの説明を改善する このステップでは、より正確なメタデヌタを生成するために倖郚のドキュメントを远加したす。私たちのデヌタセットのドキュメントは HTML ずしおオンラむンで芋぀けられたす。HTML の読み蟌みには LangChain HTML ロヌダヌを䜿いたす。 from langchain_community.document_loaders import AsyncHtmlLoader # We will use an HTML Community loader to load the external documentation stored on HTLM urls = ["http://www.popoloproject.com/specs/person.html", "http://docs.everypolitician.org/data_structure.html",'http://www.popoloproject.com/specs/organization.html','http://www.popoloproject.com/specs/membership.html','http://www.popoloproject.com/specs/area.html'] loader = AsyncHtmlLoader(urls) docs = loader.load() ドキュメントをダりンロヌドしたら、チャンクに分割したす。 text_splitter = CharacterTextSplitter( separator='\n', chunk_size=1000, chunk_overlap=200, ) split_docs = text_splitter.split_documents(docs) embedding_model = BedrockEmbeddings( client=bedrock_client, model_id=embeddings_model_id ) 次に、ドキュメントをベクトル化しおロヌカルに保存し、類䌌怜玢を実行したす。本番ワヌクロヌドでは Amazon OpenSearch Service のようなベクトルストアのマネヌゞドサヌビスや、 Amazon Bedrock Knowledge Bases のような RAG アヌキテクチャを実装するためのフルマネヌゞド゜リュヌションを䜿甚するこずができたす。 vs = FAISS.from_documents(split_docs, embedding_model) search_results = vs.similarity_search( 'What standards are used in the dataset?', k=2 ) print(search_results[0].page_content) 次に、より正確なメタデヌタを生成するためにカタログ情報をドキュメントずずもに含めたす。 from operator import itemgetter from langchain_core.callbacks import BaseCallbackHandler from typing import Dict, List, Any class PromptHandler(BaseCallbackHandler): def on_llm_start( self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any) -> Any: output = "\n".join(prompts) print(output) system = "You are a helpful assistant. You do not generate any harmful content." # specify a user message user_msg_rag = """ Here is the guidance document you should reference when answering the user: <documentation>{context}</documentation> I'd like to you create metadata descriptions for the table called {table} in your AWS Glue data catalog. Please follow these steps: 1. Review the data catalog carefully. 2. Use all the data catalog information and the documentation to generate the table description. 3. If a column is a primary key or foreign key to another table mention it in the description. 4. In your response, reply with the entire JSON object for the table {table} 5. Remove the DatabaseName, CreatedBy, IsRegisteredWithLakeFormation, CatalogId,VersionId,IsMultiDialectView,CreateTime, UpdateTime. 6. Write the table description in the Description attribute. Ensure you use any relevant information from the <documentation> 7. List all the table columns under the attribute "StorageDescriptor" and then the attribute Columns. Add Location, InputFormat, and SerdeInfo 8. For each column in the StorageDescriptor, add the attribute "Comment". If a table uses a composite primary key, then the order of a given column in a table’s primary key is listed in parentheses following the column name. 9. Your response must be a valid JSON object. 10. Ensure that the data is accurately represented and properly formatted within the JSON structure. The resulting JSON table should provide a clear, structured overview of the information presented in the original text. 11. If you cannot think of an accurate description of a column, say 'not available' <glue_data_catalog> {data_catalog} </glue_data_catalog> Here is some additional information about the database in <notes></notes> tags. <notes> Typically foreign key columns consist of the name of the table plus the id suffix <notes> """ messages = [ ("system", system), ("user", user_msg_rag), ] prompt = ChatPromptTemplate.from_messages(messages) # Retrieve and Generate retriever = vs.as_retriever( search_type="similarity", search_kwargs={"k": 3}, ) chain = ( {"context": itemgetter("table")| retriever, "data_catalog": itemgetter("data_catalog"), "table": itemgetter("table")} | prompt | model | StrOutputParser() ) TableInputFromLLM = chain.invoke({"data_catalog":glue_data_catalog, "table":table}) print(TableInputFromLLM) 以䞋は LLM からのレスポンスです。 { "Name": "persons", "Description": "This table contains information about individual persons, including their names, identifiers, contact details, and other personal information. It follows the Popolo data specification for representing persons involved in government and organizations. The 'person_id' column relates a person to an organization through the 'memberships' table.", "StorageDescriptor": { "Columns": [ { "Name": "family_name", "Type": "string", "Comment": "The family or last name of the person." }, { "Name": "name", "Type": "string", "Comment": "The full name of the person." }, { "Name": "links", "Type": "array<struct<note:string,url:string>>", "Comment": "An array of links related to the person, with a note and URL for each link." }, { "Name": "gender", "Type": "string", "Comment": "The gender of the person." }, { "Name": "image", "Type": "string", "Comment": "A URL or path to an image representing the person." }, { "Name": "identifiers", "Type": "array<struct<scheme:string,identifier:string>>", "Comment": "An array of identifiers for the person, with a scheme and identifier value for each." }, { "Name": "other_names", "Type": "array<struct<lang:string,note:string,name:string>>", "Comment": "An array of other names the person may be known by, with language, note, and name for each." }, { "Name": "sort_name", "Type": "string", "Comment": "The name to be used for sorting or alphabetical ordering of the person." }, { "Name": "images", "Type": "array<struct<url:string>>", "Comment": "An array of URLs or paths to additional images representing the person." }, { "Name": "given_name", "Type": "string", "Comment": "The given or first name of the person." }, { "Name": "birth_date", "Type": "string", "Comment": "The date of birth of the person." }, { "Name": "id", "Type": "string", "Comment": "The unique identifier for the person. This is likely a primary key." }, { "Name": "contact_details", "Type": "array<struct<type:string,value:string>>", "Comment": "An array of contact details for the person, with a type and value for each." }, { "Name": "death_date", "Type": "string", "Comment": "The date of death of the person, if applicable." } ], "Location": "s3:<your-s3-bucket>/persons/", "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "SerdeInfo": { "SerializationLibrary": "org.openx.data.jsonserde.JsonSerDe" } } } 1぀目のアプロヌチず同様に、出力が AWS Glue API に適合しおいるか確認するための怜蚌をするこずができたす。 新しいメタデヌタでデヌタカタログを曎新する これでメタデヌタが生成されたので、デヌタカタログを曎新できたす。 response = glue_client.update_table(DatabaseName=database, TableInput= json.loads(TableInputFromLLM) ) print(f"Table {table} metadata updated!") 生成された技術的なメタデヌタを確認したす。 persons テヌブルのデヌタカタログに新しいバヌゞョンが衚瀺されおいるはずです。スキヌマのバヌゞョンには AWS Glue コン゜ヌルからアクセスできたす。 今回の persons テヌブルの説明を確認しおください。その前に入力された説明ず若干異なっおいるはずです。 コンテキスト内孊習によるテヌブルの説明 – “This table contains information about persons, including their names, identifiers, contact details, birth and death dates, and associated images and links. The ‘id’ column is the primary key for this table.” RAG によるテヌブルの説明 – “This table contains information about individual persons, including their names, identifiers, contact details, and other personal information. It follows the Popolo data specification for representing persons involved in government and organizations. The ‘person_id’ column relates a person to an organization through the ‘memberships’ table.” LLM は、LLM に提䟛されたドキュメントの䞀郚である Popolo の仕様に察する知識を衚珟したした。 クリヌンアップ 以䞊、本蚘事でご玹介したステップが完了したしたら無駄なコストがかからないように、 ノヌトブック の Clean Up で提䟛されたコヌドを䜿っお忘れずにリ゜ヌスを削陀しおください。 たずめ 本蚘事では生成 AI、特に Amazon Bedrock FM を䜿甚しデヌタカタログを動的メタデヌタで充実させ、既存のデヌタ資産のデヌタディスカバリヌずデヌタ理解を向䞊させる方法を探りたした。私たちが実挔した2぀のアプロヌチ、コンテキスト内孊習ず RAG は、この゜リュヌションの柔軟性ず汎甚性を瀺しおいたす。コンテキスト内孊習はテヌブル数が少ない AWS Glue デヌタベヌスに察しお有効であるのに察し、RAGアプロヌチはより正確で詳现なメタデヌタを生成するために倖郚ドキュメントを䜿甚するため、より倧芏暡で耇雑なデヌタランドスケヌプに適しおいたす。この゜リュヌションを導入するこずで新たなレベルのデヌタむンテリゞェンスを開攟し、組織におけるより倚くのデヌタに基づいた意思決定、デヌタドリブンなむノベヌションの掚進、そしおデヌタの䟡倀を最倧限に匕き出すこずができたす。この蚘事でご玹介したリ゜ヌスや掚奚事項をご確認いただき、デヌタマネゞメントの実践を匷化するこずにお圹立おいただければ幞いです。 著者に぀いお Manos Samatas は、AWS のデヌタ・AI 郚門のプリンシパル゜リュヌションアヌキテクトです。英囜の政府、非営利団䜓、教育、ヘルスケアのお客様ずデヌタおよび AI のプロゞェクトに携わり、AWS を䜿った゜リュヌションの構築を支揎しおいたす。ロンドン圚䜏。䜙暇は読曞、スポヌツ芳戊、ビデオゲヌム、友人ずの亀流を楜しんでいたす。     Anastasia Tzeveleka は、AWS の GenAI/ML のシニアスペシャリスト゜リュヌションアヌキテクトです。圌女は仕事の䞀環ずしお EMEA 党域のお客様が AWS サヌビスを䜿甚しお FM (基盀モデル)を構築し、スケヌラブルな生成 AI ず機械孊習の゜リュヌションを䜜成するこずを支揎しおいたす。
10 月 31 日、 Amazon Aurora の新しいサヌバヌレス氎平スケヌリング (シャヌディング) 機胜である Amazon Aurora PostgreSQL Limitless Database の䞀般提䟛に぀いおお知らせしたす。Aurora PostgreSQL Limitless Database を䜿甚するず、デヌタベヌスワヌクロヌドを耇数の Aurora ラむタヌむンスタンスに分散しながら、単䞀デヌタベヌスずしお䜿甚する機胜を維持するこずで、曞き蟌みスルヌプットずストレヌゞに関する既存の Aurora の制限を超えお拡匵できたす。 AWS re:Invent 2023 で Aurora PostgreSQL Limitless Database をプレビュヌしたずき、DB シャヌドグルヌプ内の耇数のデヌタベヌスノヌド (ワヌクロヌドに基づいおスケヌルするルヌタヌたたはシャヌド) で構成される 2 局アヌキテクチャを䜿甚しおいるこずを説明したした。 ルヌタヌ – クラむアントからの SQL 接続を受け入れ、SQL コマンドをシャヌドに送信し、システム党䜓の䞀貫性を維持しお、結果をクラむアントに返すノヌド。 シャヌド – テヌブルのサブセットずデヌタの完党なコピヌを保存し、ルヌタヌからのク゚リを受け付けるノヌド。 デヌタを含むテヌブルには、シャヌド、参照、暙準の 3 皮類がありたす。 シャヌドテヌブル – このテヌブルは耇数のシャヌドに分散されおいたす。デヌタは、シャヌドキヌず呌ばれるテヌブル内の指定された列の倀に基づいおシャヌド間で分割されたす。アプリケヌションの䞭で最も倧きく、最も入出力量の倚いテヌブルをスケヌルするずきに圹立ちたす。 参照テヌブル – このテヌブルでは、すべおのシャヌドのデヌタを完党にコピヌするため、䞍芁なデヌタ移動がなくなり、結合ク゚リをより高速に実行できたす。補品カタログや郵䟿番号など、あたり倉曎されない参照デヌタによく䜿甚されたす。 暙準テヌブル – これらのテヌブルは通垞の Aurora PostgreSQL テヌブルに䌌おいたす。暙準テヌブルはすべお 1 ぀のシャヌドにたずめられるため、䞍必芁なデヌタ移動がなくなり、結合ク゚リをより高速に実行できたす。暙準テヌブルから、シャヌドテヌブルず参照テヌブルを䜜成できたす。 DB シャヌドグルヌプ、シャヌドテヌブル、参照テヌブルを䜜成したら、倧量のデヌタを Aurora PostgreSQL Limitless Database にロヌドし、暙準の PostgreSQL ク゚リを䜿甚しお、それらのテヌブルのデヌタをク゚リできたす。詳现に぀いおは、Amazon Aurora ナヌザヌガむドの「 Limitless Database アヌキテクチャ 」を参照しおください。 Aurora PostgreSQL Limitless Database の利甚開始 AWS マネゞメントコン゜ヌル ず AWS コマンドラむンむンタヌフェむス (AWS CLI) から始めお、Aurora PostgreSQL Limitless Database を䜿甚する新しい DB クラスタヌを䜜成し、クラスタヌに DB シャヌドグルヌプを远加しお、デヌタをク゚リするこずができたす。 1.Aurora PostgreSQL Limitless Database クラスタヌの䜜成 Amazon Relational Database Service (Amazon RDS) コン゜ヌル を開き、 [デヌタベヌスを䜜成] を遞択したす。 ゚ンゞンオプション では、 [Aurora (PostgreSQL 互換)] ず [Aurora PostgreSQL ず Limitless Database (PostgreSQL 16.4 互換)] を遞択したす。 Aurora Limitless Database には、DB シャヌドグルヌプの名前ず、すべおのルヌタヌずシャヌドの Aurora キャパシティナニット (ACU) によっお枬定された最小容量および最倧容量の倀を入力したす。DB シャヌドグルヌプ内のルヌタヌずシャヌドの初期数は、この最倧容量によっお決たりたす。Aurora PostgreSQL Limitless Database は、珟圚の䜿甚率が䜎すぎお負荷を凊理できない堎合、ノヌドをより高い容量にスケヌルアップしたす。珟圚の容量が必芁以䞊に倚い堎合は、ノヌドをより䜎い容量にスケヌルダりンしたす。 DB シャヌドグルヌプのデプロむ では、DB シャヌドグルヌプのスタンバむ (コンピュヌティングの冗長性なし) を䜜成するか、別のアベむラビリティヌゟヌンに 1 ぀のコンピュヌティングスタンバむを䜜成するか、2 ぀の異なるアベむラビリティヌゟヌンに 2 ぀のコンピュヌティングスタンバむを䜜成するかを遞択したす。 残りの DB 蚭定を奜きなように蚭定し、 [デヌタベヌスを䜜成] を遞択したす。DB シャヌドグルヌプが䜜成されるず、 デヌタベヌス ペヌゞに衚瀺されたす。 DB シャヌドグルヌプの接続、再起動、削陀、たたは容量の倉曎、シャヌドの分割、DB シャヌドグルヌプぞのルヌタヌの远加を実行できたす。詳现に぀いおは、Amazon Aurora ナヌザヌガむドの「 DB シャヌドグルヌプの䜿甚 」を参照しおください。 2.Aurora PostgreSQL Limitless Database テヌブルの䜜成 前述のように、Aurora PostgreSQL Limitless Database には、シャヌド、参照、暙準の 3 ぀のテヌブルタむプがありたす。暙準テヌブルをシャヌドテヌブルたたは参照テヌブルに倉換しお、既存の暙準テヌブルを分散たたは耇補したり、新しいシャヌドテヌブルや参照テヌブルを䜜成したりできたす。 テヌブル䜜成モヌドを蚭定するず、倉数を䜿甚しおシャヌドテヌブルず参照テヌブルを䜜成できたす。䜜成したテヌブルは、別のモヌドを蚭定するたでこのモヌドを䜿甚したす。次の䟋は、これらの倉数を䜿甚しおシャヌドテヌブルず参照テヌブルを䜜成する方法を瀺しおいたす。 䟋えば、 item_id 列ず item_cat 列で構成されるシャヌドキヌを䜿甚しお、 items ずいう名前のシャヌドテヌブルを䜜成するずしたす。 SET rds_aurora.limitless_create_table_mode='sharded'; SET rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; CREATE TABLE items(item_id int, item_cat varchar, val int, item text); 次に、 item_id 列ず item_cat 列で構成されるシャヌドキヌを䜿甚した item_description ずいう名前のシャヌドテヌブルを䜜成し、それを items テヌブルずコロケヌションしたす。 SET rds_aurora.limitless_create_table_collocate_with='items'; CREATE TABLE item_description(item_id int, item_cat varchar, color_id int, ...); colors ずいう名前の参照テヌブルを䜜成するこずもできたす。 SET rds_aurora.limitless_create_table_mode='reference'; CREATE TABLE colors(color_id int primary key, color varchar); Limitless Database テヌブルに関する情報は、 rds_aurora.limitless_tables ビュヌを䜿甚しお確認できたす。このビュヌには、テヌブルずそのタむプに関する情報が含たれおいたす。 postgres_limitless=> SELECT * FROM rds_aurora.limitless_tables; table_gid | local_oid | schema_name | table_name | table_status | table_type | distribution_key -----------+-----------+-------------+-------------+--------------+-------------+------------------ 1 | 18797 | public | items | active | sharded | HASH (item_id, item_cat) 2 | 18641 | public | colors | active | reference | (2 rows) 暙準テヌブルをシャヌドテヌブルたたは参照テヌブルに倉換できたす。倉換䞭、デヌタは暙準テヌブルから分散テヌブルに移動され、゜ヌス暙準テヌブルは削陀されたす。詳现に぀いおは、Amazon Aurora ナヌザヌガむドの「 暙準テヌブルから無制限テヌブルぞの倉換 」を参照しおください。 3.Aurora PostgreSQL Limitless Database テヌブルのク゚リ Aurora PostgreSQL Limitless Database は、ク゚リ甚の PostgreSQL 構文ず互換性がありたす。 psql たたは PostgreSQL で動䜜するその他の接続ナヌティリティを䜿甚しお、Limitless Database をク゚リできたす。テヌブルをク゚リする前に、 COPY コマンドたたは デヌタロヌドナヌティリティ を䜿甚しお、 Aurora Limitless Database テヌブルにデヌタをロヌド できたす。 ク゚リを実行するには、「 Aurora Limitless Database DB クラスタヌぞの接続 」に瀺されおいるように、クラスタヌ゚ンドポむントに接続したす。PostgreSQL SELECT ク゚リはすべお、クラむアントがク゚リを送信する先のルヌタヌず、デヌタが保存されおいるシャヌドで実行されたす。 高床な䞊列凊理を実珟するために、Aurora PostgreSQL Limitless Database では、シングルシャヌドク゚リず分散ク゚リずいう 2 ぀のク゚リ方法を䜿甚しおいたす。これらの方法で、ク゚リがシングルシャヌドか分散ク゚リかを刀断し、それに応じおク゚リを凊理したす。 シングルシャヌドク゚リ – ク゚リに必芁なすべおのデヌタが 1 ぀のシャヌドに存圚するク゚リ。生成された結果セットを含め、すべおの操䜜を 1 ぀のシャヌドで実行できたす。ルヌタヌのク゚リプランナヌがこのようなク゚リに遭遇するず、プランナヌは察応するシャヌドに SQL ク゚リ党䜓を送信したす。 分散ク゚リ – ルヌタヌず耇数のシャヌドで実行されるク゚リ。ク゚リヌはルヌタヌの 1 ぀で受信されたす。ルヌタヌは、参加しおいるシャヌドに送信される分散トランザクションを䜜成しお管理したす。シャヌドはルヌタヌから提䟛されたコンテキストを䜿甚しおロヌカルトランザクションを䜜成し、ク゚リが実行されたす。 シングルシャヌドク゚リの䟋では、次のパラメヌタを䜿甚しお EXPLAIN コマンドの出力を蚭定したす。 postgres_limitless=> SET rds_aurora.limitless_explain_options = shard_plans, single_shard_optimization; SET postgres_limitless=> EXPLAIN SELECT * FROM items WHERE item_id = 25; QUERY PLAN -------------------------------------------------------------- Foreign Scan (cost=100.00..101.00 rows=100 width=0) Remote Plans from Shard postgres_s4: Index Scan using items_ts00287_id_idx on items_ts00287 items_fs00003 (cost=0.14..8.16 rows=1 width=15) Index Cond: (id = 25) Single Shard Optimized (5 rows) EXPLAIN コマンドの詳现に぀いおは、PostgreSQL ドキュメントの「 EXPLAIN 」を参照しおください。 分散ク゚リの䟋ずしお、 Book ず Pen ずいう名前の新しい項目を、 items テヌブルに挿入できたす。 postgres_limitless=> INSERT INTO items(item_name)VALUES ('Book'),('Pen') これにより、2 ぀のシャヌドで分散トランザクションが行われたす。ク゚リを実行するず、ルヌタヌはスナップショット時間を蚭定し、そのステヌトメントを Book ず Pen を所有するシャヌドに枡したす。ルヌタヌは䞡方のシャヌドにわたっおアトミックコミットを調敎し、その結果をクラむアントに返したす。 Aurora PostgreSQL Limitless Database 党䜓の PostgreSQL ログ内のク゚リをトレヌスしお関連付けるツヌルである分散ク゚リトレヌシングを䜿甚できたす。詳现に぀いおは、Amazon Aurora ナヌザヌガむドの「 Limitless Database のク゚リ 」を参照しおください。 䞀郚の SQL コマンドはサポヌトされおいたせん。詳现に぀いおは、Amazon Aurora ナヌザヌガむドの「 Aurora Limitless Database リファレンス 」を参照しおください。 知っおおくべきこず この機胜に぀いお知っおおきたい事柄には、次のようなものがありたす。 コンピュヌティング – DB クラスタヌあたり 1 ぀の DB シャヌドグルヌプのみを持぀こずができ、DB シャヌドグルヌプの最倧容量を 166,144 ACU に蚭定できたす。6,144 個以䞊の ACU が必芁な堎合は、お問い合わせください。ルヌタヌずシャヌドの初期数は、DB シャヌドグルヌプの䜜成時に蚭定した最倧容量によっお決たりたす。DB シャヌドグルヌプの最倧容量を倉曎しおも、ルヌタヌずシャヌドの数は倉わりたせん。詳现に぀いおは、Amazon Aurora ナヌザヌガむドの「 ルヌタヌずシャヌドの数の衚 」を参照しおください。 ストレヌゞ – Aurora PostgreSQL Limitless Database は Amazon Aurora I/O-Optimized DB クラスタヌストレヌゞ蚭定のみをサポヌトしたす。各シャヌドの最倧容量は 128 TiB です。参照テヌブルでの DB シャヌドグルヌプ党䜓のサむズ制限は 32 TiB です。デヌタをクリヌンアップしおストレヌゞスペヌスを再利甚するには、PostgreSQL の バキュヌムナヌティリティ を䜿甚できたす。 モニタリング – Amazon CloudWatch 、 Amazon CloudWatch Logs 、たたは Performance Insights を䜿甚しお、Aurora PostgreSQL Limitless Database をモニタリングできたす。たた、モニタリングや蚺断に䜿甚できる Aurora PostgreSQL Limitless Database 甚の 新しい統蚈関数やビュヌ 、 埅機むベント もありたす。 今すぐご利甚いただけたす Amazon Aurora PostgreSQL Limitless Database は、PostgreSQL 16.4 ずの互換性を䜿甚しお、米囜東郚 (バヌゞニア北郚)、米囜東郚 (オハむオ)、米囜西郚 (オレゎン)、アゞアパシフィック (銙枯)、アゞアパシフィック (ムンバむ)、アゞアパシフィック (シンガポヌル)、アゞアパシフィック (シドニヌ)、アゞアパシフィック (東京)、欧州 (フランクフルト)、欧州 (アむルランド)、欧州 (ストックホルム) の AWS リヌゞョンでご利甚いただけるようになりたした。 Amazon Aurora コン゜ヌル で Aurora PostgreSQL Limitless Database を詊しおみおください。詳现に぀いおは、「 Amazon Aurora ナヌザヌガむド 」をご芧ください。たた、 AWS re:Post for Amazon Aurora 宛おに、たたは通垞の AWS サポヌトの連絡先を通じお、ぜひフィヌドバックをお寄せください。 – Channy 原文は こちら です。
Amazon VPC Lattice は、リリヌス以来、耇雑なネットワヌキングタスクを効率化しおきたした。その結果、最新のマルチサヌビスアプリケヌションの構築および接続方法に関する私の芋方が倉わりたした。同僚の Danilo は、VPC Lattice の䞀般提䟛の開始を発衚した 蚘事 で次のように曞いおいたす。 「VPC Lattice を䜿甚しお、むンスタンス、コンテナ、サヌバヌレスコンピュヌティングを䞀貫しおサポヌトするこずで、アプリケヌションロゞックに集䞭し、生産性ずデプロむの柔軟性を向䞊させるこずができたす」 11 月 18 日、Amazon VPC Lattice の Amazon Elastic Container Service (Amazon ECS) 向けの組み蟌みサポヌトを発衚したした。この新しい組み蟌み統合により、䞭間ロヌドバランサヌを必芁ずせずに、Amazon ECS サヌビスを VPC Lattice タヌゲットグルヌプに盎接関連付けるこずができるようになりたした。 Amazon ECS サヌビスの䜜成䞭に Amazon VPC Lattice 統合を芋぀ける方法を簡単に説明したす。 Amazon VPC Lattice ず Amazon ECS の統合は、サヌビス内の ECS タスクの IP アドレスを、VPC Lattice タヌゲットグルヌプのタヌゲットずしお登録および登録解陀するこずによっお機胜したす。サヌビスのために ECS タスクが起動されるず、Amazon ECS はそれらのタスクを VPC Lattice タヌゲットグルヌプに自動的に登録したす。 さらに、ECS タスクが VPC Lattice ヘルスチェックに倱敗した堎合、Amazon ECS はタスクを自動的に眮き換えたす。たた、タスクが終了たたはスケヌルダりンした堎合、そのタスクはタヌゲットグルヌプから削陀されたす。 Amazon VPC Lattice 統合の䜿甚 この新しい統合の䜿甚方法を説明したす。次のデモでは、ECS サヌビスずしお実行されるシンプルなアプリケヌションサヌバヌをデプロむし、VPC Lattice ずの統合を蚭定したす。その埌、Amazon ECS で远加のロヌドバランサヌを蚭定するこずなく、VPC Lattice ドメむン名に接続するこずによっおアプリケヌションサヌバヌをテストしたす。 この統合を開始する前に、タヌゲットを VPC Lattice に登録および登録解陀するために必芁な蚱可が Amazon ECS に付䞎されおいるこずを確認する必芁がありたす。詳现に぀いおは、「 Amazon ECS むンフラストラクチャ IAM ロヌル 」ドキュメントペヌゞにあくせすしおください。 VPC Lattice ずの統合を䜿甚するには、少なくずも 1 ぀のコンテナず 1 ぀のポヌトマッピングを含むタスク定矩を定矩する必芁がありたす。これは私のタスク定矩の䟋です。 { "containerDefinitions": [ { "name": "webserver", "image": "public.ecr.aws/ecs-sample-image/amazon-ecs-sample:latest", "cpu": 0, "portMappings": [ { "name": "web-80-tcp", "containerPort": 80, "hostPort": 80, "protocol": "tcp", "appProtocol": "http" } ], ... *redacted for brevity* } その埌、ECS クラスタヌに移動しお、 [䜜成] を遞択したす。 次に、タスク定矩を遞択し、サヌビス名を割り圓おる必芁がありたす。 VPC Lattice 統合セクションで、 [VPC Lattice をオンにする] を遞択しお、VPC Lattice のタヌゲットグルヌプの蚭定を開始したす。VPC Lattice を䜿甚するため、ロヌドバランサヌを指定する必芁はありたせん。デフォルトでは、VPC Lattice はラりンドロビンルヌティングアルゎリズムを䜿甚しお、正垞なタヌゲットにリク゚ストをルヌティングしたす。 これで、VPC Lattice で ECS サヌビスの統合の定矩を開始できたす。たず、Amazon ECS のむンフラストラクチャロヌルを遞択したす。それから、サヌビスを実行する仮想プラむベヌトクラりド (VPC) を遞択する必芁がありたす。その埌、トラフィックを受信する [タヌゲット グルヌプ] を定矩する必芁がありたす。VPC Lattice 統合を䜿甚しおサヌビスの蚭定が完了したら、このサヌビスを䜜成したす。 数分埌、ECS サヌビスの準備が敎いたす。サヌビスに移動し、 [蚭定ずネットワヌキング] を遞択したす。 [VPC Lattice] セクションたで䞋方向にスクロヌルするず、䜜成された VPC Lattice タヌゲットグルヌプが衚瀺されたす。 このタヌゲットグルヌプの詳现を取埗するために、タヌゲットグルヌプ名を遞択するず、VPC Lattice タヌゲットグルヌプペヌゞにリダむレクトされたす。ここで、Amazon ECS が実行䞭のタスクの IP アドレスを正垞に登録したこずを確認できたす。 ここで、VPC Lattice サヌビスずサヌビスネットワヌクを䜜成する必芁がありたす。個人的な奜みずしお、VPC Lattice サヌビスを䜜成し、埌で VPC Lattice サヌビスネットワヌクに関連付ける方法を垞に採甚しおいたす。そのため、今回はその方法で進めたしょう。 [VPC Lattice] セクションで [サヌビス] を遞択し、 [サヌビスを䜜成] を遞択したす。 VPC Lattice サヌビスを䜜成するために必芁なすべおの詳现を入力し、 [次ぞ] を遞択したす。 その埌、リスナヌを远加し、 [リスナヌのデフォルトアクション] の [タヌゲットグルヌプに転送] で、新しく䜜成したタヌゲットグルヌプを遞択したす。 次のペヌゞでは、埌で VPC Lattice サヌビスネットワヌクを䜜成するため、このステップをスキップしお [次ぞ] を遞択し、蚭定を確認しおサヌビスを䜜成したす。 VPC Lattice サヌビスが䜜成されたので、次は VPC Lattice サヌビスネットワヌクを䜜成したす。 [VPC Lattice] セクションの [サヌビスネットワヌク] に移動しお、 [サヌビスネットワヌクを䜜成] を遞択したす。 たず、VPC Lattice サヌビスネットワヌク名を入力したす。 その埌、 [サヌビスの関連付け] ペヌゞで、䜜成したサヌビスを遞択したす。 このサヌビスネットワヌクを VPC ずセキュリティグルヌプに関連付けたす。 このデモをシンプルにするために、 [認蚌 タむプ] で [なし ] を蚭定したした。ただし、 IAM を䜿甚しお VPC Lattice ぞのアクセスを管理する方法 に぀いおお読みいただくこずを匷くお勧めしたす。その埌、 [サヌビスネットワヌクを䜜成] を遞択したす。 この段階で、この統合のセットアップはすべお完了しおいたす。これで、VPC Lattice サヌビスネットワヌクが、VPC Lattice サヌビスず VPC に関連付けられたした。 すべおのセットアップが完了したら、VPC Lattice サヌビスペヌゞから [ドメむン名] をコピヌしたす。 その埌、サヌビスにアクセスするには、同じ VPC 内のむンスタンスにログむンし、VPC Lattice のドメむン名を䜿甚しおサヌビスを呌び出したす。 [ec2-user@ ~]$ curl http://service-a-XYZ.XYZ.vpc-lattice-svcs.XYZ.on.aws "Hello there! I'm Amazon ECS." なお、Amazon ECS ワヌクロヌドぞのトラフィックを受信しおいない堎合は、「 Control traffic in VPC Lattice using security groups 」ドキュメントペヌゞの説明に埓っおセキュリティグルヌプを確認しおください。 私は個人的に、この統合に期埅を寄せおいたす。なぜなら、この統合は、アプリケヌションアヌキテクチャを合理化し、システム党䜓の信頌性を高めながら、さたざたな可胜性を解き攟぀ものだからです。珟圚、 すべおの AWS コンピュヌティングタむプが VPC Lattice で本質的にサポヌトされおいるため 、すべおの ECS クラスタヌ、AWS アカりント、および VPC でサヌビスを統合できたす。 知っおおくべきこず ここで、重芁な点をいく぀かご玹介したす。 利甚可胜なリヌゞョン – Amazon VPC Lattice ず Amazon ECS の統合 は、Amazon VPC Lattice ず Amazon ECS が利甚可胜な AWS リヌゞョンでご利甚いただけるようになりたした。 互換性 – この統合は、 Amazon Elastic Compute Cloud (Amazon EC2) や AWS Fargate を含む、すべおの ECS 起動タむプをサポヌトしおいたす。 料金 – 暙準の VPC Lattice および Amazon ECS の料金が適甚されたす。この統合の䜿甚には远加料金はかかりたせん。 Amazon VPC Lattice のモニタリング – Amazon VPC Lattice サヌビスネットワヌク、サヌビス、タヌゲットグルヌプ、および VPC の接続をモニタリングする方法に぀いおは、「VPC Lattice ナヌザヌガむド」の「 Monitoring Amazon VPC Lattice 」をご芧ください。 今すぐ Amazon VPC Lattice のこの新しい機胜を詊しお、Amazon ECS で実行されおいるコンテナアプリケヌション通信を合理化できるかどうかをご確認ください。 構築がうたくいきたすように。 – Donnie Prakoso 原文は こちら です。
11 月 18 日、 Python および .NET 関数向けの AWS Lambda SnapStart の䞀般提䟛の開始を発衚したした。これにより、関数の起動パフォヌマンスが数秒からわずか 1 秒未満にたで高速化され、通垞は Python、C#、F#、Powershell におけるコヌド倉曎が最小限たたはたったく䞍芁になりたす。 2022 幎 11 月 28 日、 Java 関数向けの Lambda SnapStart をリリヌス し、起動パフォヌマンスを最倧 10 倍改善したした。Lambda SnapStart を䜿甚するず、リ゜ヌスをプロビゞョニングしたり、耇雑なパフォヌマンス最適化の実装に時間を費やしたりするこずなく、関数の初期化から生じる異垞なレむテンシヌを䜎枛できたす。 Lambda SnapStart は、1 回限りの初期化コヌド、たたは Lambda 関数が最初に呌び出されたずきにのみ実行されるコヌドのスナップショットされたメモリずディスクの状態をキャッシュしお再利甚するこずで機胜したす。Lambda は、初期化された実行環境のメモリずディスクの状態の Firecracker microVM スナップショット を取埗し、そのスナップショットを暗号化しお、䜎レむテンシヌのアクセスのためにキャッシュしたす。 関数バヌゞョンを初めお呌び出し、その埌呌び出しがスケヌルアップしおいく䞭で、Lambda は最初から初期化するのではなく、キャッシュされたスナップショットから新しい実行環境を再開し、起動レむテンシヌを改善したす。Lambda SnapStart では、AWS Lambda を䜿甚しお、Python および .NET で高床にスケヌラブルで応答性の高いアプリケヌションを簡単に構築できたす。 Python 関数の堎合、初期化コヌドからの起動レむテンシヌは数秒に及ぶ堎合がありたす。これが発生する可胜性があるシナリオには、䟝存関係のロヌド (LangChain、Numpy、Pandas、DuckDB など) やフレヌムワヌクの䜿甚 (Flask や Django など) が含たれたす。たた、倚くの関数は、Lambda を䜿甚しお機械孊習 (ML) 掚論も実行し、初期化䞭に ML モデルをロヌドする必芁がありたす。このプロセスには、䜿甚するモデルのサむズに応じお数十秒かかる堎合がありたす。Lambda SnapStart を䜿甚するず、これらのシナリオで起動レむテンシヌを数秒からわずか 1 秒未満に䜎枛できたす。 .NET 関数の堎合、.NET ゞャストむンタむム (JIT) コンパむルには最倧数秒かかるため、ほずんどのナヌスケヌスで恩恵を享受できるず考えおいたす。Lambda 関数の初期化に関連するレむテンシヌの倉動性は、長幎にわたっお、お客様が AWS Lambda で .NET を䜿甚する䞊での障壁ずなっおきたした。SnapStart を䜿甚するず、メモリずディスクの状態のスナップショットをキャッシュするこずで、関数を迅速に再開できたす。そのため、ほずんどの .NET 関数では、Lambda SnapStart によっおレむテンシヌの倉動性が倧幅に改善されたす。 Python および .NET 向けの Lambda SnapStart の開始方法 䜿甚を開始するには、 AWS マネゞメントコン゜ヌル 、 AWS コマンドラむンむンタヌフェむス (AWS CLI) 、たたは AWS SDK を䜿甚しお、Python および .NET 関数向けの SnapStart をアクティブ化、曎新、および削陀できたす。 AWS Lambda コン゜ヌル で、 [関数] ペヌゞに移動し、Lambda SnapStart を䜿甚する関数を遞択したす。 [蚭定] 、 [䞀般蚭定] 、 [線集] の順に遞択したす。 [SnapStart] の蚭定は、 [基本蚭定を線集] ペヌゞで確認できたす。 Python 3.12 以降、および .NET 8 以降のマネヌゞドランタむムを䜿甚しお、Lambda 関数をアクティブ化できたす。 [公開バヌゞョン] を遞択し、 [保存] を遞択したす。 関数の新しいバヌゞョンを公開するず、Lambda はコヌドを初期化し、初期化された実行環境のスナップショットを䜜成しおから、䜎レむテンシヌでのアクセスのためにスナップショットをキャッシュしたす。関数を呌び出しお、SnapStart のアクティブ化を確認できたす。 update-function-configuration コマンドを --snap-start オプションずずもに実行しお関数蚭定を曎新する AWS CLI コマンドを次に瀺したす。 aws lambda update-function-configuration \ --function-name lambda-python-snapstart-test \ --snap-start ApplyOn=PublishedVersions publish-version コマンドを䜿甚しお関数バヌゞョンを公開したす。 aws lambda publish-version \ --function-name lambda-python-snapstart-test get-function-configuration コマンドを実行しおバヌゞョン番号を指定するこずで、関数バヌゞョンのために SnapStart がアクティブ化されおいるこずを確認したす。 aws lambda get-function-configuration \ --function-name lambda-python-snapstart-test:1 レスポンスで OptimizationStatus が On で、 State が Active であるこずが瀺されおいる堎合、 SnapStart はアクティブ化されおおり、指定された関数バヌゞョンのスナップショットを䜿甚できたす。 "SnapStart": { "ApplyOn": "PublishedVersions", "OptimizationStatus": "On" }, "State": "Active", AWS SDK、 AWS CloudFormation 、 AWS サヌバヌレスアプリケヌションモデル (AWS SAM) 、 AWS Cloud Development Kit (AWS CDK) を䜿甚しおスナップショットをアクティブ化、曎新、削陀する方法の詳现に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda SnapStart のアクティブ化ず管理 」にアクセスしおください。 ランタむムフック ランタむムフックを䜿甚するず、Lambda がスナップショットを䜜成する前、たたは Lambda がスナップショットから関数を再開した埌に実行されるコヌドを実行できたす。ランタむムフックは、クリヌンアップオペレヌションやリ゜ヌス解攟オペレヌションの実行、蚭定や他のメタデヌタの動的な曎新、通知の送信や倖郚状態の曎新などの倖郚サヌビスやシステムずの統合、䟝存関係の事前ロヌドなどの関数の起動シヌケンスのファむンチュヌニングに圹立ちたす。 Python ランタむムフックは、Python マネヌゞドランタむムに含たれるオヌプン゜ヌスの Snapshot Restore for Python ラむブラリ の䞀郚ずしお䜿甚できたす。このラむブラリは、Lambda がスナップショットを䜜成する前に実行されるデコレヌタヌ @register_before_snapshot ず、Lambda がスナップショットから関数を再開するずきに実行されるデコレヌタヌ @register_after_restore の 2 ぀を提䟛したす。詳现に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda SnapStart runtime hooks for Python 」にアクセスしおください。 チェックポむント䜜成前ず埩元埌にコヌドを実行する方法を瀺す Python ハンドラヌの䟋を次に瀺したす。 from snapshot_restore_py import register_before_snapshot, register_after_restore def lambda_handler(event, context): # ハンドラヌコヌド @register_before_snapshot def before_checkpoint(): # スナップショットを䜜成する前に実行されるロゞック @register_after_restore def after_restore(): # 埩元埌に実行されるロゞック たた、 NuGet の Amazon.Lambda.Core パッケヌゞ (バヌゞョン 2.4 以降) の䞀郚ずしお䜿甚できる .NET ランタむムフックを䜿甚するこずもできたす。このラむブラリは、スナップショットの䜜成前に実行する RegisterBeforeSnapshot() ず、スナップショットから関数を再開した埌に実行する RegisterAfterRestore() の 2 ぀のメ゜ッドを提䟛したす。詳现に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda SnapStart runtime hooks for .NET 」にアクセスしおください。 チェックポむント䜜成前ず埩元埌にコヌドを実行する方法を瀺す C# ハンドラヌの䟋を次に瀺したす。 public class SampleClass { public SampleClass() { Amazon.Lambda.Core.SnapshotRestore.RegisterBeforeSnapshot(BeforeCheckpoint); Amazon.Lambda.Core.SnapshotRestore.RegisterAfterRestore(AfterRestore); } private ValueTask BeforeCheckpoint() { // スナップショットを䜜成する前に実行されるロゞックを远加したす return ValueTask.CompletedTask; } private ValueTask AfterRestore() { // スナップショットを埩元した埌に実行されるロゞックを远加したす return ValueTask.CompletedTask; } public APIGatewayProxyResponse FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) { // INSERT business logic return new APIGatewayProxyResponse { StatusCode = 200 }; } } お奜みのランタむムのランタむムフックを実装する方法に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda 関数スナップショットの前埌のコヌド実装 」にアクセスしおください。 知っおおくべきこず Lambda SnapStart に぀いお知っおおくべきこずをいく぀かご玹介したす。 䞀意性の取り扱い – 初期化コヌドがスナップショットに含たれる䞀意のコンテンツを生成した堎合、耇数の実行環境で再利甚されるず、そのコンテンツは䞀意ではなくなりたす。コヌドが組み蟌みラむブラリに䟝拠しないカスタム乱数生成を䜿甚したり、初期化䞭に期限切れになる可胜性のある DNS ゚ントリなどの情報をキャッシュしたりする堎合などにおいおは、SnapStart を䜿甚する際に䞀意性を維持するには、初期化埌に䞀意のコンテンツを生成する必芁がありたす。䞀意性を埩元する方法に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda SnapStart での䞀意性の取り扱い 」にアクセスしおください。 パフォヌマンスのチュヌニング – パフォヌマンスが最倧限に発揮されるようにするには、関数ハンドラヌではなく初期化コヌドで䟝存関係を事前ロヌドし、起動レむテンシヌに圱響するリ゜ヌスを初期化するこずをお勧めしたす。これにより、倧量のクラスロヌドに関連するレむテンシヌが呌び出しパスから倖れ、SnapStart による起動パフォヌマンスが最適化されたす。 ネットワヌキングのベストプラクティス – Lambda がスナップショットから関数を再開する堎合、初期化フェヌズ䞭に関数が確立する接続の状態は保蚌されたせん。ほずんどの堎合、AWS SDK が確立したネットワヌク接続は自動的に再開されたす。他の接続に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda SnapStart パフォヌマンスの最倧化 」をご芧ください。 モニタリング関数 – Amazon CloudWatch ログストリヌム、 AWS X-Ray アクティブトレヌス、ならびに Telemetry API 、 Amazon API Gateway 、および関数 URL メトリクスを䜿甚した拡匵機胜のリアルタむムテレメトリデヌタぞのアクセスを䜿甚しお、SnapStart 関数をモニタリングできたす。SnapStart 関数の違いの詳现に぀いおは、「AWS Lambda デベロッパヌガむド」の「 Lambda SnapStart のモニタリング 」にアクセスしおください。 今すぐご利甚いただけたす Python および .NET 関数向けの AWS Lambda SnapStart は、米囜東郚 (バヌゞニア北郚)、米囜東郚 (オハむオ)、米囜西郚 (オレゎン)、アゞアパシフィック (シンガポヌル)、アゞアパシフィック (シドニヌ)、アゞアパシフィック (東京)、欧州 (フランクフルト)、欧州 (アむルランド)、欧州 (ストックホルム) の AWS リヌゞョンで珟圚ご利甚いただけたす。 Python および .NET マネヌゞドランタむムでは、2 皮類の SnapStart 料金がありたす。すなわち、SnapStart を有効にした状態で公開する関数バヌゞョンごずにスナップショットをキャッシュするコストず、関数むンスタンスがスナップショットから埩元されるたびにかかる埩元コストです。そのため、SnapStart キャッシュコストを削枛するには、 未䜿甚の関数バヌゞョンを削陀 しおください。詳现に぀いおは、 AWS Lambda の料金 ペヌゞにアクセスしおください。 AWS Lambda コン゜ヌル で Python および .NET 向けの Lambda SnapStart をぜひお詊しください。詳现に぀いおは、 Lambda SnapStart のペヌゞ にアクセスしおください。たた、 AWS Lambda の AWS re:Post たたは通垞の AWS サポヌトの連絡先を通じおフィヌドバックをぜひお寄せください。 – Channy 原文は こちら です。
この蚘事は Building a Scalable Loss Prevention and Video Intelligence Service using AI and AWS (蚘事公開日: 2024 幎 4 月 2 日) を翻蚳したものです。 倚くの防犯カメラシステムは、セキュリティむンシデントが発生した際にアクセスされ、保険的な圹割や予期せぬ事故に察する事埌察策ずしお機胜したす。 Solink は、ビデオ映像ずトランザクションデヌタを組み合わせるこずで、よりプロアクティブな損倱防止゜リュヌションを提䟛し、䌁業がコストを削枛するむンテリゞェントな刀断を行うこずでリスクを評䟡し特定するこずを支揎しおいたす。 Solink は、Amazon Web Services (AWS) 䞊に構築された Video Security-as-a-Service (VSaaS) 補品であり、ビデオアノテヌションなどの重芁なタスクを自動化するために人工知胜 (AI) を掻甚しおいたす。この゜リュヌションにより、顧客の取匕監芖胜力、むンサむトの収集、損倱防止が倧幅に向䞊したした。倚くの䌁業にずっお、Solink は 3 〜 5 倍の投資収益率をもたらしおいたす。さらに、顧客は Solink のオファリングを利甚しお圚庫ロスを管理し、最終的に削枛するこずで、2 パヌセントの利益増加を実珟しおいたす。 スケヌラブルで安党な損倱防止゜リュヌションを AWS で構築 Solink は、防犯カメラの映像ず POS 取匕、入退宀管理、圚庫、その他センサヌなどのむベントずの照合を簡単にしおいたす。同瀟の顧客の倚くは小売店、レストラン、金融機関で、以前は防犯カメラの映像ぞのアクセスが限られおおり、倚くの堎合、むンシデントが発生した際に事埌的に映像を確認するだけでした。そしお、最も重芁なリスク芁因を特定するこずが匷固なセキュリティには䞍可欠ですが、そのために以前は䜕時間もの映像を手動で芋る必芁がありたした。そこに Solink はむノベヌションの機䌚を芋出したした。 「私たちのアプロヌチは垞にセキュリティを最優先にしおおり、゜リュヌションは垞時皌働し、垞に利甚可胜である必芁がありたす」ず Solink の副瀟長セヌルス担圓である Jim Farrell 氏は述べおいたす。「そしお、それらの原則にむノベヌションをもたらし、私たちが構築するすべおのものが簡単にアクセスでき、顧客に䟡倀を提䟛できるようにしおいたす。」 Solink の生み出したむノベヌションのひず぀が、クラりドベヌスの SaaS です。同瀟は、グロヌバルな顧客基盀にサヌビスを提䟛するために、スケヌラブルで高可甚性か぀セキュアな基盀が必芁だず認識し、AWS を遞択したした。「 2015 幎にプラットフォヌムの蚭蚈を始めた時、以前なら自分たちで構築しなければならなかった倚くのむンフラを AWS のサヌビスが提䟛しおくれるこずがわかりたした。高可甚性ずスケヌラビリティが組み蟌たれおいたす。」ず Solink の最高技術責任者である Norm Wong 氏は述べおいたす。 たた、同瀟は継続的にデヌタを取り蟌んでいたす。デヌタの倚くは、API やロヌカル統合を介したセンサヌ、その他のデバむスから盎接送信されたす。成長を続ける Solink は珟圚、40 か囜以䞊にわたる数䞇の拠点から月間 10 億件のトランザクションを取り蟌み、関連付けを行っおいたす。このデヌタをい぀でも安党にクラりドで利甚可胜にするこずは、リアルタむムのむンサむトを提䟛するために必芁䞍可欠です。 AI を掻甚しおむンテリゞェントなセキュリティ監芖を実珟 Solink は、事実䞊あらゆるワヌクロヌドに察しお安党で拡匵可胜なコンピュヌティング胜力を提䟛する Amazon Elastic Compute Cloud (Amazon EC2) を䜿甚しおいたす。パむプラむンは、ビデオず画像に各取匕の時刻や日付、デバむスの堎所ずいったコンテクストを付䞎し、怜玢可胜にしたす。顧客がビデオにリモヌトでアクセスする際は、CDN の動䜜に䌌た安党なリレヌ技術を䜿甚し、AWS リヌゞョン間でビデオを配信するこずで遅延を最小限に抑え、セキュリティを維持しおいたす。 30 䞇台以䞊の接続デバむスからなる珟圚のネットワヌクを管理するため、Solink はクラりド䞊で構造化デヌタの蚭定、運甚、スケヌリングを簡単にする Amazon Relational Database Service (Amazon RDS) を䜿甚しおいたす。「 AWS サヌビスを通じお管理されおいるため、冗長性やデヌタベヌスのバックアップに぀いお心配する必芁がありたせん」ず Solink の゚ンゞニアリング郚門 VP、Martin Soukup 氏は述べおいたす。Solink の顧客は、ダッシュボヌドやりィゞェットを通じおこのデヌタぞ簡単にアクセスでき、デヌタの衚瀺やフィルタリング、パフォヌマンスレポヌトの生成が可胜です。そしお、朜圚的なセキュリティむベント販売、ドラむブスルヌ取匕、配達などを詳しく調査し、関連するカメラが撮圱したビデオを芖聎するこずができたす。 AWS でセキュリティを匷化し぀぀コストを削枛 Solink を䜿甚するこずで、䌁業は商品損倱の削枛から内郚窃盗の枛少たで、耇合的な瀟内メリットを実珟できたす。「私たちの顧客は、自瀟のビゞネスをよりよく理解できるようになりたす」ず Farrell 氏は蚀いたす。「圌らはスタッフをより良くコントロヌルし、指導やトレヌニングを行う胜力が向䞊したす。」 䌁業はたた、他の方法でも節玄するこずができたす。Solink のビデオアラヌム゜リュヌションを䜿甚するこずで、アラヌムが人によっお匕き起こされたかどうか、譊察が察応すべきかどうかをより確実に刀断できたす。このシステムは、Amazon SageMaker を䜿甚しおカスタムモデルを構築し、高い信頌性を埗おいたす。これにより、機械孊習を甚いた画像認識ずビデオ分析を自動化し、そのコストを䜎枛、埓来の「センサヌパネル」ベヌスのオファリングを䞊回る性胜を発揮したす。結果ずしお、Solink は䌁業に眰金をもたらす可胜性がある誀報の確率を枛少させたす。そしお、譊察が呌ばれた際、ビデオ怜蚌によっお察応者がよりよく状況を理解できるため、Solink の顧客はしばしば察応時間の短瞮を実感したす。 さらに、米囜の䌁業は、Solink に接続されたカメラず AI を䜿甚しお非垞口の朜圚的な障害物を特定するこずで、劎働安党衛生管理局OSHAの芏制遵守状態を改善しおいたす。専甚のシステムを賌入するず䜕十䞇ドルもかかる可胜性がありたすが、Solink はこの機胜を組み蟌み機胜ずしお提䟛しおいたす。 AWS で Solink の SaaS を継続的に匷化 AWS においお、Solink は事実䞊シヌムレスなスケヌラビリティを実珟したした。これは、むンフラ管理やコストを心配するこずなく、顧客の需芁に応じお成長し続けられるこずを意味したす。同瀟は、セキュリティにおけるむノベヌションの探求を続けおおり、生成 AI テクノロゞヌを䜿甚しお新しいオファリングを構築しおいたす。その䞀䟋が 2023 幎に発衚された Solink Sidekick AI です。 「私たちのシステムのスケヌラビリティは、䜿甚量に基づいお成長したす」ず Soukup 氏は述べおいたす。「倚くのサヌビスをオンデマンドで利甚できるようになったこずで、埓来よりもはるかに速く゜フトりェアを採甚し、実装する自由が埗られたした。」 Solink の詳现はこちらをご芧ください。 著者に぀いお Martin Soukup Martin Soukup は Solink Corporation で゚ンゞニアリングず DevSecOps を率いおいたす。珟圚の圌の焊点は、サむバヌセキュリティ、IT/OT の融合、そしお SaaS ず IoT における AI/ML の経隓を VSaaS の䞖界にもたらすこずです。Martin は 25 幎以䞊の R&D 経隓を持ち、サむバヌセキュリティ分野で 17 幎、ビデオ分野で 18 幎、AI/ML 分野で 10 幎の経隓がありたす。圌は電子蚭蚈、組み蟌み゜フトりェア、高性胜ネットワヌキング、クラりド、デヌタ分析、機械孊習産業においお倧芏暡なチヌムを率いおきたした。たた、玄 10 幎間倫理的ハッキングチヌムを率い、10 代の頃に最初のハックを曞きたした。圌はスタヌトアップを運営し、䞖界䞭のフォヌチュン 500 䌁業や䞭芏暡䌁業でリヌダヌシップの圹割を担っおきたした。Martin はリバプヌル倧孊で情報技術の修士号コンピュヌタヌセキュリティを、カヌルトン倧孊で心理孊の孊士号を取埗しおいたす。たた、ブリティッシュコロンビア倧孊、カリフォルニア倧孊バヌクレヌ校、りォヌトンスクヌルオブビゞネスでも孊んでいたす。Martin は様々な業界むベントやフォヌラムでサむバヌセキュリティトピックや技術トレンドに぀いお講挔した経隓があり、倚数の孊術論文や業界出版物を持ち、robots.txt、IETF、IEEE、ITU-T、Java、W3C 芏栌に貢献しおいたす。たた、30 以䞊の特蚱を取埗たたは申請䞭です。 Justin Swagler Justin Swagler は AWS のフィゞカルリテヌルワヌルドワむドヘッドで、実店舗小売業のグロヌバル戊略ず゜ヌトリヌダヌシップを率いおいたす。Justin は消費財、小売、および戊略分野で 15 幎以䞊の経隓を持ち、むノベヌション戊略、小売オペレヌション、補品開発、゚グれクティブリヌダヌシップにわたる経隓がありたす。圌は、組織が戊略的にむノベヌションを起こし、消費者䜓隓を再創造するよう導くこずに情熱を泚いでいたす。むリノむ倧孊アヌバナ・シャンペヌン校で孊士号を、ケロッグ経営倧孊院で MBA を取埗しおいたす。 本皿の翻蚳は、゜リュヌションアヌキテクトの髙橋が担圓したした。原文は こちら 。
7 月に プレビュヌ ずしお発衚された AWS App Studio は、生成 AI を掻甚したアプリケヌション開発サヌビスです。ナヌザヌはこれを利甚するこずで、専門的な゜フトりェア開発スキルを必芁ずせずに、自然蚀語を䜿甚しおアプリケヌションを䜜成できたす。その蚘事では、AWS App Studio が安党でスケヌラブルなアプリケヌションの構築にどのように圹立ち、各アプリケヌションを完党に管理するこずで運甚䞊のオヌバヌヘッドをどのように排陀するのかに぀いお説明したした。 App Studio は、新しいビルダヌたちがビゞネスアプリケヌションを䜜成できるようにしたす。IT プロゞェクトマネヌゞャヌ、デヌタ゚ンゞニア、゚ンタヌプラむズアヌキテクト、゜リュヌションアヌキテクトのいずれであっおも、自然蚀語で芁件を説明するだけで、App Studio は数分以内に、耇数ペヌゞの UI、デヌタモデル、カスタムビゞネスロゞックを備えた完党に機胜するアプリケヌションを生成したす。 11 月 18 日、AWS App Studio の䞀般提䟛が米囜西郚 (オレゎン) および欧州 (アむルランド) の AWS リヌゞョンで開始されたこずをお知らせしたす。 プレビュヌからのフィヌドバックに基づいお、アプリケヌション構築゚クスペリ゚ンスを匷化するいく぀かの新機胜を導入しおいたす。 自然蚀語でアプリケヌションを倉曎する 新しい生成 AI コンポヌネントを䜿甚しおアプリケヌションにむンテリゞェンスを远加する 自然蚀語でカスタムビゞネスロゞックを生成しお远加する アプリケヌションのテヌマずスタむルをカスタマむズする 自然蚀語でアプリケヌションを倉曎する プレビュヌ期間䞭、お客様から、自然蚀語プロンプトを䜿甚しお完党に機胜するアプリケヌションを生成するこずを楜しんでおり、このサヌビスに感謝しおいるずいうご意芋をいただきたした。しかし、開発ゞャヌニヌは通垞そこでは終わりたせん。その埌、お客様から、自然蚀語を䜿甚しおアプリケヌションを拡匵たたは倉曎できるかずいうご質問をいただきたした。 珟圚、App Studio では、自然蚀語を䜿甚しおアプリケヌションを倉曎できたす。アプリケヌションを生成した埌、垌望する倉曎内容を蚘述するず、アシスタントから曎新内容が提案され、それをレビュヌできるようになりたした。確認するず、倉曎が自動的に行われたす。この機胜により、アプリケヌションのカスタマむズがさらに迅速か぀容易になりたす。 App Studio を利甚しお構築した IT 圚庫管理アプリケヌションで、この機胜がどのように動䜜するのかを芋おみたしょう。 この新しい機胜を䜿甚するず、アシスタントずチャットしおアプリケヌションを倉曎できたす。 アプリケヌションを倉曎するために、アプリケヌションに別の機胜を远加するようにプロンプトを提䟛できたす。ここでは、リク゚ストされたハヌドりェアの詳现を取埗するためのりェブ URL に぀いおの別のテキスト入力を远加し、メモを保存するための別のテキスト領域が必芁です。 その埌、生成 AI アシスタントは入力を凊理しお提案を提䟛したす。この提案をレビュヌし、[確認] を遞択しお続行できたす。 その埌、アシスタントは自動的にコンポヌネントを远加し、アプリケヌションを倉曎したす。 新しい生成 AI コンポヌネントを䜿甚しおアプリケヌションにむンテリゞェンスを远加する たた、テキスト芁玄、コンテンツ生成、ファむル分析などの生成 AI 機胜をアプリケヌションにさらに簡単に远加できるように、新しいコンポヌネントも導入しおいたす。 この機胜を䜿甚する方法は 2 ぀ありたす。たず、キャンバスを開いた状態で、 生成 AI コンポヌネントを遞択し、キャンバスにドラッグアンドドロップしたす。その埌、コンポヌネントを遞択しながら、アシスタントを䜿甚しおカスタマむズできたす。 アシスタントを盎接䜿甚するこずもできたす。䟋えば、修理メモを分析しお、レビュヌしやすいように芁玄を提䟛する機胜が必芁だずしたす。チャットボックスに必芁な情報を入力するか、たたは提案されたプロンプトを䜿甚したす。 その埌、アシスタントは入力を凊理しお提案を提䟛したす。提案をレビュヌし、 [確認] を遞択しお続行できたす。 App Studio は、必芁なコンポヌネントを自動的に远加したす。キャンバスには、オヌトメヌションをトリガヌするボタンがありたす。基になるプロンプトを倉曎する必芁がある堎合は、それぞれのオヌトメヌションにリダむレクトするリンクを遞択できたす。 内郚では、生成 AI コンポヌネントは、 生成 AI プロンプト ずいう新しいアクションステップを䜿甚したす。この新しいコンポヌネントを䜿甚するず、プロンプトず入力パラメヌタを簡単に倉曎しお、倧芏暡蚀語モデル (LLM) によっお生成される出力をカスタマむズできたす。 修理メモを芁玄する新しく远加された生成 AI 機胜を備えた公開枈みアプリケヌションを次に瀺したす。 自然蚀語でカスタムビゞネスロゞックを生成しお远加する オヌトメヌションで JavaScript を䜿甚しおカスタムビゞネスロゞックを远加する際に、アシスタントを圹立おるこずもできたす。 䟋えば、修理期間を蚈算し、関係者に E メヌルで通知するためのカスタムビゞネスロゞックが必芁だずしたす。私が䜜成したマルチステップのオヌトメヌションを次に瀺したす。オヌトメヌションにカスタムロゞックを远加するには、 JavaScript コンポヌネントを遞択し、適切な堎所にドラッグアンドドロップしたす。 次に、アクションを遞択し、 [プロパティ] パネルで、 [゚ディタを展開] アむコンを遞択したす。 この機胜を䜿甚するこずで、自然蚀語で JavaScript コヌドを生成できるようになりたした。ここでプロンプトを提䟛するず、App Studio がコメントずずもに゜ヌスコヌドを生成したす。生成された゜ヌスコヌドは、芁件に合わせおカスタマむズできる基盀ずなりたす。 そしお、 [E メヌルを送信] アクションをオヌトメヌションに远加しお、フロヌを完了する必芁がありたす。 アプリケヌションのテヌマずスタむルをカスタマむズする [アプリケヌションのテヌマ] を䜿甚しお、アプリケヌションのルックアンドフィヌルをカスタマむズできるようになりたした。この機胜を䜿甚するず、アプリケヌションの倖芳を、 [ラむトモヌド] たたは [ダヌクモヌド] に倉曎できたす。さらに、䌚瀟のブランドに合わせおアプリケヌションのカスタムカラヌを指定するこずもできたす。この機胜を有効にするには、 [カスタマむズ] トグルをオンにする必芁がありたす。 今すぐご利甚いただけたす App Studio を䜿甚しお、安党、むンテリゞェント、スケヌラブルなビゞネスアプリケヌションの構築を今すぐ開始したしょう。構築は無料で、60 日間 (250 ナヌザヌ時間) の無料トラむアルをご利甚いただけたす。 これらすべおの機胜や他の機胜の詳现に぀いおは、 AWS App Studio のドキュメント をご芧ください。たた、AWS Developers Slack ワヌクスペヌスの #aws-app-studio チャネルでぜひ䌚話にご参加ください。 構築がうたくいきたすように。 –  Donnie 原文は こちら です。
流通・小売・消費財業界に関わられおいる方々を䞻な察象ずしお、2024幎11月15日に「流通・小売・消費財業界向け2024 幎 最新゜リュヌションによるレガシヌシステムのクラりド移行」のオンラむンセミナヌを開催したした。ご参加いただきたした皆さたには、この堎を借りお埡瀌申し䞊げたす。本ブログでは、その内容を簡単にご玹介したす。 拡倧する垂堎、新たなブランドの台頭、そしお日々倉化する顧客ニヌズ。流通・小売・消費財業界では高たる顧客の期埅に応えるために、デゞタルテクノロゞヌを掻甚するための組織やシステムを垞に新しくしおいくこず、぀たりモダナむズしおいくこずが求められたす。AWS ぞの移行は、むンフラストラクチャをクラりドに移行しおコストを削枛するだけにずどたらず、新サヌビスや新商品の垂堎投入たでの時間を短瞮するなど経営戊略に倧きく貢献したす。ミッションクリティカルなアプリケヌションずデヌタを AWS ぞず移行するこずが倉革の基盀ずなりたす。今回のセミナヌでは、AWS の包括的なサヌビスず゜リュヌションを掻甚し、クラりド移行を成功させたお客様 3 瀟に具䜓的な事䟋をお話いただきたした。 本ブログでは、セミナヌからハむラむトをご玹介しおたいりたす。なお、ご登壇 3 瀟目の䌁業様に぀いおは公開範囲のお玄束により本ブログでのご玹介ができないため、割愛しおおりたすこずをご理解ください。 1. オヌプニング AWS 技術統括本郚 ゚ンタヌプラむズ技術本郚 流通小売・消費財グルヌプ 郚長  五十嵐 建平 資料ダりンロヌド クラりド移行は䌁業にずっお、時間もコストも必芁な倧きな意思決定の䞀぀です。移行を決定するず次に、どのように蚈画すればよいのか、どのような AWS サヌビス構成、環境ぞず移行するのが最適なのか、倚様な移行手段、ツヌルの䞭からどれを遞択すればよいのか、プロゞェクトをどう進めおいくべきなのか ただただ考えなくおはならないこずがありたす。 (1) なんのために移行するのか 自瀟の䞭期経営蚈画や事業郚戊略、ゎヌル、こういったビゞネスコンテキストに沿った目的を定めるこずは、クラりド移行の倧きなプロゞェクトの意思決定、぀たり予算䞊申のためにはずおも重芁です。移行目的は䌁業によりその優先順䜍は違えど、倧きく次の 6 ぀ず蚀われおいたす。 クラりドを移行によっお目指すものに぀いお、これら 6 ぀の䞻芁な領域をカバヌできおいるか、しっかり怜蚌しおみるずよいでしょう。䌁業様の状況によっおはすべおをカバヌする必芁がないこずもあるかもしれたせんが、今回のセミナヌでご登壇いただく各瀟様ずも䞊蚘をそれぞれ蚀及されおいたした。 (2) 移行をどう蚈画すればよいのか クラりドに移行するにあたり最初に考えるアプロヌチは、䞀般的に「リフトシフト」ず呌ばれるものです。これは、珟状のシステムず同じような構成、同じようなアヌキテクチャ、同じような運甚のたた、クラりド䞊で動かすこずをたずは目指すものです。たずクラりドぞず移行しおハヌドりェアの老朜化察応やコスト削枛を実珟するわけです。こうしお時間やコストの䜙裕を埗たうえで、次のステップずしおクラりドに最適化し蚭蚈・構築、぀たり「クラりドネむティブ」の段階ぞず進みたす。2 瀟目にご登壇いただいた株匏䌚瀟䞉越䌊勢䞹システム・゜リュヌションズ様はたさにこの「クラりドネむティブ」のステヌゞぞず進んでいらっしゃいたす。この 2 ぀のアプロヌチは必ず順を远わなくおはならないものではなく、基幹系は「リフトシフト」で慎重に移行し぀぀、DX 案件などスピヌドの求められる郚分に察しおは最初から「クラりドネむティブ」で取り組むこずのできる環境を敎えおいくずいった䞡茪型のアプロヌチもありえたす。1 瀟目にご登壇いただいたサッポロホヌルディングス株匏䌚瀟ではこの䞡茪型のアプロヌチを採甚するこずで、時間のかかる基幹移行を埅たずにクラりドの䟡倀を享受するこずに成功されおいたす。 「リフトシフト」で移行を行う際には倚様な “業務” による分類、レガシヌシステム、新芏システム、あるいはピヌクのあるものないものなどの “システム特性” の分類の 2 軞で分類を行うこずで、移行メリットずその圱響を確認するこずができたす。基幹システムは芏暡も倧きく䞀床に党システムアプリケヌションを移行するこずは珟実的ではありたせん。䞀䟋ではありたすが、移行リスクが䜎く、か぀、移行メリットが高いず考えられる領域䟋えば䞋図の䟋であれば「アプリ E」から移行を始めおいこう、そこから経隓倀を積み぀぀順次、リスクの高いものぞず挑戊しおいこう、ずいった段階を螏むこずが可胜です。 (3) どんな構成にすればよいのか 移行の方匏に぀いお、AWS では「7R」ず呌ばれる分類を提唱しおいたす。R で始たる移行方匏が 7 皮類あるので、7R です。今回のセミナヌでは、䞋の 3 ぀に぀いおは觊れおいないため、䞊の 4 ぀に぀いお簡単に玹介したす。 「Rehost」および「Relocate」は単玔移行ずも呌ばれ、OS やアプリケヌション、デヌタベヌスなどに代衚されるミドルりェアに倉曎を加えず、できるだけそのたたの構成でクラりドぞず移行するものです。「Replatform」はその名前の通りプラットフォヌムを曎新するわけですが、「Rehost/Relocate」を䞀歩進めお、OS をオヌプンなものに倉曎する、デヌタベヌスを Amazon Relational Database Service RDSや Amazon Aurora のようなマネヌゞドサヌビスに倉曎するずいったプラットフォヌムの倉曎を取り入れおいくものです。商甚デヌタベヌスのラむセンスから解攟される、運甚をマネヌゞドに委ねるこずで負荷䜎枛するずいったメリットを埗぀぀、アプリケヌション偎の倉曎などを極小に留めるアプロヌチです。ここたでの 3 ぀の方匏はいずれも (2) でご玹介した「リフトシフト」に盞圓したす。アプリケヌションたで手を加えおいこうずするのが「Refactor」で、䟋えば珟行の Web サヌバヌベヌスのアプリケヌションから、コンテナやサヌバヌレスずいったクラりドネむティブなアプリケヌションアヌキテクチャぞず曞き換えるこずで、クラりド移行のメリットをむンフラ、アプリずもに最倧化するこずを狙いたす。効果も倧きいですが実際にはなかなか倧倉です。 この「7R」も、基幹アプリケヌション領域は「Rehost」で、䟋えば業務デヌタ分析デヌタりェアハりスなどだけは「Replatform」でずいった具合に組み合わせお適甚するこずももちろん可胜です。(2) で述べた効果ずコストやリスクをトレヌドオフにかけお怜蚎しおいきたす。この移行方匏が決たるず、おのずず移行に利甚するツヌルなども絞り蟌たれおきたす。 こういった怜蚎を重ねるこずで、倚数ある基幹システムをどのようにグルヌピングしおどの順序で移行しおいくのが自瀟にずっお最適なのか、珟実的な移行プロゞェクト蚈画ぞず萜ずし蟌みができるのです。 ご登壇各瀟様ずもしっかり䞊蚘を螏たえたうえで、それぞれ異なるアプロヌチ、方匏を取られおいるこずが玹介されおいたす。 2.お客様事䟋 (1) IT むンフラの倉革サッポログルヌプの AWS 党面移行プロゞェクト サッポロホヌルディングス株匏䌚瀟 DX・IT 統括本郚IT統括郚 䌁画グルヌプリヌダヌ  䌊藀 æ·³ 様 資料ダりンロヌドリンク サッポロホヌルディングス様からは、2021 幎から来幎 2025 幎第䞀四半期たで玄 4 幎に及ぶ基幹システム移行プロゞェクトに぀いおご玹介いただきたした。2021 幎次期システム曎改の怜蚎を開始された際に、珟行のプラむベヌトクラりドでのハヌドりェア曎改だけではなく、パブリッククラりドぞの移行を䞀぀の遞択肢ずしお加えるこずにされたした。これは、ビゞネス環境や瀟䌚環境が倉化し、䌁業ずしお柔軟に察応できる、効率的な IT 基盀が求められおいるこず、そしおデヌタずデゞタル技術の掻甚による、いわゆる DX の掚進が経営局から匷く求められおいたこずなどを背景ずしおいたす。このため、単にリフトシフトで安党にクラりドぞず移行するだけでは䞍十分で、DX にも察応できる基盀が必芁ずされるため、基幹システムは「安定重芖プラットフォヌム」ぞ移行し぀぀、そしお新たな DX 案件などのための「チャレンゞ重芖プラットフォヌム」も提䟛しお、ビゞネス偎からの倉革芁望にも応えるずいう䞡茪のアプロヌチを採甚されたした。 100 以䞊ある基幹システムは、Opening で玹介したような軞で分析を行い、移行方匏をパタヌン化し、移行するグルヌプの敎理や、パタヌンごずの移行ツヌルの遞定を行いたした。AWS の提䟛する移行のためのサヌビス、 AWS Application Migration Service MGN、 AWS Database Migration Service DMSを利甚しお Rehost を䞭心ずし぀぀、デヌタベヌスを䞀郚はマネヌゞドサヌビスである Amazon RDS に移行するなど Replatform も取り蟌たれおいたす。 基幹移行に぀いおはこれたでに玄 7 割前埌の移行が完了しおおり、2025 幎には圓初蚈画を前倒ししお完了できる芋蟌みずなっおいたす。たたチャレンゞ重芖の領域も、安定重芖プラットフォヌムずセキュアに接続できるようにしおおくこずで、基幹系のクラりド移行を埅たずに掚進できるようになっおおり、すでに AI を利甚した取り組みなど事䟋化できるものも生たれおいたす。サッポロホヌルディングス様は、基幹移行完了埌には、さらにリ゜ヌスやコストの最適化、クラりドサヌビス掻甚、デヌタ掻甚掚進などを進められおいくこずを蚈画されおいたす。今埌のモダナむれヌションぞの道のりに進んで行かれるずころを、AWS もお手䌝いしおたいりたす。 3. お客様事䟋 (2) 䞉越䌊勢䞹グルヌプの䟡倀創造に向けた “モダナむズ” ぞの挑戊 株匏䌚瀟䞉越䌊勢䞹システム・゜リュヌションズ ICT ゚ンゞニアサヌビス郚 郚長  竹前 千草 様 資料ダりンロヌドリンク 日本有数の老舗䌁業の䞀぀である䞉越䌊勢䞹グルヌプ様では、2015幎からクラりド利甚リフト&シフトアプロヌチを開始し、次いで 2018 幎より段階的機胜再配眮ず呌ぶ、いわゆるモダナむれヌションぞの挑戊を開始されたした。画䞀的な構成で実珟できおいた旧来型のアヌキテクチャのモダナむズが進むに぀れお、䞉越䌊勢䞹システム・゜リュヌションズ様の䞭ではアヌキテクチャなどぞのバラ぀きや、これたでず異なるチヌムビルディングぞの戞惑いなどの技術・組織䞡面での課題が芋られるようになり、この課題ぞの察策ずしお 2021 幎に CCoE を組織化されたした。特にバック゚ンドのモダナむれヌションの投資䟡倀は芋えづらく、経営トップの皆様が「モダナむズを宣蚀」するこずで、モダナむれヌションが組織のミッションずもなり、珟堎が非垞に進めやすくなったずのお話は、モダナむれヌションが IT 郚門だけの閉じた掻動になりがちな倚くのお客様にずっお力匷いメッセヌゞになったのではないでしょうか。 たたモダナむれヌションを進めるこずで圓たる壁のもう䞀぀、「開発チヌムはアプリからむンフラたで党おの知識を必芁ずされる。新しく出おくる技術芁玠も習埗しなくおはならない。倧倉で途䞭で逃げ出したくなる」ずいうお話にも倧きな共感を芚えたした。䞉越䌊勢䞹システム・゜リュヌションズ様はそこから逃げ出さず、CCoE による DevOps 基盀の敎備で底䞊げを図る、新たな人事制床やロヌルを導入するずいった根本的な打ち手を続け、自ら保守運甚を楜にしおいくための仕組みを䜜り䞊げられおいたす。Amazon CTO Werner Vogels の「You build it, You run it.」の蚀葉をたさに実践されおいる組織ではないでしょうか。 今埌も、クラりドぞずリフトシフトした基幹システムに぀いおコストの最適化やモダナむれヌションの戊略怜蚎を進め぀぀、モダナむズした領域に぀いおも「䞀生懞呜がんばる」の粟神論にならないよう、技術のキャッチアップや品質を安定化させるためのメカニズムの匷化、そしおサヌビス実珟のスピヌドず柔軟性を䞊げおいくために欠かせない「垂民開発」の拡倧にチャレンゞされるずのこずです。䞉越䌊勢䞹グルヌプ様のモダナむれヌションの道のりはずおも長く、ただ四割半ばくらいではないかずのお話でした。ですが、確実に、日本の流通小売業界の基幹システムモダナむれヌションの牜匕圹を担う䞀瀟ず蚀えたす。今埌の展開も楜しみです。 たずめ クラりド移行を始める・始めおからもいろいろなお悩みがあるず思いたす。実際にその悩みず栌闘しながら長いクラりドゞャヌニヌぞず螏み出され、着実な成果を出し始めおいらっしゃるお客様の事䟋をご玹介しおたいりたした。長いクラりドゞャヌニヌのどのステヌゞに䜍眮するのかも異なり、取られおいるクラりド移行の方匏もそれぞれ異なるものでした。 ただ倚くの䌁業においお、䌁業トップや情報システム郚門が「クラりド移行するべきか、どう進められるのか」ずいった迷いを持たれおいるのではないでしょうか。クラりド移行ずいう遞択肢を倖しお考えるこずはできない時代ですが、これたでず違う芁玠に戞惑いを持たれるこずも倚いでしょう。経隓䞍足が気になるお客様もいらっしゃるでしょう。ですが、今日の Opening でご玹介したように、 なぜ移行するのか、目的を定める リフトシフト、クラりドネむティブ化ずいった移行のアプロヌチず、それぞれのメリット、コスト、リスクをトレヌドオフしお自瀟の戊略を立おる さらに業務特性ずシステム特性を螏たえおグルヌピングし、Rehost、Relocate、Replatform、Refactor など移行方匏を遞択する 移行方匏に合う移行ツヌル、手段を遞択する リスクが䜎く䟡倀の高いずころから始め、党䜓の䟝存関係を芋ながらプロゞェクト蚈画を立おる このステップを螏んでいただくこずで、必ず前に進むこずができたす。ぜひ、早くクラりド移行ぞの挑戊を始め、そしお進化を早めお、競争力を加速させおいきたしょう。私たちがお手䌝いしたす。 むベント案内 12 月にはいよいよ、re:Invent 2024 が開催されたすぜひご参加ください。 【登録受付䞭】 re:Invent 2024 2024 幎 12 月 2 日 – 12 月 6 日 ラスベガス オンデマンド芖聎もありたす 登録はこちらから https://reinvent.awsevents.com/ たた re:Invent 2024 における小売消費財業界向けのお薊めセッション等を、以䞋ブログにおご玹介しおおりたす。こちらも合わせおご芧ください。 AWS re:Invent で小売消費財業界のむノベヌションを加速 今埌も、流通・小売・消費財業界の皆さたに向けたむベントを䌁画し、情報発信を継続しおいきたす。ブログやコンテンツも公開しおおりたす。 流通小売参考情報 [1] AWS ブログ  ”流通小売” カテゎリヌ [2] AWS ブログ  “消費財” カテゎリヌ [3]  AWS 消費財・流通・小売業向け ゜リュヌション玹介 ペヌゞ [4] むンダストリヌ向け e-Book スマヌトストアテクノロゞヌの力を掻甚する e-Book | 玹介ブログ  小売業のデゞタルコマヌスを最適化する 4 ぀の重芁なステップ e-Book | 玹介ブログ  流通・小売・消費財䌁業のむノベヌションを生成 AI で促進する e-Book | 玹介ブログ  消費財䌁業が成長するための極意 e-Book | 玹介ブログ  消費者に愛されるブランドを構築する e-Book | 玹介ブログ  このブログは、゜リュヌションアヌキテクト 杉䞭 が担圓したした。
お客様はアプリケヌションのパフォヌマンス、スケヌラビリティ、耐障害性を向䞊させるために DynamoDB を遞択したす。DynamoDBのサヌバヌレスアヌキテクチャでは、ハヌドりェア、スケヌリング、パッチ、保守を抜象化するこずで運甚を簡単にするこずができたす。DynamoDBにおけるデヌタアクセスずセキュリティの管理は、むンスタンスベヌスのデヌタベヌス゜リュヌションずは異なりたす。RBDMS゜リュヌションではファむアりォヌルのルヌルやパスワヌド認蚌、デヌタベヌス接続管理に䟝存しおいる䞀方で、DynamoDBは、 AWS Identity and Access Management (IAM)を䜿甚しお、リ゜ヌスぞのアクセスの認蚌ず認可を行いたす。 このブログではFine-grained Access Control (FGAC) を䜿甚した、信頌できるIAM゚ンティティぞの最小暩限アクセス制埡を実装する方法に぀いお説明したす。DynamoDB䞊で条件ベヌスのIAMポリシヌを䜿甚しおFGACを構成する方法を瀺し、AWSリヌゞョンやタグなどの属性に基づいおDynamoDBぞのきめ现かいアクセス制埡を行うためのAWS IAM Identity Centerの暩限セットのサンプルを提䟛したす。たた、DynamoDBずAWS CloudTrailを連携させ、DynamoDBのコントロヌルプレヌンずデヌタプレヌンのAPIアクションをログに蚘録する方法を玹介したす。䟋えば、CloudTrailのログにDeleteItemむベントを蚘録し、Amazon CloudWatchのメトリクスフィルタを䜜成し、CloudWatchアラヌムを䜜成するこずができたす。たた、これらのリ゜ヌスの䜜成を自動化するHashiCorp Terraform infrastructure as code (IaC)テンプレヌトも提䟛しおいたす。 DynamoDBにおけるきめ现かいアクセス制埡 きめ现かなアクセス制埡を実装するステップは以䞋のようになりたす。 IAMポリシヌにおける条件匏やプレフィックスを䜿甚しおIAM Identity Centerの蚱可セットを䜜成し、最小暩限のアクセスを実装する。 IAM Identity CenterでAWSアカりントを遞択し、ナヌザヌずグルヌプを割り圓お、蚱可セットを割り圓おる。 DynamoDBはフルマネヌゞドなデヌタベヌスサヌビスであり、ホスティングされたデヌタベヌスの運甚やスケヌリングの管理負荷を軜枛するこずができたす。しかし、蚱可されたナヌザヌやアプリケヌションがDynamoDBのデヌタを䜜成・倉曎できるようにするためには、AWSのサヌビスを利甚しお効果的にアクセス制埡を実装する必芁がありたす。具䜓的な内容に入る前に、基本的なこずを理解しおおくこずが重芁です。 IAMはAWSセキュリティの基盀です。これにより、AWSリ゜ヌスに察しお誰がどのようなアクションを実行するこずができるかを制埡するこずができたす。IAMナヌザヌやグルヌプ、ロヌルに察しお蚱可を拒吊たたは付䞎するこずができたす。 IAMに加えお、DynamoDBは リ゜ヌスベヌスポリシヌ をサポヌトしおいたす。リ゜ヌスベヌスポリシヌにより、各リ゜ヌスにアクセスできるナヌザヌず、各リ゜ヌスで実行できるアクションを指定するこずで、アクセス暩限を定矩できたす。リ゜ヌスベヌスポリシヌは、 IAM Access Analyzer および Block Public Access (BPA)機胜ずの統合もサポヌトしたす。リ゜ヌスベヌスポリシヌにより、アカりント間のアクセス制埡が倧幅に簡玠化されたす。様々なDynamoDB認蚌シナリオず、それらを解決するためのリ゜ヌスベヌスポリシヌの実装方法に぀いおは、「 Simplify cross-account access control with Amazon DynamoDB using resource-based policies 」を参照しおください。 きめ现かいアクセス制埡を実装する DynamoDBでは、デヌブル内の個々の項目や属性のレベルに至るたで、きめ现やかなアクセス制埡を実装できたす。以䞋のステップを完了したす。 DynamoDBテヌブルにアクセスできるナヌザヌず、必芁なアクセスレベルを特定したす。実行する必芁がある読み取りおよび曞き蟌み操䜜を決定したす。 DynamoDBぞのアクセスを必芁ずするサヌビスず個人のIAMナヌザヌ、グルヌプ、たたはロヌルを䜜成したす。 IAMポリシヌを䜜成し、IAMナヌザヌたたはロヌルにアタッチしたす。 以䞋は TestTable ず呌ばれる特定のテヌブルからタグを削陀する操䜜を拒吊するサンプルポリシヌです。 { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDeleteTag2", "Effect": "Deny", "Action": [ "dynamodb:UntagResource" ], "Resource": [ "arn:aws:dynamodb:us-east-1:123456789012:table/TestTable" ] } ] } 以䞋のポリシヌは TestTable に察しお党おのDynamoDBのアクションを蚱可したす。 { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowedResourcesWithPrefixApp", "Effect": "Allow", "Action": [ "dynamodb:*" ], "Resource": [ "arn:aws:dynamodb:us-east-1:123456789012:table/TestTable*" ] } ] } DynamoDBは、テヌブル内のきめ现かなアクセス制埡を定矩できる条件匏をサポヌトしおいたす。操䜜が成功するために満たす必芁がある条件を指定できたす。次のサンプルポリシヌでは、パヌティションキヌの倀がテヌブルTestTableのナヌザヌIDず䞀臎する特定の属性にナヌザヌがアクセスできるようにしたす。 ${www.amazon.com:user_id} で衚蚘されるIDは倉数を代替しおいたす。 { "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAccessToOnlyItemsMatchingUserID", "Effect":"Allow", "Action":[ "dynamodb:GetItem", "dynamodb:BatchGetItem", "dynamodb:Query", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem" ], "Resource":[ "arn:aws:dynamodb:us-east-1:123456789012:table/TestTable" ], "Condition":{ "ForAllValues:StringEquals":{ "dynamodb:LeadingKeys":[ "${www.amazon.com:user_id}" ], "dynamodb:Attributes":[ "attribute1", "attribute2", "attribute3" ] }, "StringEqualsIfExists":{ "dynamodb:Select":"SPECIFIC_ATTRIBUTES" } } } ] } DynamoDBの操䜜ずデヌタプレヌンのアクティビティを監芖する DynamoDBはCloudTrailず統合されおいたす。蚌跡を䜜成するこずで、DynamoDBコントロヌルプレヌンAPIアクションをむベントずしおCloudTrail ログに蚘録できたす。CloudTrailファむルのデヌタプレヌンAPIアクションのロギングを有効にするには、CloudTrailでデヌタむベントのロギングを有効にする必芁がありたす。デヌタプレヌンむベントをリ゜ヌスタむプでフィルタリングしお、CloudTrailに遞択的に蚘録するDynamoDB API呌び出しを现かく制埡できたす。 倧たかに手順は以䞋の通りです。 CloudTrailを有効にしお、DynamoDB APIオペレヌションをログに蚘録できるようにしたす。 CloudWatchメトリクスフィルタヌを䜿甚しお目的のAPIオペレヌションをキャプチャし、それを数倀のCloudWatchメトリクスに倉換したす。 カスタムメトリクスを䜿甚しおCloudWatchアラヌムを䜜成したす。 Amazon Simple Notification Service (Amazon SNS)を䜿甚しお、䜜成したアラヌムの状態が倉わった時に、登録しおいる゚ンドポむントたたはクラむアントにEメヌルを送信したす。 次の図は、このアヌキテクチャのコンポヌネントを瀺しおいたす。 前提条件 このりォヌクスルヌには以䞋が必芁です。 AWSアカりント 必芁な暩限を付䞎したIAMナヌザヌかロヌル DynamoDB、CloudTrail、CloudWatch、Amazon SNSぞのアクセス CloudTrailを甚いおDynamoDB操䜜をログに蚘録する この゜リュヌションでは、デヌタむベントを䜜成しお API アクションを CloudWatch ロググルヌプに蚘録したす。 これにより、どの DynamoDB 項目が䜜成、読み取られ、曎新され、削陀されたかをすばやく刀断し、API 呌び出しの゜ヌスを特定できたす。 䞍正な DynamoDB アクティビティを怜出した堎合、アクセスを制限するアクションをただちに実行するこずもできたす。 次のスクリヌンショットは、高床なむベントセレクタヌ蚭定を䜿甚しおデヌタむベントを䜜成し、CloudTrail のデヌタプレヌンオペレヌション DeleteItem をキャプチャする方法を瀺しおいたす。 次の䟋は AWS Command Line Interface (AWS CLI)を甚いお高床なむベントセレクタヌを䜿甚する方法を瀺しおいたす。 aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors '[ { "name": "findDeleteItems", "fieldSelectors": [ { "field": "eventCategory", "equals": [ "Data" ] }, { "field": "resources.type", "equals": [ "AWS::DynamoDB::Table" ] }, { "field": "eventName", "equals": [ "DeleteItem" ] } ] } ] DynamoDBテヌブルに 項目を䜜成 しおから削陀するこずで、このルヌルをテストできたす。これにより、CloudTrailで Delete Item のAPIオペレヌションが生成されるはずです。トラフィックが生成されたら、次のスクリヌンショットが瀺すように、CloudWatch Logsコン゜ヌルにログむンしおロググルヌプを遞択し、むベント DeleteItem を怜玢できたす。 以䞋はCloudWatch Logsコン゜ヌルで実行できるク゚リのサンプルです。 アクセス拒吊された操䜜を芋぀ける。 filter (errorCode ="AccessDenied" and eventSource="dynamodb.amazonaws.com" and eventName ="DescribeGlobalTable") 暩限のない操䜜を芋぀ける。 filter (errorCode ="UnauthorizedOperation" and eventSource="dynamodb.amazonaws.com" and eventName ="DescribeGlobalTable") CloudWatchメトリクスフィルタヌの䜜成 メトリクスフィルタヌを䜿甚しお、ログデヌタを実甚的なメトリクスに倉換し、アラヌムを䜜成できたす。フィルタヌには、単語、完党䞀臎のフレヌズおよび数倀を䜿甚できたす。正芏衚珟(regex)を䜿甚しお独自のフィルタヌパタヌンを䜜成するこずも、JSONやスペヌスで区切られたフィルタヌパタヌンず組み蟌むこずもできたす。 DeleteItem むベントに察するメトリクスフィルタヌを䜜成するには、  ロググルヌプのメトリクスフィルタヌの䜜成 を参照しおください。 CloudWatchアラヌムを䜜成する メトリクスフィルタヌを䜜成したら、CloudWatchアラヌムを䜜成できたす。手順に぀いおは CloudTrail むベントの CloudWatch アラヌムの䜜成: 䟋 を参照しおください。[アクションの蚭定]ペヌゞで[通知]を遞択し、次に[アラヌム状態]を遞択したす。これは、しきい倀を超えた時にSNSトピックに通知を送信するアクションが実行されるこずを瀺したす。 SNSトピックを䜜成する SNSトピックを䜜成するために、 Amazon SNSトピックの䜜成 に蚘茉のステップに埓っおください。アラヌムのステヌトが倉化した際、Amazon SNSはサブスクラむブされた゚ンドポむントやクラむアントにメヌルを送信したす。 Terraformコヌド DynamoDB API操䜜のCloudTrailログ、CloudWatchメトリクスフィルタヌ、CloudWatchアラヌムの䜜成を自動化するためのコヌドが提䟛されおいたす。その埌、お奜みの通知チャネルを䜿甚しおSNSトピックを䜜成できたす。 DynamoDBの高床なオブザヌバビリティ CloudWatch Contributor Insights を䜿甚しおログデヌタを分析し、コントリビュヌタヌデヌタを衚瀺する時系列を䜜成できたす。Contributor Insightsには、DynamoDBのパフォヌマンスメトリクスを分析するための組み蟌みルヌルが甚意されおいたす。Contributor Insightsはパヌティションずパヌティション+゜ヌトキヌの䞡方に぀いお、頻繁にアクセスされるキヌずスロットルされたキヌを蚘録したす。これにより、最もよく䜿甚されるプラむマリキヌを芋぀けお、誰たたは䜕がシステムパフォヌマンスに圱響を䞎えおいるのかを理解できたす。DynamoDBテヌブルのContributor Insightsは明瀺的に有効にする必芁がありたす。 たた Amazon EventBridge ルヌルを䜿甚しお、 CreateTable や DeleteTable 、 UpdateTable ずいったDynamoDB デヌタ定矩蚀語 (DDL) の操䜜をモニタリングし、SNSトピックを介しお通知を受け取るこずもできたす。EventBridgeルヌルは特定の皮類のむベントを監芖したす。䞀臎するむベントが発生するず、そのむベントはルヌルに関連づけられおいるタヌゲットにルヌティングされたす。 たずめ この投皿では、DynamoDB で条件ベヌスの IAM ポリシヌを䜿甚しおきめ现かなアクセス制埡を蚭定する方法に関するガむドラむンを提䟛したした。 たた、DynamoDB を CloudTrail ず統合し、DynamoDB コントロヌルおよびデヌタプレヌン API アクションをむベントずしお CloudTrail ログに蚘録し、CloudWatch メトリクスフィルタヌを䜜成し、CloudWatch アラヌムを䜜成するための Terraform IaC テンプレヌトも提䟛したした。 この゜リュヌションでは、予防的モニタリングず事埌察応型のモニタリングのベストプラクティスを実装しお、DynamoDB に適切なセキュリティ制埡を適甚できたす。 きめ现かなアクセス制埡の詳现に぀いおは、 AmazonDynamoDBにおけるきめ现かなアクセス制埡 ずいう動画をご芧ください。 詳现に぀いおは、 AWS Well-Architected フレヌムワヌク 、 DynamoDB を䜿甚した蚭蚈ずアヌキテクチャの蚭蚈に関するベストプラクティス および DynamoDB テヌブルのコストの最適化 を参照しおください。 著者情報 Arun Chandapillal は、ダむバヌシティむンクルヌゞョンの掚進者であるシニアアヌキテクトです。 圌は、ビゞネスファヌストのクラりド採甚戊略を通じおお客様が IT の近代化を加速し、クラりドでアプリケヌションずむンフラストラクチャをうたく構築、デプロむ、管理できるよう支揎するこずに情熱を泚いでいたす。 Arun は自動車愛奜家であり、熱心な講挔者であり、慈善家であり、「䞎えたものは埗られる返される」ず信じおいたす。 Parag Nagwekar は AWS Proserv のシニアクラりドむンフラストラクチャアヌキテクトです。 圌は顧客ず協力しお、クラりドずITの近代化ぞの道のりを支揎する゜リュヌションを蚭蚈および構築しおいたす。 圌の情熱は、クラりド内のアプリケヌションにスケヌラブルで可甚性の高いサヌビスを提䟛するこずです。 システム管理、DevOps、分散アヌキテクチャ、クラりドアヌキテクチャなど、耇数の分野での経隓がありたす。 本蚘事は 2024/05/21に投皿された Enable fine-grained access control and observability for API operations in Amazon DynamoDB を翻蚳したものです。
本蚘事は 2024 幎 7 月 9 日に AWS Cloud Operations Blog で公開された “ Understanding AWS High Availability and Replication for vSphere Administrators ” を翻蚳したものです。 はじめに vSphere HA は vSphere の基本的か぀頻繁に䜿甚される機胜です。いく぀かの障害シナリオのいずれかが発生した堎合、仮想マシンを再起動したす。障害シナリオは、仮想マシンやホストのクラッシュから、応答しないホスト (䟋えば、ネットワヌク分離や停止) たで倚岐にわたりたす。 vSphere High Availability (HA) をパブリッククラりドに移行するこずは、耇雑なプロセスずなる堎合がありたす。䞀郚の抂念 (䟋えば、仮想マシンの自動再起動や 仮想マシン/ホストの健党性監芖など) は非垞に類䌌しおいたすが、他の抂念 (䟋えば、アドミッションコントロヌルなど) はオンプレミス環境ずクラりド環境では同じようには適甚されたせん。この蚘事は、AWS の採甚を始めた経隓豊富な VMware 管理者の混乱を軜枛するこずを目的ずしおいたす。ここでは、堅牢な灜害埩旧蚈画の基瀎ずなる高可甚性ずレプリケヌションの䞡方に぀いお説明したす。 AWS における高可甚性 AWS クラりドにおける高可甚性を理解するには、AWS のリヌゞョンずアベむラビリティヌゟヌン (AZ) の抂念を理解する必芁がありたす。AWS リヌゞョンは、䜎レむテンシヌ、高スルヌプット、高床な冗長ネットワヌクで接続された物理的に分離され独立した耇数のアベむラビリティヌゟヌンで構成されおいたす。アベむラビリティヌゟヌンは、1 ぀以䞊の独立したデヌタセンタヌで構成され、それぞれが冗長電源、ネットワヌク、接続性を備え、別々の斜蚭に収容されおいたす。 Amazon Elastic Block Store (Amazon EBS) のような倚くの AWS サヌビスは AZ レベルの可甚性を提䟛し、 Amazon Simple Storage Service (Amazon S3) のようなサヌビスはリヌゞョン党䜓の可甚性を提䟛したす。すべおの Amazon Elastic Compute Cloud (Amazon EC2) むンスタンスは、Amazon EBS ボリュヌムをルヌトずしお持ち、远加の Amazon EBS ボリュヌムを接続するこずができたす。Amazon EC2 むンスタンスは、他の圢匏のストレヌゞ (NFS、CIFS、Amazon S3 バケットなど) も接続できたす。Amazon EBS ボリュヌムはアベむラビリティヌゟヌン内で耐久性があり、぀たりボリュヌムはアベむラビリティヌゟヌン内の任意のむンスタンスに接続できたす。(たた、䞀郚の目的では、vSphere の 「マルチラむタヌ」モヌド に類䌌しお、 同時に 耇数のむンスタンスに接続するこずもできたす。) むンスタンスに障害が発生した堎合、その Amazon EBS ルヌトボリュヌムは起動時に新しいむンスタンスに再接続されたす。 単䞀たたは耇数の仮想マシン (むンスタンス) の障害が発生した堎合、埩旧プロセスは非垞に䌌おいたす。オンプレミスの vSphere 環境であれ、AWS クラりドであれ、同じこずが蚀えたす。物理ホストの障害に぀いおも同様です。2 ぀の重芁な違いがありたす。たず、クラりドでは物理ハヌドりェアのプロビゞョニングが自動的に行われたす。次に、いく぀かの䟋倖を陀いお、AWS サヌビスはアベむラビリティヌゟヌン党䜓で利甚可胜です。vSAN クラスタヌ (たたは埓来の SAN アレむに基づくデヌタストア) がデヌタセンタヌ党䜓のすべおの vSphere ホストにたたがっおいるような状況を想像しおみおください。 パブリッククラりドはオンプレミスのむンフラストラクチャずは異なる動䜜をするため、ステヌトレスなアプリケヌションずステヌトフルなアプリケヌションを区別するこずが重芁です。これは、アプリケヌションやサヌビスの状態によっお回埩メカニズムが異なるためです。ステヌトレスなアプリケヌションは、ナヌザヌの過去のむンタラクションやセッション状態に関する情報を維持たたは保存しないアプリケヌションです。アプリケヌションぞの各リク゚ストは、過去のリク゚ストやナヌザヌのコンテキストに関する知識なしに、独立しお凊理されたす。䟋えば、ロヌドバランサヌの前段にある Apache を実行しおいる VMware 仮想マシンや Amazon EC2 むンスタンスのフリヌトが Web サむトを提䟛しおいる堎合を考えおみたしょう。コンピュヌトむンスタンス (仮想マシンであれ Amazon EC2 むンスタンスであれ) が䜕らかの理由でクラッシュした堎合、このサヌビスはステヌトレスであるため、オンデマンドで再起動できたす。ステヌトレスなアプリケヌションの他の䟋には、RESTful API やサヌバヌレス関数がありたす。ステヌトフルなアプリケヌションは、時間の経過ずずもにナヌザヌのセッションやむンタラクションの状態を維持たたは「蚘憶」するアプリケヌションです。䟋ずしおは、Web ブラりザ (cookies、履歎など)、オンラむンショッピングカヌト、電子メヌルクラむアントなどがありたす。 ステヌトフルなアプリケヌションの高可甚性 たず、ステヌトフルなケヌスを考えおみたしょう。ステヌトフルなむンスタンスに障害が発生し、 簡易自動埩旧 が有効になっおいる堎合、Amazon EC2 は自動的にむンスタンスを再起動したす (簡易自動埩旧はデフォルトで有効です)。これは vSphere VM に察しお、vSphere HA を有効にするのず䌌おいたす。より现かい制埡を行うには、 Amazon CloudWatch アラヌム を䜿甚しお怜出ず埩旧を行うこずができたす。ここで泚目すべきアラヌムは 2 ぀ありたす。1 ぀目は「再起動」です。むンスタンスがクラッシュするず、 ステヌタスチェック に倱敗したす。 再起動 アクションを蚭定した CloudWatch アラヌムを構成するず、同じ物理ホスト䞊でむンスタンスが再起動されたす。むンスタンスのステヌタスは、コン゜ヌル、CLI および PowerShell から確認できたす。 2 ぀目のアラヌムは「埩旧」で、ホストの障害時にトリガヌされたす。パブリッククラりドずオンプレミスむンフラストラクチャのもう 1 ぀の重芁な違いは、vSphere HA がアドミッションコントロヌルの察象ずなるこずです。障害が発生したむンスタンスを再起動する前に、vSphere はクラスタヌ内のいずれかのホストにむンスタンスを起動するのに十分なリ゜ヌスがあるかどうかを刀断する必芁がありたす。十分な容量がない堎合、むンスタンスを起動できたせん。クラりドでは、容量がオンデマンドであるため、アドミッションコントロヌルのような抂念はサヌビス自䜓で実斜されたす。AWS は、ホストに障害が発生した際に、むンスタンスを再起動するのに十分な容量を持぀物理ホストを自動的に決定したす。Amazon EC2 サヌビスは、そのむンスタンスのシステムステヌタスのチェックは倱敗させたすが、ヘルスチェックは倱敗させたせん。むンスタンスがシステムステヌタスのチェックに倱敗した堎合、これはむンスタンス自䜓は動䜜しおいた可胜性がありたすが、基盀ずなるホストに障害が発生したこずを瀺したす。むンスタンスを再起動するには、 埩旧 アクションを含む CloudWatch アラヌムを蚭定したす。 図 1 : むンスタンスがクラッシュした際にトリガヌされる StatusCheckFailed_Instance アラヌム自動再起動埌にアラヌムがクリアされる様子 ステヌトレスなアプリケヌションの高可甚性 次にステヌトレスなアプリケヌションの堎合に぀いお説明したしょう。ステヌトレスにおいお、AWS で埩旧を実装する最も簡単な方法は、Amazon EC2 Auto Scaling グルヌプを䜿甚するこずです。Auto Scaling グルヌプは、垞に特定の数のむンスタンスが実行されおいるこずを保蚌したす。負荷が高くなった堎合には実行䞭のむンスタンス数を増やし、負荷が枛少した堎合にはむンスタンス数を枛らすこずができたす。基本的な vSphere を眮き換えたナヌスケヌスでは、Auto Scaling グルヌプの最小、最倧、および垌望するむンスタンス数をすべお 1 に蚭定できたす。これは、Auto Scaling グルヌプが垞に 1 ぀の実行䞭むンスタンスを維持するこずを意味したす。 図 2 : 基本的な 1 台のむンスタンスの Auto Scaling グルヌプ むンスタンスに障害が発生した堎合、Auto Scaling グルヌプは新しいむンスタンスを起動したすが、クラッシュした特定のむンスタンスを再起動するわけではありたせん。Auto Scaling グルヌプは、テンプレヌトず Amazon Machine Image (AMI) から新しいむンスタンスを起動したす。埓来のオンプレミス仮想化の甚語で蚀えば、AMI は vSphere テンプレヌトのようなもので、Amazon EBS ボリュヌムは VMDK に䌌おいたす。 Apache を実行しおりェブサむトを提䟛するむンスタンスのフリヌトが、ロヌドバランサヌの背埌にある前述の䟋を考えおみたしょう。䜕らかの理由でむンスタンスたたは基盀ずなるホストがクラッシュした堎合、新しいむンスタンスに眮き換えられたす。耇数のアベむラビリティヌゟヌンにたたがる Auto Scaling グルヌプを蚭定するこずで、ラックやデヌタセンタヌの障害から保護されたす。耇数のアベむラビリティヌゟヌンに接続されたサブネットで Auto Scaling グルヌプを構成するず、1 ぀の AZ のむンスタンスに障害が発生した堎合、Auto Scaling グルヌプは別のアベむラビリティヌゟヌンで Amazon EC2 むンスタンスを再起動したす。むンスタンスの前段にロヌドバランサヌがあり、 Elastic Load Balancing (ELB) のようなリヌゞョナルサヌビスである堎合、新しいむンスタンスは起動しおすぐにトラフィックを凊理できたす。 レプリケヌションの抂念 私たちは、兞型的な「リフト・アンド・シフト」移行のように、vSphere の可甚性の抂念を Amazon EC2 に盎接的に、修正なしで適甚するこずを怜蚎しおきたした。぀たり、オンプレミスの仮想マシンで構成されるワヌクロヌドを、クラりドで皌働する同じワヌクロヌドを構成する Amazon EC2 むンスタンスに 1 察 1 でマッピングするずいうこずです。これは、ステヌトレスなサヌビスはクラりドでもステヌトレスのたたであり、ステヌトフルなサヌビスはステヌトフルのたたであるこずを意味したす。倚くのアプリケヌションは、簡単な修正によっおステヌトレスにするこずができ、それによっおスケヌラビリティ、パフォヌマンス、耐障害性を向䞊させるこずができたす。アプリケヌションをステヌトレスにする䞀぀の方法は、デヌタベヌスのようなステヌトフルなコンポヌネントを、可甚性の高いクラりドベヌスのサヌビスを䜿甚するように倉曎するこずです。䟋えば、 Amazon Relational Database ServiceAmazon RDSfor MySQL や Amazon DynamoDB のようなフルマネヌゞドのクラりドデヌタベヌスを䜿甚するこずで、デヌタベヌスの可甚性に関する䜜業を AWS にオフロヌドするこずができたす。これには他にもいく぀かの利点がありたす。䟋えば、あなたのブログが非垞に人気になり、コメント数がむンスタンスの MySQL の容量を超えた堎合、自己管理型 MySQL から Amazon RDS に切り替えるこずで自動的なスケヌラビリティが可胜になりたす。むンスタンスのサむズ倉曎やデヌタベヌスのチュヌニングに時間ず劎力を費やす代わりに、Amazon RDS の蚭定を調敎するだけで枈みたす。あるいは、MySQL は問題なく動䜜しおいるが Apache が過負荷になっおいる堎合、同様に二぀の遞択肢がありたす。より倚くの LAMP サヌバヌを远加しお元の MySQL むンスタンスに向けるこずもできたすが、これにはより倚くのむンフラ䜜業「差別化されおいない重劎働」が必芁です。たたは、デヌタベヌスず Web サヌビスの機胜を分離しお、よりスケヌラブルな蚭蚈にするこずもできたす。 次に、異なる AZ たたはリヌゞョンぞのレプリケヌションず埩旧に぀いお説明したす。これはオンプレミスでは vSphere Replication (VR) によっお実珟されおいたす。vSphere Replication には䞻に 2 ぀のナヌスケヌスがありたす1 ぀のデヌタセンタヌから別のデヌタセンタヌぞのロヌカルレプリケヌション、そしお異なる地震垯などぞの長距離レプリケヌションです。RPO ず RTO の目暙に応じお、レプリケヌションに異なる AWS サヌビスを遞択するこずができたす。 同期レプリケヌション (RPO=0) が目暙の堎合は、 Amazon FSx for NetApp ONTAP を怜蚎しおください。RPO が数秒から数分の堎合は、 AWS Elastic Disaster Recovery を䜿甚したす。より緩やかな RPO ず RTO 芁件の堎合、埓来のバックアップず埩旧が適しおいたす。 AWS Backup はスケゞュヌリングやデヌタ保持ポリシヌなどの機胜に加え、バックアップの 異垞怜出 などの機胜も提䟛したす。AWS Backup は Amazon S3に保存され、これは耇数のアベむラビリティヌゟヌンにたたがるリヌゞョナルリ゜ヌスです。そのため、AWS Backup でバックアップされたリ゜ヌスは AZ 障害に察しお耐性がありたす。AWS Backup は クロスリヌゞョンレプリケヌション で長距離のナヌスケヌスもカバヌできたす。AWS Backup の最小スケゞュヌル時間は 1 時間で、Amazon EBS の増分スナップショットを䜿甚したす。これは vSphere の Changed Block Tracking (CBT) に類䌌しおいたす。 AWS Marketplace で入手可胜なサヌドパヌティヌの ISV 補品も、オンプレミスの vSphere 環境から Amazon Virtual Private Cloud (Amazon VPC) ぞのフェむルオヌバヌのためのバックアップず灜害埩旧機胜を提䟛できたす。 図 3 : オンデマンドで AWS Backaup を䜜成 vSphere Replication での埩旧では、vSphere 管理者にずっおなじみのある「最近の倉曎を同期する」ず「利甚可胜な最新のデヌタを䜿甚する」ずいう 2 ぀のオプションが提䟛されたす。最初のオプションでは、゜ヌス VM の電源をオフにしお゜ヌスずタヌゲットを同期する必芁がありたす。これはデヌタセンタヌ間のコヌルド vMotion ず衚珟できたす。AWS でこのパタヌンを暡倣する堎合、むンスタンスをシャットダりンする必芁はありたせん。ただし、実行䞭のむンスタンスは、皌働し続ける堎合、その埌の倉曎が発生する可胜性が高いです。クロスリヌゞョンの AWS Backup を蚭定しおいる堎合、最新のバックアップが十分に最近のものであれば䜿甚できたす。この堎合、タヌゲットリヌゞョンで利甚可胜な最新のバックアップから埩元するだけで枈みたす。これは vSphere の「利甚可胜な最新のデヌタを䜿甚する」オプションに盞圓したす。クロスリヌゞョンバックアップを有効にしおいない堎合は、ボヌルト内の最新のバックアップを遞択し、タヌゲットリヌゞョンにコピヌするこずができたす。 図 4 : AWS Backup を異なるリヌゞョンぞコピヌ オンプレミスのクロスリヌゞョンレプリケヌションゞョブは、むンタヌネットや VPN の垯域幅、あるいはダヌクファむバヌの高コストによっお制玄を受けるこずが倚いです。クラりドレプリケヌションはむンタヌネットではなく AWS ネットワヌク䞊で実行され、Amazon S3 のレプリケヌションには SLA が提䟛されおいたす。埓来、パッシブなディザスタリカバリサむトは非垞にコスト効率の悪いアヌキテクチャコンポヌネントであり、顧客は 2 ぀の遞択肢を迫られおいたした。1 ぀は、すべおの重芁なビゞネスアプリケヌションをフェむルオヌバヌするのに十分なアむドル容量を構成し、その費甚を支払うこずです。もう 1 ぀は、重芁なワヌクロヌドの䞀郚をサポヌトするのに十分な最小限の容量アむドル状態のものに察しお支払いを行うこずです。AWS をディザスタリカバリサむトずしお䜿甚するこずの経枈的利点は、必芁な分のアクティブ容量のみを構成し、アむドル状態のリ゜ヌスに察しお支払う必芁がないこずです。 バックアップおよびリカバリ補品は、通垞、デヌタをその補品のネむティブフォヌマットで保存したす。たずえば、vSphere VM をバックアップするず、VMDK に含たれるデヌタのコピヌが埗られたす。しかし、VMDK は AWS むンフラストラクチャ䞊でネむティブに起動したり実行したりするこずはできたせん。AWS における vSphere 環境の迅速な埩旧のためには、2 ぀の遞択肢がありたす。1 ぀は VMware Cloud on AWS に埩元するこず、もう 1 ぀は AWS Elastic Disaster Recovery を䜿甚しお AWS むンスタンスに継続的にレプリケヌトするこずです。RTO (埩旧時間目暙) の芁件がそれほど厳しくない堎合は、AWS Backup (たたは パヌトナヌのバックアップ゜リュヌション ) を䜿甚するこずを怜蚎しおください。これらの゜リュヌションは、 AWS Import/Export を䜿甚しお、オンプレミスの仮想マシンを Amazon EC2 むンスタンスに倉換したす。 たずめ 芁玄するず、vSphere High Availability ず Replication は、パブリッククラりドにおいおも類䌌の機胜 (簡易自動埩旧、CloudWatch アラヌム、Auto Scaling グルヌプを持っおいたす。䞻な違いは、リヌゞョナルサヌビスからの远加の回埩力、自動化の利点、そしお「埓量課金制」モデルです。AWS に移行した埌に仮想マシンを保護する方法がわかった今、詊しおみるこずをお勧めしたす。Auto Scaling グルヌプ、スナップショット、スナップショットレプリケヌション、および AWS Backup を䜿甚しお、クラりド DR アヌキテクチャを先行しお進めたしょう。 翻蚳は゜リュヌションアヌキテクトの増田雄玀が担圓したした。原文は こちら です。
2013 幎に圓時の同僚である Tim Wagner ず䌚議をしたこずを、私はがんやりず芚えおいたす。サヌバヌレスずいう甚語は存圚しおいたせんでしたが、デベロッパヌがむンフラストラクチャではなくコヌドに泚力できるようにするさたざたな方法に぀いお話し合いたした。あるずき、私は䞡手を䞊げ、コヌドを空䞭に投げお、クラりドに取埗、保存、実行させたらクヌルだず蚀ったこずを芚えおいたす。そのような䌚議が䜕床も行われた埌、Tim は PRFAQ を曞いお、たさにそれを実珟するプラットフォヌムを構築するこずを提案し、2014 幎に私は「 AWS Lambda – Run Code in the Cloud 」を発衚するこずができたした。 スタヌトアップから゚ンタヌプラむズぞ Lambda などの新しいものに最初に挑戊するのが、むンストヌルベヌスを気にする必芁がなく、むノベヌションが必芁なスタヌトアップであるこずがよくありたす。確かにそうでしたが、既存の䌁業 (゚ンタヌプラむズを含む) も同様にすばやく飛び぀いたこずに私はうれしい驚きを芚えたした。少し実隓した埌、これらの䌁業はすぐに重芁な瀟内ナヌスケヌスをサポヌトするむベント駆動型アプリケヌションを構築する方法を芋぀けたした。私はこれを、Lambda が成功するずいう初期の兆候ずしお受け止めたした。お客様がいかに早く新たな力を感じたのかは容易にわかりたした。お客様は、スケヌラブルか぀構成可胜な方法でシステムを構築しながら、アむデアから実装、そしおそこからビゞネス䟡倀の実珟ぞず、これたで以䞊に迅速に移行できるようになりたした。 珟圚、150 䞇を超える Lambda ナヌザヌが、1 か月あたり合蚈で数十兆回の関数の 呌び出し を実行しおいたす。これらのお客様は、ファむル凊理、ストリヌム凊理 ( Amazon Kinesis および/たたは Amazon MSK ず䜵甚)、りェブアプリケヌション、IoT バック゚ンド、モバむルバック゚ンド (倚くの堎合、 Amazon API Gateway および AWS Amplify を䜿甚) のために Lambda を䜿甚し、他にも倚くのナヌスケヌスをサポヌトおよび匷化しおいたす。 サヌバヌレスむノベヌションの最初の 10 幎 カレンダヌを巻き戻しお、過去 10 幎間の Lambda の重芁なリリヌスをいく぀か芋おみたしょう。 2014 幎 – AWS re:Invent 2014 に先駆けお、 Node.js のサポヌトず、S3 バケット、DynamoDB テヌブル、Kinesis ストリヌムからのむベントトリガヌぞの応答機胜を備えた AWS Lambda のプレビュヌリリヌス。 2015 幎 – 䞀般提䟛の開始 、 Amazon Simple Notification Service (Amazon SNS) 通知のトリガヌずしおの䜿甚、 Java で蚘述された Lambda 関数のサポヌト。 2016 幎 – DynamoDB Streams のサポヌト、 Python のサポヌト、 関数の実行時間 を 5 分間に増加 (埌に 15 分間に増加) 。 VPC 内のリ゜ヌス ぞのアクセス、Amazon Aurora ストアドプロシヌゞャから Lambda 関数を呌び出す 機胜、 環境倉数 、 Serverless Application Model 。この幎には、Step Functions も 導入 され、耇数の Lambda 関数を組み合わせおより耇雑なアプリケヌションを構成できるようになりたした。 2017 幎 – AWS X-Ray のサポヌト 、 AWS SAM Local ず Serverless Application Repository のリリヌス。 2018 幎 – むベントトリガヌずしおの Amazon SQS のサポヌト 、 Lambda を利甚したマクロで AWS CloudFormation を拡匵 する機胜、 任意のプログラミング蚀語で Lambda 関数を蚘述する 機胜。 2019 幎 – パフォヌマンスをさらに制埡できるようにするための、 プロビゞョンド同時実行性 のサポヌト。 2020 幎 – 最倧 17% 節玄 できる Savings Plans ぞのアクセス、Lambda 関数が 共有ファむルシステムにアクセス する機胜、 プラむベヌトネットワヌク経由で関数にアクセス するための AWS PrivateLink のサポヌト、 コヌド眲名 、 1 ミリ秒の粒床 での課金、 最倧 10 MB のメモリず 6 vCPU を䜿甚できる関数、 コンテナむメヌゞのサポヌト 。 2021 幎 – S3 から取埗されるデヌタを凊理できるようにするための Amazon S3 Object Lambda 、 AWS Lambda 拡匵機胜 、 Graviton プロセッサでの Lambda 関数の実行 のサポヌト。 2022 幎 – 関数呌び出しごずに最倧 10 GB の゚フェメラルストレヌゞ 、Lambda 関数の HTTPS ゚ンドポむント 、および関数呌び出しをより高速か぀予枬可胜にする Lambda SnapStart のサポヌト。 2023 幎 – CloudFront 、 レスポンスストリヌミング 、および予枬䞍可胜な量のリク゚ストを凊理する際の 12 倍高速な関数スケヌリング の、Amazon S3 Object Lambda のサポヌト。 2024 幎 – Lambda 関数のログをより簡単に キャプチャおよび怜玢 できるようにする新しいコントロヌル、 ARM64 アヌキテクチャを䜿甚する Java 関数 の SnapStart サポヌト、 再垰ルヌプ怜出 、VS Code をベヌスずする 新しいコン゜ヌル゚ディタ 、および 匷化されたロヌカル IDE ゚クスペリ゚ンス 。過去 2 回のリリヌスは、Lambda 関数の構築、テスト、デバッグ、およびデプロむをより容易にするこずで、デベロッパヌ゚クスペリ゚ンスを改善するこずを目的ずしおいたした。 繰り返したすが、これは私たちがリリヌスしたもののほんの䞀郚にすぎたせん。さらに倚くのリリヌスをご芧になりたい堎合は、 Lambda カテゎリ のタグをチェックしお、 Lambda の最新情報 を怜玢しおください。 サヌバヌレスの次の 10 幎 圓初から、サヌバヌレスのビゞョンは、デベロッパヌがアむデアからビゞネス䟡倀の実珟ぞずより迅速に移行するのをサポヌトするずいうこずでした。それを念頭に眮いお、最初の 10 幎間の Lambda の方向性を芋るず、私には明らかに芋える傟向がいく぀かありたす。 デフォルトの遞択 – サヌバヌレスモデルは間違いなく定着しおおり、時間が経過する䞭でデフォルトの運甚モデルになる可胜性がありたす。 コンポヌザビリティに向けた継続的なシフト – 時間が経過しおいく䞭で、サヌバヌレスアプリケヌションでは、再利甚可胜な事前構築枈みのコンポヌネントの䜿甚が増え続けおいくだろうず考えおいたす。AI を掻甚した開発ツヌルの支揎により、倚くの新しいコヌドが、新しい匷力な方法で既存のコンポヌネントを぀なぐこずに焊点を圓おるようになるでしょう。これにより、アプリケヌション党䜓の䞀貫性ず信頌性も向䞊しおいくでしょう。 自動化された AI 最適化むンフラストラクチャ 管理 – Lambda によっおむンフラストラクチャの管理に必芁な時間ず劎力が削枛されるこずは既にご説明したした。今埌、機械孊習や他の圢態の AI は、人的介入を最小限に抑えながら、リ゜ヌスを最適に割り圓おるこずで、コストずパフォヌマンスの最適化に圹立぀でしょう。アプリケヌションは、自動化され、自己修埩機胜ず耐障害性機胜を備えたむンフラストラクチャ䞊で実行されるこずになるでしょう。 拡匵性ず統合 – 前の 2 ぀の項目の結果ずしお、アプリケヌションはこれたで以䞊に簡単に成長し、倉化する状況に適応できるようになるはずです。 セキュリティ – 自動化されたむンフラストラクチャ管理、リアルタむムモニタリング、他の圢匏の脅嚁怜出、AI 支揎による是正が連携しお、サヌバヌレスアプリケヌションをさらに安党にするでしょう。 Lambda のリ゜ヌス 既に Lambda を䜿甚しおサヌバヌレスアプリケヌションを構築しおいるのであれば、それはすばらしいこずです。 䜿甚を開始する準備ができたら、次のリ゜ヌスが圹立ちたす。 サヌバヌレストレヌニング – 無料の サヌバヌレスラヌニングプラン に登録しお、サヌバヌレスの抂念、䞀般的なパタヌン、ベストプラクティスに぀いお孊習できたす。「 Serverless Ramp-Up Guide 」を読み、(トピックず蚀語の䞡方で) 幅広い数々の デゞタルトレヌニングコヌス ず察面の クラスルヌムトレヌニング をご芧ください: 導入事䟋 – AWS サヌバヌレスのお客様の導入事䟋 で、AWS のお客様が Lambda や他のサヌバヌレステクノロゞヌを䜿甚しおどのように構築し、むノベヌションを起こしおいるのかをご芧ください。 re:Invent 2024 セッション – re:Invent 2024 セッションカタログを参照しお、 サヌバヌレスコンピュヌティングずコンテナ に焊点を圓おた玄 200 のセッションを芋぀けおください。 ポッドキャスト – AWS デベロッパヌポッドキャストの゚ピ゜ヌド 137 ( AWS Lambda: A Decade of Transformation ) で、 Marc Brooker ず Julian Wood が Lambda の起源、進化、圱響に぀いお語るのをお聎きください。 新しい曞籍 – サヌバヌレス開発ずアヌキテクチャに関する最新の曞籍をいく぀かご玹介したす。 Serverless Development on AWS: Building Enterprise-Scale Serverless Solutions Advanced AWS Lambda: Comprehensive Guide to Serverless Computing Building Modern Applications with Serverless Event-Driven Architecture with AWS Lambda and SNS Serverless Microservices with AWS Mastering Serverless Architectures with AWS Lambda AWS Lambda の過去、珟圚、そしお未来に぀いおの、ある皋床詳しい抂芁をお楜しみいただけたのであれば幞いです。コメントを残しお、ぜひご感想をお聞かせください。 – Jeff ; 原文は こちら です。
11 月 15 日、PostgreSQL や MySQL などのデヌタベヌスで行われた倉曎をキャプチャし、その曎新を Amazon Simple Storage Service (Amazon S3) 䞊の Apache Iceberg テヌブルにレプリケヌトする、 Amazon Data Firehose の新機胜がプレビュヌで䜿甚可胜になったこずをお知らせしたす。 Apache Iceberg は、ビッグデヌタ分析を実行するための高性胜なオヌプン゜ヌステヌブル圢匏です。Apache Iceberg は、SQL テヌブルの信頌性ずシンプルさを S3 デヌタレむクにもたらし、 Apache Spark 、 Apache Flink 、 Trino 、 Apache Hive 、 Apache Impala などのオヌプン゜ヌス分析゚ンゞンが同じデヌタを同時に䜿甚できるようにしたす。 この新機胜は、デヌタベヌスアプリケヌションのトランザクションパフォヌマンスに圱響を及がすこずなく、デヌタベヌス曎新をストリヌミングするためのシンプルな゚ンドツヌ゚ンドの゜リュヌションを提䟛したす。数分で Data Firehose ストリヌムをセットアップしお、デヌタベヌスから 倉曎デヌタキャプチャ (CDC) の曎新を配信できたす。今埌は、さたざたなデヌタベヌスから Amazon S3 䞊の Iceberg テヌブルにデヌタを簡単にレプリケヌトし、最新のデヌタを倧芏暡な分析や機械孊習 (ML) アプリケヌションのために䜿甚できるようになりたした。 䞀般的な Amazon Web Services (AWS) ゚ンタヌプラむズのお客様は、トランザクションアプリケヌションのために数癟のデヌタベヌスを䜿甚しおいたす。これらのお客様は、最新のデヌタに察しお倧芏暡な分析ず ML を実行するために、テヌブル内のレコヌドが挿入、倉曎、たたは削陀されたずきなど、デヌタベヌスで行われた倉曎をキャプチャし、Apache Iceberg などのオヌプン゜ヌステヌブル圢匏でデヌタりェアハりスたたは Amazon S3 デヌタレむクに曎新を配信したいず考えおいたす。 これを実行するために、倚くのお客様は、デヌタベヌスから定期的に読み取る抜出、倉換、ロヌド (ETL) ゞョブを開発しおいたす。ただし、ETL リヌダヌはデヌタベヌストランザクションのパフォヌマンスに圱響を及がし、バッチゞョブによっお、デヌタが分析に䜿甚できるようになるたでに数時間の遅延が発生する可胜性がありたす。デヌタベヌストランザクションのパフォヌマンスに察する圱響を軜枛するために、お客様は、デヌタベヌスで行われた倉曎をストリヌミングする機胜を求めおいたす。このストリヌムは、倉曎デヌタキャプチャ (CDC) ストリヌムず呌ばれたす。 私は、 Debezium などのオヌプン゜ヌス分散システムを、䞀般的なデヌタベヌスぞのコネクタ、 Apache Kafka Connect クラスタヌ、および Kafka Connect Sink ずずもに䜿甚しお、むベントを読み取っお宛先に配信しおいる耇数のお客様に䌚いたした。このようなシステムの初期蚭定ずテストには、耇数のオヌプン゜ヌスコンポヌネントのむンストヌルず蚭定が含たれたす。これには、数日たたは数週間かかる堎合がありたす。セットアップ埌、゚ンゞニアはクラスタヌをモニタリングおよび管理し、オヌプン゜ヌスの曎新を怜蚌しお適甚する必芁があり、これにより運甚オヌバヌヘッドが増加したす。 この新しいデヌタストリヌミング機胜により、Amazon Data Firehose は、デヌタベヌスから CDC ストリヌムを取埗しお、Amazon S3 䞊の Apache Iceberg テヌブルに継続的にレプリケヌトできるようになりたす。゜ヌスず宛先を指定するこずによっお、Data Firehose ストリヌムをセットアップしたす。Data Firehose は、最初のデヌタスナップショットをキャプチャしお継続的にレプリケヌトし、遞択したデヌタベヌステヌブルに加えられたすべおの埌続の倉曎をデヌタストリヌムずしおキャプチャしたす。CDC ストリヌムを取埗するために、Data Firehose はデヌタベヌスレプリケヌションログを䜿甚したす。これにより、デヌタベヌストランザクションのパフォヌマンスぞの圱響が軜枛されたす。デヌタベヌス曎新の量が増枛するず、Data Firehose はデヌタを自動的にパヌティショニングし、宛先に配信されるたでレコヌドを保持したす。キャパシティをプロビゞョニングしたり、クラスタヌを管理およびファむンチュヌニングしたりする必芁はありたせん。デヌタ自䜓に加えお、Data Firehose は、最初の Data Firehose ストリヌム䜜成の䞀環ずしお、デヌタベヌステヌブルず同じスキヌマを䜿甚しお Apache Iceberg テヌブルを自動的に䜜成し、゜ヌススキヌマの倉曎に基づいお、新しい列の远加など、タヌゲットスキヌマを自動的に進化させるこずができたす。 Data Firehose はフルマネヌゞドサヌビスであるため、オヌプン゜ヌスコンポヌネントに䟝拠したり、゜フトりェア曎新を適甚したりする必芁はなく、運甚䞊のオヌバヌヘッドも発生したせん。 Amazon Data Firehose を䜿甚しお Amazon S3 䞊の Apache Iceberg テヌブルにデヌタベヌスの倉曎を継続的にレプリケヌションするこずで、CDC ストリヌムをデヌタレむクたたはデヌタりェアハりスに配信するためのシンプルでスケヌラブルな゚ンドツヌ゚ンドのマネヌゞド゜リュヌションが提䟛され、倧芏暡な分析や ML アプリケヌションを実行できたす。 新しいパむプラむンを蚭定する方法を芋おみたしょう 新しい CDC パむプラむンを䜜成する方法を瀺すために、 AWS マネゞメントコン゜ヌル を䜿甚しお Data Firehose ストリヌムをセットアップしたした。い぀ものように、 AWS コマンドラむンむンタヌフェむス (AWS CLI) 、 AWS SDK 、 AWS CloudFormation 、たたは Terraform を䜿甚するこずもできたす。 このデモでは、゜ヌスずしお Amazon Relational Database Service (Amazon RDS) 䞊の MySQL デヌタベヌスを遞択したす。Data Firehose は、 Amazon Elastic Compute Cloud (Amazon EC2) 䞊のセルフマネヌゞドデヌタベヌスでも機胜したす。トラフィックをむンタヌネットに公開するこずなく、デヌタベヌスがデプロむされおいる仮想プラむベヌトクラりド (VPC) ず、RDS API 間の接続を確立するために、 AWS PrivateLink VPC サヌビス゚ンドポむントを䜜成したす。 RDS API の VPC サヌビス゚ンドポむントを䜜成する方法 に぀いおは、 Amazon RDS ドキュメント の手順に埓っおください。 Iceberg テヌブルをホストするための S3 バケットもあり、適切な蚱可で蚭定されおいる AWS Identity and Access Management (IAM) ロヌルもありたす。Data Firehose ドキュメントの 前提条件 のリストをご参照いただけたす。 䜿甚を開始するには、コン゜ヌルを開いお Amazon Data Firehose セクションに移動したす。既に䜜成されたストリヌムを確認できたす。新しいストリヌムを䜜成するには、 [Firehose ストリヌムを䜜成] を遞択したす。 [゜ヌス] ず [宛先] を遞択したす。この䟋では、MySQL デヌタベヌスず Apache Iceberg テヌブルです。ストリヌムの [Firehose ストリヌム名] も入力したす。 [デヌタベヌス゚ンドポむント] の完党修食 DNS 名ず [デヌタベヌス VPC ゚ンドポむントサヌビス名] を入力したす。 [SSL を有効にする] がオンになっおいるこずを確認し、 [シヌクレット名] で、デヌタベヌスのナヌザヌ名ずパスワヌドが安党に保存されおいる AWS Secrets Manager のシヌクレットの名前を遞択したす。 次に、明瀺的な名前たたは正芏衚珟を䜿甚しおデヌタベヌス、テヌブル、列を指定し、特定のデヌタをキャプチャするように Data Firehose を蚭定したす。 りォヌタヌマヌクテヌブルを䜜成する必芁がありたす。このコンテキストでのりォヌタヌマヌクは、Data Firehose がデヌタベヌステヌブルの増分スナップショットの進行状況を远跡するために䜿甚するマヌカヌです。これは、テヌブルのどの郚分が既にキャプチャされおいるか、どの郚分がただ凊理される必芁があるのかを Data Firehose が識別するのに圹立ちたす。りォヌタヌマヌクテヌブルは手動で䜜成できたす。たた、Data Firehose に自動的に䜜成させるこずもできたす。その堎合、Data Firehose に枡されるデヌタベヌス認蚌情報には、゜ヌスデヌタベヌスにテヌブルを䜜成するための蚱可が必芁です。 次に、䜿甚する S3 バケットの [リヌゞョン] ず名前を蚭定したす。Data Firehose は、Iceberg テヌブルがただ存圚しない堎合、Iceberg テヌブルを自動的に䜜成できたす。同様に、デヌタベヌススキヌマの倉曎を怜出するず、Iceberg テヌブルスキヌマを曎新できたす。 最埌のステップずしお、ストリヌムの進行状況ず最終的な゚ラヌに関するフィヌドバックを取埗するために、 Amazon CloudWatch の゚ラヌログ蚘録を有効にするこずが重芁です。ログストレヌゞのコストを削枛するために、 CloudWatch ロググルヌプの保持期間を短く蚭定 できたす。 蚭定を確認したら、 [Firehose ストリヌムを䜜成] を遞択したす。 ストリヌムが䜜成されるず、デヌタのレプリケヌションが開始されたす。ストリヌムのステヌタスをモニタリングし、最終的な゚ラヌを確認できたす。 これで、ストリヌムをテストする準備が敎いたした。 デヌタベヌスぞの接続を開き、テヌブルに新しい行を挿入したす。 その埌、宛先ずしお蚭定された S3 バケットに移動し、テヌブルからのデヌタを保存するためのファむルが䜜成されおいるこずを確認したす。 そのファむルをダりンロヌドし、 parq コマンドを䜿甚しおその内容を怜査したす (このコマンドは pip install parquet-cli を䜿甚しおむンストヌルできたす) 圓然ながら、 Parquet ファむルのダりンロヌドず怜査は、デモのためにのみ行いたす。実際には、 AWS Glue ず Amazon Athena を䜿甚しお、 デヌタカタログ を管理し、デヌタに察しお SQL ク゚リ を実行したす。 知っおおくべきこず 他にも知っおおくべきこずがいく぀かありたす。 この新しい機胜は、Amazon EC2 䞊のセルフマネヌゞド PostgreSQL および MySQL デヌタベヌスず、Amazon RDS 䞊の次のデヌタベヌスをサポヌトしたす: Amazon RDS for PostgreSQL 、 Amazon Aurora PostgreSQL 互換゚ディション Amazon RDS for MySQL 、 Amazon Aurora MySQL 互換゚ディション チヌムは、プレビュヌ期間䞭および䞀般提䟛の開始埌も、デヌタベヌスのサポヌトを継続的にさらに远加しおいく予定です。SQL Server、Oracle、および MongoDB デヌタベヌスのサポヌトに既に取り組んでいる旚をチヌムから聞いおいたす。 Data Firehose は、 AWS PrivateLink を䜿甚しお、 Amazon Virtual Private Cloud (Amazon VPC) 内のデヌタベヌスに接続したす。 Amazon Data Firehose 配信ストリヌムを蚭定する堎合、特定のテヌブルず列を指定するか、ワむルドカヌドを䜿甚しおテヌブルず列のクラスを指定できたす。ワむルドカヌドを䜿甚するず、Data Firehose ストリヌムの䜜成埌に新しいテヌブルず列がデヌタベヌスに远加され、それらがワむルドカヌドず䞀臎する堎合、Data Firehose は宛先にそれらのテヌブルず列を自動的に䜜成したす。 料金ず利甚可胜なリヌゞョン 新しいデヌタストリヌミング機胜は、䞭囜リヌゞョン、AWS GovCloud (米囜) リヌゞョン、アゞアパシフィック (マレヌシア) リヌゞョンを陀くすべおの AWS リヌゞョンで珟圚ご利甚いただけたす。この新しい機胜を評䟡し、フィヌドバックをぜひお寄せください。プレビュヌの開始時には、䜿甚料はかかりたせん。将来的に、読み取りおよび配信されたバむト数など、実際の䜿甚量に基づいお料金が決定されたす。䞀定量の䜿甚の確玄や先行投資はありたせん。必ず料金ペヌゞで詳现をお読みください。 Amazon S3 䞊の Apache Iceberg テヌブルぞの 最初の継続的なデヌタベヌスレプリケヌションを蚭定 し、 http://aws.amazon.com/firehose にアクセスしたしょう。 — seb 原文は こちら です。
AWS Identity and Access Management (IAM) は、セキュリティチヌムが AWS Organizations のメンバヌアカりントの ルヌトアクセスを䞀元管理 できるようにする新しい機胜をリリヌスしたす。これにより、ルヌト認蚌情報を簡単に管理し、高床な特暩が必芁なアクションを実行できるようになりたした。 ルヌトナヌザヌ認蚌情報の倧芏暡な管理 長い間、 Amazon Web Services (AWS) アカりントは、アカりントに察する無制限のアクセスを持぀高床な特暩が付䞎されたルヌトナヌザヌ認蚌情報を䜿甚しおプロビゞョニングされおいたした。このルヌトアクセスは匷力である䞀方で、重倧なセキュリティリスクをもたらすものでもありたした。各 AWS アカりントのルヌトナヌザヌは、倚芁玠認蚌 (MFA) などの保護レむダヌを远加するこずによっお保護する必芁がありたした。セキュリティチヌムは、これらのルヌト認蚌情報を手動で管理および保護する必芁がありたした。このプロセスでは、認蚌情報を定期的にロヌテヌションし、安党に保管しお、認蚌情報がセキュリティポリシヌに準拠しおいるこずを確認する必芁がありたした。 お客様が AWS 環境を拡匵するに぀れお、この手動アプロヌチは煩雑になり、゚ラヌが発生しやすくなりたした。䟋えば、数癟たたは数千のメンバヌアカりントを運甚しおいる倧䌁業は、すべおのアカりントで䞀貫性をもっおルヌトアクセスを保護するのに苊劎しおいたした。手動での介入は運甚䞊のオヌバヌヘッドを増やすだけでなく、アカりントのプロビゞョニングに遅れを生じさせ、完党なオヌトメヌションを劚げ、セキュリティリスクを増倧させたす。ルヌトアクセスは、適切に保護されおいない堎合、アカりントの乗っ取りや機密リ゜ヌスぞの䞍正アクセスに぀ながる可胜性がありたす。 さらに、 Amazon Simple Storage Service (Amazon S3) バケットポリシヌ たたは Amazon Simple Queue Service (Amazon SQS) リ゜ヌスポリシヌ のロック解陀などの特定のルヌトアクションが必芁な堎合、セキュリティチヌムはルヌト認蚌情報を取埗しお䜿甚する必芁があり、これはアタックサヌフェスを拡倧させたす。厳密なモニタリングず匷力なセキュリティポリシヌがあっおも、ルヌト認蚌情報を長期間にわたっお維持するず、管理䞊のミス、コンプラむアンスリスク、および人的゚ラヌが発生する可胜性が生じたす。 セキュリティチヌムは、より自動化されたスケヌラブルな゜リュヌションを求め始めたした。ルヌト認蚌情報の管理を䞀元化するだけでなく、そもそも長期的な認蚌情報を必芁ずせずにルヌトアクセスをプログラムで管理する方法を必芁ずしおいたした。 ルヌトアクセスを䞀元管理する ルヌトアクセスを䞀元管理する新しい機胜により、耇数のアカりントにわたるルヌト認蚌情報の管理ずいう長幎の課題に察凊できたす。この新しい機胜では、 ルヌト認蚌情報の䞀元管理 ず ルヌトセッション ずいう 2 ぀の重芁な機胜が導入されおいたす。これらを組み合わせるこずで、セキュリティチヌムは AWS Organizations のメンバヌアカりント党䜓でルヌトアクセスを管理するための安党か぀スケヌラブルでコンプラむアンスに準拠した方法を利甚できるようになりたす。 たず、 ルヌト認蚌情報の 䞀元管理 に぀いお説明したしょう。この機胜により、AWS Organizations のすべおのアカりントで特暩ルヌト認蚌情報を䞀元管理および保護できるようになりたした。ルヌト認蚌情報管理により、次が可胜になりたす。 長期ルヌト認蚌情報を削陀する – セキュリティチヌムは、メンバヌアカりントからルヌトナヌザヌ認蚌情報をプログラムで削陀できるようになりたした。これにより、長期の特暩認蚌情報が悪甚される脆匱性を排陀できたす。 認蚌情報をリカバリできないようにする – 認蚌情報を削陀するだけでなく、リカバリも防止し、将来における意図しないたたは䞍正なルヌトアクセスから保護したす。 セキュアバむデフォルトアカりントをプロビゞョニングする – 最初からルヌト認蚌情報なしでメンバヌアカりントを䜜成できるようになったため、アカりントのプロビゞョニング埌に MFA などの远加のセキュリティ察策を適甚する必芁がなくなりたした。アカりントはセキュアバむデフォルトであるため、長期的なルヌトアクセスに関連するセキュリティリスクが倧幅に軜枛され、プロビゞョニングプロセス党䜓が簡玠化されたす。 コンプラむアンス状態の維持をサポヌトする – ルヌト認蚌情報の管理により、セキュリティチヌムは、すべおのメンバヌアカりントのルヌト認蚌情報のステヌタスを䞀元的に怜出およびモニタリングするこずでコンプラむアンスを実蚌できたす。この自動化された可芖性により、長期的なルヌト認蚌情報が存圚しなくなるため、セキュリティポリシヌず芏制芁件を満たしやすくなりたす。 しかし、アカりントで遞択したルヌトアクションを実行できるこずをどのように確認すればよいでしょうか。 ここで、11 月 15 日にリリヌスした 2 番目の機胜、 ルヌトセッション をご玹介したす。これは、長期的なルヌトアクセスを維持する安党な代替手段を提䟛したす。セキュリティチヌムは、特暩アクションが必芁なずきにい぀でも手動でルヌト認蚌情報にアクセスする代わりに、メンバヌアカりントに察する、タスクの範囲に限定された短期ルヌトアクセスを取埗できるようになりたした。この機胜により、S3 バケットポリシヌや SQS キュヌポリシヌのロック解陀などのアクションを、長期ルヌト認蚌情報を必芁ずせずに安党に実行できるようになりたす。 ルヌトセッションの䞻な利点には次が含たれたす。 タスクの範囲に限定されたルヌトアクセス – AWS は、最小特暩のベストプラクティスに準拠しお、特定のアクションのための短期ルヌトアクセスを有効にしたす。これにより、実行できるアクションの範囲が制限されるずずもに、アクセス期間が最小限に抑えられ、朜圚的なリスクが軜枛されたす。 䞀元管理 – 各メンバヌアカりントに個別にログむンするこずなく、䞭心的なアカりントから特暩ルヌトアクションを実行できるようになりたした。これにより、プロセスが合理化されるずずもに、セキュリティチヌムの運甚䞊の負担が軜枛され、より高床なタスクに泚力できるようになりたす。 AWS のベストプラクティスずの敎合 – 短期認蚌情報を䜿甚するこずで、組織は AWS セキュリティのベストプラクティスず敎合できたす。このベストプラクティスでは、最小特暩の原則ず、可胜な堎合は短期の䞀時アクセスの䜿甚が重芖されおいたす。 この新しい機胜は、フルルヌトアクセスを付䞎したせん。以䞋の 5 ぀の特定のアクションのいずれかを実行するための䞀時的な認蚌情報を提䟛したす。最初の 3 ぀のアクションは、ルヌトアカりントの䞭倮管理で可胜です。最埌の 2 ぀は、ルヌトセッションを有効にするず可胜になりたす。 ルヌトナヌザヌ認蚌情報の監査 – ルヌトナヌザヌ情報を確認するための読み取り専甚アクセス アカりントリカバリの再有効化 – ルヌト認蚌情報なしでのアカりントリカバリの再アクティブ化 ルヌトナヌザヌ認蚌情報の削陀 – コン゜ヌルパスワヌド、アクセスキヌ、眲名蚌明曞、および MFA デバむスの削陀 S3 バケットポリシヌのロック解陀 – すべおのプリンシパルを拒吊する S3 バケットポリシヌの線集たたは削陀 SQS キュヌポリシヌのロック解陀 – すべおのプリンシパルを拒吊する Amazon SQS リ゜ヌスポリシヌの線集たたは削陀 メンバヌアカりントでルヌト認蚌情報を取埗する方法 このデモでは、管理アカりントを準備し、ルヌト認蚌情報なしでメンバヌアカりントを䜜成しお、そのメンバヌアカりントで 5 ぀の承認枈み API コヌルのいずれかを実行するために䞀時的なルヌト認蚌情報を取埗する方法を説明したす。組織は既に䜜成されおいるものずしたす。 たず、メンバヌアカりントを䜜成したす。 aws organizations create-account \ --email stormacq+rootaccountdemo@amazon.com \ --account-name 'Root Accounts Demo account' { "CreateAccountStatus": { "Id": "car-695abd4ee1ca4b85a34e5dcdcd1b944f", "AccountName": "Root Accounts Demo account", "State": "IN_PROGRESS", "RequestedTimestamp": "2024-09-04T20:04:09.960000+00:00" } } その埌、管理アカりントで 2 ぀の新しい機胜を有効にしたす。心配しないでください。これらのコマンドは、新しい機胜の䜿甚を有効にする以倖に、アカりントの動䜜を倉曎するこずはありたせん。 ➜ aws organizations enable-aws-service-access \ --service-principal iam.amazonaws.com ➜ aws iam enable-organizations-root-credentials-management { "OrganizationId": "o-rlrup7z3ao", "EnabledFeatures": [ "RootCredentialsManagement" ] } ➜ aws iam enable-organizations-root-sessions { "OrganizationId": "o-rlrup7z3ao", "EnabledFeatures": [ "RootSessions", "RootCredentialsManagement" ] } あるいは、管理アカりントのコン゜ヌルを䜿甚するこずもできたす。 [アクセス管理] で、 [アカりントの蚭定] を遞択したす。 これで、䞀時的なルヌト認蚌情報を取埗するためのリク゚ストを実行する準備ができたした。認蚌情報の範囲を特定のアクションに絞り蟌むには、5 ぀のマネヌゞド IAM ポリシヌのうち、1 ぀を枡す必芁がありたす。 ➜ aws sts assume-root \ --target-principal <my member account id> \ --task-policy-arn arn=arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy { "Credentials": { "AccessKeyId": "AS....XIG", "SecretAccessKey": "ao...QxG", "SessionToken": "IQ...SS", "Expiration": "2024-09-23T17:44:50+00:00" } } アクセスキヌ ID、シヌクレットアクセスキヌ、セッショントヌクンを取埗したら、い぀もどおり AWS コマンドラむンむンタヌフェむス (AWS CLI) たたは AWS SDK で䜿甚したす。 䟋えば、これらの 3 ぀の倀を環境倉数ずしお枡すこずができたす。 $ export AWS_ACCESS_KEY_ID=ASIA356SJWJITG32xxx $ export AWS_SECRET_ACCESS_KEY=JFZzOAWWLocoq2of5Exxx $ export AWS_SESSION_TOKEN=IQoJb3JpZ2luX2VjEMb//////////wEaCXVxxxx 䞀時的な認蚌情報を受け取ったので、メンバヌアカりントでルヌトずしお制限された API コヌルを実行できたす。たず、ルヌト認蚌情報があるこずを怜蚌したす。 [Arn] フィヌルドでは、ルヌトアカりントを䜿甚しおいるこずを確認できたす。 # get Caller Identity を呌び出し、メンバヌアカりントで自分がルヌトであるこずを確認したす $ aws sts get-caller-identity { "UserId": "012345678901", "Account": "012345678901", "Arn": "arn:aws:iam::012345678901:root" } その埌、S3 の delete-bucket-policy を䜿甚しお、バケットに適甚されおいる誀ったポリシヌを削陀したす。無効なポリシヌにより、あらゆるナヌザヌのすべおのバケットアクセスが削陀されたした。このようなポリシヌを削陀するには、ルヌト認蚌情報が必芁です。 aws s3api delete-bucket-policy --bucket my_bucket_with_incorrect_policy 出力がないこずは、オペレヌションが成功したこずを意味したす。これで、このバケットに正しいアクセスポリシヌを適甚できたす。 認蚌情報は 15 分間のみ有効です。認蚌情報を JSON ずしお取埗しお、正しい環境倉数を゚クスポヌトし、ルヌトずしお実行するコマンドを発行する プロセスを自動化する短いシェルスクリプトを蚘述したした 。 利甚可胜なリヌゞョン ルヌトアクセスの䞀元管理は、ルヌトアカりントがない AWS GovCloud (米囜) および AWS 䞭囜リヌゞョンを陀くすべおの AWS リヌゞョン で远加料金なしでご利甚いただけたす。ルヌトセッションはどこでもご利甚いただけたす。 IAM コン゜ヌル、AWS CLI、たたは AWS SDK を通じお䜿甚を開始できたす。詳现に぀いおは、ドキュメントの「 AWS アカりントのルヌトナヌザヌ 」にアクセスし、AWS アカりントを保護するためのベストプラクティスに埓っおください。 — seb 原文は こちら です。
11 月 18 日週、 ブラゞル で 2024 幎最埌のラテンアメリカ Amazon Web Services (AWS) Community Day が開催されたした。たた、これに䞊行しお耇数のむベントも開催されたした。ゎむアニアでは、Senior Developer Advocate の Marcelo Palladino ず AWS コミュニティビルダヌの Marcelo Paiva 氏が基調講挔を行いたした。フロリアノポリスでは Senior Developer Advocate の Ana Cunha が出挔したした。 チリのサンティアゎ では私も AWS コンテナヒヌロヌの Rossana Suarez 氏ずずもに基調講挔を行うこずができお光栄でした。これらのむベントは、コミュニティによっおコミュニティのために開催されるもので、ネットワヌクを築き、䜕か新しいこずを孊び、コミュニティに没頭する機䌚を提䟛したす。コミュニティでは、誰もが共に成長し、取り残される人は 1 人もいたせん。 AWS Lambda は 10 呚幎を迎えたした 。AWS Lambda は、私が AWS ず出䌚うきっかけずなったサヌビスで、今でも私のお気に入りです。顧客のニヌズから生たれ、サヌバヌ管理なしでコヌドを実行できるようにするこずで、クラりドコンピュヌティングに革呜をもたらしたした。誕生以来、Amazon.com の Chief Technology Officer である Dr. Werner Vogels のこの LinkedIn 投皿 にお、オリゞナルの PR/FAQ 文曞を通じお進捗が蚘録されおいたす。このサヌビスは飛躍的に成長し、1 ミリ秒の請求粟床や 10GB メモリのサポヌトなどの機胜が導入されたした。ありがずう、 AWS Lambda 。今埌もたくさんの蚘念日を迎えられたすように。 Amazon は、Trainium チップを䜿甚する倧孊での AI 研究を支揎するために 1 億 1,000 侇 USD を投資しおいたす。 このむニシアチブでは、AWS Trainium チップを䜿甚するコンピュヌティングリ゜ヌスを提䟛し、研究者が新しい AI アヌキテクチャず機械孊習のむノベヌションを開発できるよう支揎したす。これらの開発内容は、より広範な進歩に向けおオヌプン゜ヌス化される予定です。AWS の CEO である Matt Garman による Linkedin の投皿 をご芧ください。 11 月11 日週のリリヌス re:Invent 2024 での AWS BuilderCards 第 2 ゚ディション – re:Invent 2024 で、 Jeff Barr は AWS BuilderCards 第 2 ゚ディションの発売を発衚したした。デザむンずゲヌムの仕組みの改善に加えお、生成 AI の新しいアドオンパックが含たれおいたす。これたでのむベントでは 15,000 セット以䞊が配垃され、ナヌザヌからの玠晎らしいフィヌドバックも寄せられおいたす。re:Invent 以降はオンラむンで賌入できるようになりたす。 Amazon EventBridge がむベントバスの゚ンドツヌ゚ンドのレむテンシヌを最倧 94% 改善したこずを発衚 – Amazon EventBridge はむベントバスの゚ンドツヌ゚ンドのレむテンシヌを最倧 94% 改善し、平均レむテンシヌを 2,235.23 ミリ秒 (2023 幎 1 月に枬定) から 129.33 ミリ秒 (2024 幎 8 月に P99 で枬定) に短瞮したした。この機胜匷化により、Amazon EventBridge が利甚可胜なすべおの AWS リヌゞョン (AWS GovCloud (米囜) リヌゞョンを含む) で、䞍正怜知、産業オヌトメヌション、ゲヌムなどの速床が重芁芖されるアプリケヌションの凊理を、远加料金なしで高速化できるようになりたす。 AWS Organizations の新しいタむプの認可ポリシヌであるリ゜ヌスコントロヌルポリシヌ (RCP) のご玹介 – リ゜ヌスコントロヌルポリシヌ (RCP) は、 AWS Organizations の新しい認可ポリシヌです。RCP を䜿甚するず、プリンシパルの暩限を制埡するサヌビスコントロヌルポリシヌ (SCP) を補完しお、リ゜ヌスに付䞎される最倧のアクセス蚱可を䞀元的に制埡できたす。RCP では、 Amazon Simple Storage Service (Amazon S3) バケット などのリ゜ヌスぞの倖郚アクセスを制限しお、組織党䜓にデヌタ境界を適甚するこずが可胜です。 Amazon Data Firehose を䜿甚しお、デヌタベヌスから Apache Iceberg テヌブルに倉曎をレプリケヌト (プレビュヌ) – デヌタベヌスの倉曎をキャプチャしお Amazon S3 の Apache Iceberg テヌブルにレプリケヌトする、 Amazon Data Firehose の新しいプレビュヌ機胜です。この機胜は PostgreSQL および MySQL デヌタベヌスをサポヌトし、パフォヌマンスに圱響を䞎えるこずなくデヌタベヌスの曎新をストリヌミングするシンプルな゜リュヌションを提䟛したす。デヌタの分割ずスキヌマの進化を自動的に凊理するため、耇雑な ETL プロセスが䞍芁になりたす。 Amazon S3 が AWS アカりントあたり最倧 100 䞇バケットのサポヌトを開始 – Amazon S3 は、デフォルトのバケットクォヌタを AWS アカりントあたり 100 から 10,000 に増やしたした。お客様は最倧 100 䞇バケットたでの増加をリク゚ストできるようになりたした。最初の 2,000 バケットは無料で、それ以降は远加のバケットに少額の月額料金がかかりたす。 Amazon Keyspaces (Apache Cassandra 向け) が䟡栌を最倧 75% 匕き䞋げ – Amazon Keyspaces (Apache Cassandra 向け) は最倧 75% の倧幅な倀䞋げを発衚したした。このサヌビスにより、オンデマンドモヌドの料金が、単䞀リヌゞョンの堎合は最倧 56%、マルチリヌゞョンの堎合は最倧 65% 匕き䞋げられたす。有効期限 (TTL) の削陀料金も 75% 削枛されたした。 AWS Organizations を䜿甚するお客様のためのルヌトアクセスの䞀元管理 – AWS Identity and Access Management (IAM) は、 AWS Organizations のルヌトアクセスを䞀元管理する新機胜をリリヌスしたした。この機胜により、セキュリティチヌムはメンバヌアカりントから長期的なルヌト認蚌情報を削陀し、特定のアクションでタスクを察象ずする䞀時的なルヌトセッションを䜿甚できるようになりたす。この゜リュヌションは、必芁な特暩操䜜を実行する機胜を維持しながら氞続的なルヌト認蚌情報を削陀するこずで、セキュリティを匷化したす。 Amazon DynamoDB がオンデマンドスルヌプットずグロヌバルテヌブルの料金を倀䞋げ – Amazon DynamoDB は、 オンデマンドモヌド のスルヌプットコストを 50%、グロヌバルテヌブルを最倧 67% 削枛するずいう倧幅な倀䞋げを発衚したした。マルチリヌゞョンのレプリケヌトされた曞き蟌みが単䞀リヌゞョンの料金ず䞀臎するようになりたした。これらの倉曎により、ほずんどの DynamoDB ワヌクロヌドではオンデマンドモヌドが掚奚されるようになりたす。 Datadog ず Wiz 甚の Amazon Q Developer プラグむンの䞀般提䟛を開始 – Amazon Q Developer は、 Datadog ず Wiz サヌビス甚のプラグむンの提䟛を開始し、ナヌザヌは AWS コン゜ヌル から盎接これらのパヌトナヌ機胜にアクセスできるようになりたした。ナヌザヌは @datadog や @wiz などの自然蚀語コマンドを䜿甚しお情報をク゚リし、リアルタむムの最新情報やセキュリティに関するむンサむトを埗るこずができたす。 その他の AWS ブログ蚘事 その他の興味深いプロゞェクトずブログ蚘事をいく぀かご玹介したす。 Amazon SageMaker JumpStart の Stable Diffusion 3.5 Large のご玹介 – このパワフルな 81 億個のパラメヌタモデルにより、テキストプロンプトから写真のようにリアルで高品質な画像を生成できるようになりたした。お客様はモデルを Amazon SageMaker JumpStart にシヌムレスにデプロむしお䜿甚し、Amazon SageMaker のセキュリティおよび機械孊習オペレヌション (MLOps) 機胜の利点を掻甚するこずができたす。 AWS AI ず生成 AI サヌビスを䜿甚した、ブラりザでのラむブストリヌムの文字起こし、翻蚳、芁玄 – このブログ蚘事では、AI サヌビスを䜿甚しおラむブストリヌミング䜓隓を匷化する Chrome 拡匵機胜を開発した経緯をご玹介したす。この拡匵機胜は、 Amazon Transcribe 、 Amazon Translate 、 Amazon Bedrock を䜿甚しお、ラむブストリヌムのリアルタむムの文字起こし、翻蚳、芁玄をブラりザで盎接提䟛したす。文字起こしでは 50 蚀語以䞊、翻蚳では 75 蚀語以䞊をサポヌトしおいるため、䞖界䞭からコンテンツにアクセスできるようになりたす。 Amazon Bedrock ずベクトルデヌタベヌスによる自動車の損傷凊理の簡玠化 – このブログ蚘事では、 Amazon Bedrock ずベクトルデヌタベヌスを組み合わせお自動車の損傷評䟡を合理化する゜リュヌションをご玹介したす。このシステムは、AI を䜿甚しお車䞡の損傷画像を分析し、費甚を芋積もり、既存のデヌタセットの類䌌事䟋ず照合したす。 Anthropic の Claude 3 ず Amazon Titan Multimodal Embeddings を䜿甚しお、効率的で正確な凊理を実珟したす。 Amazon Bedrock ず Amazon Location Service で旅行蚈画に革呜を – Amazon Bedrock ず Amazon OpenSearch Service のベクトルデヌタベヌスを組み合わせ、AI を䜿甚しお画像を分析し、履歎デヌタず照合しお正確な修理芋積もりを行うこずで、自動車の損傷評䟡を自動化したす。 今埌の AWS むベント カレンダヌを確認しお、近日開催予定の AWS むベントにサむンアップしたしょう。 AWS Community Day  – 䞖界䞭の゚キスパヌト AWS ナヌザヌず業界リヌダヌによるテクニカルディスカッション、ワヌクショップ、ハンズオンラボが提䟛されるコミュニティ䞻導のカンファレンスに参加したしょう。今埌予定されおいる AWS Community Day は、 むンドネシア (11 月 23 日) ず、 むンド、コヌチ (12 月 14 日) です。 AWS re:Invent 2024 – ラスベガスで私たちず䞀緒に AWS のすべおを孊びたしょう。1 幎に 1 床のカンファレンスは、スキルを䌞ばすための最良か぀最速の方法です。盎接参加できない堎合は、オンラむンで Watch re:Invent に登録しお、バヌチャルでご参加いただけたす。 今埌開催されるすべおの AWS 䞻導の察面むベントおよび仮想むベント ず、 デベロッパヌ向けのむベント をご芧ください。 AWS ビルダヌ ID を䜜成 し、゚むリアスをご予玄ください。ビルダヌ ID はナニバヌサルログむン認蚌情報で、ナヌザヌは AWS マネゞメントコン゜ヌルだけでなく、600 以䞊の無料トレヌニングコヌス、コミュニティ機胜、Amazon Q Developer をはじめずするデベロッパヌツヌルなどの AWS ツヌルやリ゜ヌスにアクセスできたす。 11 月 18 日週のニュヌスは以䞊です。11 月 25 日週に再びアクセスしお、新たな Weekly Roundup をぜひお読みください! チリの AWS コミュニティの写真を提䟛しおくれた Odina Jacobs に感謝したす。 – Eli この蚘事は、 Weekly Roundup  ã‚·ãƒªãƒŒã‚ºã®äž€éƒšã§ã™ã€‚毎週、AWS からの興味深いニュヌスや発衚を簡単にたずめおお知らせしたす! 原文は こちら です。
この蚘事は、 AWS Payment Cryptography is PCI PIN and P2PE certified を翻蚳したものです。 Amazon Web Services (AWS) は、 AWS Payment Cryptography (*1) がPayment Card Industry PIN Security Requirements Version 3.1 および PCI Point-to-Point Encryption (P2PE) Version 3.1 Decryption Componentに準拠したこずを発衚したす。 Payment Cryptography を䜿甚するこずで、PCI PIN Transaction Security (PTS) HSM認定を受け、AWSによっお完党に管理されおいるPCI PIN / P2PEに準拠した鍵管理を備えたペむメントハヌドりェアセキュリティモゞュヌル (HSM) を、決枈業務アプリケヌションで䜿甚できたす。これらの準拠により、コンプラむアンス準拠のオヌバヌヘッドを削枛しながら、準拠察象のワヌクロヌドを柔軟に展開するこずができたす。 PCI P2PE Decryption Componentは、PCI P2PE゜リュヌションが、AWSを䜿甚しお決枈端末からのクレゞットカヌドトランザクションを埩号化するこずを可胜にし、PCI PIN認蚌はPINベヌスのトランザクションを凊理するアプリケヌションでの利甚に必芁です。PCI SSCによるず、「PCI P2PE ゜リュヌションを䜿甚するこずで、加盟店は決枈業務で PCI DSS が適甚される堎所や方法を枛らすこずができ、PCI DSS ぞの準拠を簡玠化しながら顧客デヌタのセキュリティを高めるこずができる」ずありたす。 サヌドパヌティのQualified PIN Assessor (QPA) およびQualified Security Assessor (QSA) であるCoalfireが、Payment Cryptographyを評䟡したした。顧客は、 AWS Artifact を通じおPCI PIN Attestation of Compliance (AOC) レポヌト、PCI PIN Shared Responsibility Summary、PCI P2PE Attestation of Validationにアクセスできたす。 AWSのPCIプログラムやその他のコンプラむアンス、セキュリティプログラムの詳现に぀いおは、 AWSコンプラむアンスプログラム のペヌゞをご芧ください。AWSコンプラむアンスチヌムぞのお問い合わせは、 お問い合わせペヌゞ からお願いいたしたす。 この投皿に関するフィヌドバックがある堎合は、以䞋のコメント欄にコメントをお寄せください。この投皿に関するご質問は、 AWS サポヌト たでお問い合わせください。 (*1) AWS Payment Cryptographyに関しおの AWSブログ もご参照ください。 本皿は゜リュヌションアヌキテクト畑が翻蚳を担圓したした。
この蚘事は Improving deployment visibility for Amazon ECS services (蚘事公開日 : 2024 幎 11 月 7 日) の翻蚳です。 ゜フトりェアをデプロむする際、デプロむメントプロセスのすべおのステップを可芖化するこずは非垞に重芁です。安党で信頌性の高いリリヌスプロセスを実珟するためには、進行䞭のデプロむメントの状況を把握し、問題が発生した際にはトラブルシュヌティングを行い、過去のデプロむメントの監査蚌跡を保持しおおく必芁がありたす。これらのニヌズに察応するために、 Amazon Elastic Container Service (Amazon ECS) は、匷化された可芖性ずトレヌサビリティの機胜を提䟛開始したした。新しく導入されたサヌビスデプロむメント (サヌビスデプロむ) ずサヌビスリビゞョンを掻甚するこずで、Amazon ECS におけるアプリケヌションデプロむメントに぀いお、より深い掞察を埗るこずができたす。 Amazon ECS においお、 ECS サヌビス は長時間実行されるアプリケヌションを管理するリ゜ヌスであり、同䞀の ECSタスクのグルヌプが Amazon ECS によっおデプロむ、管理、スケヌリングされたす。新しいバヌゞョンの゜フトりェアをリリヌスする際は、Amazon ECS がデプロむメントプロセスを管理し、叀いタスクを新しいタスクに 段階的に眮き換えたす 。Amazon ECS では、安党な゜フトりェアリリヌスを実珟するためのビルトむンの保護機胜を提䟛しおおり、䟋えば ECS deployment circuit breaker を甚いるず、新しいデプロむメントが倱敗した際に、自動的に前のバヌゞョンのサヌビスにロヌルバックさせるこずが可胜です。今回のリリヌスでは、Amazon ECS の 2 ぀の新しいリ゜ヌス (サヌビスリビゞョン、サヌビスデプロむメント) ず新しい API ( listServiceDeployments 、 describeServiceRevisions 、 describeServiceDeployments ) が導入され、デプロむメントプロセスの可芖性が向䞊したした。 たず、サヌビスリビゞョンは、Amazon ECS がデプロむするワヌクロヌドの蚭定を蚘録したす。これには、タスク定矩、コンテナむメヌゞ、サヌビスレベルのパラメヌタヌ ( Amazon Elastic Block Store (Amazon EBS) ボリュヌムやロヌドバランサヌ、 ECS Service Connect の蚭定など) が含たれたす。 たた、サヌビスデプロむメント (サヌビスデプロむ) は、進行䞭たたは以前のサヌビスリビゞョンのデプロむメントに関する包括的な芖点を提䟛したす。ここでは、デプロむメントの開始点 (゜ヌスリビゞョン)、どのデプロむメントがロヌルアりトされおいるのか (タヌゲットリビゞョン)、蚭定したサヌキットブレむカヌや Amazon CloudWatch アラヌム を含むデプロむメントの状況を確認するこずができたす。 これたで、Amazon ECS のデプロむメントの履歎を远跡するこずは困難でした。今回のリリヌスにより、成功したかどうかに関わらず、各サヌビスデプロむメントは 90 日間保持され、Amazon ECS コン゜ヌルたたは listServiceDeployments API を通じお確認できるようになりたした。これにより、Amazon ECS サヌビスのデプロむメントの履歎を確認し、各ロヌルアりトでどのサヌビスリビゞョンが䜿甚されたかを把握するこずができたす。 Amazon ECS は、これらの匷化された可芖性ずトレヌサビリティの機胜を提䟛するこずで、アプリケヌションデプロむメントに関するより優れた監芖、トラブルシュヌティング、管理を可胜にし、より信頌性ず透明性の高いリリヌスプロセスを実珟したす。以䞋の図は、既存の Amazon ECS リ゜ヌスず、新しく導入されたサヌビスデプロむメントおよびサヌビスリビゞョンの関係を瀺したす。 図 1 : サヌビスリビゞョンずサヌビスデプロむメントの関係 ゜リュヌション抂芁 このセクションでは、Amazon ECS に゜フトりェアをデプロむする際に、サヌビスリビゞョンずサヌビスデプロむメントがどのように可芖性を向䞊させるのか、ハンズオン圢匏で説明しおいきたす。この䟋では、たず新しいサヌビスを䜜成し、安定するたで埅ちたす。次に、既知のバグを含むリビゞョンを䜜成し、゚ラヌのトラブルシュヌティングやサヌキットブレむカヌの状態の管理においお、新しく導入されたサヌビスデプロむメント API ず Amazon ECS コン゜ヌルの「デプロむ」タブがどのように圹立぀かを確認しおいきたす。 前提条件 このりォヌクスルヌを完了するには、以䞋の前提条件が必芁です。 Amazon ECS リ゜ヌスを䜜成するための適切な暩限を持った AWS CLI (新しく導入された API を利甚するため、必芁に応じお AWS CLI のバヌゞョンを曎新しおください。) 既存の ECS クラスタヌ 既存の ECS タスク実行ロヌル 既存の VPC サブネット ず セキュリティグルヌプ (このセキュリティグルヌプには、むンバりンドルヌルは䞍芁です。) りォヌクスルヌ 1. たず、このりォヌクスルヌ党䜓で䜿甚する環境倉数を蚭定 (export) したす。これらのリ゜ヌスが自身の AWS アカりントに存圚するこずを確認し、自身のリ゜ヌスの倀に眮き換えおください。 export AWS_REGION=ap-northeast-1 export ECS_EXECUTION_ROLE="arn:aws:iam::111222333444:role/ecsTaskExecutionRole" export ECS_CLUSTER="your-cluster-name" export VPC_SUBNET_ONE="subnet-07bd4d10ea848a008" export VPC_SUBNET_TWO="subnet-0ebc3139ba5dcf871" export VPC_SECURITY_GROUP="sg-003bf5ba3cb1a1168" 2. 無限にスリヌプする単䞀のコンテナで構成された、新しい ECS タスク定矩を登録したす。 cat <<EOF >>taskdefinition_one.json { "family": "deployment-demo", "executionRoleArn": "${ECS_EXECUTION_ROLE}", "networkMode": "awsvpc", "containerDefinitions": [ { "name": "demo", "image": "public.ecr.aws/amazonlinux/amazonlinux:2023-minimal", "command": [ "/bin/bash", "-c", "echo 'sleeping' && sleep infinity" ] } ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512" } EOF aws ecs register-task-definition \ --cli-input-json file://taskdefinition_one.json 3. タスク定矩を登録したら、既存の VPC サブネットずセキュリティグルヌプを䜿甚しお、 AWS Fargate 䞊で実行するように蚭定した ECS サヌビスを䜜成したす。 cat <<EOF >>service.json { "cluster": "${ECS_CLUSTER}", "serviceName": "deployment-demo", "taskDefinition": "deployment-demo", "desiredCount": 1, "launchType": "FARGATE", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true } }, "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "${VPC_SUBNET_ONE}", "${VPC_SUBNET_TWO}" ], "securityGroups": [ "${VPC_SECURITY_GROUP}" ], "assignPublicIp": "ENABLED" } } } EOF aws ecs create-service \ --cli-input-json file://service.json 4. 新しく導入された listServiceDeployments API を䜿甚するず、䜜成したサヌビスに関連するサヌビスデプロむメントの䞀芧を確認するこずができたす。(蚳蚻 : もし゚ラヌが出た堎合は、AWS CLI のバヌゞョンが十分新しいか、確認しおください。) aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" このサヌビスは䜜成されたばかりなので、サヌビスデプロむメントは 1 ぀のみです。このサヌビスデプロむメントでは、ステヌタスが IN_PROGRESS (進行䞭) であり、タヌゲットサヌビスリビゞョンは 1544415738210471021 であるこずを確認できたす。(これらの倀はあくたで䟋で、実行する環境によっお異なりたす。) { "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/zKMCwZeZGjT20CtLyq9X9", "serviceArn": "arn:aws:ecs:ap-northeast-1:111222333444:service/default/deployment-demo", "clusterArn": "arn:aws:ecs:ap-northeast-1:111222333444:cluster/default", "startedAt": "2024-11-20T10:46:40.661000+09:00", "createdAt": "2024-11-20T10:46:36.612000+09:00", "targetServiceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "status": "IN_PROGRESS" } ] } サヌビスデプロむメントの䞀芧は、Amazon ECS コン゜ヌルの「デプロむ」タブでも確認できたす。 5. 新しく導入された describeServiceDeployments API を䜿甚するず、特定のサヌビスデプロむメントに関しお、そのリビゞョンの垌望タスク数やサヌキットブレむカヌの状況などの詳现情報を確認できたす。 DEPLOYMENT_ARN=$(aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" \ --query "serviceDeployments[0].serviceDeploymentArn" \ --output text) aws ecs describe-service-deployments \ --service-deployment-arns $DEPLOYMENT_ARN ここで、出力の sourceServiceRevisions キヌが空になっおいるこずを確認できたす。これは、このデプロむメントが、このサヌビスの最初のデプロむメントであるこずを瀺しおいたす。 { "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/zKMCwZeZGjT20CtLyq9X9", ... "sourceServiceRevisions": [], "targetServiceRevision": { "arn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "requestedTaskCount": 1, "runningTaskCount": 1, "pendingTaskCount": 0 }, "status": "IN_PROGRESS", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deploymentCircuitBreaker": { "status": "MONITORING", "failureCount": 0, "threshold": 3 }, "alarms": { "status": "DISABLED" } } ], "failures": [] } サヌビスデプロむメントは、コン゜ヌル画面からも確認できたす。 6. describeServiceRevisions API を䜿甚するず、デプロむされおいるリ゜ヌス (サヌビスリビゞョン) に関するより詳现な情報を確認できたす。 REVISION_ARN=$(aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" \ --query serviceDeployments[0].targetServiceRevisionArn \ --output text) aws ecs describe-service-revisions \ --service-revision-arns $REVISION_ARN この情報は、タスク定矩リビゞョンずサヌビスレベルのパラメヌタヌで構成されおいたす。 { "serviceRevisions": [ { "serviceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "serviceArn": "arn:aws:ecs:ap-northeast-1:111222333444:service/default/deployment-demo", "clusterArn": "arn:aws:ecs:ap-northeast-1:111222333444:cluster/default", "taskDefinition": "arn:aws:ecs:ap-northeast-1:111222333444:task-definition/deployment-demo:3", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": {...}, "containerImages": [ { "containerName": "demo", "imageDigest": "sha256:96bbe031e236f8e767a358f6ba2e05a378508ae6227a814848a1c8a7833b5850", "image": "public.ecr.aws/amazonlinux/amazonlinux:2023-minimal" } ], "guardDutyEnabled": false, "createdAt": "2024-11-20T10:46:26.169000+09:00" } ], "failures": [] } 7. 次のステップに進む前に、デプロむメントが SUCCESSFUL になるのを埅ちたす。これには数分かかる可胜性がありたす。以䞋のコマンドを実行しお、デプロむメントの状態を確認しおください。 aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" \ --query "serviceDeployments[0].status" \ --output text 8. 次に、䞍正な蚭定 (bash で exit 1 コマンドを実行) を含む新しいサヌビスリビゞョンをロヌルアりトしたす。そのために、たず 2 ぀目のタスク定矩を登録したす。 cat <<EOF >>taskdefinition_two.json { "family": "deployment-demo", "executionRoleArn": "${ECS_EXECUTION_ROLE}", "networkMode": "awsvpc", "containerDefinitions": [ { "name": "demo", "image": "public.ecr.aws/amazonlinux/amazonlinux:2023-minimal", "command": [ "/bin/bash", "-c", "echo 'sleeping' && sleep 15 && echo 'exiting' && exit 1" ] } ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512" } EOF aws ecs register-task-definition \ --cli-input-json file://taskdefinition_two.json update-service コマンドを実行し、新しいサヌビスリビゞョンを䜜成しおデプロむメントを開始したす。 cat <<EOF >>updateservice.json { "cluster": "${ECS_CLUSTER}", "service": "deployment-demo", "desiredCount": 1, "taskDefinition": "deployment-demo" } EOF aws ecs update-service \ --cli-input-json file://updateservice.json 9. listServiceDeployments API を䜿甚しお、再床このサヌビスに関連するサヌビスデプロむメントの䞀芧を確認したしょう。 aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" このサヌビスには、珟圚 2 ぀のデプロむメントが存圚しおいるこずを確認できたす。1 ぀は最初に完了したデプロむメント、もう 1 ぀は新しく開始した IN_PROGRESS (進行䞭) のデプロむメントです。 { "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/WX4k57j4mYvJeZ3xc6Dli", ... "targetServiceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/7111358678511081979", "status": "IN_PROGRESS" }, { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/zKMCwZeZGjT20CtLyq9X9", ... "targetServiceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "status": "SUCCESSFUL" } ] } この䞀芧は、ECS コン゜ヌル「デプロむ」タブの「サヌビスデプロむ」からも確認できたす。 10. 新しいサヌビスデプロむメントの詳现を確認するず、2 ぀の異なるサヌビスリビゞョン間で ECS サヌビスを遷移させおいるこずを確認できたす。 DEPLOYMENT_ARN=$(aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" \ --query "serviceDeployments[0].serviceDeploymentArn" \ --output text) aws ecs describe-service-deployments \ --service-deployment-arns $DEPLOYMENT_ARN この䟋では、゜ヌスリビゞョンの ID は 1544415738210471021 で、タヌゲットリビゞョンの ID は 7111358678511081979 ずなっおいたす。たた、ロヌルアりトが進行䞭のため、サヌキットブレむカヌが MONITORING (監芖䞭) の状態であるこずが分かりたす。さらに、このデプロむメントにおいお倱敗したタスクの数 (failureCount) ず、ロヌルバックをトリガヌするためのしきい倀 (threshold) を確認できたす。 { "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/WX4k57j4mYvJeZ3xc6Dli", ... "sourceServiceRevisions": [ { "arn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "requestedTaskCount": 0, "runningTaskCount": 1, "pendingTaskCount": 0 } ], "targetServiceRevision": { "arn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/7111358678511081979", "requestedTaskCount": 1, "runningTaskCount": 0, "pendingTaskCount": 1 }, "status": "IN_PROGRESS", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deploymentCircuitBreaker": { "status": "MONITORING", "failureCount": 2, "threshold": 3 }, "alarms": { "status": "DISABLED" } } ], "failures": [] } Amazon ECS コン゜ヌルの「デプロむ」タブでは、サヌビスリビゞョンを比范するための画面が新しく導入されおいたす。ここでは、異なるサヌビスリビゞョン間の違いを芖芚的に確認するこずができたす。 11. 再床  describeServiceDeployments API を䜿甚しお、このデプロむメントの詳现を確認したしょう。 aws ecs describe-service-deployments \ --service-deployment-arns $DEPLOYMENT_ARN 時間の経過ずずもに、タスクが倱敗し、 deploymentCircuitBreaker キヌの䞋の failureCount が増加しおいきたす。最終的に、サヌキットブレむカヌが TRIGGERED になり、ECS サヌビスは以前のサヌビスリビゞョンにロヌルバックされたす。 { "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/WX4k57j4mYvJeZ3xc6Dli", ... "sourceServiceRevisions": [ { "arn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "requestedTaskCount": 1, "runningTaskCount": 1, "pendingTaskCount": 0 } ], "targetServiceRevision": { "arn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/7111358678511081979", "requestedTaskCount": 0, "runningTaskCount": 0, "pendingTaskCount": 0 }, "status": "ROLLBACK_SUCCESSFUL", "statusReason": "Service deployment rolled back because the circuit breaker threshold was exceeded.", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100 }, "rollback": { "reason": "Service deployment rolled back because the circuit breaker threshold was exceeded.", "startedAt": "2024-11-20T10:57:06.840000+09:00", "serviceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021" }, "deploymentCircuitBreaker": { "status": "TRIGGERED", "failureCount": 3, "threshold": 3 }, "alarms": { "status": "DISABLED" } } ], "failures": [] } 12. 最埌に、 listServiceDeployments API を䜿甚しお、すべおのサヌビスデプロむメントを確認したしょう。 aws ecs list-service-deployments \ --service deployment-demo \ --cluster "${ECS_CLUSTER}" 最初のデプロむメントず倱敗したデプロむメントの䞡方が衚瀺されおいるこずを確認できたす。 { "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/WX4k57j4mYvJeZ3xc6Dli", ... "targetServiceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/7111358678511081979", "status": "ROLLBACK_SUCCESSFUL", "statusReason": "Service deployment rolled back because the circuit breaker threshold was exceeded." }, { "serviceDeploymentArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-deployment/default/deployment-demo/zKMCwZeZGjT20CtLyq9X9", ... "targetServiceRevisionArn": "arn:aws:ecs:ap-northeast-1:111222333444:service-revision/default/deployment-demo/1544415738210471021", "status": "SUCCESSFUL" } ] } 埌片付け 以䞋のコマンドを実行するず、このりォヌクスルヌで䜜成したサヌビスずタスク定矩を削陀できたす。このりォヌクスルヌを実斜するために ECS クラスタヌや VPC を䜜成した堎合は、それらのリ゜ヌスも削陀しおください。 aws ecs delete-service \ --cluster "${ECS_CLUSTER}" \ --service "deployment-demo" \ --force TASK_DEFS=$(aws ecs list-task-definitions \ --family-prefix "deployment-demo" \ --query taskDefinitionArns \ --output text) for TASK_DEF in $TASK_DEFS do aws ecs deregister-task-definition --task-definition "${TASK_DEF}" done たずめ この蚘事では、新しく導入された Amazon ECS のサヌビスデプロむメントずサヌビスリビゞョンの機胜に぀いお深掘りしたした。これらの機胜により、゜フトりェアリリヌスプロセスの可芖性ずトレヌサビリティが向䞊し、より自信を持っおデプロむできるようになりたす。サヌビスデプロむメントずサヌビスリビゞョンを䜿甚するず、進行䞭のロヌルアりトの状況を深く把握、問題をより効率的にトラブルシュヌティングし、過去のデプロむメントの履歎を確認できたす。この匷化された可芖性は、より信頌性ず透明性の高い゜フトりェアリリヌスラむフサむクルを実珟するのに圹立぀でしょう。 Amazon ECS の各機胜の詳现に぀いおは、 Amazon ECS 開発者ガむド を確認するこずをおすすめしたす。実際に手を動かしながら孊びたい堎合は、より実践的なガむドず䟋を含む、 Amazon ECS ワヌクショップ もぜひ掻甚しおみおください。
珟代のクラりド䞭心のビゞネス環境では、デヌタが耇数のクラりドやオンプレミスのシステムに分散しおいるこずが倚くありたす。この断片化は、お客様が機械孊習 (ML) むニシアチブずしお、デヌタを統合し、分析する䜜業を耇雑にしおいたす。 本皿では、さたざたなクラりド環境の䞭でも Google Cloud Platform (GCP) BigQueryに焊点を圓お、デヌタ゜ヌスを移動するこずなく、デヌタを盎接抜出するアプロヌチをご玹介したす。これにより、クラりド環境間でデヌタ移動の際に発生する耇雑さずオヌバヌヘッドを最小限に抑えるこずができるため、組織は ML プロゞェクトで様々なデヌタ資産にアクセスし、掻甚できるようになりたす。 今回焊点を圓おるのは、 Amazon Athena Federated Query を䜿甚しお、GCP BigQuery からデヌタを抜出し、 Amazon SageMaker Data Wrangler を䜿甚しおデヌタ準備を行い、準備されたデヌタをノヌコヌドの ML むンタヌフェヌスである Amazon SageMaker Canvas で ML モデルを構築する、ずいう䞀連のプロセスです。 SageMaker Canvas では、ビゞネスアナリストは、コヌディングや幅広い機械孊習の経隓がなくおも、50 を超える゜ヌスのデヌタにアクセスしおむンポヌトし、自然蚀語ず 300 を超える組み蟌みの倉換を䜿甚しおデヌタを準備し、高粟床のモデルを構築しおトレヌニングし、予枬を生成し、モデルを本番環境にデプロむするこずができたす。たた、コネクタずしお甚意されおいない堎合も、Amazon Athena などのサヌビスを通じお、デヌタを掻甚するこずもできたす。今回は、コネクタを通じお利甚できる Amazon Athena を掻甚しお、GCP BigQuery ぞラむブク゚リを行う方法に぀いおご玹介したす。 ゜リュヌション抂芁 ゜リュヌションでの、䞻なステップは以䞋の 2 点です。 CGP BigQuery から Federated Query を Amazon Athena でセットアップし、Athena から盎接 GCP BigQuery でラむブク゚リを実行できるようにしたす。 Athena を䞭継し、BigQuery から SageMaker Canvas にデヌタをむンポヌトしたす。 デヌタ゜ヌスのク゚リ結果が SageMaker Canvas ぞむンポヌトされた埌は、ノヌコヌドのむンタヌフェヌスを䜿甚しお ML モデルを構築し、むンポヌトされたデヌタに基づいお予枬を生成できるようになりたす。 SageMaker Canvas を䜿甚するず、コヌドを曞かずに初期デヌタ準備のルヌチンを䜜り、正確な予枬を生成するこずができたす。ただし、ML の芁件が進化したり、より高床なカスタマむズが必芁になった堎合は、ノヌコヌド環境からコヌドファヌストのアプロヌチに移行しなくおはならなくなる可胜性がありたす。SageMaker Canvas ず Amazon SageMaker Studio を統合するず、本番芏暡のデプロむのための、デヌタ準備ルヌチンの運甚を実珟できたす。詳现に぀いおは、「 Seamlessly transition between no-code and code-first machine learning with Amazon SageMaker Canvas and Amazon SageMaker Studio 」を参照しおください。 以䞋のアヌキテクチャ抂芁は、AWS サヌビスを䜿甚しお GCP BigQuery デヌタりェアハりスにシヌムレスにアクセスし、SageMaker Canvas に統合しお ML モデルを構築およびデプロむする方法を瀺しおいたす。 ワヌクフロヌには以䞋のステップが含たれおいたす。 SageMaker Canvas むンタヌフェヌス䞊で、ナヌザヌは GCP BigQuery デヌタりェアハりスに察しお実行する SQL ク゚リを䜜成したす。SageMaker Canvas はこのク゚リを Athena に受け枡したす。Athena は 䞭継ずしお機胜し、SageMaker Canvas ず BigQuery 間の通信を促したす。 Athena は、 Athena Google BigQuery connector を䜿甚したす。 Athena Federated Query は、 AWS Lambda 関数を利甚しおデヌタ゜ヌスに接続し、ク゚リを実行する機胜です。この Lambda 関数は、GUI 䞊で構成が可胜です。たた、必芁な BigQuery の認蚌情報 (service account private key ) を取埗したす。 認蚌埌は、Lambda 関数は、取埗した認蚌情報を䜿甚しお BigQuery ぞク゚リし、目的の結果セットを取埗したす。さらにこの結果セットをパヌスし、Athena に返送したす。 Athena は、BigQuery からク゚リされたデヌタを SageMaker Canvas ぞ返したす。ノヌコヌドむンタヌフェヌス䞊で、ML モデルの孊習や開発にそのデヌタを利甚するこずができるようになりたす。 この゜リュヌションには、次のメリットがありたす。 シヌムレスな統合 – SageMaker Canvas を䜿甚するず、BigQuery などのクラりド デヌタりェアハりスを含む、様々な゜ヌスからのデヌタを、ノヌコヌドの ML 環境ぞ盎接統合し、䜿甚できるようになりたす。この統合で、远加のデヌタ移動や耇雑な統合が䞍芁になりたす。デヌタ゚ンゞニアリング タスクのオヌバヌヘッドがなくなるため、ML モデルの構築ずデプロむに集䞭できるようになりたす。 セキュアなアクセス – Secrets Manager を䜿甚するず、BigQuery の認蚌情報を安党に保存し、アクセスできるようになるため、゜リュヌション党䜓のセキュリティが匷化されたす。 スケヌラビリティ – Lambda 関数のサヌバレスの性質ず、Athena の倧芏暡デヌタセットを凊理する胜力により、増倧するデヌタ量に察応できるようになりたす。さらに、耇数のク゚リを䜿っお、デヌタを゜ヌスに察しお䞊列に、パヌティション分割するこずができたす。 次のセクションでは、技術的な実装の詳现を詳しく説明し、この゜リュヌションを順に説明したす。 デヌタセット 本皿では、ノヌコヌド ML を行うために SageMaker Canvas にデヌタをむンポヌトする方法の䟋を瀺しおいたす。この䟋では、GCP BigQuery から Athena を介しお、デヌタをむンポヌトする方法を瀺しおいたす。 デヌタセットずしおは、通信携垯電話キャリアのデヌタセット ( synthetic dataset ) を䜿甚したす。このサンプルデヌタセットは、5,000 件のレコヌドが含たれ、各レコヌドでは、顧客プロファむルずしお 21 個の属性を䜿甚しおいたす。デヌタセットの Churn 列は、顧客が解玄したかどうか (true/false) を瀺したす。この Churn 属性は、ML モデルが予枬するタヌゲット倉数です。 前提条件 以䞋の前提条件のステップを完了させおください。 GCP の service account ず service account key を䜜成したす。 private key を JSON ファむルでダりンロヌドしたす。 JSON ファむルを Secrets Manager ぞ保存したす。 Secrets Manager コン゜ヌル䞊で、ナビゲヌションペむンの「シヌクレット」を遞択し、「新しいシヌクレットを保存する」を遞択したす。 シヌクレットのタむプは「その他のシヌクレットのタむプ」を遞択したす。 JSON ファむルの内容をコピヌし、「キヌ/倀のペア」の「プレヌンテキスト」タブぞ入力したす。 SageMaker ドメむンをただ䜜成しおいない堎合、ナヌザヌプロファむルず共に䜜成しおください。手順に぀いおは「 Quick setup to Amazon SageMaker 」を参照しおください。 以䞋のリ゜ヌスに察しお、SageMaker ドメむンのナヌザヌプロファむルの AWS Identity and Access Management (IAM) ロヌルに、 glue:GetDatabase ず athena:GetDataCatalog の暩限が付䞎され、Athena を呌び出せるようになっおいるこずを確認したす。既定では以䞋の暩限は付䞎されおいないため、必芁に応じお付䞎しおください。蚭定には、次の䟋を参照しおください。 { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "glue:GetDatabase", "athena:GetDataCatalog" ], "Resource": [ "arn:aws:glue:*: <AWS account id> :catalog", "arn:aws:glue:*: <AWS account id> :database/*", "arn:aws:athena:*: <AWS account id> :datacatalog/*" ] } ] } Athena デヌタ゜ヌスコネクタを登録する 以䞋の Athena data source connector のセットアップを完了させおください。 Athena コン゜ヌル䞊で、ナビゲヌションペむンの「デヌタ゜ヌス」を遞択したす。 「デヌタ゜ヌスの䜜成」を遞択したす。 「デヌタ゜ヌスを遞択」ペヌゞで、「Google BigQuery」を遞択し、「次ぞ」を遞択したす。 「デヌタ゜ヌスの詳现を入力」ペヌゞで、以䞋の情報を入力したす。 「デヌタ゜ヌス名」で、任意の名前を入力したす。 「説明」で、オプションずしお説明を入力したす。 「Lambda 関数」で、接続の蚭定を行うために「Lambda 関数の䜜成」をクリックしたす。  Lambda 関数の䜜成画面の「アプリケヌションの蚭定」で、以䞋の情報を入力したす。 「SpillBucket」で、Lambda 関数のレスポンスサむズ制限を超えるデヌタを保存するための、アカりント内の S3 バケットの名前を入力したす。 「GCPProjectID」で、GCP の project ID を入力したす。 「LambdaFunctionName」で、䜜成した Lambda 関数の名前を入力したす。 「SecretNamePrefix」で、Secrets Manager で保存した GCP 認蚌情報が含たれるシヌクレットの名前を入力したす。 「デプロむ」を遞択したす。「デヌタ゜ヌスの詳现を入力」ペヌゞに戻りたす。 「接続の詳现」セクションで、「Lambda 関数」で曎新アむコンを抌したす。 先ほど䜜成した Lambda 関数を遞択したす。Lambda 関数の ARN が衚瀺されたす。 オプションずしお、「タグ」で、デヌタ゜ヌスに玐づける「キヌ/倀」のペアを远加したす。タグに぀いお詳现は「 Tagging Athena resources 」を参照しおください。 「次ぞ」を遞択したす。 「確認ず䜜成」ペヌゞで、デヌタ゜ヌスの詳现を確認し「デヌタ゜ヌスを䜜成」を遞択したす。 デヌタ゜ヌスのペヌゞでの「デヌタ゜ヌスの詳现」セクションでは、新しいコネクタの情報が衚瀺されたす。Athena ク゚リで、そのコネクタを利甚するこずができたす。ク゚リでのデヌタコネクタを利甚する事に぀いお、詳现は「 Running federated queries 」を参照しおください。 Athena から ク゚リするには、Athena SQL ゚ディタを開き、先ほど䜜成したデヌタ゜ヌスを遞択しおください。BigQuery のデヌタセットに察しお、ラむブク゚リを行うこずができたす。 Athena をデヌタ゜ヌスずしお SageMaker Canvas に接続する Athena からデヌタをむンポヌトするために、以䞋のステップを完了させおください。 SageMaker Canvas コン゜ヌルで、ナビゲヌションペむンの「Data Wrangler」を遞択したす。 「Import data and prepare」を遞択したす。 「Tabular」を遞択したす。 デヌタ゜ヌスずしお、「Athena」を遞択したす。 SageMaker Canvas の SageMaker Data Wrangler では、デヌタの準備、特城量゚ンゞニアリング、分析を行うこずができたす。コヌディングをほずんど䜿わず、たたはノヌコヌドで、 SageMaker Data Wrangler デヌタ準備フロヌを ML ワヌクフロヌに統合するこずができたす。デヌタの前凊理、特城量゚ンゞニアリングを簡玠化し、合理化したす。 巊ペむンの AWSDataCatalog で Athena テヌブルを遞択し、テヌブルを右ペむンぞ ドラッグ  ドロップ したす。 「Edit in SQL」を遞択し、次の SQL ク゚リを入力したす。 SELECT state, account_length, area_code, phone, intl_plan, vmail_plan, vmail_message, day_mins, day_calls, day_charge, eve_mins, eve_calls, eve_charge, night_mins, night_calls, night_charge, intl_mins, intl_calls, intl_charge, custserv_calls, churn FROM " bigquery "." athenabigquery "." customer_churn " order by random() limit 50 ; 䞊蚘のク゚リでは、 bigquery は Athena で䜜成されたデヌタ゜ヌス名、 athenabigquery はデヌタベヌス名、 customer_churn はテヌブル名です。 デヌタセットの準備のため「Run SQL」を遞択したす。デヌタが十分であれば、「Import」を遞択したす。 ML を䜿甚する堎合、デヌタセットをランダム化、たたはシャッフルするこずが重芁です。数癟䞇たたは数十億のデヌタポむントにアクセスできる堎合でも、デヌタセットの党量が必芁ない堎合は、ランダムにサンプリングするこずで、孊習甚のサブセットを䜜成できたす。デヌタをシャッフルしお準備したら、デヌタの準備、特城量評䟡、モデルの孊習、孊習枈みモデルのホスティングずいう、反埩的なプロセスを開始できたす。 SageMaker Data Wrangler を䜿うず、デヌタを凊理したり、ML ワヌクフロヌに適した堎所に゚クスポヌトできたす。䟋えば、倉換されたデヌタを、SageMaker Canvas デヌタセットずしお゚クスポヌトし、そこから ML モデルを䜜成できたす。 たた、ML モデル䜜成に利甚する孊習甚のデヌタセットず別に、掚論評䟡甚のデヌタセットを分けお保存しおおくこずをお勧めしたす。その堎合、SageMaker Data Wrangler の組み蟌みのデヌタ倉換「Split data」を Steps の䞀぀ずしお远加するず、容易に分割を行うこずができたす。 デヌタを゚クスポヌトした埌、「Create model」を遞択しお、デヌタから ML モデルを䜜成したす。 デヌタは、Athena の特定のテヌブルからデヌタセットずしお SageMaker Canvas にむンポヌトされたす。これで、このデヌタセットを䜿甚しおモデルを䜜成できたす。 モデルの孊習 デヌタがむンポヌトされるず、SageMaker Canvas の「Datasets」ペヌゞに衚瀺されたす。この段階になるず、モデルを構築するこずができたす。そのためには、次の手順を行っおください。 デヌタセットを遞択しおから、「Create a model」を遞択したす。 「Model name」で、任意のモデル名を入力しおください。(本皿では my_first_model )SageMaker Canvas では、予枬分析、画像分析、テキスト分析のモデルを䜜成できたす。 今回は顧客が解玄したかどうかを分類したいため、「Problem type」で「Predictive analysis」を遞択したす。 「Create」を遞択したす。 「Build」ペヌゞで、欠損倀の割合やデヌタのモヌドなど、デヌタセットに関する統蚈情報を確認できたす。 「Target column」で、予枬したい列を遞択したす。(本皿では churn )SageMaker Canvas では、予枬を生成するために、2 皮類のモデルが提䟛され。Quick build は、制床よりも速床が優先され、2 〜 15 分でモデルが提䟛されたす。Standard build では、速床よりも粟床が優先され、30 分 〜 2 時間でモデルが提䟛されたす。 この䟋では、「Quick build」を遞択したす。 モデルの孊習埌は、モデルの粟床を分析できたす。 「Overview」タブでは、列の圱響、぀たり、タヌゲット列を予枬する時の、各列の掚定重芁床が衚瀺されたす。この䟋では、 Night_calls 列が顧客が解玄するかどうかを予枬する䞊で最も倧きな圱響を䞎えおいたす。この情報は、マヌケティングチヌムが顧客離れを枛らすための察策を講じる際の、掞察を埗るのに圹に立ちたす。䟋えば、 CustServ_Calls が䜎い堎合も高い堎合も、顧客離れの可胜性が高いこずがわかりたす。マヌケティングチヌムは、これらの孊びに基づいお、顧客離れを防ぐための察策を講じるこずができたす。䟋えば、Web サむトに詳现な FAQ を䜜成しお、カスタマヌサヌビスぞの問い合わせを枛らしたり、FAQ に関する顧客向け教育キャンペヌンを実斜しお゚ンゲヌゞメントを維持するこずが挙げられたす。 予枬を生成する 「Predict」タブでは、バッチ予枬ず単䞀予枬の䞡方を生成できたす。バッチ予枬を生成するには、以䞋の手順を実斜したす。 予枬を生成するために、サンプルの inference dataset をダりンロヌドしたす。 バッチ予枬のテストを行うために、「Batch prediction」を遞択したす。SageMaker Canvas を䜿甚するず、手動で、たたはスケゞュヌルに埓っお自動的にバッチ予枬を生成できたす。スケゞュヌルに埓っお、バッチ予枬を自動化する方法は、「 Manage automations 」を参照しおください。 本皿では、「Manual」を遞択したす。 先ほどダりンロヌドしたファむルをアップロヌドしたす。 「Generate prediction」を遞択したす。 数秒埌に予枬が完了するず、「View」を遞択しお、予枬を確認するこずができたす。 必芁に応じお、「Download」を遞択しお、すべおのアりトプットを含む CSV ファむルをダりンロヌドするこずができたす。SageMaker Canvas は、デヌタの各行の予枬ず、予枬が正しい確率を返したす。 オプションずしお、モデルを゚ンドポむントにデプロむしお予枬をこなうこずができたす。詳现に぀いおは「 Deploy your models to an endpoint 」を参照しおください。 クリヌンアップ 将来の䞍芁な請求を避けるために、SageMaker Canvas で䜜業が完了したら、Canvas アプリケヌションからログアりトしおむンスタンスを終了するか、ワヌクスペヌスむンスタンスを自動終了するようにアプリケヌションを蚭定するこずをお勧めしたす。詳现な情報は、「 log out of SageMaker Canvas 」を参照しおください。 SageMaker Canvas からのログアりト Canvas からログアりトしおも、モデルずデヌタセットは圱響を受けたせんが、クむックビルドタスクをキャンセルできたす。ログアりトするず、Canvas は別のタブで再起動するよう指瀺したす。クむックビルド実行䞭の堎合は、アプリケヌション再起動が完了するたで、ビルドが䞭断される可胜性がありたす。ログアりトしおも、暙準ビルドは続行されたす。 Canvas アプリケヌションからログアりトするには、「Log out」アむコンを遞択しおください。 SageMaker Canvas を自動的にシャットダりンする アクティブな Canvas アプリケヌションをシャットダりンするスケゞュヌルを䜜成するか、アむドル状態になったらすぐにシャットダりンするオヌトメヌションを䜜成するこずができたす。゜リュヌションの詳现は、ブログ「 自動シャットダりン゜リュヌションを䜿っおAmazon SageMaker Canvas のコストを最適化する方法 」を参照しおください。 たずめ 本皿では、Athena Federated Query ずサンプルデヌタセットを䜿甚しお、BigQueryからデヌタを抜出する゜リュヌションを玹介したした。次に、抜出したデヌタを䜿甚しお、ノヌコヌドで SageMaker Canvas で ML モデルを構築し、解玄リスクがある顧客を予枬したした。SageMaker Canvas を䜿甚するず、ビゞネスアナリストはノヌコヌドのむンタヌフェヌスを通じお ML モデルを簡単に構築、およびデプロむできるため、組織党䜓で ML を民䞻化するこずができたす。これにより、高床な分析ず ML の力を掻甚しお、専門的な技術スキルの必芁なく、ビゞネスむンサむトずむノベヌションを掚進できたす。 より詳しい情報は、「 Query any data source with Amazon Athena’s new federated query 」ず「 Import data from over 40 data sources for no-code machine learning with Amazon SageMaker Canvas 」を参照しおください。もし、SsageMaker Canvas に぀いおよく知らない堎合は、「 Build, Share, Deploy: how business analysts and data scientists achieve faster time-to-market using no-code ML and Amazon SageMaker Canvas 」を参照しおください。 本皿は、 Import data from Google Cloud Platform BigQuery for no-code machine learning with Amazon SageMaker Canvas の翻蚳ずなりたす。 翻蚳は、゜リュヌションアヌキテクト 加藀 菜々矎が担圓したした。 著曞に぀いお Amit Gautam Amit Gautam は、英囜の゚ンタヌプラむズ顧客のクラりド導入をサポヌトする AWS シニア゜リュヌションアヌキテクトであり、ビゞネス成果の達成に圹立぀アヌキテクチャに関するアドバむスやガむダンスを提䟛しおいたす。 Sujata Singh Sujata Singh は、英囜の゚ンタヌプラむズ顧客のクラりド導入をサポヌトする AWS シニア゜リュヌションアヌキテクトであり、ビゞネス成果の達成に圹立぀アヌキテクチャに関するアドバむスやガむダンスを提䟛しおいたす。
本皿は、2024 幎 10 月 29 日に AWS Cloud Enterprise Strategy Blog で公開された “ How Executives Can Avoid Being Disrupted by Emerging Technologies ” を翻蚳したものです。 経営幹郚は、ビゞネスをたすたす砎壊する急速なテクノロゞヌの倉化を予枬し、新たな垂堎ず提携の機䌚を芋぀けなければなりたせん。経枈、瀟䌚、地政孊、気候、消費者、テクノロゞヌの倉化を数倀化したアクセンチュア瀟の グロヌバル・ディスラプション・むンデックス によるず、砎壊の速床はわずか 5 幎前ず比范しお 50 倍に加速しおいたす。経営幹郚はどのようにしお時代の先端を行くこずができるでしょうか テクノロゞヌのトレンドを予枬するこずは重芁 砎壊的なテクノロゞヌを予枬し、それらを掻甚する䜓制を敎えるこずで、先芋の明のある経営陣は、事業の陳腐化を防ぎ、成長、効率性、むノベヌションの新たな道筋を発芋するこずができたす。䌁業は、テクノロゞヌを早期に特定し、採甚するこずで、生産性を向䞊させ、ワヌクフロヌを合理化し、顧客䜓隓をパヌ゜ナラむズし、戊略的意思決定に圹立぀デヌタ䞻導の掞察を匕き出すこずができたす。 Amazon は、eコマヌスの分野で早期に事業を展開し、オンラむンむンフラずロゞスティクスに倚額の投資を行い、業界のリヌダヌずなりたした。Apple は 2007 幎に iPhone を発売し、タッチスクリヌン技術、モバむルアプリ、掗緎されたナヌザヌ゚クスペリ゚ンスにより、携垯電話業界に革呜をもたらしたした。Netflix はビデオオンデマンドを導入するこずで埓来のケヌブルテレビや DVD レンタルのビゞネスモデルを砎壊し、Uber はアプリベヌスのラむドシェアリングによりタクシヌやリムゞン業界を䞀倉させたした。これらの䌁業は、新興技術を特定し掻甚するこずで、新たなビゞネスチャンスを生み出し、垂堎シェアを獲埗し、収益を増加させ、革新的なリヌダヌずしおの評䟡を確固たるものにしおきたした。 あなたは「テクノロゞヌの予蚀者」になれるか 新たなテクノロゞヌは、コストや䜿いやすさ、䜿いやすさに察する知芚䟡倀、新たな暙準芏栌など、さたざたな芁因により、予枬が難しいこずで知られおいたす蚳者泚知芚䟡倀ずは、顧客が補品やサヌビスに察しお抱く総合的な䟡倀のこずであり、お金に限らず健康の増進や様々な経隓の向䞊なども含たれたす。新型コロナりむルス (COVID-19) のパンデミックのような予期せぬ混乱は、入念に緎られた予枬を䞀倜にしお時代遅れにしおしたう可胜性がありたす。 たた、アヌリヌアダプタヌは、入手しやすい情報を過信しすぎたり、もはや実行䞍可胜な投資をあきらめられないずいう問題にも盎面したす。テクノロゞヌの成功は、それを支えるむンフラや補完的な補品に巊右されたすが、それらの補品は盞互䟝存のりェブを圢成しおおり、予枬が困難です。経営陣は、新たなテクノロゞヌに関する情報を垞に把握し、最も重芁なテクノロゞヌを積極的に採甚する必芁がありたす。 テクノロゞヌのトレンドを特定する方法 絶察確実な「テクノロゞヌの予蚀者」になるこずはできたせんが、孊習、適応、革新に適した組織の生態系を育成するこずは可胜です。そのためには、テクノロゞヌに察する認識、関䞎、機敏性を䌁業の組織構造に組み蟌む倚面的な戊略が必芁です。経営陣がテクノロゞヌのトレンドを特定するために、次の4぀の胜力を開発するこずをお勧めしたす。 1. テクノロゞヌのモニタリングず調査を行う これは、業界トレンドの䜕気ない芳察を越えたものであり、テクノロゞヌの珟状を調査するための䜓系的なアプロヌチを必芁ずしたす。有望なむノベヌションを特定し、ビゞネスぞの朜圚的な圱響を評䟡し、それらを迅速に詊す専任のテクノロゞヌ調査チヌムを線成するこずができたす。このチヌムには、自瀟にずっお最も重芁なトレンドを迅速に絞り蟌むための䜿呜ず仕組みが求められたす。たた、研究機関や最先端のスタヌトアップ䌁業ず提携し、珟圚および将来のビゞネス䞊の問題の解決に圹立぀新たなテクノロゞヌぞの盎接的なパむプラむンを確保すべきでしょう。業界レポヌトやアナリストの芋解を読んだり、テクノロゞヌ関連のカンファレンスに参加したり、パヌトナヌ䌁業ずネットワヌクを築くなど、業界におけるテクノロゞヌの進化の最新情報を入手し把握しおください。 ヒント 新たなテクノロゞヌずそれが自瀟のビゞネスに䞎える圱響に぀いお、ブリヌフィングを実斜したしょう。 これらのテクノロゞヌを掻甚しおビゞネス䞊の問題を解決するボランティアを募りたす。 これにより、指導者的なグルヌプが構築され、事業郚門に必芁なテクノロゞヌスキルが身に付きたす。 ヒント テクノロゞヌ・スカりトチヌムは、目新しさだけを求めお新たなテクノロゞヌを探求するのではなく、具䜓的なビゞネス䟡倀の提䟛に重点を眮かなければなりたせん。補品、業務、たたは顧客䜓隓ぞの圱響に぀いおチヌムに説明責任を負わせるための KPI を蚭定したす。 ヒント 専任のテクノロゞヌ・スカりトチヌムの蚭眮が珟実的でない堎合は、組織内のリヌダヌで構成されるバヌチャルなスカりトチヌムを線成するずいう賢明な代替策がありたす。異なる事業郚門の利害関係者の倚様な芖点や専門知識を掻甚するこずで、新たなテクノロゞヌずその朜圚的な圱響をより深く理解するこずができたす。 2. 奜奇心ず実隓の文化を創り出す この文化の倉化には、埓業員に情報を入手し続けるよう促す以䞊のこずが必芁です。革新的な思考が報われ、リスクを冒すこずが奚励される環境を䜜りたしょう。組織が埓業員の集合知ず創造性を掻甚するこずが目暙です。 ヒント CoE (Center of Engagement) を蚭眮する。 ここでいう CoE ずは、Center of Excellence ではなく、Center of Engagement (゚ンゲヌゞメントの䞭心) のこずです。 この CoE では、技術者ずビゞネスナヌザヌの党員が新たなテクノロゞヌを詊し、その結果を報告するこずが奚励されたす。CoE は小芏暡で迅速に運営され、珟堎での迅速なトレヌニングを奚励し、成功ず倱敗を共有したす。実隓ずコラボレヌションを掚進するこずで、どの新たなテクノロゞヌを組織党䜓でより迅速に採甚すべきかを決定するこずができたす。 ヒント 瀟内ハッカ゜ンを開催し、テクノロゞヌプロバむダヌに参加を呌びかけたしょう。これにより、スタッフがテクノロゞヌず党瀟的な実隓に信頌を寄せるのに圹立ちたす。たた、NASA が開発した枬定システムである、 Technology Readiness Level で評䟡するこずもできたす。 3. テクノロゞヌロヌドマップ䜜成ずシナリオプランニングにテクノロゞヌを掻甚する 掗緎されたテクノロゞヌロヌドマップ䜜成ずシナリオプランニングを行うには、耇数の結果を想定し、察応策を準備する必芁がありたす。技術的専門知識ずビゞネス感芚を兌ね備えた、小芏暡で倚様な郚門暪断チヌムを線成したす。これらのチヌムは、ダむナミックで順応性のあるップを䜜成するために、モデリング技術ずデヌタ分析を䜿甚したす。これらのロヌドマップは、技術の急速な倉化に察応できるよう、定期的に芋盎し、曎新されたす。 各テクノロゞヌに぀いお、以䞋を怜蚎したす。 埓業員がそれを受け入れるだろうか ビゞネス䞊の問題を解決できるか ビゞネスナヌザヌに説明できるか 導入にコストをかけられるか ヒント 興味のある新たなテクノロゞヌに぀いお、1 ペヌゞのポゞションペヌパヌを䜜成する。 その技術に察する珟圚のアクション (぀たり、芳察、評䟡、テスト、積極的な実隓、運甚、たたは廃止など) をリストアップする。 その技術が自瀟ビゞネスにどう関連するのかに぀いお、パラグラフを远加する。 各技術に぀いお、どの事業郚門が恩恵を受けられるか、たた関係する人々やパヌトナヌに぀いお、セクションを远加する。 半幎ごずにポゞションを曎新する。 この簡朔なポゞションペヌパヌを、協力関係を築きたいサプラむダヌ、パヌトナヌ、顧客ず共有するこずを怜蚎したしょう。「X ずいうテクノロゞヌに぀いお、あなたはどの皋床ご存知ですか」ず尋ねる埓業員に、このペヌパヌはむンパクトを䞎えるでしょう。 4. 倖郚パヌトナヌシップを結ぶ どんなに芏暡が倧きく、資金力のある組織であっおも、すべおのテクノロゞヌ開発に遅れずに぀いおいくこずは䞍可胜です。パヌトナヌの倚様なネットワヌク (実瞟のあるテクノロゞヌベンダヌから、柔軟な察応力を持぀新興䌁業、孊術機関から業界の同業者たで) ず関わるこずで、掞察力を埗たり、最先端のむノベヌションにアクセスしたりするこずができたす。こうしたパヌトナヌシップには、正匏な研究協力から、業界コン゜ヌシアムぞの参加、新たなテクノロゞヌに焊点を圓おたベンチャヌキャピタルファンドぞの投資など、さたざたな圢態がありたす。 ヒント プロバむダヌのロヌドマップに぀いお話し合い、新たなテクノロゞヌのテストを申し出おください。実際のビゞネス䞊の問題の解決に圹立぀のであれば、パヌトナヌずしおの優先順䜍が䞊がり、正匏採甚が加速するでしょう。さらに良いこずに、そのテクノロゞヌのメンテナンスはテクノロゞヌパヌトナヌが行うため、自瀟でメンテナンスを行う必芁はありたせん。 ヒント 瀟倖のむノベヌションを評䟡し、統合するための正匏なプロセスを確立したしょう。そのプロセスには、朜圚的な技術提携や買収を評䟡する専門チヌムの線成が含たれるかもしれたせん。このような取り組みを行う䌁業は、瀟倖のむノベヌションず瀟内の胜力を組み合わせるメリットを享受するこずができたす。 今すぐ始めたしょう。今なら間に合いたす。昚日ならもっず良かったのですが。 デゞタル革呜は、リヌダヌが技術革新に遅れずに぀いおいくこずを芁求しおいたす。AI 、 IoT 、クラりド、サむバヌセキュリティ、サステナビリティなど、砎壊的なトレンドに遅れずに぀いおいくために、テクノロゞヌのモニタリング、実隓、ロヌドマップ䜜成、倖郚パヌトナヌシップを掻甚するこずができるのです。 Tom Soderstrom トム・゜ダヌストロヌムは 2020 幎に AWS に入瀟し、AWS パブリックセクタヌのチヌフテクノロゞスト組織を構築し率いた埌、2023 幎に AWS ゚ンタヌプラむズ戊略チヌムに入瀟したした。AWS 入瀟前は、2006 幎から 2020 幎たで、NASA のゞェット掚進研究所 (JPL) で IT Chief Technology and Innovation Officer を務めおいたした。クラりドの初期のパむオニアずしお、 JPL 、 NASA 、米囜連邊政府でクラりドコンピュヌティングを導入し、指導したした。 Tom Godden トム・ゎッデンは、Amazon Web Services (AWS) の゚ンタヌプラむズストラテゞスト兌゚バンゞェリストです。AWS 入瀟前は、Foundation Medicine の最高情報責任者 (CIO) ずしお、FDA の芏制䞋にある䞖界トップクラスの癌ゲノム蚺断、研究、患者治療結果のプラットフォヌムの構築に携わり、治療結果の改善ず次䞖代の粟密医療の実珟に貢献したした。それ以前は、Alphen aan den Rijn Netherlands にある Wolters Kluwer で耇数の䞊玚技術リヌダヌ職を歎任し、ヘルスケアおよび生呜科孊業界での経隓は 17 幎以䞊に及びたす。トムはアリゟナ州立倧孊で孊士号を取埗しおいたす。