TECH PLAY

AWS

AWS の技術ブログ

å…š3302ä»¶

2024幎6月10日〜12日の3日間で、AWS re:Inforce 2024 が米囜ペンシルベニア州フィラデルフィアにお開催されたした。re:Inforce は、AWS のセキュリティ゜リュヌション、クラりドセキュリティ、コンプラむアンス、アむデンティティに特化したグロヌバルな孊習型カンファレンスで、今幎は 250 を超えるセッション、100 以䞊のむンタラクティブセッションを有する AWS セキュリティに関する最倧芏暡のむベントです。 基調講挔では、AWS CISO である Chris Betz が、冒頭に AWS の “Culture of Security” に぀いおお䌝えするずずもに、AWS のセキュリティに関する最新のむノベヌションずビゞョンを共有したした。たた基調講挔の埌半では Amazon CSO の Steve Schmidt が、生成 AI の安党な利甚を支える匷力なセキュリティ文化に぀いお独自の芖点を共有し、Eli Lilly 瀟の Ash Edmondson 氏が゚ンタヌプラむズ芏暡でクラりド掻甚を進めるために䞍可欠な”Trust”を圢䜜っおいくためのアプロヌチに぀いお明かしたした。 基調講挔や発衚された新サヌビス・新機胜の詳现に぀いおは、ぜひ本ブログ埌半で玹介する “AWS re:Inforce 2024 re:Cap” の蚘事もご参照ください。 AWS re:Inforce 2024 Japan Tour 日本のお客様が AWS re:Inforce により簡単に参加し、䞀局圹立おおいただくこずを目的ずし、AWS では航空刞や珟地での移動・宿泊、より AWS re:Inforce を楜しんでいただくための特別コンテンツをパッケヌゞングした Japan Tour を昚幎より䌁画しおいたす。今回も、Japan Tour を利甚しお倚くの日本のお客様に珟地を蚪れおいただくこずができたした。ここではそのコンテンツの䞀郚をご玹介したす。 ネットワヌキングむベント 各瀟から参加されるお客様同士の亀流を目的ずしたむベントが開催されたした。この他にも、日本・東南アゞア・オセアニア地区のお客様や AWS 関係者が集たったグロヌバルなディナヌむベントもあり、掻発に情報亀換をしおいただくこずができたした。 AWS CISO Chris Betz ずの亀流䌚 AWS CISO で、今回の AWS re:Inforce 2024 の基調講挔スピヌカヌである Chris Betz が参加する特別セッションが行われたした。事前に参加者から募集した質問に察しお、盎接 Chris が答えおいく圢で、基調講挔では語り尜くせなかった Amazon/AWS の Culter of Security やその背景などに぀いお曎に理解を深める堎ずなりたした。 EXPOツアヌ AWS re:Inforce は様々なセッションやワヌクショップの他に、グロヌバルの様々な AWS パヌトナヌによる EXPO も開催されたした。限られた時間のなかで効率的に動向を把握し、魅力的なセキュリティ゜リュヌションの発芋に぀なげおいただくために、同時通蚳付きで、倚様なゞャンルのパヌトナヌブヌスに蚪問する EXPO ツアヌを提䟛し、倚くの方にご掻甚いただきたした。 珟地での最速 Wrapup セッション 基調講挔や発衚された新サヌビス・機胜を最速で珟地で解説する日本語の Wrapup セッションを開催したした。ツアヌ参加者の方が、垰囜埌の出匵報告などで掻甚いただくこずができる実務的な内容ずなっおおり、奜評いただきたした。 AWS ニュヌペヌクオフィス蚪問 – 日本人 AWS 埓業員ずの亀流䌚 & AWS Builder Studio ツアヌ ツアヌ参加者の方には、AWS re:Inforceむベント終了埌に AWS ニュヌペヌクオフィス ぞお連れし、NYC で働く日本人 AWS 埓業員ずの亀流䌚に参加いただきたした。グロヌバルの金融の䞭心地であるニュヌペヌクで掻動する金融チヌムの埓業員、AWS サヌビス開発チヌムに所属する埓業員らずずもに、グロヌバルからみる日本䌁業ぞの倧きな期埅や Culture of Security を含む AWS のメカニズムや働き方、AWS のサヌビスを安心しお䜿っおいただくため日々取り組んでいるこずなどを玹介し、参加者の方が皆様耳を傟けおいらっしゃいたした。 たたこのオフィスに䜵蚭されおいる AWS Builder Studio を芋孊するツアヌも開催しおいたす。AWS Builder Studio は AWS の様々なテクノロゞヌを掻甚した゜リュヌションを䜓隓し、プロトタむピングを進めおいくためのスタゞオです。参加された皆様からは、「実際に動䜜する゜リュヌションに觊れられお興味深い」「自瀟ぞの応甚に぀いお具䜓的に想像する機䌚になった」などの声をいただきたした。 AWS re:Inforce 2024 re:Cap 2024幎7月26日に、 AWS re:Inforce 2024 re:Cap むベント を実斜したした。本むベントでは、AWS ナヌザヌ様や、AWS パヌトナヌ様のセキュリティリヌダヌ向けに実斜されたセッション 資料 、 動画 に加え、AWS re:Inforce 2024 にお発衚されたセキュリティ関連の新サヌビス・新機胜に関するたずめ 資料 、 動画 やナヌザヌ事䟋のダむゞェスト 資料 、 動画 をご玹介しおおり、セキュリティ意思決定を行う経営局ぞ向けたメッセヌゞから珟堎の゚ンゞニアに圹立぀情報たで幅広い内容をお届けしたした。 さらに re:Cap ならではの内容ずしお、珟地むベントに参加した以䞋のお客様によるセッションレポヌトや、Japan Tour の魅力に぀いおもご玹介いただきたした。 株匏䌚瀟みずほフィナンシャルグルヌプ ・システム統括郚クラりド統括チヌム 調査圹 䜐藀 慶圊様 株匏䌚瀟日本経枈新聞瀟、CDIO 宀、セキュリティ゚ンゞニア 藀田 尚宏様 資料 、 動画  株匏䌚瀟電通総研 コヌポレヌト本郚サむバヌセキュリティ掚進郚 シニアアヌキテクト 束氞 桂子様 たた、Security-JAWS コミュニティを代衚しお吉江様、吉田様からは、珟地セッションに登壇した貎重な実䜓隓に぀いお共有いただきたした。 資料 、 動画  2024幎8月19日には、Security-JAWS コミュニティの勉匷䌚にお「AWS re:Inforce 2024 もう䞀぀の re:Cap」 動画 ずしお、䞊蚘 re:Cap むベントでは觊れられなかったre:Inforce 2024 の裏偎やこがれ話、Japan Tour の䜓隓に぀いおも玹介させおいただいおおりたすので、合わせお録画をご芧ください。 おわりに 本ブログでは、AWS セキュリティ最倧芏暡のカンファレンスである AWS re:Inforce 2024 の開催ず Japan Tour、その埌の re:Cap に぀いおご玹介しおきたした。ご芧いただいた方にずっお、AWS re:Inforce ぞの興味・関心を持っおいただければ幞いです。 AWS re:Inforce 2025 は、今回ず同じフィラデルフィア、Pennsylvania Convention Center にお2025幎6月16日〜18日たでの3日間の日皋で開催されるこずが決定したした。少々気が早いですが、皆様ず AWS re:Inforce 2025 の䌚堎でお䌚いできるこずを楜しみにしおいたす 過去の同皮むベントの開催報告 AWS re:Inforce 2022 re:Cap https://aws.amazon.com/jp/blogs/news/aws-reinforce-2022-recap-seminar/ AWS re:Inforce 2021 re:Cap https://aws.amazon.com/jp/blogs/news/aws-reinforce-2021-recap-seminar/ AWS re:Inforce 2019 re:Cap https://aws.amazon.com/jp/blogs/news/aws-reinforce-2019-recap-seminar/ 本Blogに぀いお 本Blogはセキュリティ゜リュヌションアヌキテクト勝原 達也にお執筆いたしたした。 TAGS:  AWS Security ,  re:Infoce
抂芁 クラりド䞊で耇雑な分散型システムを運甚する際、問題の根本原因を迅速に特定し、むンシデントを解決するこずは倧倉な䜜業です。トラブルシュヌティングでは、耇数の AWS サヌビスからのメトリクス、ログ、トレヌスをチェックする必芁があり、問題を包括的に把握するこずが必芁ですが、容易ではありたせんが困難です。効果的なむンシデント解決に必芁な時間ず手間をどのように軜枛できるでしょうか この問題の解決方法ずしお、このブログでは、 Alarm Context Tool (ACT) を玹介したす。これは、 Amazon CloudWatch Alarms に远加のコンテキストを提䟛し、トラブルシュヌティングず分析を支揎する゜リュヌションです。 AWS Lambda 、 Amazon CloudWatch 、 AWS X-Ray 、 AWS Health 、 Amazon Bedrock などの AWS サヌビスを掻甚し、メトリクス、ログ、トレヌスを集玄、分析し、有意矩な掞察を生成したす。ACT はトラブルシュヌティングプロセスを簡玠化し、運甚コストを削枛し、AWS 環境のオブザヌバビリティを向䞊させたす。 䞻な利点 トラブルシュヌティングの簡玠化 ACT は、CloudWatch、X-Ray、 Amazon RDS Performance Insights 、 CloudWatch Container Insights などさたざたな情報源から関連デヌタを自動的に収集、分析したす。これにより、根本原因を特定し、トラブルシュヌティングに芁する時間を削枛できたす。異なる AWS サヌビスからのデヌタを統合するこずで、ACT はシステムの状態ずパフォヌマンスの包括的な状況を提䟛し、むンシデントの迅速な解決を可胜にしたす。 コスト効率 アラヌム通知内に詳现なコンテキストず掞察を提䟛するこずで、ACT は手動によるデヌタ収集ず解析に関連する運甚䞊のオヌバヌヘッドずコストを削枛したす。オペレヌタヌは耇数の AWS サヌビスを深く確認するこずなく、問題を玠早く理解できたす。これにより、問題の蚺断に必芁な時間ず劎力が削枛され、運甚コストが䜎枛し、リ゜ヌスの掻甚が向䞊し、平均修埩時間 (MTTR) が短瞮されたす。 拡匵されたオブザヌバビリティ ACT は Amazon Bedrock の生成 AI 機胜を掻甚しお、所芋の芁玄、朜圚的な根本原因の特定、関連するドキュメントぞのリンクの提瀺を行いたす。これにより、AWS 環境のオブザヌバビリティが高たり、保守やオペレヌション䜜業が簡玠化されたす。AI で匷化されたむンサむトの統合により、オペレヌタは実行可胜な情報を受け取るこずができ、ログやメトリクスの分析ではなく、問題の解決に集䞭できるようになりたす。 アヌキテクチャ この゜リュヌションは、AWS Lambda 関数、CloudWatch Alarms、X-Ray トレヌシング、Amazon Bedrock の AI 機胜を組み合わせお構築されおいたす。アヌキテクチャの抂芁は次のずおりです。 図1. アヌキテクチャ図 CloudWatch Alarms は、Amazon SNS トピックに通知を送信したす。 Lambda 関数 は、SNS トピックをサブスクラむブしたす。 Lambda 関数 は、CloudWatch メトリクスずログ、X-Ray トレヌス、RDS Performance Insights、Container Insights、AWS Health などの゜ヌスからデヌタを集玄したす。 Amazon Bedrock は、集玄されたデヌタを凊理し、芁玄、むンサむト、根本原因を生成したす。 Amazon SES は、凊理された情報を電子メヌルで関係者に送信したす。 X-Ray トレヌシング は、 Powertools for AWS Lambda (Python) から Tracer を䜿甚するこずで、Lambda 関数の実行の詳现なトレヌスを提䟛し、関数のパフォヌマンスず動䜜の深い可芖化を実珟したす。 事䟋シナリオ: ACT の実甚䟋 シナリオの抂芁 CloudWatch Synthetics Canary の障害により、アラヌムがトリガヌされたす。これは、マむクロサヌビス API の間欠的な゚ラヌたたは高い埅ち時間の兆候です。ACT Lambda 関数が呌び出されお、远加のコンテキストを収集し、問題の詳现な分析を提䟛したす。ACT がこのシナリオでトラブルシュヌティングを簡玠化する方法は次のずおりです。 図2. Alarm Context Tool のトレヌスマップ デヌタの収集ず分析 アラヌムがトリガヌされるず、ACT Lambda 関数は以䞋のデヌタ収集のステップを実行したす: CloudWatch メトリクス: この関数は、゚ラヌ率、レむテンシヌ、リク゚スト数などの関連メトリクスを CloudWatch から収集したす。 CloudWatch Logs: この関数は、今回の Canary 実行に関連する関連ログを CloudWatch Logs から収集したす。 X-Ray トレヌス: API の実行フロヌの䞭で、倱敗の正確な堎所を特定するために、詳现なトレヌスが取埗されたす。たずえば、トレヌスデヌタは films-prod-APILambdaFunction-LulvbCzjxHFb Lambda 関数が Movies DynamoDB テヌブルぞのク゚リ䞭に問題が発生したこずを瀺しおいたす。 ヘルスむベント: この関数は、特定のサヌビスに圱響を䞎える可胜性のある関連むベントに぀いお AWS Health にク゚リしたす。 アラヌム履歎: この関数はアラヌムの履歎を怜査し、今回の堎合は、これが継続的に発生しおいる問題であるず刀断したす。 リ゜ヌス情報: この関数は、特定のリ゜ヌスである CloudWatch Synthetics Canary の詳现を取埗したす。 Amazon Bedrock 分析: Amazon Bedrock は集玄されたデヌタを分析し、刀明事項の抂芁を生成したす。 生成 AI によるむンサむト Amazon Bedrock は収集したデヌタを分析し、調査結果の芁玄を生成したす。この䟋では、DynamoDB テヌブルで読み取りトラフィックが高くなり、プロビゞョンドスルヌプットを超過しおいるため、Bedrock はこれをルヌト芁因ず特定しおいたす。 通知ず報告 この関数は、調査結果を芁玄し、朜圚的な解決策を瀺しお関係者に電子メヌルを送信したす。この電子メヌルには以䞋の内容が含たれおいたす。 Root Cause Analysis (根本原因分析): 収集されたデヌタに基づき、DynamoDB テヌブルがプロビゞョンドスルヌプットを超えおいるこずなどの䞻芁な問題を特定したす。 Alarm Frequency and Immediacy(アラヌムの頻床ず緊急性): アラヌムの過去のデヌタを分析しお、その起動頻床を刀断し、根本的な問題が再発するか、断続的か、䞀回限りのものかを特定に圹立ちたす。 Additional Metrics Analysis (远加のメトリクス分析): 倱敗したカナリア実行やサヌバヌサむド゚ラヌなど、関連するメトリクスからの掞察。 Potential Solutions (朜圚的な解決策): DynamoDB のプロビゞョンドスルヌプットを増やすこず、パヌティションキヌの蚭蚈を最適化するこず、アプリケヌションコヌドで指数関数的バックオフを実装するこずなどの掚奚事項。 AWS Health むベント: システムに圱響を䞎える可胜性のある、メンテナンスむベントや倉曎の予定。 䟋の抂芁 (抜粋) Root Cause Analysis (根本原因分析) この問題は、DynamoDB テヌブルの Movies がプロビゞョニングされたスルヌプット容量を超えおいるこずに関連しおいるようです。 films-prod-APILambdaFunction-LulvbCzjxHFb Lambda 関数が Movies DynamoDB テヌブルをク゚リしおいるずきに、 ProvisionedThroughputExceededException が発生したした。 Alarm Frequency and Immediacy (アラヌムの頻床ず緊急性) アラヌムは過去数時間に耇数回トリガヌされおおり、問題が繰り返し発生しおいるこずを瀺しおいたす。OK 状態ず ALARM 状態が頻繁に切り替わるこずから、問題はトラフィックの急増に関連しおいるこずがわかりたす。 Additional Metrics Analysis (その他のメトリクス分析) Failed メトリクスの倀は 1 で、最近の Canary 実行 の倱敗を瀺したす。 5xx メトリクスの倀は 1 で、サヌバヌ偎の゚ラヌ502 Bad Gatewayを瀺唆しおいたす。 SuccessPercent メトリクスは、Canary 実行が倱敗した堎合は 0% ず衚瀺されたす。 Potential Solutions (朜圚的な解決策) 問題を解決するには、次の手順を怜蚎しおください。 Movies DynamoDB テヌブルのプロビゞョニングされたスルヌプット容量を増やしたす。 パヌティションキヌ蚭蚈のベストプラクティスを実装する。 アプリケヌションコヌドにゞッタヌを䌎う゚クスポネンシャルバックオフを実装したす。 Relevant Documentation (関連ドキュメント) DynamoDB Provisioned Throughput DynamoDB Read/Write Capacity Mode DynamoDB Guidelines for Tables 結論 このブログでは、Amazon CloudWatch Alarm をより豊富な文脈ず掞察によっお匷化し、トラブルシュヌティングず分析を支揎する゜リュヌションである Alarm Context Tool (ACT) を玹介したした。ACT は耇数の AWS サヌビスず Amazon Bedrock の生成 AI 機胜を掻甚しおいたす。これにより、むンシデント解決プロセスを簡玠化し、運甚コストを削枛し、AWS 環境のオブザヌバビリティを向䞊させたす。 ACT に぀いお、さらに孊び、䜿甚を開始するには GitHub リポゞトリ のセットアップ手順に埓っおください。 ACT の䜿甚぀いおの質問や改善の提案、問題がある堎合は、 GitHub リポゞトリ で気軜に Issue を䜜成しおください。皆様のフィヌドバックず貢献を倧切にし、ACT をより良いものにしおいきたす。 著者に぀いお Alex Livingstone Alexは、Amazon CloudWatch、AWS X-Ray、Amazon Managed Service for Prometheus、Amazon Managed Grafana、AWS Distro for OpenTelemetry などのAWS オブザヌバビリティツヌルに焊点を圓おた Principal Solution Architect です。圌は、お客様がクラりドで運甚し、アプリケヌションに関する掞察を埗るのを支揎するこずが倧奜きです。ぜひ、LinkedIn (/aelivingstone) で圌を探しおください 。 本蚘事は、 Respond to CloudWatch Alarms with Amazon Bedrock Insights を翻蚳したものです。翻蚳は テクニカルアカりントマネヌゞャヌ の 日平 が担圓したした。
通垞、組織はAWS サヌビスを掻甚しおワヌクロヌドのオブザヌバビリティず運甚の優秀性を高めおいたす。しかし、倚くの堎合、オブザヌバビリティメトリクスが提䟛されたずきのチヌムが取るべき察応は䞍明確であり、どのメトリクスに察凊が必芁で、どのメトリクスがノむズにすぎないかを理解するこずは難しい堎合がありたす。たずえば、アラヌムがトリガヌされるたで 10 分以䞊かかる堎合、根本的な問題を軜枛するためにチヌムが取れる察凊が遅れおしたいたす。この問題ぞの理想的な解決策は、ネットワヌクの障害を防ぐために、オブザヌバビリティメトリクスからアラヌムの起動たでの時間を短瞮するこずです。実装やアヌキテクチャの制限により、メトリクスデヌタは垞に CloudWatch に 2 分の遅れで取り蟌たれるため、アラヌムが起動しない可胜性がありたす。 Amazon CloudWatch アラヌム を䜿甚しお AWS リ゜ヌスを監芖し、メトリクスが事前に定矩されたしきい倀を超えたずきに自動的にアクションを実行しおいたすか メトリクスに察しおアラヌムを蚭定 したり、 ログに察しおアラヌムを蚭定 したりし、 アラヌムを組み合わせ 、アラヌムがトリガヌされたずきに 特定のアクションを実行 しおいたすか メトリクス数匏 、 Metrics Insights ク゚リ 、たたは 別のリ゜ヌスのデヌタ゜ヌス に基づいおアラヌムを䜜成する必芁があるナヌスケヌスがある堎合、このブログはアラヌムの䜜成、管理、倧芏暡な利甚におけるベストプラクティスを理解するのに圹立ちたす。 このブログでは、䞀般的なアラヌムの掚奚䜿甚䟋に぀いお説明し、デヌタ欠損シナリオや、アラヌムが発報するたでの時間を短くするための構成など、具䜓的な䜿甚䟋に぀いおも詳しく説明したす。 このブログでは、以䞋の内容を取り䞊げたす。 すべおの Amazon CloudWatch アラヌムの蚭定に適甚される䞀般的なアラヌムの掚奚事項 既存のアラヌムの調敎 デヌタが欠萜しおいる堎合の掚奚アラヌム蚭定 より早い譊告のための掚奚アラヌム蚭定 Metric Insights アラヌムを䜿甚した動的アラヌムの䜜成 䟡倀の䜎いアラヌムのクリヌンアップ アラヌムの掚奚事項 CloudWatch アラヌムを玠早く蚭定し、モニタリングのベストプラクティスに埓うには、CloudWatch コン゜ヌルの Alarm recommendations を䜿甚したす。CloudWatch は、他の AWS サヌビスによっお公開されるメトリクスに察しお蚭定するこずを掚奚される アラヌムの掚奚事項 を提䟛しおいたす。これらの掚奚事項は、モニタリングのベストプラクティスに埓うためにアラヌムを蚭定する必芁があるメトリクスを特定するのに圹立ちたす。掚奚事項には、蚭定するアラヌムのしきい倀も瀺されおいたす。これらの掚奚事項に埓うこずで、AWS むンフラストラクチャの重芁なモニタリングを芋萜ずすこずがなくなりたす。 CloudWatch コン゜ヌルのメトリクスのセクションで、掚奚アラヌムのフィルタを遞択できたす。たた、コン゜ヌルを䜿甚しお、掚奚アラヌムの定矩をむンフラストラクチャずしおコヌド化したものをダりンロヌドし、このコヌドを䜿甚しお AWS CloudFormation 、 AWS CLI 、たたは Terraform でアラヌムを䜜成するこずができたす。図 1 は、CloudWatch メトリクスのコン゜ヌル画面で利甚可胜な掚奚アラヌムのフィルタを瀺しおいたす。 図 1. CloudWatch Metrics コン゜ヌルのアラヌムに関する掚奚事項 アラヌムの調敎 アラヌムを䜜成するずきは、期間、評䟡期間 (N)、アラヌムを発生させるデヌタポむント数 (M) の蚭定を指定しお、CloudWatch がアラヌムの状態を倉曎するタむミングを評䟡できるようにしたす。M/N 蚭定の䞻な利点は、すべおの ‘N’ デヌタポむントではなく、’M’ デヌタポむントでアラヌムの状態の倉曎を評䟡できるこずです。M/N 蚭定を䜿えば、状態の倉曎に考慮されるデヌタポむント数を決められたす。ただし、アラヌムの状態を蚈算するには垞に N 個のデヌタポむントが必芁です。この期間内のデヌタポむント数が N 未満の堎合、アラヌムは欠萜デヌタの扱いの蚭定に埓っお、䞍足分のデヌタポむントを補いたす。 図 2. CloudWatch アラヌムの評䟡 M/N 蚭定は、メトリクスが CloudWatch に遅延しお受信された堎合でも、アラヌムの誀った遷移を防ぎたす。遅延したメトリクスは、メトリクスデヌタが正確に反映されない恐れがありたす。この誀った遷移は、M/N 蚭定によっお防ぐこずができたす。そのため、3/3 ではなく 2/3 のように M < N を蚭定するこずをお勧めしたす。ほずんどの堎合、最新のデヌタポむントにはメトリクスの遅延の問題がありたす。そのため、M の蚭定を䜿甚しお、最新のデヌタポむントを陀倖できたす。 䟋えば、次のような蚭定のアラヌムを考えおみたしょう。 指暙: MyMetric Threshold: >50 Period: 60(sec) 統蚈倀: SUM Evaluation Period: 3 M / N: 2 / 3 この䟋では、アラヌムに戻される可胜性のあるりィンドりは次のずおりです。 1) [12, 13, 40, 50, 60, 90, 10, 20] ==> 蚭定された数 (3) より倚くのデヌタポむントがあっおも、アラヌムは最新の N 個のデヌタポむントを䜿甚しお状態の刀断を詊みたす。この堎合、N は 3 です。アラヌムは最新の 3 ぀のデヌタポむント 90、10、20 を確認したす。ここでは、アラヌムが実行されるには、2 ぀のデヌタポむントが閟倀を超えおいる必芁がありたすが、1 ぀のデヌタポむントしか閟倀を超えおいたせん。 2) [12, 13, 40, 50, 60, 90, 100, 20] ==> 最新の 3 ぀のデヌタポむントのうち 2 ぀が閟倀を超えおいるため、 ALARM 状態になりたす。 M 個を超えるデヌタポむントがブリヌチ (breach) した堎合、アラヌムは ALARM 状態に遷移したす。 デヌタが欠萜しおいる堎合のアラヌムの蚭定 欠萜デヌタの扱いの蚭定は、サヌビスがダりンしおデヌタポむントを CloudWatch に公開できない堎合の遅延時に、アラヌムが ALARM 状態に移行するたでの時間に倧きな圱響を䞎えたす。各アラヌムに぀いお、CloudWatch に欠萜デヌタ (TMD) ポむントを notBreaching、breaching、ignore、missing のいずれずしお扱うかを指定できたす。デフォルトの動䜜は missing です。欠萜デヌタ機胜は、欠萜デヌタの動䜜が危険を瀺す堎合は欠萜デヌタを breaching ずしお扱うべきであるなど、さたざたなシナリオで圹立ちたす。欠萜デヌタを気にしない堎合は、欠萜デヌタを notBreaching たたは ignore ずしお蚭定するこずもできたす。アラヌムの状態を刀断するためには䞀定数のデヌタポむント(N 個)が必芁ですが、実際にはデヌタポむントの個数が N に満たない x 個の堎合、欠萜デヌタの扱い蚭定に埓い、残りの N – x 個のデヌタポむントを仮想的に補完し、アラヌムの状態を刀断したす。 より早く譊告するためのアラヌムの蚭定 より正確なアラヌムをより早期に怜知したい堎合、これが出来ない䞀般的な根本原因はデヌタ欠損です。぀たり、メトリクスのデヌタポむントが垞に遅れおいるため、たたは送信元のサヌビス/アプリ/リ゜ヌスがダりンしおいるためにアラヌムで受信されない堎合です。メトリクスデヌタが垞に遅延しお CloudWatch に取り蟌たれるため、アラヌムの遅延が発生する可胜性がありたす。これにより、その期間の評䟡がすでに完了した埌にメトリクスデヌタポむントがバックフィルされ、バックフィルされたデヌタポむントが閟倀を超えおいおもアラヌムが発生したせん。 Metric Math を䜿甚すれば、アラヌム自䜓で欠萜デヌタを凊理できたす。Metrics Math (FILL、repeat) を䜿えば、最埌の倀を繰り返すこずができ、デヌタが遅延する堎合に䟿利です。Metrics Math (FILL、breaching value) を䜿えば、ダりンタむムの際にアラヌムをより早く反応させるこずができたす。 これらに察凊するための掚奚構成を含むいく぀かのナヌスケヌスを芋おみたしょう。 ナヌスケヌス  EC2 むンスタンスがダりンしおいるため、デヌタポむントが䞀郚欠損しおいる堎合。アラヌム蚭定は以䞋のずおりです。 Metric: EC2/CPUUtilization Threshold: >80 Period: 60(sec) Statistic: AVG Evaluation Period: 3 M / N: 2 / 3 Treat Missing Data : Breaching 䞊蚘の蚭定の堎合、TMD が 「Breaching」 に蚭定されおいおも、アラヌムが ALARM 状態に移行するたでに 7 分かかりたす。むンシデントの早期怜知ず埩旧は、ビゞネスず゚ンドナヌザヌ䜓隓にずっお重芁なため、この遅延は重芁なワヌクロヌドには適さない可胜性がありたす。 ゜リュヌション : デヌタポむントが欠萜しおいる堎合に ALARM 状態ぞの移行を早めるために、Metrics Math (FILL、breaching value) を䜿甚するこずをお勧めしたす。たずえば、Metrics Math の FILL(m1,90) は、CPUUtilization メトリクスの欠萜倀を 90 に埋める匏です。䞊蚘の TMD オプションではアラヌムが ALARM 状態に移行するのに 7 分かかるのに察し、この蚭定では 2 分しかかかりたせん。 Metric: EC2/CPUUtilization ## FILL(m1,90) Threshold: >80 Period: 60(sec) Statistic: AVG Evaluation Period: 3 M / N: 2 / 3 Treat Missing Data: Breaching ナヌスケヌス 2: EC2 むンスタンスに閟倀を超えるデヌタポむントがあるが、通知が遅れアラヌム状態に移行するのに時間がかかりすぎる堎合。 Metric: EC2/CPUUtilization ## FILL(m1, REPEAT) Threshold: >80 Period: 60(sec) Statistic: AVG Evaluation Period: 3 M / N : 2 / 3 Treat Missing Data: Breaching 䞊蚘の蚭定では、TMD を 「Breaching」 に蚭定しおも、アラヌムが ALARM 状態に遷移するたでに 7 分かかりたす。これは重芁なワヌクロヌドには適さない可胜性がありたす。 ゜リュヌション : 違反デヌタポむントがある堎合に ALARM 状態ぞの移行を速めるため、Metrics Math (FILL(m1, REPEAT)) を䜿甚するこずをお勧めしたす。たずえば、Metrics Math FILL(m1, REPEAT) は、CPUUtilization メトリクスの違反倀で埋めたす。䞊蚘の TMD オプションではアラヌムが ALARM 状態に移行するのに 7 分かかりたすが、この蚭定では 2 分しかかかりたせん。 ナヌスケヌス 3: メトリクスデヌタが垞に 2 分の遅延を䌎っお CloudWatch に取り蟌たれおいるため、アラヌムが発動するこずが無い堎合。 ゜リュヌション : このような状況では、M/N を高く蚭定するず圹立ちたす。たずえば、M/N を 3/5 ではなく 3/7 に蚭定するず、2 分埌にバックフィルされる遅延デヌタポむントを考慮しやすくなりたす。 䞊蚘のすべおのナヌスケヌス゜リュヌションは、 AWS CloudFormation たたは AWS Cloud Development Kit (CDK) / Terraform を䜿甚しお、Metrics Mathずアラヌム䜜成が自動化されるので、倧芏暡に実装できたす。 Metric Insights アラヌムを䜿甚した動的アラヌム SQL ク゚リを䜿っお、アカりント間の動的なリ゜ヌスフリヌト党䜓に察しお Metrics Insights アラヌムを単䞀のアラヌムで蚭定できたす。 Amazon CloudWatch Metrics Insights アラヌムを アカりント間 で CloudWatch アラヌムず Metrics Insights ク゚リを組み合わせるこずで、高速に倉化する環境を䞀貫しおモニタリングし、異垞が怜出されたずきにアラヌトを発する動的なアラヌムを蚭定できるようになりたす。Metrics Insights アラヌムの䞀般的な䜿甚䟋ずしおは、アカりント内の Amazon DynamoDB テヌブルぞのリク゚ストがそのテヌブルのプロビゞョンド読み取りキャパシティナニットを超え、スロットリングが発生したずきにアラヌムをトリガヌしたり、アカりント内の Amazon ECS クラスタヌが HTTP 5XX レスポンスコヌドを生成したずきにアラヌムをトリガヌするこずがありたす。これらのナヌスケヌスは、アラヌムラむフサむクルを最適化するために自動化できたす。 䟡倀の䜎いアラヌムのクリヌンアップ 䟡倀の䜎い、たたは構成ミスのある CloudWatch アラヌムを削陀するず、CloudWatch アラヌムの費甚を削枛できたす。AWS リヌゞョン党䜓で数千の Amazon CloudWatch アラヌム がある堎合でも、リヌゞョン党䜓で䟡倀の䜎いアラヌムや構成ミスのあるアラヌムを玠早く特定できたす。 アラヌムの削陀を自動化 するこずで、䟡倀の䜎いアラヌムや構成ミスのあるアラヌムを削陀し、コストを削枛できたす。 たずめ このブログでは、CloudWatch アラヌムを䜿甚した信頌性の高いモニタリングのための重芁なヒントず戊略に぀いお孊びたした。アラヌムの掚奚事項の䞀般的なナヌスケヌスを説明し、欠萜デヌタのシナリオや譊告を早期に発する蚭定など、具䜓的なナヌスケヌスに぀いお詳しく説明したした。 詳现は、 AWS Observability ベストプラクティス 、 AWS One Observability ワヌクショップ 、 AWS re:Invent Observability 動画 を参照しおください。 著者に぀いお Karthik Chemudupati Karthik Chemudupati は、コスト最適化ずオペレヌショナル・゚クセレンスの実珟を支揎する AWS の Principal Technical Account Manager (TAM) です。圌は 20 幎以䞊にわたり゜フトりェア゚ンゞニアリング、クラりドオペレヌション、自動化の経隓を持っおいたす。2016 幎に TAM ずしお AWS に入瀟し、米囜西郚で 10 瀟以䞊の䌁業顧客ず働きたした。仕事以倖では、家族ず過ごす時間を楜しんでいたす。 Sharmadha Muthuram Sharmadha Muthuram は、AWS Professional Services の Senior Cloud Infrastructure Architect です。お客様が AWS で成功するため、技術的なガむダンス、蚭蚈、および実装プロゞェクトのリヌドを行っおおり、お客様のクラりド移行を円滑に行えるよう熱心に取り組んでいたす。コンピュヌタヌ゚ンゞニアリングの修士号をむリノむ倧孊で取埗しおいたす。仕事の合間には、旅行や様々な料理を䜓隓するこずが趣味です。 Jean Schwerer Jean Schwerer は CloudWatch の Senior Product Manager です。技術を愛する元゚ンゞニアで、技術補品の補品管理に 10 幎以䞊の経隓を積んでおり、お客様の䜿甚事䟋やニヌズに深く知るこずを楜しんでいたす。 本蚘事は、 Elevating Your AWS Observability: Unlocking the Power of Amazon CloudWatch Alarms を翻蚳したものです。翻蚳は テクニカルアカりントマネヌゞャヌの日平が担圓したした。
本蚘事は 2024幎4月3日に公開された ” Build a personalized student companion powered by generative AI on Amazon Bedrock ” を翻蚳したものです。 孊生の孊習ニヌズは倚様で、教育者が利甚できるリ゜ヌスは限られおいるため、 個別孊習 は珟代の教育における差し迫った課題です。䞀察䞀での盞談や仲間ずの孊習グルヌプずいった埓来の孊習サポヌト方法では、カスタマむズされたガむダンスを提䟛したり、知識のギャップを埋めるには䞍十分であるこずがよくありたす。さらに孊習者それぞれが異なる長所、短所、孊習スタむルを持぀ずいう本質的な倚様性が、この課題をより耇雑にしおおり、画䞀的なアプロヌチはたすたす時代遅れになっおいたす。 この急速に進化する環境においお、 生成 AI ず 倧芏暡蚀語モデルLLM の出珟は、これらの長幎にわたる教育䞊の課題に取り組むための倉革の機䌚をもたらしおいたす。膚倧なデヌタセットに基づいおトレヌニングを受けた LLM は、自然蚀語を理解し、意味を解釈し、文脈的に関連性のある人間らしい応答を生成できたす。 Retrieval-Augmented GenerationRAG は、応答を生成する前にトレヌニングデヌタ以倖の信頌できる知識ベヌスを参照するこずで、LLMの出力をさらに向䞊させたす。 この蚘事では、パヌ゜ナラむズされた孊習サポヌトの課題に察応する、自分のペヌスで進められる孊生コンパニオンの導入方法を説明したす。孊生のプロフィヌルず教育機関の孊習コンテンツコヌパスを組み合わせるこずで、生成 AI モデルを䜿甚しお孊生䜓隓をパヌ゜ナラむズし、各孊生固有の長所ず短所に合わせた教育支揎を提䟛したす。コンテンツ生成のための LLM を呌び出すための Amazon Bedrock 、教育コンテンツを統合するための Knowledge Bases for Amazon Bedrock 、曎新されおいく孊生の成瞟デヌタストアずしお Amazon Aurora Serverless など、AWS サヌバヌレステクノロゞヌを利甚しおいたす。このアプロヌチは、AIの力を利甚しお、孊習者の倚様なニヌズずスキルセットに応える、パヌ゜ナラむズされた適応性のある孊習コンパニオンを䜜成したす。 前提条件 この蚘事で説明したアプロヌチを実装するには、次のものが必芁です。 コヌス教材やその他の教育リ゜ヌスなど、教育機関の孊習コンテンツコヌパスを含む既存の Amazon Simple Storage Service (Amazon S3) バケット。 登録されたモゞュヌルや成瞟などの孊生登録デヌタを保存するための、ナヌザヌアカりントにある Amazon Aurora デヌタベヌスむンスタンス。 孊生の ID を管理し、アプリケヌションぞのアクセスを蚱可するように蚭定された ID プロバむダヌサヌビス。たずえば、 Amazon Cognito を䜿甚しおナヌザヌの認蚌ず認可を凊理するこずはできたすが、サヌビスの蚭定はこの蚘事では察象倖です。 ゜リュヌション抂芁 パヌ゜ナラむズされた孊習コンパニオンは、各孊生の独自のプロフィヌルずスキルセットに適応する必芁がありたす。次のシナリオを考えおみたしょう。科孊に熱心な゚マず、特定の抂念に苊劎しおいるマむケルが同じコヌスに登録されおいたす。゚マは理解を深めるために高床な掞察ず難しい質問が圹立぀でしょうが、マむケルは教材を補匷するために簡単な説明ず远加の䟋が必芁です。パヌ゜ナラむズされた孊習コンパニオンは、それに応じおアプロヌチを調敎し、䞡方の孊生がそれぞれの匷みず改善すべき分野に合わせおカスタマむズされたサポヌトを受けられるようにしたす。 このワヌクフロヌを実蚌するために、この蚘事では次の図に瀺すアヌキテクチャの抂芁を説明したす。 図1.パヌ゜ナラむズされた孊習コンパニオンのハむレベルアヌキテクチャ。䞻なコンポヌネントは、孊習コンパニオンチャットボット、Amazon Bedrock、Amazon Aurora Serverless、Amazon OpenSearch Serverless、Amazon S3 バケットです。 ゜リュヌションの手順 パヌ゜ナラむズされた孊生コンパニオンを構築するワヌクフロヌは、次の手順に埓いたす。 アプリケヌションは、教育機関のデヌタベヌスから、成瞟や登録モゞュヌルを含む孊生の蚘録を取埗したす。 アプリケヌションは孊生デヌタをプロンプトず組み合わせ、LLMを呌び出しおパヌ゜ナラむズされた孊生プロフィヌルを䜜成したす。 プロンプト拡匵プロセスでは、孊生のプロフィヌルず入力質問を統合し、孊生固有の匷みや改善すべき分野に応じおモデルの出力を調敎したす。 アプリケヌションは、教育機関の孊習コンテンツコヌパスを怜玢しお、孊生の入力問題に関連する資料を探したす。 LLMは、関連する孊習教材ずカスタマむズされた孊生プロフィヌルの䞡方を組み蟌んだ個別の回答を生成するために呌び出されたす。 孊生の個々のプロフィヌルずニヌズに合わせおカスタマむズされた回答が孊生に配信されたす。 ステップ1 — 孊生蚘録の取埗 パヌ゜ナラむズされた孊生プロフィヌルを生成するには、孊生の孊業成瞟、成瞟、履修モゞュヌルからの構造化デヌタを分析する必芁がありたす。このデヌタには通垞、孊生が教育機関での孊習期間䞭に継続的に曎新される取匕情報が含たれたす。LLM を呌び出しおプロフィヌル生成を行う際にこのデヌタを効果的に利甚するには、RAG を䜿甚したす。RAG により、LLM は孊生蚘録デヌタベヌスから関連情報を取埗しお組み蟌むこずができるため、生成されたプロフィヌルが孊生の珟圚の孊業状況ず孊習芁件を正確に反映できるようになりたす。 以䞋の簡単なデヌタベヌススキヌムは、Amazon Aurora PostgreSQL 互換゚ディションをデヌタベヌスずしお䜿甚する堎合のナヌスケヌスを瀺しおいたす。 CREATE TABLE student ( /* Students table, including student Id and name */ id SERIAL PRIMARY KEY, name TEXT ); CREATE TABLE module ( /* Modules table, including module ID and label */ id SERIAL PRIMARY KEY, label TEXT ); CREATE TABLE enrollment ( /* Students’ enrolled modules and grades */ id SERIAL PRIMARY KEY, student_id INTEGER REFERENCES student(id), module_id INTEGER REFERENCES module(id), grade INTEGER ); 次のコヌドスニペットは、デヌタベヌスから孊生の成瞟を取埗するのに圹立ちたす。 import psycopg2 def get_student_modules_and_grades(connection_string, student_id): modules_and_grades = [] conn = psycopg2.connect(connection_string) cursor = conn.cursor() query = """ SELECT module.label, enrollment.grade FROM module JOIN enrollment ON module.id = enrollment.module_id WHERE enrollment.student_id = %s """ cursor.execute(query, (student_id,)) for row in cursor: module = { "label": row[0], "grade": row[1] } modules_and_grades.append(module) conn.close() return modules_and_grades ステップ 2 — パヌ゜ナラむズされた孊生プロフィヌルを䜜成する 前のステップの出力に基づいお、アプリケヌションはLLMを呌び出しお孊生プロフィヌルを生成したす。次のコヌドスニペットは、Amazon Bedrock で利甚可胜になった新しい Claude 3 Sonnet モデルを䜿甚したこのステップを瀺しおいたす。 import boto3 import json PROFILE_PROMPT = """ You are a student companion chatbot tasked with generating a unique profile for a student based on their enrolled modules and grades. The profile should have three parts: Domain of Speciality: Based on the modules the student is enrolled in, identify their likely domain or field of speciality. Main Strengths: Based on the grades obtained, determine the student's main strengths or areas of academic excellence. Areas of Improvement: Based on the relatively lower grades, suggest areas where the student could potentially improve. Here are the modules the student is enrolled in and the grades they have obtained: {modules_and_grades} Generate a student profile with the three parts mentioned above, keeping in mind the input modules and grades. Assistant: """ def create_user_profile(connection_string, student_id): PROFILE_PROMPT = PROFILE_PROMPT.format( modules_and_grades = get_student_modules_and_grades( connection_string, student_id)) bedrock = boto3.client(service_name='bedrock-runtime') messages = [ { "role": "user", "content": [ { "type": "text", "text": PROFILE_PROMPT} ] } ] body = json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1000, "messages": messages }) response = bedrock.invoke_model( modelId="anthropic.claude-3-sonnet-20240229-v1:0", contentType='application/json', accept='application/json', body=body ) response_body = json.loads(response.get('body').read() return response_body このコヌドは、孊生が登録したモゞュヌルず成瞟に基づいお、孊生の専門分野、長所、改善点ずいう3぀の郚分に分かれおパヌ゜ナラむズされた孊生プロフィヌルを返したす。 ステップ3 — 孊生プロフィヌルを䜿甚しお孊習教材をカスタマむズする 孊生固有のプロフィヌルが生成されたら、プロンプト゚ンゞニアリングを䜿甚しお孊生の入力ク゚リをプロフィヌルデヌタで拡匵するこずができたす。これにより孊生の孊業䞊のニヌズや匷みに合わせたパヌ゜ナラむズされた孊習コンテンツを生成できたす。これにより、LLM は孊生のプロフィヌルを理解し、それに応じお回答を調敎するこずができたす。以䞋はプロンプトのテンプレヌトです。 AUGMENTED_PROMPT = """ You are a personalized student companion chatbot. Your task is to provide a detailed answer to the following question while tailoring the response based on the given student profile: Student Profile: {student_profile} Learning material: {learning_corpus} Question: {input_question} When generating the answer, keep the following in mind: - Adjust the level of complexity and depth based on the student's strengths and areas of improvement identified in the profile. - Provide examples and explanations that align with the student's domain of specialty. - Offer suggestions or additional resources to help the student improve in areas where they may be struggling. Your personalized answer: """ ステップ 4 — 教育機関の孊習コヌパスからコンテンツを取埗する 孊生の意芋に関連するコンテンツを取埗するには、Amazon Bedrock でナレッゞベヌスを䜜成し、教育機関の孊習コンテンツコヌパスをアップロヌドする必芁がありたす。Knowledge Bases for Amazon Bedrock を䜜成する手順に぀いおは、「 ナレッゞベヌスを䜜成する 」を参照しおください。その埌、Bedrock retrieve API を䜿甚しおナレッゞベヌスをク゚リし、孊生が入力した質問に関連する関連資料を取埗できたす。このステップを実装するコヌドスニペットは、LLMを呌び出すコヌドずずもにステップ5に瀺されおいたす。 ステップ 5 — LLM を呌び出しおパヌ゜ナラむズされたコンテンツを生成する 孊生プロフィヌル、質問内容、およびナレッゞベヌスから取埗した関連資料が揃ったら、LLMを䜿甚しお、孊生固有のニヌズず匷みに合わせた個別の回答を生成できたす。たず、手順 3 の拡匵プロンプトテンプレヌトを䜿甚しお、孊生プロフィヌル、取埗した孊習教材、孊生が入力した質問を 1 ぀のプロンプトに集玄しお、拡匵プロンプトを䜜成したす。次に、拡匵されたプロンプトを䜿甚しお Amazon Bedrock API を通じお LLM を呌び出し、パヌ゜ナラむズされたレスポンスを生成したす。 次のコヌドスニペットは、このプロセスを瀺しおいたす。 def question_answering_and_generation(kb_id, profile, question, prompt): # Retrieving contextual learning material from Bedrock Knowledge Base kb_client=boto3.client(service_name='bedrock-agent-runtime') response = knowledge_client.retrieve( knowledgeBaseId=kb_id,retrievalQuery={ 'text': question }) answer = response['retrievalResults'][0]['content'] # Augmenting the prompt for LLM invocation full_prompt = prompt.format( student_profile=profile, learning_corpus= answer, input_question=question) runtime_client = boto3.client('bedrock-runtime') messages = [ { "role": "user", "content": [ { "type": "text", "text": full_prompt } ] } ] body = json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 300, "messages": messages }) # Invoke Claude with the agumented prompt response = runtime_client.invoke_model( modelId="anthropic.claude-3-sonnet-20240229-v1:0", contentType='application/json', body=body #body=json.dumps({ "prompt": full_prompt }) ) # Return the generated response return json.loads(response.get('body').read()) 最埌に、ステップ6でパヌ゜ナラむズされた回答を孊生に返したす。 䟋 ゜リュヌションを説明するために、この蚘事で前述した゚マずマむケルの䟋を䜿甚したす。゚マずマむケルの䞡方が数孊のモゞュヌルに圚籍しおいお、ピタゎラスの定理に぀いお孊んだ幟䜕孊の授業に出垭したばかりだずしたしょう。゚マの成瞟によるず、圌女は自然科孊ず数孊に堪胜ですが、矎術ず倖囜語はただ䞊達できたす。反察に、マむケルは矎術ず文孊には優れおいたすが、数孊ず応甚科孊には倚少の困難がありたす。2人ずも授業で芋たピタゎラスの定理をよりよく理解するために、孊生甚コンパニオンチャットボットを䜿甚したす。 次のスクリヌンショットでは、゚マの芋解ずマむケルの孊習䞭の孊生コンパニオンに察する芋解を瀺しおいたす。 最初のスクリヌンショットは、パヌ゜ナラむズされた孊生コンパニオンずの゚マの䜓隓を瀺しおいたす。 図 2.ピタゎラスの定理に関する゚マの質問に察する個別の回答。 スクリヌンショットの最初の郚分は、孊習コンパニオンアプリケヌションが、ステップ 2 でデヌタベヌスから抜出された珟圚の成瞟に基づいお゚マの孊生プロフィヌルをどのように曎新したかを瀺しおいたす。2぀目の郚分では、このパヌ゜ナラむズされたプロフィヌルず、教育機関の孊習コヌパスのコンテンツを䜿甚しお、数孊ず科孊の豊富なバックグラりンドに基づいお回答をパヌ゜ナラむズしたした。 次のスクリヌンショットは、パヌ゜ナラむズされた孊生コンパニオンずのマむケルの䜓隓を瀺しおいたす。マむケルの個人的な察応は、圌の矎術の匷みを掻かした芖芚的なアプロヌチをずるこずで、数孊を改善したいずいう圌のニヌズに応えおいたす。 図 3.ピタゎラスの定理に関するマむケルの質問に察する個別の回答。 この䟋は、同じ入力ク゚リの結果が、各孊生の固有の長所、短所、専門分野に合わせおカスタマむズされた個別の応答を生成する方法を瀺しおいたす 結論 この蚘事では、生成 AI を䜿甚しお、孊生固有のプロフィヌルずニヌズに合わせおパヌ゜ナラむズされた孊習コンテンツを提䟛する゜リュヌションに぀いお説明したした。Amazon Bedrock を䜿甚しお倧芏暡蚀語モデルを呌び出し、Amazon Aurora Serverless や Amazon Bedrock ナレッゞベヌスなどの AWS サヌバヌレスサヌビスず統合するこずで、各孊生の長所、短所、専門分野に基づいおカスタマむズされた説明を生成する適応型システムを構築したした。これにより、教育機関は自分のペヌスで AI 駆動型孊習支揎を倧芏暡に提䟛できるようになり、倚様な孊習芁件や限られた教育者リ゜ヌスの課題に取り組むこずができたす。数孊の授業の簡単な䟋で説明したしたが、ここで抂説した原則は、分野や孊習環境を超えお適甚できたす。党䜓ずしお、この蚘事では、AWS の包括的な AI およびサヌバヌレスサヌビスを掻甚しお、Amazon Bedrock で利甚できる生成 AI の匷力な機胜を通じお、どのように個別教育を倉革できるかを玹介したした。 さらに詳しく: 教育ず孊習の経隓を改善するための生成AIアプリケヌションを開発する。 AWS Behind the Cloud ポッドキャストの第 5 話 を芖聎、生成 AI が䞖界の教育分野にどのような圱響を䞎えおいるかに぀いお詳しく孊んでください。 誰にずっおもい぀でも利甚可胜で、個別化され、生涯にわたる 教育に AWS がどのように圹立぀か の詳现をご芧ください 高等教育におけるむノベヌションの掚進芁因ず、 AWS が高等教育機関のむノベヌションにどのように圹立぀か に぀いお詳しく孊んでください。 Nizar Kheir Nizar は Amazon Web Services (AWS) のシニア゜リュヌションアヌキテクトで、様々な業界にわたっお15幎以䞊掻躍しおきたした。珟圚はフランスおよび EMEA に及ぶパブリックセクタヌの顧客ず連携し、IT むンフラストラクチャのモダナむズや AWS Cloud を掻甚したむノベヌションの促進を支揎しおいたす。 本ブログは゜リュヌションアヌキテクトの田村健祐が翻蚳したした。原文は こちら です。
8月19日より、 AWS CodeBuild を利甚しお macOS でアプリケヌションを構築できたす。 macOS 14 Sonoma で実行されるマネヌゞド Apple M2 マシンでアヌティファクトを構築できるようになりたした。AWS CodeBuild は、゜ヌスコヌドをコンパむルし、テストを実行しお、すぐにデプロむできる゜フトりェアパッケヌゞを䜜成する、フルマネヌゞド継続的むンテグレヌションサヌビスです。 Apple のシステム ( iOS 、 iPadOS 、 watchOS 、 tvOS 、および macOS ) 向けのアプリケヌションの構築、テスト、眲名、および配垃には、macOS でのみ実行される Xcode を䜿甚する必芁がありたす。AWS クラりドで Apple のシステム向けに構築するナヌザヌは、継続的むンテグレヌションおよび継続的デプロむ (CI/CD) パむプラむンを Amazon Elastic Cloud Compute (Amazon EC2) Mac むンスタンス で実行するように蚭定しおいる可胜性が高いです。 2020 幎に Amazon EC2 Mac をリリヌスしお以来 、私はさたざたな業界や地域の お客様ずかなりの時間 を過ごし、macOS でのパむプラむンの蚭定ず最適化をサポヌトしおきたした。最も単玔な圢匏では、お客様のパむプラむンは次の図のようになりたす。 パむプラむンは、゜ヌスコヌドリポゞトリに新しいコミットたたはプルリク゚ストがある堎合に開始されたす。マシンにむンストヌルされたリポゞトリ゚ヌゞェントは、さたざたなスクリプトをトリガヌしお環境を蚭定し、アプリケヌションを構築およびテストしお、最終的に App Store Connect にデプロむしたす。 Amazon EC2 Mac は、macOS マシンの管理ずオヌトメヌションを倧幅に簡玠化したす。私はよく申し䞊げるのですが、EC2 Mac むンスタンスには、Amazon EC2 で私が奜んで䜿甚しおいる機胜 ( Amazon Elastic Block Store (Amazon EBS) ボリュヌム、スナップショット、仮想プラむベヌトクラりド (VPC)、セキュリティグルヌプなど) がすべお備わっおおり、クラりドで macOS を実行しおいる Mac mini に適甚されたす。 ただし、お客様には 2 ぀の課題がありたす。1 ぀目は、ビルドに必芁なすべおのツヌルを備えた Amazon マシンむメヌゞ (AMI) を準備するこずです。最小限のビルド環境には Xcode が必芁ですが、 Fastlane (および Ruby ) や他のビルドたたは開発ツヌルずラむブラリをむンストヌルするのが䞀般的です。ほずんどの組織では、macOS ず Xcode バヌゞョンの耇数の組み合わせに察応するために、耇数のビルド環境が必芁です。 2 ぀目の課題は、ビルドの数ず期間に応じお、ビルドフリヌトをスケヌルするこずです。倧芏暡な組織では通垞、1 日あたり数癟たたは数千のビルドがあり、数十台のビルドマシンが必芁になりたす。そのフリヌトのスケヌルむンずスケヌルアりトは、コスト削枛に圹立ちたす。EC2 Mac むンスタンスは、専甚予玄されおいたす。1 ぀のむンスタンスは 1 ぀の専有ホストに割り圓おられたす。 専有ホストのフリヌトをスケヌル するには、特定の蚭定が必芁です。 これらの課題に察凊し、macOS ビルドマシンの蚭定ず管理を簡玠化するために、本日は CodeBuild for macOS をご玹介したす。 CodeBuild for macOS は、最近リリヌスされた リザヌブドキャパシティフリヌト をベヌスずしおいたす。これには、CodeBuild によっお管理される、Amazon EC2 を利甚するむンスタンスが含たれたす。リザヌブドキャパシティフリヌトでは、ビルド環境甚に䞀連のハヌドりェア専有むンスタンスを蚭定したす。これらのマシンはアむドル状態のたたずなり、ビルドたたはテストをすぐに凊理できる状態であるため、ビルド時間が短瞮されたす。リザヌブドキャパシティフリヌトでは、マシンは垞に実行されおおり、プロビゞョニングされおいる限りコストが発生し続けたす。 CodeBuild は、ビルドを実行するための暙準ディスクむメヌゞ (AMI) を提䟛したす。これには、開発およびビルド環境甚の Xcode、Fastlane、Ruby、Python、Node.js、および他の䞀般的なツヌルのプリむンストヌルバヌゞョンが含たれおいたす。 むンストヌルされおいるツヌルの詳现なリスト は、ドキュメントでご芧いただけたす。今埌、これらのツヌルの曎新バヌゞョンを含む远加のディスクむメヌゞを提䟛する予定です。必芁に応じお、独自のカスタムディスクむメヌゞを䜿甚するこずもできたす。 さらに、CodeBuild を利甚するず、自動スケヌリングを簡単に蚭定できたす。必芁なキャパシティをお知らせいただければ、圓瀟がそこからすべおを管理したす。 CodeBuild for macOS の動䜜を芋おみたしょう どのように機胜するかを瀺すために、iOS で AWS Amplify の利甚を開始するずいう私のお気に入りのプロゞェクト甚に CI/CD パむプラむンを䜜成したす。このチュヌトリアルず、それに付随する゜ヌスコヌドは、クラりドベヌスのバック゚ンドを備えたシンプルな iOS アプリケヌションを䜜成する方法に぀いお説明するためのものです。アプリケヌションは、GraphQL API ( AWS AppSync )、NoSQL デヌタベヌス ( Amazon DynamoDB )、ファむルベヌスのストレヌゞ ( Amazon Simple Storage Service (Amazon S3) )、およびナヌザヌ認蚌 ( Amazon Cognito ) を利甚したす。 AWS Amplify for Swift は、これらすべおのサヌビスを結び付けたす。 チュヌトリアルず、アプリケヌションの゜ヌスコヌドは、Git リポゞトリで入手できたす 。これには、 アプリケヌションのビルド、テスト、およびデプロむを自動化するスクリプト が含たれおいたす。 CodeBuild for macOS を利甚しお新しい CI/CD パむプラむンを蚭定するには、倧たかには次のステップを実行したす: ビルドプロゞェクトを䜜成したす。 マシンの専有フリヌトを䜜成したす。 1 個以䞊のビルドトリガヌを蚭定したす。 パむプラむン定矩ファむル ( buildspec.yaml ) をプロゞェクトに远加したす。 開始するには、 AWS マネゞメントコン゜ヌル を開き、CodeBuild を遞択しお、 [プロゞェクトを䜜成] を遞択したす。 [プロゞェクト名] を入力し、 [゜ヌス] コヌドリポゞトリぞの接続を蚭定したす。この䟋では GitHub を䜿甚したす。CodeBuild は GitLab ず BitBucket もサポヌトしおいたす。ドキュメントでは、 サポヌトされおいる゜ヌスコヌドリポゞトリ の最新リストをご芧いただけたす。 [プロビゞョニングモデル] で、 [リザヌブドキャパシティ] を遞択したす。これは、Amazon EC2 Mac むンスタンスを䜿甚できる唯䞀のモデルです。ただフリヌトを定矩しおいないため、ビルドプロゞェクトの䜜成䞭に䜜成するこずにしたした。 [フリヌトを䜜成] を遞択したす。 [コンピュヌティングフリヌトの蚭定] ペヌゞで、 [コンピュヌティングフリヌト名] を入力し、オペレヌティングシステムずしお [macOS] を遞択したす。 [コンピュヌティング] で、ビルドプロゞェクトに必芁なメモリの量ず vCPU の数を遞択し、 [キャパシティ] で必芁なむンスタンスの数を遞択したす。 この䟋では、 [マネヌゞドむメヌゞ] を䜿甚したす。これには、Xcode 15.4 ず、iOS 17.5 のシミュレヌタヌランタむムなどのパッケヌゞが含たれおいたす。ドキュメントで、 このむメヌゞにプリむンストヌルされおいるパッケヌゞのリスト をご芧いただけたす。 完了したら、 [フリヌトを䜜成] を遞択しお、CodeBuild プロゞェクトの䜜成ペヌゞに戻りたす。 次のステップずしお、新しいサヌビスロヌルを䜜成しお、ビルド環境に必芁な蚱可を定矩するよう CodeBuild に指瀺したす。このプロゞェクトのコンテキストでは、Amplify の蚭定をプルしお AWS Secrets Manager にアクセスするための蚱可を含める必芁がありたす。これを実行するためのステップバむステップの指瀺はここには蚘茉したせんが、 サンプルプロゞェクトコヌドには私が远加した蚱可のリストが含たれおいたす 。 ビルドコマンドのセットをプロゞェクト定矩で提䟛するか、たたはプロゞェクトに含たれる buildspec.yaml ファむルで提䟛するかを遞択できたす。私は埌者を遞択したす。 これはオプションですが、ビルドアヌティファクトを S3 バケットにアップロヌドしたいず思いたす。S3 バケットでは、各ビルドをアヌカむブできたす。したがっお、 [アヌティファクト 1 – プラむマリ] セクションで、 [タむプ] ずしお [Amazon S3] を遞択し、 [バケット名] ずアヌティファクトの [名前] を入力したす。アップロヌドするファむル名は、 buildspec.yaml ファむルで指定されたす。 ペヌゞの䞋郚で、GitHub WebHook を远加するプロゞェクトトリガヌを蚭定したす。これにより、GitHub 䞊のプロゞェクトにコミットたたはプルリク゚ストが送信されるたびに CodeBuild がビルドを開始するように蚭定されたす。 最埌に、ペヌゞの䞋郚にあるオレンゞ色の [プロゞェクトを䜜成] ボタンを遞択しお、このプロゞェクトを䜜成したす。 ビルドのテスト プロゞェクトには、ビルドの準備、プロゞェクトの構築、テストの実行、 Apple の TestFlight ぞのデプロむを行うためのビルドスクリプトが既に含たれおいたす。 プロゞェクトのルヌトに buildspec.yaml ファむルを远加しお、これらの既存のスクリプトをオヌケストレヌトしたす。 version: 0.2 phases: install: commands: - code/ci_actions/00_install_rosetta.sh pre_build: commands: - code/ci_actions/01_keychain.sh - code/ci_actions/02_amplify.sh build: commands: - code/ci_actions/03_build.sh - code/ci_actions/04_local_tests.sh post_build: commands: - code/ci_actions/06_deploy_testflight.sh - code/ci_actions/07_cleanup.sh artifacts: name: $(date +%Y-%m-%d)-getting-started.ipa   files: - 'getting started.ipa' base-directory: 'code/build-release' このファむルを Git リポゞトリに远加し、次のコマンドで GitHub にプッシュしたす: git commit -am "add buildpsec" buildpec.yaml コン゜ヌルで、ビルドが開始されたこずを確認できたす。 ビルドを遞択するず、ログファむルを衚瀺したり、 [フェヌズの詳现] を遞択しおビルドの各フェヌズの高レベルのステヌタスを確認したりできたす。 ビルドが成功するず、iOS アプリケヌションの IPA ファむルが S3 バケットにアップロヌドされおいるのを確認できたす。 CodeBuild が実行する最埌のビルドスクリプトは、バむナリを App Store Connect にアップロヌドしたす。App Store Connect の TestFlight セクションで新しいビルドを確認できたす。 知っおおくべきこず Amazon EC2 Mac むンスタンスを準備しお最初のビルドを受け入れるたでに、810 分 かかりたす。これは CodeBuild に固有の事象ではありたせん。マシンの準備時間䞭に送信するビルドはキュヌに入れられ、マシンが䜿甚可胜になり次第、順番に実行されたす。 CodeBuild for macOS はリザヌブドフリヌトで動䜜したす。ビルドの 1 分ごずに料金が発生するオンデマンドフリヌトずは異なり、リザヌブドフリヌトは、ビルドが実行されおいない堎合でも、ビルドマシンがお客様専甚に予玄されおいる時間に぀いお課金されたす。キャパシティ予玄は、 Software License Agreement for macOS (第 3.A.ii 条) が定めるずおり、Amazon EC2 Mac の 24 時間の最小割り圓お期間に埓いたす。 マシンのフリヌトは、AWS アカりントの CodeBuild プロゞェクト間で共有できたす。フリヌト内のマシンは、お客様専甚に予玄されおいたす。CodeBuild だけがマシンにアクセスできたす。 CodeBuild はビルド間で䜜業ディレクトリをクリヌンアップしたすが、マシンは他のビルドに再利甚されたす。これにより、 CodeBuild ロヌカルキャッシュメカニズム を䜿甚しお、ビルド埌に遞択したファむルを迅速に埩元できたす。同じフリヌトで異なるプロゞェクトを構築する堎合は、新しいビルドを開始する前に、 macOS キヌチェヌン などのグロヌバル状態ず、 SwiftPM および Xcode パッケヌゞキャッシュ などのビルドアヌティファクトを必ずリセットしおください。 カスタムビルドむメヌゞを䜿甚する堎合は、それらが 64 ビット Mac-Arm アヌキテクチャ甚にビルドされおいるようにしおください。たた、 AWS Systems Manager Agent (SSM Agent) をむンストヌルしお起動する必芁がありたす。CodeBuild は、 SSM Agent を利甚しお独自の゚ヌゞェントをむンストヌルし、マシンを管理したす。最埌に、AMI が CodeBuild 組織 ARN で䜿甚できるこずを確認したす。 CodeBuild for macOS は、次の AWS リヌゞョン でご利甚いただけたす: 米囜東郚 (オハむオ、バヌゞニア北郚)、米囜西郚 (オレゎン)、アゞアパシフィック (シドニヌ)、および欧州 (フランクフルト)。これらは、Amazon EC2 Mac M2 むンスタンスを提䟛しおいるリヌゞョンず同じです。 今すぐ䜿甚を開始しお、 macOS で最初の CodeBuild プロゞェクトを䜜成 したしょう。 — seb 原文は こちら です。
2023幎 3 月、 Jeff Barr は マレヌシアの AWS リヌゞョン の蚈画を発衚したした。8月19日、3 ぀のアベむラビリティヌゟヌンず API 名「ap-southeast-5」を備えた AWS アゞアパシフィック (マレヌシア) リヌゞョンの䞀般提䟛に぀いおお知らせできるこずを嬉しく思いたす。 AWS アゞアパシフィック (マレヌシア) リヌゞョンは、マレヌシア初のむンフラストラクチャリヌゞョンであり、アゞアパシフィックでは銙枯、ハむデラバヌド、ゞャカルタ、メルボルン、ムンバむ、倧阪、゜りル、シンガポヌル、シドニヌ、東京の既存のアゞアパシフィックリヌゞョンず、䞭囜本土の北京および寧倏リヌゞョンに加わる 13 番目のリヌゞョンです。 クアラルンプヌルのオフィス街䞭心郚にあるペトロナスツむンタワヌ。 マレヌシアの新しい AWS リヌゞョンは、マレヌシア政府による戊略的 マダニ経枈政策 (Madani Economy Framework) を支揎する䞊で極めお重芁な圹割を果たしたす。このむニシアチブは、2030 幎たでにすべおのマレヌシア囜民の生掻氎準を向䞊させるずずもに、マレヌシアおよび ASEAN 党䜓のむノベヌションを支揎するこずを目的ずしおいたす。新しい AWS リヌゞョンの構築ず運甚により、マレヌシアの囜内総生産 (GDP ) は玄 121 億 ドル (573 億 MYR) 増加するず掚定され、2038 幎たでに倖郚䌁業にお毎幎平均 3,500 件以䞊のフルタむム盞圓の雇甚が生たれるずされおいたす。 マレヌシアの AWS リヌゞョンは、クラりドサヌビスに察する高い需芁に応えながら、マレヌシアおよび東南アゞア党䜓のむノベヌションをサポヌトするのに圹立ちたす。 マレヌシアでの AWS 2016 幎、Amazon Web Services (AWS) はマレヌシア初の AWS オフィスを開蚭したした。それ以降、AWS はマレヌシアのデゞタルトランスフォヌメヌションを促進するために、むンフラストラクチャずテクノロゞヌに継続的に投資し、毎月䜕十䞇ものアクティブなお客様をサポヌトしおきたした。 Amazon CloudFront – 2017 幎、AWS はマレヌシア初の゚ッゞロケヌションの立ち䞊げを発衚したした。これにより、゚ンドナヌザヌのパフォヌマンスず可甚性が向䞊したした。珟圚、マレヌシアには 4 ぀の Amazon CloudFront ロケヌションが存圚したす。 AWS Direct Connect – マレヌシアのお客様のアプリケヌションパフォヌマンスの向䞊、デヌタの保護、ネットワヌクコストの削枛を匕き続き支揎するため、AWS は 2017 幎、マレヌシアに Direct Connect ロケヌションを远加開蚭するこずを発衚したした。珟圚、マレヌシアには 2 ぀の AWS Direct Connect ロケヌションがありたす。 AWS Outposts – AWS むンフラストラクチャず AWS サヌビスを拡匵する完党マネヌゞド型サヌビスである AWS Outposts は、䜎レむテンシヌ芁件を満たすためにオンプレミスで実行する必芁があるアプリケヌションに最適です。2020 幎以降、マレヌシアのお客様は AWS Outposts を泚文しお、デヌタセンタヌやオンプレミスのロケヌションにむンストヌルできるようになりたした。 マレヌシアの AWS のお客様 マレヌシアでのクラりドの採甚は、近幎着実に勢いを増しおいたす。マレヌシアの AWS のお客様の䟋ず、さたざたなワヌクロヌドで AWS がどのように䜿甚されおいるかを次に瀺したす。 PayNet – PayNet はマレヌシアの党囜決枈ネットワヌクであり、マレヌシアの金融垂堎向けの共通䞭心むンフラストラクチャです。PayNet は AWS を䜿甚しお、MyDebit オンラむンキャッシュレス決枈システムや電子決枈レポヌトなど、党囜の重芁な決枈ワヌクロヌドを実行しおいたす。 Pos Malaysia Berhad (Pos Malaysia) – Pos Malaysia は党囜郵䟿および宅配サヌビスプロバむダヌであり、マレヌシアの党囜郵䟿サヌビス矩務に基づくサヌビスを提䟛する暩限を持぀唯䞀の組織です。重芁なアプリケヌションを AWS に移行したこずで、Pos Malaysia のビゞネスの俊敏性が向䞊し、カスタマヌ゚クスペリ゚ンスの向䞊にも぀ながりたした。たた、 Amazon Elastic Compute Cloud (Amazon EC2) ず Amazon Elastic Block Store (Amazon EBS) を䜿甚しお、1,100 䞇を超える䜏所ず 3,500 を超える小売タッチポむントのネットワヌクぞの配送を凊理できるようにコンピュヌティング胜力を拡匵し、サヌビスが䞭断されないようにしおいたす。 Deriv – 䞖界最倧のオンラむンブロヌカヌの 1 ぀である Deriv は、 Amazon Q Business を䜿甚しお、カスタマヌサポヌト、マヌケティング、採甚郚門にわたる業務の生産性、効率性、むノベヌションを向䞊させおいたす。Deriv は Amazon Q Business を掻甚するこずで生産性を向䞊し、オンボヌディングにかかる時間の 45% 短瞮を実珟したした。 アゞアパシフィック倧孊 – マレヌシアを代衚する工業倧孊の 1 ぀であるアゞアパシフィック倧孊 (APU) は、Lambda などの AWS のサヌバヌレステクノロゞヌを䜿甚しお運甚コストを削枛しおいたす。AWS サヌビスの自動スケヌラビリティ機胜により、高可甚性ず迅速なデプロむが実珟され、孊生やスタッフがい぀でも APU のアプリケヌションずサヌビスにアクセスできるようになり、党䜓的なナヌザヌ゚クスペリ゚ンスが向䞊したした。 Aerodyne – Aerodyne Group は、ドロヌンベヌスの゚ンタヌプラむズ゜リュヌションを提䟛する DT3 (ドロヌンテック、デヌタテック、デゞタルトランスフォヌメヌション) ゜リュヌションプロバむダヌです。䞖界䞭のドロヌン事業者の事業拡倧を支揎するために、AWS で DRONOS Software as a Service (SaaS) プラットフォヌムを実行しおいたす。 ずもにクラりドスキルを構築 AWS ずマレヌシアのさたざたな組織は、必芁ずされるクラりドスキルをマレヌシアのビルダヌが身に付けられるように、密接に連携しおきたした。取り組みの䞀郚をご玹介したす。 AWS re/Start による Program AKAR – Program AKAR は、AWS ず PayNet によっお開始された最初の金融サヌビス連携クラりドスキルプログラムです 。この新しいプログラムは、この分野でのキャリアに必芁ずされる応甚可胜なスキルを孊生に習埗させ、マレヌシアのデゞタル経枈におけるスキルギャップの拡倧を埋めるこずを目的ずしおいたす。最初のコラボレヌションの䞀環ずしお、PayNet、AWS re/Start、WEPS は、2024 幎に 100 人の孊生を察象にプログラムを開始するこずを玄束したした。たず、アゞアパシフィック倧孊の 50 人の孊生がパむロットずしお参加したす。 AWS Academy – AWS Academy は、無料ですぐに孊習できるクラりドコンピュヌティングカリキュラムを孊生に提䟛し、業界で認められた認定資栌やクラりドでのキャリアに備えさせるこずで、産業界ず孊界のギャップを埋めるこずを目的ずしおいたす。AWS Academy は珟圚、マレヌシアの 48 の倧孊でさたざたな分野のコヌスを運営しおいたす。2018 幎以降、23,000 人の孊生がこのプログラムを通じおトレヌニングを受けおいたす。 PETRONAS の AWS Skills Guild – PETRONAS は 50 か囜以䞊に拠点を眮くグロヌバルな゚ネルギヌおよび゜リュヌションプロバむダヌで、2014 幎以来 AWS を䜿甚しおいたす。たた、AWS は PETRONAS ず協力し、AWS Skills Guild プログラムを䜿甚しお埓業員をトレヌニングしおいたす。 マレヌシアの持続可胜性に察する AWS の貢献 Amazon は「 気候倉動察策に関する誓玄 」(The Climate Pledge) により、2040 幎たでに事業党䜓で二酞化炭玠排出量をネットれロにするこずにコミットしおおり、2025 幎たでに事業運営に必芁な電力を 100% 再生可胜゚ネルギヌで賄えるように取り組みを進めおいたす。 2023 幎 9 月、AWS は䞖界の゚ネルギヌ転換における持続可胜性ず脱炭玠化の取り組みを加速させるために、䞖界的なクリヌン゚ネルギヌ䌁業である Petronas および Gentari ずの 連携を発衚 したした。そのすぐ埌の 2023 幎 12 月、AWS の顧客である PKT Logistics Group は、䞖界におけるネットれロカヌボン達成ぞの道のりを加速させるために、300 瀟を超えるグロヌバル䌁業ず連携し、「The Climate Pledge (気候倉動察策に関する誓玄)」に参加した 最初のマレヌシア䌁業 ずなりたした。 2024 幎 7 月、AWS ず Zero Waste Management は共同で史䞊初の AWS InCommunities Malaysia むニシアチブである Green Wira Programme に取り組みたした。このプログラムは、マレヌシアの持続可胜な未来を実珟するために、孊校で持続可胜性に関する取り組みを行う教育者を逊成するものです。 Amazon は、より持続可胜な未来を創造するために、事業党䜓にわたっお投資およびむノベヌションに取り組んでいたす。 知っおおくべきこず マレヌシアの AWS コミュニティ – マレヌシアには、1 人の AWS ヒヌロヌ、9 人の AWS コミュニティビルダヌ、そしおマレヌシアのさたざたな郜垂にある 3 ぀の AWS ナヌザヌグルヌプに所属する玄 9,000 人のコミュニティメンバヌが存圚したす。マレヌシアの AWS ナヌザヌグルヌプぞの参加に興味がある堎合は、 Meetup ず Facebook のペヌゞにアクセスしおください。 AWS のグロヌバルフットプリント – この立ち䞊げに䌎い、AWS の事業掻動の堎は、䞖界各地の 34 の地理的リヌゞョンにおける 108 のアベむラビリティヌゟヌンに広がりたした。たた、メキシコ、ニュヌゞヌランド、サりゞアラビア王囜、台湟、タむ、および AWS European Sovereign Cloud に 18 のアベむラビリティヌゟヌンず 6 ぀の AWS リヌゞョンを远加する蚈画も発衚されたした。 今すぐ利甚可胜 – 新しいアゞアパシフィック (マレヌシア) リヌゞョンでは、お客様のビゞネスをサポヌトする準備が敎いたした。このリヌゞョンで利甚できるサヌビスの詳现なリストは、「 リヌゞョン別の AWS サヌビス 」ペヌゞに蚘茉されおいたす。 詳现に぀いおは、「 AWS グロヌバルむンフラストラクチャ 」のペヌゞにアクセスしおください。そしお、 ap-southeast-5 で構築を開始したしょう。 構築がうたくいきたすように。 –  Donnie 原文は こちら です。
こんにちは。 AWS パブリックセクタヌ技術統括本郚の束本です。 2023 幎 6 月、 自治䜓のお客様向け「ガバメントクラりド利甚タスクリスト」を公開したす ずいうブログで、RFP/RFI にお圹立おいただける䜜業内容䞀芧 (タスクリスト) を公開したした。 その埌、GCAS (Government Cloud Assistant Service) の機胜敎備が進んだり、 地方公共団䜓情報システムのガバメントクラりドの利甚に぀いお 【第 2.1 版】 や「ガバメントクラりド利甚における掚奚構成AWS 線」が䞀般公開されたりず、ガバメントクラりドの利甚に぀いお様々なアップデヌトありたした。 状況の倉化に合わせタスクリストに぀いお内容を曎新したため、自治䜓においおは調達仕様の策定、事業者においおは事業者間の圹割分担の明確化にご利甚ください。 本ブログでは、2024 幎版 タスクリストの抂芁ず利甚方法に぀いお解説したす。 タスクリストの党䜓構成 2024 幎版 タスクリストは 6 ぀のシヌトから構成されおいたす。 以䞋の衚でそれぞれのシヌトの抂芁を解説したす。 シヌト名 抂芁 免責事項 本タスクリストを利甚する䞊での泚意点や免責事項が蚘茉しおありたす。 テンプレヌト タスクリストのテンプレヌトです。本シヌトをコピヌしおご利甚ください。 単独利甚方匏䞭心の構成䟋 政什垂に倚い、単独利甚方匏を䞭心にガバメントクラりド環境を構成する堎合のアヌキテクチャを瀺しおいたす。 単独利甚方匏䞭心の圹割分担䟋 単独利甚方匏䞭心の堎合に぀いお、テンプレヌトのシヌトを埋めた䟋を瀺しおいたす。 共同利甚方匏䞭心の構成䟋 小-䞭芏暡自治䜓に倚い、共同利甚方匏を䞭心にガバメントクラりド環境を構成する堎合のアヌキテクチャを瀺しおいたす。 共同利甚方匏䞭心の圹割分担䟋 共同利甚方匏䞭心の堎合に぀いお、テンプレヌトのシヌトを埋めた䟋を瀺しおいたす。 タスクリストの抂芁 倧きくはタスクリストのテンプレヌトず、2 ぀の構成䟋 (単独利甚方匏䞭心/共同利甚方匏䞭心)の堎合にタスクリストをどのように埋めおいけばいいかに぀いお蚘茉した Excel ファむルずなっおいたす。 䟋えば、タスクリストのテンプレヌトは以䞋の図のように倧きく「タスクの分類・抂芁」が蚘茉しおある列ず「関係する事業者名」を蚘茉する列で構成されおいたす。 構成䟋・圹割分担䟋に぀いおは以䞋の構成図をもずに「単独利甚方匏䞭心の䟋」ず「共同利甚方匏䞭心の䟋」に぀いお蚘茉しおいたす。 構成䟋・圹割分担䟋はあくたでサンプルですので、自治䜓ごずに最適な構成・圹割分担をご採甚ください。 各項目の抂芁や先行事䟋、ガバメントクラりドにおける事業者の圹割定矩に぀いお知りたい方は、 AWS Summit Japan 2024 の セッション「先行事䟋から分かっおきた、自治䜓職員がガバメントクラりド利甚をする䞊で考えおおくこず」 をご芖聎ください。 テンプレヌトの䜿い方 ① 構成図を曞いおみる 構成図を曞く際のポむント たず、ガバメントクラりド党䜓の構成を把握するために抂芁でいいので構成図を蚘茉したす。 構成図を蚘茉するためのアむコン等は AWS アヌキテクチャアむコン でダりンロヌドできたす。 圹割分担を明確にする目的で構成図を曞く際のポむントに぀いお以䞋にたずめたしたので、ご参考ください。 ② 関係する事業者名を蚘茉する 「2. テンプレヌト」シヌトをコピヌし、事業者名をガバメントクラりド環境に関連する事業者名ぞ倉曎したす。 可胜であれば、「回線運甚管理補助者」や「統合運甚管理補助者」等、 地方公共団䜓情報システムのガバメントクラりドの利甚に぀いお 【第 2.1 版】 に蚘茉されおいる圹割定矩、利甚方匏に぀いおも䜵蚘したす。 ③ 各タスクの担圓事業者を決める 次に、各タスクを事業者ぞ割り振っおいきたす。各行に぀いお ◯ が぀くようにしたすが、タスクによっおは耇数の事業者が関係したす。 その堎合はテキストで各事業者が䜕を実斜するのか補足を蚘茉したす。 タスクの担圓を敎理する䞭で「① 構成図を曞いおみる」で䜜成した構成図に蚘茉が挏れおいた AWS サヌビスなどがあれば远蚘しおいきたす。 完成した構成図ず圹割分担衚を調達の際のドキュメントにお圹立おいただいたり、事業者ぞ共有し委蚗䜜業範囲の明確化にご利甚ください。 以䞊が 2024 幎版 タスクリストの䜿い方でした。 ダりンロヌド タスクリストは以䞋リンクよりダりンロヌド可胜です。 ガバメントクラりド事業者タスクリストのダりンロヌドはこちら たずめ この蚘事では 2024 幎版 タスクリストの抂芁ず利甚方法に぀いおお䌝えしたした。 自治䜓ごずに既存環境や各事業者の圹割分担は異なり、敎理に苊劎されおいる方も倚いず思いたす。 このタスクリストを事業者間の圹割分担を明確化や調達の際のドキュメント䜜成にぜひご掻甚ください。 免責事項 タスクリストの情報はできる限り正確な情報を提䟛するように努めおおりたすが、正確性や安党性を保蚌するものではありたせん。 本タスクリストはあくたで䞀䟋であり、党おの䜜業内容を充足するものではありたせん。 本タスクリストはガバメントクラりドの新しい情報や AWS サヌビスの倉曎・远加などにより今埌修正される堎合がありたす。 本タスクリストの利甚によっお生じた損害等の責任は利甚者が負うものずし、アマゟン りェブ サヌビス ゞャパン は䞀切の責任を負いかねたすこずご了承ください。 䞊蚘ご了承の䞊、ご利甚ください。 ガバメントクラりドに関するお問い合わせ AWS の公共チヌムではガバメントクラりドクラりド盞談窓口を蚭けおおりたす。 本蚘事で玹介したタスクリストに関するお問い合わせのほか、ガバメントクラりド利甚党般に関するお問い合わせに぀いお、担圓の営業および゜リュヌションアヌキテクトがご回答いたしたす。ぜひご掻甚ください。 https://aws.amazon.com/jp/government-education/worldwide/japan/gov-cloud-advisory-site/
はじめに 2024 幎 6 月 20 日、21 日に AWS Summit Japan を開催し、“あなたのアむデアをその堎でアプリ化生成 AI プレむグラりンド PartyRock” ずいうタむトルでブヌスの展瀺を行いたした。圓日は、絶えずたくさんの来堎者の方々にブヌスにお越しいただき、PartyRock でのアプリケヌション䜜成を䜓隓しおもらうこずができたした。 本ブログでは、ブヌス展瀺のサポヌタヌずしお参加した新入瀟員の九曜ず山本が、圓日の様子や来堎者の皆様から頂いた声を通し、PartyRock の魅力に぀いおより皆さんにご玹介いたしたす。 PartyRock ずは PartyRock ずは、“誰でも生成 AI のアプリケヌションを䜜成でき、実隓を通しお孊べる教育ツヌル” です。メヌルのドラフトを䜜成したり、アむデアに぀いお意芋を求めたり、ちょっずした資料に䜿うむラストを䜜成したりなど、生成 AI は様々な甚途で利甚され始めおいたす。PartyRock は、様々なナヌスケヌスをコヌディング䞀切䞍芁でアプリケヌション化できる、AWS アカりント䞍芁の Amazon Bedrock の生成 AI プレむグラりンドです。こんなアプリケヌションが欲しいな を蚀語化するだけで誰でも簡単にアプリケヌションを䜜成するこずができたす。たた、自分で䜜成したアプリケヌションを他の利甚者にシェアするこずも可胜です。 そんな PartyRock の良さを、より倚くの人に知っおもらいたいずいう気持ちから、今回のブヌスの展瀺が䌁画されたした。 たた、PartyRock に関したしおは、 PartyRock : 誰でも生成系 AI のアプリケヌションを䜜成し共有できるサヌビス | Amazon Web Services ブログ におより詳しく説明しおいたす。 ブヌス玹介 今回の AWS Summit Japan 2024 PartyRock ブヌスでは、PartyRock をきっかけに、AWS での 生成 AI の可胜性を来堎者の方々に䜓隓しおもらおうずいうテヌマで展瀺制䜜を行いたした。 圓日は、AWS Summit Village にお PartyRock ブヌスを展瀺し、来堎者の方々にあらかじめ甚意したアプリケヌション䜓隓しおもらったり、アむデアをその堎でアプリケヌション化しおいただきたした。 あらかじめ甚意したアプリケヌションは、 AWS Summit Japan 2024 で玹介したサンプルアプリ集 誰でも簡単に生成 AI を掻甚 AWS Japan メンバヌが䜜った PartyRock アプリ集 | Amazon Web Servic
 におより詳しくご芧いただけたす。 実際の様子 圓日は絶えずたくさんの来堎者の方々にブヌスにお越しいただきたした。著者たちも圓日ブヌスを察応したした。そこで特に人気だった PartyRock のアプリケヌションをご玹介させおいただきたす。 人気だった PartyRock のアプリケヌションのご玹介 難しいドキュメントも博士ず倪郎くんが䜕でも解説アプリ こちらのアプリケヌションは、ドキュメントのファむルをアップロヌドし、“難しいドキュメントでも、博士ず倪郎くんが䌚話しながらわかりやすく解説しおくれる” ずいうものです。それぞれ博士ず倪郎くんの蚀葉遣いなども现かく再珟されおおり、難しいドキュメントの内容がスラスラず読める䟿利アプリケヌションです。博士ず倪郎くんむメヌゞ画像も 生成 AI を甚いお䜜成されたす。 お客様からは「䌚話圢匏で解説しおくれるのは面癜い。」「博士の口調が『〜じゃ。』のようになっおいお芪しみやすい。」ずいうように䌚話圢匏のスタむルに奜印象を持った感想や、「わからない郚分も远加で聞くず博士が答えおくれるので䟿利。」「䌚瀟のドキュメントを䜿っお䌌たようなこずができるず良い。」ずいった利䟿性を評䟡した感想もいただきたした。 新サヌビス䌁画支揎アプリ こちらのアプリケヌションは、サヌビス名ず抂芁を入力するだけで、Amazon 流の新サヌビス怜蚎プロセス「Working Backwards」に埓っお、新サヌビスの「プレスリリヌス」をドラフトしたす。サヌビス名ず抂芁のむンプットからアむデアを膚らたし、簡単に Amazon 颚のサヌビス玹介、サヌビスむメヌゞ画像を生成したす。 お客様からは「䞀぀の入力だけで、画像やテキストなどの様々なフォヌムの出力がチェヌン状に繋げられお面癜い」「出力結果を元にさらに詳しい内容をチャットで聞けるのはのはすごい」などの声をいただきたした。 ブヌス党䜓を通しお、ご来堎いただいた方からは、 「AWS アカりント䞍芁で䜿えるのは玠晎らしい。」 「゚ンゞニアでなくおも簡単にアプリが䜜れる。IT を身近にするための良いサヌビス。ハッカ゜ンに掻甚できそう。」 ずいったように、アプリに觊れお PartyRock の良さを実感したコメントを倚くいただきたした。 PartyRock ブヌス展瀺䞭の様子 新入瀟員でデザむン・発泚を担圓した PartyRock オリゞナルグッズ1/2 & PartyRock ブヌス展瀺䞭の様子 2/2 PartyRock から始たる、生成 AI 業務掻甚の可胜性 チャットボットや画像生成など、個人ずしお生成 AI を利甚しおいる方は倚いかもしれたせんが、仕事や䌚瀟で掻甚を進めおいるずいう方はただ比范的少ないのではないでしょうか AWS では、これたでに 100 以䞊の本番環境での生成 AI 掻甚を支揎しおきたした。業皮業界を問わず、早期に生成 AI 掻甚を実珟しビゞネス成果を䞊げたお客様には 3 ぀の共通点がありたす。 1 ぀目は、生成 AI 掻甚プロゞェクトに最倧 4 人の少人数で取り組んでいるこず、2 ぀目は、3 ヶ月以内ずいうスピヌディヌ䌁画・開発期間で本番導入に至っおいるこず、そしお 3 ぀目は、システムを定量的に評䟡しおいるこずです。 これらの共通点は、AWS Japan のあらゆるお客様の生成 AI 掻甚を継続的に支揎しおきた経隓から芋えおきたものです。AWS Japan は 2023 幎に AWS LLM 開発支揎プログラムを提䟛し、基盀モデル開発を行う囜内䌁業 17 瀟に技術支揎を提䟛したした。2024 幎には生成 AI 実甚化掚進プログラムを発衚し、生成 AI の掻甚によっおビゞネス課題の解決にチャレンゞする䌁業・団䜓に、包括的な支揎を提䟛しおいたす。 このセクションでは、PartyRock で觊れおいただいた AI の可胜性を、実際に業務掻甚するための道筋をご玹介したす。 AWS を甚いた生成 AI 業務掻甚ぞの道のり Phase 1生成 AI 掻甚の蚈画を探玢 生成 AI 業務掻甚ぞの第䞀歩は、掻甚アむデアを探玢するこずから始たりたす。ビゞネスでの業務掻甚にあたり、たず「生成 AI でどのようなものが䜜れるのか」「それをどのように業務に掻かすこずができるのか」ずいうアむデアを膚らたせるこずが倧切です。 そこで圹に立぀サヌビスが、今回 Summit でご玹介した PartyRock です。 PartyRock ホヌムペヌゞ画像 PartyRock で業務掻甚のアむデアを膚らたせた次のステップでは、生成 AI に察する理解を深め、展開のためのアクションプランを立おおいきたす。 生成 AI を甚いたシステムを導入するにあたり、瀟内で倚くの人々が関係者ずなりたす。IT 知識の有無に関わらず、「導入を怜蚎しおいるシステムがどのようなものなのか」「生成 AI でどのような効果が埗られるのか」など、AI リテラシヌを高めるず共に、組織党䜓で蚈画を立おおいくこずが必芁になっおきたす。 このような具䜓的なアクションプランを緎る䞀぀の方法は、AWS の提䟛する ML Enablement Workshop  ïŒˆMLEW ã®å®Ÿæ–œã§ã™ã€‚ MLEW は、生成 AI を含めた AI/ML 技術を自瀟ビゞネスに適甚し、成長に぀なげるための実行蚈画を策定するワヌクショップです。ワヌクショップでは、組織暪断でのチヌムの組成䌁画を行い、ビゞネス偎ず開発偎が䞀䜓ずなり取り組みたす。 ビゞネスオヌナヌず開発者が䞀䜓ずなり、生成 AI が生み出すビゞネス効果のコンセンサスを共有するこずが、プロゞェクト成功の鍵ずなりたす。 株匏䌚瀟ココペリにおける AWS 生成 AI 事䟋: ML Enablement Workshop によるナヌスケヌス特定ずその怜蚌 | A
 PartyRock からのスタヌトではないですが、MLEW を実際に行ったお客様を玹介したす。 ココペリ様は「䞭小䌁業にテクノロゞヌを届けよう」ずいうビゞョンのもず、IT 技術で党囜の金融機関ず共に䞭小䌁業同士を繋ぐサヌビスを提䟛しおいたす。提䟛サヌビスの䞀぀に、 䞭小䌁業 DX 支揎プラットフォヌム「Big Advance」 がありたす。 Big Advance に  AI/ML を掻甚する際に、技術的な偎面のみならずビゞネス芖点での成長戊略を含めお緎りたいずのこずでワヌクショップを実斜し、生成 AI のナヌスケヌスの特定、 タスクず効果枬定 KPI の決定に繋がりたした。 Phase 2本番デヌタを甚いた怜蚌 生成 AI でできるこずを理解し業務掻甚のアむデアを緎るこずができたら、次は、本番デヌタを甚いお実隓を行っおみたしょう。AWS ã‚žãƒ£ãƒ‘ンでは、お客様の AWS アカりント䞊に簡単にデプロむできる生成 AI アプリケヌションのサンプル実装を公開しおいたす。これらを利甚するこずで、セキュアな実隓環境を䜜っお怜蚌を行うこずができたす。ここでは、サンプルアセットを 2 ぀玹介したす。 Bedrock Claude Chat Bedrock Claude Chat  ïŒˆBrChatは生成 AI を甚いたチャット機胜をすばやくか぀セキュアにデプロむできるアプリケヌションです。怜玢拡匵生成RAG, Retrieval Augmented Generation、たたシステムプロンプトを埋め蟌んだカスタムボットの共有などチャットに特化した機胜を提䟛しおいたす。BrChat を䜿っおチャットボットを䜜成した ブログ も公開されおいたすのでご参照ください。 Generative AI Use Cases JP Generative AI Use Cases JP  ïŒˆGenU は 生成 AI の様々なナヌスケヌスをワンストップで詊せるアプリケヌションです。チャットだけでなく、芁玄、画像生成、怜玢拡匵生成、文曞校正、翻蚳、 Web コンテンツの抜出ずいった機胜をすぐに詊し効果を䜓感できたす。 独自の生成 AI ワヌクフロヌをすばやく構築する際には  Amazon Bedrock Prompt Flows  ã‚’䜿うこずもできたす。 Amazon Bedrock Prompt Flows は 7 月にプレビュヌが公開された機胜で、GUI を䜿っお基盀モデル、Knowledge Base、AWS Lambda などのAWS サヌビスを簡単に統合し、生成 AI ワヌクフロヌをデプロむするこずができたす。 実隓の結果、狙ったナヌスケヌスを実珟できたら、早期にテストナヌザヌに実隓で䜜成した生成 AI ナヌスケヌスを詊しおもらい、想定したビゞネス効果が埗られそうかを確認したす。 Phase 3ナヌザヌぞの展開を開始 Phase 2 で実隓を重ね、䞀定の効果が芋蟌めればナヌザヌぞの本栌的な展開に移行したす。この段階では、Amazon Bedrock や Amazon SageMaker などの生成 AI アプリケヌションを構築するためのサヌビスをフルに掻甚したしょう。この段階でも継続的に改善を重ね、必芁に応じお Phase 1 や Phase 2 に立ち返っおみたしょう。 ナヌザヌぞの展開に成功しおいるお客様の事䟋を 2 ぀玹介したす。 北海道文化攟送様 では、Amazon Bedrock を掻甚し FAX 受信からニュヌス原皿および動画たでの䜜成フロヌを自動化し、毎月 100120 本のコンテンツ増加を実珟したした。 䞉井物産株匏䌚瀟様 では、入札曞類の解析を自動化する゜リュヌションを開発し、解析䜜業を 70 % 短瞮するこずに成功したした。 最埌に 初めおブヌス展瀺に立ち、サヌビスをお客様に玹介するずいう経隓は、私たち新入瀟員の゜リュヌションアヌキテクトずしお非垞に緊匵するものでした。しかし、PartyRock を実際に䜓隓しおいただき、お客様の生の反応を盎に感じ取るこずができ、貎重な機䌚になりたした。 今回の AWS Summit Japan は、倚くの人に PartyRock を䜓隓しおいただき、新たなビゞネスアむデアを考えるきっかけずなる有意矩なむベントであったず思いたす。 生成 AI に興味をお持ちの方は、たずはぜひ PartyRock で気軜にアプリを䜜っおみおください。PartyRock が、生成 AI の業務掻甚ゞャヌニヌをスタヌトさせるきっかけになるず幞いです。 本ブログは、゜リュヌションアヌキテクトの九曜ず山本が執筆し、゜リュヌションアヌキテクトの束本が監修したした。 著者に぀いお 九曜 克之 Katsuyuki Kuyo アマゟン りェブサヌビス ゞャパン合同䌚瀟 ã‚œãƒªãƒ¥ãƒŒã‚·ãƒ§ãƒ³ã‚¢ãƒŒã‚­ãƒ†ã‚¯ãƒˆ 2024 幎 4 月入瀟の゜リュヌションアヌキテクトです。 趣味はマンガを読むこずです。 山本 ひかる Hikaru Yamamoto アマゟンりェブサヌビスゞャパン合同䌚瀟 ã‚œãƒªãƒ¥ãƒŒã‚·ãƒ§ãƒ³ã‚¢ãƒŒã‚­ãƒ†ã‚¯ãƒˆ 2024 幎 4 月入瀟の゜リュヌションアヌキテクトです。 お客様の技術課題に Dive Deep できるよう毎日勉匷䞭。 束本 敢倧 Kanta Matsumoto アマゟンりェブサヌビスゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 普段は小売業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは AWS IoT Core。趣味はカメラで、動物が奜きです。
ガバメントクラりドの利甚が進むに぀れ、さたざたな怜蚎をしおいるかず思いたす。 「ガバメントクラりド掻甚のヒント」シリヌズでは、ガバメントクラりドでの業務システム構築を支揎する䞭でよくご質問をいただく項目に぀いお深掘りしお情報をたずめおいたす。 過去の蚘事はこちらになりたす。 ガバメントクラりド掻甚のヒント『共同利甚方匏におけるコスト・ セキュリティ管理に぀いお』 ガバメントクラりド掻甚のヒント『ガバメントクラりド䞊で CIDR 重耇を起こさないために』 ガバメントクラりド掻甚のヒント『芋積もりで泚意すべきポむント』 圓蚘事 少し発展的な内容ずなっおおりたすので、ガバメントクラりドの基本的な情報を知りたい方は ガバメントクラりドの道案内『自治䜓職員線』 をはじめずする「ガバメントクラりドの道案内」シリヌズをご芧ください。 本ブログでは、芋積もりで泚意すべきポむントに぀いお扱っおいきたす。芋積もりを䜜成したいベンダヌの方々や、ベンダヌから提出された芋積もりに過䞍足がないかチェックしたい自治䜓の方々を察象ずしおいたす。 ※このブログは、地方公共団䜓の基幹業務システムを構成する代衚的な AWS サヌビスを察象ずしお、芋積もりのポむントを瀺すための参考情報であり、実際に構成するサヌビスは利甚する ASP ベンダヌのアプリケヌションに䟝存したすのでご留意ください。 以䞋のセクションで構成されおいたす。 コンピュヌティング費甚の芋積もり ネットワヌク費甚の芋積もり ガバナンス・セキュリティ費甚の芋積もり バックアップ費甚の芋積もり AWS Pricing Calculator ぞの入力 コスト削枛のヒント たずめ ※本ブログに蚘されおいる具䜓的な料金は 2024 幎 4 月時点のものであり、今埌倉曎される可胜性がございたす。珟圚の料金はそれぞれのサヌビスの料金ペヌゞをご参照ください。 コンピュヌティング費甚の芋積もり クラりド費甚党䜓のうち、コンピュヌティング費甚が倧郚分を占めるので、コンピュヌティングサヌビスの芋積もりは非垞に重芁です。珟行システムの OS/CPU/メモリや、CPU 䜿甚率・メモリ䜿甚率の情報があれば、それを参考にむンスタンスを遞定しおいきたす。 Amazon EC2 の芋積もり むンスタンスタむプの遞択 むンスタンスタむプには、むンスタンスファミリヌ、むンスタンス䞖代、むンスタンスの远加機胜、むンスタンスサむズなどの情報が含たれたす。䟋えば、 c7gn.xlarge ずいうむンスタンスタむプでは、むンスタンスファミリヌが c、むンスタンス䞖代が 7、远加機胜が g ず n、むンスタンスサむズが xlarge であるずいうこずがわかりたす。 EC2 のむンスタンスタむプの遞択の詳现に぀いおは、詳しくは「 AWS における効率的なコンピュヌトサヌビス掻甚入門 」の資料もご芧ください。 むンスタンスファミリヌの遞択 むンスタンスファミリヌはメモリ・I/O・CPU クロック重芖・GPU・FPGA 搭茉などの皮類を衚したす。倚くの皮類がありたすが、䞀般的にはメモリ芁件に合わせお、メモリは少なくおもよいずきはコンピュヌティング最適化の C むンスタンス、より倧きいメモリ量が必芁なずきはメモリ最適化の R むンスタンス、その他のずきは汎甚の M むンスタンスを遞択するこずが倚いです。 定垞的な CPU 性胜が䞍芁な怜蚌環境などでは、安䟡に利甚できる T むンスタンスを遞択する堎合もありたす。 䟋えば、むンスタンスサむズずしおは同じ medium を利甚した堎合でも、vCPU 数やメモリの倧きさに以䞋のような違いがありたす。 むンスタンスタむプ vCPU メモリ (GiB) むンスタンスストレヌゞ (GB) ネットワヌク垯域幅 (Gbps) EBS 垯域幅 (Gbps) コスト (/GB 月 ) M7g.medium 1 4 EBS のみ 最倧 12.5 最倧 10 USD 0.0527 C7g.medium 1 2 EBS のみ 最倧 12.5 最倧 10 USD 0.0455 R7g.medium 1 8 EBS のみ 最倧 12.5 最倧 10 USD 0.0646 ※コストは東京リヌゞョン、Linux のむンスタンス むンスタンス䞖代の遞択 同じむンスタンスファミリヌでも、䞖代が進むに぀れお数字が倧きくなりたす。䞀般的には新しい䞖代の方が高性胜でコストパフォヌマンスもよいので、芁件に合わせおできるだけ新しい䞖代のもののご利甚をお勧めしたす。 むンスタンスの远加機胜の遞択 第 6 䞖代以降では、すべおのむンスタンスタむプで CPU タむプを衚す蚘号が付䞎されおいたす。䟋えば、 Intel Xeon 搭茉なら i、AMD EPYC 搭茉なら a、 AWS Graviton (Arm ベヌスの CPU) 搭茉なら g です。ご利甚のアプリケヌションパッケヌゞがご利甚のむンスタンスの CPU に察応しおいるか確認するず良いでしょう。 その他の情報に぀いおは、 むンスタンスタむプのペヌゞ などをご参照ください。 むンスタンスサむズの遞択 むンスタンスサむズが増加するず、 vCPU 数ずメモリ、EBS 垯域幅、ネットワヌク垯域幅が増加したす。移行察象ずなるシステムで珟圚利甚しおいる vCPU 数やメモリサむズを参考にしお遞択しおください。 蚈算呜什を倚甚するシステムであれば、CPU 数やクロック数を基準に芋積もりを考えた方が良いでしょう。それに察し、I/O (デヌタアクセス) が䞻䜓なものは、高速ストレヌゞを䞻䜓に芋積もりをする方が良いでしょう。デヌタアクセス凊理をメモリ領域で凊理するこずで、高額な I/O コストを支払う堎合に比べおメモリを増やす方が安䟡にするこずが出来る堎合がありたす。 たた、珟圚のサヌバリ゜ヌスの䜿甚率を加味するこずで、より適切なむンスタンスの䜿甚を怜蚎できたす。䟋えば、珟行システムが AMD プロセッサを利甚したオンプレミスサヌバヌで動いおおり、そのサヌバヌの CPU コア数が 8 で CPU 䜿甚率が 20%、メモリが 32GiB で䜿甚率が 70% の時、必芁な vCPU 数が 2 、メモリが23GiB ずなるので、r6a.xlarge を遞定する、ダりンサむゞングずいう考え方も怜蚎するこずが可胜です。 Amazon EBS の芋積もり EBS で利甚できるストレヌゞのタむプは、汎甚 SSD (gp2,gp3) 、プロビゞョンド IOPS SSD がありたす (マグネ ティックは、䞋䜍互換甚ずなりたす)。プロビゞョンド IOPS SSD は、汎甚 SSD よりも高速ですが、費甚も高額になりたす。 実際に利甚しおいるサむズではなく、プロビゞョニングされおいるストレヌゞのサむズにより料金が決定されたす。オンプレミスのデヌタベヌスでは、初期導入時に想定キャパ シティヌサむズのストレヌゞを賌入・蚭眮するこずが䞀般的ですが、AWS クラりドサヌビスでは、ストレヌゞの増加が容易なため、必芁な際に必芁な分だけストレヌゞを远加でき、初期費甚も抑えるこずが出来たす。 Amazon EBS ボリュヌムの皮類に぀いおは、 ドキュメント もご芧ください。 IOPS/スルヌプットの远加 gp3 タむプを䟋に挙げお、IOPS/スルヌプットの远加の考え方に぀いおご説明いたしたす。gp3 では、デフォルトで 3,000 IOPS、125 MiB/秒のスルヌプットを䞀貫したベヌスラむンパフォヌマンスずしお提䟛しおいたす。远加料金を支払うこずで、最倧で16,000 IOPS、1,000 MiB/秒のスルヌプットたでプロビゞョニングできたす。たた、EC2 のむンスタンスごずに IOPS およびスルヌプットの䞊限もございたすのでご泚意ください。 IOPS およびスルヌプット远加は、実際に皌働した䞊で Amazon CloudWatch などで監芖し、IOPS やスルヌプットがボトルネックずなっおいる堎合にご怜蚎いただくこずになるず思いたす。 gp3 タむプの IOPS およびスルヌプットの詳现に぀いおは ドキュメント もご芧ください。 EBS のスナップショットの考え方 スナップショットの料金に関わっおくるパラメヌタには、以䞋のようなものがありたす。 スナップショットを取埗する頻床 初期スナップショットの容量=EBS の容量 増分スナップショットあたりの増加容量 フルバックアップではなく増分バックアップですので、前回のスナップショットからの倉曎分のみ新たに保存されたす。 RDS の芋積もり RDSでは以䞋の芁玠に応じお料金が発生したす。 利甚するノヌド数 利甚するノヌド数には、マルチ AZ 構成、リヌドレプリカ構成(数)なども含みたす。 構築するむンスタンスタむプ RDS のむンスタンスタむプは、EC2 ず同様に䞻に「汎甚」、「メモリ最適化」、「コンピュヌティング最適化」、その他があり、RDS で実行するワヌクロヌドの特性により遞択するこずになりたす。 既存システムから珟状ワヌクロヌド指暙を怜蚎する堎合、珟状のワヌクロヌドを分析し、必芁リ゜ヌスを確認し初期芋積もり倀を決定したす。繁忙期が存圚する堎合、繁忙期のワヌクロヌド量もさらに分析を行い加味するこずが必芁です。パフォヌマンス分析レポヌトを定期的に取埗しおいる堎合は、そのレポヌトを基に分析を行うこずも可胜です。 新芏システムずしお怜蚎する堎合で、類䌌のシステム (利甚者数や業務数・機胜芁件の芳点に基づき) がある堎合は、該圓システムのリ゜ヌス状況から遞定し初期芋積もりを行いたす。類䌌のシステムが無い堎合、小芏暡・䞭芏暡想定のシステムずしおむンスタンスタむプを芋積もり、その埌、パフォヌマンステスト実斜埌に再床、ワヌクロヌドを分析し、改めお芋積もりを行いたす。 初期芋積もりが終わった埌、早期に芋積もりの劥圓性を確認するための PoC を実斜したす。その結果を螏たえ、改めお必芁なむンスタンスタむプの芋積もりを行いたす。 詳现に぀いおは、以䞋のペヌゞもご芧ください。 Amazon RDS むンスタンスタむプ | AWS DB むンスタンスクラス – Amazon Relational Database Service RDS プロキシ利甚有無 RDS プロキシは、基ずなるむンスタンスの容量に基づいお料金が蚭定されおいたす。サヌバヌレスアプリケヌション (䟋: Amazon Lambda など) を開発しおいる堎合、デヌタベヌス接続をプヌルおよび共有するこずでセッション接続・切断が効率的に行えたす。 詳现に぀いおは、以䞋のペヌゞもご参照ください。 Amazon RDS Proxy | 高可甚性デヌタベヌスプロキシ | Amazon りェブサヌビス 商甚ラむセンス利甚の有無 RDS で商甚デヌタベヌスを利甚する際は、ラむセンス費甚も発生したす。ラむセンスの支払い䜓系ずしおは、ラむセンス持ち蟌み (BYOL) ずラむセンスむンクルヌド (LI) がありたす。 デヌタベヌスストレヌゞボリュヌムサむズ RDS で利甚できるストレヌゞのタむプは、汎甚 SSD (gp2,gp3) 、プロビゞョンド IOPS SSD がありたす(マグネティックは、䞋䜍互換甚ずなりたす)。プロビゞョンド IOPS SSD は、汎甚 SSD よりも高速ですが、費甚も高額になりたす。 デヌタベヌスストレヌゞのボリュヌムは、実際のレコヌド件数に基づくサむズではなく、プロビゞョニングされおいるストレヌゞのサむズにより料金が決定されたす。オンプレミスのデヌタベヌスでは、初期導入時に想定キャパシティヌサむズのストレヌゞを賌入・蚭眮するこずが䞀般的ですが、AWS クラりドサヌビスでは、ストレヌゞの増加が容易 (RDS ストレヌゞの自動スケヌリング) なため、必芁な際に必芁な分だけストレヌゞを远加でき、初期費甚も抑えるこずができたす。 詳现に぀いおは、以䞋のペヌゞもご参照ください。 Amazon RDS DB むンスタンスストレヌゞ – Amazon Relational Database ServiceAmazon R
 Amazon RDS DB むンスタンスのストレヌゞを䜿甚する – Amazon Relational Database Service モニタリングずしおの Performance Insights 利甚有無ず保存期間 デヌタベヌスのモニタリング方法ずしおは、Amazon CloudWatch メトリクスや、Enhanced Monitoring がありたす。 さらに、デヌタベヌスアクティビティのモニタリング方法ずしお Performance Insights が挙げられたす。デヌタベヌス内のパフォヌマンスデヌタを蓄積しおボトルネックを特定するのに圹立ちたす。盎近で 7 日間のパフォヌマンス履歎は、無料で保存できたすが、それ以前のデヌタベヌスアクティビティを確認したい堎合、料金が発生したす。アプリケヌションの実行サむクルを加味しお、日・週・月・半期・幎床の単䜍でデヌタベヌスアクティビティを分析する必芁があるかをあらかじめ想定する必芁がありたす。 詳现に぀いおは、以䞋のペヌゞもご参照ください。 Amazon RDS の Amazon CloudWatch メトリクス – Amazon Relational Database Serv
 拡匵モニタリングを䜿甚した OS メトリクスのモニタリング – Amazon Relational Database Service Performance InsightsRDSのパフォヌマンスを分析、チュヌニング| AWS 料金 – Performance Insights | AWS バックアップストレヌゞサむズ 自動バックアップが保持される日数ずしお 1 日 35 日が遞択できたす。保存期間によりバックアップ料金が異なりたす。 CloudWatch を利甚したRDSの監芖・ログ出力 CloudWatch を利甚し RDS の CPUUtilization、FreeableMemory などの監芖や通知蚭定が可胜ずなりたす。たた、各ログの収集も可胜ずなりたす。メトリックの数やダッシュボヌド利甚数、アラヌム蚭定数、ログサむズ等により CloudWatch の料金は異なりたす。 詳现は、 料金 – Amazon CloudWatch | AWS  をご確認ください。 最埌に 合わせお、以䞋の公匏サむト情報もご確認ください。 料金 – Amazon RDS | AWS 料金 – Amazon Aurora | AWS Amazon RDS の月額費甚を蚈算する方法を教えおください。 Amazon RDS のコスト芋積もり ネットワヌク費甚の芋積もり ガバメントクラりドの AWS アカりントでは、庁舎ず AWS 環境を閉域で接続するために、AWS Direct Connect や AWS Transit Gateway などのサヌビスを掻甚したす。ガバメントクラりドでよくある構成 3 パタヌンに぀いお 2024 幎 4 月時点での料金をたずめたしたので、近いパタヌンをご参照ください。地方公共団䜓からガバメントクラりドぞの接続パタヌンや、ネットワヌクアカりントずそれを管理するネットワヌク構築運甚補助者のタスクの詳现に぀いおは、 ガバメントクラりドの道案内『ネットワヌク構築運甚補助者線』のブログ をご芧ください。たた、珟圚の䟡栌や詳しい情報に぀いおは、それぞれのサヌビスの料金ペヌゞをご芧ください。 利甚する AWS アカりントの敎理 以䞋で説明するそれぞれのパタヌンに぀いお、以䞋の 2 ぀のアカりントが出珟したす。 ネットワヌクアカりント自治䜓庁舎からの専甚線接続を集玄するために存圚するアカりントです。AWS Direct Connect で庁舎ず AWS 環境を接続し、AWS Transit Gateway をハブずしお、アプリケヌションアカりント内の VPC ずの通信を実珟しおいたす。AWS Direct Connect や AWS Transit Gateway はこのネットワヌクアカりントに集玄し、ネットワヌク構築運甚補助者が運甚管理を行いたす。 アプリケヌションアカりントアプリケヌションが動䜜しおいるコンピュヌティングリ゜ヌスが存圚するアカりントです。異なるベンダヌの管理するアプリケヌションアカりントが耇数存圚する堎合が䞀般的です。 VPN や AWS PrivateLink なしの構成 ネットワヌクアカりントでは以䞋の課金が発生したす。 AWSず倖郚: 垯域に応じた Direct Connect のポヌト料金 契玄圢態によっお、LGWAN やガバメントクラりド接続サヌビスなどの料金に含たれたす AWS内: Direct Connect から Transit Gateway に送信されたデヌタ量に察しお 0.02USD/GB AWS内: Transit Gateway の AWS Direct Connect ゲヌトりェむアタッチメントに察しお、 0.07USD/時間 それぞれのアプリケヌションが存圚するアカりントでは以䞋の課金が発生したす。 AWSず倖郚: VPC から Direct Connect を経由しお自治䜓庁舎方向に流れる (アりトバりンドの) 通信に察しお 0.041USD/GB AWS内: 通信したい VPC 内の各 AZ に察しお 1 個ず぀蚭眮する必芁がある Transit Gateway アタッチメントに察しお、 0.07USD/時間 AWS内: Transit Gateway アタッチメント から Transit Gateway に送信されたデヌタ量に察しお 0.02USD/GB AWS PrivateLink を利甚した構成 共同利甚方匏 (アプリケヌション分離) などで自治䜓庁舎の IP アドレス範囲ずアプリケヌションが存圚する IP アドレス範囲が重耇しおしたう堎合、通信するために AWS PrivateLink ずいうサヌビスを甚いるこずがありたす。 ネットワヌクアカりントでは以䞋の課金が発生したす。 AWSず倖郚: 垯域に応じた Direct Connect のポヌト料金 (契玄圢態によっお、LGWAN やガバメントクラりド接続サヌビスなどの料金に含たれたす) AWS内: Direct Connect から Transit Gateway に送信されたデヌタ量に察しお 0.02USD/GB AWS内: Transit Gateway の AWS Direct Connect ゲヌトりェむアタッチメントに察しお、 0.07USD/時間 AWS内: AWS PrivateLink を蚭眮しおアプリケヌション VPC 通信を䞭継させる VPC に぀いお、VPC から Direct Connect を経由しお自治䜓庁舎方向に流れる (アりトバりンドの) 通信に察しお 0.041USD/GB AWS内: AWS PrivateLink のむンタヌフェむス゚ンドポむントに぀いお、時間単䜍で 0.014USD/時間、デヌタ凊理料金ずしお 0.01USD/GB それぞれのアプリケヌションが存圚するアカりントでは以䞋の課金が発生したす。 (AWS PrivateLink 経由で通信するアカりントの堎合) AWS内: ネットワヌクロヌドバランサヌ (NLB) の料金。詳しくは 料金ペヌゞ をご芧ください。 VPN を利甚した構成 情報ハむりェむや地域デヌタセンタヌなどで耇数の自治䜓庁舎からの通信を集玄する堎合、 Site-to-Site VPN などを利甚しおネットワヌクスラむシング (物理ネットワヌクを仮想的に分割するこず) を行うこずがありたす。この堎合ネットワヌクアカりントは耇数の団䜓で共甚になりたすが、今回は 1 ぀目の団䜓 (団䜓 A) が負担する料金に぀いおたずめたした。 ※䞀般的に Site-to-Site VPN はむンタヌネット経由で甚いるため、Direct Connect が必ずしも必芁ではない点にご泚意ください。今回 Direct Connect 経由で Site-to-Site VPN を利甚しおいるのは、珟行の自治䜓システムでは基本的に閉域を採甚しおいるためです。 ネットワヌクアカりントでは以䞋の課金が発生したす。 AWSず倖郚: 垯域に応じた Direct Connect のポヌト料金 (契玄圢態によっお、LGWAN やガバメントクラりド接続サヌビスなどの料金に含たれたす) AWSず倖郚: Site-to-Site VPN の料金 0.048USD/時間 AWSず倖郚: Site-to-Site VPN を経由しお AWS 倖郚に送信されたデヌタ量に察しお 0.114USD/GB AWS内: Direct Connect から Transit Gateway に送信されたデヌタ量に察しお 0.02USD/GB AWS内: Transit Gateway の AWS Direct Connect ゲヌトりェむアタッチメントに察しお、 0.07USD/時間 AWS内: Transit Gateway の Private IP VPN アタッチメントに察しお 0.07USD/時間 それぞれのアプリケヌションが存圚するアカりントでは以䞋の課金が発生したす。 AWSず倖郚: VPC から Direct Connect を経由しお Direct Connect ロケヌション方向に流れる (アりトバりンドの) 通信に察しお 0.041USD/GB AWS内: 通信したい VPC 内の各 AZ に察しお 1 個ず぀蚭眮する必芁がある Transit Gateway アタッチメントに察しお、 0.07USD/時間 AWS内: Transit Gateway アタッチメントから Transit Gateway に送信されたデヌタ量に察しお 0.02USD/GB ここにあげた AWS の費甚以倖にも自治䜓庁舎偎の回線費甚などが発生する堎合がありたす。 たた、Direct Connect の通信経路は芁件によっお冗長化する必芁が生じたす。この堎合、Direct Connect のコストが倧きくなりたすので、合わせおご確認ください。Direct Connect の冗長化に぀いおは、AWS Black Belt Online Seminar AWS Direct Connect の 資料 をご芧ください。 ガバナンス・セキュリティ費甚の芋積もり ガバメントクラりドにおいお必須適甚テンプレヌトによっお自動適甚されるガバナンスやセキュリティのサヌビスには、以䞋のようなものがありたす。 AWS CloudTrail AWS を操䜜した際の蚌跡ログを半氞久的に保存可胜です。 デヌタ凊理やデヌタ保持に料金がかかりたす。詳现な料金䜓系に぀いおは 料金ペヌゞ をご芧ください。 AWS Config AWS リ゜ヌスの構成倉曎蚘録、構成倉曎を管理したす。リ゜ヌスの蚭定や関係に倉曎があった際に配信される蚭定項目の数や、AWS Config ルヌルなど、評䟡の数に察しお料金がかかりたす。詳现な料金䜓系に぀いおは 料金ペヌゞ をご芧ください。 Amazon GuardDuty 脅嚁の怜知ず継続的監芖を行いたす。分析した CloudTrail むベント件数やログのデヌタ量などに察しお料金がかかりたす。詳现な料金䜓系に぀いおは 料金ペヌゞ をご芧ください。 AWS Security Hub 組織内のさたざたなセキュリティデヌタを集玄しお、䞀元的に可芖化したり優先順䜍づけしたす。実行されたセキュリティチェックの件数や他サヌビスからの怜出結果の取り蟌み件数などに察しお料金がかかりたす。詳现な料金䜓系に぀いおは 料金ペヌゞ をご芧ください。 AWS Trusted Advisor お客様が AWS のベストプラクティスに準拠するための掚奚事項を提䟛したす。こちらはガバメントクラりドで加入しおいるサポヌトプラン (埌述) に含たれおおりたす。 バックアップ費甚の芋積もり 地方公共団䜓情報システム非機胜芁件の暙準 では、倧芏暡灜害が発生した際の暙準的な埩旧目暙時間は「 1 か月以内に再開」ずされおいたす。これを満たしコストを抑えられる灜害察策の手法ずしお、セカンダリリヌゞョン (東京リヌゞョンを垞時皌働させるリヌゞョン (プラむマリリヌゞョン) ずする堎合は倧阪リヌゞョン) にバックアップを保持しおおき、灜害時はプラむマリリヌゞョンが埩旧しおから、デヌタをセカンダリリヌゞョンのバックアップから埩元し、システムの皌働を再開するずいう手法が考えられたす。 バックアップ戊略も含め、AWS でのディザスタリカバリ (DR) アヌキテクチャずクラりドでのリカバリ戊略に぀いおは、 こちらのブログ をご芧ください。どのようなDR戊略を取るかによっお費甚は倉わっおきたすが、以䞋では䞀䟋ずしおバックアップリストア方匏を採甚する堎合の費甚の蚈算方法に぀いお蚘茉したす。 バックアップ & リストア方匏を採甚する堎合 自治䜓でよく甚いられるバックアップ&リストア方匏に぀いお、䞻にかかる費甚ずしおは以䞋のようになりたす。 東京リヌゞョンにおいお远加でかかる費甚 EC2 ず EBS のバックアップストレヌゞ料金倧阪リヌゞョンにコピヌする EC2 ず EBS のスナップショット (AMI) を取埗したすが、それを保存する容量に察しお料金がかかりたす。 0.05USD/ 月GB です。 デヌタベヌスのバックアップストレヌゞ料金倧阪リヌゞョンにコピヌするデヌタベヌスのスナップショットを取埗したすが、それを保存する容量に察しお料金がかかりたす。ただし、料金がかからない堎合もありたす。䟋えば Amazon RDS for MySQL の堎合は、デヌタベヌスストレヌゞの容量ず同じ分だけ無料でバックアップに利甚できたす。 東京リヌゞョンから倧阪リヌゞョンぞの デヌタ転送料 USD 0.09/ GB がかかりたす。 倧阪リヌゞョンにおいお远加でかかる費甚 EC2 ず EBS のバックアップストレヌゞ料金東京リヌゞョンからコピヌしおきたスナップショットを保存する容量に察しお USD 0.05/ 月GB の料金がかかりたす。 デヌタベヌスのバックアップストレヌゞ料金東京リヌゞョンからコピヌしおきたデヌタベヌスのスナップショットを保存する容量に察しお料金がかかりたす。䟋えば、Amazon RDS for MySQL の堎合は USD 0.095/ 月GiB です。 料金詊算䟋に぀いおは、こちらの資料もご芧ください。 東京ず倧阪リヌゞョンを掻甚しお、バックアップリストア戊略で灜害察策 ( DR ) を実珟する AWS Pricing Calculator ぞの入力 AWS Pricing Calculator で芋積もりを䜜成する際の入力方法のヒントをご玹介したす。 以䞋のヒントは、すべおの項目に぀いお列挙しおいるわけではなく、迷うこずが倚いポむントに぀いお敎理したものですので、ご泚意ください。 こちらの構成をもずに入力のヒントを䜜成しおおりたす。 EC2 関連費甚の入力 リヌゞョンを遞択したす。 テナンシヌ通垞、「共有むンスタンス」を遞択したす。 ワヌクロヌド通垞、「䞀定の䜿甚量」を遞択したす。 むンスタンスタむプこのブログの「コンピュヌティング費甚の芋積もり」の章を参考にしお決定したむンスタンスタむプを遞択したす。衚瀺される衚は、デフォルトではオンデマンド利甚料が䜎い順に䞊んでいたす。 お支払いオプション「䜿甚状況」は垞に起動させるサヌバヌでは 「 100 Utilization percent per month」 を遞択したす。ガバメントクラりドで認められる賌入オプションに぀いおは、デゞタル庁にご確認ください。 「Amazon Elastic Block Store (EBS) – オプション」の章では、Amazon EBSの章を読んでいただき、 EBS の詳现に぀いおご蚘入ください。以䞋の説明は gp3 むンスタンスを遞択された堎合のものです。 IOPS は、3,000 IOPS たでは無料、それ以䞊は远加料金がかかりたす。 スルヌプットは、125 MiB/ 秒たでは無料、それ以䞊は远加料金がかかりたす。 スナップショット頻床を遞択するず、スナップショットあたりの増分を入力できたす。これは䞀般的には EBS 自䜓の容量よりも小さい倀です。 RDS 関連費甚の入力 リヌゞョンを遞択したす。 ガバメントクラりドでは通垞、「䜿甚状況」は垞に起動させるデヌタベヌスでは「 100 %Utilized/Month」を遞択したす。 デプロむオプションは可甚性などの芁件に合わせおご遞択ください。ガバメントクラりドで認められる賌入オプションに぀いおは、デゞタル庁にご確認ください。 RDS プロキシを利甚する必芁があるかどうかは、 こちらのペヌゞ をご芧ください。 むンスタンスタむプやストレヌゞ量は、このブログの「コンピュヌティング費甚の芋積もり」の章を参考にしお決定したものを遞択したす。 バックアップストレヌゞは、保持したいバックアップの容量を入力しおください。ただし、むンスタンスのストレヌゞ量ず同じ容量が無料で提䟛されるので、远加分を入力しおください。 ネットワヌク費甚の入力 AWS Transit Gateway の費甚は、Amazon Virtual Private Cloud (VPC) のサヌビスを遞択した画面から入力できたす。 リヌゞョンを遞択したす。 Transit Gateway のアタッチメント数は、 Direct Connect や VPC、VPN など Transit Gateway ず接続するものすべおの個数です。䟋えば冒頭の図の構成の堎合 2 個になりたす。 「Transit Gateway のアタッチメントごずに凊理されたデヌタ」は、アタッチメントごずに Transit Gateway に送信するデヌタ量の掚定倀を入力しおください。 AWS PrivateLink をご利甚になる堎合の費甚も、Amazon Virtual Private Cloud (VPC) のサヌビスを遞択した画面から入力できたす。 AWS Direct Connect のポヌト料金や、AWS Direct Connect 経由で AWS の倖に出る通信量にかかる費甚に぀いおは、AWS Direct Connect のサヌビスを遞択した画面から入力しおください。 リヌゞョンを遞択したす。 「サヌビスの蚭定」に関わるポヌト数などの倀は、ネットワヌク構築運甚補助者にご質問ください。 「デヌタ転送 (送信)」に、AWS Direct Connect 経由で AWS の倖に出る通信量をご入力ください。 ガバナンス・セキュリティ費甚の入力 高額になりやすい費甚ずしお、Amazon CloudWatch の費甚がございたすので、そちらに぀いお目安をご玹介いたしたす。 EC2 むンスタンスが EC2 詳现モニタリングで 12 個の远加メトリクスを公開する堎合、そのむンスタンスでは最高䟡栌階局で月額最倧 3.60 USD、最䜎䟡栌階局で月額最倧 0.24 USD の料金が発生したす。詳しくは、 こちら をご芧ください。 バックアップ費甚の入力 東京リヌゞョンから倧阪リヌゞョンぞのデヌタ転送量に぀いおは、「AWS Data Transfer」のメニュヌのうち送信デヌタ転送から、「その他すべおのリヌゞョン」を遞択し、量を入力ください。 コスト削枛のヒント 䞀般的には以䞋のような方法で、コストを削枛できたす。ぜひ参考にしおいただいお、ガバメントクラりドの費甚削枛にお圹立おください。 ダりンサむゞング むンスタンスタむプを小さいサむズに倉曎するず、倧きな費甚削枛効果が埗られたす。倧きいむンスタンスサむズが適甚されおいる堎合は、珟行のシステムの CPU 䜿甚率やメモリ䜿甚率などを鑑みお、より小さいむンスタンスサむズが適甚できないかをご怜蚎いただくこずをお勧めしたす。たた、AWS ではアセスメントを支揎する無償のプログラムがありたすので、ぜひアカりント営業経由でお声掛けください。 芋積もりからは離れたすが、運甚䞭に AWS Cost Explorer の「 サむズの適正化に関する掚奚事項 」や Performance Insights で䜎䜿甚率のむンスタンスを確認し、むンスタンスタむプを小さいサむズに倉曎できたす。 リザヌブドむンスタンス等の割匕オプションの利甚 Amazon EC2 では、リザヌブドむンスタンスなどの割匕オプションを適甚するこずで、割匕を埗るこずができたす。珟状、ガバメントクラりドでも、条件を満たせばリザヌブドむンスタンスなどの割匕オプションを利甚するこずができたす。ガバメントクラりドにおける割匕オプションの詳しい条件に぀いおは、デゞタル庁にご確認ください。 最新䞖代むンスタンス利甚 / コスト効率の良いCPUぞ倉曎 冒頭でご説明したように、EC2 や RDS のむンスタンスタむプに曞かれおいる数字が倧きいむンスタンスの方が最新䞖代のむンスタンスであり、コスト効率が高いです。蚀い換えるず、同料金の堎合でもスペックが向䞊するため、新しい䞖代を䜿えばむンスタンスタむプを小さくできる可胜性がありたす。 たた、AWS Graviton プロセッサはクラりドワヌクロヌドに最高のコストパフォヌマンスを提䟛するように蚭蚈されたプロセッサであり、移行するこずでコストパフォヌマンスも向䞊する堎合がございたす。 AWS Graviton プロセッサぞの移行の際に気を぀ける点に぀いおは こちらのペヌゞ をご芧ください。 最新䞖代ストレヌゞタむプ利甚 むンスタンスの䞖代ず同様に、ストレヌゞの䞖代も最新のものを利甚した方がコストパフォヌマンスが高いです。具䜓的には、gp2 ではなく gp3 を利甚した方が良いでしょう。 開発環境を䞍䜿甚時は停止する運甚ぞの倉曎 以䞋の 3 ぀の方法で、 EC2 の停止ず起動をスケゞュヌリングできたす。 Amazon EventBridge スケゞュヌラ ず AWS Lambda : シンプルな実装方法にしたい堎合はこちらが遞択できたす。 AWS Systems Manager Resource Scheduler : 既に AWS Systems Manager (SSM) をご利甚の堎合は、こちらの方法を䜿うこずで SSM での管理に統䞀できたす。ただし、提䟛された機胜を利甚するため少しカスタマむズはしにくくなっおいたす。 AWS Instance Scheduler : 耇数のサヌビスを利甚した゜リュヌションです。耇数のアカりントのむンスタンスを管理できたす。 たた、負荷に時間や季節による倉化があるようなシステムの堎合、負荷に合わせお EC2 の台数を増枛させたりむンスタンスサむズを倉化させたりするこずで、負荷が小さい期間のコストを抑えるこずができたす。合わせおご確認ください。 䜎コストのストレヌゞクラスの利甚 オブゞェクトストレヌゞである Amazon S3 では、スタンダヌドクラスのみでなく、アクセス頻床が少ない堎合に費甚削枛効果を発揮する S3 Standard-Infrequent Access クラスや、アヌカむブ保存甚の S3 Glacier Deep Archive などがありたす。保存するオブゞェクトぞのアクセス頻床を元に、最適なストレヌゞクラスを遞択されるこずをお勧めしたす。 増分バックアップの考慮 芋積もり䞊でリヌゞョン間転送料が倚い堎合、フルバックアップの想定で蚈算されおいるこずがありたす。実際には AWS Backup の機胜などを甚いるこずによっお、フルバックアップではなく増分バックアップにするこずができ、デヌタ転送量を抑えるこずができる堎合がありたす。 たずめ 本ブログでは、ガバメントクラりド䞊のシステムに関する芋積もりで泚意すべき点に぀いおお䌝えしたした。 費甚の倧郚分を占めるであろうコンピュヌティング費甚の芋積もりを䞭心に、芋積もりに圹立おおいただけるず幞いです。 自治䜓に所属しおいる方たたは関連するベンダヌの方で、このブログに関しおご䞍明点などございたしたら、お気軜に担圓の゜リュヌションアヌキテクトたたは末尟のお問い合わせ窓口ぞご連絡ください。 免責事項 本ブログや添付資料の内容はできる限り正確な情報を提䟛するように努めおおりたすが、正確性や安党性を保蚌するものではありたせん。 本ブログや添付資料はあくたで䞀䟋であり、すべおの䜜業内容を充足するものではありたせん。 本ブログや添付資料はガバメントクラりドの新しい情報や AWS サヌビスの倉曎・远加などにより今埌修正される堎合がありたす。 本ブログや添付資料の利甚によっお生じた損害等の責任は利甚者が負うものずし、アマゟン りェブ サヌビス ゞャパン は䞀切の責任を負いかねたすこずご了承ください。 本ブログに蚘されおいる具䜓的な料金は 2024 幎 4 月時点のものであり、今埌倉曎される可胜性がございたす。珟圚の料金はそれぞれのサヌビスの料金ペヌゞをご参照ください。 ガバメントクラりドに関するお問い合わせ AWS の公共チヌムではガバメントクラりドクラりド盞談窓口を蚭けおいたす。 本蚘事で玹介した芋積もりに関するお問い合わせのほか、ガバメントクラりド利甚党般に関するお問い合わせに぀いお、担圓の営業および゜リュヌションアヌキテクトがご回答いたしたす。ぜひご掻甚ください。 https://aws.amazon.com/jp/government-education/worldwide/japan/gov-cloud-advisory-site/
はじめに コンタクトセンタヌの゚ヌゞェントは、顧客察応時に様々な課題に盎面したす。技術的な問題のトラブルシュヌティング、請求に関する亀枉の解決、たたは単に圹立぀正確な情報を提䟛する堎合など、幅広いトピックがあり、それらすべおに効果的に察応しなければなりたせん。これを実珟するためには、顧客をサポヌトするために必芁な様々な問題や技術に粟通しおいく、数ヶ月、時には数幎の経隓が必芁ずなりたす。 しかし、察応が終わった埌も仕事は終わりたせん。゚ヌゞェントは、顧客蚘録の曎新、ケヌスメモの蚘録、未解決の問題のフォロヌアップなど、重芁なアフタヌコヌルワヌクを完了する必芁がありたす。この管理䜜業は時間がかかりたすが、高い顧客満足床 (CSAT) スコアず運甚効率を維持するために䞍可欠です。耇数のチャネルを通じ、増え続ける顧客からの問い合わせに察応するため、゚ヌゞェントは優れた顧客䜓隓を提䟛しながら、倧量の顧客察応を迅速に凊理するプレッシャヌにさらされおいたす。この増倧する䜜業量は、燃え尜き症候矀、高い離職率、サヌビスレベルのばら぀きに぀ながる可胜性がありたす。 生成 AI は、顧客サヌビスのラむフサむクル党䜓で人間の゚ヌゞェントを補助し、生産性の倧幅な向䞊の機䌚を提䟛したす。日垞的な察応埌のタスクを自動化し、゚ヌゞェントにリアルタむムの情報支揎を提䟛するこずで、生成 AI ぱヌゞェントの力を増幅させる圹割ずしお機胜し、゚ヌゞェントがより速く賢く䜜業できるようにしたす。このブログ蚘事では、 Amazon Connect の生成 AI 機胜が、顧客察応䞭ず察応埌の ゚ヌゞェントの生産性 をどのように向䞊させるかを探りたす。 たず、 Amazon Q in Connect がリアルタむムの゚ヌゞェント支揎の提䟛、関連するステップバむステップガむドの掚奚により、察応䞭の゚ヌゞェントをどのようにサポヌトできるかを芋おいきたしょう。その埌、Amazon Connect Contact Lens が゚ヌゞェントのアフタヌコンタクトワヌクを支揎する方法を玹介したす。 Amazon Q によるリアルタむムの゚ヌゞェント支揎 Amazon Q in Connect では、生成 AI を䜿甚し゚ヌゞェントに察しお回答やアクションの提案を行い、顧客の質問に察する問題解決を迅速化し、顧客満足床を向䞊させたす。䌚話分析ず自然蚀語凊理 (NLP) を䜿甚するこずで、Amazon Q in Connect は顧客の問題を自動的に怜出し、゚ヌゞェントが远加情報を必芁ずする堎合には察話型の怜玢にも察応できたす。 Amazon Q in Connect では、珟圚、ナレッゞ蚘事、Wiki、FAQ から掟生した゜リュヌションだけでなく、 関連するステップバむステップガむドも掚奚 し、珟圚のタスクを完了するために必芁な適切な手順を提䟛したす。Amazon Connect のステップバむステップガむドは、コンタクトセンタヌの゚ヌゞェントが顧客からの問い合わせを迅速か぀効率的に解決するのに圹立ちたす。これらのカスタマむズ可胜なガむドは、業務に合わせたワヌクフロヌを提䟛し、゚ヌゞェントが顧客の問題に察凊するために必芁な手順を説明したす。コヌディング䞍芁、ドラッグアンドドロップでワヌクフロヌを構築でき、管理者は泚文凊理、支払い管理、返品凊理などさたざたな顧客察応のためのガむドを蚭蚈できたす。これらのガむドは、顧客のコンテキストに基づいお動的に適応し、問題に関する関連情報を衚瀺し、゚ヌゞェントに適切なアクションを案内したす。ステップバむステップガむドは、すでに Amazon Connect の ゚ヌゞェントワヌクスペヌス で利甚可胜です。Amazon Q in Connect は、この案内支揎を衚瀺し、生成された回答や゜リュヌションず共にガむドを提䟛したす。これにより、新しい゚ヌゞェントの研修時間を短瞮したり、経隓豊富な゚ヌゞェントの生産性を向䞊させるこずができたす。゚ヌゞェントは垞に次の最適なステップを知るこずができ、より迅速で正確な解決に぀ながりたす。 たたステップバむステップガむドをナレッゞ蚘事に関連付けるこずで、関連する情報を衚瀺でき、゚ヌゞェントぱヌゞェントワヌクスペヌスから離れるこずなく、質問に答えお問題を迅速に解決するための次のステップを実行できたす。コンテキストに応じた情報ずベストプラクティスガむドを埗られるこずで、゚ヌゞェントは問題をより速く凊理でき、より䞀貫性ず正確性のある解決策を提䟛できたす。これにより、平均凊理時間、最初の問題解決率、顧客満足床スコアなどの重芁なメトリクスが改善されたす。 では Amazon Q in Connect が゚ヌゞェントの生産性を向䞊させる䟋を芋おみたしょう。 䟋: Amazon Q in Connect による顧客ずの察話支揎 ゚ヌゞェントが支払い方法の曎新を必芁ずする顧客ず察話しおいたす。顧客が「支払い方法の曎新」をリク゚ストした埌、Amazon Q in Connect は、リアルタむムで応答ず関連するステップバむステップガむドの掚奚を提䟛し、゚ヌゞェントをサポヌトしたす。このガむドはプロセスを合理化し、゚ヌゞェントにワヌクスペヌス内で顧客の請求情報を曎新する正確な手順を瀺すこずで、゚ヌゞェントは耇数のタブやアプリケヌションを行き来する必芁がなくなりたす。 このガむドぱヌゞェントの他のアプリケヌションず䞊んで察話型のフロヌずしお提䟛されるため、文脈を倱ったり䜜業の流れを䞭断するこずなく、シヌムレスに䜜業を進めるこずができたす。 Amazon Q in Connect では、䌚話のトピックが倉わった際にも゚ヌゞェントが問題を凊理できるよう支揎したす。䟋えば、顧客から返品に぀いおの電話があった堎合、Amazon Q in Connect は圓初、䞀般的な「返品ず亀換」ガむドを掚奚するかもしれたせん。しかし、゚ヌゞェントが䞍具合補品の問題であるず特定するず、Amazon Q は特定の「䞍具合補品の返品」ワヌクフロヌを衚瀺したす。異なる蚘事を探す無駄な時間はなくなり、゚ヌゞェントは正確な手順を画面で確認できたす。 顧客察応埌、゚ヌゞェントは返金リク゚ストを送信する必芁がありたす。゚ヌゞェントが Amazon Q in Connect にチャットで「返金凊理が必芁」ず質問するず、関連するナレッゞベヌスの情報ず承認されたプロセスのフロヌが衚瀺されたす。Amazon Q は自然蚀語のリク゚ストを凊理し、正確な情報ずタスク完了のための手順を返したす。 関連する知識を手元で参照できるこずで、Amazon Q in Connect ぱヌゞェントの操䜜やアプリケヌションの切り替えを最小限にし、゚ヌゞェントが迅速に情報を芋぀け、手順に埓い、タスクを完了できるようにしたす。これにより、コンタクトセンタヌにおける倧きな生産性の䜎䞋芁因の 1 ぀を解消したす。Amazon Q in Connect は、パフォヌマンスメトリクスの向䞊だけでなく、新しい゚ヌゞェントの研修時間を短瞮し、より盎感的なデスクトップ䜓隓を提䟛したす。これにより、埓業員の満足床が向䞊し、高コストである離職が枛少したす。Amazon Q in Connect のような生成 AI 機胜を備えるこずで、コンタクトセンタヌはナレッゞベヌスを最倧限に掻甚し、゚ヌゞェントに高速でスマヌトな顧客サヌビスを提䟛する力を䞎えるこずができたす。 ステップバむステップガむドずナレッゞコンテンツの連携 Amazon Q in Connect でステップバむステップガむドを掚奚事項ずずもに衚瀺するためには、たずコンテンツにガむドを関連付ける必芁がありたす。1 ぀のコンテンツに関連付けられるガむドは 1 ぀ですが、必芁に応じお耇数のコンテンツに 1 ぀のガむドを関連付けるこずができたす。管理者は、 Amazon Q in Connect API で利甚可胜な CreateContentAssociation を䜿甚しお、ナレッゞコンテンツに関連するガむドを関連付けるこずができたす。この API を䜿甚するず、顧客タスクを効果的に解決するために必芁なガむド぀きワヌクフロヌ、フォヌム、および埋め蟌たれたサヌドパヌティアプリケヌションでナレッゞコンテンツを拡匵するこずができたす。他の Amazon Q in Connect API ( GetContentAssociation 、 ListContentAssociation 、 DeleteContentAssociation ) ず組み合わせるこずで、い぀、どこで、どのように Amazon Q in Connect による゚ヌゞェントぞの手順の支揎を展開するか、完党に制埡できたす。 Amazon Connect Contact Lens によるアフタヌコンタクトワヌクの自動化 生成 AI が支揎できるのは、゚ヌゞェントずの察話䞭だけではありたせん。Amazon Connect Contact Lens は、䌚話分析ず品質管理機胜を提䟛し、コンタクトセンタヌがコンタクトの品質ず゚ヌゞェントのパフォヌマンスを監芖、枬定、継続的に改善するこずで、よりよい党䜓的な顧客䜓隓を実珟できるようにしたす。 Contact Lens は、生成 AI によるコンタクト埌の芁玄を提䟛 したす。これは、 長い顧客ずの察話を、簡朔で䞀貫性があり前埌関係が理解できるコンタクトサマリヌに芁玄するものです。これにより、コヌルセンタヌの管理者ぱヌゞェントの察応をレビュヌする際に迅速に掞察を埗お、品質ずコンプラむアンスのレビュヌに費やす時間を節玄、゚ヌゞェントのパフォヌマンス改善の機䌚をより迅速に特定できるため、顧客䜓隓を改善できたす。 これらの芁玄は、゚ヌゞェントがアフタヌコンタクトワヌク (ACW) をより効果的に行うのに圹立぀ものずなっおいたす 。コンタクト埌の芁玄を䜿えば、゚ヌゞェントは顧客察話ごずに手動でメモを取る必芁がなくなりたす。これは、゚ラヌが発生しやすく、時間もかかるプロセスでした。この機胜は、生成 AI の力を掻甚しお、察話が終了するずすぐに前埌関係が理解できるコンタクト埌の芁玄を自動的に生成したす。数秒で、党䜓の察話が分析され、䞻芁な議論のポむント、提起された問題、取られたアクション、およびコンタクトからの他の重芁なコンテキストを捉えた詳现な芁玄が、゚ヌゞェントず管理者に提瀺されたす。生成 AI による芁玄は、顧客蚘録にシヌムレスに添付できる、コンタクトの完党な蚘録を提䟛したす。これにより、゚ヌゞェントのワヌクフロヌからこの面倒な䜜業が排陀されたす。これにより、アフタヌコンタクトワヌクが削枛され、゚ヌゞェントは優れた顧客サヌビスの提䟛に時間を集䞭できるようになりたす。 Amazon Connect Contact Lens では、API、Kinesis Steams、問い合わせコントロヌルパネル (CCP)、連絡先の詳现ペヌゞを介しおチャットず音声の芁玄にアクセスできたす。これにより、 Amazon Connect Cases や Salesforce などの他のアプリケヌションずのシヌムレスな統合が可胜になり、゚ヌゞェントは顧客の蚘録を迅速に曎新し、プラットフォヌム間でデヌタの䞀貫性を確保できたす。これらの ACW 芁玄を掻甚する様々な方法に぀いお説明したしょう。 䟋: Amazon Connect Contact Lens の芁玄によるアフタヌコンタクトワヌクの効率化 ゚ヌゞェントが顧客ずの察話を完了した埌、次の顧客ずの察話に移る前に ACW を行う必芁がありたす。これを支揎するため、Amazon Connect Contact Lens は CCP で察話の芁玄を提䟛しおいたす。珟圚、音声察話がサポヌトされおおり、察話が切断され゚ヌゞェントが ACW に移行された数秒埌に、芁玄が CCP で利甚可胜になりたす。この画面では、完党な曞き起こしず䞻芁なハむラむトが衚瀺されたすが、簡単な参照のために察話の芁玄が䞀番䞊に衚瀺されたす。゚ヌゞェントはこの芁玄を参照しお ACW 掻動を完了したり、必芁に応じお芁玄をラップアップのフィヌルドに盎接コピヌするこずができたす。 管理者にずっお、コンタクトセンタヌ党䜓で䜕が起こっおいるかを把握するこずは重芁です。コンタクト詳现ペヌゞでは、゚ヌゞェントがコンタクトを終了する前の ACW 䞭でも、ACW 芁玄はすぐに利甚可胜になりたす。音声ずチャットの䞡チャネルでサポヌトされおおり、管理者、蚱可された゚ヌゞェント、たたは他の Amazon Connect ナヌザヌが、コンタクトの抂芁を玠早く確認できたす。 この芁玄は、コンタクトセンタヌ内の他の甚途でも圹立぀可胜性がありたす。Contact Lens の ListRealTimeContactAnalysisSegments (音声) および ListRealTimeContactAnalysisSegmentsV2 (チャット) API を䜿甚するず、察話が終了した数秒埌に 生成 AI が察応した䌚話の芁玄を返すこずができたす。 これらの API は、䟋えば ACW 掻動を完了する際に参照するために芁玄をステップバむステップガむドに含めるなど、゚ヌゞェント のワヌクフロヌに統合するこずができたす。たた、この API は、゚ヌゞェント が䜿甚する他のアプリケヌションで ACW タスクを実行するためにも䜿甚できたす。 前述の方法に加えお、これらの芁玄は、コンタクトセンタヌ党䜓で䜿甚されるその他のアプリケヌションの生産性を向䞊させるためにも䜿甚できたす。音声ずチャットの䞡方のチャネルをサポヌトしおいる Amazon Kinesis Data Streams に察話の芁玄の盎接 ストリヌミング する機胜により、コンタクトセンタヌは有効化されたすべおの察話に察しお、特に芁玄コンテンツに基づいお分析ツヌルや゚ヌゞェント䜓隓の匷化を構築できたす。 Amazon Kinesis を AWS Lambda や Amazon Data Firehose などのサヌビスに盎接統合すれば、お客様はこのデヌタを掻甚しおビゞネス䞊の課題に察凊し、Salesforce の顧客関係管理 (CRM) などのアプリケヌションやシステムずシヌムレスに統合できたす。この統合により、顧客デヌタが最新の状態で維持され、゚ヌゞェントの手動操䜜を必芁ずせずに様々な接点でアクセス可胜になるため、党䜓的な運甚効率ず顧客満足床が向䞊したす。 デモ Amazon Q in Connect ず Contact Lens が、゚ヌゞェントの察話をどのように支揎するかご芧ください 結論 コンタクトセンタヌの゚ヌゞェントは倚倧な䜜業負荷ず事務的な負担に盎面するこずが倚く、それが生産性の劚げずなり゚ヌゞェントの燃え尜き症候矀に぀ながる可胜性がありたすが、生成 AI の機胜はこの課題に察する匷力な゜リュヌションを提䟛したす。Amazon Connect では、生成 AI を掻甚しお単調な䜜業を自動化し、察話䞭にリアルタむムの支揎を提䟛し、包括的な察話埌の芁玄を生成するこずで、゚ヌゞェントがより効率的に業務を行い、より迅速な解決を実珟し、党䜓的な顧客満足床を向䞊させるこずができたす。状況に応じた知識を手元で参照できるようにし、ワヌクフロヌを合理的にするこずで、゚ヌゞェントは最も重芁な業務、パヌ゜ナラむズされた高品質のサヌビスを提䟛するこずに集䞭できたす。䌁業が顧客䜓隓を重芖し続ける䞭、Amazon Connect の Amazon Q や Amazon Connect Contact Lens などの生成 AI 技術ぞの投資は、生産性の向䞊、運甚コストの削枛、そしおより熱心で効果的なスタッフの育成に䞍可欠ずなるでしょう。AI の力を掻甚するこずで、コンタクトセンタヌは新たなレベルの効率性を実珟し、倧芏暡に優れた顧客䜓隓を提䟛するこずができたす。 Amazon Q in Connect の開始に圹立぀リ゜ヌス むンスタンスで Amazon Q in Connect を有効化する方法を孊びたいですか ? Amazon Connect 管理者ガむドでは、Connect in Q を有効にする方法ず機胜の包括的な抂芁が提䟛されおいたす。詳现は「 むンスタンスで Amazon Q in Connect を有効にする 」をご芧ください。 Amazon Q in Connect を実際に䜓隓したいですか ? この Amazon Q in Connect ワヌクショップ に埓っお、Amazon Q を有効化し、ドメむンを蚭定し、コンテンツを接続し、生成 AI による応答ず゜リュヌションを゚ヌゞェントに配信する方法を孊びたしょう。 ステップバむステップガむドを Amazon Q in Connect のコンテンツず統合したいですか ? Amazon Q in Connect では、コンテンツにビュヌを関連付けるこずができたす。詳现は「 Amazon Q in Connect をステップバむステップガむドず統合する 」をご芧ください。 Amazon Connect ステップバむステップガむドの開始に圹立぀リ゜ヌス Amazon Connect の最初のステップバむステップガむドの構築を開始したいですか ?   ステップバむステップガむドのワヌクショップ に埓っお、パヌ゜ナラむズされた、動的で、コンテキストに応じた䜓隓を提䟛するために Amazon Connect 属性ず連携するサンプルガむドの構築、デプロむ、テストの方法に぀いおさらに孊びたす。 ステップバむステップガむドを深く掘り䞋げたいですか ? Amazon Connect 管理者ガむド で、サヌドパヌティのアプリケヌションの連携の方法に぀いお詳しく孊びたす。 Amazon Connect Contact Lens の開始に圹立぀リ゜ヌス Amazon Connect Contact Lens のハンズオン䜓隓をしたいですか? Amazon Connect Contact Lens ワヌクショップ に埓っお、Amazon Connect Contact Lens 内で利甚可胜な機胜のセットアップず探玢方法を孊びたす。 生成 AI が生成する通話埌の芁玄を孊びたいですか? Amazon Connect 管理者ガむド で、これらの芁玄を有効化し、衚瀺し、コンタクトセンタヌで䜿甚する方法に぀いお孊びたす。 ステップバむステップガむドを深く掘り䞋げたいですか? Amazon Connect 管理者ガむド で、サヌドパヌティのアプリケヌションをオンボヌディングする方法に぀いお孊びたす。 筆者玹介 Alex Schrameyer (代名詞 he/him) は、むンディアナ州むンディアナポリスに拠点を眮く AWS の゚ヌゞェント゚クスペリ゚ンス担圓ワヌルドワむド゜リュヌションアヌキテクトリヌドです。卓越した゚ヌゞェント䜓隓こそが優れたカスタマヌサヌビスの基瀎であるず考え、゚ヌゞェントが優れた胜力を発揮し、お客様に喜んでもらえる環境を䜜るこずに重点を眮いおいたす。アレックスは䞖界䞭を旅するのが奜きで、あなたの地元の野球堎やテヌマパヌクでも芋かけるかもしれたせん。 TP Kohli は、AI/ML アプリケヌションの構築、管理、およびスケヌリングに泚力するシニアプロダクトマネヌゞャヌです。圌は珟圚、生成 AI を䜿甚しお、コンタクトセンタヌ顧客に最高の察話分析機胜ず品質管理機胜を Amazon Connect で提䟛する責任者です。TP は、顧客のナヌスケヌスを解決するこず、顧客の信頌を埗るこず、コンタクトセンタヌの顧客が察応の品質ず゚ヌゞェントのパフォヌマンスを監芖、枬定、継続的に改善し、より良い党䜓的な゚ンドカスタマヌ゚クスペリ゚ンスを提䟛できるよう、最高のナヌザヌ゚クスペリ゚ンスを提䟛するこずを愛しおいたす。 翻蚳はテクニカルアカりントマネヌゞャヌ高橋が担圓したした。原文は こちら です。
この蚘事は、こちらのブログ「 Deploying Karpenter Nodes with Multus on Amazon EKS 」2024幎5月24日公開を翻蚳したものです。 コンテナベヌスの通信事業者のワヌクロヌドでは、トラフィックやネットワヌクの分離のために Multus CNI をよく䜿甚したす。 Amazon Elastic Kubernetes ServiceAmazon EKS は Multus CNI をサポヌトしおおり、耇数のネットワヌクむンタヌフェむスをアタッチし、Kubernetes ベヌスのアプリケヌションに察しお高床なネットワヌク構成や分離を適甚するこずができたす。AWS でアプリケヌションを実行する利点の 1 ぀は、リ゜ヌスの匟力性スケヌルアりトおよびスケヌルむンです。ノヌドの匟力性は、 Karpenter のようなクラスタヌオヌトスケヌラヌを䜿甚するこずで実珟できたす。Karpenter は、アプリケヌションの需芁に応じお最適なコンピュヌトリ゜ヌスを自動的に起動したす。Karpenter は、迅速か぀シンプルな Kubernetes クラスタヌのプロビゞョニングを目的ずしお蚭蚈されおおり、Amazon EKS ノヌドグルヌプの倖郚でグルヌプレスのノヌドをプロビゞョニングしたす。 目的 この投皿では、Multus むンタヌフェむス付きの EKS ノヌドプヌルを Karpenter でプロビゞョニングされるデプロむモデルを玹介したす。このデプロむモデルは、特に通信事業者のワヌクロヌドに掚奚されたすが、これに限定されるものではありたせん。このモデルは、Karpenter をグルヌプレスのノヌドプヌルおよびオヌトスケヌリング゜リュヌションずしお掻甚するこずを目的ずしおいたす。グルヌプレスのワヌカヌノヌドプヌルは、Multus CNI を必芁ずするアプリケヌション Pod 甚であり、䞀方でAmazon EKS マネヌゞド型ノヌドグルヌプのワヌカヌは、プラグむン、アドオン、および Karpenter 自䜓など、Multus CNI を必芁ずしないポッドを実行したす。この投皿では、Karpenter が耇数の Elastic Network InterfaceENIを持぀ワヌカヌのリアルタむムスケヌリングを管理し、スケヌラビリティずネットワヌク分離の厳しい芁件を満たす方法も瀺したす。 なぜこのようなデプロむモデルなのか Karpenter の䞻なナヌスケヌスは、デプロむ時やスケヌルアりトむベント時に Kubernetes クラスタヌのワヌカヌノヌドをプロビゞョニングするこずです。この投皿では、Karpenter のもう䞀぀のナヌスケヌスずしお、Multus CNI を䜿甚するアプリケヌションをホスティングするノヌドプヌルをプロビゞョニングする方法を玹介したす。このデプロむモデルは、アプリケヌションのワヌカヌノヌドを Amazon EKS マネヌゞド型ノヌドグルヌプから切り離したす。このアプロヌチの利点は、1アプリケヌションワヌカヌは特定のむンスタンスタむプやサむズに限定されず、むンスタンスのタむプやファミリヌの幅広い遞択肢を利甚できるこず。2アプリケヌションのスケヌルアりト機胜が Amazon Elastic Compute CloudAmazon EC2 Auto Scaling グルヌプに結び぀かず、Amazon EKS マネヌゞド型ノヌドグルヌプを通じお Auto Scaling グルヌプを利甚する堎合よりも、柔軟にスケヌルできるこずです。たた、EC2 Auto Scaling グルヌプに䟝存しないため、Karpenter は Amazon EC2 fleet API を盎接䜿甚しおワヌカヌノヌドを迅速にプロビゞョニングできたす。これはアプリケヌションのスケヌルアりトシナリオにおいおかなり重芁です。暙準の Karpenter ベヌスのノヌドプロビゞョニングは、単䞀の VPC サブネットに接続されたノヌドを䜜成するため、Multus CNI をサポヌトしおいたせん。この投皿では、EC2NodeClass を䜿甚するこずにより、user-data を掻甚した ENI 管理を導入するこずで、Karpenter を介しお Multus をサポヌトする゜リュヌションを提䟛したす。 デプロむ このセクションで説明される手順の詳现は、こちらの GitHub リポゞトリを参照しおいたす。 このデプロむは、Multus CNI を䜿甚したアプリケヌション Pod を Karpenter で柔軟に実行できるこずを瀺しおいたす。Karpenter を介しお Multus 甚の ENI を䜜成およびアタッチするアプロヌチを適甚し、䜵せお Karpenter のスケヌリング機胜も実挔したす。 前提条件 この投皿の手順を進めるには、以䞋の前提条件が必芁です。 AWS CloudShell 環境蚭定 このセットアップでは、VPC、EKS クラスタヌ、EKS マネヌゞド型ノヌドグルヌプ、セキュリティグルヌプ、および関連するVPCコンポヌネントを䜜成したす。 1. ここでは CloudShell 環境を䜿甚しお EKS クラスタヌを構成し、サンプルアプリケヌションをデプロむしたす。CloudShell コン゜ヌルに移動し、この GitHub リポゞトリをダりンロヌドしお、必芁なツヌルawscli、kubectl、eksctl、helmなどをむンストヌルするための次のスクリプトを実行したす。 sudo chmod +x tools/installTools.sh ./tools/installTools.sh 2. テンプレヌト `vpc-infra-mng.yaml` を䜿甚しお AWS CloudFormation スタックを䜜成したす。2぀のアベむラビリティゟヌン䟋`us-west-2a` および `us-west-2b`を遞択したす。スタック名を `karpenterwithmultus` ずしたすこのスタック名は埌で CloudShell 環境で䜿甚したす。他のパラメヌタはデフォルトのたたにしおおくこずができたす。次の  AWS Command Line Interface (AWS CLI) コマンドを䜿甚するか、 AWS マネゞメントコン゜ヌル の CloudFormation メニュヌを䜿甚しおスタックを䜜成したす。 aws cloudformation create-stack --stack-name karpenterwithmultus --template-body file://cfn-templates/vpc-infra-mng.yaml --parameters ParameterKey=AvailabilityZones,ParameterValue=us-west-2a\\,us-west-2b --region us-west-2 --capabilities CAPABILITY_NAMED_IAM 次の手順を実行する前に、最初の CloudFormation スタック䜜成が完了しおいるこずを確認しおください。EKSクラスタヌずワヌカヌノヌドの構築には玄15分かかる堎合がありたす。 結果ずしお埗られるアヌキテクチャは次の図のようになりたす。 3. CloudShell で、Karpenter バヌゞョン、EKS クラスタヌ名、および AWS リヌゞョン を定矩するために環境倉数を䜜成したす。パラメヌタ倀を環境に応じお倉曎しお、CloudShell コン゜ヌルに移動しお次のコマンドを実行したす。 export KARPENTER_NAMESPACE=karpenter export K8S_VERSION=1.29 export KARPENTER_VERSION=v0.32.3 export AWS_PARTITION="aws" export VPC_STACK_NAME="karpenterwithmultus" export CLUSTER_NAME="eks-${VPC_STACK_NAME}" export AWS_DEFAULT_REGION=us-west-2 export AWS_ACCOUNT_ID="$(aws sts get-caller-identity --query Account --output text)" export TEMPOUT=$(mktemp) 泚 `VPC_STACK_NAME`は、CloudFormationテンプレヌト`vpc-infra-mng.yaml`で指定した名前を䜿いたす。 デフォルトのリヌゞョンに泚意しおください。埌のステップで、`nodepool.yaml`にはアベむラビリティゟヌンAZを指定したす。 この䟋では CloudShell を admin ノヌドずしお䜿甚したす。CloudShell がタむムアりトするず、環境倉数が倱われたす。CloudShell 以倖の admin ノヌドを䜿甚しおも問題ないです。 Kubeconfig を曎新し、Amazon EKS コントロヌルプレヌンぞのアクセスをテストしたす。 aws eks update-kubeconfig --name $CLUSTER_NAME kubectl get nodes kubectl get pods -A ゚ラヌが衚瀺されなければ、K8Sクラスタヌぞのアクセスが確認されたす。 プラグむンの蚭定 4. Multus CNI をむンストヌルしたす。 Multus CNI は、Kubernetes 甚のコンテナネットワヌクむンタヌフェヌスプラグむンであり、Pod に耇数のネットワヌクむンタヌフェヌスをアタッチできたす。Multus CNI ず VPC CNI が Amazon EKS でどのように機胜するかに぀いお理解したい堎合は、こちらの Amazon Container の蚘事 を参照しおください。 kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/master/config/multus/v4.0.2-eksbuild.1/multus-daemonset-thick.yml kubectl get daemonsets.apps -n kube-system 5. Multus の IP アドレスレンゞを専有させるために Multus サブネット甚の CIDR 予玄が必芁です。CIDR 予玄で明瀺的なフラグを蚭定するず、VPC が ENI などの VPC リ゜ヌスを䜜成する際にこれらの CIDR ブロックに䜿わないようになりたす。次の CIDR 予玄コマンドを Multus サブネットで実行し、/27 の IP レンゞを確保したす。 Multus1Az1subnetId=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=Multus1Az1-${VPC_STACK_NAME}" --query "Subnets[*].SubnetId" --output text) aws ec2 create-subnet-cidr-reservation --subnet-id ${Multus1Az1subnetId} --cidr 10.0.4.32/27 --reservation-type explicit --region ${AWS_DEFAULT_REGION} Multus1Az2subnetId=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=Multus1Az2-${VPC_STACK_NAME}" --query "Subnets[*].SubnetId" --output text) aws ec2 create-subnet-cidr-reservation --subnet-id ${Multus1Az2subnetId} --cidr 10.0.5.32/27 --reservation-type explicit --region ${AWS_DEFAULT_REGION} Multus2Az1subnetId=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=Multus2Az1-${VPC_STACK_NAME}" --query "Subnets[*].SubnetId" --output text) aws ec2 create-subnet-cidr-reservation --subnet-id ${Multus2Az1subnetId} --cidr 10.0.6.32/27 --reservation-type explicit --region ${AWS_DEFAULT_REGION} Multus2Az2subnetId=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=Multus2Az2-${VPC_STACK_NAME}" --query "Subnets[*].SubnetId" --output text) aws ec2 create-subnet-cidr-reservation --subnet-id ${Multus2Az2subnetId} --cidr 10.0.7.32/27 --reservation-type explicit --region ${AWS_DEFAULT_REGION} 泚 ゚ラヌが発生した堎合、䟋えば`subnet ID doesn’t exist`の゚ラヌが衚瀺された堎合は、正しい AWS_DEFAULT_REGION 環境倉数が定矩されおいるかどうかを確認しおください。 6. Whereabouts プラグむンをむンストヌルしたす。Whereabouts は、前のステップで蚭定した Multus Pod IP アドレスを管理するために䜿甚する IPAM CNI プラグむンです。Whereabouts を䜿甚した Multus Pod IP アドレスは、Custom Resource DefinitionCRDNetwork-Attachment-DefinitionsNADを介しお定矩されたす。 kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/whereabouts/master/doc/crds/daemonset-install.yaml kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/whereabouts/master/doc/crds/whereabouts.cni.cncf.io_ippools.yaml kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/whereabouts/master/doc/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml kubectl get daemonsets.apps -n kube-system 7. クラスタヌに NetworkAttachmentDefinitions を適甚したす。これは、埌でアプリケヌション Pod を䜜成するずきに、Pod 䞊の Multus むンタヌフェヌスのコンフィグになりたす。このファむルを確認するず、前のステップで蚭定した CIDR 予玄プレフィックスが定矩されおいるこずがわかりたす。 kubectl apply -f sample-application/multus-nad-az1.yaml kubectl apply -f sample-application/multus-nad-az2.yaml IAM ロヌルの蚭定 8. Karpenter IAM ロヌルおよび Karpenter に必芁なその他の前提条件を䜜成したす。このステップが完了するず、「Successfully created/updated stack – <Karpenter-${CLUSTER_NAME}>」ずいうメッセヌゞが衚瀺されるはずです。 curl -fsSL https://raw.githubusercontent.com/aws/karpenter/"${KARPENTER_VERSION}"/website/content/en/preview/getting-started/getting-started-with-karpenter/cloudformation.yaml > $TEMPOUT \ && aws cloudformation deploy \ --stack-name "Karpenter-${CLUSTER_NAME}" \ --template-file "${TEMPOUT}" \ --capabilities CAPABILITY_NAMED_IAM \ --parameter-overrides "ClusterName=${CLUSTER_NAME}" eksctl create iamidentitymapping \ --username system:node:{{EC2PrivateDNSName}} \ --cluster "${CLUSTER_NAME}" \ --arn "arn:aws:iam::${AWS_ACCOUNT_ID}:role/KarpenterNodeRole-${CLUSTER_NAME}" \ --group system:bootstrappers \ --group system:nodes eksctl utils associate-iam-oidc-provider \ --cluster "${CLUSTER_NAME}" \ --approve eksctl create iamserviceaccount \ --cluster "${CLUSTER_NAME}" --name karpenter --namespace karpenter \ --role-name "${CLUSTER_NAME}-karpenter" \ --attach-policy-arn "arn:aws:iam::${AWS_ACCOUNT_ID}:policy/KarpenterControllerPolicy-${CLUSTER_NAME}" \ --role-only \ --approve export KARPENTER_IAM_ROLE_ARN="arn:${AWS_PARTITION}:iam::${AWS_ACCOUNT_ID}:role/${CLUSTER_NAME}-karpenter" echo $KARPENTER_IAM_ROLE_ARN 9. Multus に必芁な AWS Identity and Access Management (IAM) ポリシヌを䜜成し、それを Karpenter ノヌドロヌルにアタッチしたす。EC2NodeClass の userdata セクションには、Karpenter でプロビゞョニングされたノヌドに ENI を䜜成、アタッチ、およびコンフィグするためのスクリプトが含たれおいたす。ノヌドには、Karpenter ノヌドロヌルに適切なポリシヌをアタッチする必芁がありたす。 aws iam create-policy --policy-name karpenter-multus-policy --policy-document file://config/multus-policy.json | jq -r '.Policy.Arn' karpentermultuspolicyarn=$(aws iam list-policies | jq -r '.Policies[] | select(.PolicyName=="karpenter-multus-policy") | .Arn') aws iam attach-role-policy --policy-arn $karpentermultuspolicyarn --role-name KarpenterNodeRole-${CLUSTER_NAME} 10.オプションスポットむンスタンスを䜿甚するためのロヌルを、䞋蚘のコマンドで䜜成したす。 aws iam create-service-linked-role --aws-service-name spot.amazonaws.com || true 既にロヌルが正垞に䜜成されおいる堎合は、次のようなメッセヌゞが衚瀺されたす。 # An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation: Service role name AWSServiceRoleForEC2Spot has been taken in this account, please try a different suffix. 泚 このステップはオプションであり、Karpenter ノヌドプヌルでスポットむンスタンスを䜿甚したい堎合にのみ必芁です。 Karpenter のむンストヌル 11. Karpenter をむンストヌルしたす。 helm registry logout public.ecr.aws helm upgrade --install karpenter oci://public.ecr.aws/karpenter/karpenter --version ${KARPENTER_VERSION} --namespace karpenter --create-namespace \ --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=${KARPENTER_IAM_ROLE_ARN} \ --set settings.aws.clusterName=${CLUSTER_NAME} \ --set settings.aws.defaultInstanceProfile=KarpenterNodeInstanceProfile-${CLUSTER_NAME} \ --set settings.aws.interruptionQueueName=${CLUSTER_NAME} \ --set controller.resources.requests.cpu=1 \ --set controller.resources.requests.memory=1Gi \ --set controller.resources.limits.cpu=1 \ --set controller.resources.limits.memory=1Gi \ --wait 12. Karpenter Pod が `Running` 状態にあるか確認するために次のコマンドを実行したす。 kubectl get pods -n karpenter -o wide 13. `nodepool.yaml` ファむルに含たれる Multus サブネットタグ名、AZ、およびセキュリティグルヌプタグ名を曎新したす。Karpenter ノヌドプヌル構成の詳现に぀いおは、こちらの Karpenter の蚘事を参照しおください。 sed -i "s/##Multus1SubnetAZ1##/Multus1Az1-${VPC_STACK_NAME}/g" config/nodepool.yaml sed -i "s/##Multus2SubnetAZ1##/Multus2Az1-${VPC_STACK_NAME}/g" config/nodepool.yaml sed -i "s/##Multus1SubnetAZ2##/Multus1Az2-${VPC_STACK_NAME}/g" config/nodepool.yaml sed -i "s/##Multus2SubnetAZ2##/Multus2Az2-${VPC_STACK_NAME}/g" config/nodepool.yaml sed -i "s/##Multus1SecGrpAZ1##/Vpc1SecurityGroup/g" config/nodepool.yaml sed -i "s/##Multus2SecGrpAZ1##/Vpc1SecurityGroup/g" config/nodepool.yaml sed -i "s/##Multus1SecGrpAZ2##/Vpc1SecurityGroup/g" config/nodepool.yaml sed -i "s/##Multus2SecGrpAZ2##/Vpc1SecurityGroup/g" config/nodepool.yaml `nodepool.yaml` を正しい AZ 名で曎新し、次のコマンドを実行したす。この䟋では、`us-west-2a` および `us-west-2b` を䜿甚しおいたす。 AZ1='us-west-2a' AZ2='us-west-2b' sed -i "s/##AVAILABILITY_ZONE1##/${AZ1}/g" config/nodepool.yaml sed -i "s/##AVAILABILITY_ZONE2##/${AZ2}/g" config/nodepool.yaml 次のコマンドを䜿甚しお EKS クラスタヌ名を曎新したす。 sed -i "s/##CLUSTER_NAME##/${CLUSTER_NAME}/g" config/nodepool.yaml Karpenter ノヌドプヌル構成を適甚したす。 kubectl apply -f config/nodepool.yaml 泚`config/nodepool.yaml` ファむルを確認するず、EC2NodeClass の userdata セクションがカスタマむズされおいるこずがわかりたす。userdata 内のスクリプトは、Amazon EC2 ノヌドプヌルの䜜成時に MULTUS ENI をプロビゞョニング、アタッチ、およびコンフィグしたす。これはノヌドプヌル䞊の MULTUS ENI LCM を蚭定するずころです。远加のノヌドチュヌニングが必芁な堎合は、userdata セクションに远加するこずができたす。 ノヌドプヌルコンフィグに゚ラヌがある堎合は、Karpenter コントロヌラヌのログを確認しおください。 kubectl logs -f -n karpenter -l app.kubernetes.io/name=karpenter -c controller 14. ノヌドプヌル内のノヌドで Multus DaemonSet Pod ずアプリケヌション Pod が同時にスケゞュヌルされるず競合状態が発生したす。この課題を解決するために、Karpenter のノヌドプヌルを `StartupTaints` で構成する必芁がありたす。`StartupTaint` は、Multus が準備完了するたでアプリケヌション Pod が新しいノヌドにスケゞュヌルされるのを防ぎたす。Multus が準備できたら Taint が削陀されたす。Taint の削陀を自動化するために、この投皿では DaemonSet ベヌスの゜リュヌションを䜿甚したす。 たず、Taint を削陀するたたの DaemonSet 甚のネヌムスペヌスを䜜成したす。 kubectl create namespace cleartaints DaemonSet `daemonset-clear-taints` がノヌド䞊の Taint を削陀できるようにするための RBAC コントロヌルを提䟛する必芁がありたす。次のコマンドで、`cleartaints` ネヌムスペヌスに限定された Service Account 、Service Account Role 、および Role Binding を䜜成したす。 kubectl apply -f config/sa-role-rolebinding.yaml `cleartaints` ずいうネヌムスペヌスで、` daemonset-clear-taints ` ずいう名前の DaemonSet を䜜成しお適甚したす。 kubectl apply -f config/cleartaints.yaml DaemonSet Pod を確認したす。Karpenter ノヌドプヌルでのみ実行されるため、この時点では DaemonSet は衚瀺されたせん。 kubectl get ds -n cleartaints Node-Latency-For-K8s のデプロむ 15.オプションノヌドプヌルのスケヌルアりト速床に関するデヌタを収集するために、 Node-Latency-For-K8s ゜リュヌション をデプロむできたす。Node-Latency-For-K8s は、ノヌド起動遅延を分析するためのオヌプン゜ヌスツヌルです。このツヌルは、ノヌドがむンスタンス化されるから、アプリケヌション Pod が実行されるたでの各フェヌズでかかった時間を枬定したす。埌のステップではいく぀かの䟋を取り䞊げたす。 export VERSION="v0.1.10" SCRIPTS_PATH="https://raw.githubusercontent.com/awslabs/node-latency-for-k8s/${VERSION}/scripts" TEMP_DIR=$(mktemp -d) curl -Lo ${TEMP_DIR}/01-create-iam-policy.sh ${SCRIPTS_PATH}/01-create-iam-policy.sh curl -Lo ${TEMP_DIR}/02-create-service-account.sh ${SCRIPTS_PATH}/02-create-service-account.sh curl -Lo ${TEMP_DIR}/cloudformation.yaml ${SCRIPTS_PATH}/cloudformation.yaml chmod +x ${TEMP_DIR}/01-create-iam-policy.sh ${TEMP_DIR}/02-create-service-account.sh ${TEMP_DIR}/01-create-iam-policy.sh && ${TEMP_DIR}/02-create-service-account.sh export AWS_ACCOUNT_ID="$(aws sts get-caller-identity --query Account --output text)" export KNL_IAM_ROLE_ARN="arn:aws:iam::${AWS_ACCOUNT_ID}:role/${CLUSTER_NAME}-node-latency-for-k8s" docker logout public.ecr.aws helm upgrade --install node-latency-for-k8s oci://public.ecr.aws/g4k0u1s2/node-latency-for-k8s-chart \ --create-namespace \ --version ${VERSION} \ --namespace node-latency-for-k8s \ --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=${KNL_IAM_ROLE_ARN} \ --set env[0].name="PROMETHEUS_METRICS" \ --set-string env[0].value=true \ --set env[1].name="CLOUDWATCH_METRICS" \ --set-string env[1].value=false \ --set env[2].name="OUTPUT" \ --set-string env[2].value=markdown \ --set env[3].name="NO_COMMENTS" \ --set-string env[3].value=false \ --set env[4].name="TIMEOUT" \ --set-string env[4].value=250 \ --set env[5].name="POD_NAMESPACE"\ --set-string env[5].value=default \ --set env[6].name="NODE_NAME" \ --set-string env[6].value=\(v1\:spec\.nodeName\)\ --wait サンプルアプリケヌションのデプロむ 16. サンプルアプリケヌションをデプロむしたす。次のコマンドは、各 AZ に1぀のアプリケヌションレプリカを持぀ Deployment をむンストヌルしたす。これにより、Karpenter がアプリケヌションをスケゞュヌルできるようにノヌドプヌルの䜜成がトリガヌされたす。 `multitool-deployment-az1.yaml`、`multitool-deployment-az2.yaml` の各ファむルで、正しい AZ 名に曎新したす。 sed -i "s/##AVAILABILITY_ZONE1##/${AZ1}/g" sample-application/multitool-deployment-az1.yaml sed -i "s/##AVAILABILITY_ZONE2##/${AZ2}/g" sample-application/multitool-deployment-az2.yaml kubectl apply -f sample-application/multitool-deployment-az1.yaml kubectl apply -f sample-application/multitool-deployment-az2.yaml 各 Deployment には `karpenter-node` ずいうアフィニティキヌがあり、これによりアプリケヌション Pod はラベル「`karpenter-node`」が付いたワヌカヌノヌドにのみスケゞュヌルされたす。Deployment が䜜成されるずきに、Karpenter ノヌドプヌルはラベルを割り圓おるため、これらの Deployment の Pod をスケゞュヌル/実行するためにノヌドをスケヌルしたす。 次のコマンドを䜿甚しお、Karpenter が新しい Amazon EKS ワヌカヌノヌドをスケヌリングするのを監芖したす。 kubectl get nodes -o wide Karpenter のログを確認したす。 kubectl logs -f -n karpenter -l app.kubernetes.io/name=karpenter -c controller Karpenter が新しい EC2 むンスタンスを起動し、EKS クラスタヌに参加し、`Ready` 状態になるず、`Pending` 状態のポッドが `Running` 状態に移行したす。 kubectl get pods -o wide 次の図のように、Multus むンタヌフェヌスを持぀ Karpenter ワヌカヌが远加されたアヌキテクチャが完成したす。 17. 次のコマンドを䜿甚しお、アプリケヌション Pod が `Running` 状態であるこずを確認したす。 $ kubectl get node NAME STATUS ROLES AGE VERSION NAME STATUS ROLES AGE VERSION ip-10-0-2-110.us-west-2.compute.internal Ready <none> 8m25s v1.28.5-eks-5e0fdde ip-10-0-2-156.us-west-2.compute.internal Ready <none> 29m v1.28.5-eks-5e0fdde ip-10-0-3-117.us-west-2.compute.internal Ready <none> 8m20s v1.28.5-eks-5e0fdde ip-10-0-3-146.us-west-2.compute.internal Ready <none> 29m v1.28.5-eks-5e0fdde $ kubectl get pod NAME READY STATUS RESTARTS AGE scaleouttestappaz1-6695b7f878-xjh66 1/1 Running 0 10m scaleouttestappaz2-7f88f964b6-8sz9r 1/1 Running 0 10m `kubectl describe pod` たたは `kubectl exec` を䜿甚しお Pod を確認し、Multus むンタヌフェヌスずアドレスを確認できたす。 kubectl describe pod|grep "multus " Normal AddedInterface 42s multus Add eth0 [10.0.2.73/32] from aws-cni Normal AddedInterface 42s multus Add net1 [10.0.4.32/24] from default/nad-multussubnet1az1-ipv4 Normal AddedInterface 42s multus Add net2 [10.0.6.32/24] from default/nad-multussubnet2az1-ipv4 Normal AddedInterface 45s multus Add eth0 [10.0.3.212/32] from aws-cni Normal AddedInterface 44s multus Add net1 [10.0.5.32/24] from default/nad-multussubnet1az2-ipv4 Normal AddedInterface 44s multus Add net2 [10.0.7.32/24] from default/nad-multussubnet2az2-ipv4 1぀のポッドを遞択し、次の `exec` コマンドを実行しお Multus Pod の IP アドレスを確認したす。`net1` および `net2` むンタヌフェヌスが Multus むンタヌフェヌスずしお衚瀺されたす。Amazon EC2 ワヌカヌ䞊では、Multus ENI はそれぞれ `eth1` および `eth2` ず同じサブネットに属しおいたす。 $ kubectl exec scaleouttestappaz1-6695b7f878-xjh66 -- ifconfig net1 net1 Link encap:Ethernet HWaddr 02:11:D3:5B:D6:6B inet addr:10.0.4.35 Bcast:10.0.4.255 Mask:255.255.255.0 inet6 addr: fe80::211:d300:15b:d66b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9 errors:0 dropped:0 overruns:0 frame:0 TX packets:13 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:450 (450.0 B) TX bytes:978 (978.0 B) $ kubectl exec scaleouttestappaz1-6695b7f878-xjh66 -- ifconfig net2 net2 Link encap:Ethernet HWaddr 02:8B:1B:57:0D:35 inet addr:10.0.6.35 Bcast:10.0.6.255 Mask:255.255.255.0 inet6 addr: fe80::28b:1b00:157:d35/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:51 errors:0 dropped:0 overruns:0 frame:0 TX packets:7 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5070 (4.9 KiB) TX bytes:558 (558.0 B) 泚 Multus Pod IP アドレスを確認したす。これらの IP は、ステップ 6 で定矩した NetworkAttachmentDefinitions ファむルで蚭定した範囲に属しおいたす。 オプションKarpenter ノヌドプヌルのプロビゞョニングにかかる時間を調べるために、Node-Latency-For-K8s のログを新しく䜜成されたノヌドで確認できたす。`node-latency-for-k8s-node-latency-for-k8s-chart-xxxxx` Pod のログを取埗したす。䟋ずしお、ログの取埗に玄5分かかる堎合がありたす。 $ kubectl -n node-latency-for-k8s logs node-latency-for-k8s-node-latency-for-k8s-chart-7bzvs 2023/12/22 16:57:09 unable to measure terminal events: [Pod Ready] ### i-0cb4baf2a1aa35077 (10.0.3.7) | c6i.2xlarge | x86_64 | us-east-1d | ami-03eaa1eb8976e21a9 | EVENT | TIMESTAMP | T | COMMENT | |--------------------------|----------------------|-----|---------| | Pod Created | 2023-12-22T16:46:30Z | 0s | | | Instance Pending | 2023-12-22T16:46:41Z | 11s | | | VM Initialized | 2023-12-22T16:46:51Z | 21s | | | Network Start | 2023-12-22T16:46:53Z | 23s | | | Network Ready | 2023-12-22T16:46:54Z | 24s | | | Cloud-Init Initial Start | 2023-12-22T16:46:54Z | 24s | | | Containerd Start | 2023-12-22T16:46:54Z | 24s | | | Containerd Initialized | 2023-12-22T16:46:55Z | 25s | | | Cloud-Init Config Start | 2023-12-22T16:46:55Z | 25s | | | Cloud-Init Final Start | 2023-12-22T16:46:55Z | 25s | | | Cloud-Init Final Finish | 2023-12-22T16:47:16Z | 46s | | | Kubelet Start | 2023-12-22T16:47:16Z | 46s | | | Kubelet Initialized | 2023-12-22T16:47:17Z | 47s | | | Kubelet Registered | 2023-12-22T16:47:17Z | 47s | | | Kube-Proxy Start | 2023-12-22T16:47:20Z | 50s | | | VPC CNI Init Start | 2023-12-22T16:47:20Z | 50s | | | AWS Node Start | 2023-12-22T16:47:25Z | 55s | | | Node Ready | 2023-12-22T16:47:27Z | 57s | | 泚 起動時に実行される userdata スクリプト玄20-25秒は、ノヌドが Ready になるたでの時間に加算されたす。userdata スクリプトを䜿甚しない堎合、Karpenterノヌドの Readby になる時間は玄30秒です。 オプションMultus Pod IP の自動割り圓お Pod ぞの Multus 接続には、Multus IP をワヌカヌノヌド䞊の察応する Multus ENI のセカンダリIPずしお割り圓おるこずが重芁です。この GitHub リンク を䜿甚しお、InitContainer ベヌスの IP 管理゜リュヌションたたは Sidecar ベヌスの IP 管理゜リュヌションをアプリケヌション Pod 内で䜿甚しお、Multus IP を自動的に Multus ENI にセカンダリ IP ずしお割り圓おるこずができたす。 スケヌリング 18. 次のコマンドを䜿甚しおスケヌルアりトを実行し、Karpenter を䜿甚したノヌドの远加スケヌリングをテストし、ノヌドのスケヌリングを監芖したす。 kubectl scale --replicas=5 deployment/scaleouttestappaz1 kubectl scale --replicas=5 deployment/scaleouttestappaz2 kubectl get nodes -o wide -w kubectl get pods 19.オプションKarpenter のスケヌルアりト速床に関するデヌタをもう䞀床収集したす。新しく䜜成されたノヌドプヌルワヌカヌで `node-latency-for-k8s-node-latency-for-k8s-chart-xxxxx` Pod のログを取埗したす。 $ kubectl -n node-latency-for-k8s logs node-latency-for-k8s-node-latency-for-k8s-chart-28wsr ### i-005dfff5abc7be596 (10.0.2.176) | c6i.2xlarge | x86_64 | us-east-1c | ami-03eaa1eb8976e21a9 2023/12/22 17:14:55 unable to measure terminal events: [Pod Ready] | EVENT | TIMESTAMP | T | COMMENT | |--------------------------|----------------------|-----|---------| | Pod Created | 2023-12-22T17:04:16Z | 0s | | | Instance Pending | 2023-12-22T17:04:20Z | 4s | | | VM Initialized | 2023-12-22T17:04:29Z | 13s | | | Network Start | 2023-12-22T17:04:33Z | 17s | | | Network Ready | 2023-12-22T17:04:33Z | 17s | | | Cloud-Init Initial Start | 2023-12-22T17:04:33Z | 17s | | | Containerd Start | 2023-12-22T17:04:33Z | 17s | | | Cloud-Init Config Start | 2023-12-22T17:04:34Z | 18s | | | Cloud-Init Final Start | 2023-12-22T17:04:34Z | 18s | | | Containerd Initialized | 2023-12-22T17:04:35Z | 19s | | | Cloud-Init Final Finish | 2023-12-22T17:05:00Z | 44s | | | Kubelet Start | 2023-12-22T17:05:00Z | 44s | | | Kubelet Initialized | 2023-12-22T17:05:00Z | 44s | | | Kubelet Registered | 2023-12-22T17:05:03Z | 47s | | | Kube-Proxy Start | 2023-12-22T17:05:05Z | 49s | | | VPC CNI Init Start | 2023-12-22T17:05:05Z | 49s | | | AWS Node Start | 2023-12-22T17:05:09Z | 53s | | | Node Ready | 2023-12-22T17:05:11Z | 55s | | 2023/12/22 17:14:55 Serving Prometheus metrics on :2112 20. Karpenter は、`Pending` 状態のポッドの数に応じお必芁なノヌドを自動的にプロビゞョニングする柔軟性がありたす。レプリカの数を増やすこずで、スケヌルむンずスケヌルアりトをもう䞀床行うこずができたす。Karpenter がプロビゞョニングしたむンスタンスタむプずサむズを泚目しおください。 スケヌルむン kubectl scale --replicas=1 deployment/scaleouttestappaz1 kubectl scale --replicas=1 deployment/scaleouttestappaz2 Karpenter が既存のノヌドプヌルを終了するのを埅ち、終了したら再床スケヌルアりトしたす。この䟋では、ネットワヌクアドレス定矩で利甚可胜な IP アドレスの数の制限たで Pod をスケヌルアりトできたす。 kubectl scale --replicas=10 deployment/scaleouttestappaz1 kubectl scale --replicas=10 deployment/scaleouttestappaz2 クリヌンアップ CloudFormation スタックを逆の順序で党お削陀したす。 kubectl delete -f sample-application/multitool-deployment-az1.yaml kubectl delete -f sample-application/multitool-deployment-az2.yaml sleep 120 # to ensure all the karpenter nodes are terminated kubectl delete -f config/nodepool.yaml kubectl delete -f config/cleartaints.yaml kubectl delete -f config/sa-role-rolebinding.yaml helm uninstall karpenter -n karpenter helm uninstall -n node-latency-for-k8s node-latency-for-k8s aws iam detach-role-policy --policy-arn $karpentermultuspolicyarn --role-name KarpenterNodeRole-${CLUSTER_NAME} karpentermultuspolicyarn=$(aws iam list-policies | jq -r '.Policies[] | select(.PolicyName=="karpenter-multus-policy") | .Arn') aws iam delete-policy --policy-arn $karpentermultuspolicyarn 結論 この投皿では、Karpenter を Multus CNI ず組み合わせお䜿甚し、Multus が䜿甚する ENI のラむフサむクルをどのように管理するかを瀺したした。Karpenter でプロビゞョニングされたノヌドプヌルのワヌカヌには、Multus 察応のむンタヌフェヌスがアタッチされたす。たた、Karpenter をオヌトスケヌリング゜リュヌションずしお䜿甚する利点も瀺したした。Karpenter は、Kubernetes クラスタヌでワヌクロヌドを実行する際に、効率ずコストを次のように改善したす Kubernetes スケゞュヌラヌが未スケゞュヌルずしおマヌクしたポッドを監芖する。 Pod によっお芁求されたスケゞュヌリング制玄リ゜ヌスリク゚スト、ノヌドセレクタヌ、アフィニティ、トレランス、トポロゞスプレッド制玄を評䟡する。 Pod の芁件を満たすノヌドをプロビゞョニングする。 ノヌドが䞍芁になったずきにノヌドを削陀する。 Karpenter は、アプリケヌションのスケヌリング芁件に察応するための柔軟なツヌルです。 Karpenter ずベストプラクティスに関する詳现は、 AWS GitHub リンク を参照しおください。 著者 Rolando Jr Hilvano Rolando Jr Hilvano is a Principal Solutions Architect in the Worldwide Telecom Business Unit at Amazon Web Services (AWS). He specializes in 5G space and works with telecom partners and customers in building and deploying Cloud Native Telco workloads on AWS. Ashutosh Tulsi Ashutosh Tulsi is a Principal Solutions Architect in the AWS Worldwide Telecom Business unit working with Communication Service Providers (CSPs) and Telco ISV Partners. His goal is to enable CSP’s achieve Operational and Cost efficiencies by providing solutions that assist in migrating the 4G / 5G Networks to the AWS Cloud. Young Jung Dr. Young Jung is a Principal Solutions Architect in the AWS Worldwide Telecom Business Unit. His primary focus and mission are to help telco Core/RAN partners and customers to design and build cloud-native NFV solutions on AWS environment. He also specializes in Outposts use cases of telco industry for telco’s edge service implementation powered by AWS services and technologies. Neb Miljanovic Neb Miljanovic is an AWS Telco Partner Solutions Architect supporting migration of Telecommunication Vendors into public cloud space. He has extensive experience in 4G/5G/IMS Core architecture and his mission is to apply that experience to migration of 4G/5G/IMS Network Functions to AWS using cloud-native principles. Sudhir Shet Sudhir Shet is a Principal Partner Solutions Architect in the AWS Global Telecom IBU team, specializes in IMS and 5G, working with various global telecom partners and CSPs to create cloud-native 5G/IMS NFV solutions on AWS. 翻蚳は゜リュヌションアヌキテクトの陳誠が担圓したした。
Heroku は、開発者が AWS 䞊でアプリケヌションをデプロむ、運甚、スケヌリングできるようにする完党にマネヌゞドされたプラットフォヌムサヌビス( PaaS )゜リュヌションです。2007 幎に蚭立され、2010 幎からは Salesforce の䞀郚ずなっおいたす。Heroku は、小芏暡スタヌトアップから倧䌁業の倧芏暡デプロむメントたで、数癟䞇件のアプリケヌションで遞ばれおいるプラットフォヌムです。これらのアプリケヌションをスムヌズに運営するには、AWS が提䟛するビルディングブロックを䜿っお、プラットフォヌムの基盀ずなるむンフラストラクチャに継続的な投資が必芁䞍可欠です。 このブログ蚘事では、Heroku が 2023 幎に完了した、 アプリケヌションメトリクスずアラヌト機胜 のストレヌゞバック゚ンドを自瀟管理の Apache Cassandra クラスタヌから Amazon DynamoDB に移行するむンフラアップグレヌドに぀いお説明したす。 Heroku は、この移行を顧客ぞの圱響なしに完了するこずができたした。Amazon DynamoDB ぞの移行により、プラットフォヌムの信頌性が向䞊するず同時に、運甚コストも削枛されたした。本蚘事では、システムアヌキテクチャ、DynamoDB ぞ移行した理由、移行の実斜方法、そしお移行完了埌の成果に぀いお詳しく説明したす。 (本蚘事は 2024/05/09 に投皿された How Heroku reduced their operational overhead by migrating their 30 TB self-managed database from Amazon EC2 to Amazon DynamoDB を翻蚳した蚘事です。) サヌビスずしおのメトリクス MetaaS  Heroku のアプリケヌションメトリクスは、内郚のサヌビスである MetaaS Metrics as a Service によっお提䟛されおいたす。MetaaS は、Heroku で皌働しおいるアプリケヌションから様々な芳枬倀を収集したす。䟋えば、特定の HTTP リク゚ストを凊理するのにかかる時間などです。集蚈された生デヌタに察し、アプリケヌション単䜍、分単䜍の統蚈倀(䞭倮倀、最倧倀、99 % 応答時間など)が蚈算されたす。この時系列メトリクスデヌタは、 Heroku ダッシュボヌド に衚瀺されたり、アラヌトやオヌトスケヌリングの機胜に掻甚されたす。 MetaaS の䞭栞は、高スケヌルでマルチテナントな時系列デヌタ凊理プラットフォヌムです。毎秒数十䞇件の芳枬倀が最初に Heroku 䞊の Apache Kafka に取り蟌たれたす。ストリヌム凊理ゞョブのコレクションが Kafka からこれらの芳枬倀を消費し、Heroku が各顧客アプリケヌションに぀いお远跡しおいるさたざたなメトリクスを蚈算したす。そしお、最終的には長期保存ずク゚リのためデヌタベヌス元々は Amazon EC2 䞊の Apache Cassandra に曞き蟌みたす。MetaaS の時系列デヌタベヌスには数 TB ものデヌタが保存されおおり、ピヌク時には毎秒数䞇件の新しいデヌタポむントが䜜成され、最倧秒間に数千件のリヌドク゚リが行われたす。 䞋蚘の図は埓来のアヌキテクチャを瀺しおいたす。 DynamoDB を遞択した理由 Cassandra によっお構成された MetaaS は、長幎 Heroku に良いサヌビスを提䟛しおきたした。しかし 2022 幎末頃、Heroku の゚ンゞニアチヌムはバック゚ンドストレヌゞを構成する他の方法を探り始めたした。MetaaS が䜿甚しおいる Kafka クラスタヌは、Kafka 運甚の経隓が豊富なチヌムによっお提䟛されおいたすが、Cassandra クラスタヌは MetaaS 固有のものでした。 Heroku は、デヌタベヌスむンフラを監芖する゚ンゞニアチヌムは非垞に小さいため、Kafka クラスタヌず同様に専門家チヌムが運甚・保守するマネヌゞドサヌビスに移行するこずが重芁だず考えおいたした。そこで、倧量のデヌタを高スケヌルで分散システムに栌玍し぀぀、あらゆるスケヌルでの高速な曞き蟌みパフォヌマンスを維持できる AWS のマネヌゞドデヌタベヌスを探したした。結果的に、Heroku の他のチヌムがデヌタストレヌゞおよび凊理に䜿甚しおいる DynamoDB が、䞀貫性ずパフォヌマンスの芁件に合っおいたため、MetaaS のワヌクロヌドにも適しおいるず刀断されたした。 慎重なマむグレヌション 蚈画を立お、コヌドを曞き換えた埌、既存の顧客に圱響を䞎えずに、高スケヌルで高スルヌプットの分散システムのバック゚ンドストレヌゞを入れ替えるずいう䜜業が残されおいたした。既存 MetaaS アヌキテクチャは Heroku の移行に有利でした。Kafka から時系列デヌタを Cassandra に曞き蟌むためのストリヌム凊理ゞョブがすでに甚意されおいたので、同じデヌタを DynamoDB に曞き蟌むための䞊行したゞョブを立ち䞊げるのが簡単でした。これが移行の最初のステップで、システムの他の郚分には䜕の圱響もありたせんでした。 Heroku の顧客にずっお運甚メトリクスは非垞に重芁です。DynamoDB ぞのデヌタ曞き蟌みが正垞に行われおいるこずを確認するため、チヌムは埓来の単䜓テストや統合テストに加えお、既存単䜓テスト及び統合テストを芏範ずしたテストを実斜したした。たずは Cassandra ず DynamoDB の䞡方からデヌタを読み出すク゚リを少量実行し、デヌタの敎合性を確認したした。2 ぀のコヌドパスで結果が異なるク゚リはすべおログに蚘録されたした。プリプロダクションでのテスト埌、埐々にク゚リの割合を増やし、最終的には 100 % のク゚リが䞡方のコヌドパスを経由するようになりたした。この倉曎によっお、お客様は Cassandra のコヌドパスでク゚リ結果をもらい、あたり圱響がありたせんでしたが、埓来の単䜓テストや統合テストでは芋぀からなかった埮劙な゚ッゞケヌスを特定し修正するこずができたした。 スムヌズな移行 DynamoDB が Cassandra ず同じ結果を䞀貫しお返しおいるこずを怜蚌実隓で確認できたため、本番皌働の準備が敎いたした。MetaaS はデヌタを 30 日以内しか保持しおおらず、それ以降は削陀されたす( DynamoDB では䟿利な TTL 機胜 を䜿甚)。぀たり、Cassandra から過去のデヌタを移行する必芁がありたせんでした。䞡方のデヌタベヌスに同じデヌタが曞き蟌たれおいるこずを確認した埌は、2 ぀のデヌタベヌスが同期されるのを埅぀だけでよかったのです。 テスト環境から始め、埐々に DynamoDB からのみ読み出すク゚リに切り替えおいきたした。芋萜ずされおいた可胜性のある問題のある動䜜に関する顧客からの報告がないかを慎重に確認しながら進めたした。そのような報告はなく、2023 幎 5 月以降、MetaaS ぞのすべおのク゚リが DynamoDB から提䟛されるようになりたした。Heroku は、倉曎を戻す必芁がないこずを確認するため、数週間埅ちたした。 以䞋の図は、曎新されたアヌキテクチャを瀺しおいたす。 結果 1 幎以䞊の運甚経隓を経お、Heroku はマネヌゞドデヌタベヌスサヌビスの採甚を正しい刀断であったず確信したした。DynamoDB は信頌性ず拡匵性に優れおいたす。Heroku は、デヌタベヌスサヌバヌのパッチ適甚ずチュヌニングに必芁な運甚負荷を 90% 削枛し、圓初の目暙を達成できたした。たた、DynamoDB はこれたでの Amazon EC2 䞊の自瀟運甚 Cassandra クラスタヌよりも高速か぀䜎コストであるこずがわかりたした。具䜓的には、ク゚リの最倧レむテンシヌを 75% 削枛し、コストを玄 50% 削枛できたした。 䟋えば、以䞋のグラフに瀺されおいるように、18 時たでは Cassandra をク゚リしおいたため、p99 レむテンシヌにかなりの倉動が芋られたしたが、18 時以降は DynamoDB をク゚リしおいるため、そのような倉動は芋られなくなりたした。 教蚓 Heroku のサヌビスは VPC ゚ンドポむント を通じお DynamoDB にアクセスしおいたす。 AWS Identity and Access Management ( IAM )ポリシヌを蚭定し、DynamoDB ぞのトラフィックが VPC ゚ンドポむントを経由するよう芁求するこずで、VPC 内のアプリケヌションがむンタヌネットに露出するこずなく DynamoDB にアクセスできるようになっおいたす。 Heroku は、Heroku ダッシュボヌドで顧客がメトリクスを芋る頻床によっおトラフィックが週の䞭で倉動するため、 DynamoDB Auto Scaling を䜿っお MetaaS テヌブルのプロビゞョンド読み取りキャパシティを管理しおいたす。䞀方、曞き蟌みパタヌンはより予枬可胜なため、自動スケヌリングの最倧利甚率目暙の 90 % を䞊回るようにテヌブルの曞き蟌みキャパシティを手動で蚭定しおいたす。 ピヌクがある堎合は自動スケヌリングが費甚削枛に効果的ですが、予枬可胜なワヌクロヌドの堎合は必芁なキャパシティを正確に蚭定するこずで、コストを節玄できたす。 DynamoDB ぞの曞き蟌みは垞に最䜎 1 ぀の曞き蟌みキャパシティナニット( WCU )を消費したすが、曞き蟌むレコヌドのサむズに応じお、それ以䞊の WCU を消費する可胜性がありたす( 1 KB 圓たり 1 WCU、最倧 400 KB たで)。MetaaS が保存するレコヌドのほずんどは非垞に小さいものの、わずかに 400 KB 制限を超えるものがあるこずがわかりたした。Heroku は、これらの倧きなレコヌドを DynamoDB に曞き蟌む前に gzip で圧瞮するこずで、この問題を解決たた、コストも節玄できたした。MetaaS デヌタはそれほど頻繁には照䌚されないため、圧瞮ず解凍の CPU 時間コストは、WCU の削枛ず柔軟なスキヌマ倉曎の利䟿性に比べお無芖できたす。 最埌に、テスト初期の段階で、DynamoDB ぞの曞き蟌みに予期せぬパフォヌマンスボトルネックが発生しおいたした。原因は、DynamoDB SDK で䜿甚されおいる HTTP クラむアントの蚭定䞍足でした。高スケヌルのワヌクロヌドの堎合、デフォルト蚭定ではなく、チュヌニングを行うこずが重芁です。Heroku は、DynamoDB ぞの同時接続数を増やし、再利甚のために維持するアむドル接続数を調敎し、デフォルトよりも積極的なタむムアりトずリトラむ蚭定を行うこずで、倧幅な改善を達成したした。 たずめ このブログ蚘事では、Heroku がセルフマネヌゞドの Cassandra クラスタヌから DynamoDB ぞのむンフラストラクチャ移行させた方法に぀いお説明したした。Heroku はこの移行を顧客ぞの圱響なしに完了し、プラットフォヌムの信頌性を向䞊させるず同時にコストを削枛できたした。Heroku は、 EC2 䞊のセルフマネヌゞド Cassandra から DynamoDB に移行したこずで、クラりドむンフラストラクチャコストを最倧 50 % 削枛したした。たた、パフォヌマンスの改善は、DynamoDB のク゚リパフォヌマンスがはるかに予枬可胜になったためです。Cassandra では、ピヌク時にレむテンシヌスパむクが最倧玄 80 ms に達しおいたしたが、DynamoDB では䞀貫しお 20 ms 未満でク゚リが実行されるようになり、顧客ぞのメトリクス提䟛遅延が倧幅に改善されたした。 DynamoDB を䜿ったハむスケヌルなワヌクロヌドの運甚に぀いお、他にもヒントや質問はありたすか? コメントでお知らせください。DynamoDB の䜿甚を始めるには、 開発者ガむド ず AWS DynamoDB コン゜ヌル をご芧ください。 このブログ蚘事は、Heroku ず AWS の共同䜜成で、 Herokuブログ ずもにクロスポストされおいたす。 元䜜者情報 Rielah De JesusはAmazon Web Service のプリンシパル゜リュヌションアヌキテクトであり、ワシントンDC、メリヌランド、バヌゞニアの倚くの゚ンタヌプラむズ玚のお客様のクラりド移行を支揎し、成功させおきたした。珟圚のロヌルではカスタマヌアドボケむトおよびテクニカルアドバむザヌずしお、Salesforceを始めずする耇数の組織のAWSプラットフォヌムでの成功の支揎をしおいたす。たた、Women in ITの熱心な支持者でもあり、テクノロゞヌずデヌタを創造的に掻甚しお日垞的な課題を解決する方法を芋぀けるこずに情熱を泚いでいたす。 David Murrayは、Salesforceの゜フトりェアアヌキテクトで、珟圚Herokulのバック゚ンド党般を担圓しおいたす。過去には、ネットワヌク、デヌタベヌス、セキュリティ、テクニカルラむティングなどの分野を経隓しおきたほか、 愛猫Sammyに぀いおaws reinventで講挔 を行いたした。コンピュヌタヌのこずを考えおいないずきは、ボヌトこぎ、自転車乗り、ボヌドゲヌムなどを楜しんでいたす。
この蚘事は、“ Enhanced interoperability with SMART on FHIR support in Amazon HealthLake ” を翻蚳したものです。 はじめに 2021 幎 7 月の開始以来、 Amazon HealthLake は AWS Identity and Access Management (IAM) を通じお安党なアクセスを提䟛しおきたした。AWS は最近、 SMART on FHIR 1.0.0 のサポヌトを含む新しい FHIR API 機胜を Amazon HealthLake で発衚したした 。SMART on FHIR のサポヌトにより、HealthLake は FHIR スコヌプずロヌンチコンテキストを䜿甚した SMART フレヌムワヌクに基づく認可を提䟛するようになりたした。この蚘事では、Okta を ID プロバむダヌ (IdP) ずしお䜿甚しお、HealthLake で SMART on FHIR を実装する方法に぀いお説明したす。 患者ず医療埓事者に健康デヌタぞの安党なアクセスを提䟛するための革新的な取り組みを行う開発者は、さたざたな圢匏ず暙準のために耇数の課題に盎面しおいたす。 ONC Cures Act Final Rule は、医療業界に察し、開発者が医療埓事者のワヌクフロヌをサポヌトする新しいアプリケヌションを䜜成し、患者が自身の健康蚘録にアクセスできるようにする暙準の採甚を促しおいたす。その暙準の 1 ぀である SMART on FHIR は、開発者が 1 床アプリケヌションを䜜成すれば、医療機関がさたざたな開発者のアプリケヌションをテストし、適切なものを芋぀けられるようにするアヌキテクチャ䞊の解決策を提案しおいたす。「SMART」は Substitutable Medical Applications and Reusable Technologies を意味し、「on FHIR」は Fast Healthcare Interoperability Resources (FHIR) 暙準の利甚を瀺しおいたす。 SMART フレヌムワヌクの抂芁 SMART アプリケヌションを展開するためのフレヌムワヌクは、倖郚アプリケヌションを電子健康蚘録 (EHR) システムに接続する䞊で重芁な圹割を果たしたす。このフレヌムワヌクにより、EHR システムの内倖でアプリケヌションを起動できるようになりたす。このフレヌムワヌクは、医垫、患者、その他の個人やシステムが FHIR API を䜿甚しお蚭蚈されたさたざたなアプリケヌションをサポヌトしおいたす。ナヌザヌは、アプリケヌションに自分の健康デヌタぞのアクセス暩を付䞎できるため、アプリケヌションが゚ンドナヌザヌデバむスやサヌバヌ䞊で実行されおいるかどうかに関係なく、さたざたなアヌキテクチャ構成で安党で信頌できるプロトコルが保蚌されたす。 SMART on FHIR 1.0.0 には、以䞋の 4 ぀のナヌスケヌスが含たれおいたす。 独立しお起動できるスタンドアロンの患者向けアプリケヌション。 EHR ポヌタルから起動できる患者向けアプリケヌション。 独立しお起動できるスタンドアロンの医療埓事者向けアプリケヌション。 EHR ポヌタルから起動できる医療埓事者向けアプリケヌション。 SMART 認蚌ず FHIR アクセス 次の図は、FHIR リ゜ヌスサヌバヌずしお HealthLake を利甚する SMART on FHIR アプリケヌションのスタンドアロンの起動ずアクセス蚱可のステップを瀺しおいたす。これらのステップずワヌクフロヌを詳しく芋おいきたしょう。 ステップ 1: アプリケヌションが認蚌を芁求したす SMART on FHIR クラむアントアプリケヌションは、FHIR リ゜ヌスぞのアクセスを認可するために、起動時に ID 情報なしで HTTP GET リク゚ストを FHIR サヌバヌの SMART 構成メタデヌタ [base]/.well-known/smart-configuration の怜出 URL に送信したす。この構成メタデヌタには、OAuth の authorization_endpoint ず token_endpoint の URL が含たれおいたす。その埌、アプリケヌションは、FHIR サヌバヌが「認可」に䜿甚する゚ンドポむント URL のク゚リコンポヌネントに以䞋のパラメヌタを远加しお、認可リク゚ストを䜜成したす。 response_type: これは固定倀です – code client_id: クラむアントの識別子です redirect_uri: 登録枈みクラむアントが持぀リダむレクト URI のいずれかず䞀臎する必芁がありたす launch: EHR 起動フロヌを䜿甚する堎合、EHR から受け取った起動倀ず䞀臎する必芁がありたす。これはスタンドアロンの起動ワヌクフロヌでは必須ではないオプションのパラメヌタです scope: アプリが必芁ずするアクセスを蚘述する必芁があり、臚床、コンテキスト、ID デヌタのスコヌプを含む必芁がありたす SMART アプリケヌションの起動フレヌムワヌク IG で説明されおいるように、デヌタのスコヌプは次のように圢成されたす。 最も䞀般的に䜿甚されるスコヌプの䟋は次のずおりです。 patient/*.read – 珟圚の患者に関連するリ゜ヌスを読み取る暩限 user/*.* – 珟圚のナヌザヌがアクセスできるすべおのリ゜ヌスを読み曞きする暩限 他に䞀般的に䜿甚される医療以倖のスコヌプは以䞋の通りです。 launch – EHR から起動されたアプリのコンテキストを取埗する暩限 launch/patient – EHR 倖からアプリが起動され、患者のコンテキストが必芁な堎合、認蚌サヌバヌから遞択する患者のリストが提䟛される offline_access – アクセストヌクンの有効期限が切れた埌、オフラむンの堎合でも、期限切れのアクセストヌクンを曎新するためのリフレッシュトヌクンを芁求する online_access – ナヌザヌがオンラむンの堎合に、期限切れのアクセストヌクンを曎新するためのリフレッシュトヌクンを芁求する state : リク゚ストずコヌルバック間の状態を維持するために䜿甚される䞍透明な倀 aud : これは「察象者」を指し、アプリがデヌタを取埗する FHIR リ゜ヌスサヌバヌの URL です。 ステップ 2: 認可リク゚ストを評䟡する 認可プロセスは認可サヌバヌに䟝存し、サヌバヌはナヌザヌに蚱可を求めるこずができたす。その埌、サヌバヌはクラむアント ID、蚭定されたポリシヌ、時にはナヌザヌの入力などの芁因に基づいお、アクセスを蚱可するか拒吊するかを決定したす。アプリケヌションは、認可サヌバヌから認可コヌドが送り返された堎合、たたはアクセスが拒吊された堎合ぱラヌレスポンスが送り返された堎合に、この決定を受け取りたす。 ステップ 3: 認可コヌドをアクセストヌクンず亀換する アプリケヌションが認蚌コヌドを取埗するず、そのコヌドをアクセストヌクンず亀換する凊理に進みたす。この亀換は、EHR 認蚌サヌバヌのトヌクン URL ゚ンドポむントに察しお HTTP POST リク゚ストを行うこずで実珟したす。その際、コンテンツタむプずしお application/x-www-form-urlencoded. を䜿甚したす。 ステップ 4: FHIR API を通じた医療デヌタぞのアクセス アプリケヌションが有効なアクセストヌクンを取埗するず、FHIR サヌバヌの゚ンドポむントに FHIR API 呌び出しを行うこずで、デヌタを取埗する機胜を持ちたす。API リク゚ストには、アクセストヌクンを “Bearer” トヌクンずしお次の圢匏で含む認蚌ヘッダヌが含たれおいたす: Authorization: Bearer {{access_token}}. ここで、プレヌスホルダヌ {{access_token}} は、前のステップで取埗した実際のトヌクン倀に眮き換えられたす。 ステップ 5: リフレッシュトヌクン アプリケヌションはリフレッシュトヌクンを䜿甚しお新しいトヌクンを取埗したす。リフレッシュトヌクンは、アクセストヌクンの有効期間よりも長いセッションを蚱可するために発行されたす。 Amazon HealthLake 䞊の SMART on FHIR の実装䟋 SMART on FHIR を定矩する仕様ず暙準に぀いお説明したので、次は Okta を ID プロバむダヌ (IdP) ずしお䜿甚しお HealthLake で実装する方法を瀺したす。HealthLake では他の OAuth 2.0 IdP を䜿甚するこずもできるこずに泚意しおください。 Amazon HealthLake での SMART アクセスの蚭定 ステップ 1: サヌドパヌティの認可サヌバヌをセットアップし、’well-known’ 構成を取埗する 認可サヌバヌは若干の違いがあるかもしれたせんが、認可サヌバヌから ‘well-known’ 構成からベヌス URI ず十分なメタデヌタを取埗するこずが重芁です。次の Okta のスクリヌンショットは、Okta IDP のメタデヌタ URI を含むデフォルトの認可サヌバヌ構成を瀺しおいたす。 ID プロバむダヌからのメタデヌタ情報には、認可゚ンドポむント、トヌクン゚ンドポむント、サポヌトされる付䞎タむプずスコヌプなどの詳现が含たれおいたす。この情報は、次のセクションで匷調されおいるように、SMART 機胜を持぀ HealthLake デヌタストアを䜜成する際に䜿甚されたす。 ステップ 2: HealthLake ず Auth Server 間の通信を確立する SMART on FHIR サポヌトを備えた Amazon HealthLake デヌタストアを䜜成する際は、特定のクレヌムを返す AWS Lambda 関数の ARN ず、FHIR API リク゚ストを実行するための蚱可を持぀ IAM サヌビスロヌルを指定する必芁がありたす。Lambda 関数の䜜成の詳现に぀いおは、 Amazon HealthLake 開発者ガむド を参照しおください。この Lambda 関数は、FHIR API リク゚ストに応答しお、Amazon HealthLake サヌビスに必芁な芁玠を返したす。 次の図は、SMART on FHIR アプリケヌション、IDP、Amazon HealthLake、Lambda 関数間の通信を瀺しおいたす。 ステップ 3: HealthLake デヌタストアの䜜成時に IdP 構成を保存する HealthLake デヌタストアの所有者が決定したす FHIR 盞互䜜甚に関連付けられた IAM ロヌル 埩号化ずトヌクン怜蚌方法 (ロヌカル怜蚌たたは ID プロバむダヌずのトヌクン怜査) ず ID プロバむダヌの構成。怜査 Lambda 関数を䜜成した埌、ナヌザヌは IdentityProviderConfiguration を栌玍する機胜が匷化された create data store API を呌び出すこずができたす。このパラメヌタは、認可戊略、怜出 API メタデヌタを構成し、现かい認可を有効にしたす。この構成は新しいデヌタストアを䜜成する際にのみ利甚可胜で、既存のデヌタストアでは有効にできないこずに泚意しおください。さらに、この構成はコマンドラむンむンタヌフェむス (CLI) ず゜フトりェア開発キット (SDK) からのみアクセス可胜で、コン゜ヌルからはアクセスできたせん。 この新しい CreateFHIRDatastoreRequest の構造では、新しいデヌタストアを䜜成する際に IdentityProviderConfiguration がオプションのパラメヌタずなっおいたす。 この構成では、次のフィヌルドを受け入れたす。 AuthorizationStrategy : SMART 認蚌の堎合は SMART_on_FHIR_V1 、非 SMART 認蚌の堎合は AWSAuth を指定しおください。倀が SMART_on_FHIR_V1 の堎合、以䞋のすべおのフィヌルドが必須になりたす。 FineGrainedAuthorizationEnabled : 现かい暩限管理を HealthLake で行いたい堎合は true 、そうでない堎合は false を遞択しおください。 Metadata – 怜出 API リク゚ストコヌルを受信したずきに返される認蚌サヌバヌのメタデヌタを栌玍したす。 SmartConfigurationMetadata は、 FHIR 仕様 に瀺されおいるものず同様の JSON オブゞェクトで、authorization_endpoint ず token_endpoint が含たれおいたす。 IDPLambdaARN : トヌクン怜蚌を行うカスタム Lambda の ARN です。 これらの蚭定を完了するず、HealthLake は SMART アプリケヌションから送信された”Bearer” トヌクンをデコヌドできるようになり、それらのリク゚ストに察しお認蚌ず承認を実行できるようになりたす。 Amazon HealthLake の SMART on FHIR サポヌトの䞻芁機胜ずメリット 適甚性ず柔軟性: ヘルスケアプロバむダヌは、シヌムレスにサヌドパヌティのアプリケヌションを既存のシステムに統合できるようになりたす。これにより、臚床ワヌクフロヌのカスタマむズず拡匵が可胜になり、効率性ず䜿いやすさが向䞊したす。 患者䞭心のケア: HealthLake の SMART on FHIR サポヌトにより、患者は自身の健康デヌタに安党にアクセスし、患者向けアプリケヌションず察話できるようになりたす。これにより、患者の積極的な関䞎、゚ンパワヌメント、健康状態の自己管理が促進されたす。 盞互運甚性の向䞊: FHIR 暙準デヌタ圢匏を掻甚するこずで、SMART on FHIR は異なるシステム間で構造化された健康デヌタを亀換できるようになり、互換性ず䞀貫性が確保されたす。これにより、効率的なケアの調敎、研究、集団健康管理が促進されたす。 開発者に優しい環境: SMART オヌプン゜ヌスプラットフォヌムは、むノベヌションを促進し、新しいヘルスケア゜リュヌションの創出を奚励したす。 結論 SMART on FHIR は、医療の盞互運甚性に倉革をもたらすアプロヌチで、医療埓事者、開発者、患者を同様に力づけたす。アプリケヌションをシヌムレスに統合し、ケアの調敎を匷化し、患者の関䞎を促進する機胜により、SMART on FHIR は医療分野のデゞタル倉革を可胜にする重芁な芁玠ずなりたす。Amazon HealthLake がこの暙準をサポヌトするこずで、盞互運甚性、むノベヌション、そしお最終的には患者の良奜なアりトカムを実珟したす。Amazon HealthLake を䜿い始め、健康デヌタを数分で安党に保存、倉換、トランザクション、分析する方法の詳现を知るには、以䞋の過去のブログをご芧ください。 Amazon HealthLake に関する過去のブログぞのリンク Amazon HealthLake を䜿甚しお患者デヌタの掞察を解き攟぀ 新しい Amazon HealthLake の機胜により、次䞖代のむメヌゞング゜リュヌションず粟密健康分析が可胜に Amazon HealthLake の新しい FHIR API 機胜により、お客様はデヌタ亀換を加速し、ONC ず CMS の盞互運甚性ずパティ゚ントアクセスルヌルを満たすこずができたす <!-- '"` --> TAGS: Amazon HealthLake , AWS Lamda , comprehend medical Yogesh Dhimate Yogesh DhimateはAWSのシニアパヌトナヌ゜リュヌションアヌキテクトです。Yogesh は、グロヌバルなヘルスケア分野のISV独立系゜フトりェアベンダヌがAWS䞊で盞互運甚性゜リュヌションを構築するこずをサポヌトしおいたす。AWSに入瀟する前は、MuleSoft珟Salesforceでヘルスケア業界向け゜リュヌションのテクニカルリヌダヌおよびプロダクトマネヌゞャヌずしお働いおいたした。 Bakha Nurzhanov Bakha NurzhanovはAWSのむンタヌオペラビリティ・゜リュヌションアヌキテクトであり、ヘルスケアの盞互運甚性ずむノベヌションの技術リヌダヌです。Bakha は、グロヌバルなヘルスケア顧客をサポヌトし、グロヌバル技術チヌムにおけるヘルスケアの盞互運甚性に関する専門知識を深め、ヘルスケアむノベヌションの開発をリヌドしおいたす。AWSに入瀟する前は、様々なヘルスケアプロバむダヌ組織においお、20幎以䞊にわたりむンテグレヌションアヌキテクトおよび開発者ずしお働いおいたした。 Mirza Baig Mirza Baig はヘルスAI分野のプリンシパル゜リュヌションアヌキテクトで、䞻にヘルスAI゜リュヌションの採甚促進に泚力しおいたす。アマゟンに入瀟する前は、゚ンビゞョン・ヘルスケア、シスコ、米囜倧統領府などの倧芏暡組織で、゜フトりェア開発、デヌタ基盀、サむバヌセキュリティ、ネットワヌク゚ンゞニアリングにおける技術職およびリヌダヌシップの圹割を担っおいたした。 翻蚳は Solutions Architect 窪田が担圓したした。原文は こちら です。
このブログは、 How to expansively train Robot Learning by Customers on AWS using functions generated by Large Language Models を翻蚳したのものです。 ロボット工孊業界では、 匷化孊習 (RL) が、䌝統的な経路蚈画アルゎリズムでは凊理できない耇雑な問題、特に耇雑な操䜜を䌎う問題に広く利甚されおいたす。RL における報酬関数は、目的を蚭定し゚ヌゞェントの孊習プロセスに指瀺を䞎える重芁な芁玠です。効果的な報酬関数を䜜成するこずは難しいですが RL ゚ヌゞェントが適切に動䜜するためには䞍可欠です。 Eureka は、NVIDIA の研究者による倧芏暡蚀語モデル (LLM) を䜿甚しお、報酬関数を手䜜業で蚭蚈するのではなく、掗緎された報酬関数を生成する玠晎らしいプロゞェクトです。匷化孊習の業界では、報酬関数の䜜成は詊行錯誀のプロセスのたたです。ロボット工孊者は報酬関数を自動的に生成および改良する方法を求めおいたす。 このテヌマの画期的な成果である Eureka は、難しい問題を解決するための䞀皮の自動化を提䟛したす。 Eureka の研究論文 によるず、LLM によっお生成された報酬関数は、党䜓で 50 % のパフォヌマンス向䞊があり、タスクの 80 % 以䞊で人手による報酬関数蚭蚈を䞊回りたす。 このブログ蚘事では、Nvidia の Eureka を Amazon Web Services (AWS) 䞊で実行し、Amazon Bedrock for LLMs を䜿甚する方法を説明したす。ロボット孊習のプロセスをオンプレミスのトレヌニングむンスタンスから AWS に移行する際、゚ンゞニアが察凊する必芁のある課題がいく぀かありたす。 シミュレヌション/トレヌニングプロセスを耇数のノヌドに分散しおスケヌリングし、トレヌニングプロセスを加速させ、コストを節玄したす。 クラりド䞊でロボットのシミュレヌション/トレヌニングプロセスを可芖化し、゚ンゞニアが参加できるようにするこずで、タスク効率を向䞊させたす。 Amazon Bedrock の LLM を䜿甚しお、報酬関数を生成したす。 ゜リュヌションの抂芁 このブログ蚘事では、ロボット業界の顧客が䞊蚘の課題を解決するために AWS が提案する゜リュヌションの 1 ぀に぀いお説明したす。この゜リュヌションでは、以䞋のツヌルを䜿甚したす。 自動運転デヌタフレヌムワヌク (Autonomous Driving Data Framework: ADDF) は、AWS の自動車チヌムが再利甚可胜でモゞュヌル化された汎甚コヌド資産を提䟛するこずを目的ずしたオヌプン゜ヌスプロゞェクトです。ADDF はデヌタ凊理、シグナル抜出、シヌン怜出、シミュレヌション、デヌタ可芖化甚のモゞュヌルを提䟛しおいたす。この蚘事では、このプロゞェクトをロボット業界でどのように掻甚できるかを瀺したす。 Amazon Elastic Kubernetes Service (Amazon EKS) は、コンテナ のスケゞュヌリング、アプリケヌション可甚性の管理、クラスタヌデヌタの保管を行う Kubernetes コントロヌルプレヌンノヌドの可甚性ずスケヌラビリティを AWS が管理する、マネヌゞド型の Kubernetes サヌビスです。この蚘事では、EKS 䞊でロボットの孊習ずシミュレヌションを行いたす。 NICE DCV は、お客様にリモヌトデスクトップずアプリケヌションストリヌミングを安党に提䟛する高性胜のリモヌトディスプレむプロトコルです。この蚘事では、EKS 䞊で行われるロボットシミュレヌションず孊習プロセスを DCV でストリヌミングする方法を瀺したす。 この゜リュヌションは次のように蚭蚈されたす: 図 1: ゜リュヌションの高レベル蚭蚈 この画像では、このデザむンのアヌキテクチャを瀺しおいたす。たず、コヌドずトレヌニングアヌティファクトを Amazon S3 バケットにデプロむしたす。Amazon DataSync が、コヌドずアヌティファクトを Amazon EKS クラスタヌ内のポッドにマりントされる Amazon FSx ず同期したす。 Amazon EKS 偎では、トレヌニング/シミュレヌションのために むベント駆動型アヌキテクチャ を採甚しおいたす。シミュレヌション/トレヌニングのワヌクロヌドは、ワヌカヌポッドで実行されたす。これらのワヌカヌポッドはステヌトレスです。タスクコントロヌラヌポッドは、タスクに基づいおトレヌニング/シミュレヌションのワヌクロヌド定矩を生成する責任がありたす。ワヌカヌにワヌクロヌドをスケゞュヌルするために、 Amazon Simple Queue Service (Amazon SQS) を䜿甚しおいたす。各タスクコントロヌラヌは、1 ぀のトレヌニングゞョブのシミュレヌションずトレヌニングを制埡したす。 タスクコントロヌラヌは、遞択された LLM からさたざたな報酬関数をサンプリングするサヌビスを提䟛する Amazon Bedrock ずも通信したす。䞀方、ナヌザヌは DCV モゞュヌルを介しおシミュレヌションを芖芚化および操䜜できたす。ADDF では、むンフラストラクチャを簡単に蚭定できたす。ADDF は、Amazon EKS、DCV コンポヌネント、この特別なプロゞェクト向けの他の AWS リ゜ヌスなど、必芁なモゞュヌルをデプロむしたす。 ロヌカル開発環境での前提条件は以䞋の通りです: Python 3.8 以䞊のバヌゞョン git CLI AWS 認蚌情報 AWS CLI aws-cdk CLI バヌゞョン 2.20.0 以䞊 kubectl CLI バヌゞョン 1.29 以䞊 Amazon EKS クラスタヌのセットアップ この項では、むンフラストラクチャのセットアップに焊点を圓おたす。以前別のプロゞェクトで ADDF を䜿甚したこずがある堎合は、該圓する手順を飛ばしおください。 ステップ 1: ADDF リポゞトリをロヌカルディレクトリに clone したす。 珟圚、耇数のリリヌスがありたす。この蚘事執筆時の最新バヌゞョンは release/3.5.0 を䜿甚するこずをおすすめしたす。 git clone --origin upstream --branch release/3.5.0 https://github.com/awslabs/autonomous-driving-data-framework.git ステップ 2: Python の仮想環境を䜜成し、䟝存関係をむンストヌルする cd autonomous-driving-data-framework python3 -m venv .venv &amp;&amp; source .venv/bin/activate pip3 install -r requirements.txt 今床は、アカりントに察する有効な AWS 認蚌情報があるこずを確認しおください。アカりントの bootstrapping に必芁になりたす。以䞋のコマンドで &lt;REGION&gt; ず &lt;ACCOUNT_ID&gt; ず &lt;ROLE_NAME&gt; を眮き換えおください: export AWS_DEFAULT_REGION = cdk bootstrap aws:/// Step 3: Deploy Amazon EKS Cluster and DCV modules. このステップでは、セットアップに必芁なモゞュヌルをデプロむしたす。以䞋のものがデプロむされたす Amazon FSx for Lustre : これは Amazon EKS 䞊の Pod にマりントされたす。たた、S3 バケットから Amazon FSx ぞのデヌタ同期を蚭定したす。これずデヌタ同期をデプロむするには、次のモゞュヌル定矩が必芁です。Amazon FSx の定矩は manifests/robotic-training-on-eks/storage.yaml に定矩されおいたす。 eureka モゞュヌルにも、K8S リ゜ヌスずしお Amazon FSx ストレヌゞクラスがデプロむされたす。䟝存関係のあるモゞュヌルでは、Amazon FSx が䜜成されたす。たた、远加の Amazon FSx K8S リ゜ヌスをデプロむし、Amazon FSx を Pod にマりントできるようにしたす。 Amazon ECR : これはロボット孊習/シミュレヌション画像を栌玍するために䜿甚されたす。 Amazon S3 バケット: このバケットはデヌタストアずしお䜿甚されたす。孊習デヌタ、孊習出力、コヌドをこのバケットに保存したす。 Amazon EKS: これは、孊習/シミュレヌション Pod をスケゞュヌリングするためのフレヌムワヌクずなりたす。この䟋では、少なくずも 2 ぀の g5.2xlarge むンスタンスをデプロむしたす。 NICE DCV むメヌゞず Kubernetes (K8S) リ゜ヌス: DCV に関連する 3 ぀のモゞュヌルがありたす。1 ぀は DCV サヌバヌむメヌゞを栌玍する ECR を䜜成し、もう 1 ぀は DCV むメヌゞを䜜成し、最埌のモゞュヌルは K8S リ゜ヌス (DaemonSet、ClusterRole、ClusterBinding など) を䜜成したす。これらのモゞュヌルはそのたたの状態で構いたせん。蚭定の曎新は必芁ありたせん。 dcv-eks モゞュヌルの README を確認しおください。DCV サヌバヌ甚のシヌクレットを蚭定する必芁がありたす。 次のコマンドを実行しお、ADDF モゞュヌル党おをデプロむできたす: seedfarmer apply manifests/robotic-training-on-eks/deployment.yaml 次のような出力が正垞にデプロむされた堎合に衚瀺されたす: 図 2: デプロむされる ADDF モゞュヌル ステップ 4: Kubectl ずクレデンシャルをセットアップ。 ステップ 3 で Amazon EKS クラスタヌをデプロむしたした。この ブログ蚘事の範囲では、 kubectl コマンドを䜿甚しお Amazon EKS でアプリケヌションを実行する必芁がありたす。 このリンク に埓い、バヌゞョン 2.29 の kubectl クラむアントをむンストヌルしおください。 モゞュヌルがデプロむ枈みであれば、すべおのリ゜ヌスが Amazon CloudFormation のスタックずしお存圚したす。AWS コン゜ヌルから Amazon CloudFormation サヌビスに移動し、 addf-robotic-training-on-eks-core-eks ずいう名前のスタックを探しお遞択し、出力を参照するず、次の図のように clusterConfigCommand が衚瀺されたす。 Figure 3: Amazon EKS Cloud Formation Stack Output 次に、 clusterConfigCommand の倀をタヌミナルにコピヌしお実行しおください。資栌情報は適切に曎新されたす。次のコマンドを実行しお K8s クラむアントを怜蚌できたす: kubectl get svc 出力は次のようになりたす。 NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLUSTER-IP &nbsp;&nbsp; EXTERNAL-IP &nbsp;&nbsp; PORT(S)&nbsp;&nbsp; AGE kubernetes &nbsp;&nbsp; ClusterIP &nbsp;&nbsp; 172.20.0.1 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 443/TCP &nbsp;&nbsp; 177m ステップ 5: GPU オペレヌタをむンストヌルする。 ステップ 3 で GPU 察応ノヌドを持぀ Amazon EKS クラスタヌを蚭定したはずです。ADDF EKS モゞュヌルは、GPU ドラむバヌが事前にむンストヌルされたむンスタンスを起動したす。ただし、GPU リ゜ヌスを必芁ずする K8s ワヌクフロヌをスケゞュヌルするには、クラスタヌに GPU オペレヌタプラグむン をむンストヌルする必芁がありたす。GPU オペレヌタは、K8S 内のすべおの NVIDIA GPU リ゜ヌスを自動的に凊理したす。この手順で、GPU 関連のワヌクロヌドに NVIDIA GPU オペレヌタをむンストヌルしたす。ステップ 5.1 ず 5.3 はオプションです。これらの远加機胜を利甚したい堎合は、 このリンク の䞋にある必芁なファむルがありたす。 (オプション) DCGM メトリクス パブリッシャヌ をむンストヌルしたす。 これは GPU の利甚状況など GPU 関連のメトリクスを公開するための、GPU オペレヌタヌのオプションのステップです。 kubectl create namespace gpu-operator curl https://raw.githubusercontent.com/NVIDIA/dcgm-exporter/main/etc/dcp-metrics-included.csv &gt; dcgm-metrics.csv kubectl create configmap metrics-config -n gpu-operator --from-file = dcgm-metrics.csv ステップ 5.2 (必須) GPU オペレヌタをむンストヌルしたす。 ステップ 5.1 をスキップした堎合、次のコマンドでは DCGM 関連のフラグ (次のコマンドの倪字郚分) を蚭定する必芁はありたせん。 # run command in bash bash -c "helm install --wait --generate-name \ -n gpu-operator \ nvidia/gpu-operator \ --set driver.enabled = false \ --set toolkit.version = v1.14.4-ubi8 \ --set dcgmExporter.config.name = metrics-config \ --set dcgmExporter.env[0].name = DCGM_EXPORTER_COLLECTORS \ --set dcgmExporter.env[0].value =/etc/dcgm-exporter/dcgm-metrics.csv" # Validate installation by checking out whether all the pods in namespace gpu-operator are Running or Completed kubectl get pods -o wide -n gpu-operator GPU ドラむバのむンストヌルは ADDF EKS モゞュヌルによっおデプロむされた K8S ノヌドグルヌプの AMI に既にむンストヌル枈みのため、GPU オペレヌタでは無効化されおいるこずに泚意しおください。 今のずころ、皌働可胜な Amazon EKS クラスタヌが準備できおいたす。 ロボット蚓緎ずシミュレヌション Isaac Gym デモンストレヌション シミュレヌション環境のセットアップ ADDF リポゞトリのさたざたなモゞュヌルず GPU Operator のデプロむが成功したら、シミュレヌション/トレヌニングのワヌクロヌドのデプロむを開始できたす。 このブログ蚘事では、Eureka コントロヌラヌポッドずトレヌニングポッドをデプロむしたす。すべおのアプリケヌションポッドは kubectl を䜿っお手動でデプロむされたす。各トレヌニングタスクに察しお、1 ぀のコントロヌラヌポッドがありたす。このブログの範囲では、shadow-hand タスクを実挔したす。異なるナヌスケヌスでテストしたい堎合は、別のコントロヌラヌポッドをデプロむできたす。トレヌニングポッドは K8s のデプロむメントずしおスピンアップしたす。トレヌニングポッドの数は、各ノヌドで䜿甚可胜な GPU 数などのリ゜ヌス制限によっお制限されたす。 䞊蚘のセクションに蚘茉した方法でモゞュヌルをデプロむするず、eureka モゞュヌルが必芁なすべおの出力を保存したす。具䜓的には、次の 3 ぀の項目が出力されたす。 1. IamRoleArn: これはナヌザヌがクラりド䞊でシミュレヌション/孊習を実行するために䜜成された圹割です。以䞋の暩限が含たれおいたす: a. Amazon FSx の読み取り/曞き蟌み b. Amazon S3 バケットの読み取り/曞き蟌み c. Amazon SQS の読み曞き d. Amazon Bedrock の暩限。 e. Amazon EKS クラスタヌのサヌビスアカりントがこのロヌルを匕き受けるための信頌関係 2. ApplicationImageUri: このモゞュヌルでは、基本ラむブラリを含む ECR むメヌゞを公開したす。この実挔では、このブログ蚘事内のすべおの䜿甚に察しお 1 ぀の単䞀のむメヌゞを再利甚したす。 3. SqsUrl: このモゞュヌルは、Amazon SQS メッセヌゞキュヌも䜜成したす。コントロヌラヌが゚ンキュヌし、ワヌカヌはシミュレヌション/トレヌニングの目的でデキュヌしたす。 ステップ 1: アヌティファクトを S3 にアップロヌドする 。このステップでは、前に䜜成した S3 バケットに次のファむルをアップロヌドしたす。Amazon Datasync を利甚しおいるので、ファむルをアップロヌドした埌、デヌタは自動的に Amazon S3 から Amazon FSx に同期されたす。Amazon FSx をポッドにマりントすれば、すべおのポッドが共通の倖郚ドラむブを共有できたす。 Eureka: これは元の Eureka から フォヌクされたラむブラリ です。耇数のノヌドにシミュレヌションをデプロむしおスケヌラビリティを持たせるこずを目的ずしおいたす。 IssacGym: この リンク から IssacGym Preview 4 にアクセスしおください。IssacGym をダりンロヌドするリンクが衚瀺されたす。次のコマンドで &lt;LINK_TO_DOWNLOAD_ISSACGYM&gt; をダりンロヌド甚の正しいリンクに眮き換えおください。 Fbx Fix Patch: これは FBX モゞュヌルの゚ラヌを修正するホットパッチです。Adobe は公匏に Fbx Python をサポヌトしおいないため、Fbx を実行するにはこのパッチを圓おる必芁がありたす。 BUCKET は ADDF モゞュヌルで䜜成したデヌタバケットです。 mkdir robotic_data &amp;&amp; cd robotic_data # Get Eureka for distributed simulation git clone https://github.com/sauronalexander/Eureka.git # Get IssacGym wget tar -xvf IssacGym_Preview_4_Package.tar.gz rm IssacGym_Preview_4_Package.tar.gz # Get Fbx fix patch git clone https://github.com/Shiiho11/FBX-Python-SDK-for-Python3.x.git mv FBX-Python-SDK-for-Python3.x/2020.0.1_3.8.3_x64/FbxCommon.py ./ mv FBX-Python-SDK-for-Python3.x/2020.0.1_3.8.3_x64 ./fbx rm -rf FBX-Python-SDK-for-Python3.x # Upload files to s3 aws s3 sync ./* s3:// --recursive これからは、ロヌカルの Python スクリプトを線集し、コヌドを S3 ず同期できたす。コヌド成果物はすぐにすべおの Pod から参照可胜になりたす。もう 1 ぀の手法は、コヌドをむメヌゞにビルドむンするこずです。この蚘事の単玔化のため、コヌド倉曎の床にむメヌゞのリビルドは行いたせん。 ステップ 2: Python Anaconda 環境をセットアップしたす。 このステップでは、必芁な Python ラむブラリをむンストヌルしたす。IssacGym などの䟝存関係パッケヌゞのむンストヌルには、Nvidia ドラむバが準備されおいる必芁がありたす。このステップでは、環境をセットアップするために、各ノヌドに 1 ぀の Pod をデプロむしたす。各 Pod では、ホストノヌド内のディレクトリを䜿甚するロヌカルマりントを確立したす。この Pod は、Nvidia GPU ドラむバをチェックアりトし、Anaconda 環境を共有ディレクトリにあらかじめむンストヌルしたす。このセットアップが完了するず、ワヌカヌ Pod ずコントロヌラヌ Pod は、シミュレヌション/トレヌニングのワヌクロヌドを実行するために、この Anaconda 環境を再利甚したす。これにより、環境のセットアップ時間が倧幅に節玄されたす。 anaconda_setup.yaml 内の画像 URI ずロヌル ARN を、前のステップで䜜成した適切な画像 URI ず IAM ロヌル (以䞋の倪字の郚分を参照) に眮き換えおください。 apiVersion: v1 kind: ServiceAccount metadata: name: aws-s3-access annotations: eks.amazonaws.com/role-arn: automountServiceAccountToken: true --- apiVersion: apps/v1 kind: DaemonSet metadata: name: anaconda-daemonset labels: app: anaconda-setup spec: selector: matchLabels: app: anaconda-setup template: metadata: labels: app: anaconda-setup spec: terminationGracePeriodSeconds: 30 # Set the termination grace period serviceAccountName: aws-s3-access automountServiceAccountToken: true containers: - name: anaconda-setup-container image: resources: limits: nvidia.com/gpu: 1 # requesting 3 GPU, 1 shared gpu is 3GB in g5 
 # Wait for around 10 minutes until the setup is complete. You can verify the setup to be completed by check if the conda setup pods are ready watch -n 5 kubectl get pods # When it is ready, you can delete the pods kubectl delete -f anaconda_setup.yaml ステップ 3: LLM アクセスを蚭定する この プロゞェクトでは、LLM を䜿っお報酬関数を生成できるこずを瀺したす。私たちの実装では、Anthropic の Claude 3 (Amazon Bedrock 侊) ず OpenAI の ChatGPT の 2 ぀の LLM ファミリをサポヌトしたす。 ステップ 3.1: Claude 3 ぞのアクセスを蚭定する AWS コン゜ヌル (リヌゞョン us-east-1 たたは us-west-2) で Amazon Bedrock に移動しおください。Amazon Bedrock LLM には䞀郚の特定のリヌゞョンでのみアクセスできたす。 巊偎のパネルで「Model Access」を遞択したす。 䜿甚するモデルをチェックしおください。Claude 3 モデル (Claude 3 Haiku、Claude 3 Sonnet、Claude 3 Opus、および Claude 3.5 Sonnet) のみがサポヌトされおいたす。 「Save」をクリックするず、Python で Claude 3 モデルを操䜜できるようになりたす。 ステップ 3.2: ChatGPT アクセスの蚭定 OpenAPI API キヌを取埗する この API キヌを管理し、コントロヌラヌポッドを Amazon EKS クラスタヌにデプロむする際、環境倉数ずしお䜿甚できたす。 デモンストレヌション – シミュレヌション/トレヌニングの実行 次に、 eureka.yaml に蚘茉されおいる Eureka アプリケヌションをデプロむできたす。 必芁に応じお、以䞋を眮き換えおください。 むメヌゞ URI: 前のセクションで展開したモゞュヌルでは、Amazon ECR の 1 ぀に Ubuntu むメヌゞを公開したす。むメヌゞ URI は eureka モゞュヌルの出力名 &lt;ApplicationImageUri&gt; になりたす。 EUREKA_TRAINING_QUEUE_URL: ADDF モゞュヌルで䜜成した &lt;SqsUrl&gt; に眮き換えおください。 OPENAI_API_KEY: ステップ 3.2 で取埗したキヌに眮き換えおください。Claude 3 を䜿甚する堎合はこのステップを省略できたす。 AWS_REGION: デプロむする予定のリヌゞョン &lt;REGION&gt; に眮き換えおください。 EUREKA_ENV: 孊習に䜿甚するタスク名です。 EUREKA_SAMPLE: LLM から生成される報酬関数のサンプル数です。各反埩で䞊列に評䟡されたす。 EUREKA_MAX_ITERATIONS: LLM から生成された報酬が評䟡される最倧反埩回数です。 EUREKA_NUM_VAL: 最終評䟡ラりンド数 (20000 回の反埩) で、䞊列に実行できる数です。 䞊蚘の蚭定を倉曎した埌は、次のコマンドを䜿甚しおポッドをデプロむできたす。この䟋では、 shadow-hand タスクを実行したす。コントロヌラヌのポッドは shadow-hand ずいう名前です。 kubectl apply -f eureka.yaml # You can check the progress using kubectl logs shadow-hand --follow ノヌト: タスクごずに 1 ぀の controller pod をデプロむできたす (これは EUREKA_ENV で定矩されたす)。䞀方で、controller では耇数のタスクを䞊列でデプロむできたす。 ロボットシミュレヌション/トレヌニングの芖芚化を DCV で行うデモンストレヌション Figure 3: Application Streaming Architecture in EKS このセクションでは、DCV サヌバヌを䜿甚しおシミュレヌションずトレヌニングをストリヌミングする方法を説明したす。DCV をストリヌミングするための党䜓的なアヌキテクチャは以䞋のようになりたす。 DCV コンポヌネントは、Amazon EKS クラスタヌぞの DaemonSet ずしおデプロむされたす。぀たり、ノヌドごずに 1 ぀の DCV Pod が存圚したす。アプリケヌション Pod、あるいは私たちのナヌスケヌスではワヌカヌ Pod は党お、DCV Pod ずの間でディレクトリを共有したす。DCV Pod はそのディレクトリに X11 ディスプレむ゜ケットを䜜成し、ワヌカヌ Pod はその゜ケットを通じお DCV Pod 内の DCV サヌバにアプリケヌションをレンダリングできたす。ワヌカヌ Pod 内で実行される IssacGym は X11 ゜ケット䞊にレンダリングされたす。次に、DCV サヌバはナヌザ接続を受け入れ、リモヌトデスクトップ䞊に IssacGym を衚瀺したす。パブリックの Amazon サブネットでは、NodePort サヌビスを䜿甚できたす。このブログ蚘事の範囲では、プラむベヌトサブネットを䜿甚したす。次の接続方法は、プラむベヌトサブネットずパブリックサブネットの䞡方で䜿甚できたす。 K8S ポヌトフォワヌディングを䜿甚しお接続したす。次のコマンドを䜿甚できたす: # First, determine which worker pod you want to connect to by running: kubectl get pods # Next, run the following command to forward the traffic kubectl port-forward $(kubectl get pods -n dcv --field-selector spec.nodeName =$(kubectl get pod -o = jsonpath ='{.spec.nodeName }') -o jsonpath ='{ range .items[ * ] }{.metadata.name }{"\n"}{ end }') -n dcv 9999:8443 䞊蚘のコマンドは、指定されたワヌカヌ Pod が実行されおいるノヌドを芋぀けたす。次に、そのノヌドで実行されおいる DCV Pod の名前を芋぀けたす。そしお、DCV サヌバヌがリッスンしおいるポヌト 8443 を、ロヌカルホストのポヌト 9999 にフォワヌドしたす。 ブラりザから https://localhost:9999 にアクセスできたす。DCV サヌバヌからナヌザヌ名ずクレデンシャルの入力を求めるプロンプトが衚瀺されたす。 Figure 4: DCV Login Page in Web Browser DCV モゞュヌルのセットアップで蚭定したナヌザヌ名/パスワヌドを入力しおください。次に、DCV サヌバヌに接続できるはずです。シミュレヌションが画面に衚瀺されるはずです。 Figure 5: Training shadow-hand in multiple pods クリヌンアップ アプリケヌションの Pod を削陀するには、次のコマンドを実行できたす: kubectl delete -f eureka.yaml このデプロむデモのモゞュヌルを砎棄するには、次のコマンドを実行できたす。 seedfarmer destroy manifests/robotic-training-on-eks/deployment.yaml たずめ このブログ投皿では、Amazon EKS、Amazon FSx for Lustre、Amazon ECR、そしお NICE DCV などの Amazon サヌビスを䜿甚しお、Nvidia の Eureka ず Isaac Gym を䜿っおスケヌラブルなロボット研修パむプラむンを構築する方法を説明したした。たた、ADDF を䜿っおむンフラストラクチャを構成し、GPU オペレヌタヌをむンストヌル、IAM ロヌルを䜜成、コントロヌラヌずワヌカヌの Pod をデプロむする方法も瀺したした。 さらに、AWS Bedrock の Claude 3 のような LLM を匷化孊習タスクの報酬関数生成に統合する方法も瀺したした。最埌に、NICE DCV リモヌトデスクトップを䜿っおロボットのシミュレヌションを芖芚化するストリヌミングする方法をご玹介したした。この゜リュヌションは、ロボット開発チヌムが AWS 䞊で最新の AI モデルを䜿った報酬モデリングを掻甚し、より効果的に協業しながら研修を加速できるように蚭蚈されおいたす。 オヌプン゜ヌスの ADDF プロゞェクトは、このようなロボットの孊習パむプラむンをすばやくプロトタむピングできるようむンフラストラクチャをコヌドずしお再利甚できるよう蚭蚈されおいたす。 今埌の課題ずしお、このフレヌムワヌクで孊習したポリシヌを実際のロボットに移行するこずを怜蚎しおいたす。このフレヌムワヌクを掻甚すれば、実䞖界で高床な操䜜䜜業を行うためにロボットを蚓緎するこずも可胜だず考えおいたす。 AWS の自動車向け補品サヌビスに぀いお詳しくは AWS for automotive ペヌゞ をご芧ください。たたは、 お問い合わせ ください。 参照 AWS の自動運転デヌタフレヌムワヌク (ADDF) を䜿甚しおカスタマむズされたワヌクフロヌを開発・デプロむ このブログはシニア゜リュヌションアヌキテクトの枡邊翌が翻蚳を担圓したした。
本ブログは、株匏䌚瀟ナビタスず Amazon Web Services Japan が共同で執筆いたしたした。 株匏䌚瀟ナビタス は、NVIDIA の投資を受けたテクノロゞヌ䌁業で、䞖界有数の GPU 仮想化ずクラりドストリヌミング技術を有しおいたす。クラりドず AI 分野での最高のサヌビスを提䟛するこずを目指しおいたす。ナビタスは、台湟倧孊や東京倧孊などの著名倧孊ず協力し、繁䜓字・日本語の倧芏暡蚀語モデルLLMを孊習させるほか、AI キャラクタヌ゜リュヌション「 UbiONE 」を立ち䞊げ、ブランドキャラクタヌ「 AI Vtuber: Ubi-chan 」を発衚するなど、生成 AI の分野でむノベヌションず実甚化を行っおいたす。 課題 UbiONE は、金融や医療など様々な業界向けにカスタマむズされた察話型 AI キャラクタヌ゜リュヌションになりたす。各業界には固有の芁件があり、それに察応する察話機胜ずフロント゚ンド・バック゚ンドの構築が求められおいたした。しかし、埓来の開発アプロヌチでは、このカスタマむズ䜜業に倚倧な劎力ずリ゜ヌスを芁しおいたした。 怜蚌内容 そこで、LLM の開発を加速するため、 Amazon EC2 P5 むンスタンスず AWS ParallelCluster を掻甚した怜蚌を行いたした。たず 16 台の NVIDIA H100 GPU 搭茉 Amazon EC2 P5 むンスタンスで 1 ヶ月間の事前孊習を実斜し、高性胜なクラりド蚈算環境を構築できたした。その結果、深局孊習ずAIモデルのトレヌニングスピヌドが倧幅に向䞊したした。 次に、AWS の技術支揎を受けながら AWS ParallelCluster を導入したした。この優れたクラスタ管理ツヌルにより、蚈算リ゜ヌスの䜿い勝手が栌段に改善され、孊習時間が埓来比で 90% 短瞮されたした。さらに Slurm システムを掻甚しおリ゜ヌス割り圓おず管理を最適化するこずで、効率的なリ゜ヌス掻甚を実珟しおいたす。 フロント゚ンド環境では、 Amazon S3 、 Amazon CloudFront 、 Amazon EKS 、 Elastic Load Balancing などの AWS サヌビスを組み合わせおアプリケヌションずサヌビスをサポヌトしおいたす。これらのサヌビスにより、ストレヌゞ、トラフィック分散、動的プロビゞョニングが可胜になり、耇数のカスタマむズされた AI キャラクタヌバヌゞョンを高速に構築・管理し、効率的に展開および曎新するこずができたす。 怜蚌結果 その結果ずしお、埓来の開発プロセスに比べお倧幅な䜜業量の削枛ず開発効率の向䞊をもたらすこずが確認できたした。さらに、AWS のスケヌラブルなクラりドむンフラストラクチャを掻甚するこずで、様々な業界のお客様の芁件を的確に満たすカスタマむズされた AI キャラクタヌを柔軟に提䟛できるこずが実蚌されたした。 今埌の展望 今埌もナビタスは AWS が提䟛する先進的なクラりドサヌビスを積極的に掻甚し、プロダクト開発のさらなる効率化、機胜拡匵、粟床向䞊を図っおいく方針です。 幅広い芳点からは、UbiONE を金融や医療に留たらず、さたざたな業界ぞの展開を芖野に入れおいたす。各業界の専門知識を AI モデルに取り蟌むこずで、高床な察話機胜を備えた特化゜リュヌションの開発を図っおいく予定です。 䞀方で深さの面でも、察話゚ンゞンの高床化や API 機胜の拡充、ナヌザヌむンタヌフェヌスの改善など、リッチでシヌムレスなナヌザヌ䜓隓を実珟するための継続的な開発投資を行っおいく予定です。 たずめ 今回の怜蚌を通しお、Amazon EC2 P5 ず AWS ParallelCluster の組み合わせが AI モデル開発の倧幅な効率化に有効であるこずが確認できたした。さらに、Amazon S3、Amazon CloudFront、Amazon EKS、Elastic Load Balancing を掻甚したサヌビスのプロビゞョニングにより、AI における競争力が䞀局高たりたした。ナビタスは匕き続き AWS の技術を掻甚し、革新的な AI ゜リュヌションの提䟛に泚力しおいきたす。
私が、 Amazon プラむムデヌ のセヌルよりもワクワクするず思うものは䜕でしょうか? Amazon Web Services (AWS) がどのようにしおすべおを実珟させたのかに぀いお、孊ぶこずです。毎幎、 Jeff Barr の幎次投皿で、チャヌトの䞊䜍にランクむンするメトリクスを確認するのを心埅ちにしおいたす。そのスケヌルにはい぀も驚かされたす。 2024幎は Channy Yun ず Jeff Barr が、 AWS が 2024 幎のプラむムデヌを匷化しお蚘録的な売り䞊げを達成した方法 の舞台裏を玹介しおくれたす。詳现に぀いおは投皿を読んでいただきたいのですが、毎幎びっくりさせられるメトリクスの 1 ぀が、 Amazon Aurora のものです。プラむムデヌには、6,311 件の Amazon Aurora デヌタベヌスむンスタンスが 3,760 億のトランザクションを凊理し、2,978 テラバむトのデヌタを保存し、913 テラバむトのデヌタを転送したした。 他にも嬉しいニュヌスがありたす。 2 ぀の新しい AWS 認定詊隓の登録受付が開始されたした 。 AWS 認定 AI プラクティショナヌ ず AWS 認定機械孊習゚ンゞニア – ア゜シ゚むト のベヌタ版に登録できたす。これらの認定資栌は、基幹業務の専門家から経隓豊富な機械孊習 (ML) ゚ンゞニアたで、すべおの人を察象ずしおおり、 需芁の高い人工知胜ず機械孊習 (AI/ML) のキャリア に備えるのに圹立ちたす。AWS 認定 AI プラクティショナヌず AWS 認定機械孊習゚ンゞニア – ア゜シ゚むトを察象ずした 4 段階の詊隓準備蚈画を実行するこずで、詊隓の準備ができたす。 8月12日週のリリヌス 私が泚目したいく぀かのリリヌスをご玹介したす。 Amazon Elastic Compute Cloud (Amazon EC2) EC2 G6e むンスタンスの䞀般公開 – NVIDIA L40S Tensor Core GPU を搭茉した G6e むンスタンスは、機械孊習や空間コンピュヌティングの幅広いナヌスケヌスに䜿甚できたす。G6e むンスタンスを䜿甚するず、最倧 13B のパラメヌタを持぀倧芏暡蚀語モデル (LLM) ず、画像、動画、音声を生成するための拡散モデルをデプロむできたす。 Karpenter 1.0のリリヌス – Karpenter は、柔軟か぀効率的で高性胜な Kubernetes コンピュヌティング管理゜リュヌションです。Karpenter は Amazon Elastic Kubernetes Service (Amazon EKS) たたは任意の準拠の Kubernetes クラスタヌで䜿甚できたす。詳现に぀いおは、 Karpenter 1.0 のリリヌスに関する投皿 をご芧ください。 Amazon SageMaker Pipelines 甚のドラッグアンドドロップ UI – 今回のリリヌスにより、コヌドを蚘述しなくおも、゚ンドツヌ゚ンドの AI/ML ワヌクフロヌをすばやく䜜成、実行、モニタリングしお、モデルのトレヌニング、ファむンチュヌニング、評䟡、デプロむを行えるようになりたした。ワヌクフロヌのさたざたなステップをドラッグアンドドロップし、UI で接続しお AI/ML ワヌクフロヌを䜜成できたす。 Amazon EC2 オンデマンドキャパシティ予玄の分割、移動、倉曎 – Amazon EC2 オンデマンドキャパシティ予玄を管理する新機胜により、キャパシティ予玄の分割、キャパシティ予玄間でのキャパシティの移動、キャパシティ予玄のむンスタンス適栌属性の倉曎を行えるようになりたした。これらの機胜の詳现に぀いおは、「 既存のキャパシティ予玄から利甚可胜なキャパシティを分割する 」を参照しおください。 Amazon Q Business のドキュメントレベル同期レポヌト – Amazon Q Business のこの新機胜により、デヌタ゜ヌス同期ゞョブ䞭に凊理された各ドキュメントの詳现なむンデックス䜜成ステヌタス、メタデヌタ、アクセスコントロヌルリスト (ACL) の詳现を含む包括的なドキュメントレベルのレポヌトが提䟛されるようになりたした。Amazon Q Business がクロヌルおよびむンデックス登録を詊みたドキュメントのステヌタスを確認できるだけでなく、特定のドキュメントが期埅どおりの回答で返されなかった理由をトラブルシュヌティングするこずもできたす。 AWS Control Tower でのランディングゟヌンのバヌゞョン遞択 – ランディングゟヌンバヌゞョン 3.1 以降では、珟行バヌゞョンのランディングゟヌンを曎新たたはリセットしたり、遞択したバヌゞョンにアップグレヌドしたりできたす。詳现に぀いおは、 AWS Control Tower ナヌザヌガむドの「 ランディングゟヌンのバヌゞョンを遞択する 」を参照しおください。 AWS re:Post での AWS サポヌト公匏チャンネルのリリヌス – AWS サポヌトず AWS Managed Services (AMS) の専門家が䜜成した、AWS で倧芏暡な運甚を実珟するための厳遞されたコンテンツにアクセスできるようになりたした。この新しいチャンネルでは、耇雑な問題に察する技術的解決策、運甚䞊のベストプラクティス、AWS サポヌトず AMS のサヌビスに関するむンサむトを確認できたす。詳现に぀いおは、 re: Post の AWS サポヌト公匏チャンネル をご芧ください。 AWS のお知らせの詳现なリストに぀いおは、「AWS の最新情報」ペヌゞを定期的にご確認ください。 AWS サヌビスの地域拡倧 8月19日週に実斜された AWS サヌビスの新しい AWS リヌゞョンぞの拡匵の䞀郚を次に瀺したす。 Amazon VPC Lattice が、さらに 7 ぀のリヌゞョンで利甚可胜に – Amazon VPC Lattice は、米囜西郚 (北カリフォルニア)、アフリカ (ケヌプタりン)、欧州 (ミラノ)、欧州 (パリ)、アゞアパシフィック (ムンバむ)、アゞアパシフィック (゜りル)、南米 (サンパりロ) で利甚できるようになりたした。今回のリリヌスにより、Amazon VPC Lattice は 18 の AWS リヌゞョンで䞀般利甚できるようになりたした。 QuickSight の Amazon Q が、さらに 5 ぀のリヌゞョンで利甚可胜に – QuickSight の Amazon Q は、既存の米囜東郚 (バヌゞニア北郚)、米囜西郚 (オレゎン)、欧州 (フランクフルト) リヌゞョンに加えお、アゞアパシフィック (ムンバむ)、カナダ (䞭郚)、欧州 (アむルランド)、欧州 (ロンドン)、南米 (サンパりロ) で䞀般提䟛が開始されたした。 AWS Wickr がペヌロッパ (チュヌリッヒ) リヌゞョンで利甚可胜に – AWS Wickr は、米囜東郚 (バヌゞニア北郚)、アゞアパシフィック (シンガポヌル)、アゞアパシフィック (シドニヌ)、アゞアパシフィック (東京)、カナダ (䞭郚)、欧州 (ロンドン)、欧州 (フランクフルト)、欧州 (ストックホルム) リヌゞョンに加えお、欧州 (チュヌリッヒ) でも利甚できるようになりたした。 リヌゞョン別の利甚可胜な AWS サヌビスの䞀芧を参照できたす。 今埌の AWS むベント カレンダヌを確認しお、これらの AWS むベントにサむンアップしたしょう。 AWS re:Invent 2024 – 第 1 ラりンドのセッションカタログ をご芧ください。2024幎の AWS re:Invent でのさたざたな孊習機䌚のすべおを詳しく確認し、今すぐアゞェンダの䜜成を開始したしょう。あらゆる関心ず孊習スタむルに合ったセッションが芋぀かるでしょう。 AWS Summit – 2024 幎の AWS Summit シヌズンが終わりに近づいおいたす。 クラりドコンピュヌティングコミュニティが぀ながり、コラボレヌションしお、AWS に぀いお孊ぶために䞀堂に䌚する無料のオンラむンおよび察面むベントに参加したしょう。最寄りの郜垂でご登録ください: ゞャカルタ (9 月 5 日)、 トロント (9 月 11 日)。 AWS Community Days – 䞖界䞭の゚キスパヌト AWS ナヌザヌず業界リヌダヌがリヌドするテクニカルディスカッション、ワヌクショップ、ハンズオンラボが盛り蟌たれたコミュニティ䞻導のカンファレンスにぜひご参加ください。日皋は、 コロンビア (8 月 24 日)、 ニュヌペヌク (8 月 28 日)、 ベルファスト (9 月 6 日)、 ベむ゚リア (9 月 13 日) です。 AWS GenAI Lofts – AWS AI の゚キスパヌトず぀ながり、業界のリヌダヌによる講挔、ワヌクショップ、Fireside Chat、質疑応答に参加したしょう。すべおの Loft は無料で、AI ゞャヌニヌの加速に圹立぀よう、あらゆる参加者が䜕かを埗られるように、现心の泚意を払っお厳遞されおいたす。Loft は、 サンフランシスコ (8 月 14 日9 月 27 日)、 サンパりロ (9 月 2 日11 月 20 日)、 ロンドン (9 月 30 日10 月 25 日)、 パリ (10 月 8 日11 月 25 日)、 ゜りル (11 月) で開催される予定です。 近日開催されるすべおの察面むベントず仮想むベントを閲芧できたす。 8月19日週はここたでです。8月26日週の Weekly Roundup もお楜しみに! – Prasad この蚘事は、 Weekly Roundup &nbsp;シリヌズの䞀郚です。毎週、AWS からの興味深いニュヌスや発衚を簡単にたずめおお知らせしたす! 原文は こちら です。
はじめに デヌタは珟代䌁業にずっお非垞に重芁な経営資源の䞀぀ずなっおいたす。しかし、倚くの䌁業がデヌタの掻甚においお様々な課題に盎面しおいるのが実情です。 そこで AWS では、パヌトナヌ䌁業ず協力しお「デヌタ掻甚ワヌクショップ(WS)」を開催したした。今回の WS では、耇数のナヌザヌ䌁業が䞀同に䌚し、各瀟が抱える課題や察凊方法を共有し合いたした。そしお、パヌトナヌ䌁業の支揎のもず、短期間ながらも玠晎らしい成果を䞊げるこずができたした。 本蚘事では、その WS の様子ず、デヌタ掻甚におけるパヌトナヌ䌁業の重芁性に぀いお玹介しおいきたす。デヌタ掻甚は䞀䌁業だけでは難しく、専門知識を持぀パヌトナヌず協力するこずが成功の鍵ずなりたす。ぜひ参考にしおみおください。 デヌタ掻甚 WS ずは デヌタ掻甚 WS に぀いお説明する前に、デヌタ掻甚における代衚的な 4 ぀の課題に぀いお述べおいきたいず思いたす。 &nbsp;デヌタの収集ず管理の難しさ 䌁業は耇数の゜ヌスからデヌタを収集したすが、デヌタ圢匏が統䞀されおいないこずが倚く、収集ず管理に手間がかかりたす。たた、デヌタの信頌性や完党性を確保するこずも倧きな課題です。 デヌタ分析人材の䞍足 デヌタ分析に必芁なスキルを持぀人材が䞍足しおいるのが実情です。デヌタサむ゚ンティストなどの専門家の確保は容易ではありたせん。 デヌタ掻甚の具䜓的な方法がわからない デヌタを収集し分析するこずは重芁だず認識しおいおも、実際にビゞネスにどのように掻甚すればよいかわからないケヌスが倚数ありたす。 デヌタ掻甚に察する経営局の理解䞍足 デヌタ掻甚の重芁性を経営局が十分に理解しおいないず、投資が進たず取り組みが遅れがちになりたす。 デヌタ掻甚 WS ではこれらの課題に぀いお、ナヌザヌ䌁業が意識しお取り組めるような座組みずなっおいたす。たず、参加者は IT 郚門が参加するようなテクノロゞヌに特化した勉匷䌚のようなものではなく、実際にその䌚瀟ごずに持぀課題を深掘りしお、その課題を解決するような分析゜リュヌションを構築したす。そのためには、事業郚門偎の積極的関䞎が必芁になりたす。本WS では、事業郚門ず IT 郚門の参加を必須ずしおおり、さらに実際にデヌタ掻甚を根付かせるには経営局の理解が必芁になるこずから、゚グれクティブスポンサヌを぀けおいただくこずを必須ずしおいたす。 それにより、デヌタ掻甚 WS で䜜られた分析業務を行うダッシュボヌドは、 IT 郚門が䜜ったきりで䜿われないダッシュボヌドになるこずなく、垞に事業郚門の意芋が取り入れた䜿い勝手の良いものずなり、さらにこの関係性を継続するこずにより、垞に改善され続ける゜リュヌションずなりたす。 たたデヌタ分析が根付くには、経営局の理解が必芁になりたす。理解があるからこそ、デヌタの民䞻化が実珟され、今回 のWS 参加者以倖にも浞透しおいくこずが期埅されたす。 &nbsp; 以䞊のような課題解決に重芁な考え方は、こちらの Blog「 デヌタドリブンカルチャヌの䜜り方 」を参照ください。WS の䞭でもこちらの Blog の内容に觊れ、組織のあり方に぀いおもお䌝えしたした。 この WS では、AWS のデヌタ分析におけるスペシャリストの講矩を受けた䞊で、Amazon 流のモノづくりのスタむルである Working Backwards を取り入れたグルヌプワヌクで課題を掗い出し、解決策を考えたす。考えた内容は各瀟で発衚しあい、他瀟からの孊びを埗るこずができるようになっおいたす。さらにパヌトナヌ䌁業がサポヌトをするため、参加䌁業は WS の䞭で有識者からたくさんの知芋を埗るこずができるようになっおいたす。 図1. デヌタ掻甚WS DAY1 から DAY4 たでの流れ 実斜期間ずしおは、だいたい 3-4 ヶ月間かけおDay1 〜 Day4 を実斜し、Day4 の成果報告䌚にお各瀟の成果を発衚いただきたす。 Amazon S3 をデヌタレむクずしお、 AWS Glue Crawler でデヌタカタログを䜜成し、 Amazon Athena でク゚リし、 Amazon QuickSight におダッシュボヌドを䜜るパタヌンずするのが、最初のステップずしお取り組みやすく、本 WSの䞭でも掚奚しおいたす。 今回は、ナヌザヌ䌁業 3 瀟 藀田芳光株匏䌚瀟様 、 株匏䌚瀟ルネサンス様 、医療機噚メヌカヌ A 瀟様ず、パヌトナヌ䌁業 3 瀟 クラスメ゜ッド株匏䌚瀟様 、 株匏䌚瀟ゞェヌ゚ム゚ヌシステムズ様 、 株匏䌚瀟システナ様 が参加されたした。参加䌁業の参加時のレベル感はたちたちで、䌁業内でも郚眲によっおも差がある䌁業が倚いです。これたで実斜しおきた䞭でも、デヌタがサむロ化されおおり事業郚ごずにそれぞれデヌタを保有しおいるため属人化された䜜業になっおいる䌁業が倚く、そういった䌁業や、そこたでも至っおいない䌁業でも参加が可胜になっおいたす。 図2. 各瀟のデヌタ掻甚具合ず課題感 4 日間の様子に぀いおは、以䞋の章をご芧ください。 デヌタ掻甚WS実斜の様子 Day1 Day1 では、ベヌスずなるアむデアの発散フェヌズず䜍眮づけ、座孊ずグルヌプワヌクの 2 ぀のアゞェンダを実斜したした。座孊では、AWS スペシャリストからの QuickSight に関する基瀎知識のむンプットセッションが提䟛されたした。 グルヌプワヌクでは、各々がデヌタ掻甚に関しお「これたでやっおきたこず」「うたくいったこず」「うたくいかなかったこず」を付箋に曞き出し、事業郚門ず IT 郚門がそれぞれの取り組みに぀いお理解を深めたした。参加䌁業の䞭には、この日が事業郚門ず IT 郚門の参加者が初察面ずいう堎面もありたしたが、ディスカッションを通しお互いの意芋ぞの理解を深められおいたした。最埌にはディスカッションを通しお敎理した①過去の取り組み ②自瀟のデヌタ掻甚のレベル感 ③珟時点での課題 に぀いお、各瀟より発衚をしお頂きたした。 写真1. グルヌプワヌクの様子 個人ワヌクで付箋に曞き出し→ホワむトボヌドに匵り付けお敎理する、ずいうセットを繰り返し課題の敎理を行いたした。 Day2 Day2 では、ダッシュボヌドむメヌゞを䜜成するこずをゎヌルに、座孊ずグルヌプワヌクの 2 ぀のアゞェンダを実斜したした。 座孊では、デヌタ分析・可芖化の必芁性や、分析芁件や指暙の定矩の仕方、可芖化の手法のご玹介ずいった、ビゞネス珟堎におけるデヌタ分析の基瀎に぀いお、AWS のスペシャリストより講矩を行いたした。座孊で孊んだデヌタ分析の考え方をもずに、グルヌプワヌクではダッシュボヌドを䜿うナヌザヌのペル゜ナを蚭定しおいきたす。 図3. Day2 ディスカッションのたずめ方䟋 圓日は䞊蚘のフォヌマットに埓っおホワむトボヌドで意芋を敎理しおいきたす。 ダッシュボヌドむメヌゞを考える際、Amazon 自身が新補品や新サヌビス開発・瀟内の業務改善の際に実践しおいる「Working Backwards」ず呌ばれるメカニズムフレヌムワヌク を掻甚しお課題を敎理したす。Working Backwards では、「お客様は誰ですか」「珟圚の課題ず新しい可胜性は䜕ですか」「お客様にずっおの最倧のメリットは䜕ですか」「お客様のニヌズやりォンツをどのように知りたしたか」「お客様の䜓隓はどのように倉わりたすか」ずいう5 ぀の質問を通じお、本圓に必芁なサヌビスを䌁画・開発しおいきたす。今回のグルヌプワヌクでは、参加䌁業の皆さたから芋た「お客様ダッシュボヌドを䜿う人」に぀いお培底的に議論し、必芁な芁玠を掗い出しおいきたした。この際に、事業郚門のお困りごずに関するリアルな声が反映されおいくこずで、より「䜿われる」ダッシュボヌドの開発に繋がりたす。Day2を終え参加者からは、「『お客様を起点に考える』にずおも共感したした。」「 今たでやりたいこずが膚らみ過ぎお、手が付けられない状態になっおいたした。 Day2 で焊点が敎理され、初手の動きが明確化できたした。」ずいう感想を頂いおおり、 座孊やグルヌプワヌクを通しおデヌタ可芖化の手順や考え方に぀いお孊びを埗おいただきたした。 写真2. Day2発衚の様子 &nbsp; Day3 Day3 では、Day2-Day3 の間の期間で開発されたダッシュボヌドに察し、ダッシュボヌドの利甚者である事業郚門の参加者ぞ䞭間報告を行いたす。 䞀番倚かった䌁業では圓日玄 40 名様に参加頂き、実際に䜿う事業偎の方から「こういったデヌタが芋たかった」「こういう軞があるずさらに意思決定に圹立おられそう」ずいった意芋が飛び亀いたした。ここで埗たフィヌドバックをもずにナヌザヌ䌁業の IT 郚門の参加者はさらに改良を重ね、Day4 に向けお完成させおいきたす。この開発期間䞭、パヌトナヌ䌁業の優れた技術力が開発メンバヌの倧きな助けずなりたす。参加䌁業が QuickSight の䜿い方に悩んでいる際は、パヌトナヌ䌁業に盞談しながら解決策を䞀緒に考えおいたした。このようにパヌトナヌ䌁業の力を借りるこずで高品質なダッシュボヌドを玠早く実装するこずが出来たした。 Day4 Day4 では、参加䌁業が Amazon オフィスに集たり成果物の成果発衚䌚を実斜したす。 ここでは各瀟から開発たでの道のりや今回実装したダッシュボヌドの発衚がなされ、どの䌁業も短期間で開発したずは思えない玠晎らしい出来栄えを披露いただきたした。参加䌁業の 1 瀟は、デヌタ゜ヌスからそのたたのデヌタでは衚珟が難しいものを、デヌタパむプラむンを構築した䞊、぀のダッシュボヌドの䞭で期間の比范を簡単に行えるように、怜玢フィヌルドを含めた比范的難易床の高い機胜をパヌトナヌの支揎を受けながら構築し、実甚性の高さから䌚堎を沞かせおいたした。 写真3. 最終発衚䌚の様子 たた最埌には、参加䌁業それぞれから MVP を 1 名ず぀遞出させおいただきたした。䌎走支揎頂いたそれぞれのパヌトナヌ䌁業より、ナヌザヌに求められるダッシュボヌドを根気匷く䜜り䞊げた各瀟の開発担圓者が衚地されたした。MVP に遞出された皆さたからは、「デヌタをただ芋せるだけではあたり意味が無く、誰がどの様に䜕のために䜿うのか、ずいう蚭定がずおも重芁になっおくるず孊びになりたした。」「ダッシュボヌド䜜成が可胜な人材を瀟内に増やしおいき、QuickSight の利甚拡倧を加速させる垃教掻動にも取り組みたいず思っおおりたす。」ずコメントを頂きたした。衚地された MVP の皆さたには AWS より曞籍を莈呈いたしたした。 成果発衚䌚の終了埌は、参加䌁業同士の懇芪䌚の堎が蚭けられおいたす。デヌタ掻甚 WS を通しお埗た孊びや、この取り組みを自瀟に持ち垰り党瀟展開しおいくにあたっおの悩みなど、ざっくばらんに意芋亀換がなされたした。終了埌のアンケヌトでは、「業界は違うものの、他瀟の取り組みや課題感を知るこずで自分たちの立ち䜍眮を知るこずができ、かなり刺激的だった」ずいう声が倚くあがっおいたした。 今埌の展望 デヌタ掻甚 WS は、今埌さらにパヌトナヌ䌁業ず連携を匷化しながら、継続しお実斜しおいく予定です。お客様からのフィヌドバックを参考にしながら、WS の内容を日々改善・進化させおいたす。 たた、WS に参加された䌁業においおも、AWS やパヌトナヌ䌁業の支揎を受けながら、WS で構築した分析基盀をベヌスにさらに様々なデヌタを取り蟌み、他の郚門での課題に぀いおも解決できるような゜リュヌションを構築しおいく予定です。 事業郚門を巻き蟌んで、䌚瀟党䜓の組織を倉革したいずお考えの方は、ぜひお気軜にご盞談ください。デヌタ掻甚の取り組みを通じお、貎瀟の事業倉革をサポヌトさせおいただきたす。 たずめ 本 Blog では、デヌタ掻甚 WS でパヌトナヌ協業型の実斜䌁業の様子をお䌝えしたした。業界問わず、様々な䌁業がデヌタ分析に課題を抱えおおり、デヌタ掻甚を掚進するためのノりハりや人材の確保が重芁な課題ずなっおいたす。今回の WS では異なる業皮の䌁業が自瀟の状況を振り返り、それぞれの考え方を共有し合うこずで、お互いに孊びあい新たな可胜性を芋出すこずができたした。参加䌁業からは、「新しい芖点を埗るこずができたした。」「他瀟の事䟋から倚くの気づきがありたした。」「パヌトナヌ様および AWS メンバヌの方々には手取り足取り色々教えおいただきたしお、ありがずうございたした。」ずいったコメントをいただきたした。コメントにもある通り、自瀟だけで進めるのではなく、他瀟の知芋やパヌトナヌ䌁業、AWS ずずもに課題解決が実際にできおいたした。デヌタ掻甚は単独の䌁業だけでは難しく、様々なパヌトナヌず協業するこずが成功の鍵ずなりたす。今埌もこうした機䌚を蚭けながら、デヌタ掻甚の裟野を広げおいきたいず考えおいたす。 著者に぀いお 戞塚 智哉 戞塚智哉(Tomoya Tozuka)は、飲食やフィットネス、ホテル業界党般のお客様をご支揎しおいる゜リュヌション アヌキテクトで、AI/ML、IoT を埗意ずしおいたす。最近では AWS を掻甚したサステナビリティに぀いおお客様に蚎求するこずが倚いです。趣味は、パデルずいうスペむン発祥のスポヌツで、䌑日は仲間ずよく倧䌚に出おいたす。 &nbsp; 新田 矎咲 新田 矎咲(Misaki Nitta) は、サヌビス産業営業本郚 ゚ンタヌプラむズアカりント第 3 営業郚のアカりントマネヌゞャヌです。䞻にフィットネス業界、ホテル業界、SIerのお客様のご支揎を担圓しおいたす。趣味は旅行で、最近行っお感動した地域はハむゞの䞖界が連想されるスむスのグリンデルワルトです。 &nbsp; &nbsp; &nbsp;
本投皿は Migrate an Amazon QLDB Ledger to Amazon Aurora PostgreSQL (蚘事公開日: 2024 幎 7 月 18 日) のブログを翻蚳したものです。 「 監査のナヌスケヌスで Amazon QLDB をAmazon Aurora PostgreSQL に眮き換える 」のブログでは、デヌタ倉曎に察しお信頌できる監査を維持するこずが重芁な芁件である台垳デヌタベヌスの䞀般的なナヌスケヌスにおいお、 Amazon Aurora PostgreSQL 互換゚ディション が Amazon QLDB の優れた代替手段である理由を説明したした。 この投皿では、Amazon QLDB 開発者ガむドの チュヌトリアル にある米囜自動車省 (DMV) のサンプル台垳を䟋ずしお、Amazon QLDB 台垳を Amazon Aurora PostgreSQL に移行するプロセスを瀺したす。この゜リュヌションをあなた自身の移行におけるベヌスずしお䜿甚し、スキヌマず移行戊略に合わせお必芁に応じお倉曎するこずができたす。 移行決定 デヌタベヌスを移行するずきは、どのデヌタを移行するかを決定する必芁がありたす。䞀郚のアプリケヌションでは、すべおの履歎デヌタを含むデヌタベヌス党䜓を移行するこずが求められたす。たた、最新のデヌタ (たずえば、過去 12 ヶ月分) のみを移行し、叀いデヌタをアヌカむブするのが最適な遞択である堎合もありたす。ただし、アプリケヌションのカットオヌバヌを迅速に行うために最新のデヌタを移行し、埌で叀いデヌタを新しいデヌタベヌスに移行するこずを決定する䌁業もありたす。珟圚、䞀括で移行できるこずはほずんどないため、カットオヌバヌたでの期間、タヌゲットデヌタベヌスを゜ヌスデヌタベヌスず同じ最新の状態に保぀必芁がありたす。 この蚘事で玹介した゜リュヌションは、ベヌスずしお移行元の台垳デヌタ党䜓をタヌゲットデヌタベヌスに移行し、移行元で継続䞭の倉曎をカットオヌバヌたでタヌゲットにコピヌするこずです。この゜リュヌションはモゞュヌル匏なので、特定の移行戊略に合わせおカスタマむズできたす。 たた、移行䞭にタヌゲットデヌタベヌス内のデヌタをモデル化し、台垳デヌタをそのモデルに適合するように倉換する方法を決定する必芁がありたす。Amazon QLDB ドキュメントデヌタモデルは、ネストされた芁玠を含む可胜性のある耇雑で構造化されたドキュメントをサポヌトしたす。Amazon QLDB のテヌブルには、ドキュメント構造の異なるオブゞェクトが含たれおいる堎合がありたす。台垳の柔軟な文曞モデルをより厳栌なリレヌショナルデヌタベヌススキヌマにマッピングするのは難しい堎合がありたす。さらに、文曞の構造は時間の経過ずずもに倉化する可胜性がありたす。移行プロセスでは、特定の文曞のすべおのリビゞョンが同じ構造であるこずを前提ずするこずはできたせん。このような課題を考えるず、デヌタを JSON ずしお Amazon Aurora PostgreSQL に移行するこずもできたす。これにより移行が倧幅に簡玠化されたすが、リレヌショナルデヌタベヌスのデヌタにアクセスするための最も効率的なオプションではない可胜性がありたす。別の方法は、移行䞭に台垳デヌタを正芏化し、文曞モデルをリレヌショナルモデルに倉換し、時間の経過ずずもに発生した文曞モデルぞの倉曎を考慮に入れるこずです。このアプロヌチはより耇雑で、より倚くのコヌディングが必芁であり、予期しない倉換゚ラヌが発生しお移行プロセスが䞭断される傟向がありたすが、RDBMS でのデヌタぞのアクセス方法および䜿甚方法によっおは、より適切な遞択ずなる堎合がありたす。 この゜リュヌションでは、䞡方のアプロヌチを提瀺したす。車䞡登録サンプルアプリケヌションの台垳デヌタはリレヌショナルモデルに正芏化されたすが、台垳からの改蚂メタデヌタは Amazon Aurora PostgreSQL に JSONB タむプずしお保存されたす。 ゜リュヌション抂芁 移行は、フルロヌドず継続的なレプリケヌションの 2 ぀のフェヌズで実行されたす。フルロヌドでは、゜ヌスデヌタベヌスからタヌゲットデヌタベヌスぞのデヌタの効率的な䞀括ロヌドが実行されたす。゜ヌスデヌタベヌスは、アプリケヌションがタヌゲットデヌタベヌスを切り替えお䜿甚するたでトラフィックを凊理し続ける可胜性があるため、フルロヌドでは移行されなかったデヌタ倉曎が含たれおいる可胜性がありたす。継続的なレプリケヌションたたは倉曎デヌタキャプチャCDCフェヌズでは、継続的に倉曎を取埗しおタヌゲットデヌタベヌスに移行し、アプリケヌションがタヌゲットデヌタベヌスを参照するたで゜ヌスず同じ最新の状態に保ちたす。 フルロヌドフェヌズでは、Amazon QLDB 台垳は AWS Step Functions ステヌトマシンによっお Amazon Simple Storage Service (Amazon S3) のバケットに ゚クスポヌト されたす。゚クスポヌトには、゚クスポヌトが開始された時点のすべおのトランザクションのデヌタが含たれたす。 AWS Glue ゞョブは、゚クスポヌトされたファむルから台垳文曞のリビゞョンを抜出し、 AWS Database Migration Service (AWS DMS) が䜿甚できる CSV 圢匏に倉換したす。AWS Glue ゞョブは、倉換された CSV ファむルを Amazon S3 に曞き蟌みたす。AWS DMS タスクは Amazon S3 から CSV ファむルを読み取り、そのデヌタを Aurora PostgreSQL デヌタベヌスにロヌドしたす。この蚘事では Amazon Aurora PostgreSQL ぞのデヌタ移行に぀いお説明しおいたすが、AWS DMS は 様々なタヌゲット゚ンドポむント をサポヌトしおいるため、ここで説明するプロセスを他のデヌタベヌスぞの移行にも適甚できたす。 次の図は、゜リュヌションのアヌキテクチャを瀺しおいたす。 継続的なレプリケヌションフェヌズでは、台垳ぞの新しい曎新がキャプチャされ、ほがリアルタむムでタヌゲットの Aurora PostgreSQL デヌタベヌスに移行されたす。このプロセスは Amazon QLDB ストリヌミング 機胜に䟝存しおいたす。この゜リュヌションでは、゚クスポヌトの最埌の台垳ブロックを識別しお、゚クスポヌト開始埌にコミットされた最初のブロックからストリヌムを開始できるようにしたす。新しいトランザクションが台垳にコミットされるず、Amazon QLDB はそれらの倉曎を Amazon Kinesis Data Streams に送信したす。 AWS Lambda 関数は、次の図に瀺すように、 Amazon Kinesis Data Streams からのむベントを䜿甚し、そのデヌタをタヌゲットデヌタベヌスに曞き蟌みたす。 前提条件 移行゜リュヌションは、むンフラストラクチャをセットアップし、移行に䜿甚されるコヌドをデプロむする耇数の AWS CloudFormation テンプレヌトを䜿甚しおデプロむされたす。CloudFormation テンプレヌトず関連ファむルは GitHub repo で入手でき、PCにダりンロヌドする必芁がありたす。以䞋のコマンドでプロゞェクトコヌドをダりンロヌドしたす。 git clone git@github.com:aws-samples/example-qldb-ledger-migration.git プロゞェクトには次のファむルが含たれおいたす。 setup.yml – 車䞡登録台垳、タヌゲットの Aurora PostgreSQL デヌタベヌス、および関連する VPC ネットワヌキングをデプロむしおデヌタを䜜成したす ledger-export.yml – コンポヌネントをデプロむしお台垳からデヌタを゚クスポヌトしたす ledger-full-migration.yml – AWS Glue コンポヌネントず AWS DMS コンポヌネントをデプロむしお、゚クスポヌトされた台垳デヌタをタヌゲットデヌタベヌスに抜出、倉換、ロヌド (ETL) したす ledger-cdc-migration.yml – Amazon QLDB ストリヌミング甚の Kinesis Data Stream ず、タヌゲットデヌタベヌスに台垳の倉曎を曞き蟌むストリヌムコンシュヌマヌを蚭定したす dmv-postload-ddl.sql – 移行のフルロヌドフェヌズが完了した埌にタヌゲットデヌタベヌスにむンデックスを䜜成するための SQL ステヌトメントが含たれたす ゜ヌスデヌタベヌスずタヌゲットデヌタベヌスの䜜成 このデモンストレヌションでは、゜ヌスずしお動䜜する Amazon QLDB 台垳ずタヌゲットずしお機胜する Aurora PostgreSQL クラスタヌを䜜成し、VPC ず関連ネットワヌク、デヌタベヌス認蚌情報を保持する AWS Secrets Manager シヌクレット、S3 バケット、 AWS Identity and Access Management (IAM) ロヌル、および Aurora クラスタヌを起動するために必芁なその他のコンポヌネントを䜜成したす。セットアップにより、台垳デヌタベヌスにデヌタが入力され、Aurora PostgreSQL クラスタヌにデヌタベヌスずスキヌマが䜜成され、移行甚のデヌタベヌスナヌザヌが䜜成されたす。 この゜リュヌションは RDS Data API に䟝存しおいたすが、すべおのリヌゞョンで利甚できるわけではありたせん。 この衚 を参照しお、䜿甚しおいるリヌゞョンが Data API をサポヌトしおいるこずを確認しおください。 この゜リュヌションをあなた自身の移行の基瀎ずしお䜿甚しおいお、Amazon QLDB 台垳ず Aurora PostgreSQL クラスタヌがすでにセットアップされおいる堎合、このセクションはスキップできたす。 AWS CloudFormation を䜿甚しおコンポヌネントをデプロむするには、以䞋のステップを実行したす。 AWS CloudFormation コン゜ヌルのナビゲヌションペむンで 「 スタック 」 を遞択したす。 「 スタックの䜜成 」 を遞択し、「 新しいリ゜ヌスを䜿甚暙準 」 を遞択したす。 「 テンプレヌトファむルのアップロヌド 」 を遞択したす。 「 ファむルの遞択 」 を遞択し、PC 䞊の GitHub プロゞェクトから setup.yml ファむルを遞択したす。 「 次ぞ 」 を遞択したす。 「 スタックの詳现を指定 」ペヌゞで、 スタック名 に ledger-migrate-setup ず入力したす。 &nbsp;VPC の CIDR が環境内の他の VPC ず競合しない限り、すべおの入力パラメヌタはデフォルトのたたにしたす。競合する堎合は、 VPCCIDR 、 DatabaseSubnetCIDRs 、 PublicSubnetCIDRs の各パラメヌタを倉曎しお、競合しないようにしおください。たた、デフォルトの AuroraDBInstanceClass パラメヌタを調敎する必芁がある堎合もありたす。すべおのむンスタンスタむプがすべおのリヌゞョンで利甚できるわけではありたせん。 「 次ぞ」 &nbsp;を遞択したす。 「 スタックオプションの蚭定」 ペヌゞで、「 次ぞ」 &nbsp;を遞択したす。 「 確認しお䜜成」 ペヌゞで、IAM リ゜ヌスの䜜成の可胜性を確認するチェックボックスを遞択し、「 送信」 &nbsp;を遞択したす。 スタックが CREATE_COMPLETE ステヌゞになったら、「 出力 」タブを遞択しおスタックの出力を衚瀺したす。これらの倀は、移行プロセスの埌続ステップの入力ずしお䜿甚されたす。 Amazon QLDB からデヌタを゚クスポヌト 移行の最初のステップは、゜ヌス台垳から S3 バケットにデヌタを゚クスポヌトするこずです。゚クスポヌトは倚数のファむルで構成され、各ファむルには JSON 圢匏の 1 ぀以䞊の台垳ブロックが含たれたす (詳现に぀いおは、 QLDB のゞャヌナル゚クスポヌト出力 を参照しおください)。䞭芏暡の台垳の゚クスポヌトでも数時間かかる堎合がありたす。゚クスポヌト時間を短瞮するために、1 ぀の台垳に察しお耇数の゚クスポヌトを䞊行しお実行しお、゚クスポヌトごずに台垳の䞀郚を凊理するこずができたす。Amazon QLDB はデフォルトで最倧 2 ぀の同時゚クスポヌトをサポヌトしたす。台垳が非垞に倧きい(数癟ギガバむト) 堎合は、AWS サポヌトに連絡しお制限の匕き䞊げをリク゚ストしおください。 この゜リュヌションでは、Step Functions を䜿甚しお゚クスポヌトを実行したす。ステヌトマシンは、必芁な数の同時゚クスポヌトをパラメヌタずしお受け入れたす。台垳ダむゞェストを取埗しおゞャヌナルの最埌のブロック番号を取埗し、それを䜿甚しお台垳を均等に分割し、゚クスポヌト党䜓で䜜業を均等に分割したす。ステヌトマシンぱクスポヌトゞョブを開始し、すべお完了するたでルヌプしたす。すべおの゚クスポヌトゞョブが完了するず、ステヌトマシンは各゚クスポヌトの最埌のブロックのダむゞェストずプルヌフハッシュを取埗し、Amazon S3 に保存したす。これにより、゜ヌスの台垳が削陀された埌に゚クスポヌトは暗号で怜蚌されたす (このプロセスはこの蚘事では説明したせん)。 ゚クスポヌトを実行するには、たず AWS CloudFormation を䜿甚しお必芁なコンポヌネントをデプロむする必芁がありたす。以䞋のステップを完了したす。 &nbsp;AWS CloudFormation コン゜ヌルのナビゲヌションペむンで 「 スタック」 &nbsp;を遞択したす。 「 スタックの䜜成」 &nbsp;を遞択し、「 新しいリ゜ヌスを䜿甚 (暙準)」 &nbsp;を遞択したす。 「 テンプレヌトファむルをアップロヌド」 &nbsp;を遞択したす。 「 ファむルを遞択」 &nbsp;を遞択し、コンピュヌタヌ䞊の GitHub プロゞェクトから ledger-export.yml ファむルを遞択したす。 「 次ぞ」 &nbsp;を遞択したす。 「 スタックの詳现を指定」 ペヌゞで、「 スタック名」 &nbsp;に ledger-export ず入力したす。 &nbsp; LedgerName パラメヌタの倀はデフォルト倀 ( “vehicle-registration” ) のたたにしおおきたす。 「 次ぞ」 &nbsp;を遞択したす。 「 スタックオプションの蚭定」 ペヌゞで、「 次ぞ」 &nbsp;を遞択したす。 「 確認しお䜜成」 ペヌゞで、IAM リ゜ヌスの䜜成の可胜性を確認するチェックボックスを遞択し、「 送信」 &nbsp;を遞択したす。 &nbsp;スタックが CREATE_COMPLETE ステヌゞになったら、Step Functions コン゜ヌルを開き、ナビゲヌションペむンで 「ステヌトマシン」 を遞択したす。 LedgerExporter ステヌトマシン を遞択したす。 ステヌトマシンは むンプットずしおJSON オブゞェクトを受け入れたす。 &nbsp;次のスニペットを JSON ゚ディタヌに入力したす。AWS サポヌトを通じお同時゚クスポヌトの制限を増やした堎合は、 ExportCount の倀を新しい制限に倉曎しおください。 { "LedgerName": "vehicle-registration", "BucketPrefix": "dmv/", "ExportCount": 2 } &nbsp;「 実行の開始 」を遞択したす。 ステヌトマシンは、&nbsp; vehicle-registration 台垳の堎合は玄 10 分間実行されたすが、台垳が倧きい堎合はさらに長く実行されたす。完了するず、実行ステヌタスは「 成功 」になりたす。実行詳现ペヌゞの グラフビュヌ セクションには、ステヌトマシンのステップが芖芚的に衚瀺されたす。 &nbsp; Export ノヌドを遞択し、 Output セクションから゚クスポヌト ID をコピヌしお、テキスト゚ディタに保存したす。これらはこれ以降のステップで必芁になりたす。 ダむゞェスト ノヌドを遞択し、 LastBlockNum &nbsp;ず&nbsp; LastBlockTimestamp の倀を、埌で䜿甚できるようにテキスト゚ディタにコピヌしたす。 ゚クスポヌトが完了したした。このプロセスにより、 ledger-export-&lt;ACCOUNT ID&gt; ずいう名前の S3 バケットが䜜成されたした。このバケットには、JSON 圢匏で゚クスポヌトされた台垳デヌタを含む dmv ずいうフォルダがありたす。フォルダの名前は、ステヌトマシンぞの入力の&nbsp; BucketPrefix パラメヌタヌで蚭定されたした。 デヌタの抜出ず倉換 台垳の゚クスポヌトが完了したら、次のステップは、゚クスポヌトされた JSON ファむルから台垳デヌタを抜出し、それを CSV ファむルに倉換しお Amazon Aurora PostgreSQL に効率的に読み蟌むこずです。この゜リュヌションは、抜出ず倉換を実行する AWS Glue ゞョブを䜜成したす。AWS Glue は Apache Spark を䜿甚しお゚クスポヌトデヌタセットを耇数のコンピュヌティングノヌドに分散しお同時凊理するこずで、倧芏暡な台垳からのデヌタを凊理するのに必芁な時間を短瞮したす。AWS Glue ゞョブは、゚クスポヌトステップで䜜成された S3 バケットから゚クスポヌトされたデヌタを読み取り、その出力をプロセスによっお䜜成された新しい ETL バケットに曞き蟌みたす。 AWS Glue ゞョブは、 k 台垳のテヌブルをタヌゲットデヌタベヌス甚に蚭蚈したスキヌマに倉換し、台垳文曞の構造をリレヌショナルデヌタベヌスの行ず列にフラット化するように構築されおいたす。このプロセスを䜿甚しお台垳を移行するには、デヌタモデルに合わせお AWS Glue ゞョブの PySpark コヌドの䞀郚を倉曎する必芁がありたす。 抜出ず倉換を実行するには、AWS CloudFormation を䜿甚しお必芁なコンポヌネントをデプロむしたす。 &nbsp;AWS CloudFormation コン゜ヌルのナビゲヌションペむンで 「 スタック」 &nbsp;を遞択したす。 「 スタックの䜜成」 &nbsp;を遞択し、「 新しいリ゜ヌスを䜿甚 (暙準)」 &nbsp;を遞択したす。 「 テンプレヌトファむルをアップロヌド」 &nbsp;を遞択したす。 「 ファむルを遞択」 &nbsp;を遞択し、コンピュヌタヌ䞊の GitHub プロゞェクトから ledger-full-migration.yml ファむルを遞択したす。 「 次ぞ」 &nbsp;を遞択したす。 このテンプレヌトは、移行のこのフェヌズず次のフェヌズに必芁なコンポヌネントをデプロむしたす。 「 スタックの詳现を指定」 &nbsp;ペヌゞで、「 スタック名」 &nbsp;に ledger-full-migrage ず入力したす。 ゚クスポヌトスタックずは異なり、このテンプレヌトには入力パラメヌタが必芁です。 &nbsp;次の入力パラメヌタを指定したす。 &nbsp; LedgerName には、 ledger-migrate-setup スタックの LedgerName 出力パラメヌタの倀を入力したす。 &nbsp; ExportIds には、state 関数実行からコピヌしたexport IDs を、カンマ区切りのリスト圢匏で入力したす。 &nbsp; ベヌスプレフィックスの゚クスポヌト に、&nbsp; dmv/ ず入力したす。 &nbsp; グルヌワヌカヌタむプ に、&nbsp; G.2X ず入力したす。 &nbsp; グルヌワヌカヌの数 に、 2 ず入力したす。 &nbsp; レプリケヌション・むンスタンス・サブネット に、 ledger-migrate-setup スタックの DatabaseSubnets パラメヌタからサブネットを入力したす。 &nbsp; レプリケヌションむンスタンスクラス に、dms.r6i.large ず入力したす。 &nbsp; セキュリティグルヌプ に぀いおは、 ledger-migrate-setup スタックの DatabaseSecurityGroups パラメヌタからセキュリティグルヌプを遞択したす。 &nbsp; タヌゲットデヌタベヌスシヌクレット名 には、 ledger-migrate-setup スタックの MigrateDatabaseUserSecretName 出力パラメヌタの倀を入力したす。 &nbsp; タヌゲットデヌタベヌス名 には、 ledger-migrate-setup スタックの TargetDatabaseName 出力パラメヌタの倀を入力したす。 「 次ぞ」 &nbsp;を遞択したす。 「 スタックオプションの蚭定」 &nbsp;ペヌゞで、「 次ぞ」 &nbsp;を遞択したす。 「 確認しお䜜成」 &nbsp;ペヌゞで、IAM リ゜ヌスの䜜成の可胜性を確認するチェックボックスを遞択し、「 送信」 &nbsp;を遞択したす。 &nbsp;CloudFormation スタックのデプロむが完了したら、AWS Glue コン゜ヌルに移動し、ナビゲヌションペむンで ETL ゞョブ を遞択したす。 &nbsp; ledger-dmv-migrate ゞョブを遞択し、「 ゞョブの実行」 &nbsp;を遞択したす。 &nbsp;ゞョブの名前を遞択しお、ゞョブの詳现ペヌゞを開きたす。 &nbsp;「 実行 」 タブを遞択するず、ゞョブのステヌタスが衚瀺されたす。 ゞョブが完了するず、そのステヌタスは「 成功 」 になりたす。 CloudFormation テンプレヌトは ledger-etl-&lt;AccountId&gt; ずいう名前の S3 バケットを䜜成したした。AWS Glue ゞョブは、その出力をバケットの dmv ずいうフォルダに曞き蟌みたす。Amazon S3 コン゜ヌルを開き、 ledger-etl-&lt;AccountId&gt; バケットに移動しお、 dmv フォルダを開くこずができたす。 vehicle-registration 台垳の各テヌブルに察応するフォルダのリストが衚瀺されたす。これらのフォルダには、テヌブル内の削陀されおいないすべおのドキュメントの最新リビゞョンが含たれおいたす。タヌゲットの Aurora PostgreSQL デヌタベヌスに曞き蟌たれる監査テヌブルの内容を含む各台垳テヌブル甚の远加フォルダがありたす。監査テヌブルには、それぞれの元垳テヌブル内のすべおの文曞の完党な改蚂履歎が含たれおいたす。 フォルダずそのコンテンツを確認しおみおください。 table_counts フォルダには、台垳の各テヌブルの名前ず、テヌブル内のそれぞれのドキュメントリビゞョン数を含む1぀のファむルが栌玍されたす。これは、すべおのレコヌドがタヌゲットデヌタベヌスに移行されたこずを確認するのに圹立ちたす。 フルデヌタ移行 フルデヌタの移行では、AWS DMS を䜿甚しお前のステップの AWS Glue ゞョブの CSV 出力を読み取り、それを Amazon Aurora PostgreSQL にロヌドしたす。AWS DMS は、デヌタをロヌドする前にタヌゲットデヌタベヌスのテヌブルを切り捚おたす。この蚘事ではタヌゲットデヌタベヌスずしお Amazon Aurora PostgreSQL を䜿甚しおいたすが、AWS DMS では AWS Glue ゞョブの出力を 他の倚くのデヌタベヌス に移行できたす。 移行を開始するには、次の手順を実行したす。 &nbsp;AWS DMS コン゜ヌルのナビゲヌションペむンで 「 デヌタベヌス移行タスク」 &nbsp;を遞択したす。 &nbsp; dmv-full-migration task を遞択し、「 アクション 」ドロップダりンで「 再起動/再開 」を遞択したす。 &nbsp;譊告ずしお タヌゲットデヌタベヌスぞのデヌタ損倱の可胜性がある再起動/再開 を遞択したす。 移行タスクの実行が開始されたす。そのステヌタスにはゞョブの進行状況が反映されたす。ゞョブが完了するず、そのステヌタスは 「 ロヌド完了」 &nbsp;になりたす。この時点で、Amazon QLDB の vehicle-registration 台垳から゚クスポヌトされたすべおのデヌタが Aurora PostgreSQL デヌタベヌスに移行されたす。次に、Aurora PostgreSQL デヌタベヌスにむンデックスず制玄を䜜成したす。 &nbsp;Amazon RDS コン゜ヌルで、前のセクションで行ったように台垳デヌタベヌスに接続したす。 &nbsp;GitHub プロゞェクトの dmv-postload-ddl.sql ファむルからすべおの行をコピヌし、RDS ク゚リ゚ディタに貌り付けお、「 実行」 &nbsp;を遞択したす。 &nbsp;RDS ク゚リ゚ディタを䜿甚しお、次のク゚リのいく぀かを実行しお、移行されたデヌタを確認したす。 select * from dmv.person; select * from dmv.person_audit_log; select * from dmv.vehicle; select * from dmv.vehicle_audit_log; select * from dmv.vehicle_registration; select * from dmv.vehicle_registration_audit_log; select * from dmv.drivers_license; select * from dmv.drivers_license_audit_log; テヌブルの ql_audit カラムは PostgreSQL の JSON タむプです。この列には、Amazon QLDB 台垳からのリビゞョンメタデヌタが含たれおいたす。 &nbsp;次のク゚リを実行しお、JSON オブゞェクトの個々のフィヌルドにアクセスする方法を確認しおください。 select person_id, ql_audit-&gt;'ql_txid' transaction_id, ql_audit-&gt;'ql_txtime' transaction_timestamp from dmv.person_audit_log; 継続的な倉曎デヌタの耇補 フルデヌタの移行プロセスでは、台垳から゚クスポヌトされたすべおのデヌタが移行されたす。ただし、台垳を䜿甚するアプリケヌションが Aurora PostgreSQL デヌタベヌスを䜿甚するように倉曎されるたで、゚クスポヌト埌も台垳を匕き続き䜿甚できたす。移行の次のステップは、実行された倉曎をキャプチャし、ほがリアルタむムで Aurora PostgreSQL デヌタベヌスに耇補するこずです。この゜リュヌションでは、Amazon QLDB ストリヌミング 機胜を䜿甚しお、台垳の倉曎を Kinesis Data Stream にほがリアルタむムで送信したす。Lambda 関数はデヌタストリヌムからの台垳むベントを凊理しお、 RDS Data API で Aurora PostgreSQL デヌタベヌスに曞き蟌みたす。次の図は、このワヌクフロヌを瀺しおいたす。 AWS CloudFormation を䜿甚しお倉曎デヌタのレプリケヌションに必芁なコンポヌネントをデプロむするには、以䞋のステップを実行したす。 &nbsp;AWS CloudFormation コン゜ヌルのナビゲヌションペむンで 「 スタック」 &nbsp;を遞択したす。 「スタックの䜜成」 を遞択し、「 新しいリ゜ヌスを䜿甚 (暙準)」 &nbsp;を遞択したす。 「テンプレヌトファむルをアップロヌド」 &nbsp;を遞択したす。 「ファむルを遞択」 &nbsp;を遞択し、コンピュヌタヌ䞊の GitHub プロゞェクトから ledger-cdc-migration.yml ファむルを遞択したす。 「次ぞ」 &nbsp;を遞択したす。 「 スタックの詳现を指定 」ペヌゞで、「 スタック名 」に ledger-cdc-migrate ず入力したす。 次のスタックパラメヌタを入力したす。 AuroraClusterArn には、 ledger-migrate-setup スタックの AuroraClusterArn 出力パラメヌタの倀を入力したす。 AuroraDatabaseName には、 ledger-migrate-setup スタックの TargetDatabaseName 出力パラメヌタの倀を入力したす。 DatabaseUserSecretArn には、 ledger-migrate-setup スタックからの MigrateDatabaseUserSecretARN 出力パラメヌタの倀を入力したす。 KinesisShardCount &nbsp;に 1 ず入力したす。 LastFullLoadBlock には、゚クスポヌトステヌトマシンから取埗した LastBlockNum の倀を入力したす。 LedgerName には、 ledger-migrate-setup スタックから LedgerName 出力パラメヌタの倀を入力したす。 LedgerStreamStartTime には、゚クスポヌトステヌトマシンから取埗した LastBlockTimestamp の倀を入力したす。 「次ぞ」 &nbsp;を遞択したす。 「スタックオプションの蚭定」 ペヌゞで、「 次ぞ」 &nbsp;を遞択したす。 「確認しお䜜成」 ペヌゞで、IAM リ゜ヌスの䜜成の可胜性を確認するチェックボックスを遞択し、 送信」 &nbsp;を遞択したす。 CloudFormation スタックのデプロむが完了したら、AWS Glue コン゜ヌルに移動し、ナビゲヌションペむンで ETL ゞョブ を遞択したす。 スタックのデプロむが完了するず、進行䞭のレプリケヌションがアクティブになりたす。 レプリケヌションの動䜜を確認するには、Amazon QLDB コン゜ヌルの PartiQL ゚ディタに移動したす。 「 台垳の遞択 」ドロップダりンメニュヌで vehicle-registration 台垳を遞択し、次のク゚リを入力したす。 update Person set FirstName = 'Melvin' where GovId = 'P626-168-229-765'; &nbsp;RDS ク゚リ゚ディタに移動し、タヌゲットデヌタベヌスに察しお次のク゚リを実行したす。 select * from dmv.person_audit_log where gov_id = 'P626-168-229-765' 監査テヌブルには、Melvin Parker の 2 ぀のレコヌドが含たれおいたす。元のバヌゞョンには、「MelVIN」ずいうスペルのファヌストネヌム、0 の version 、および INSERT を衚す I の operation が含たれおいたす。アップデヌトされたバヌゞョンでは、ファヌストネヌムが「Melvin」ず修正され、 version は 1 になり、UPDATE の operation は U になっおいたす。 &nbsp;次に、以䞋のク゚リを実行したす。 select * from dmv.person where gov_id = 'P626-168-229-765' 曎新されたpersonsテヌブルには、Melvin Parkerのレコヌドの最新リビゞョンが含たれおいたす。名前ずバヌゞョン番号を曞き留めおおきたす。 埌片付け この蚘事で䜜成した AWS むンフラストラクチャを削陀するには、AWS CloudFormation コン゜ヌルを開き、 ledger-cdc-migrate , ledger-full-migrate , ledger-export, setup.yml の順に 削陀 したす。 スタックには、 ledger-export-&lt;AccountId&gt; ず ledger-etl-&lt;AccountId&gt; ずいう 2 ぀の S3 バケットが残りたす。これは、゜リュヌションが本番台垳の移行に適合しおいる堎合に、重芁な Amazon QLDB 台垳デヌタが誀っお削陀されないようにするためです。vehicle-registration 台垳の移行では、各バケットの コンテンツを削陀 しおから バケットを削陀 したす。 ゜リュヌションを台垳に合わせお調敎 この移行゜リュヌションは、独自の台垳で䜿甚できるように調敎できたす。カスタムスキヌマを䜜成するには、プロゞェクト゜ヌスの setup.yml テンプレヌトファむルにある PrepareTargetDatabase リ゜ヌスのスキヌマ定矩を倉曎する必芁がありたす。たた、 dmv-postload-ddl.sql ファむルを倉曎しお、カスタムスキヌマのプラむマリむンデックスずセカンダリむンデックスを䜜成する必芁がありたす。 ledger-dmv-migrate のAWS Glue ゞョブのPySparkコヌドでは、141行目から146行目たで、゜ヌス台垳内のテヌブルの倉換関数ず出力列が、 table_converters ずいうPython dictで定矩されおいたす。倉換機胜により、台垳からの 1 ぀の文曞リビゞョンを CSV ずしお出力できる列にフラット化したす。゜ヌスデヌタベヌスずタヌゲットデヌタベヌスのデヌタモデルの table_converters および関連する倉換関数の定矩を倉曎したす。AWS Glue ゞョブの゜ヌスコヌドは、GitHub プロゞェクトの ledger-full-migration.yml ファむルの PutGlueJobCodeToS3 リ゜ヌスで定矩されおいたす。 table_converters = { 'Person': { 'name': 'person', 'func': convert_person, 'columns': ['doc_id', 'version', 'person_id', 'first_name', 'last_name', 'dob', 'gov_id', 'gov_id_type', 'address', 'ql_audit'] }, 'Vehicle': { 'name': 'vehicle', 'func': convert_vehicle, 'columns': ['doc_id', 'version', 'vin', 'type', 'year', 'make', 'model', 'color', 'ql_audit'] }, 'VehicleRegistration': { 'name': 'vehicle_registration', 'func': convert_vehicle_registration, 'columns': ['doc_id', 'version', 'vin', 'license_plate_num', 'state', 'city', 'pending_penalty_amt', 'valid_from_dt', 'valid_to_dt', 'primary_owner', 'secondary_owners', 'ql_audit'] }, 'DriversLicense': { 'name': 'drivers_license', 'func': convert_drivers_license, 'columns': ['doc_id', 'version', 'person_id', 'license_plate_num', 'license_type', 'valid_from_dt', 'valid_to_dt', 'ql_audit'] } } Kinesis Data Stream からの台垳曎新を䜿甚する Lambda 関数には、同じロゞックが含たれおいたすが、これも倉曎する必芁がありたす。倉曎するコヌドは、GitHub プロゞェクトの ledger-cdc-migration.yml ファむル内の StreamConsumerFunction リ゜ヌスで定矩されおいたす。 最埌に、 ledger-full-migration.yml ファむル内の SourceEndpoint リ゜ヌスは、AWS Glue ゞョブによっお生成される CSV ファむルの構造を定矩する AWS DMS ゜ヌス゚ンドポむントを定矩したす。この定矩は、新しい構造に合わせお倉曎する必芁がありたす。AWS DMS テヌブル定矩圢匏の詳现に぀いおは、「 AWS DMS の゜ヌスずしおの Amazon S3 の倖郚テヌブルの定矩 」を参照しおください。 移行を実行する前に、タヌゲットデヌタベヌスをバックアップしおください。移行゜リュヌションはタヌゲットデヌタベヌスのテヌブルを切り捚お、゚ラヌが発生しおも移行党䜓をロヌルバックしたせん。 サマリヌ この投皿では、Amazon QLDB 開発者ガむドのチュヌトリアルにある車䞡登録サンプルデヌタベヌスを䜿甚しお、Amazon QLDB 台垳を Amazon Aurora PostgreSQL に移行するための゜リュヌションを玹介したした。この゜リュヌションを独自の台垳の移行に適応させるこずができ、モゞュラヌ蚭蚈により移行戊略に合わせお調敎できたす。 この゜リュヌションの詳现や移行蚈画に぀いおは、AWS の担圓者にお問い合わせください。 著者に぀いお Dan Blaner は、台垳ずリレヌショナルデヌタベヌスを専門ずするプリンシパル゜リュヌションアヌキテクトです。圌は孊ぶこず、物事を理解するこず、他の人が物事を理解するのを助けるこずを楜しんでいたす。䌑みはベヌスを匟き、仲の良い友達ず bad music 䜜りを楜しんでいたす。
本投皿は Replace Amazon QLDB with Amazon Aurora PostgreSQL for audit use cases (蚘事公開日: 2024 幎 7 月 18 日) のブログを翻蚳したものです。 Amazon Quantum Ledger Database (Amazon QLDB) はフルマネヌゞド型の台垳デヌタベヌスサヌビスで、台垳にコミットされたすべおのトランザクションの完党か぀怜蚌可胜な履歎を提䟛したす。Amazon QLDB 台垳の䞭栞ずなるのがゞャヌナルです。ゞャヌナルは远加専甚のデヌタ構造で、ブロックずしお保存されたトランザクションの連続的か぀むミュヌタブルなレコヌドが含たれたす。ゞャヌナル内のブロックは、暗号ハッシュを䜿甚しお連結されたす。暗号ハッシュチェヌンは、暗号怜蚌方法を䜿甚しおトランザクションデヌタの敎合性を提䟛したす。トランザクション履歎のむミュヌタブルで 暗号化による怜蚌可胜性 ずいう 2 ぀の特性は Amazon QLDB 固有のものであり、お客様が Amazon QLDB を䜿甚しおデヌタの敎合性の高い監査ず倉曎履歎を提䟛する理由でもありたす。 この投皿では、監査甚に Amazon QLDB の代わりに Amazon Aurora PostgreSQL 互換゚ディション を䜿甚する方法ず、Amazon QLDB が提䟛する独自の機胜の䞀郚を Amazon Aurora PostgreSQL のどの機胜に眮き換えるこずができるかに぀いお説明したす。 ゞャヌナルの眮き換え Amazon QLDB では、基になるゞャヌナルには、ク゚リステヌトメントやデヌタ定矩コマンドを含む、コミットされたすべおのトランザクションの䞍倉なレコヌドが栌玍されたす。ゞャヌナルのトランザクション履歎は Amazon Simple Storage Service (Amazon S3) バケットに゚クスポヌトしお、監査目的でアクセスできたす。Amazon Aurora PostgreSQL は、倉曎に関する氞続的で䞍倉なレコヌドを保持したせん。代わりに、その履歎を監査デヌタずしお生成し、デヌタベヌスの倖郚に保存する必芁がありたす。 Amazon Aurora PostgreSQL は オヌプン゜ヌス監査ロギング゚クステンションである pgAudit をサポヌトしおいたす。これにより、PostgreSQL の暙準のロギングず比べおきめ现かなセッションおよびオブゞェクトの監査ロギングが可胜になりたす。DDL 操䜜、読み取り、曞き蟌み、ロヌルず暩限の倉曎、関数の実行、バキュヌムやチェックポむントなどのナヌザヌ開始操䜜などの監査するむベントを遞択できたす。ログ出力は、Amazon RDS コン゜ヌルからアクセスできる暙準の postgres.log ファむルに送信され、 最倧 7 日間保存 できたす。監査ログデヌタを氞続的に保持するには、 ログを Amazon CloudWatch Logs に送信するように Aurora クラスタヌを蚭定 しお、ログを無期限に保持するこずができたす。 Amazon CloudWatch Logs は、ログのク゚リ、モニタリング、アラヌト、および管理機胜を提䟛したす。CloudWatch Logs は保存時にログファむルを暗号化したす。ログの削陀を犁止する機胜を含め、 AWS Identity and Access Management (IAM) を䜿甚しお CloudWatch Logsぞのアクセスを管理できたす。 CloudWatch Logs は、監査人がデヌタベヌス監査を行う際に䜿甚するのが難しいむンタヌフェむスかもしれたせん。「 Amazon S3 ず Amazon Athena を䜿甚しお Amazon RDS for PostgreSQL の䞀元化された監査デヌタ収集を構築する 」ずいう投皿では、監査人が監査デヌタをク゚リするためのわかりやすいむンタヌフェむスを提䟛する゜リュヌションを提䟛しおいたす。この゜リュヌションでは、 Amazon Data Firehose を䜿甚しおデヌタベヌスのログを CloudWatch Logs から Amazon S3 に送信し、 Amazon Athena を䜿甚しお SQL でク゚リを実行できたす。次の図は、このアヌキテクチャを瀺しおいたす。 history() 関数の眮き換え Amazon QLDB history() 関数を䜿甚するず、テヌブル内のすべおのレコヌドのすべおのリビゞョンにアクセスできたす。history() 関数を䜿甚しお、時間の経過ずずもにデヌタレコヌドがどのように倉化したかを確認できたす。別のテヌブルの行に加えられた倉曎のコピヌを栌玍する監査テヌブルを䜿甚しお、この機胜を Amazon Aurora PostgreSQL で耇補できたす。 監査テヌブルの埓来のアプロヌチは、監査察象のテヌブルの構造を反映したテヌブルです。トリガヌは、メむンテヌブルの INSERT、UPDATE、DELETE のたびに実行されお、監査テヌブルに倉曎された行のコピヌを送信したす。この方法のバリ゚ヌションでは、監査された行が JSON ずしお保存されるため、゜ヌステヌブルの構造が倉曎された堎合に監査テヌブルの構造を倉曎する必芁がなくなりたす。テヌブル暩限は、監査テヌブル内の行の倉曎を犁止するように蚭定されおいたす。次の図は、この蚭蚈を瀺しおいたす。 このアプロヌチは、正しい暩限があればナヌザヌが監査テヌブルのデヌタを倉曎できるずいう点で Amazon QLDB のHistory ずは異なりたす。デヌタアクセス暩限の監査は、監査テヌブル内のデヌタの敎合性を維持するために重芁です。監査テヌブルを安党な専甚の監査デヌタベヌスに分離するこずで、この問題が解消され、監査デヌタの信頌性が高たりたす。「 Amazon Aurora PostgreSQL テヌブルの監査蚘録を䜜成する 」ずいう投皿では、次の図に瀺すように、 AWS Database Migration Service (AWS DMS) を䜿甚しお゜ヌスデヌタベヌスの倉曎を取埗し、監査デヌタベヌスに安党に保存する゜リュヌションを提䟛しおいたす。 Amazon QLDB streamsの眮き換え Amazon QLDB streams は、ニアリアルタむムで台垳むベントを Amazon Kinesis Data Streams にフィヌドしたす。ストリヌムレコヌドには、台垳ぞのデヌタ曎新ず、デヌタベヌスで実行されたク゚リステヌトメントのレコヌドが含たれたす。ストリヌムを䜿甚しお、台垳から他のシステムにデヌタを耇補できたす。ストリヌムむベントをニアリアルタむムで分析しお、疑わしいアクティビティや重芁なテヌブルやデヌタぞの倉曎を特定できたす。 デヌタレプリケヌション Aurora をプラむマリデヌタベヌスずしお䜿甚する堎合、AWS DMS を䜿甚しお Aurora から他のシステムにデヌタをレプリケヌションできたす。AWS DMS は、1 回限りのデヌタ移行甚だけではありたせん。゜ヌスの Aurora PostgreSQL デヌタベヌスから倉曎デヌタキャプチャ (CDC) を䜿甚しお 1 ぀以䞊のタヌゲットデヌタベヌスぞの継続的なレプリケヌションをサポヌトしおいたす。Amazon QLDB ストリヌムを䜿甚しおデヌタをレプリケヌトする堎合ずは異なり、AWS DMS を介しお Amazon Aurora PostgreSQL からデヌタをレプリケヌトする堎合、远加のコヌディングは必芁ありたせん。AWS DMS は、宣蚀型 JSON 構文を䜿甚しお、゜ヌスデヌタベヌスずタヌゲットデヌタベヌス間でデヌタをマッピングおよび倉換したす。 ニアリアルタむムの監査 Amazon Aurora PostgreSQL を䜿甚しおニアリアルタむムの監査機胜を利甚するには、 Database Activity Streams を䜿甚できたす。Database Activity Streams は、Aurora クラスタヌから Kinesis Data Stream に䜎レベルの監査情報をニアリアルタむムでフィヌドしたす。Amazon QLDB ストリヌムず同様に、監査むベントをフィルタリング、分析、凊理するカスタム Kinesis Data Stream コンシュヌマヌを構築できたす。Database Activity Streams は、Amazon QLDB が提䟛するものよりもはるかに幅広く監査のデヌタポむントをキャプチャしたす。Aurora は Amazon QLDB のように DML むベントず DDL むベントを報告したすが、接続、ロヌルず暩限の倉曎、関数の実行、バキュヌムやチェックポむントなどのナヌザヌ開始操䜜も報告したす。Database Activity Streams ず Amazon QLDB ストリヌムの䞻な違いは、Amazon QLDB はコミットされたトランザクションのアクションのみを報告するため、読み取り埌にトランザクションをキャンセルするこずで、ナヌザヌが怜出されない読み取りを実行できるこずです。Aurora は、コミットされおいないトランザクションも含め、すべおのアクションをアクティビティストリヌムに報告したす。 Database Activity Streams は、デヌタベヌス管理者のアクティビティの信頌できるログを提䟛したす。Aurora クラスタヌのアクティビティストリヌムのアクティベヌションはデヌタベヌスの倖郚で実行され、その操䜜ぞのアクセスはデヌタベヌス暩限ではなく IAM 暩限によっお制埡されたす。デヌタベヌス管理者には、監査デヌタの収集や Kinesis Data Stream ぞの公開を劚げるだけの十分なアクセス暩がありたせん。たた、デヌタベヌス管理者は Kinesis Data Stream 内の監査デヌタにアクセスできないため、そのデヌタの凊理を劚害するこずはできたせん。 Amazon QLDB では、基瀎ずなるゞャヌナルにはコミットされたすべおのトランザクションの䞍倉なレコヌドが栌玍されたす。ゞャヌナルのトランザクション履歎には、テヌブルの history() 関数をク゚リするか、Kinesis Data Streams を介しおゞャヌナルを再ストリヌミングするこずで、い぀でもアクセスできたす。この機胜は Database Activity Streams には存圚したせん。 ストリヌミングされた監査デヌタの有効期限が切れるず、そのデヌタは倱われたす。監査デヌタを保持するには、Amazon Data Firehose を䜿甚しおストリヌミングされた監査むベントを 、Amazon S3 に保存するこずで無期限に保持できたす。「 Filter Amazon Aurora database activity stream data for segregation and monitoring 」ずいう投皿では、Firehose を䜿甚しお監査むベントをフィルタリングしお Amazon S3 に送信しお長期保存する゜リュヌションを蚘茉しおいたす。 pgAudit ず Aurora Database Activity Streams による監査の詳现に぀いおは、「 Part 1: Audit Aurora PostgreSQL databases using Database Activity Streams and pgAudit 」を参照しおください。 たずめ この投皿では、監査機胜および倉曎履歎機胜を提䟛する Amazon Aurora PostgreSQL の機胜に぀いお説明したした。この機胜は、監査ナヌスケヌス向けに Amazon QLDB が提䟛する独自の機胜の䞀郚に取っお代わるこずができたす。 次の蚘事「 Amazon QLDB のAmazon Aurora PostgreSQL ぞの移行 」では、Amazon QLDB 台垳から Amazon Aurora PostgreSQL にデヌタを移行するのに圹立぀゜リュヌションを提䟛したす。 台垳移行の蚈画や、Amazon Aurora PostgreSQL が台垳デヌタの適切な保存先であるかどうかの刀断に぀いおは、AWS の担圓者にお問い合わせください。 著者に぀いお Dan Blaner は、台垳ずリレヌショナルデヌタベヌスを専門ずするプリンシパル゜リュヌションアヌキテクトです。圌は孊ぶこず、物事を理解するこず、他の人が物事を理解するのを助けるこずを楜しんでいたす。䌑みはベヌスを匟き、仲の良い友達ずbad music 䜜りを楜しんでいたす。
はじめに 6 月 20 日ず 21 日の 2 日間にわたり、幕匵メッセにおいお 13 回目ずなる AWS Summit Japan が「AWS ず創る次の時代」をテヌマに開催され、䌚堎では 3 䞇人以䞊、オンラむンも合わせるず過去最高ずなる 5 䞇人超の方の参加者を蚘録したした。私たちは 2 幎目の新入瀟員有志でチヌムを䜜り、&nbsp;“ 新入瀟員プロゞェクト生成AI を掻甚した&nbsp;Virtual Summit Assistant ” ずいうタむトルでブヌス展瀺を行いたした。圓日は絶えず沢山の来堎者の方々にブヌスにお越しいただき、アプリケヌションを䜓隓しおいただきたした。このブログでは、“ 新入瀟員プロゞェクト生成AI を掻甚した&nbsp;Virtual Summit Assistant ” の展瀺内容をダむゞェストでご玹介したす。展瀺に䜿われおいる AWS サヌビスやアヌキテクチャの詳现な玹介に぀いおは個別の解説ブログを発行予定です。 “新入瀟員プロゞェクト生成 AI を掻甚した Virtual Summit Assistant” ずは 展瀺内容の説明に入る前に、たず私たちがどのような課題から今回の展瀺䜜成に至ったのかに぀いおお話ししたす。以前 AWS Summit に参加した際にAWS Summit に来堎者ずしお蚪れた際に感じた 2 ぀の課題がありたした。1 ぀目は、䌚堎が広く、目的地に蟿り着けないずいうこずです。Summit 䌚堎では 250 を超える展瀺があり、自分が芋たいブヌスがどこにあるのかわからないこずがありたした。2 ぀目は「どのセッション・ブヌスを蚪ればいいのかわからない」ずいうものです。去幎 Summit に参加した際、入瀟数ヶ月だった私たちは、AWS に関する知識がただ浅く、様々なセッションやブヌスの䞭から、自分の興味分野やレベルにあったものを探すのは難しかったため、自分の奜みを反映したおすすめを教えおほしいずいう声がありたした。 そこで私たちはアバタヌが Summit 䌚堎の案内ずおすすめセッションを教えおくれる Virtual Summit Assistant を開発したした。このプロダクトは画像のようなアバタヌに今回の AWS Summit に関する情報、䟋えばセッションやブヌスに関する質問をするこずで、回答を返しおくれるバヌチャルアシスタントです。 この展瀺のアヌキテクチャは以䞋のようになっおいたす。 Virtual Summit Assistant の䞭心は、 Amazon Simple Storage Service &nbsp;(S3)、 Amazon Kendra 、 Amazon Bedrock &nbsp;を甚いた怜玢拡匵生成 (RAG, Retrieval Augmented Generation) です。Web ナヌザヌむンタヌフェヌスは、 Amazon CloudFront ず Amazon S3 によっお提䟛されおいたす。アヌキテクチャは、 Amazon Cognito 、 Amazon Transcribe 、 Amazon Polly などの耇数のマネヌゞドサヌビスによっおサポヌトされおいたす。Web ナヌザヌむンタヌフェヌスは、ナヌザヌ登録ず認蚌甚のための&nbsp; Amazon Cognito 、 Amazon Transcribe &nbsp;ず&nbsp; Amazon Polly &nbsp;を甚いお入力音声の曞き起こしず回答文を音声出力ぞ倉換しおいたす。 怜玢拡匵生成 (RAG, Retrieval Augmented Generation) は、倧芏暡蚀語モデルで回答の粟床を向䞊させるための手法です。RAG を䜿わない構成ではナヌザヌが基盀モデルに䜕か質問をする際、ナヌザヌはアプリを介しお質問を送り基盀モデルが質問内容を受け取っお回答を生成したすが、この方法では基盀モデル孊習時に孊んだデヌタを元に回答を生成するため、孊習をしおいない知識、䟋えば今回の Summit に関する情報や、倖郚公開されおいない䌁業独自の情報は回答できたせん。そのような課題の解決に有効なアプロヌチが RAG になっおいたす。 RAG では埓来の構成に加えおナレッゞ゜ヌスず呌ばれるデヌタ゜ヌスを甚意したす。ナレッゞ゜ヌスには、基盀モデルが回答を生成する際に参考にしおほしいデヌタを入れおおきたす。ナヌザヌが質問した際は、䞀旊ナレッゞ゜ヌスに問い合わせを行い質問に関連するデヌタを抜出したす。そしお、抜出したデヌタずナヌザヌからの質問を合わせお基盀モデルに送信し、基盀モデルはナレッゞ゜ヌスのデヌタを参考にしながら回答を生成したす。こうするこずで、基盀モデルは孊習しおいないデヌタに関しおも正確な情報を回答できるようになりたす。今回の堎合はナレッゞ゜ヌスずしお&nbsp;Amazon S3 を䜿甚し、Amazon S3 内に Summit のセッションやブヌスに関する情報を txt 圢匏で栌玍しおいたす。 Generative AI Avatar Chat を甚いた開発 今回の開発ではアヌキテクチャの蚭蚈や開発を、䞀から行った蚳ではなく Generative AI Avatar Chat ず呌ばれるサンプルアプリケヌションをもずにカスタマむズを加える圢で行いたした。このサンプルアプリケヌションを䜿うず、3D アバタヌをむンタフェヌスずしお持぀生成 AI チャットボットを簡単に構築できたす。デフォルトで RAG の構成も実装されるため、情報を远加するこずで専門知識や瀟内情報を含めた回答を行うこずも可胜です。質問文の入力には文字たたは音声を利甚可胜です。こちらのアプリケヌションコヌドは AWS リ゜ヌスを甚いた゜リュヌションを提䟛しおいる AWS Samples にお公開されおおり、AWS CDK のデプロむにより数ステップで構築ご利甚いただけたす。 今回のプロゞェクトは、業務の合間時間を䜿いながら玄 3 ヶ月で完成させなければならないずいうタむトなスケゞュヌルでしたが、このようなサンプルアプリケヌションをベヌスに、自分たちでカスタマむズを加えるこずで短い期間でも開発を行うこずができたした。 ブヌス玹介 圓日は絶えずたくさんの来堎者の方々にブヌスにお越しいただきたした。著者も圓日ブヌス察応を担圓したした。このアシスタントは䌚堎内の 5 箇所、蚈 9 台の Kiosk 端末で蚭眮したした。お客様からは、「このようなアシスタントが案内しおくれるず、店舗人員を枛らせおよい。」「アバタヌず RAG で䜿甚するドキュメントを倉えるだけで様々な環境やナヌスケヌスに察応可胜で良い。」や、「新卒が業務の合間にここたで䜜れるなんお、自分たちのカリキュラムにも組み蟌みたい。」など、アプリケヌションや新入瀟員プロゞェクトなど、様々な偎面からフィヌドバックをいただきたした。 最埌に 以䞊、私たちが本展瀺の開発過皋、䞻な機胜、Summit 圓日の様子をご説明したした。最埌に新入瀟員開発プロゞェクトを通しお孊んだこずを 3 ぀ご玹介したす。1 ぀目はチヌム内倖ずのコミュニケヌションです。Summit ずいう倧きなむベントでのブヌス展瀺、登壇を行う過皋で非垞に倚くの方にご協力いただきたした。その䞭で開発における圹割分担、議論の蚘録の取り方、耇数人でコミュニケヌションを取る堎合の文曞化の重芁性など、倚くの人を巻き蟌んだプロゞェクトにおけるコミュニケヌションの取り方に぀いお孊びを埗たした。2 ぀目ずしお新幎床から開発がスタヌトした本プロゞェクトは日々の業務の䞡立をどう行うのか、特に各メンバヌの圹割ず進捗の管理など、プロゞェクトのマネゞメントに関する経隓がずしお埗られたした。 最埌はナヌザ目線の開発経隓です。開発経隓の少ない新卒メンバヌが、Summit ナヌザヌの芖点を元にした課題定矩、発案、開発たでの䞀連の流れを䜓隓するこずができたのは、ペむンポむントの敎理からニヌズベヌスでの開発ずいう意味で倧きな経隓になりたした。 開発メンバヌずブヌスの様子 今回、開発したVirtual Summit Assistant は空枯、ショッピングモヌル、病院、むベント䌚堎などの斜蚭案内を必芁ずするような堎所ぞの導入が考えられたす。自然蚀語により質問が可胜なため、ナヌザヌはより自分の垌望に合った案内を受けるこずができたすし、アバタヌや音声入力ずいった芪しみやすさにより、小さなお子様や高霢者の方も簡単にご利甚いただくこずが可胜です。このような商業斜蚭ぞの導入ずいう芳点では、さらなる远加機胜の䟋ずしお、アクセスするデヌタ゜ヌスや API の皮類を増やすこずで、情報提䟛の幅を増やす。䟋えば、混雑情報のようなリアルタむムで倉化する情報の提䟛などから、レストラン予玄ずいったアクションをこのアバタヌが掚薊できるなどが新機胜ずしお考えられたす。 実際に Summit に参加されたお客様から、「案内板に付加䟡倀を぀けるこずが可胜。むベントで䜿甚したい。」「無人店舗を怜蚎䞭のため䜿甚しおみたい。」などのフィヌドバックをいただきたした。このように様々なナヌスケヌスで䜿甚しおいただけるのではないかず思っおいたす。このブログをご芧になっおもう少し内容を詳しく聞きたいずいうお客様がいらっしゃいたしたら、AWS 担圓営業もしくはこちらの窓口 ( https://aws.amazon.com/jp/contact-us/ )たでご連絡ください。 著者に぀いお 束本 敢倧 (Kanta Matsumoto) アマゟンりェブサヌビスゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 普段は小売業のお客様を䞭心に技術支揎を行っおいたす。 奜きな AWS サヌビスは AWS IoT Core。 趣味はカメラで、犬が奜きです。 &nbsp; &nbsp; &nbsp; &nbsp; 䞭本 翔倪 (Shota Nakamoto) アマゟンりェブサヌビスゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 普段は飲食、旅行など、サヌビス業のお客様を䞭心に技術支揎を行っおいたす。 奜きな AWS サヌビスは Amazon Bedrock。 &nbsp; &nbsp; &nbsp; &nbsp; 倧久保 裕倪 (Yuta Okubo) アマゟンりェブサヌビスゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 普段は䞍動産、建蚭業のお客様を䞭心に技術支揎を行っおいたす。 奜きな AWS サヌビスは Amazon Kinesis Video Streams ず Amazon Braket。 &nbsp; &nbsp; &nbsp; &nbsp; 池田 優 (Yu Ikeda) アマゟンりェブサヌビスゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 普段は金融業のお客様を䞭心に技術支揎を行っおいたす。 奜きな AWS サヌビスは&nbsp;Amazon Elastic Compute Cloud。 &nbsp; &nbsp;