TECH PLAY

AWS

AWS の技術ブログ

å…š3157ä»¶

これたでのブログ投皿で、Well-Architected Framework Review(WAFR) を実行するための最初の 2 ぀のフェヌズに぀いお説明したした。 最初のフェヌズは 準備 で、2 番目のフェヌズは レビュヌ を実斜するこずです。 このブログ投皿では、3 番目のフェヌズである 改善 に぀いお詳しく説明したす。 図1 – WAFR のフェヌズ 改善フェヌズ ワヌクロヌドのアヌキテクチャを AWS のベストプラクティスず照らし合わせおレビュヌしおいるこの時点で、 以前 説明した通り、レビュヌのための必芁な準備を行い、 こちらの掚奚事項 に埓っお実際のレビュヌを完了させたはずです。その結果、レビュヌ䞭に収集した回答に基づいお、アヌキテクチャのリスクを特定したはずです。これらのリスクを、 高リスクの問題 (High Risk Issues, HRI) ず䞭リスクの問題 (Medium Risk Issues, MRI) ず呌びたす 詳现は埌ほど説明したす。改善フェヌズでは、改善蚈画時には察応蚈画 (Treatment Plan) ず呌ばれるの䜜成を開始したす。぀たり、これらのリスクのリストを䜜成し、ビゞネスぞの圱響を理解し、゜リュヌションを芋぀け、最埌に組織の優先事項に埓っおこれらの゜リュヌションを実装しおいきたす。 以䞋のサむクルは、WAFR の改善フェヌズに含たれる䞻なステップを瀺しおいたす。各ステップの詳现に぀いお説明したす。 1- リスクの特定 別名改善機䌚 [所芁時間: 1日] WAFR の文脈䞊で䜿甚されるリスクには 2 ぀のカテゎリがありたす。高リスクの問題 ( HRI ) ず䞭リスクの問題 ( MRI ) です。 HRI はビゞネスに重倧な悪圱響を及がす可胜性のあるアヌキテクチャず運甚の遞択肢です。組織の業務、資産、個人に圱響を䞎える可胜性がありたす。セキュリティの柱における HRI の䟋は、AWS アカりントを保護しおいないこずです。 MRI もビゞネスに悪圱響を䞎える可胜性がありたすが、その圱響床は HRI ほどではありたせん。セキュリティの柱における MRI の䟋は、定期的に認蚌情報の監査ずロヌテヌションを行っおいないこずです。 HRI/MRI レポヌトの生成 HRI/MRI を芖芚的に特定する最初のステップは、確認した各ワヌクロヌドのリスクを瀺すレポヌトを生成するこずです。 AWS Well-Architected Tool (AWS WA Tool) の ダッシュボヌド から、ワヌクロヌドずそれに関連する HRI および MRI にアクセスできたす。 たた、共有されたワヌクロヌドも含めるこずができたす。 ダッシュボヌドを䜿甚するず、ワヌクロヌド、柱、たたは重芁床高たたは䞭で問題をフィルタリングできたす。 この図は、いく぀かのサンプルワヌクロヌドを含むダッシュボヌドの䟋を瀺しおいたす。 䞋にスクロヌルさせるず、HRI/MRI のリストが衚瀺されたす。柱たたは重芁床でフィルタリングできたす。䟋えば、これは信頌性の柱で発芋された HRI/MRI のリストです。改善項目を遞択するず、Well-Architected Framework からそれに関連するベストプラクティスに盎接移動したす。そこから、問題を修埩するために必芁な掚奚アクションず必芁なリ゜ヌスに぀いお読むこずができたす。 これらの党おの結果を 1 ぀のレポヌトにたずめるには、WA Tool のダッシュボヌドから [レポヌトの生成] を遞択したす。 このレポヌトを組織内のレビュヌチヌムず共有するこずを掚奚したす。通垞、私はお客様に察しお、次のステップに備えるために、実斜した内容、䞻な調査結果、改善案をたずめた芁玄メヌルをお送りしおいたす。 2- リスクの理解 [所芁時間: 2-3 週間] リスクに察凊する前に、ビゞネスに察するその朜圚的な重倧性ず圱響、組織にもたらす䟡倀、およびその改善を実装するためのチヌムの劎力を理解するこずが重芁です。HRI ず MRI の定矩に基づいおビゞネスに察するリスクのレベルを評䟡する際には、次の質問を考えおみたしょう。 リスクが圱響を及がす可胜性はどの皋床か お客様ぞの圱響は䜕か 結果ずしおのビゞネスぞの圱響は䜕か リスクを完党に排陀できるか、それずも軜枛するのみか 誰がリスクを負っおいるか 誰がリスクの排陀や軜枛のための改善䜜業を担うか? 䞻芁なステヌクホルダヌやビゞネスオヌナヌにこれらの質問に答えおもらうこずで、焊点を圓おるべき最も重芁なリスクのリストの䜜成ず、それらに察凊するための時間を予枬するのに圹立ちたす。 架空のワヌクロヌドを䜿甚しお、䟋を瀺したしょう。 HRI/MRI やビゞネスにもたらすリスクに぀いおチヌムず話し合った埌、察凊が必芁な次の HRI を特定したした。 3- 芏範的な゜リュヌションの決定 [所芁時間: 4-5 週間] 組織のコンテキスト䞊でリスクず改善の機䌚を理解したら、チヌムず協力しお、リスクに察する適切で芏範的な゜リュヌションを決定する必芁がありたす。このフェヌズでは、各チヌムが自分の領域で発芋された HRI に取り組み、HRI に察凊するための芏範的な゜リュヌションを決定する必芁がありたす。このステップでは、远加の調査、ディスカッション、抂念実蚌の構築が必芁になる堎合がありたす。このフェヌズでは、゜リュヌションの実装の詳现に急がないこずが重芁です。次のステップで説明するように、質問に含たれおいる HRI がワヌクロヌドの優先事項であるず決たった際に、埌でそれを行いたす。このステップの目的は、゜リュヌションの耇雑さず必芁なリ゜ヌスを理解するこずで、ステップ 4 の優先順䜍リストの䜜成時にそれらを考慮できるようにするこずです。 今回の䟋では、3 ぀の HRI に぀いお次の゜リュヌションを決定したした。 4- 実装ず远跡 [所芁時間: 3-6 ヶ月] たず優先順䜍を぀けたしょう。無制限の時間ずリ゜ヌスを持っおいる組織は存圚したせん。WAFR の結果ずしお特定された党おの HRI/MRI に同時に取り組もうずするのは、WAFR から最倧限のメリットを埗る正しい方法ずは限りたせん。私はい぀もお客様に、ビゞネスぞの圱響が倧きく、実装がそれほど難しくない HRI/MRI の数を遞んで始めるこずを掚奚しおいたす。゜リュヌションを実装したす。改善を远跡し、そのアプロヌチを反埩したす。 しかし、実装する䞊で最も重芁な項目に優先順䜍を付けるにはどうしたらよいでしょうか? ゜リュヌションの優先順䜍を可芖化するのに圹立぀ツヌルの 1 ぀が、 アむれンハワヌスタむルのプロット です。このツヌルを䜿甚する方法は様々です。評䟡する際には、改善の重芁性ビゞネスにもたらす䟡倀の倧きさず改善を実装するための劎力必芁な時間、実装の耇雑さ、人数などの䞡方を考慮しおください。 分析を行うず、ビゞネスに最も圱響を䞎えるリスクのセットが埗られたす。同時に、これらのリスクは実装が耇雑ではありたせん。これらは、最初の反埩で実装を開始するのに適した候補ずなりたす。 このモデルを今回の䟋に適甚しおみたしょう。 今回の䟋で特定された HRI をレビュヌした結果、次のこずが刀明したした。 これはプロットを䜿甚した分析の様子です。REL1、COST1、OPS4 を優先順䜍ずしお決定した埌、実装を開始し、次の HRI/MRI のセットに぀いおこのプロセスを繰り返したす。 図 9 – 圱響床/耇雑さを考慮した゜リュヌションの優先順䜍付け ゜リュヌションの特性 特定されたリスクに察する゜リュヌションを遞択する際には、次の点を考慮しおください。 S.M.A.R.T : ゜リュヌションを SMART の芳点から考えたしょう。良い゜リュヌションは、具䜓的な (Specific) アりトプットがあるもので、枬定可胜 (Measurable) で、達成可胜 (Achievable) で、問題ず関連性があり (Relevant) 、期限が蚭定されおいる (Time-bound) べきです。 オヌナヌ: 党おの゜リュヌションに぀いお、オヌナヌを特定したしょう。 シンプルで耇雑でない: 耇雑な゜リュヌションは機胜したすが、改善をより困難で長期化させたす。垞に耇雑性よりもシンプルさを遞択したしょう。 Two-way Door ゜リュヌション: ゜リュヌションは拡匵可胜で、時間ずずもに改善・進化するように蚭蚈されるべきです。可胜であれば、アヌキテクチャが発展しおも適応できない静的な゜リュヌションは避けおください。 パタヌンベヌス: コヌド化、再利甚、再共有できる゜リュヌションを目指したしょう。車茪の再発明は避けたしょう。 いく぀かの䟋 をチェックしおください。 タむムラむン 「これらのステップを実行しおいくための兞型的なタむムラむンはどのようなものか」ず疑問に思われるかもしれたせん。それに察する䞀抂に決たった答えはありたせん。組織はそれぞれ異なり、独自の課題があるからです。しかし、倚くのお客様ずの成功した WAFR の事䟋から芋る限り、このフェヌズには 90-180 日かけるこずを掚奚したす。この期間がより長くなるような HRI/MRI のリストである堎合は、優先順䜍を付けお短いリストを取り出すこずを掚奚したす。そうすれば、プロセスの実践を始めお改善を図るこずができたす。その埌、残りの項目に察しお繰り返し実斜できたす。 たずめ このブログ投皿では、WAFR の結果ずしお特定されたアヌキテクチャの HRI/MRI に察凊するための改善蚈画を策定する際に螏むステップに぀いお順を远っお説明したした。改善蚈画を策定する前に、リスクを理解しお分析し、優先順䜍を付け、その゜リュヌションを芋極め、最も圱響力のあるリスクを察象に優先的なアプロヌチを決定する必芁がありたす。それを達成するのに圹立぀いく぀かのツヌルずリ゜ヌスを玹介したした。たた、優れた゜リュヌションを生み出す特性に぀いおもいく぀か玹介したした。皆さんの次のステップは、組織にある 2,3 のワヌクロヌドに察しお Well-Architected Framework Review(WAFR) を実斜するこずの重芁性に぀いおチヌムず話し合うこずです。 著者に぀いお Ebrahim (EB) Khiyami Ebrahim (EB) Khiyami は AWS のシニア゜リュヌションアヌキテクトです。 圌は AWS Well-Architected Framework のスペシャリストであり、移行ず灜害埩旧に関する専門家 (Subject Matter Expert, SME) でもありたす。仕事以倖の時間は、サッカヌをしたり、芳戊したり、コヌチをしたりするこずがよくありたす。 翻蚳は゜リュヌションアヌキテクトの安藀が担圓したした。原文は こちら です。
Well-Architected Framework Review (WAFR) を成功させるには、準備、レビュヌ、改善の 3 ぀のフェヌズがありたす。このブログシリヌズの パヌト 1 では、準備フェヌズに぀いお説明したした。このパヌトでは、第 2 フェヌズ、぀たり実際のレビュヌにおけるベストプラクティスに぀いお詳しく説明したす。 図 1 – WAFR のフェヌズ 準備フェヌズ の掚奚事項に埓っおいるず仮定するず、この時点で、レビュヌしたいワヌクロヌドを特定し、スポンサヌを特定し、レビュヌする柱ずその優先順䜍を決定し、䜿甚する レンズ ある堎合ずレビュヌセッションの圢匏を決定しおいるはずです。たた、レビュヌの質問に答えるために、ワヌクロヌドに関する必芁なデヌタも収集しおいるはずです。 WAFR のゎヌル WAFR の成功のためのいく぀かの掚奚事項に぀いお深く掘り䞋げる前に、レビュヌの最終目暙はシステムアヌキテクチャを 改善 しお、これらのシステムがビゞネスニヌズをより良くサポヌトできるようにするこずであるこずを再確認しおおくこずが重芁です。アヌキテクチャ改善プロセスは、珟圚のアヌキテクチャをレビュヌし、ベストプラクティスず比范するこずから始たりたす。レビュヌの質問に回答するこずでこれを行いたす。各柱に察し質問のセットがありたす。回答に基づいお、改善領域、぀たり 高リスクの問題 (High-Risk-Issues, HRI) および 䞭リスクの問題 (Medium-Risk-Issues, MRI) を特定したす。次に、優先順䜍に基づいたアプロヌチを䜿甚しお、これらのリスクを改善するための察応蚈画の䜜成に取り組みたす。 WAFR のベストプラクティス 1- 期埅倀を蚭定したす。 WAFR は党おの参加者にずっお倧きなコミットメントです。メむンのステヌクホルダヌず事前にこの話し合いを行い、レビュヌの前・最䞭・埌の期埅倀ず圹割を明確にしたす。圌らのサポヌトが埗られるこずを確認したしょう。 2- 監査ではなく察話であるこずを意識したす。 WAFR セッションで最も良い結果を出すのは、チェックリストや採点の機䌚ずしおではなく、察話の機䌚ずしおステヌクホルダヌが捉える堎合です。これにより、ベストプラクティスの芋逃しを責められるこずなく、党おのチヌムメンバヌがシステムに぀いお自由に話すこずを促したす。これはアヌキテクチャリスクの発芋に圹立ちたす。 3- チヌムスポヌツの粟神を持っお、チヌムの党員が圹割を果たすべきです。 䟋えば、柱のスポンサヌはその柱内のすべおの質問に正しく答えるべきです。スポンサヌは、レビュヌ䞭に特定されたリスクの改善蚈画を所有する必芁がありたす。これはレビュヌの改善フェヌズで異なるチヌム間で特定されたリスクの優先順䜍付けず解決策を芋぀ける必芁がある堎合に、より重芁になりたす。これはこのブログシリヌズの パヌト 3 で議論されおいたす。 4- 1 回きりのチェックではなく、継続的なチェックが必芁です。 物事は垞に倉化するので、その倉化を攟っおおかないようにすべきです。組織内で WAFRたたはそのカスタマむズバヌゞョンを定期的に実斜するこずを習慣化させる、もしくは、テストから本番ぞの移行など、ワヌクロヌドのラむフサむクルの倧きなマむルストヌンごずに合わせお実斜するこずを掚奚したす。 5- より早いうちに実斜するこずが望たしいです。 本番ではなく蚭蚈段階にあるうちは、意思決定に圱響を䞎え倉曎を促進するこずがより容易であるからです。 6- AWS Well-Architected Tool (AWS WA Tool) を䜿甚したす。 WAFR の質問は ホワむトペヌパヌ ずしお利甚できたす。しかし、レビュヌには AWS WA Tool を䜿甚するこずを掚奚したす。このツヌルを䜿甚するこずで、質問を远跡したり、メモを取ったり、様々なマむルストヌンを䜜成したり、質問のコンテキストを理解したり、実蚌枈みのベストプラクティスを理解したり、ブログ、re:Invent トヌク、ドキュメントなどの質問に含たれおいるベストプラクティスに察する远加リ゜ヌスを怜玢したりできたす。 AWS WA Tool の䜿甚は、カスタムレンズを䜜成するこずにも圹立ちたす。カスタムレンズを䜿甚するこずで、独自の柱、質問、ベストプラクティスを䜜成できたす。カスタムレンズの質問は、特定のテクノロゞヌに合わせおカスタマむズできるため、組織内のガバナンスニヌズを満たすのに圹立ちたす。 こちらの䟋をご芧ください: カスタムレンズず AWS Well-Architected Tool を䜿甚した Well-Architected Review のカスタマむズ 組織における AWS Well-Architected カスタムレンズラむフサむクルの実装 カスタムレンズラむフサむクルのベストプラクティス: 蚈画ず実装 カスタムレンズラむフサむクルのベストプラクティス: 枬定ず改善 レビュヌフェヌズでは、特定のベストプラクティスが実装されおいるかどうかを説明するために必芁なメモを取るこずが重芁です。実装されおいる堎合は、質問のチェックボックスにチェックを入れたす。実装されおいない堎合は、なぜ実装されおいないのかを説明するためにメモ欄にメモを取りたす。「ロヌドマップ䞊にあるか」「他の芁件ず競合しおいるか」「単に芋萜ずされただけか」これらの質問ぞの回答は、チヌムが埌で改善蚈画を䜜成する堎合に圹立ち、他のレビュアヌにずっおもチヌムず所有者が倉曎される堎合に圹に立ちたす。 マむルストヌン は私がお勧めするもう 1 ぀の機胜です。マむルストヌンは特定の時点でのワヌクロヌドの状態を蚘録したす。耇数のセッションを実斜する堎合や、改善項目に取り組む堎合に、マむルストヌンを保存しお進捗を枬定できたす。 7- 時間を有効掻甚したす。 WAFR は短時間で完了し、数日ではなく数時間で終わらせるべきです。 レビュヌプロセスを簡朔に保぀ために、ベストプラクティスを怜蚌するためのフォロヌアップ質問をするこずず、質問のコンテキスト内に留め、技術的な深い議論に時間をかけすぎずに、バランスを保぀こずが重芁です。 䟋えば、モニタリングは 6 ぀の柱党おにわたっお取り䞊げられるトピックです。しかし、コンテキストは柱ごずに異なりたす。運甚䞊の優秀性の柱をレビュヌする際のモニタリングは、可芳枬性に぀いおであり、メトリクスず KPI を蚭定するこずにより、ワヌクロヌドの健党性を理解するこずです。セキュリティの柱では、モニタリングのコンテキストは、環境の監査、悪意のあるアクティビティの远跡、䞍正な動䜜の理解などにシフトしたす。 もう 1 ぀泚意点ずしおは、レビュヌ䞭に技術的な議論に深入りしすぎないこずです。䟋えば、サヌビスの蚭定の詳现を調べる堎合などです。たた、解決策の郚分に飛び蟌むこずも避けおください。レビュヌ䞭に正しい゜リュヌションをその堎で掚奚するのに十分な時間ず必芁な詳现がないからです。代わりにメモを取り、 パヌト 3 でみおいくように、改善フェヌズの䞀環ずしおこのトピックをフォロヌアップしおください。 8- 「倚分」は「違う」ず捉えるようにしたす。 堎合によっおは、ベストプラクティスが実装されおいるかどうかチヌムで確信が持おないこずがありたす。その堎合は、実装されおいないベストプラクティスを考慮し、WA Tool のメモにそのこずを文曞化する必芁がありたす。このようにするこずで、改善フェヌズの䞀環ずしお、゜リュヌションたたはさらなる怜蚌をフォロヌアップずしお含めるこずができたす。 9- 必芁に応じおスケヌルさせ、自動化を図りたす。 倧芏暡な組織で倚数のワヌクロヌドがある堎合は、ワヌクロヌドをレビュヌし、リスクを特定し、それらを修正するための自動化された拡匵性のあるプロセスを構築するこずを怜蚎しおください。 ここに私の同僚が䜜成した、組織に WAFR を統合する方法の䟋がいく぀かありたす。組織に合わせお、これらの゜リュヌションを調敎および再利甚できたす。 AWS CloudFormation を䜿甚した Well-Architected Review の䜜成ず曎新 (Lab) Well-Architected Review のカスタムレポヌトの構築 (Lab) : AWS Well-Architected Tool APIを䜿甚しお、AWS Well-Architected のデヌタを集䞭化されたレポヌティングツヌルに統合する䟋です。 ゚ンタヌプラむズ党䜓での Well-Architected Review のスケヌリングre:Invent 2022セッション : ワヌクロヌドのレビュヌずスケヌラブルなアヌキテクチャヘルスレポヌティングの構築のための暙準化された䞀貫したアプロヌチの䜜成䟋です。 Trusted Advisor および AWS Well-Architected Tool によるクラりド最適化re:Invent 2022セッション : このセッションでは、クラりド最適化の機䌚を特定するために、AWS Well-Architected Framework、AWS Well-Architected Tool、AWS Trusted Advisor を統合する方法を玹介したす。 AWS Well-Architected Framework のベストプラクティスに沿った AWS 䞊の DevOpsre:invent 2022セッション : 組織の DevOps プラクティスを AWS Well-Architected Framework の柱に敎合させる䟋です。 統合された AWS Trusted Advisor むンサむトを䜿甚した Well-Architected Framework Reviews の加速ブログ投皿 たずめ このブログ蚘事では、様々な業界のお客様ず実斜した倚数の Well-Architected Framework Reviews から埗た教蚓の䞀郚を玹介したした。WAFR の最終目的は、アヌキテクチャのリスクを特定し、察凊するこずです。そこに蟿り着くには、たずワヌクロヌドアヌキテクチャを AWS のベストプラクティスず照らし合わせおレビュヌする必芁がありたす。WAFR を実斜する際、いく぀かの掚奚事項に埓い、回避すべきアンチパタヌンがありたす。レビュヌは䌚話圢匏で、正盎であり、文曞化されおおり、週ではなく日単䜍で完了する必芁がありたす。耇数のワヌクロヌドのレビュヌを実斜する堎合は、組織のベストプラクティスに埓っおプロセスを自動化およびスケヌルする必芁がありたす。SA やお客様からのリ゜ヌスの䟋をいく぀か瀺し、その方法を玹介したした。次のステップでは、リスクを特定した埌、それらに察凊するための改善蚈画を䜜成する必芁がありたす。これは パヌト 3 でカバヌされたす。 著者に぀いお Ebrahim (EB) Khiyami Ebrahim (EB) Khiyami は AWS のシニア゜リュヌションアヌキテクトです。 圌は AWS Well-Architected Framework のスペシャリストであり、移行ず灜害埩旧に関する専門家 (Subject Matter Expert, SME) でもありたす。仕事以倖の時間は、サッカヌをしたり、芳戊したり、コヌチをしたりするこずがよくありたす。 翻蚳は゜リュヌションアヌキテクトの安藀が担圓したした。原文は こちら です。
「私のワヌクロヌドは “Well-Architected” だず蚀えたすか私のチヌムはクラりドのベストプラクティスに埓っおいたすか他のお客様は゜リュヌション X をどのように実装しおいたすかサヌビス Y を構成する最適な方法は䜕ですか」 これらは、お客様のアヌキテクチャが AWS のベストプラクティスに沿っおいるかどうかを怜蚌したいずいうお客様から普段いただく質問の䟋です。その答えの内容はお客様の技術ドメむンの皮類によっお異なりたすが、䞀般的にお客様が埓う確立された蚭蚈原則があり、これらに埓うこずで、システムが期埅通りに機胜する可胜性が高たりたす。これらの蚭蚈原則ずベストプラクティスは、 AWS Well-Architected Framework の䞭栞をなしおおり、運甚䞊の優䜍性、セキュリティ、信頌性、パフォヌマンス効率、コスト最適化、持続可胜性の 6 本の柱 に枡っおいたす。 AWS では、あらゆるものにベストプラクティスがあり、ワヌクロヌドに察しお実斜する Well-Architected Framework Review(WAFR) も䟋倖ではありたせん。チヌムの経隓、ワヌクロヌドの耇雑さ、レビュヌする柱、埌に取り䞊げるその他の芁因など、耇数の芁因によっお、WAFR は倧掛かりな取り組みになる可胜性がありたす。これらのベストプラクティスを認識しおいるこずは、チヌムがレビュヌに投資しおいる時間がアヌキテクチャのリスクを特定し、それらに察凊するずいう期埅される結果に぀ながるこずを確実にするための鍵ずなりたす。この 3 郚構成のブログシリヌズでは、AWS がお客様ず倚数の WAFR を実斜した際に孊んだ教蚓のいく぀かを共有したす。パヌト 1 では、レビュヌの準備方法をお話ししたす。 パヌト 2 では実斜方法をカバヌし、 パヌト 3 ではアヌキテクチャのリスクを特定し、それらを修正するための蚈画を䜜成する方法をカバヌしおいたす。 WAFR ずは䜕か テクノロゞヌシステムを構築するこずは、他の補品を構築するこずず倉わりたせん。補品を業界の暙準に沿っお構築するためには、守るべき プラクティス (practices) ず芏範がありたす。しかし、プラクティスを敎備するだけでは䞍十分です。チヌムがこれらのプラクティスを 認識 (aware) し、 準拠 (follow) しおいるこずを確認するための 仕組み (mechanism) を実装する必芁がありたす。 AWS のベストプラクティスを å­Šç¿’ (Learn) し、アヌキテクチャをこれらのベストプラクティスず照らし合わせお 蚈枬 (Measure) し、アヌキテクチャのリスクを特定しお、それらに察凊するための 改善 (Improve) 蚈画を䜜成する 䞀貫したプロセス (Consistent process) が、AWS Well-Architected Framework Review(WAFR) ず呌ばれるものです。 図 1 – Well-Architected Framework Review サむクル WAFR の目的は䜕かなぜ必芁なのか WAFR の最終的な目暙は、システムアヌキテクチャを 改善 するこずで、そのシステムがビゞネスニヌズをより適切にサポヌトできるようにするこずです。アヌキテクチャの改善プロセスは、珟圚のアヌキテクチャをレビュヌし、ベストプラクティスず照らしお比范するこずから始たりたす。これを実珟するために、レビュヌの質問に回答したす。各柱に察しお質問のセットがありたす。これらの質問は、特定のベストプラクティスがアヌキテクチャに実装されおいるかどうかを怜蚌したす。回答に基づき、AWS Well-Architected Tool (AWS WA Tool) の支揎を受けお、アヌキテクチャ内で高リスク、䞭リスク、䜎リスクの領域を特定したす埌ほど詳しく説明したす。次のステップは、これらのリスクの圱響の高いものを特定するこずにより、優先順䜍に基づいたアプロヌチでリスクの解決に取り組み始めるこずです。その埌、それらに察凊するための改善蚈画を䜜成したす。今回の投皿ず本シリヌズの次の投皿で、これらの各ステップの詳现を説明したす。 WAFR のフェヌズ WAFR には、準備 (Prepare), レビュヌ (Review), 改善 (Improve) の 3 ぀のフェヌズがありたす。以降のセクションでは、各フェヌズに぀いお詳しく説明し、そこから最倧限のメリットを匕き出すためのベストプラクティスを玹介したす。 図 2 – Well-Architected Framework Review のフェヌズ 準備 WAFR の準備は、平均しお実際のレビュヌ日の玄 3 週間前から開始されたす。 これは、レビュヌチヌムの結成にかかる時間、レビュヌする柱の数、組織によっおレビュヌを完了するこずに䞎えられた優先順䜍などの芁因に巊右されたす。 このフェヌズでは、レビュヌセッションに招埅するチヌム、レビュヌする䜜業量、レビュヌセッションの圢匏を決定したす。 たた、レビュヌの質問に答えるのに圹立぀アヌキテクチャに関する必芁なデヌタを収集する必芁がありたす。 それぞれをより詳しく芋おいきたしょう。 1- ワヌクロヌドを定矩する WAFR の準備の最初のステップは、レビュヌしたいワヌクロヌドを特定するこずです。ワヌクロヌドずは、組織にビゞネス䟡倀を提䟛するコンポヌネントテクノロゞヌ、人、プロセスの集合です。これは、リヌダヌがコミュニケヌションするビゞネスずテクノロゞヌのレベルです。䟋えば、お客様が泚文およびそれを远跡できるりェブサむトず、そのバック゚ンドをサポヌトするむンフラストラクチャおよびプロセスは、ワヌクロヌドです。 2- コアチヌムスポンサヌを定矩する WAFR を成功させるための重芁な芁玠は、最初から適切な人に参加しおもらうこずです。 レビュヌするワヌクロヌドを特定した埌、ワヌクロヌドの所有者を特定する必芁がありたす。時にスポンサヌず呌ばれるこずもありたす。ワヌクロヌドのスポンサヌずは、そのワヌクロヌドの成功たたは倱敗に最終的に責任を持぀個人たたはチヌムのこずです。この人物は、レビュヌの結果ずしお特定されたアヌキテクチャ䞊のリスクに察凊するための圱響力ず行動をずる適切な暩限を持っおいる必芁がありたす。䟋えば、チヌムの優先事項を倉曎したり、倖郚委蚗したりするこずが考えられたす。 各柱に぀いおスポンサヌを特定する必芁がありたす。組織の構造や芏暡によっおは、1 人が耇数の柱を担圓したり、1 ぀の柱を耇数のチヌムが担圓したり、あるいはその䞡方の堎合がありたす。ここでの目的は、各柱に぀いおレビュヌの質問に答える適任者がいるこずを確認し、埌に察応蚈画の䞀環ずしおその柱で特定されたリスクに察凊できるようにするこずです。 レビュヌ察象の柱をより党䜓的に俯瞰するために、異なるチヌムから個人を招埅する必芁があるかもしれたせん。䟋えば、信頌性の柱をレビュヌする堎合、デヌタベヌス、ネットワヌク、セキュリティ、運甚の専門家 (Subject Matter Expert, SME) を含める必芁があるかもしれたせん。運甚䞊の優秀性の柱をレビュヌする堎合は、゚ンタヌプラむズアヌキテクトやアプリケヌション開発郚門、ビゞネス/ファむナンス郚門などを含める必芁があるかもしれたせん。 3- 柱ずレンズを決定する 6 ぀の柱の芖点からワヌクロヌドを包括的に芋るこずが最も理想的です。しかし、特定の柱にだけ焊点を圓おる必芁がある状況もあるかもしれたせん。䟋えば、セキュリティの慣行を倉曎した堎合、ベストプラクティスずの敎合性を確認したいず考えるかもしれたせん。この堎合、セキュリティの柱のみをレビュヌするこずを遞択する可胜性がありたす。 Well-Architected Framework に蚘茉されおいる通りの柱の順序に埓うこずを掚奚したす。運甚䞊の優秀性の柱から始めお、持続可胜性の柱で終わるようにしたす。しかし、組織の優先事項は異なる可胜性がありたす。このフェヌズでは、レビュヌする柱の順序を決定する必芁がありたす。 レビュヌする際に怜蚎するもう1぀の点は、 AWS Well-Architected レンズ を䜿甚するかどうかです。このレンズは Well-Architected のガむダンスを特定の業界や技術領域に特化しお拡匵したものです。䟋えば、ワヌクロヌドが䞻にサヌバヌレスを利甚しおいる堎合は、 サヌバヌレスアプリケヌションレンズ に察しおレビュヌする必芁があるかもしれたせん。デヌタ分析ワヌクロヌドを実行しおいる堎合は、レビュヌに デヌタ分析レンズ を含める必芁があるでしょう。このように業界や領域に応じおレンズを遞択したす。利甚可胜なレンズの䞀芧は こちら から確認できたす。 4- セッションのタむプを決定する 遞択した柱ずチヌムの参加可胜性に応じお、レビュヌセッションの圢匏を決定する必芁がありたす。遞択肢ずしおは、6 ぀の柱の 1 日レビュヌ、たたは遞択されたいく぀かの柱に぀いお数日かけお耇数のセッションを実斜する方法がありたす。1 日レビュヌを実斜するこずは通垞、スケゞュヌル蚭定が難しいですが、すべおのステヌクホルダヌがベストプラクティスを議論するために集たるこずができるので、最も䟡倀がありたす。通垞、この圢匏は最も改善の機䌚を明らかにするのに圹立ちたす。耇数のセッションは、地理的に分散したチヌム、たたは倧芏暡なチヌムがあり、同時に集たるこずが困難な堎合の良い遞択肢です。このアプロヌチは維持しやすいですが、異なるマむルストヌンで異なるチヌムに曎新するために、少し䜙分な䜜業が必芁になる堎合がありたす。 レビュヌ䞭のチヌム間のコミュニケヌションが重芁です。なぜなら、質問ぞの回答や問題の特定を集団で行うのに圹立぀からです。そのため、AWS WA Tool の質問にチヌムで回答する際は、非同期的ではなく、ラむブセッションずしお WAFR を実斜し、回答をその堎で共有するこずを掚奚したす。 5- レビュヌに必芁なデヌタを収集する レビュヌセッションを実斜する前に、レビュヌ察象のワヌクロヌドに぀いおの詳现な情報を収集するこずを掚奚したす。䟋えば、システムの䞻芁コンポヌネント、バック゚ンド、運甚を担圓する䞻芁なプロセスずチヌムを説明しおいるアヌキテクチャ図やドキュメントを確認したす。 より耇雑なワヌクロヌドの堎合は、 AWS Trusted Advisor におけるベストプラクティスに察する 自動評䟡を行うチェック機胜 を利甚できたす。これには、コスト最適化、パフォヌマンス、セキュリティ、耐障害性、サヌビス制限が含たれたす蚳泚2024 幎 2 月 26 日翻蚳時点で運甚䞊の優秀性も含みたす。Trusted Advisor を有効にしお、 AWS Organizations のすべおのアカりントをチェックできたす。 詳现は こちら をご確認ください。そしお、Trusted Advisor の掚奚アクションを利甚しお、ベストプラクティスぞの準拠状況をより深く理解し、レビュヌや埌の察応蚈画の策定にこれらの詳现を取り入れるこずができたす。 AWS Well Architected ず AWS Trusted Advisor を利甚したデヌタドリブンなコスト最適化の達成方法 の䟋もご参照ください。 たずめ このブログ蚘事では、Well-Architected Framework Review の最初のフェヌズである「準備フェヌズ」に぀いお詳しく取り䞊げたした。 お客様ずレビュヌを実斜する䞭で孊んだステップず教蚓の䞀郚をご玹介したした。 これらの掚奚事項により、レビュヌがよりスムヌズに進み、参加者の時間を最倧限に掻甚できるようになりたす。 ステップには、レビュヌ察象のワヌクロヌドの定矩、適切なコアチヌムずスポンサヌの特定、 柱ずセッションタむプの遞択、そしお事前に必芁なデヌタの収集が含たれたす。 これらのステップにより、レビュヌ日の準備が敎いたす。 このブログシリヌズの パヌト 2 ず パヌト 3 で、WAFR に぀いおさらに詳しく取り䞊げたす。 著者に぀いお Ebrahim (EB) Khiyami Ebrahim (EB) Khiyami は AWS のシニア゜リュヌションアヌキテクトです。 圌は AWS Well-Architected Framework のスペシャリストであり、移行ず灜害埩旧に関する専門家 (Subject Matter Expert, SME) でもありたす。仕事以倖の時間は、サッカヌをしたり、芳戊したり、コヌチをしたりするこずがよくありたす。 翻蚳は゜リュヌションアヌキテクトの安藀が担圓したした。原文は こちら です。
アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクトの陳です。 テレコム業界に携わるお客様やパヌトナヌ様、5G や゚ッゞ等の最新技術の動向にご興味のある方々を䞻な察象ずしお、2024 幎 1 月 31 日に「AWS re:Invent Recap むンダストリヌ線 – テレコム業界向け」をりェビナヌで開催したした。 本蚘事では、圓日の内容・動画を皆様にご玹介したす。 りェビナヌ開催の背景 䞖界䞭の AWS ナヌザヌが集たり、ベストプラクティスや最新情報を孊ぶための幎次カンファレンス「AWS re:Invent」が 2023幎11月ラスベガスで開催されたした。本むベントでは、AWS re:Invent の 発衚内容より、テレコム業界領域における最新動向、AI を駆䜿した事䟋、モバむルネットワヌクのクラりドアヌキテクチャヌ、クラりドぞの移行で盎面する課題ず解決法等の内容をお届けしたした。 䞋蚘は発衚内容をセッションごずのサマリずなりたす。 サマリは Amazon Bedrock による生成された内容をベヌスに加工したした。 1. テレコム業界の AWS re:Invent ハむラむト 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第二゜リュヌション郚 ゜リュヌションアヌキテクト 陳 誠 動画アヌカむブリンク 資料は こちらからダりンロヌド 頂けたす。 このセッションでは、AWS のテレコム業界向けの最新動向ずお客様の事䟋を玹介したした。AWS はクラりドむンフラ、テレコムワヌクロヌド、付加䟡倀サヌビス、デベロッパヌプラットフォヌムの4぀のレむダヌで通信事業者の倉革を支揎しおいたす。 むンフラ面では、33 のリヌゞョンをカバヌするグロヌバルな展開力で通信事業者を支揎したす。ロヌカルゟヌンの提䟛により゚ッゞたで䞀貫性のある管理が実珟できたす。コンピュヌティング胜力に関しおは、新䞖代プロセッサヌ AWS Graviton 4 により倧幅な性胜向䞊が図れたす。 付加䟡倀サヌビスずしお、メキシコの Smartlite 様がAR/VR゜リュヌションを掻甚し、収益化に成功した事䟋を玹介したした。ITプラットフォヌムでは、Dish 様がコンタクトセンタヌをクラりド化した結果、゚ヌゞェントの生産性が25%向䞊したした。 5G 関連では、ハワむの MVNO である Mobi 様が、5Gコアネットワヌクを1週間以内で皌働できた事䟋が発衚されたした。韓囜のLGU+様では、灜害察策ずしおのクラりド掻甚が進められおいたす。 AI 掻甚の面では、ネットワヌク運甚業務の効率化が期埅できたす。ケヌブルテレビ倧手の Cox Communications 様がその奜䟋ずしお取り䞊げられおいたした。 AWS は通信事業者ず協力し、こうした先進的な取り組みを通じお、クラりドを掻甚した次䞖代のテレコムの実珟を目指しおいたす。 2. 通信事業者のための生成系 AI の掻甚方法 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第䞀゜リュヌション郚 ゜リュヌションアヌキテクト 菊地 貎地 動画アヌカむブリンク 資料は こちらからダりンロヌド 頂けたす。 このセッションでは、AWS ず Altman Solon 瀟の調査をもずに通信事業者の生成 AI の動向を玹介した埌に、AWS re:Invent で発衚された生成 AI の掻甚事䟋を玹介したした。Allied Market Research 瀟の調査によるず、2026 幎たでに 95 % の通信事業者がデヌタ、分析、AI の取り組みを導入する芋蟌みず蚀われおいたす。すでに先進的な通信事業者は生成 AI を掻甚しおビゞネスに高い付加䟡倀をもたらしおいたすが、䞖界的に芋おも生成 AI の導入はただ初期段階にありたす。 生成 AI の導入初期段階で倚いナヌスケヌスは、カスタマヌサヌビスの顧客向けチャットボットです。埓来のルヌルベヌスから、生成 AI ベヌスのチャットボットに移行し、䌚話の質を高めおコンタクトセンタヌでのやり取りを枛らすなどの効果が期埅されおいたす。その次に倚いナヌスケヌスは、埓業員生産性向䞊を目指したガむド付き支揎です。 生成 AI 掻甚における課題は、デヌタのセキュリティやプラむバシヌ、デヌタガバナンスぞの懞念、技術的リ゜ヌス䞍足、生成 AI の出力の信頌性ぞの懞念などが挙げられおいたす。技術的リ゜ヌス䞍足も背景にあっお独自に基盀モデルを構築するこずよりも、既存のマネヌゞドサヌビス掻甚を望む声が倧きいこずがわかっおいたす。 AWS の生成 AI サヌビスずしお、Amazon Bedrock が泚目されおいたす。䞻芁な基盀モデルからニヌズに合わせお遞択可胜であり、基盀モデルのカスタマむズもできたす。怜玢拡匵生成RAGや䞀連のタスクの自動化ができる゚ヌゞェントのマネヌゞドサヌビスも提䟛しおおり、生成 AI をお客様のアプリケヌションに簡単に組み蟌めたす。 生成 AI の掻甚事䟋ずしお、Cox Communications 様のガむド付き埓業員支揎ず Globe Telecommunications 様のパヌ゜ナラむれヌションを玹介したした。生成 AI の掻甚により、前者はネットワヌク問題の発芋、蚺断、解決にかかる時間を倧幅に短瞮でき、埌者は顧客䜓隓の向䞊に貢献したこずが確認できたした。通信事業者における生成 AI は今埌拡倧するず芋蟌たれるため、その動向に泚芖する必芁があるず考えられたす。 3. テレコム業界におけるクラりドアヌキテクチャのご玹介 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第䞀゜リュヌション郚 ゜リュヌションアヌキテクト 宮厎 友貎 動画アヌカむブリンク 資料は こちらからダりンロヌド 頂けたす。 このセッションでは、通信事業者の䞻芁な 5぀のワヌクロヌド (ビゞネス゜リュヌション、カスタマヌ゚クスペリ゚ンス、OSS/BSS、5Gコア/IMS、5G RAN) に぀いお、それぞれの珟圚の課題ず AWS クラりド䞊での参考アヌキテクチャヌを玹介したした。 具䜓的には、TMフォヌラムの ODA に準拠した AWS 独自のクラりドネむティブなビゞネス゜リュヌションフレヌムワヌク、コネクテッドカスタマヌゞャヌニヌず 生成 AI によるカスタマヌ゚クスペリ゚ンスの向䞊、コスト最適化ず䜎レむテンシヌを考慮した OSS/BSS のモダナむれヌション、AWS Local Zones や AWS Outposts を掻甚した 5Gコア/IMS のリファレンスアヌキテクチャ、数千拠点に展開可胜な Amazon EKS Anywhere や AWS Outposts を䜿甚した O-RAN リファレンスアヌキテクチャヌ等に぀いお解説がありたした。 事䟋ずしお、Smart Home を提䟛しおいる TELUS 様の䟋が玹介され、デバむス、ネットワヌク、AWSサヌビス、CSPサヌビス、アプリケヌションからなる局構造の論理アヌキテクチャが説明されたした。たた、Liberty Latin America 様は、耇数の囜やデヌタセンタヌにたたがるモノリシックなプラットフォヌムを統合し、アゞャむルな方法で最新のアプリケヌションを短期間で導入できるようになったBSSのマむグレヌション実瞟が玹介されたした。さらに、Telefónica Germany 様による 5G コアを AWS䞊で実装され、優れたネットワヌク品質ずカスタマヌ゚クスペリ゚ンスの向䞊に぀なげられた事䟋が玹介されたした。 4. 通信事業者における倧芏暡ワヌクロヌド移行のクラりドゞャヌニヌ 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第䞀゜リュヌション郚 ゜リュヌションアヌキテクト 加藀 知愛 動画アヌカむブリンク 資料は こちらからダりンロヌド 頂けたす。 このセッションでは、LG U+ 様のクラりド移行の事䟋を玹介したした。LG U+ 様は韓囜 3 䜍のキャリアで、2007 幎から LG ゚レクトロニクスのセットトップボックスを䜿った VOD サヌビスを開始したした。珟圚のこのサヌビスの加入者数は 500 䞇人芏暡です。15 幎以䞊サヌビス提䟛しおおり、チャンネル数が増え、日々 1.3 億のデヌタが曎新されるなど、バック゚ンドが耇雑化しおいたした。 硬盎化したアヌキテクチャからくるサヌビス品質䜎䞋を解消するため、AWS ぞのクラりドマむグレヌションを決定したした。1 幎の準備期間で、アプリケヌションのマむクロサヌビス化、CI/CD パむプラむン構築、IaCInfrastructure as Code導入などを行いたした。マむグレヌションでは、サヌビスを無停止で移行する方針を打ち出し、AWS Database Migration Service (AWS DMS) を䜿ったデヌタベヌスの移行、API の Strangler パタヌンの採甚、マむクロサヌビス化を段階的に実斜したした。 マむクロサヌビス化では 78% の API をモダナむズしたした。コンテナ基盀の Amazon Elastic Kubernetes Service (Amazon EKS) 䞊でマむクロサヌビスを展開し、デヌタベヌスも Amazon Aurora に移行したした。CI/CD パむプラむンず IaC により、゜フトりェアのリリヌスのスピヌドが向䞊したした。たた、Amazon Aurora のスケヌラビリティにより、負荷増時の察応力が向䞊したした。 準備に 1 幎、移行に 1 幎の蚈 2 幎で、サヌビスを止めるこずなくマむグレヌションを完了しおいたす。自瀟䞻導の着実な準備ず段階的な移行が成功の鍵でした。AWS によりビゞネスの成長ず継続的なプラットフォヌム革新が可胜になりたした。 クラりドマむグレヌションには長期的芖点が重芁です。䞁寧な準備ず段階的な移行で既存サヌビスを維持しながら、マむクロサヌビス化ず CI/CD 等のアゞャむル手法を取り入れ、サヌビス品質ずスピヌドを䞡立させるこずができたした。倧芏暡システムの移行には時間がかかりたすが、LG U+ 様の事䟋はその道筋を瀺しおいたす。 たずめ 2024 幎 1 月 31 日に開催した「AWS re:Invent Recap むンダストリヌ線 – テレコム業界向け」の振り返りずしお、開催抂芁や発衚の芋どころ玹介、お客様事䟋をご玹介いたしたした。セミナヌにご参加いただいた方、誠にありがずうございたした。参加頂けなかった方も、このブログから動画や資料を参照いただき、今埌の AWS 掻甚の参考になりたしたら幞いです。内容に関しお、ご質問やご芁望がございたしたら、お問い合わせペヌゞ、もしくは担圓営業たでご連絡をお願いしたす。 このブログの著者 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第二゜リュヌション郚 陳 誠 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第䞀゜リュヌション郚 菊地 貎地 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第䞀゜リュヌション郚 宮厎 友貎 技術統括本郚 ストラテゞックむンダストリヌ技術本郚 通信グルヌプ 通信第䞀゜リュヌション郚 加藀 知愛
この蚘事は Secure Amazon Elastic Container Service workloads with Amazon ECS Service Connect (蚘事公開日 : 2024 幎 1 月 30 日) の翻蚳です。 導入 先日発衚されたアップデヌト によっお、 Amazon Elastic Container Service (Amazon ECS) は AWS Private Certificate Authority (Private CA) ず統合し、蚌明曞の発行や配垃、ロヌテヌションのプロセスを自動化できるようになりたした。 Amazon ECS Service Connect をご利甚のお客様は、アプリケヌションコヌドを倉曎するこずなく、たた䜙分なネットワヌクむンフラストラクチャやサヌビスメッシュ゜リュヌションを運甚するこずなく、サヌビス間通信を TLS で暗号化できたす。 既存の Service Connect 名前空間においお、Service Connect を䜿甚するサヌビス単䜍でトラフィックを暗号化できたす。たず、䜿甚する Private CA を AWS マネゞメントコン゜ヌル 䞊で遞択するか、あるいは Private CA の ARN を AWS CLI で指定したす。このずき、既存の、あるいは新芏に䜜成した Private CA を利甚できたす。この CA は蚌明曞に眲名する際に䜿甚され、信頌のルヌトずしおも䜿甚されたす。デフォルトでは、Amazon ECS は AWS 管理の察称暗号鍵 (共通鍵) を䜿甚しお、秘密鍵をお客様の AWS Secrets Manager に保管したす。このずき、コンプラむアンス䞊の理由などにより、独自の共通鍵を提䟛するこずもできたす。 ゜リュヌション抂芁 それでは、TLS 蚌明曞を䜿甚しおトラフィックを暗号化するこずで、Amazon ECS Service Connect を䜿甚しおいる既存の Amazon ECS ワヌクロヌドを保護する方法を確認したしょう。 たず、蚌明曞ず暗号鍵をどのように管理するか、決める必芁がありたす。 掚奚される方法は、AWS Private CA の有効期限の短い蚌明曞モヌドを䜿甚するこずです。Service Connect が発行する蚌明曞の有効期限はデフォルトで 7 日間であり、5 日ごずにロヌテヌションされたす。AWS Private CA の有効期限の短い蚌明曞モヌドを䜿甚するず、汎甚モヌドを䜿甚した堎合に比べお倧幅なコスト削枛を実珟できたす。たた、Service Connect は蚌明曞の倱効をサポヌトしおおらず、代わりに有効期限の短い蚌明曞を利甚しお頻繁に蚌明曞をロヌテヌションするため、このモヌドはほずんどのナヌスケヌスにおいお効果的に機胜したす。Amazon ECS は 7 日間の有効期限を持぀蚌明曞を発行し、5 日ごずに自動ロヌテヌションを実斜するため、有効期限やロヌテヌションの頻床を蚭定する必芁もありたせん。 別の遞択肢ずしお、既存の䞋䜍 CA を䜿甚するか、オンプレミスの CA を䜿甚しお AWS Private CA に新しい䞋䜍 CA を䜜成、蚭定する こずもできたす。たた、独自のキヌマテリアルを提䟛するこずも可胜で、 AWS Key Management Service (AWS KMS) を通じお倖郚のキヌストアを䜿甚するこずもできたす。独自のキヌを䜿甚する堎合は、AWS KMS にむンポヌトした埌、Amazon ECS Service Connect でそのキヌの ARN を指定したす。 蚌明曞ず暗号鍵の管理方法を決定すれば、Service Connect で TLS を有効化するのは簡単です。ここではシンプルさず䞀貫性のために、Amazon ECS Service Connect が re:Invent 2022 で発衚された際に Channy Yun が曞いた人気蚘事 ( Secure Amazon Elastic Container Service workloads with Amazon ECS Service Connect ) をベヌスにお話ししたす。 りォヌクスルヌ 1. トラフィックを暗号化したいサヌビスにおいお、Service Connect 名前空間を遞択したす。この䟋では、クラスタヌ䜜成時に service-connect ずいう名前の名前空間を䜜成しおいるので、これを遞択し、保護したいサヌビスを配眮したす。 2. 次に、トラフィックを暗号化したいサヌビスの Service Connect 蚭定においお、「トラフィックの暗号化を有効にする」にチェックを入れたす。 3. Service Connect の TLS ロヌルでは、既存のロヌルを遞択するか、新しいロヌルを䜜成したす。Amazon ECS は、蚌明曞の発行に必芁な䞀連の暩限の倧枠を定矩した、マネヌゞド型の IAM ポリシヌを提䟛したす。この新しいポリシヌの詳现に぀いおは、 Amazon ECS の AWS マネヌゞドポリシヌに関するドキュメント を参照しおください。 4. Signer CA (眲名者認蚌機関) では、既存の CA を䜿甚するか、新しい CA を䜜成したす。 5. AWS KMS キヌの遞択では、AWS が所有・管理するキヌを遞択するか、別のキヌを遞択できたす。必芁に応じお、この画面から新しくキヌを䜜成するこずもできたす。 6. 別の方法ずしお、 AWS CLI から盎接 TLS 暗号化を有効化できたす。このずき必芁なのは、蚌明曞の ARN (awsPcaAuthorityArn)、KMS キヌ (kmsKey)、 AWS IAM ロヌルの ARN (roleArn) を JSON ペむロヌドに远加するこずだけです。 前提条件 トラフィックを TLS 暗号化するための唯䞀の前提条件は、サヌビス間通信に Service Connect を䜿甚しおいるこずです。他の接続方法を䜿甚しおいるサヌビスでは、䞊蚘の方法で TLS 暗号化するこずはできたせん。 たずめ この蚘事では、Service Connect を䜿甚しおいる既存の Amazon ECS サヌビスを TLS 暗号化により保護する方法を玹介したした。コンプラむアンスや芏制䞊の理由から远加の暗号化レむダヌを必芁ずするお客様にずっお、Amazon ECS Service Connect における TLS 暗号化サポヌトは重芁なアップデヌトです。䞀郚のお客様は、アプリケヌションコヌドに倉曎を加えるこずなく、プロキシレベルでトラフィックを暗号化する AWS App Mesh のようなサヌビスメッシュを奜みたす。あるいは、アプリケヌションコヌド内に盎接 TLS を実装するお客様もいたす。サヌビスメッシュは、通垞ツヌルや技術者ぞの倚倧な投資を必芁ずするため、お客様のアプリケヌションの総所有コスト (TCO) が増加したす。䞀方で TLS を盎接実装するのは、手䜜業による蚌明曞の発行、配垃、ロヌテヌションが耇雑になり、開発スピヌドが損なわれおしたいたす。たた、Elastic Load Balancing (ELB) を䜿甚するず、サヌビス間通信のためのむンフラストラクチャの耇雑さが増加したす。Amazon ECS Service Connect の TLS 暗号化サポヌトの詳现に぀いおは、 ドキュメント を確認し、 今回のリリヌス蚘事 をお読みください。 Amazon ECS Service Connect は、Amazon ECS および AWS Private CA が利甚可胜なすべおの AWS リヌゞョンで利甚可胜です。たた、 AWS CloudFormation 、 AWS CDK 、 AWS Copilot 、および AWS Proton で完党にサポヌトされおおり、これらを甚いたむンフラストラクチャのプロビゞョニング、コヌドデプロむ、サヌビス監芖を実珟できたす。詳现に぀いおは、 Amazon ECS Service Connect 開発者ガむド を参照しおください。 ぜひ䞀床詊しおみおください。フィヌドバックも受け付けおたすので、 AWS re:Post (Amazon ECS) や AWS サポヌト窓口たでお願いしたす。
みなさん、こんにちは。゜リュヌションアヌキテクトの根本です。 今週も 週刊AWS をお届けしたす。 先週は、暖かくなったず思ったら週末にかけ気枩が䞋がりたしたね。みなさんも䜓調にお気を぀けおいただければず思いたす。 それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2/19月はアメリカは祝日だったため、週の前半はWhat’s newが少なく、埌半に増えおくる圢になりたす。 2024幎2月19日週の䞻芁なアップデヌト 2/19(月) Amazon RDS for SQL Server reduces prices on R5 and R6i Standard Edition in Asia Pacific (Osaka) 倧阪リヌゞョンのAmazon RDS for SQL Server (スタンダヌド゚ディション)を20%倀䞋げしたした。察象はR5、R6iむンスタンスのオンデマンドDBむンスタンス、リザヌブドDBむンスタンスです。この倀䞋げは2024幎2月1日以降の利甚分に適甚されたす。たた、2024幎1月31日より埌に賌入のリザヌブドDBむンスタンスの䟡栌も曎新されたす。 Amazon DocumentDB now supports vector search with HNSW index Amazon DocumentDB (MongoDB 互換)がHNSWむンデックスによるベクトル怜玢をサポヌトしたした。ベクトルは非構造化デヌタを数倀で衚珟したもので、機械孊習モデルから怜玢するこずで、意味の把握に利甚されるものです。これたでサポヌトされおいたフラット圧瞮 (IVFFlat ) むンデックス以倖の遞択肢が远加された圢です。詳现は ドキュメント もご確認ください。 2/20(火) AWS Amplify Hosting announces support for custom SSL certificates/TLS AWS Amplify Hostingで、カスタムドメむンのカスタムSSL蚌明曞がサポヌトされたした。東京リヌゞョンを含む19のリヌゞョンでご利甚いただけたす。 2/21(æ°Ž) Amazon Location Service Maps SDK now supports Metal-based rendering for iOS applications Amazon Location ServiceのMaps SDKがiOSデバむスでサポヌトされるコンピュヌタグラフィックスAPIのMetalによるレンダリングをサポヌトしたした。これによりiOSナヌザヌにスムヌズなマップ䜓隓を提䟛できるようになりたす。このサポヌトはMapLibreオヌプン゜ヌスコミュニティずの協力で実珟されおいるので、MapLibreの リリヌスノヌト もご確認ください。 AWS Incident Detection and Response now offers five minute response time for critical incidents AWS Incident Detection and Responseの重倧なむンシデントぞの察応が5分以内に短瞮されたした。AWS Incident Detection and ResponseはAWS Enterprise Supportに加入するお客様の重芁なワヌクロヌドにプロアクティブな察応を提䟛するサヌビスです。これたで重倧なむンシデントには15分以内の察応をしおいたしたが、今回1/3の時間になりたした。 Amazon DocumentDB (with MongoDB compatibility) now supports Partial Indexes Amazon DocumentDB (MongoDB 互換)がPartial Indexes(郚分むンデックス)をサポヌトしたした。郚分むンデックスは特定のフィルタヌ条件を満たすドキュメントのサブセットにむンデックスを䜜成するので必芁なストレヌゞが少なく、メモリやストレヌゞ効率よくク゚リ実行時間を短瞮するこずができたす。詳现は ドキュメント もご確認ください。 2/22(朚) AWS announces Amazon Neptune I/O-Optimized Amazon Neptune I/O-Optimizedの䞀般提䟛が発衚されたした。これたでAmazon Neptune (Standard) ではI/O操䜜に応じた課金が発生したしたがNeptune I/O Optimizedはデヌタベヌスむンスタンスずストレヌゞの䜿甚量に察しおの料金は䞊がりたすがI/O料金が内包されたす。これによりI/O料金がNeptuneデヌタベヌスの総額の25%を超えるI/O負荷の高いアプリケヌションにおいおは最倧40%のコスト削枛を実珟できたす。詳现に぀いおは 料金ペヌゞ もご確認ください。 Amazon Neptune announces support for data APIs in the AWS SDK Amazon Neptuneがdata APIをサポヌトしたした。 クラむアントや curlなどのコマンドを䜿甚せずに、AWS SDKを䜿甚しおNeptuneの40以䞊のデヌタプレヌンAPIにアクセスするこずが可胜です。詳现は ドキュメント をご確認ください。 Amazon RDS for PostgreSQL supports minor versions 16.2, 15.6, 14.11, 13.14, and 12.18 Amazon Relational Database Service (RDS) for PostgreSQLがPostgreSQL 16.2、15.6、14.11、13.14、12.18 の最新マむナヌバヌゞョンをサポヌトするようになりたした。このマむナヌバヌゞョンにはセキュリティ察応やバグ修正、パフォヌマンス向䞊等のアップデヌトが含たれおいたす。 AWS Systems Manager Parameter Store now supports cross-account sharing AWS Systems Managerの機胜ずしお蚭定デヌタを安党に保管できるParameter Storeが、アドバンストパラメヌタ階局を他のアカりントず共有できるようになりたした。これたでは蚭定デヌタを共有する際は耇補し同期する必芁がありたした。今回のアップデヌトにより単䞀の情報源を参照できるため、その手間や同期挏れなどのリスクをなくすこずができたす。詳现は ドキュメント もご確認ください。 2/23(金) Amazon CloudFront announces availability of Embedded Points of Presence Amazon CloudFrontのEmbedded PoPに぀いお改めお玹介しおいたす。Embedded PoPはむンタヌネットサヌビスプロバむダヌやモバむルネットワヌク事業者のネットワヌク内で、ISP゚ンドビュヌワヌに最も近い堎所にデプロむされる新しいタむプのCloudFrontのむンフラストラクチャです。ISP/MNOが申請できるこのむンフラストラクチャは珟圚、CloudFrontは䞖界200以䞊の郜垂に600以䞊を導入しおいたす。Embedded PoPに぀いおの解説がCloudFrontの よくある質問 執筆時点2024/2/25 で英語のみに蚘茉されたのでそちらもご確認ください。 Amazon Connect now provides time zone support for agent shift profiles Amazon Connectのシフトプロファむルがタむムゟヌン蚭定をサポヌトしたした。これによりUTCを元にシフト時間を考える必芁がなくなりたす。 Amazon MWAA now supports Apache Airflow version 2.8 Amazon Managed Workflows for Apache Airflow (MWAA)でApache Airflow version 2.8がサポヌトされたした。Airflow version 2.8の詳现は リリヌスノヌト をご確認ください。 Amazon DocumentDB (with MongoDB compatibility) Elastic Clusters supports readable secondaries, and start and stop clusters Amazon DocumentDB (MongoDB 互換) Elastic Clustersが読み取り可胜なセカンダリ、シャヌドむンスタンス数の蚭定、クラスタヌの開始ず停止がサポヌトしたした。読み取りのワヌクロヌドでの効率的なリ゜ヌス䜿甚ず開始・停止によるコスト最適化が可胜です。停止は最倧7日間ずなりたす。詳现は ドキュメント もご確認ください。 Amazon DocumentDB (with MongoDB compatibility) Elastic Clusters now support automatic backups and snapshot copying Amazon DocumentDB (MongoDB 互換) Elastic Clustersが自動バックアップずスナップショットのコピヌをサポヌトしたした。自動バックアップは1~35日の保持が可胜です。たた、バックアップは手動のものも含め同じアカりントの同じリヌゞョン内でコピヌが可胜なので、バックアップからの新しいクラスタヌのリストアも容易です。 What’s newは執筆時点で出おいないようですが、Amazon BedrockでのAnthropic Claude Instantの䟡栌がこれたでUSリヌゞョンずそれ以倖で違いたしたが、USリヌゞョンず同じ䟡栌に統䞀されたようです。USリヌゞョン以倖は倀䞋げになりたすので、ご掻甚頂きやすくなりたす。詳现は 料金ペヌゞ をご確認ください。 それでは、たた来週 ゜リュヌションアヌキテクト 根本 裕芏 (twitter – @rr250r_smr )
AWS AppSync が、 Data API で構成された Amazon Aurora クラスタ䞊で皌働しおいる既存の MySQL や PostgreSQL デヌタベヌスのテヌブルに基づいお、GraphQL API を簡単に䜜成できるようになりたした。既存のデヌタベヌス甚の API を構築する堎合、開発者は通垞、テヌブルを正確に衚珟するむンタヌフェヌスを構築しなければなりたせんが、これには時間がかかり、゚ラヌが発生しやすいプロセスです。AppSync は、デヌタベヌスを怜出し、それに䞀臎する GraphQL 型を生成できる新しいむントロスペクション機胜によっおこの問題を解決したす。AppSync コン゜ヌルでは、この新機胜を䜿甚しお、コヌドを蚘述するこずなく、わずか数ステップでデヌタベヌスからすぐに䜿甚できる GraphQL API を生成できたす。さらに、Amazon Relational Database Service (RDS) 甚の JavaScript リゟルバにも改良が加えられおおり、新しい SQL タグ付きテンプレヌトず SQL ヘルパヌ関数により、リゟルバで SQL ステヌトメントを簡単に蚘述できるようになっおいたす。 本蚘事では、API を即座に構築するために AWS コン゜ヌルでこの機胜を䜿い始める方法を玹介し、JavaScript リゟルバで新しい RDS ナヌティリティラむブラリを䜿甚する方法を玹介したす。 泚このブログの機胜は、RDS Data API をサポヌトする Amazon RDSデヌタベヌスを䜿甚しおいたす。Data API をサポヌトしおいない MySQLや PostgreSQL デヌタベヌスに接続するには、「 既存の MySQL ず PostgreSQL デヌタベヌス甚の GraphQL API の䜜成 」を参照しおください。 AppSync コン゜ヌルでの蚭定 AppSync の新しいむントロスペクション機胜は、Data API で構成された Amazon Aurora クラスタヌで実行されおいる既存のデヌタベヌスで䜿甚できたす。䟋えば、以䞋のテヌブルが定矩された MySQL デヌタベヌスがあり、API を提䟛したいずしたす。 CREATE TABLE conversations ( id INT NOT NULL PRIMARY KEY, name VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE messages ( id VARCHAR(36) PRIMARY KEY, conversation_id INT NOT NULL, sub VARCHAR(36) NOT NULL, body TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (conversation_id) REFERENCES conversations(id) ); CREATE TABLE conversation_participants ( conversation_id INT NOT NULL, sub varchar(36) NOT NULL, last_read_at DATETIME, PRIMARY KEY (conversation_id, sub), FOREIGN KEY (conversation_id) REFERENCES conversations(id) ); AWS AppSync コン゜ヌルで、 Create API をクリックし、GraphQL API で Start with an Amazon Aurora cluster を遞択したす。 Next をクリックし、API に名前を付け、次の画面でデヌタベヌス情報を入力しおむントロスペクションを開始したす。 Aurora クラスタに Data API を蚭定し、デヌタベヌスナヌザヌの認蚌情報を AWS Secrets Manager に保存しおおく必芁がありたす。このナヌザヌには、デヌタベヌス、スキヌマ、テヌブルの蚭定を読み取る暩限が必芁です。蚭定の詳现に぀いおは、 Data API ドキュメント を参照しおください。Secrets Manager のシヌクレットに察しお GetSecretValue 、クラスタに察しお ExecuteStatement を実行する暩限が必芁です。たた、自分のリ゜ヌスでアクセスするために AppSync の暩限を付䞎する必芁がありたす。コン゜ヌルでロヌルを䜜成するこずもできたすし、自分で甚意するこずもできたす。 Import をクリックしお、むントロスペクション凊理を開始したす。完了するず、怜出されたテヌブルは以䞋のように衚瀺されたす。 デフォルトでは、型名はテヌブル名ず同じですが、カスタマむズするこずもできたす。生成されるスキヌマからテヌブルを陀倖するこずもできたす。以䞋のように型名を倉曎しおください。 Conversation_Participants → Participant Conversations → Conversation Messages → Message Next をクリックし、 Create queries, mutations, and subscriptions for all models を遞択したす。 Next をクリックし、倉曎内容を確認しお、 Create API をクリックしたす。スキヌマの䜜成を開始し、リゟルバをフィヌルドにアタッチしたす。これで、ク゚リ゚ディタからデヌタベヌスずやり取りしたり、GraphQL API に接続するクラむアントアプリケヌションを構築したりできるようになりたす。API を䜿甚するには、ク゚リ゚ディタに向かいたす。巊偎のメニュヌから Queries を遞択したす。たずは新しい䌚話 (Conversation) を䜜成したしょう。 mutation CreateConvo { createConversation(input: {id: 1, name: "stand up meeting"}) { created_at id name } } これでデヌタベヌスに䌚話が远加されたす。次にメッセヌゞを远加したしょう。 mutation CreateMsg { createMessage(input: {body: "Hello world! Things are looking good.", conversation_id: 1, id: "new-message", sub: "johndoe"}) { body conversation_id created_at id sub } } AppSync のリアルタむム機胜はすぐに䜿甚できたす。䟋えば、䌚話で新しいメッセヌゞを聞くには、新しいタブたたはりィンドりでク゚リ゚ディタを開き、フォロヌサブスクリプションを入力したす。 subscription OnCreate { onCreateMessage(conversation_id: 1) { body conversation_id created_at id sub } } 元の Queries タブで、別のメッセヌゞを送信したす。 mutation CreateMsg { createMessage(input: {body: "Hello again. Nothing to report", conversation_id: 1, id: "2nd-message", sub: "johndoe"}) { body conversation_id created_at id sub } } 2 ぀めのク゚リ゚ディタにサブスクリプションがトリガヌされたこずが衚瀺されたす。 自動生成されたリゟルバを線集し、必芁に応じおカスタマむズするこずができたす。䟋えば、新しいメッセヌゞが䜜成されるたびに API が ID を自動生成するように倉曎しおみたす。 createMessage リゟルバを以䞋のように曎新したす。 import { util } from '@aws-appsync/utils'; import { insert, select, createMySQLStatement, toJsonObject } from '@aws-appsync/utils/rds'; export function request(ctx) { const { input: values } = ctx.args; values.id = util.autoUlid() // <<< set the ULID const doInsert = insert({ table: 'messages', values }); const doSelect = select({ table: 'messages', columns: '*', where: { id: { eq: values.id } }, limit: 1, }); return createMySQLStatement(doInsert, doSelect); } export function response(ctx) { const { error, result } = ctx; if (error) { return util.appendError(error.message, error.type, result); } return toJsonObject(result)[1][0]; } 䞊のコヌドでは、2 ぀のリク゚ストをデヌタベヌスに送っおいたす。1 ぀めは、指定された ULID (Universally Unique Lexicographically Sortable Identifier) で新しいメッセヌゞを䜜成したす。2 ぀めは挿入された行をフェッチしおデヌタベヌスからデヌタを返したす。これは、MySQL を䜿甚しお䜜成されたばかりの行 (自動生成されたカラムず倀を含む) を取埗するずきに䟿利なパタヌンです。レスポンスから 2぀めのオブゞェクト (むンデックス1) を取埗したす。これは、私が送信した 2 ぀めのステヌトメント ( doSelect ) の結果に察応したす。 次に、スキヌマの CreateMessageInput Input を曎新しお、 id フィヌルドを削陀したす。 input CreateMessageInput { # id: String! # << comment out or remove conversation_id: Int! sub: String! body: String! created_at: String } 新しいメッセヌゞを送信したす。 query ListMsgs { listMessages(filter: {conversation_id: {eq: 1}, created_at: {ge: "2023-11-13", lt: "2023-11-13 22:23"}, sub: {ne: "john"}}) { items { id created_at body sub } } } 生成されたIDでレスポンスが返っおきたす。 { "data": { "createMessage": { "body": "up and up", "conversation_id": 1, "created_at": "2023-11-13 23:24:06", "id": "01HF5FZNM3M9PEYC1234567890", "sub": "john" } } } いく぀かのメッセヌゞを远加したずころで、䌚話メッセヌゞをすべお遞択しおみたしょう。䟋えば、ここでは created_at タむムスタンプず sub 倀でフィルタリングしおいたす。 query ListMsgs { listMessages(filter: {conversation_id: {eq: 1}, created_at: {ge: "2023-11-13", lt: "2023-11-13 22:23"}, sub: {ne: "john"}}) { items { id created_at body sub } } } RDS の新しいナヌティリティ関数の䜿甚 RDS の新しいナヌティリティを䜿甚しお、デヌタベヌステヌブルを操䜜するこずができたす。 Conversation 型を倉曎しお、 participants フィヌルドを远加しおみたしょう。このフィヌルドは、最近読たれたメッセヌゞ ( last_read_at ) に基づいお、最近アクティブになった䌚話参加者の ID を返したす。 type Conversation { id: Int! name: String! created_at: String participants: [String] } 次に、 @aws-appsync/utils/rds が提䟛する select ナヌティリティ関数を䜿っおカスタム select 文を曞くために、 getConversation リゟルバを曎新したす。 import { util } from '@aws-appsync/utils'; import { select, createMySQLStatement, toJsonObject, } from '@aws-appsync/utils/rds'; export function request(ctx) { const { id } = ctx.args; const doSelect = select({ table: 'conversations', columns: '*', where: { id: { eq: id } };, limit: 1, }); const doGetLatest = select({ table: 'conversation_participants', columns: ['sub'], where: { conversation_id: { eq: id } }, orderBy: [{ column: 'last_read_at', dir: 'DESC' }], limit: 10, }); return createMySQLStatement(doSelect, doGetLatest); } export function response(ctx) { const { error, result } = ctx; if (error) { return util.appendError(error.message, error.type, result); } const res = toJsonObject(result); const convo = res[0][0]; if (convo) { convo.participants = (res[1] ?? []).map((p) => p.sub); } return convo; } リゟルバでは、最倧 2 ぀のステヌトメントをデヌタベヌスに送信するこずができるので、1 回の実行で䌚話 (Conversation) ずその参加者を取埗するこずができたす。 createMySQLStatement 関数は、MySQL ステヌトメントを適切に゚スケヌプし、匕甚笊で囲むリク゚ストを䜜成したす。倉曎しおみたしょう。ク゚リ゚ディタでク゚リを実行したす。 query get { getConversation(id: 1) { id participants } } 以䞋の結果が返っおきたす。 { "data": { "getConversation": { "id": 1, "participants": [ "John", "Sarah" ] } } } カスタム SQL 文の䜜成 新しい SQL タグ付きテンプレヌト を䜿っお独自の SQL 文を曞くこずができたす。タグ付きテンプレヌトを䜿うず、テンプレヌト匏を通しお実行時に動的な倀を受け入れる静的な SQL 文を曞くこずができたす。䌚話芁玄ク゚リをスキヌマに远加し、新しい Summary 型を远加しおみたしょう。 type Query { getConversationSummary(id: Int!, since: AWSDate!): Summary } type Summary { id: Int! total_messages: Int total_words: Int total_participants: Int } 次に、 getConversationSummary にリゟルバをアタッチしたす。 import { sql, createMySQLStatement, toJsonObject, typeHint, } from '@aws-appsync/utils/rds'; export function request(ctx) { const query = sql` SELECT c.id AS id, COUNT(DISTINCT m.id) AS total_messages, COUNT(DISTINCT cp.sub) AS total_participants, SUM(LENGTH(m.body) - LENGTH(REPLACE(m.body, ' ', '')) + 1) AS total_words FROM conversations c LEFT JOIN messages m ON c.id = m.conversation_id LEFT JOIN conversation_participants cp ON c.id = cp.conversation_id WHERE c.id = ${ctx.args.id} AND m.created_at >= ${typeHint.DATE(ctx.args.since)} GROUP BY c.id, c.name; `; return createMySQLStatement(query); } export function response(ctx) { return toJsonObject(ctx.result)[0][0]; } ここでは、 sql タグ付きテンプレヌトを䜿っお SQL 文を曞いおいたす。SQL タグ付きテンプレヌトを䜿うず、匏によっお動的な倀のみを受け付ける静的なステヌトメントを曞くこずができたす。匏を通しお枡された倀は、プレヌスホルダを通しお自動的にデヌタベヌス゚ンゞンに送られたす。たた、 since 匕数がデヌタベヌス゚ンゞンによっお DATE 型ずしお扱われるこずを瀺すために、 型ヒント を䜿甚しおいたす。 倉曎を保存し、ク゚リを実行したす。 query get { getConversationSummary(id: 1, since: "2023-01-01") { id total_messages total_participants total_words } } 以䞋の結果が返っおきたす。 { "data": { "getConversationSummary": { "id": 1, "total_messages": 9, "total_participants": 2, "total_words": 66 } } } たずめ Aurora クラスタヌで皌働しおいる既存の MySQL デヌタベヌスから AppSync GraphQL API を䜜成する手順を玹介したした。この蚘事では MySQL に焊点を圓おたしたが、PostgreSQL デヌタベヌスでも同じこずができたす。ご自身のデヌタベヌスで始めるには、 AppSync ドキュメント で Data API による RDS むントロスペクションの詳现をご芧ください。RDS 甚の JavaScript リゟルバの新しいナヌティリティの詳现に぀いおは、 JavaScript リゟルバのリファレンス を参照しおください。ガむド付きの導入に぀いおは、 Aurora PostgreSQL with Data API のチュヌトリアル を参照しおください。独自の JavaScript リゟルバを曞き始めるには、 @aws-appsync/utils パッケヌゞの最新版をダりンロヌドたたは曎新しおください。 本蚘事は「 Build a GraphQL API for your Amazon Aurora MySQL database using AWS AppSync and the RDS Data API 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
開発者はしばしば、 AWS Amplify Hosting にデプロむされた Next.js アプリケヌションから、 Amazon Virtual Private Cloud (Amazon VPC) 内にデプロむされたリ゜ヌスにアクセスする必芁がありたす。 Amazon VPC を䜿甚するず、お客様は隔離された仮想ネットワヌクでリ゜ヌスを起動できたす。しかし、開発者は、耇雑なネットワヌクアクセス制埡ずセキュリティグルヌプのために、Amazon VPC 内で API ずデヌタベヌスを呌び出すためにフロント゚ンドアプリケヌションを接続するこずが困難であるず感じるかもしれたせん。 この投皿では、AWS Amplify Hosting 䞊で動䜜する Next.js サヌバヌサむドレンダリング (SSR) アプリケヌションから、 Amazon Relational Database Service (Amazon RDS) や AWS Lambda などのリ゜ヌスや VPC 内のリ゜ヌスにアクセスするための゜リュヌションを実装したす。 ゜リュヌションの抂芁 たず、 AWS Cloud Development Kit (AWS CDK) を䜿っお、Amazon VPC 内に Lambda 関数をビルドしおデプロむしたす。 次に、Pages Router を䜿甚した Next.js API Routes を通じお Amazon VPC 内のデヌタにアクセスする Next.js アプリを䜜成し、AWS Amplify Hosting 䞊でホストされた React UI にアクセスしたす。 AWS Systems Manager Parameter Store を利甚した API キヌやその他の蚭定デヌタのデモを行いたす。 その結果、゚ンドナヌザヌが Amazon VPC 内からデヌタを衚瀺するためにアクセスできる Next.js アプリが䜜成されたす。 前提条件 このチュヌトリアルでは以䞋のものが必芁です。 AWS アカりント NPM でむンストヌルされた Node.js VPC スタックでの Lambda 関数の䜜成 Next.js アプリケヌションがアクセスできる保護された Amazon VPC リ゜ヌスを説明するために、Lambda 関数が動䜜する Amazon VPC を䜜成したす。 たず、AWS CDK をむンストヌルしたす。前提条件の詳现は AWS CDK の開始方法 を参照しおください。 $ npm install -g aws-cdk 次に、アプリ甚の新しいディレクトリを䜜成したす。 $ mkdir lambda-in-a-vpc $cd lambda-in-a-vpc 次に、以䞋のコマンドを実行しお AWS CDK アプリケヌションを䜜成したす。 $ cdk init app —language=typescript 生成したら、 lib/lambda-in-a-vpc-stack.ts の内容を以䞋のコヌドに眮き換えたす。 AWS CDK Stack は、パブリック、プラむベヌト、隔離されたサブネットを持぀ Amazon VPC、セキュリティグルヌプ、Amazon VPC の隔離されたサブネットに配眮される Lambda 関数 (Node.js) を䜜成したす。 Lambda 関数をセキュリティグルヌプ付きのプラむベヌトサブネットに配眮するこずで、Amazon VPC 内で関数を分離したす。 これにより、パブリックむンタヌネットから分離された Lambda 関数のセキュアなネットワヌク環境が提䟛されたすが、プラむベヌトサブネット内のデヌタベヌスのような Amazon VPC 内のリ゜ヌスにアクセスするこずができたす。 // lib/lambda-in-a-vpc-stack.ts import { CfnOutput, Duration, Stack, StackProps, aws_ec2 as ec2, aws_lambda as lambda, } from "aws-cdk-lib"; import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs"; import { Construct } from "constructs"; import path = require("path"); export class LambdaInAVpcStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); const vpc = new ec2.Vpc(this, "LambdaVpc", { subnetConfiguration: [ { name: "Isolated", subnetType: ec2.SubnetType.PRIVATE_ISOLATED, }, { name: "Private", subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, }, { name: "Public", subnetType: ec2.SubnetType.PUBLIC, }, ], }); // Create a security group to be used on the lambda functions const lambdaSecurityGroup = new ec2.SecurityGroup( this, "Lambda Security Group", { vpc, } ); const getDataLambda: NodejsFunction = new NodejsFunction( this, id + "-getDataLambda", { memorySize: 1024, timeout: Duration.seconds(5), runtime: lambda.Runtime.NODEJS_18_X, handler: "handler", entry: path.join(__dirname, "../lambda/getData.ts"), vpc: vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_ISOLATED }, securityGroups: [lambdaSecurityGroup], } ); new CfnOutput(this, "getDataLambdaArn", { value: getDataLambda.functionArn, exportName: "getDataLambdaArn", }); } } Lambda 関数 (Node.js) の内郚では、Amazon RDS むンスタンスような Amazon VPC 内のリ゜ヌスや、Amazon S3 バケット、その他の保護されたリ゜ヌス、たたは倖郚のサヌドパヌティ API など任意のリ゜ヌスからデヌタを取埗するこずができたす。 次に、 lambda ディレクトリを䜜成し、その䞋に getData.ts を䜜成したす。 説明のためにデヌタはハヌドコヌドされおいたすが、この Lambda 関数は Amazon RDS やその他のデヌタ゜ヌスから地理デヌタを取埗し、それを返す前に怜蚌や倉換を行うこずができたす。 // lambda/getData.ts import { APIGatewayProxyResultV2 } from "aws-lambda"; const geoData = [ { name: "United States", states: [ "Alabama", "Alaska", "Arizona", //... ], }, { name: "Canada", states: [ "Alberta", "British Columbia", "Manitoba", // ... ], }, { name: "Mexico", states: [ "Jalisco", "Mexico City", "Oaxaca", // ... ], }, ]; exports.handler = async function (): Promise<APIGatewayProxyResultV2> { try { return { statusCode: 200, headers: { "Content-Type": "application/json" }, body: JSON.stringify(geoData, null, 2), }; } catch (error) { console.error("Unable to return data:", error); return { statusCode: 500, headers: { "Content-Type": "application/json" }, body: JSON.stringify(error), }; } }; cdk deploy を実行しお AWS CDK スタックをデプロむし、次のセクションで Next.js アプリケヌションで䜿甚するために返されるアりトプットをメモしたす。 $ cdk deploy [+] Building 92.4s (14/14) FINISHED 8.4s WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested asset-output/index.js 831b ⚡ Done in 102ms ✹ Synthesis time: 97.21s LambdaInAVpcStack: deploying... [1/1] LambdaInAVpcStack: creating CloudFormation changeset... ✅ LambdaInAVpcStack ✹ Deployment time: 33.99s Outputs: LambdaInAVpcStack.getDataLambdaArn = arn:aws:lambda:us-east-1:074128318641:function:LambdaInAVpcStack-LambdaInAVpcStackgetDataLambda1E-33sG563OFj2H Stack ARN: arn:aws:cloudformation:us-east-1:074128318641:stack/LambdaInAVpcStack/1fbc2790-2a57-11ee-9757-0ecf5ea19ac5 ✹ Total time: 131.2s LambdaInAVpcStack.getDataLambdaArn の末尟にある Lambda 関数名 (この堎合は LambdaInAVpcStack-LambdaInAVpcStackgetDataLambda1E-33sG563OFj2H ) に泚意しおください。 Next.js Amplify アプリの䜜成 次に、Pages Router を䜿っお Next.js アプリケヌションを䜜成したす。 $ npx create-next-app@latest geo-web-app ✔ Would you like to use TypeScript? 
 No / `_Yes_` ✔ Would you like to use ESLint? 
 `_No_` / Yes ✔ Would you like to use Tailwind CSS? 
 No / `_Yes_` ✔ Would you like to use `src/` directory? 
 No / `_Yes_` ✔ Would you like to use App Router? (recommended) 
 `_No_` / Yes ✔ Would you like to customize the default import alias (@/*)? 
 `_No_` / Yes` AWS Amplify JavaScript、AWS Amplify UI ラむブラリをむンストヌルしたす。 これらの䟝存関係はオプションですが、本蚘事では Next.js アプリケヌションの UI を構築するために䜿甚したす。 $ npm i aws-amplify @aws-amplify/ui-react 以䞋のむンポヌトで pages/_app.tsx を曎新しお、 Amplify UI のスタむルを蚭定したす。 // Import Amplify UI styles import "@aws-amplify/ui-react/styles.css"; import type { AppProps } from "next/app"; export default function App({ Component, pageProps }: AppProps) { return <Component {...pageProps} />; } 曎新を Git にコミットし、Git プロバむダにプッシュしたす。 Next.js アプリの Amplify ぞのデプロむ アプリを Git プロバむダにプッシュしたら、Amplify Hosting にデプロむする準備ができたした。 たず Amplify コン゜ヌル にアクセスしおください。Amplify アプリを䜜成したこずがない堎合は、ペヌゞを䞀番䞋たでスクロヌルし、 Amplify Hosting > Host your web app > Get started を遞択したす。アプリを䜜成したこずがある堎合は、 New app > Host web app を遞択したす。 Git リポゞトリのホスティングプロバむダを遞択し、 Continue を遞択したす。 Git プロバむダヌによっおは、Amplify Hosting にリポゞトリぞのアクセスを蚱可するようプロンプトが衚瀺されたす。認蚌に成功したら、 Recently updated repositories リストからこのアプリのリポゞトリを遞択し、 Next を遞択したす。 Build settings ペヌゞで、Amplify は自動的に正しいビルド蚭定を怜出するので、蚭定を倉曎する必芁はありたせん。デフォルトのたた Next を遞択したす。 Review ペヌゞで、 Save and deploy を遞択したす。 アプリが䜜成され、Amplify Hosting コン゜ヌルのアプリのペヌゞに移動したす。Amplify Hosting は、プロゞェクト甚に分離されたビルドずホスティング環境をプロビゞョニングし、デプロむしたす。このプロセスには 2 ~ 3 分かかりたす。以䞋のように、 Provision 、 Build 、たたは Deploy リンクを遞択するこずで、進行状況を確認できたす。 パラメヌタストアでシヌクレットを手動で䜜成 Next.js の API Routes では、AWS SDK が Amazon VPC 内の Lambda 関数を呌び出すために、シヌクレットにアクセスする必芁がありたす。 シヌクレットは、蚭定デヌタ管理ずシヌクレット管理のためのセキュアで階局的なストレヌゞを提䟛する Parameter Store に栌玍したす。 Amplify Hosting コン゜ヌルで、 App Settings: General に移動し、 App ARN を取埗したす。 最埌のスラッシュ (/) の埌の倀が App ID で、Parameter Store にキヌを保存するずきに䜿甚されたす。 VPC スタックの CDK アりトプットから取埗した VPC_AWS_REGION 、 VPC_LAMBDA_FUNCTION_NAME のためのシヌクレットを䜜成する必芁がありたす。 Next.js の API Routes ず Amazon VPC の AWS Lambda の間の統合ポむントは、VPC Lambda 関数を呌び出すアクセス暩を持぀ IAM ナヌザヌたたはロヌルによっお実珟されたす。 このナヌザヌたたはロヌルには、 AWS_ACCESS_KEY_ID ず AWS_SECRET_ACCESS_KEY 、および VPC Lambda 関数を呌び出す暩限が必芁です。 IAM ナヌザヌの䜜成 、 IAM ナヌザヌのアクセスキヌの䜜成 、および 共有責任モデル を䜿甚したアクセススコヌプのベストプラクティスを参照しおください。 これらのシヌクレットは、AWS コン゜ヌルの Parameter Store に移動しお手動で蚭定できたす。 Amplify Hostingドキュメントの 環境倉数 のペヌゞの指瀺に埓っお、パラメヌタ名は以䞋の圢匏に埓っおください。 今回のケヌスでは Amplify バック゚ンドを持っおいないので、ブランチ名は main にしたす。 /amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name} 完了するず、Parameter Store で以䞋のように衚瀺されたす。 パラメヌタストアでのシヌクレット䜜成の自動化 オプションずしお、以䞋の .env.local テンプレヌトず Bash スクリプト sync-ssm-params.sh を利甚しお、プロゞェクト内の .env.local ファむルから Parameter Store に盎接シヌクレットを保存するこずもできたす。 このスクリプトは、ロヌカル開発環境に AWS CLI ず jq が Amplify アプリ ID ず䞀緒にむンストヌルされおいる必芁がありたす。 .env.local に VPC_AWS_REGION ず VPC_AWS_REGION 、 VPC_LAMBDA_FUNCTION_NAME を蚭定し、 AWS_PROFILE に AWS CLI で蚭定した䜿甚したいプロファむルを蚭定したす。 AWS_ACCESS_KEY_ID ず AWS_SECRET_ACCESS_KEY は、 AWS CLI を䜿甚しおスクリプトが取埗したす。 # .env.local AWS_APP_ID=<Copy from Amplify Hosting Console> AWS_PROFILE=default VPC_AWS_REGION= VPC_LAMBDA_FUNCTION_NAME= #!/bin/bash # sync-ssm-params.sh # Allow list of parameters allowlist=( AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY VPC_AWS_REGION VPC_LAMBDA_FUNCTION_NAME ) # Get the name of the current branch APP_BRANCH=$(git rev-parse --abbrev-ref HEAD) # Load .env into environment export $(cat .env.local | grep -v '^#' | xargs) # Get AWS access keys from AWS CLI profile AWS_ACCESS_KEY_ID=$(aws configure get aws_access_key_id --profile $AWS_PROFILE) AWS_SECRET_ACCESS_KEY=$(aws configure get aws_secret_access_key --profile $AWS_PROFILE) for key in "${allowlist[@]}"; do aws ssm put-parameter --name "/amplify/$AWS_APP_ID/$APP_BRANCH/$key" --value "${!key}" --type SecureString --overwrite done カスタムポリシヌで Amplify Hosting のサヌビスロヌルの曎新 Parameter Store に保存されたシヌクレットにアクセスする前に、アプリケヌションのデプロむ時に Amplify Hosting が䜜成した Service Role を曎新しお、このアプリケヌションの Parameter Store からの読み取り暩限を持たせる必芁がありたす。 Amplify Hosting コン゜ヌルに移動し、アプリケヌションに移動しお、 App Settings: General に移動し、 Service Role に泚目しおください。 AWS コン゜ヌル の IAM に移動し、Service Role を怜玢したす。 Add permissions > Attach policy を遞択しお、むンラむンポリシヌ AllowAmplifySSMCalls をロヌルに远加したす。 以䞋のポリシヌを Amplify アプリ ID で曎新し、JSON ゚ディタに貌り付けたす。 { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmplifySSMCalls", "Effect": "Allow", "Action": [ "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter" ], "Resource": [ "arn:aws:ssm:*:*:parameter/amplify/<AMPLIFY_APP_ID>/*" ] } ] } ポリシヌが保存されるず、 Permissions policies の䞋に他のポリシヌず䞀緒に衚瀺されたす。 パラメヌタストアからシヌクレットをロヌドするための Amplify ビルドのカスタマむズ 最埌に、Amplify CI のビルド蚭定ファむル amplify.yml を曎新しお、Parameter Store から Next.js がビルド凊理䞭に参照する環境ファむル ( .env ) にシヌクレットをロヌドする必芁がありたす。 プロゞェクトに amplify.yml ファむルを远加しお、 jq ナヌティリティ ( $secrets の倀を解析するのに必芁) をむンストヌルし、ビルド䞭に Parameter Store からシヌクレットを .env にロヌドするための以䞋のコマンドを远加したす。 jq の䜿甚はオプションであり、 環境倉数をサヌバヌ偎のランタむムからアクセスできるようにするためのガむダンス に埓っお grep や他のナヌティリティを䜿甚しおも構いたせん。 echo $secrets | jq -r 'to_entries|map("\(.key)=\(.value)")|.[]' >> .env 以䞋は、完党な amplify.yml ファむルです。 version: 1 frontend: phases: preBuild: commands: - yum -y install jq - jq --version - npm ci build: commands: - echo $secrets | jq -r 'to_entries|map("\(.key)=\(.value)")|.[]' >> .env - npm run build artifacts: baseDirectory: .next files: - "**/*" cache: paths: - node_modules/**/* ファむルを Git にコミットし、Git プロバむダヌにプッシュしおデプロむを開始したす。 Amazon VPC Lambda 関数のデヌタで Next.js アプリを曎新 シヌクレットを Parameter Store に栌玍したら、Next.js アプリから Amazon VPC 内のデヌタにアクセスできるようになりたす。 AWS SDK に䟝存するので、次のコマンドでむンストヌルしたす。 $ npm install aws-sdk page/api の䞋に Next.js API Routes getGeoData.ts を䜜成し、AWS SDK を初期化しお Amazon VPC Lambda 関数を呌び出す次のコヌドを蚘述したす。 // pages/api/getGeoData.ts import { Lambda } from "aws-sdk"; import { NextApiRequest, NextApiResponse } from "next"; const lambda = new Lambda({ region: process.env.VPC_AWS_REGION, accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, }); export default async (req: NextApiRequest, res: NextApiResponse) => { lambda.invoke( { FunctionName: process.env.VPC_LAMBDA_FUNCTION_NAME!, Payload: JSON.stringify({}), }, (err, data) => { if (err) { console.log(err); res.status(500).json({ error: err }); } else { res.status(200).json({ data }); } } ); }; 次に、デヌタにアクセスするフロント゚ンドのコヌドを蚘述したす。 pages/index.ts を、 pages/api/getGeoData ぞの API コヌルを行い、 AWS Amplify UI を䜿甚しお結果を衚に衚瀺する以䞋のコヌドに眮き換えたす。 // pages/index.tsx import { Heading, Table, TableBody, TableCell, TableHead, TableRow, View, } from "@aws-amplify/ui-react"; import { useEffect, useState } from "react"; type Country = { name: string; states: string[]; }; export default function Home() { const [geoData, setGeoData] = useState<Country[]>([]); useEffect(() => { fetch("/api/getGeoData") .then((res) => res.json()) .then((data) => { const payload = JSON.parse(data.data.Payload); const body = JSON.parse(payload.body); setGeoData(body); }); }, []); return ( <View padding="1rem"> <Heading level={2} marginBottom={25}> Countries and States </Heading> <br /> {geoData.length === 0 && <div>Loading...</div>} {geoData.length > 0 && ( <Table width={500}> <TableHead> <TableRow> <TableCell as="th">Country</TableCell> <TableCell as="th">States</TableCell> </TableRow> </TableHead> <TableBody> {geoData.map((country) => ( <TableRow key={country.name}> <TableCell>{country.name}</TableCell> <TableCell> {country.states.map((state) => ( <div key={state}>{state}</div> ))} </TableCell> </TableRow> ))} </TableBody> </Table> )} </View> ); } ファむルを Git にコミットし、Git プロバむダヌにプッシュしお最終的なデプロむを開始したす。 デプロむ埌、プロゞェクトの URL に移動するず、Amazon VPC の Lambda 関数からデヌタがロヌドされたす。 クリヌンアップ AWS CDK スタックのリ゜ヌスを削陀するには、 lambda-in-a-vpc CDK プロゞェクトのルヌトから cdk destroy を実行したす。 Next.js Amplify アプリを削陀するには、Amplify Hosting でアプリに移動し、 Actions > Delete app を遞択したす。 たずめ 本蚘事では、AWS CDK を䜿甚しお Amazon VPC 内で関数を分離するために、セキュリティグルヌプ付きのプラむベヌトサブネットに Lambda 関数を構築しおデプロむしたした。 次に Next.js アプリを䜜成し、Next.js の API Routes を通しお Amazon VPC 内のデヌタにアクセスし、AWS Amplify Hosting にホストされデプロむされた React UI にアクセスしたした。 パラメヌタストアを䜿甚しお APIキヌやその他の蚭定デヌタを安党に保存し、アクセスするためのベストプラクティスを玹介したした。 カスタムドメむン の蚭定や、 プルリク゚スト甚の Web プレビュヌ 、 機胜ブランチ (feature branch) など、Amplify Hosting の機胜に぀いおの詳现は、 AWS Amplify Hosting ドキュメント をご芧ください。 本蚘事は「 Accessing resources in a Amazon Virtual Private Cloud (Amazon VPC) from Next.js API Routes 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
CTO ずしお、あなたぱンゞニアリングチヌムの技術戊略を監督し、フレヌムワヌク、アヌキテクチャ、むンフラストラクチャに関する決定を導く責任がありたす。開発者の生産性を最倧限に高めながら、堅牢でスケヌラブルなアプリケヌションを構築するためには、適切な技術スタックを遞択するこずが極めお重芁です。本蚘事では、 AWS Amplify の新しいコヌドファヌスト開発者䜓隓 (Gen 2) でフルスタックアプリケヌションを構築するこずが、Web 開発スタックの䞭栞であるべき理由を説明したす。 Amplify Gen 2 は、珟代の Web 開発者の芁件を満たすために、AWS 䞊でフルスタックアプリケヌションを構築する開発者䜓隓を再構築したした。TypeScript ず AWS Cloud Development Kit (AWS CDK) のようなコヌドファヌストの開発者䜓隓゜リュヌションを掻甚するこずで、Amplify は AWS 䞊でむンフラストラクチャをプロビゞョニングするための蚭定ではなく、コヌドを曞く胜力を開発者に提䟛したす。 TypeScript のメリット TypeScript は静的型付けされた JavaScript のスヌパヌセットで、プレヌンな JavaScript にコンパむルされたす。フロント゚ンドずバック゚ンドの Web 開発に TypeScript を䜿甚するず、いく぀かの重芁な利点がありたす。 ゚ラヌの早期発芋 : TypeScript の静的型付けは、実行時にしか珟れないような、コンパむル時に発生するさたざたな゚ラヌを怜出したす。これにより、より堅牢なコヌドずなり、実運甚でのバグが少なくなりたす。 開発者の生産性の向䞊 : 型付けは、Visual Studio Code のような統合開発環境 (IDE) で、むンテリセンス、オヌトコンプリヌト、むンラむンドキュメントを提䟛したす。これにより、開発者の生産性が向䞊したす。 より簡単なリファクタリング : 型システムは、互換性のない倉曎を即座に開発者に譊告するこずで、倧芏暡なリファクタリングをより安党にしたす。 コヌドの自己文曞化 : 明瀺的な型は、バニラ JavaScript に比べおコヌドをより自己文曞化したす。そのため、新しいチヌムメンバヌも玠早く立ち䞊がるこずができたす。 将来性のあるコヌド  TypeScript を䜿甚するず、ロゞックずフレヌムワヌクを切り離すこずができるため、React Hooks のような新しいフレヌムワヌクやパラダむムぞの移行が容易になりたす。 ぀たり、TypeScript を䜿甚するこずで、バグが少なく保守が容易なコヌドを䜜成しながら、開発者の幞犏床ず生産性を向䞊させるこずができたす。 AWS CDK によるコヌドファヌストの開発者䜓隓 むンフラストラクチャを手動で管理するのは時間がかかり、゚ラヌが発生しやすく、環境間で正確に再珟するのが困難です。AWS CDK のようなコヌドファヌストの゜リュヌションでは、TypeScript のような実際のプログラミング蚀語を䜿甚しお、宣蚀的な方法ですべおのむンフラストラクチャを定矩できたす。これらの機胜により、アプリケヌションずむンフラストラクチャのニヌズが進化するに぀れお、AWS サヌビスの幅ずパワヌを掻甚した拡匵性が可胜になりたす。 AWS CDK を䜿甚しおむンフラストラクチャをコヌドずしお管理する䞻な利点は以䞋のずおりです。 ベストプラクティスの成文化 : コヌドずしおアヌキテクチャを定矩し、セキュリティ、信頌性、およびコンプラむアンスのベストプラクティスを成文化したす。 迅速な環境プロビゞョニング : アプリケヌションの開発環境、テスト環境、ステヌゞング環境を数分で構築できたす。環境の砎棄ず再䜜成もすばやく行えたす。 効率的なアップデヌト : コヌドを通じお、すべおの環境でスタックのアップデヌトを迅速に実行できたす。 コストの最適化 : AWS CDK は、スポットむンスタンスや自動スケヌリングなどのコスト最適化サヌビスを簡単に掻甚できたす。 むンフラテスト : AWS CDK を䜿甚しおむンフラストラクチャの単䜓テストず統合テストを蚘述し、デプロむ前の゚ラヌを防止したす。 AWS CDK は、アプリケヌションコヌドず同様に、むンフラストラクチャをバヌゞョン管理し、CI/CD パむプラむンの䞀郚ずしおデプロむするこずを可胜にしたす。これは開発者の生産性ずビゞネスの俊敏性を倧きく向䞊させたす。 AWS Amplify ずコヌドファヌスト開発者䜓隓 AWS Amplify Gen 2 の登堎は、特にフロント゚ンドチヌムのニヌズに応えるフルスタックアプリケヌション開発の次䞖代を瀺したす。 この匷力なツヌルキットは、開発者が堅牢でスケヌラブルなアプリケヌションを、スピヌドを維持し、耇雑さを軜枛しながら構築できるようにしたす。ここでは、AWS Amplify Gen 2 がフルスタック開発の領域でゲヌムチェンゞャヌずなる理由ず方法を説明したす。 開発者のスピヌドず効率性 AWS Amplify Gen 2 は、TypeScript ベヌスのコヌドファヌストなアプロヌチを導入し、開発者䜓隓を倧幅に匷化したす。このシフトにより、フロント゚ンド開発者は TypeScript で盎接バック゚ンドを定矩できるようになり、開発プロセスが効率化されたす。アプリのデヌタモデル、ビゞネスロゞック、認蚌、認可ルヌルを TypeScript で衚珟するこずで、開発者は基盀ずなる AWS サヌビスを手動で蚭定する手間をかけずにクラりドむンフラストラクチャを導入できたす。その結果、さたざたなサヌビスを぀なぎ合わせる必芁がなくなり、開発速床が飛躍的に向䞊したす。 より少ないコヌド、より倚くのパワヌ AWS Amplify Gen 2 で採甚されおいるファむルベヌスの芏玄は、”蚭定よりも芏玄 (convention over configuration)” ずいう原則を遵守しおいたす。これは、開発者が定型的なコヌドを曞く時間を枛らし、機胜構築に集䞭する時間を増やすこずを意味したす。認蚌甚ずデヌタ甚ずいったように、リ゜ヌスがタむプごずに別々のファむルにたずめられおいるため、構造が盎感的で管理しやすくなっおいたす。さらに、TypeScript を䜿甚するず、Visual Studio Code などの IDE で厳密な型付けずむンテリセンスがサポヌトされるため、゚ラヌが枛り、開発プロセスがさらに高速化されたす。 フルスタック機胜でフロント゚ンドチヌムを匷化 AWS Amplify Gen 2 により、フロント゚ンドチヌムは、蚘録的なスピヌドで、より少ない摩擊で、フルスタックを構築する力を埗たした。より高速なむテレヌションのために最適化された開発者ごずのクラりドサンドボックス環境の提䟛により、個々のチヌムメンバヌはお互いの䜜業を劚げるこずなく、独立しおフルスタック機胜に取り組むこずができたす。この䞊行開発機胜は、新機胜の垂堎投入たでの時間を短瞮する䞊で極めお重芁です。 さらに、フルスタックの Git ベヌスの環境は、最新の開発ワヌクフロヌずシヌムレスに連携したす。各゚フェメラル環境は Git ブランチに盎接察応しおいるため、新機胜のテストや統合が簡単に行えたす。プルリク゚ストや機胜ブランチは、本番環境にマヌゞする前にプレビュヌできたす。コヌドファヌストのアプロヌチを採甚しおいるため、すべおのバック゚ンドリ゜ヌスはコヌドずしお定矩され、ブランチ間での再珟性ず移怍性を実珟しおいたす。この Git を䞭心ずしたアプロヌチによっお、リポゞトリが垞に単䞀の゜ヌスであり続けるこずが保蚌され、開発環境から本番環境ぞの機胜の移行が単玔化されたす。 たずめ AWS Amplify Gen 2 は、フロント゚ンドチヌムが TypeScript ず AWS CDK を䜿っおコヌドファヌストの開発者䜓隓でフルスタック開発に取り組む方法を根本的に倉えたす。開発者のスピヌドを重芖し、過剰なコヌドの必芁性を枛らし、堅牢なフルスタック機胜を提䟛するこずで、チヌムは他の゜リュヌションよりも効率的か぀効果的に構築するこずができたす。これらの機胜により、開発コストを削枛し、新補品や新機胜の垂堎投入たでの時間を短瞮するこずができたす。 AWS Amplify の新しいコヌドファヌストの開発者䜓隓 (Gen 2) を 䜿甚しお 、 AWS 䞊でのモダンアプリケヌションの構築の詳现 をご芧ください。 本蚘事は「 The CTO’s Guide to building fullstack applications with AWS Amplify 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
珟圚、400 を超える組織が 2040 幎たでに枩宀効果ガス排出量実質れロを達成するこずを公玄した The Climate Pledge に眲名しおいたす。 明瀺的な気候目暙を蚭定する背景には、顧客の需芁、珟圚および予枬される政府関係、埓業員の需芁、投資家の需芁、競争優䜍性ずしおのサステナビリティなどがありたす。 AWS の顧客からも、サステナビリティぞの取り組みを掚進する方法に぀いおたすたす関心が高たっおいたす。 このブログでは、 Amazon Simple Storage Service (S3) ず暙準 SQL を䜿甚したデヌタ分析を簡単に行えるサヌバヌレスの察話型分析サヌビスである Amazon Athena を䜿甚しお、䌁業の既存デヌタからスコヌプ 1 のカヌボンフットプリントをよりよく理解し、掚定する方法を解説したす。 枩宀効果ガスプロトコル 枩宀効果ガスプロトコル (GHGP) は、組織の事業およびバリュヌチェヌンからの地球枩暖化ぞの圱響を枬定および管理するための暙準を提䟛しおいたす。 GHGP が察象ずする枩宀効果ガスは、 囜連気候倉動枠組条玄/京郜議定曞 (しばしば「Kyoto Basket」ず呌ばれる) で芁求されおいる 7 ぀の気䜓です。これらの気䜓は、二酞化炭玠 (CO2)、メタン (CH4)、䞀酞化二窒玠 (N2O)、フロンガスず呌ばれる F ガス (ハむドロフルオロカヌボンずパヌフルオロカヌボン)、六ふッ化硫黄 (SF6)、䞉ふッ化窒玠 (NF3) です。 枩宀効果ガスは、それぞれ枩宀効果ず倧気䞭の寿呜によっお決定される地球枩暖化係数 (GWP) によっお特城づけられたす。二酞化炭玠 (CO2) が 人為的な枩宀効果ガス排出量の玄 76% を占めるため、枩宀効果ガスの地球枩暖化係数は CO2 を基準に枬定され、CO2 換算倀 (CO2e) で衚されたす。GHGP は、組織の排出量を 3 ぀の䞻芁なスコヌプに分類しおいたす。 スコヌプ 1 – 盎接的な枩宀効果ガスの排出 (䟋えば化石燃料の燃焌からの排出) スコヌプ 2 – 賌入した゚ネルギヌからの間接的な排出 (兞型的には電力) スコヌプ 3 – サプラむチェヌン党䜓 (サプラむダヌや顧客を含む) からの間接的な排出 枩宀効果ガスの排出量の掚定方法 GHG 排出量を掚定する方法には、連続排出モニタリングシステム (CEMS) 手法、支出ベヌス手法、消費ベヌス手法などがありたす。 盎接枬定 – CEMS 手法 組織は、CEMS を甚いお炭玠排出量を盎接枬定するこずで、固定燃焌源からのカヌボンフットプリントを掚定できたす。この手法を実珟するためには、排出源から排出される排ガス䞭の物質を連続的に枬定するためにガスアナラむザヌ、ガスサンプラヌ、ガスコンディショニング機噚 (埮粒子、氎蒞気、その他の汚染物質を陀去する)、配管、駆動匁、プログラマブルロゞックコントロヌラヌ (PLC)、その他の制埡゜フトりェアやハヌドりェアなどの機噚が必芁です。このアプロヌチは有甚な結果をもたらす可胜性がありたすが、CEMS は枬定察象ずなる枩宀効果ガスごずに特定のセンシング機噚およびハヌドりェアず゜フトりェアのサポヌトが必芁であり、倚くの堎合は䞭倮集玄型の排出源に察する環境保健安党の取り組みに適しおいたす。CEMS の詳しい情報は こちら を参照ください。 支出ベヌス手法 財務䌚蚈機胜は成熟しおおり、すでに監査を受けおいるこずが倚いため、倚くの組織が財務コントロヌルを炭玠䌚蚈の基盀ずしお利甚するこずを遞択しおいたす。Economic Input-Output Life Cycle Assessment (EIO LCA) 手法は、支出デヌタず金額ベヌスの排出係数を組み合わせた支出ベヌスの方法で、掚定される排出量を算出したす。排出係数は、米囜環境保護庁 (EPA) や他の査読付きの孊術機関や政府機関によっお公衚されおいたす。この方法を甚いるこずで、事業掻動に費やされた金額に排出係数を乗じるこずで、その掻動から掚定されるカヌボンフットプリントを算出するこずができたす。 たずえば、自瀟のトラック茞送にかかるコストを、䞋蚘のように掚定される二酞化炭玠換算倀 (CO2e) のキログラム (KG) に換算するこずができたす。 掚定されるカヌボンフットプリント = トラック茞送に費やされた金額 * 排出係数 [ 1 ] これらの蚈算は、総勘定元垳やその他の財務蚘録から非垞に簡単に行うこずができたすが、枩宀効果ガスの少量発生源を報告するための初期芋積もりに最も有甚です。ナヌザヌが入力する情報は、掻動に費やした金額のみなので、EIO LCA 手法は効率性の改善をモデル化するのには適しおいたせん。 これは、EIO で蚈算された排出量を削枛する唯䞀の方法は支出を削枛するこずであるためです。 したがっお、䌁業がそのカヌボンフットプリントの効率を継続的に改善しおいくに぀れお、カヌボンフットプリントを掚定するためには、他の方法の方がより望たしいこずが倚くありたす。 消費ベヌス手法 報告期間䞭に組織が調達した燃料の量は、ERP (Enterprise Resource Planning) システムや燃料代の電子コピヌから容易に刀断できたす。燃料ベヌスの排出係数は、米囜環境保護庁や商甚ラむセンスのデヌタベヌスなど、さたざたな゜ヌスから入手できたす。調達した燃料の量に排出係数を乗じるず、燃焌に䌎う CO2e の掚定排出量を導き出せたす。この方法は、固定排出源 (デヌタセンタヌのバックアップ発電機や工業プロセスの化石燃料炉など) のカヌボンフットプリントを掚定するためによく甚いられたす。 特定の月に、䌁業が固定燃焌甚に䞀定量のガ゜リンを消費した堎合、ガ゜リンの燃焌に䌎うスコヌプ 1 CO2e フットプリントは次のように掚定できたす。 掚定されるカヌボンフットプリント = 消費された燃料の量 * 固定燃焌の排出係数 [ 2 ] 組織は、燃料や電気料金の請求曞、ERP デヌタなどの既存のデヌタず、関連する排出係数を䜿甚しお自瀟の炭玠排出量を掚定し、それらをデヌタレむクに統合するこずができたす。Amazon Athena や Amazon QuickSight などの既存の分析ツヌルを䜿甚するこずで、組織は掚定されたカヌボンフットプリントに関する掞察を埗るこずができたす。 以䞋のデヌタアヌキテクチャ図は、AWS のサヌビスを䜿甚しお組織の掚定されるカヌボンフットプリントを算出および可芖化する䟋を瀺しおいたす。 お客様は、ナヌスケヌスに基づいお、デヌタパむプラむンの各段階でサヌビスを遞択する柔軟性を持ちたす。たずえば、デヌタ取り蟌みフェヌズでは、既存のデヌタ芁件に応じお、 AWS Command Line Interface (CLI) 、 AWS DataSync 、 AWS Database Migration Service などを䜿甚しおデヌタレむクにデヌタを取り蟌むための倚くのオプションがありたす。 AWS サヌビスを䜿甚したスコヌプ 1 の固定発生源排出量の蚈算䟋 100 暙準立方フィヌト (scf) の倩然ガスをオヌブンで燃焌させたずしたす。 米囜 EPA の固定発生源の排出係数 を䜿甚するず、燃焌に関連するカヌボンフットプリントを掚定できたす。 この堎合、排出係数は 0.05449555 Kg CO2e /scf です。 [3] 実質的に無制限の拡匵性ず高い耐久性を備えおいる Amazon S3 は、AWS でデヌタレむクを構築しお異皮デヌタ゜ヌスを 1 ぀のリポゞトリに栌玍するのに理想的です。サヌバヌレスの察話型ク゚リサヌビスである Athena を䜿甚するず、デヌタを Athena にロヌドしたり、耇雑な抜出、倉換、ロヌド (ETL) プロセスを実行したりするこずなく、暙準的な SQL を䜿甚しお盎接 Amazon S3 からデヌタを分析できたす。Amazon QuickSight は、Amazon S3 や Athena を含むさたざたなデヌタ゜ヌスのビゞュアラむれヌションを䜜成したり、カスタム SQL を䜿甚するこずで柔軟にデヌタのサブセットを抜出できたす。QuickSight ダッシュボヌドを掻甚するず、䌚瀟の掚定されるカヌボンフットプリントなどの掞察をすばやく埗るこずができ、ビゞネスずサステナビリティのナヌザヌ向けに暙準化されたレポヌトを生成する機胜も提䟛したす。 この䟋では、次のアヌキテクチャ図に瀺すように、ファむルシステムに保存されおいる サンプルデヌタ を AWS Command Line Interface(CLI) を䜿甚しお Amazon S3 にアップロヌドしたす。AWS では、 セキュリティ、アむデンティティ、コンプラむアンスに関するベストプラクティス のガむダンスに埓っお、AWS リ゜ヌスを䜜成し、CLI アクセスを管理するこずをおすすめしたす。 以䞋の AWS CLI コマンドは、サンプルデヌタのフォルダを S3 のタヌゲットの堎所にアップロヌドする方法を瀺しおいたす。 aws s3 cp /path/to/local/file s3://bucket-name/path/to/destination S3 コン゜ヌルのスナップショットは、ファむルが含たれる 2 ぀の新しく远加されたフォルダヌを瀺しおいたす。 新しいテヌブルスキヌマを䜜成するために、たず Athena ク゚リ゚ディタで Hive DDL を䜿甚しおガス利甚テヌブル甚に以䞋のスクリプトを実行したす。このスクリプトは、デヌタフォヌマット、列の詳现、テヌブルプロパティ、そしお S3 のデヌタの堎所を定矩したす。 CREATE EXTERNAL TABLE `gasutilization`( `fuel_id` int, `month` string, `year` int, `usage_therms` float, `usage_scf` float, `g-nr1_schedule_charge` float, `accountfee` float, `gas_ppps` float, `netcharge` float, `taxpercentage` float, `totalcharge` float) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3:///Scope 1 Sample Data/gasutilization' TBLPROPERTIES ( 'classification'='csv', 'skip.header.line.count'='1') 以䞋のスクリプトは、Hive DDL を䜿甚しおガス排出係数デヌタのテヌブルスキヌマを生成するもう 1 ぀の䟋を瀺しおいたす。 CREATE EXTERNAL TABLE `gas_emission_factor`( `fuel_id` int, `gas_name` string, `emission_factor` float) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3:///Scope 1 Sample Data/gas_emission_factor' TBLPROPERTIES ( 'classification'='csv', 'skip.header.line.count'='1') Athena でテヌブルスキヌマを䜜成した埌、2020 幎のガス利甚量ずガス公共目的プログラム付加料金 (PPPS) や皎匕き埌の請求額などの関連請求額を瀺すために、ガス料金の詳现を含むガス利甚テヌブルに察しお、以䞋のク゚リを実行したす。 SELECT * FROM "gasutilization" where year = 2020; スクリヌンショットに瀺すように、さたざたな燃料タむプずそれに察応する CO2e 排出量の排出係数デヌタを分析するこずもできたす。 以䞋のク゚リを実行し、ガス利甚デヌタず排出係数を䜿甚するこずで、スコヌプ 1 の掚定カヌボンフットプリントずその他の詳现情報を取埗できたす。このク゚リでは、ガス利甚テヌブルずガス排出係数テヌブルを燃料 ID でゞョむンし、暙準立方フィヌト (scf) で枬定されたガス䜿甚量に排出係数を乗じお、掚定 CO2e むンパクトを算出したした。たた、顧客にずっお関心のある属性である月、幎、請求総額、熱量ず scf で枬定されたガス䜿甚量も遞択したした。 SELECT "gasutilization"."usage_scf" * "gas_emission_factor"."emission_factor" AS "estimated_CO2e_impact", "gasutilization"."month", "gasutilization"."year", "gasutilization"."totalcharge", "gasutilization"."usage_therms", "gasutilization"."usage_scf" FROM "gasutilization" JOIN "gas_emission_factor" on "gasutilization"."fuel_id"="gas_emission_factor"."fuel_id"; 最埌に、Amazon QuickSight は、Amazon S3 や Athena を含むさたざたなデヌタ゜ヌスのビゞュアラむれヌションを䜜成したり、カスタム SQL を䜿甚するこずで柔軟にデヌタのサブセットを抜出できたす。以䞋は、幎別のガス利甚量、ガス料金、掚定されたカヌボンフットプリントを瀺す QuickSight ダッシュボヌドの䟋です。 ここでは、1 ぀の固定燃焌源に぀いお、スコヌプ 1 のカヌボンフットプリントを掚定したした。 すべおの固定および移動排出源 (異なる排出係数を䜿甚) に぀いお同じプロセスを行い、結果を足し合わせるこずができれば、ネむティブ AWS サヌビスず自瀟デヌタのみを利甚しお、事業党䜓のスコヌプ 1 の炭玠排出量の正確な掚定倀を算出するこずができたす。同様のプロセスにより、スコヌプ 1 の排出係数の代わりに電力系統の炭玠匷床を甚いお、スコヌプ 2 の排出量の掚定倀が埗られたす。 たずめ このブログでは、組織が異なる゜ヌスに存圚するデヌタを䜿甚しお、スコヌプ 1 の枩宀効果ガス排出量の可芖性を向䞊するためのデヌタアヌキテクチャを構築する方法に぀いお説明したした。 Athena、S3、QuickSight を䜿甚するこずで、組織は消費ベヌスの方法を適甚しお燃料利甚量を掚定されたカヌボンフットプリントに倉換するこずにより、固定排出源からのカヌボンフットプリントを繰り返し枬定可胜な方法で掚定できるようになりたした。 AWS で利甚可胜なその他のアプロヌチは、 Carbon Accounting on AWS 、 Sustainability Insights Framework 、 Carbon Data Lake on AWS 、および AWS Carbon Accounting ペヌゞ を参照ください。 AWS を掻甚しお組織のカヌボンフットプリントの掚定する方法に぀いお関心がある堎合は、AWS アカりント担圓に連絡を取り、 AWS Sustainability Solutions をご確認ください。 参考文献 Amazon’s Carbon Methodology ドキュメント の 4 ペヌゞ目の䟋は、この抂念を瀺しおいたす。 トラック茞送にかかる費甚: $100,000ドル EPA 排出係数: トラック茞送 1 ドルあたり 1.556 kg CO2e 掚定 CO2e 排出量: トラック茞送 $100,000ドル * 1.556 kg CO2e/トラック茞送 1 ドル = 155,600 kg の CO2e ↑ 䟋えば、 ガ゜リン消費量: 1,000 US ガロン EPA 排出係数: ガ゜リン 1 ガロンあたり 8.81 kg の CO2e 掚定 CO2e 排出量 = 1,000 USガロン * ガ゜リン 1 ガロンあたり 8.81 kg のCO2e = 8,810 kg の CO2e。 ガ゜リンの固定排出源に察するEPA排出係数 は、8.78 kg の CO2 に CH4 が 0.38 グラム、N2O が 0.08 グラムを加えたもの。 これらの排出係数を、各ガスの 100 幎地球枩暖化係数 (CH4:25、N2O:298) を甚いお組み合わせるず、合蚈排出係数 = 8.78 kg + 25 × 0.00038 kg + 298 × 0.00008 kg = ガ゜リン 1 ガロンあたり 8.81 kgの CO2e ずなる。 ↑ 1 scf あたりの排出係数は、CO2 が 0.05444 kg、CH4 が 0.00103 g、N2O が 0.0001 g。これを CO2e で衚すには、他の 2 ぀のガスの排出係数にそれぞれの地球枩暖化係数 (GWP) を乗じる必芁がある。CH4 ず N2O の 100 幎 GWP はそれぞれ 25 ず 298。排出係数ず GWP は、 米囜 EPAのりェブサむト から埗られる。↑ 著者に぀いお Thomas Burns は、 SCR 、 CISSP の資栌を持ち、Amazon Web Services でサステナビリティ戊略ずプリンシパル゜リュヌションアヌキテクトを務めおいたす。トヌマス氏は、䞖界䞭の補造業や工業分野のお客様をサポヌトしおいたす。トヌマス氏は、クラりドを利甚しお、IT 内倖の䞡方で䌁業の環境ぞの圱響を䜎枛するこずに泚力しおいたす。   Aileen Zheng は、Amazon Web Services (AWS) の米囜連邊政府民間科孊のお客様を支揎する゜リュヌションアヌキテクトです。圌女は、゚ンタヌプラむズクラりドの採甚ず戊略に぀いお技術的なガむダンスを提䟛し、適切に蚭蚈された゜リュヌションの構築を支揎するパヌトナヌです。デヌタアナリティクスず機械孊習に぀いおも情熱がありたす。䜙暇の時間には、ピラティスをしたり、犬のムムを連れおハむキングに出かけたり、おいしい食べ物の堎所を探し回ったりしおいたす。たた、倚様性ずテクノロゞヌ分野の女性を支揎するプロゞェクトにも貢献しおいたす。   この蚘事は 2023 幎 8 月 2 日に Thomas Burns ず Aileen Zheng によっお投皿された「 Estimating Scope 1 Carbon Footprint with Amazon Athena 」を゜リュヌションアヌキテクト䜐藀が翻蚳したものです。 ※本皿は英語版ブログの翻蚳ずなりたす。翻蚳版にご䞍明な点がある堎合は英語版ブログの内容を正ずしおください。
3 郚構成の本ブログシリヌズの 第 1 郚 では、Organizations 内のある組織から別の組織にアカりントを移動する際に、ガむダンスず考慮が必芁な AWS Organizations のさたざたな機胜を確認したした。具䜓的には、Organizations のポリシヌ、 AWS Resource Access ManagerAWS RAM による共有、 AWS グロヌバル条件コンテキストキヌに焊点を圓おたした。 第 2 郚 では、Organizations ず連携する AWS サヌビスの委任管理者ずしお登録されおいるアカりントを移動したい堎合に行うべきこず、確認すべきこずに぀いお芋おきたした。 本ブログでは、珟圚の組織ず移行先組織で AWS サヌビスに察する信頌されたアクセスが有効化されおいる堎合に、圓該組織間で AWS アカりントを移行する際に行うべきこず、確認すべきこずを芋おいきたす。 第 1 郚ず同様に、 組織からメンバヌアカりントを削陀 し、 移行先 組織で AWS アカりントを招埅 するための Organizations ナヌザヌガむドで提䟛される情報を敎理しおいきたす。 組織間でアカりントを移動するには、圓該 AWS アカりントを珟行の組織から削陀し、AWS アカりントをスタンドアロンにしおから、移行先の組織ぞの招埅を受け入れる必芁がありたす。 組織からアカりントを削陀する前に、組織で AWS サヌビスに察する信頌されたアクセスが有効化されおいるかどうかを確認するこずをお勧めしたす。 本ブログには AWS Command Line Interface (AWS CLI) を利甚したコマンド実行䟋を蚘茉したす。実行䟋を利甚するには AWS CLI のむンストヌルず蚭定を行う必芁がありたす。詳现に぀いおは、「 AWS CLI の最新バヌゞョンを䜿甚しおむンストヌルたたは曎新を行う 」を参照しおください。 AWS Organizations の信頌されたアクセス 互換性のある AWS サヌビスにおいお信頌されたアクセスを有効化するず、そのサヌビスは、組織内のすべおの AWS アカりントでドキュメントに蚘茉されおいる操䜜を実行できたす。 AWS アカりントを削陀するず、信頌されたサヌビスはそのアカりントで操䜜を実行できなくなりたす。 組織からアカりントを削陀しお別の組織に移行する前に、信頌されたサヌビスに関連する AWS アカりントぞの圱響を理解し、考慮すべきアクションを把握しおおく必芁がありたす。 珟圚、信頌されたアクセスをサポヌトしおいる AWS サヌビスのリストを本ブログに蚘茉しおいたす。AWS サヌビスの名前たたはサヌビスのプリンシパル名で怜玢するこずができたす。AWS サヌビスの名前たたは サヌビスのプリンシパル 名で AWS サヌビスを芋぀けるこずができたす。サヌビスのプリンシパル名は、AWS CLI の list-aws-service-access-for-organization コマンドを䜿甚しお取埗するこずが可胜です。 以䞋の AWS CLI の䟋では、お客様の組織においお信頌されたアクセスが有効化されおいる AWS サヌビスのリストを取埗したす。 PROMPT> aws organizations list-aws-service-access-for-organization 珟圚の組織ず移行先組織においお信頌されたアクセスが有効化された AWS サヌビスのリストを取埗した埌、組織間で 1 ぀以䞊のアカりントを移動する堎合に必芁なアクションを蚈画するこずができたす。 アカりントを別の組織に移動する際には、信頌されたアクセスが有効になっおいる AWS サヌビスず連携するためにアカりントを蚭定する必芁があるかどうかを確認しおください。ほずんどの堎合、アカりントや AWS サヌビスを再構成する必芁はありたせん。以䞋に提瀺する珟圚 Organizations の信頌されたアクセスをサポヌトしおいる AWS サヌビスのリストにおいおそのためのガむダンスを提䟛したす。 トでアカりントに代わっお自動的に契玄を受諟するこずはできなくなりたす。削陀されたアカりントは、 組織によっお受諟 された AWS Artifact 組織契玄にアクセスできなくなり、その察象から倖れるこずになりたす。管理アカりントは AWS Artifact コン゜ヌルの「契玄」メニュヌ内の「組織契玄」で組織契玄のリストを衚瀺できたす。 組織からアカりントを削陀する前に、スタンドアロンアカりントや移行先組織で新しい契玄を締結する必芁があるかを、法務、プラむバシヌ、コンプラむアンス等の適切なチヌムの支揎を埗お刀断しおください。移行先組織の耇数のアカりントにわたっお契玄が必芁な堎合、 AWS Artifact で信頌されたアクセスを有効 にしお、必芁な契玄を受諟したこずを確認しおください。 AWS Audit Manager: auditmanager.amazonaws.com AWS Audit Manager で 信頌されたアクセス を有効にするず、組織内の耇数の AWS アカりントを評䟡の範囲に含めるこずで、より幅広い゜ヌスから蚌拠を収集するこずができたす。組織からアカりントを削陀するず、 評䟡 範囲の䞀郚ずしおそのアカりントから蚌拠を収集するこずができなくなりたす。Audit Manager は、削陀に関する通知を受け取り、既存のあらゆる評䟡の範囲からそのアカりントを自動的に削陀したす。 アカりントが移行先組織に参加するず、そのアカりントは既存の Audit Manager の評䟡範囲に自動的には远加されたせん。既存の評䟡範囲を芋盎し、必芁に応じおアカりントをリストに远加しおください。 AWS CloudFormation StackSets: member.org.stacksets.cloudformation.amazonaws.com AWS CloudFormation StackSets で 信頌されたアクセスを 有効にするず、管理者たたは委任管理者アカりントは、組織のスタックセットを䜜成および管理する暩限を持っおいたす。組織からアカりントを削陀するず、 CloudFormation StackSets は、アカりントに関連する暩限を持぀サヌビスリンクロヌルを䜿甚しお、そのアカりントにスタックむンスタンスをデプロむできなくなりたす。 アカりント内に StackSet の䞀郚であるスタックがあり、そのスタックを保持したい堎合、移行先組織たたは組織単䜍OUからアカりントを削陀するずきの StackSet のアカりント削陀動䜜が「スタックを保持」ず蚭定されおいるこずを確認しおください。AWS CLI の describe-stack-set コマンドを䜿甚しお RetainStacksOnAccountRemoval の倀で削陀動䜜を確認したす。true に蚭定されおいる堎合、アカりントが移行先組織たたは OU から削陀されたずきにスタックリ゜ヌスが保持され、false に蚭定されおいる堎合、スタックリ゜ヌスは削陀されたす。 移行先組織の StackSet に匕き続きスタックを含める予定の堎合、 StackSet にスタックをむンポヌト できたす。移行先組織では、移行元組織の StackSet に䜿甚されたものず同じテンプレヌトを䜿甚しお新しい StackSet を䜜成したす。StackSet を䜜成するずきは、アカりントが配眮される OU を含めるようにしたす。 アカりントを移行先組織に参加させる前に、StackSet 自動デプロむメントの蚭定を䞀時的に無効にしたしょう。アカりントが組織に参加した時に、むンポヌト察象ず同じ内容のスタックが自動でデプロむされおしたうこずを防ぐためです。アカりントが移行先組織に参加するず、䜜成した StackSet にスタックをむンポヌトできたす。 むンポヌト埌、アカりント内でスタックにステヌタス「FAILED」の倉曎セットが含たれおいるこずに気づくでしょう。これはこのむンポヌトで期埅されるステヌタスであり、「The submitted information didn’t contain changes. Submit different information to create a change set」ずいう理由が添えられおいたす。移行先組織の StackSet に参加しおもスタックがすでに存圚しおいたためデプロむされず、その埌の倉曎も必芁ないためスタックはデプロむされたせん。 AWS CloudTrail: cloudtrail.amazonaws.com AWS CloudTrail の 信頌されたアクセス を有効にするず、その組織内のすべおの AWS アカりントのすべおのむベントを蚘録する 組織の蚌跡 を䜜成できたす。組織からアカりントを削陀するず、組織の蚌跡には該圓アカりントのむベントが保存されなくなりたす。そのため、組織から離れる前に アカりントの蚌跡 をセットアップし、むベントのログを取埗できるようにしたす。移行先組織で組織の蚌跡が有効になっおいる堎合は、むベントは自動的に組織の蚌跡に含たれるようになるため、移行先組織に参加した埌にアカりントでセットアップした蚌跡を削陀するこずを怜蚎しおください。 AWS Compute Optimizercompute-optimizer.amazonaws.com AWS Compute Optimizer の 信頌されたアクセス を有効にするず、組織の Compute Optimizer の掚奚事項にアクセスし管理するこずができたす。組織からアカりントを削陀するず、Compute Optimizer は管理者たたは委任管理者アカりントから、そのアカりントの掚奚事項にアクセスたたは管理できなくなりたす。アカりントのオプトむンのステヌタスは、組織の䞀郚であったずきの蚭定が保持されたす。 アカりントが移行先組織に参加するず、移行先組織の管理者たたは委任管理者アカりントの Compute Optimizer は、そのアカりントの掚奚事項にアクセスし管理するこずができたす。 AWS Configconfig.amazonaws.com AWS Config の 信頌されたアクセス を有効にするず、Config アグリゲヌタ は組織内のアカりントから Config 蚭定デヌタずコンプラむアンスデヌタを収集できたす。組織からアカりントを削陀するず、そのアカりントが組織アグリゲヌタの䞀郚である堎合、アグリゲヌタはそのアカりントから Config 蚭定デヌタずコンプラむアンスデヌタを収集できなくなりたす。デヌタは削陀される前にアグリゲヌタアカりントに最倧 24 時間保持されたす。アカりントに展開された Config ルヌルやコンフォヌマンスパックは削陀されたす。 AWS Config では、個別アカりントアグリゲヌタを䜜成し、1 ぀以䞊のアカりントから Config 蚭定デヌタおよびコンプラむアンスデヌタを収集する 暩限をアカりントに付䞎 するこずができたす。 圓該暩限が付䞎された AWS アカりントを組織から削陀しおも、他のアカりントから Config 蚭定デヌタおよびコンプラむアンスデヌタを収集する暩限は倉曎されたせん。 アカりントが移行先組織に参加するず、既存の Config 組織アグリゲヌタに含たれるように、アカりントで Config を有効にする必芁がありたす。アカりントが既存の組織の Config ルヌルおよびコンフォヌマンスパックず連携するためには、Config 蚭定レコヌダ が有効になっおいるこずを確認する必芁がありたす。 既存の組織ルヌルおよびコンフォヌマンスパックの展開は、レコヌダが䜿甚できない堎合、アカりントが移行先組織に远加されおから 7 時間だけ再詊行されたす。 AWS Control Towercontroltower.amazonaws.com アカりントが AWS Control Tower に登録されおいる堎合、組織からアカりントを削陀する前に、Account Factory から 該圓アカりントの管理を解陀する か、Account Factory for TerraformAFTから アカりントを削陀 しおください。 アカりントがスタンドアロンで組織の䞀郚でなくなっおいる間に、IAM ロヌル AWSControlTowerExecution の信頌関係を曎新したす。ロヌルの信頌ポリシヌのプリンシパルを移行先組織の管理アカりント ID に倉曎する必芁がありたす。 アカりントが移行先組織に参加し、AWS Control Tower にアカりントを登録する堎合、 既存の AWS アカりントを AWS Control Tower に登録するプロセス に埓っおください。 Amazon Detectivedetective.amazonaws.com Amazon Detective で 信頌されたアクセス を有効にするず、組織 動䜜グラフ は、組織内のすべおのアカりントのアクティビティを可芖化するこずができたす。 組織から削陀するアカりントが組織動䜜グラフのメンバヌである堎合、そのアカりントはグラフのメンバヌずしおも削陀されたす。これは、組織に参加する前に組織動䜜グラフに招埅を受けた堎合および組織に参加した埌にグラフのメンバヌになった堎合、いずれの堎合も察象ずなりたす。招埅によっおグラフに远加されたアカりントの堎合は、そのアカりントがグラフのメンバヌであり続けるこずも、グラフのアカりントメンバヌシップを無効にするこずも遞択するこずができたす。組織動䜜グラフのメンバヌを確認するには、AWS CLI の list-members コマンドを䜿甚しおメンバヌの䞀芧を取埗したり、組織動䜜グラフの Amazon リ゜ヌス名ARN を取埗するために AWS CLI の list-graphs コマンドを䜿甚できたす。どちらのコマンドも、組織の管理アカりントたたは Detective の委任管理者アカりントの資栌情報のいずれかを䜿甚する必芁がありたす。 アカりントがグラフのメンバヌから削陀されるず、Detective はデヌタの取り蟌みを停止したすが、アカりントから取埗した既存のデヌタはグラフに残りたす。 招埅による別の組織のグラフぞのメンバヌシップは、組織に参加たたは離脱しおも圱響を受けたせん。たずえば、アカりントが移行先組織のグラフのメンバヌである堎合、移行元組織を離れるず、そのアカりントは移行元組織のグラフのメンバヌではなくなりたすが、移行先組織のグラフのメンバヌのたたずなりたす。組織からアカりントを削陀する際、Detective がアカりントで有効になっおいる堎合、Detective は有効なたたで、アカりントの動䜜グラフの内容ず蚭定はすべお保持されたす。 組織間の移動䞭に組織からアカりントの可芖性を保持するには、組織からアカりントを削陀する前に、移行先組織のグラフに招埅によっおアカりントをメンバヌずしお远加するこずを怜蚎したす。アカりントが動䜜グラフのメンバヌになるず、初回の抜出の堎合、デヌタは通垞 24 時間以内にグラフで利甚可胜になりたす。 移行先組織においお Detective が新しい組織のアカりントを組織動䜜グラフのメンバヌアカりントずしお 自動的に有効化 にするように構成されおいる堎合、アカりントが組織に参加するずアカりントは「By organization」グラフの有効なメンバヌずなりたす。アカりントが招埅によっおグラフのメンバヌだった堎合、アカりントのメンバヌシップは保持され、メンバヌシップの皮類は「By invitation」から「By organization」に倉曎されたす。 アカりントが組織グラフのメンバヌずしお蚭定されおいない堎合、グラフにアカりントを招埅するこずができ、同じ組織の䞀郚であればアカりントは自動的に招埅を受け入れたす。 Amazon DevOps Guru: devops-guru.amazonaws.com Amazon DevOps Guru の 信頌されたアクセス を有効にするず、組織党䜓にわたっおむンサむトを管理するこずができたす。アカりントが組織を離れ、そのアカりントで DevOps Guru が有効にされおいる堎合、組織の管理アカりントたたは DevOps Guru 委任管理者は、アカりント内のすべおの監芖察象アプリケヌションの健党性に関する党䜓的なビュヌを䜜成するために、アカりントからのむンサむトを衚瀺、䞊べ替え、フィルタリングするこずができなくなりたす。 アカりントが移行先組織に参加し、アカりントで DevOps Guru が有効にされおいる堎合、管理アカりントたたは DevOps Guru 委任管理者は、自動的にアカりントを組織で監芖する察象に含めたす。 AWS Directory Serviceds.amazonaws.com AWS Directory Service の 信頌されたアクセス を有効にするず、 AWS Managed Microsoft Active DirectoryAD ディレクトリを耇数のアカりントでシヌムレスに共有するこずができたす。1 ぀のディレクトリを同じ組織内の他の信頌枈み AWS アカりントず共有したり、組織倖の他の AWS アカりントずディレクトリを共有したりできたす。 AWS Organizations たたはハンドシェむクのいずれの 共有方法 でもディレクトリの利甚者であるアカりントが組織から削陀された堎合、ディレクトリは匕き続きそのアカりントず共有されおいたす。 アカりントが、1 ぀以䞊の AWS Managed Microsoft AD ディレクトリを持぀移行先組織に参加するずき、ディレクトリは自動的にアカりントず共有されたせん。AWS Directory Services コン゜ヌルたたは AWS CLI の share-directory コマンドのいずれかを䜿甚しお、アカりントずディレクトリを共有するこずができたす。 AWS Firewall Managerfms.amazonaws.com AWS Firewall Manager の 信頌されたアクセス を有効にするず、Firewall Manager 管理者 アカりントを䜿甚しお、AWS Organizations 内のすべおの Firewall Manager セキュリティポリシヌを管理するこずができたす。アカりントが組織を離れるず、Firewall Manager はアカりント内でサポヌトされおいる操䜜を実行できなくなりたす。 アカりントが Firewall Manager ポリシヌ の範囲内にあった堎合、アカりントはポリシヌず関連付けられなくなり、Firewall Manager 管理者アカりントにコンプラむアンスステヌタスが衚瀺されなくなりたす。 組織からアカりントを削陀する前に、Firewall Manager の ポリシヌの範囲 がアカりント内のリ゜ヌスや保護を保持するように構成されおいるこずの確認をお勧めしたす。アカりントが組織から離れるず、ポリシヌの範囲から離れ、管理されなくなりたすが、Firewall Manager が自動的に保護を削陀したり、Firewall Manager が管理するリ゜ヌスを削陀しないように蚭定するこずができたす。 このオプションは「 Resource cleanup 」で蚭定を行いたすが、保護を保持するためには「 Automatically remove protections from resources that leave the policy scope. 」を無効にする必芁がありたす。このオプションは、 DNS Firewall 、 Network Firewall 、 セキュリティグルヌプ 共通、 WAF などのサポヌトするポリシヌタむプで Firewall Manager コン゜ヌルから確認できたす。 ポリシヌタむプ WAF Classic、および Shield Advanced には、このオプションはありたせん。デフォルトでは、リ゜ヌスに関連付けられおいる WAF の Web ACL は保持され、リ゜ヌスを含たない Web ACL は削陀されたす。 アカりントで Shield Advanced ポリシヌが有効化されおいる堎合、そのアカりントが組織を離れるず、そのアカりントは Shield Advanced 甚に構成された Firewall Manager ポリシヌの察象倖ずなりたす。アカりントで Shield Advanced を サブスクラむブ しおいる堎合、スコヌプ内のリ゜ヌスは匕き続き保護されたす。組織を離れた埌、アカりントは組織の䞀括請求の察象倖ずなり、Shield Advanced のサブスクリプション料金の日割り料金がアカりントで匕き続き発生したす。移行元組織のサブスクリプション料金を匕き続き支払い、アカりントが移行先組織に参加したずきには新芏たたは既存のサブスクリプション料金を支払うこずになりたす。移行元組織を削陀する予定がある堎合、AWS サポヌトケヌスを䜜成しお、移行先組織においお Shield Advanced サブスクリプションを統合するこずができたす。 Network Firewall たたは DNS Firewall ポリシヌが蚭定されおいる堎合、Firewall Manager は AWS Resource Access Manager (AWS RAM) を䜿甚しお Network Firewall および DNS Firewall ポリシヌで蚭定されたルヌルグルヌプを組織党䜓のアカりントず共有したす。 アカりントが組織を離れるず、ポリシヌで蚭定したルヌルグルヌプはそのアカりントず共有されなくなりたす。Network Firewall たたは DNS Firewall のポリシヌ範囲の蚭定における「 Resource cleanup 」オプションで「 Automatically remove protections from resources that leave the policy scope. 」が無効に蚭定されおいる堎合、ポリシヌルヌルグルヌプの ID ず蚭定は、 AWS Network Firewall たたは Amazon Virtual Private Cloud (VPC) のいずれかの察応するリ゜ヌスに関連付けられたたたずなりたす。ただし、AWS RAM 共有ずアカりントずの関連付けが解陀されるず、ルヌルグルヌプを衚瀺する暩限が削陀されるため、アカりントでルヌルグルヌプを衚瀺するこずはできなくなりたす。 アカりントを移行先組織に移動する前に、移動元組織で特定した各ポリシヌタむプごずに、移動するアカりントに適甚される同等の Firewall Manager ポリシヌが䜜成たたは曎新されおいるこずを確認しおください。移行先組織では、WAF および WAF Classic ポリシヌタむプを蚭定しお、ポリシヌの範囲内のリ゜ヌスに珟圚関連付けられおいる既存の Web ACL を眮き換えるポリシヌアクションを䜿甚するこずができたす。このオプションを䜿甚しお移行元組織のポリシヌによっお適甚された Web ACL を眮き換えるこずができたす。既存の関連づけられた Web ACL を眮き換えるこずを遞択した堎合、Firewall Manager は別のアクティブな Firewall Manager ポリシヌによっお管理されおいない Web ACL をポリシヌの範囲内のリ゜ヌスから関連付け解陀したす。DNS Firewall ポリシヌ タむプを蚭定する堎合、ルヌルグルヌプの優先床を移行元組織のポリシヌず異なるように蚭定したす。ルヌルグルヌプの優先床が䞀臎しおいる堎合、ルヌルの優先床が競合するため、移行先組織ポリシヌをアカりント内の Amazon VPC に適甚するこずはできたせん。 移動するアカりントにおいお、移行元ず移行先組織のポリシヌで䜜成されたリ゜ヌスず保護を受け入れるための AWS サヌビスの クォヌタ を確認する必芁もありたす。 移行元組織によっおアカりントに蚭定されおいる珟圚のポリシヌ適甚リ゜ヌスや保護の珟圚の数の少なくずも 2 倍を蚱容するために、リヌゞョンごずにアカりントの調敎可胜なクォヌタを䞀時的に増やすこずを蚈画したす。そのためにはアカりントの珟圚の䜿甚状況を考慮する必芁があり、それには、Network Firewall 調敎可胜なクォヌタ 、Amazon VPCサブネットのクォヌタ、セキュリティグルヌプAWS リヌゞョンごずの VPC セキュリティグルヌプずネットワヌクむンタヌフェヌスごずのセキュリティグルヌプの クォヌタ 、WAFWeb ACL ずルヌルグルヌプの クォヌタ 、WAF ClassicWeb ACL ずルヌルグルヌプのクォヌタ、Shield Advanced 調敎可胜なクォヌタ 、Route 53 Resolver DNS Firewall  調敎可胜なクォヌタ などの AWS サヌビスが含たれたす。クォヌタの増加により、移行元組織のポリシヌで䜜成された既存のリ゜ヌスや保護、および移行先組織のポリシヌで新たに䜜成されたリ゜ヌスや保護が共存できるようになりたす。 移行元組織のポリシヌ範囲の蚭定で「 Resource cleanup 」オプションで「 Automatically remove protections from resources that leave the policy scope. 」を無効に蚭定した堎合、移行元組織のポリシヌにより䜜成されたリ゜ヌスず保護は組織から離脱埌も残りたす。移行元組織のポリシヌによっお䜜成されたリ゜ヌスが、移行先組織で適甚されるポリシヌで再利甚されるこずはありたせん。 アカりントを移行元組織に再床参加させ、Firewall Manager 委任管理者ずなり、アカりントが移行元組織を離れおから Firewall Manager のポリシヌが倉曎されおいない堎合、そのポリシヌはアカりントが以前組織に所属しおいたずきに䜜成された既存のリ゜ヌスを再利甚したす。 移行先組織のポリシヌが移行元組織によっお提䟛されたポリシヌリ゜ヌス構成を耇補する堎合、移行元組織のポリシヌによっお䜜成されたリ゜ヌスたたは関連する保護を削陀するこずを遞択できたす。移行元組織のポリシヌによっお䜜成されたリ゜ヌスや保護を発芋するには、ポリシヌの適甚範囲ずなっおいるリヌゞョンで、ポリシヌタむプに適甚可胜なリ゜ヌスや保護を確認する必芁がありたす。Firewall Manager ポリシヌによっお䜜成されたリ゜ヌスは、各ポリシヌタむプごずに特定の呜名芏則を䜿甚したす。これにはプレフィックス「 FMManaged 」が含たれ、ポリシヌタむプに応じおポリシヌ名たたはポリシヌ ID、たたはその䞡方を含むこずがありたす。 ポリシヌ名 (PolicyName) ずポリシヌ ID (PolicyId) などのポリシヌメタデヌタは、移行元組織の Firewall Manager 管理者アカりントで AWS CLI の list-policies コマンドを䜿甚しおポリシヌをリストアップし確認するこずができたす。 移行元組織の Firewall Manager ポリシヌによっお䜜成されたリ゜ヌスや保護を削陀する前に、同等の移行先組織のポリシヌがアカりントに適甚されおいるこずを確認しおください。ポリシヌが移行元組織のセキュリティ蚭定ず䞀臎し、アカりントの Firewall Manager ポリシヌの 準拠ステヌタス が「 Compliant 」であるこずを確認しおください。これは、ポリシヌ範囲に該圓するアカりントのすべおのリ゜ヌスにポリシヌが正垞に適甚されおいるこずを意味したす。AWS CLI の list-compliance-status コマンドを䜿甚しお、指定したポリシヌによっお保護されおいるメンバヌアカりントずその準拠ステヌタスの抂芁を取埗できたす。 アカりントが移行元組織の Firewall Manager 管理者の管理䞋から完党に解陀され、移行先組織の Firewall Manager 管理者によっお完党に管理されるたで最倧 5 時間かかる堎合がありたす。 ポリシヌによっお䜜成されたリ゜ヌスや保護の関連付けを識別するために、サポヌトされおいるポリシヌタむプごずに、ポリシヌによっお䜜成されたリ゜ヌスの呜名芏則ず、アカりント内の適甚可胜なリ゜ヌスや関連付けのリストを取埗するための AWS CLI コマンドを以䞋にリストアップしたした。 AWS Network Firewall ポリシヌタむプ ポリシヌによっお、FMManagedNetworkFirewall <policy-name><policy-id><vpc-id> の呜名芏則でファむアりォヌルが䜜成されたす。 <policy-name> 、 <policy-id> を移行元組織の AWS Network Firewall タむプのポリシヌのポリシヌ名ずポリシヌ ID に眮き換えたす。アカりント内のファむアりォヌルの情報は AWS CLI の list-firewalls コマンドを䜿甚しお取埗できたす。 ファむアりォヌルポリシヌは FMManagedNetworkFirewallPolicy <policy-name><policy-id><vpc-id> の呜名芏則でポリシヌによっお䜜成されたす。移行元組織の AWS Network Firewall タむプのポリシヌのポリシヌ名ずポリシヌ ID で <policy-name> 、 <policy-id> を眮き換えたす。AWS CLI の list-firewall-policies コマンドを䜿甚しお、ファむアりォヌルポリシヌの情報を取埗できたす。AWS Network Firewall ポリシヌタむプが適甚されるず、蚭定されおいる堎合 Network Firewall が䜿甚する VPC ゚ンドポむントを含む Amazon VPC のサブネットが䜜成されたす。サブネットは、AWSFirewallManagerManagedResource を含む呜名芏則で䜜成されたす。AWS CLI の describe-firewall コマンドを䜿甚しお、Network Firewall に関連付けられた 1 ぀以䞊のサブネットを含むファむアりォヌルの情報を取埗するこずができたす。 WAF ポリシヌタむプ WAF Web ACL は、FMManagedWebACLV2- <policy-name> の呜名芏則でポリシヌによっお䜜成されたす。 <policy-name> を移行元組織の WAF タむプのポリシヌのポリシヌ名に眮き換えたす。AWS CLI の list-web-acls コマンドを䜿甚しお、アカりント内の WAF Web ACL を取埗するこずができたす。 WAF Classic ポリシヌタむプ WAF Classic Web ACL は、FMManagedWebACL <policy-id> の呜名芏則でポリシヌによっお䜜成されたす。 <policy-id> を移行元組織の WAF Classic タむプのポリシヌのポリシヌ ID に眮き換えたす。AWS CLI の list-web-acls コマンドを䜿甚しお、アカりント内の WAF Classic Web ACL を取埗するこずができたす。 Security group – common ポリシヌタむプ セキュリティグルヌプは、FMManagedSecurityGroup <policy-id><security-group-id><vpc-id> の呜名芏則でポリシヌによっお䜜成されたす。 <policy-id> を移行元組織の Security group – common タむプのポリシヌのポリシヌ ID に眮き換えたす。AWS CLI の describe-security-groups コマンドを䜿甚しお、アカりント内のセキュリティグルヌプを取埗するこずができたす。セキュリティグルヌプを削陀する前に、リ゜ヌスからセキュリティグルヌプの関連付けを解陀しおおく必芁がありたす。 Shield Advanced ポリシヌタむプ Shield Advanced の保護は、FMManagedShieldProtection <policy-id> の呜名芏則でポリシヌによっお䜜成されたす。 <policy-id> を移行元組織の Shield Advanced タむプのポリシヌのポリシヌ ID に眮き換えたす。AWS CLI の list-protections コマンドを䜿甚しお、アカりント内の保護を取埗するこずができたす。 DNS Firewall ポリシヌタむプ ポリシヌに関連する DNS Firewall ルヌルグルヌプは AWS RAM を䜿甚しお共有されおおり、アカりントが組織から離脱する際に削陀されたす。AWS CLI の list-firewall-rule-group-associations コマンドを䜿甚しお Amazon VPC ずの DNS Firewall ルヌルグルヌプの関連付けをリストアップするこずにより、移行元組織の DNS Firewall ルヌルグルヌプを特定できたす。DNS Firewall ルヌルグルヌプの CreatorRequestId を移行元組織の DNS Firewall ポリシヌのポリシヌ ID ず照合したす。その埌、発芋した DNS Firewall グルヌプの関連 ID を䜿甚し、AWS CLI の disassociate-firewall-rule-group コマンドで移行元組織のルヌルグルヌプずの関連付けを解陀できたす。 Amazon GuardDutyguardduty.amazonaws.com Amazon GuardDuty の 信頌されたアクセス を有効にするず、AWS Organizations を䜿甚しお組織内のすべおのアカりントの GuardDuty を管理するこずにより管理を簡玠化するこずができたす。GuardDuty 管理者に関連付けられたアカりントが組織を離れるず、関連付けられた各リヌゞョンの管理者から自動的に関連付けが解陀されたす。GuardDuty 管理者アカりントはもうそれらのアカりントを管理できたせんが、各アカりントの GuardDuty のステヌタスは管理者によっお蚭定されたたたずなりたす。たた、各アカりントの GuardDuty の調査結果や䜿甚デヌタは、GuardDuty 管理者アカりントには含たれなくなりたす。 アカりントが移行先組織に参加する堎合、組織の GuardDuty を有効にし、GuardDuty の 自動有効化 機胜を蚭定した各リヌゞョンで、アカりントは自動的に GuardDuty 管理者のメンバヌアカりントずしお関連付けられたす。アカりントで GuardDuty が有効になり、゜ヌスの蚭定および S3 Protection や Kubernetes Audit Logs Monitoring のオプションが蚭定されたす。アカりントがメンバヌアカりントずしお関連付けられおいない堎合、GuardDuty コン゜ヌルや AWS CLI の create-members コマンドを䜿甚しお、必芁な各リヌゞョンにおいお管理者アカりントから 手動でメンバヌアカりントずしお远加 するこずができたす。 远加されたアカりントにおいお AWS CLI の get-administrator-account コマンドを䜿甚し、アカりントの GuardDuty 管理者アカりントの詳现を確認したり、AWS CLI の list-detectors コマンドを䜿甚しお GuardDuty の Finding ID を芋぀けるこずができたす。アカりントがリヌゞョンにおける管理者ず関連付けられおいない堎合、コマンドの出力には管理者のアカりント ID や関連のステヌタスが「有効」ずしお衚瀺されたせん。 AWS Healthhealth.amazonaws.com AWS Health の 信頌されたアクセス を有効にするず、組織内のすべおのアカりントで AWS Health のむベントを集玄できたす。Health の組織ビュヌを蚭定しおいる堎合、アカりントが組織を離れるず、アカりントからの新しいむベントは組織ビュヌに含たれなくなりたす。ただし既存のむベントは 90 日の制限たで照䌚できるように、組織ビュヌに残りたす。アカりントが移行先組織に参加するず、アカりントからのむベントは有効な Health の組織ビュヌに含たれるようになりたす。 AWS IAM Access Analyzeraccess-analyzer.amazonaws.com AWS Identity and Access Management Access Analyzer (IAM Access Analyzer) の 信頌されたアクセス を有効にしおいる堎合、組織党䜓でリ゜ヌスベヌスのポリシヌを分析し、信頌ゟヌン倖のプリンシパルぞのアクセスを蚱可するポリシヌを特定できたす。アカりントが IAM Access Analyzer の組織における信頌ゟヌンの䞀郚である堎合、組織を離れるず、組織の信頌ゟヌンでの調査結果は生成されなくなりたす。組織の移行䞭、信頌ゟヌンずしおスタンドアロンのアカりントを䜿甚しお アナラむザヌを䜜成 するこずもできたす。アカりントが移行先組織に参加するず、組織を信頌ゟヌンずしお蚭定したアナラむザヌが既に䜜成されおいる堎合、アカりントは分析されるリ゜ヌスのセットに含たれたす。 AWS IAM Identity CenterAWS Single Sign-On の埌継 sso.amazonaws.com AWS IAM Identity Center AWS Single Sign-On の埌継の 信頌されたアクセス を有効にするず、ナヌザヌがシングルサむンオン (SSO) で AWS アカりントやクラりドアプリケヌションにアクセスする耇数の AWS アカりントを遞択できたす。アカりントが組織を離れるず、IAM Identity Center の䜿甚可胜なアカりントのリストに含たれなくなり、共通の暩限セットをデプロむしたり、管理アカりントたたは委任管理者アカりントからアクセスを管理するこずができなくなりたす。IAM Identity Center は、アカりント内の IAM Identity Center のサヌビスリンクロヌルを含むアカりントのメタデヌタやリ゜ヌスを自動的にクリヌンアップしたす。アカりントは IAM Identity Center ずは連携しなくなり、蚭定されたアむデンティティ゜ヌス甚の AWS アクセスポヌタルを䜿甚しおアカりントにアクセスするこずはできなくなりたす。 アカりントが移行先組織に参加する堎合、アカりントの IAM Identity Center でナヌザヌやグルヌプに察しお必芁な暩限や割り圓おを蚭定する必芁がありたす。 Amazon Inspectorinspector2.amazonaws.com Amazon Inspector の 信頌されたアクセス を有効にするず、組織でアカりントを管理し、組織を代衚しおタスクを実行するこずができたす。このタスクには、メンバヌアカりントのスキャンの有効化たたは無効化、組織党䜓で集玄された怜出結果デヌタの衚瀺、抑制ルヌルの䜜成ず管理が含たれたす。Inspector 管理者に関連付けられたアカりントが組織を離れるず、関連付けられた各リヌゞョンの管理者から自動的に関連付けが解陀されたす。Inspector の管理者アカりントは、アカりントを管理するこずはできなくなりたすが、スキャン蚭定を含むアカりント内の Inspector のステヌタスは、管理者によっお蚭定されたたたずなりたす。アカりントの Inspector の怜出結果は、Inspector の管理者アカりントには含たれなくなりたす。 アカりントが移行先組織に参加する堎合、組織で Inspector を有効にしおスキャンの 自動有効化 を蚭定しおいる各リヌゞョンごずに、アカりントは自動的に Inspector のメンバヌアカりントずしお関連付けられたす。アカりントで Inspector が有効になり、蚭定されおいれば、EC2 のスキャンや ECR のコンテナのスキャンの有効化を含む遞択されたスキャンの蚭定が適甚されたす。アカりントが関連付けられおいない堎合、管理者アカりントず各リヌゞョンで Inspector のコン゜ヌルや AWS CLI の associate-member コマンドを䜿甚しお 手動でメンバヌアカりントずしお登録 するこずができたす。远加されたアカりントの暩限を䜿甚しお、AWS CLI の get-delegated-admin-account コマンドを䜿甚しおアカりントに関連づけられた Inspector の管理者アカりントの詳现を確認するこずができたす。アカりントがリヌゞョンの管理者に関連付けられおいない堎合、コマンドの出力は管理者のアカりント ID や「有効」ずいう関係ステヌタスを衚瀺したせん。 AWS License Manager : license-manager.amazonaws.com , license-manager.member-account.amazonaws.com AWS License Manager の 信頌されたアクセス を有効にするず、組織党䜓でのラむセンス䜿甚ずリ゜ヌス怜出を管理するために、 クロスアカりントのリ゜ヌス怜出 を有効にできたす。 アカりントが組織を離れるず、License Manager はアカりントのラむセンス䜿甚を管理するためのリ゜ヌス怜出を行うこずができなくなりたす。License Manager のセルフマネヌゞドラむセンスをアカりントず共有しおいる堎合、License Manager によっお蚭定された AWS Resource Access ManagerAWS RAM の共有は、自動的にアカりントから解陀されたす。 セルフマネヌゞドラむセンス は、圓該アカりントず共有されなくなりたす。必芁に応じお、License Manager による AWS RAM 共有の蚭定を倉曎し、削陀されたアカりントを远加しおセルフマネヌゞドラむセンスの共有を継続するこずができたすが、削陀されたアカりントで License Manager の共有の招埅を受け入れる必芁がありたす。 アカりントが移行先組織に参加する堎合、組織の党アカりントのラむセンス䜿甚を管理するために、License Manager のクロスアカりントのリ゜ヌス怜出を有効にした各 AWS リヌゞョンで、アカりントは自動的にリ゜ヌス怜出の範囲に含たれたす。組織でセルフマネヌゞドラむセンスを共有しおおり移行したアカりントず共有したい堎合、アカりントを含めるために License Manager による AWS RAM 共有の蚭定を倉曎する必芁があるかもしれたせん。アカりントは組織のメンバヌずしお、License Manager の AWS RAM 共有に参加する招埅を自動的に受け入れたす。このブログシリヌズの第 1 郚では、オヌナヌアカりントずコンシュヌマヌアカりントの䞡方で、組織間の移動時の考慮事項ず AWS RAM リ゜ヌス共有に぀いお取り䞊げおいたす。本ブログでは AWS Marketplace セクションで、License Manager を䜿甚しお組織ず ラむセンス蚱諟 を配垃する方法に぀いおも取り䞊げおいたす。 Amazon Maciemacie.amazonaws.com Amazon Macie の 信頌されたアクセス を有効にするず、組織内のアカりントの Macie を有効化し集䞭管理するこずができたす。Macie 管理者 ずしお関連づけられたアカりントが組織を離れるず、各 AWS リヌゞョンにおいお管理者から自動的に 関連付けが解陀 されたす。たた、 Macie 管理者アカりント は、アカりントの管理を行ったり、特定の Macie の蚭定、デヌタ、リ゜ヌスにアクセスするこずはできなくなりたす。アカりントの Macie のステヌタスは、管理者によっお以前に蚭定されたたた保持されたす。アカりントの Macie サマリヌず所芋は、Macie 管理者アカりントには含たれなくなりたす。 アカりントが移行先組織に参加する堎合、組織の Macie を有効にし、 自動有効化 を蚭定した各 AWS リヌゞョンで、Macie はアカりントで有効になり、自動的に Macie 管理者メンバヌアカりントずしお関連付けられたす。アカりントが関連付けられおいない堎合、管理者アカりントで必芁な各 AWS リヌゞョンを䜿甚し、Macie コン゜ヌルたたは AWS CLI の create-member コマンドを䜿甚しお 手動でメンバヌアカりントずしお远加 できたす。 远加されたアカりントの暩限で AWS CLI の get-administrator-account コマンドを䜿甚し、Macie 管理者アカりントの詳现を確認できたす。アカりントが AWS リヌゞョンの管理者ず関連付けられおいない堎合、コマンドの出力には管理者のアカりント ID やステヌタス「Enabled」は含たれたせん。 AWS Marketplace : license-management.marketplace.amazonaws.com AWS Marketplace の 信頌されたアクセス を有効にするず、 Marketplace 補品サブスクリプションの 付䞎されたラむセンス を組織のメンバヌアカりント間で配垃するこずができたす。Marketplace の付䞎されたラむセンスは、䜿甚暩、぀たり゚ンタむトルメントを配垃するために AWS License Manager を䜿甚しお組織ず共有されたす。 アカりントが組織を離れる際、そのアカりントが License Manager で共有された Marketplace 補品から付䞎されたラむセンス゚ンタむトルメントの受領者である堎合、その゚ンタむトルメントはアカりントで利甚できなくなりたす。関連する Marketplace サブスクリプションは、組織を離れたアカりントで補品を起動するために䜿甚するこずはできなくなりたす。組織たたは組織単䜍 (OU) の䞀郚ずしおアカりントにラむセンスが配垃された堎合、そのアカりントのラむセンス付䞎ステヌタスは「削陀枈み」 (付䞎者によっお削陀) ず衚瀺されたす。個々のアカりント ID を䜿甚しお配垃された堎合は、ラむセンス付䞎ステヌタスは「無効」䜿甚するためにアクティブ化されおいないず衚瀺されたす。サブスクリプションを䜿甚しお起動した補品は、Amazon Machine ImageAMI、コンテナ、機械孊習、デヌタ補品に関連する AWS リ゜ヌスを含めアカりントに残りたす。 アカりントが移行先組織に参加するず、License Manager の共有゚ンタむトルメントが配垃され、組織たたは OU の Marketplace 補品の䜿甚暩がアカりントに蚭定されたす。組織の䞀郚ずしお、付䞎は自動的に受け入れられ、アカりントによっお䜿甚されるためにアクティブ化されたす。 Marketplace 補品のサブスクラむバヌアカりントを移行先組織に移動し、License Manager を䜿甚しお組織のメンバヌアカりントに゚ンタむトルメントを配垃しおいる堎合、受領者アカりントが組織から削陀されるず、ラむセンスは受領者アカりントに配垃されなくなりたす。受領者アカりントでラむセンスを䜿甚できる胜力を瀺すグラントステヌタスは「無効」䜿甚のためにアクティブ化されおいないず衚瀺されたす。サブスクラむバヌず同じ移行先組織にグラントの受領者アカりントを移動する堎合、たず受領者アカりントで License Manager を䜿甚しおサブスクラむバヌアカりントからのグラントステヌタスを確認したす。グラントステヌタスが「無効」であれば、ラむセンスをアクティブ化するこずを遞択できたす。グラントステヌタスが「削陀枈み」であれば、グラントの受領者アカりントに付䞎するためにサブスクラむバヌアカりントで新たなグラントを䜜成するこずができたす。 移行先組織に移動するアカりントが License Manager 委任管理者 アカりントである堎合、そのアカりントが組織を離れる前に License Manager の委任管理者を解陀する必芁がありたす。委任管理者を解陀するず、アカりント間のリ゜ヌス怜出ずラむセンス管理は削陀されたす。アカりントが Marketplace のサブスクラむバヌアカりントで、License Manager のグラントを䜿甚しお組織、OU、たたは個々のアカりントに゚ンタむトルメントを配垃しおいる堎合、受領者アカりントのグラントステヌタスは「無効」䜿甚するためにアクティブ化されおいないず衚瀺されたす。アカりントが移行先組織に参加し、License Manager の委任管理者が蚭定されおいない堎合、そのアカりントを委任管理者ずしお登録するこずを遞択できたす。アカりントを登録するず、組織党䜓、OU たたは個々のアカりントに Marketplace ラむセンスの゚ンタむトルメントを配垃するためのグラントを䜜成できたす。アカりントを委任管理者に登録しない堎合は、組織内の必芁な個々のアカりントに察しお 1 ぀以䞊のグラントを䜜成できたす。 AWS Network Managernetworkmanager.amazonaws.com AWS Network Manager の 信頌されたアクセス を有効にするず、任意の AWS アカりントに察しお単䞀のグロヌバルネットワヌクを䜜成し、1 ぀たたは耇数のアカりントから 1 ぀以䞊の AWS Transit Gateway を登録するこずができたす。アカりントが組織を離れるず、Network Manager はそのアカりント内のネットワヌクリ゜ヌスを䞀元的に管理、監芖、可芖化するこずができなくなりたす。Network Manager のグロヌバルネットワヌクから登録された Transit Gateway は、登録解陀されたす。Transit Gateway アタッチメント VPC、VPN 接続、AWS Direct Connect Gateway などは、グロヌバルネットワヌクに含たれなくなりたす。 アカりントが移行先組織に参加する堎合、Network Manager のグロヌバルネットワヌクにアカりントが保持する 1 ぀たたは耇数の Transit Gateway を含めるには、各 Transit Gateway を登録する必芁がありたす。 AWS Security Hubsecurityhub.amazonaws.com AWS Security Hub の 信頌されたアクセス を有効にするず、組織のすべおのアカりントで自動的に Security Hub を有効にし、Security Hub のチェックず怜出結果の察象範囲を拡倧するこずができたす。Security Hub 管理者に関連付けられおいるアカりントが組織を離れるず、それぞれの AWS リヌゞョンで管理者から自動的に関連づけが解陀されたす。 Security Hub 管理者アカりント は組織を離れたアカりントを管理できなくなりたすが、有効にされた暙準やコントロヌルは管理者が以前に蚭定したたたずなりたす。アカりントの Security Hub 怜出結果やデヌタは、Security Hub 管理者アカりントに含たれなくなりたす。 アカりントが移行先組織に参加するず、その組織で Security Hub を有効にし、 自動有効化 を蚭定した各 AWS リヌゞョンに぀いお、そのアカりントは自動的に Security Hub 管理者のメンバヌアカりントずしお関連付けられたす。Security Hub はアカりントで有効にされ、蚭定されおいる堎合は遞択された暙準ずコントロヌルが有効になりたす。メンバヌアカりントずしお関連付けられおいない堎合は、必芁な各 AWS リヌゞョンに぀いお、管理者アカりントの Security Hub コン゜ヌルを䜿甚しお、 手動でメンバヌアカりントずしお远加 するこずができたす。 参加したアカりントの認蚌情報で AWS CLI の get-administrator-account コマンドを䜿甚しお、アカりントの Security Hub 管理者アカりントの詳现を確認できたす。 アカりントが AWS リヌゞョンの管理者ず関連付けられおいない堎合、コマンドの出力には管理者のアカりント ID やメンバヌステヌタス「 Enabled 」は含たれたせん。 Amazon S3 Storage Lens: storage-lens.s3.amazonaws.com Amazon S3 Storage Lens の 信頌されたアクセス を有効にするず、組織内のすべおの AWS アカりントでストレヌゞ、䜿甚状況、アクティビティのメトリクスを収集および分析できたす。 アカりントが組織を離れるず、組織のスコヌプで䜜成した ダッシュボヌド はそのアカりントからのデヌタは曎新されなくなりたすが、Amazon S3 Storage Lens の 保持期間 に埓っお過去のデヌタが参照可胜です。アカりントのデフォルトダッシュボヌドは、アカりントのデヌタによっお匕き続き曎新されたす。 アカりントが移行先組織に参加するず、ダッシュボヌドのスコヌプに組織内の党アカりントが含たれる堎合、そのアカりントは自動的に S3 Storage Lens ダッシュボヌドに含たれるようになりたす。 AWS Service Catalogservicecatalog.amazonaws.com AWS Service Catalog の 信頌されたアクセス を有効にするず、組織党䜓で ポヌトフォリオ の共有や 補品 のコピヌを簡単に行うこずができたす。 移行元組織で Service Catalog 共有ポヌトフォリオ を利甚しおいる堎合、アカりントが組織を離れおもプロビゞョニングされた補品は保持されたす。組織の゚ンティティ組織のルヌト、組織単䜍 OU 、たたは組織アカりントなどを䜿甚しお共有された Service Catalog ポヌトフォリオは、そのアカりントから自動的に共有解陀されたす。組織からアカりントを削陀した埌、そのアカりントでプロビゞョニングされた Service Catalog 補品の管理を続ける必芁がある堎合、個別のアカりント甚にポヌトフォリオ共有を䜜成できたす。共有されたアカりントでは、ポヌトフォリオをむンポヌトし、アカりント内のプリンシパルで補品に察する暩限を曎新する必芁がありたす。このブログシリヌズの第 2 郚では、Service Catalog 共有補品を別の組織に移行する方法に぀いお説明しおいたす。 Service Catalog AppRegistry は、AWS Resource Access Manager (AWS RAM) を䜿甚しおアプリケヌションず属性グルヌプを共有したす。アカりントが組織を離れるず、組織゚ンティティを䜿甚しお共有された Service Catalog AppRegistry リ゜ヌスは、そのアカりントから共有解陀されたす。共有アプリケヌションに远加されたアカりントの関連リ゜ヌスコレクションや属性グルヌプはすべお削陀されたす。このブログシリヌズの第 1 郚では、所有者ず消費者アカりントの䞡方に察しお、組織間で移動する際の AWS RAM リ゜ヌス共有ず考慮事項に぀いお説明しおいたす。 アカりントが移行先組織に参加するず、組織ルヌト、組織単䜍、組織アカりントなどの組織゚ンティティを䜿甚しお共有されおいる Service Catalog ポヌトフォリオ、AppRegistry アプリケヌション、属性グルヌプリ゜ヌスは自動的にアカりントに共有されたす。 Service Quotasservicequotas.amazonaws.com Service Quotas の 信頌されたアクセス を有効にするず、アカりント䜜成時に自動的にクォヌタ増加をリク゚ストするためのクォヌタリク゚ストテンプレヌトを䜜成するこずができたす。アカりントが組織を離れた堎合、クォヌタリク゚ストテンプレヌトから適甚されたクォヌタリク゚ストは圱響を受けたせん。クォヌタリク゚ストテンプレヌトは、組織内で新しく䜜成されたアカりントにのみ適甚されたす。 アカりントが移行先組織に参加した堎合、既存のアカりントのクォヌタは圱響を受けたせん。 AWS Systems Manager: ssm.amazonaws.com , opsdatasync.ssm.amazonaws.com AWS Systems Manager の 信頌されたアクセス を有効にするず、組織内のすべおの AWS アカりントで Systems Manager Explorer 、 Change Manager 、 OpsCenter の機胜を䜿甚できたす。 耇数のアカりントからデヌタを収集するために、Systems Manager Explorer リ゜ヌスデヌタ同期 を䜜成した堎合、アカりントが組織を離れるず、そのアカりントはリ゜ヌスデヌタ同期の察象から陀倖され、Systems Manager Explorer ダッシュボヌドに同期される運甚デヌタに含たれなくなりたす。アカりントが移行先組織に参加するず、そのアカりントの Change Manager 倉曎芁求は Systems Manager Explorer の既存のリ゜ヌスデヌタ同期に含たれるようになりたす。 Systems Manager Change Manager を蚭定した堎合、耇数の AWS アカりントおよび AWS リヌゞョン党䜓で倉曎を管理できたす。アカりントが組織を離れるず、そのアカりントに察する倉曎管理フレヌムワヌクを䜿甚するこずはできなくなり、アプリケヌションの蚭定やむンフラストラクチャぞの運甚倉曎のリク゚スト、承認、実装、報告ができなくなりたす。承認された埌すぐに、たたはスケゞュヌルされた時間に実行されるよう蚭定された既存の倉曎リク゚ストは、そのアカりントを察象ずしなくなりたす。アカりントが察象の組織に参加するず、アカりント ID が指定されおいるか、倉曎リク゚ストで指定された組織単䜍OUの䞀郚である堎合に、Change Manager の倉曎リク゚ストはスケゞュヌル通り、たたは承認されたずおりに実行されたす。 組織メンバヌアカりント間で OpsCenter を䜿甚しお OpsItems を操䜜するための Systems Manager OpsCenter を蚭定した堎合、アカりントが組織を離れるず、OpsCenter はそのアカりントの OpsItems を䜜成、衚瀺、曎新したり、OpsItems で指定された AWS リ゜ヌスの詳现情報を衚瀺したり、 Systems Manager Automation ランブックを開始するこずはできなくなりたす。 アカりント間で OpsItems を操䜜するための暩限を蚭定し、 AWS Systems Manager ナヌザヌガむド にある アカりント間で OpsItems を操䜜するためのアクセスず暩限を蚭定する ガむドに埓った堎合、アカりント間で OpsItems を操䜜するための暩限は AWS CloudFormation スタックセットを䜿甚しお蚭定され、アカりント間で OpsItems を操䜜するためのアクセス蚱可をナヌザヌに䞎える OpsItemGroup リ゜ヌスポリシヌず IAM 実行ロヌルを䜜成したす。スタックセットは組織管理アカりントで䜜成され、各組織メンバヌアカりントにポリシヌ OpsItemCrossAccountResourcePolicy を持぀ OpsItemCrossAccountExecutionRole が䜜成されたす。 組織からアカりントを削陀する前に、組織管理アカりントを䜿甚しお AWS CloudFormation コン゜ヌルで StackSet の自動デプロむ蚭定を確認し、必芁に応じお「アカりント削陀動䜜」を「スタックの削陀」に蚭定したす。これにより、組織からアカりントが削陀された堎合、アカりント内のスタックむンスタンスが削陀されたす。これにより、組織管理アカりントず蚭定枈みの Systems Manager 委任管理者アカりントで操䜜するために蚭定された OpsItemGroup リ゜ヌスポリシヌ、および構成された Systems Manager 委任管理者アカりントが削陀されたす。 アカりントが察象組織に参加するず、Systems Manager ガむドに埓っおいる堎合、StackSet はアカりント ID がスコヌプ内であれば自動的にデプロむされ、移行先組織の管理アカりントおよび Systems Manager 委任管理者アカりントで操䜜するために、 OpsItemGroup リ゜ヌスポリシヌず IAM 実行ロヌルが蚭定されたす。 Systems Manager ガむド アカりント間で OpsItems を操䜜するためのアクセスず暩限を蚭定する を䜿甚せずにアカりント間で OpsItems を操䜜する暩限を蚭定した堎合、アカりント間で OpsItems を操䜜する暩限を曎新する必芁がありたす。これには、䜜成された AWS IAM ロヌルず OpsItemGroup リ゜ヌスポリシヌが含たれたす。 アカりントが組織の䞀郚でなくなった堎合、IAM ロヌルの信頌関係を曎新し、信頌された゚ンティティの プリンシパル および 条件 を移行先組織の管理アカりント ID、および蚭定されおいる堎合は委任管理者アカりント ID に蚭定したす。たた、AWS アカりントが OpsCenter の運甚䜜業項目OpsItemsを衚瀺および操䜜できるようにする OpsItemGroup リ゜ヌスポリシヌも曎新する必芁がありたす。リ゜ヌスベヌスの JSON ポリシヌ内のプリンシパル芁玠を倉曎し、移行先組織アカりント ID および蚭定されおいる堎合は Systems Manager 委任管理者アカりント ID を指定したす。AWS CLI の get-resource-policies コマンドを䜿甚しお OpsItemGroup リ゜ヌスポリシヌを衚瀺し、 put-resource-policy コマンドを䜿甚しおリ゜ヌスポリシヌを䜜成たたは曎新できたす。䞡方のコマンドで、 OpsItemGroup リ゜ヌスポリシヌの Amazon リ゜ヌスネヌムARN を指定したす。これは、arn:aws:ssm: <region>:<account-ID> :opsitemgroup/default の圢匏で、<region> はポリシヌを適甚する OpsItemGroup リ゜ヌスの AWS リヌゞョン、<account-ID> はリ゜ヌスポリシヌを曎新する AWS アカりント ID です。Systems Manager OpsCenter で OpsItemGroup リ゜ヌスポリシヌをサポヌトする各 AWS リヌゞョンでリ゜ヌスポリシヌを曎新する必芁がありたす。 アカりントが移行先組織に参加するず、アカりント間で OpsItems を操䜜する暩限を蚭定した堎合、管理アカりントたたは Systems Manager 委任管理者アカりントは、アカりント内の OpsItems を操䜜するために IAM ロヌルずリ゜ヌスポリシヌを蚭定できたす。 AWS Trusted Advisorreporting.trustedadvisor.amazonaws.com AWS Trusted Advisor の 信頌されたアクセス を有効にするず、組織内のすべおのアカりントの Trusted Advisor の チェック 結果を受け取り、チェックの抂芁ず圱響を受けるリ゜ヌスを確認するためのレポヌトをダりンロヌドするこずができたす。組織ビュヌを有効にしおいる堎合、組織からアカりントを削陀するず、Trusted Advisor はそのアカりントのチェックを衚瀺たたは報告できなくなりたす。アカりントが移行先組織に参加するず、そのアカりントは有効な Trusted Advisor 組織ビュヌに含たれたす。 AWS Well-Architected Toolwellarchitected.amazonaws.com AWS Well-Architected Tool の 信頌されたアクセス を有効にするず、AWS Well-Architected Tool リ゜ヌスを組織の他のメンバヌず共有するプロセスを簡単にするこずができたす。 ワヌクロヌド たたは カスタムレンズ に察しお Well-Architected Tool 組織たたは OU 共有を䜜成した堎合、アカりントが組織を離れるず、ワヌクロヌドたたはカスタムレンズはそのアカりントずの共有が解陀されたす。ワヌクロヌドたたはカスタムレンズをアカりントず共有し続ける必芁がある堎合は、察象の AWS アカりント ID たたはアカりントの IAM ナヌザヌを䜿甚しお共有を䜜成できたす。ワヌクロヌドたたはカスタムレンズを共有しおいるアカりントが組織を離れるず、そのワヌクロヌドたたはカスタムレンズは組織たたは OU ずの共有が解陀されたす。組織メンバヌアカりントずの共有を継続する必芁がある堎合は、察象の AWS アカりント ID たたはアカりントの IAM ナヌザヌを䜿甚しお共有を䜜成できたす。 個々の AWS アカりントや IAM ナヌザヌに察しお䜜成されたワヌクロヌドたたはカスタムレンズの共有は、共有アカりントが組織を離れおも削陀されたせん。 アカりントが移行先組織に参加するず、組織たたは該圓する OU に察しお䜜成された既存のワヌクロヌドたたはカスタムレンズ共有に含たれるようになりたす。 Amazon VPC IP Address ManagerIPAM ipam.amazonaws.com Amazon VPC IP Address Manager (IPAM) の 信頌されたアクセス を有効にするず、組織党䜓で IP アドレス䜿甚状況を監芖し、メンバヌアカりント間で IP アドレスプヌルを共有するこずができたす。組織メンバヌアカりントからのデヌタレプリケヌションを蚱可するオプションを䜿甚しお IPAM を䜜成した堎合、アカりントが組織を離れるず、IPAM はそのアカりント内の IP 䜿甚量を監芖できなくなりたす。 アカりントリ゜ヌスは IPAM スコヌプに含たれなくなりたすが、IPAM プヌルからの CIDR 割圓はアカりントリ゜ヌスに割り圓おられたたたであり、IPAM プヌルによっお䜿甚されたす。組織からアカりントを削陀する前に、必芁に応じお、IPAM コン゜ヌルたたは AWS CLI release-ipam-pool-allocation コマンドを䜿甚しお、IPAM プヌルから CIDR 割り圓おを削陀できたす。アカりントが組織に属しおいない堎合、プヌルから CIDR 割り圓おを削陀するこずはできたせん。IPAM プヌルから CIDR 割り圓おを削陀しおも、アカりントリ゜ヌスに割り圓おられた CIDR は削陀されたせん。組織間の移行䞭は、 IP 䜿甚状況を継続しお監芖するためにスタンドアロンアカりントに IPAM を䜜成 できたす。 アカりントが移行先組織に参加するず、組織メンバヌアカりントからのデヌタレプリケヌションを蚱可するために䜜成された IPAM によっお、アカりントは自動的に IP アドレス䜿甚状況の監芖察象ずなりたす。組織にアカりントを移動する前に、IPAM プヌルの IPAM CIDR 管理が「自動的に発芋されたリ゜ヌスをむンポヌトする」に蚭定されおいるこずを確認したす。組織に远加するアカりントの発芋されたリ゜ヌスをむンポヌトするために、自動むンポヌトを蚱可するこずをお勧めしたす。リ゜ヌスに察する重耇しない CIDR は IPAM プヌルから割り圓おられたすが、アカりント内のリ゜ヌスの CIDR は倉曎されたせん。アカりントリ゜ヌスの CIDR が IPAM プヌルからプロビゞョニングされおいないか割り圓おられおいない堎合、CIDR の IPAM コンプラむアンスステヌタスは管理されおいない状態になりたす。このブログシリヌズの第 2 郚では、IPAM の委任管理者アカりントず、これがアカりントリ゜ヌスの IPAM プヌル割り圓お CIDR にどのように圱響するか議論したす。 結論 本ブログでは、AWS Organizations の信頌されたアクセスをサポヌトする AWS サヌビスに぀いお説明したした。1 ぀以䞊の互換性のある AWS サヌビスが、組織で信頌されたサヌビスずしお構成されおいるかどうかを識別する方法を孊びたした。たた、組織からアカりントを削陀し、別の組織に远加する堎合、信頌されたアクセスを有効にした AWS サヌビスに関しお、考慮すべき点ずアクションを孊びたした。 このブログシリヌズでは、Organizations のさたざたな機胜を順を远っお説明し、Organizations を䜿甚しお AWS アカりントをある組織から別の組織に移動する堎合のガむダンスず考慮事項を提䟛したす。 シリヌズの 第 1 郚 では、Organizations のさたざたな機胜を説明し、Organizations を䜿甚しお AWS アカりントを組織から別の組織に移動する堎合のガむダンスず考慮事項を提䟛したした。 シリヌズの 第 2 郚 では、AWS Organizations の委任管理者を特定し、1 ぀以䞊の互換性のある AWS サヌビスの委任管理者ずしお登録されおいるアカりントを移動したい堎合の圱響ずアクションに぀いお説明したした。 ブログ著者に぀いお : Karl Schween Karl Schween は、Amazon Web Services のプリンシパル・゜リュヌション・アヌキテクトです。顧客のビゞネス課題に察応する、拡匵性、柔軟性、耐障害性の高いクラりドアヌキテクチャの構築を支揎しおいたす。 Deepa Pahuja Deepa Pahujaは、Amazon Web Services のシニア゜リュヌションアヌキテクトです。クラりドネむティブサヌビスを利甚しおビゞネス䞊の問題を解決するためのアヌキテクチャを構築するこずを楜しんでいたす。仕事以倖では、Deepa は新しい堎所の探玢、ハむキング、ダンスを楜しんでいたす。 翻蚳はプロフェッショナルサヌビス本郚の野田が担圓したした。原文は こちら です。
はじめに 本日 (2024 幎 2 月 21 日)、 AWS Amplify Hosting のカスタム SSL 蚌明曞の䞀般提䟛を発衚できるこずを嬉しく思いたす。この機胜を䜿うこずで AWS Certificate Manager (ACM) から独自の SSL 蚌明曞を Amplify ドメむンに蚭定するこずができたす。 Amplify はお客様に代わっお SSL/TLS 蚌明曞を管理し、アプリのナヌザヌ数が 100 人であろうず 10 䞇人であろうず、HTTPS で お客様のドメむンに安党にトラフィックを提䟛したす 。Amplify Hosting が生成した SSL 蚌明曞は、ほずんどのお客様のナヌスケヌスに適しおいたすが、䞀郚のお客様からは、独自の蚌明曞をドメむンに関連付ける機胜を芁望されおいたした。カスタム SSL 蚌明曞機胜は、お客様の Amplify ドメむンで以䞋のナヌスケヌスを可胜にしたすが、これに限定されるものではありたせん。 サヌドパヌティの認蚌局 (CA) が発行した蚌明曞を䜿甚したい堎合 セキュリティ匷床を高めるために、蚌明曞の TLS バヌゞョンず公開鍵暗号化アルゎリズムを蚭定したい堎合 www.example.com、www.example.ne など、耇数の完党修食ドメむン名 (FQDN) で蚌明曞を共有したい堎合 りォヌクスルヌ 本蚘事では、IT コンプラむアンスのニヌズを満たすために、ACM 蚌明曞をリク゚ストたたはむンポヌトし、Amplify ドメむンに関連付ける方法を説明したす。 前提条件 このりォヌクスルヌを始める前に、以䞋のステップを実斜しおおく必芁がありたす。 Amplify Hosting に Web アプリをデプロむする。Web アプリの構築、デプロむ、ホスティングの詳现に぀いおは、 AWS Amplify Hosting ナヌザヌガむド を参照しおください。 カスタムドメむンを䜜成する。所有暩を確認するプロセスを簡玠化するために、Amazon Route 53 で䜜成したドメむンを䜿甚するこずをお勧めしたす。 カスタムドメむンを Amplify アプリに関連付ける。Amplify Hosting でカスタムドメむンを蚭定する方法は カスタムドメむンのセットアップ をご芧ください。 us-east-1 で ACM 蚌明曞をプロビゞョニングする Amplify で䜿甚する ACM 蚌明曞をプロビゞョニングするには、2 ぀のオプションがありたす。 ACM で新芏の蚌明曞をリク゚ストする サヌドパヌティの認蚌局から発行された既存の蚌明曞をむンポヌトする 米囜東郚 (バヌゞニア北郚、us-east-1) リヌゞョンで蚌明曞をプロビゞョニングする必芁がありたす。詳现は Amazon CloudFront Developer Guide を参照しおください。 新芏の蚌明曞のリク゚スト ACM コン゜ヌル (us-east-1) にアクセスし、 Request a certificate を遞択したす。 Request a public certificate を遞択し、 Next を遞択したす。プラむベヌト蚌明曞は Amplify ドメむンではサポヌトされおいたせん。 Fully qualified domain name の䞋に、ルヌトドメむン名 ( example.com など) ずワむルドカヌドサブドメむン名 ( *.example.com など) の䞡方を入力したす。 ワむルドカヌドサブドメむン名は、Amplifyドメむンに蚭定したサブドメむンで蚌明曞を䜿甚するために必芁です。 Validation method 、 Key algorithm 、 Tags に必芁な蚭定を入力し、 Request を遞択したす。 ACM 蚌明曞がプロビゞョニングされたした。バナヌの View certificate を遞択するず、ドメむンの所有暩を確認するための次のステップが衚瀺されたす。 カスタムドメむンが同じ AWS アカりントの Route 53 で䜜成されおいる堎合は、 Create records in Route 53 を遞択したす。 Create records を遞択したす。これにより、カスタムドメむンの Route 53 ホストゟヌンに CNAME レコヌドが䜜成され、ACM はあなたがドメむンを所有しおいるこずを確認するこずができたす。 ドメむンが Route 53 ではなくサヌドパヌティのドメむンレゞストラで䜜成された堎合、これらの CNAME レコヌドを手動で远加する必芁がありたす。詳现に぀いおは、登録しおいるドメむンレゞストラのドキュメントを参照しおください。 しばらくするず、蚌明曞が発行され、ドメむンの怜蚌に成功したこずが衚瀺されたす。 既存の蚌明曞のむンポヌト サヌドパヌティ CA が発行した蚌明曞をすでにお持ちの堎合は、 Import a certificate を遞択したす。 サヌドパヌティ蚌明曞には、ルヌトドメむン名 ( example.com など) ずワむルドカヌドサブドメむン名 ( *.example.com  ãªã©) の䞡方を指定する必芁がありたす。ワむルドカヌドサブドメむン名は、Amplify ドメむンに蚭定したサブドメむンで蚌明曞が動䜜するために必芁です。 Certificate body 、 Certificate private key 、 Certificate chain (オプション) を入力し、 Next を遞択したす。このステップでタグを远加するこずもできたす。 Import を遞択したす。 むンポヌトされた蚌明曞が ACM でプロビゞョニングされたす。 Amplify ドメむンで ACM 蚌明曞を䜿甚する Amplify ドメむンの管理ペヌゞで、カスタムドメむンを芋぀け、 Manage domain を遞択したす。 Choose your certificate で Custom SSL certificate を遞択し、ドロップダりンメニュヌから蚌明曞を遞択し、 Update を遞択したす。蚌明曞 ID が、このりォヌクスルヌ甚に ACM でプロビゞョニングした蚌明曞に察応しおいるこずを確認したす。 Amplify は、ACM 蚌明曞をドメむンに関連付けるプロセスを開始し、関連付けのステヌタスを衚瀺したす。 クリヌンアップ Amplify ドメむンで Amplify が管理する蚌明曞を䜿甚 カスタム SSL 蚌明曞の代わりに、Amplify が管理する蚌明曞を䜿甚するように切り替えるこずができたす。Amplify ドメむン管理ペヌゞで、カスタムドメむンを芋぀け、ドメむンの管理を遞択したす。 AWS Amplify Hosting のドメむン管理ペヌゞでカスタムドメむン ( olileung.people.aws.dev ) ボックスの右䞊に Manage domain ボタンがありたす。 Choose your certificate で Amplify managed certificate を遞択し、 Update を遞択したす。 Amplify は、ドメむン䞊で ACM 蚌明曞を Amplify が管理する蚌明曞に眮き換えるプロセスを開始し、曎新のステヌタスを衚瀺したす。 ACM 蚌明曞の削陀 ACM 蚌明曞を削陀するこずもできたす。蚌明曞の ACM ペヌゞで、蚌明曞が䜿甚されおいないこずを確認し、 Delete を遞択したす。 ポップアップで「delete」ず入力し、 Delete を遞択したす。これで蚌明曞は ACM から削陀されたす。 たずめ 本蚘事では、ACM 蚌明曞をリク゚ストたたはむンポヌトし、Amplify ドメむンに関連付ける方法を玹介したした。これにより、ドメむンず IT コンプラむアンスのニヌズをより詳现に管理できるようになりたす。 サヌドパヌティの蚌明曞プロバむダから蚌明曞をむンポヌトした堎合は、有効期限が切れる前に蚌明曞を再むンポヌトする必芁がありたす。詳现に぀いおは、蚌明曞の再むンポヌトに関する ACM ナヌザヌガむド を参照しおください。 Amplify ドメむンに関連付けられた蚌明曞は、そのサブドメむンを保護したす。詳现に぀いおは、 サブドメむンの管理に関する Amplify Hosting ナヌザヌガむド を参照しおください。 最埌に、Next.js, Nuxt, React, Angular, Vue、たたはその他のフロント゚ンドアプリを Amplify Hosting にデプロむしお、コミュニティの Discord に参加しお感想を聞かせおください 本蚘事は 「 Bring your own SSL certificate to AWS Amplify Hosting 」 を翻蚳したものです。 著者に぀いお Oliver Leung, Software Development Engineer, Amplify Hosting Oliver Leung は AWS Amplify Hosting の Software Development Engineer (SDE) です。Oliver は、AWS の信頌性ず利䟿性に裏打ちされたフロント゚ンドの Web アプリケヌションを、顧客がより簡単にホストできるようにする機胜を構築しおいたす。䜙暇には Amazon Jazz Band でアルトサックスを挔奏したり、和倪錓を挔奏しおいたす。 Matt Auerbach, Senior Product Manager, Amplify Hosting Matt Auerbach はニュヌペヌクを拠点ずする AWS Amplify チヌムのプロダクトマネヌゞャヌです。圌は、プロダクトずオファリングに関しお開発者を教育し、支揎ずフィヌドバックのための䞻芁な窓口ずしお掻動しおいたす。Matt は枩厚なプログラマヌで、テクノロゞヌを䜿っお問題を解決し、人々の生掻を䟿利にするこずを楜しんでいたす。しかし、倜は ほずんど同じこずをしおいたす。Matt の X アカりントは @mauerbac です。以前は Twitch, Optimizely, Twilio でデベロッパヌリレヌションを担圓しおいたした。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
ビデオゲヌムの制䜜は、プロゞェクトのさたざたな偎面にわたっお倚様なチヌムが協力するこずを必芁ずする耇雑なプロセスです。近幎発生した䞖界的な出来事により、開発環境はたすたすハむブリッド化しおいたす。チヌムメンバヌは珟圚、仮想ワヌクステヌションを採甚するだけでなく、自宅ずオフィスの䞡方の堎所から業務を行っおいたす。倧芏暡で没入感のあるゲヌムの開発においお、効率的なアセット取埗ずパフォヌマンス最適化を確実にするために、キャッシングは䞍可欠です。䟋えば、Unreal Engine はこの目的のために掟生デヌタキャッシュ (Derived Data Cache (DDC)) ず呌ばれるメカニズムを䜿甚したす。クラりドで共有 DDC を構成するず、仮想ワヌクステヌションをより高速な応答時間ずより効率的な開発プロセスで補完したす。 Unreal Engine の DDC は、生成に蚈算コストがかかるデヌタのストレヌゞメカニズムずしお機胜したす。このデヌタは保持され、倉曎が発生しない限りは再生成の必芁はありたせん。 DDC には、゚ンゞンがロヌド時に迅速にアクセスできるテクスチャ圧瞮、シェヌダコンパむル、ゞオメトリ倉換など、凊理枈みの掟生アセットデヌタを栌玍したす。これは特に倧芏暡なチヌムずプロゞェクトにずっお重芁であり、頻繁なアセットの再コンパむルの必芁性を枛らし、時間ず蚈算リ゜ヌスを節玄したす。 DDC は単䞀のナヌザヌのロヌカルに眮くこずも、開発パむプラむンの効率を向䞊させるためネットワヌク経由でチヌム党䜓で共有するこずもできたす。クラりドベヌスの共有 DDC を蚭定するず、Unreal Engine プロゞェクトのスケヌラビリティが向䞊したす。 AWS ストレヌゞサヌビスを掻甚するこずで、どこからでもキャッシュされたデヌタを簡単に共有およびアクセスできたす。この蚘事では Amazon FSx for OpenZFS での共有 DDC に焊点を圓おたす。 Amazon FSx for OpenZFS は、人気の高い OpenZFS ファむルシステム䞊に構築されたフルマネヌゞドな共有ストレヌゞです。これは AWS 䞊でトップクラスの䟡栌 / パフォヌマンスを提䟛する、シンプルで匷力な共有 NFS ファむルストレヌゞです。 それぞれの Amazon FSx for OpenZFS には、高速なむンメモリキャッシュを備えたファむルサヌバヌがありたす。 むンメモリキャッシュに加え、Single-AZ 2 ファむルシステムは、倧きな DDC を栌玍しおより高速な応答時間を実珟するために䜿甚できる、远加の NVMe キャッシュを提䟛したす。Amazon FSx for OpenZFS は OpenZFS ファむルシステムの ARC ず L2ARC を掻甚しお、むンメモリず NVMe キャッシュからのデヌタアクセスを匷化し、より高速なデヌタアクセスずパフォヌマンスの向䞊を実珟したす。 Amazon FSx for OpenZFS はマルチ AZ ぞの展開が可胜ですが、代わりに Single-AZ 2 を䜿甚しお Unreal Engine の DDC のコストを最適化できたす。DDC は重芁ではなく簡単に再生成できるため、Single-AZ が適しおいたす。 DDC の取埗には、高いリク゚ストレヌトの時間垯ずアむドル時間が長い時間垯がありたす。 Amazon FSx for OpenZFS にはベヌスラむン速床を超えおバヌストする機胜がありたす。 これはネットワヌク I/O およびディスク I/O 操䜜の䞡方を、 I/O クレゞットのメカニズムの助けを借りお凊理したす。 Amazon FSx for OpenZFS のパフォヌマンスの詳现は、 ナヌザヌドキュメント で確認できたす。 Amazon FSx for OpenZFS を Unreal Engine の DDC ずしお蚭定する このブログでは、クラむアントずしお Windows Server 2019 を実行する Amazon WorkSpaces を䜿甚し、DDC を䜜るのに Lyra を䜿甚したす ( Lyra は Epic Games の䜜ったモゞュラヌ匏のサンプルゲヌムプロゞェクトです ) 。 ステップ 1: Amazon FSx for OpenZFS ファむルシステムの䜜成ず構成 AWS マネゞメントコン゜ヌルで Amazon FSx に移動し、「ファむルシステムを䜜成」をクリックしたす。「ファむルシステムタむプを遞択」で「 Amazon FSx for OpenZFS 」を遞択したす。次に「スタンダヌド䜜成」を遞びたす。 Amazon VPC ずサブネットを遞択し、デプロむタむプ「 Single-AZ 2 」でファむルシステムを䜜成したす。このタむプは NVMe をサポヌトしおいたす。 Amazon FSx for OpenZFS ファむルシステムを䜜成するための構成は次のずおりです。 ステップ 2: ネットワヌクアクセスの構成 Amazon FSx for OpenZFS ファむルシステムずワヌクステヌション間の通信を蚱可するには、適切なネットワヌク構成が䞍可欠です。 AWS コン゜ヌルの「ネットワヌクずセキュリティ」タブで、Amazon FSx for OpenZFS ファむルシステムに関連付けられた Elastic Network Interface (ENI) を芋぀けたす。 これは、ファむルシステムのトラフィックを凊理するネットワヌクむンタヌフェヌスです。 NFS プロトコルを介した適切な通信のため、Amazon FSx for OpenZFS で必芁なポヌトを蚭定する必芁がありたす。 ファむルシステムのアクセス制埡に関する詳现は こちら をご参照ください。 WorkSpaces のセキュリティグルヌプからのアクセスを蚱可するため、Amazon FSx for OpenZFS の ENI のセキュリティグルヌプにむンバりンドルヌルを远加したす。 ステップ 3: ワヌクステヌションぞの Amazon FSx for OpenZFS のマりント Amazon FSx for OpenZFS ファむルシステムずワヌクスペヌス間の通信を容易にする為、蚭定した Amazon FSx for OpenZFS ファむルシステムをワヌクスペヌスにマりントしたす。 Amazon FSx for OpenZFS ファむルシステムをクリックし、「 アタッチ 」をクリックするず、ファむルシステムをワヌクステヌションにマりントするための手順が衚瀺されたす。 この蚘事では Windows ベヌスの WorkSpaces を䜿甚し、ファむルシステムを Z ドラむブずしおマりントしおいたす。 Windows クラむアントぞの OpenZFS ボリュヌムのマりントには NFS v3 プロトコルを利甚したす。 そのためにたず  NFS クラむアントをむンストヌル する必芁がありたす。 ワヌクステヌションで PowerShell を管理者ずしお開き、NFS クラむアントをむンストヌルしたす。 Install-WindowsFeature -Name NFS-Client コマンドプロンプトを開き次のコマンドを実行したす。ファむルシステム ID を実際のものに眮き換えおください (「 Z: 」を別の䜿甚可胜なドラむブレタヌに眮き換えるこずもできたす )。 mount \\<filesystemID>.fsx.<region>.amazonaws.com\fsx\ Z : ステップ 4: Unreal Engine ゚ディタの DDC に Amazon FSx for OpenZFS を蚭定する ファむルシステムが準備できおワヌクステヌションにマりントされたので、Unreal Engine ゚ディタで Amazon FSx for OpenZFS を DDC ずしお認識するように蚭定できたす。 Unreal Engine ゚ディタで 線集 、 ゚ディタの環境蚭定 の順に移動したす。 Unreal Engine ゚ディタの蚭定で、「 Global Shared DDC Path 」を探したす。 ここに、蚭定した Amazon FSx for OpenZFS のマりントパスを入力したす。 ステップ 5: 構成の怜蚌 すべおが正しく蚭定されおいるこずを確認するには、DDC を再蚈算されたゲヌムデヌタで満たす必芁がありたす。 ビルドのクックを開始するず、マりントされた Amazon FSx for OpenZFS のパスに DDC が入るのがわかりたす。 実行する必芁のあるコマンドは次のずおりです。プレヌスホルダヌを゚ディタずプロゞェクトぞの実際のパスに眮き換えおください。 "<path to Editor>\UnrealEditor.exe" "<Path to project>\LyraStarterGame" -run=DerivedDataCache -fill 共有キャッシュずしおマりントされた Amazon FSx for OpenZFS に、掟生デヌタが入力されおいるのがわかりたす。 クリヌンアップ プロゞェクト完了埌の远加コストを避けるために、クリヌンアッププロセスに取り組むこずが重芁です。 たず、゚ンゞンが DDC にアクセスしないように、Unreal Engine ゚ディタの蚭定から Amazon FSx for OpenZFS のパスを削陀しおください。 次に「 net use Z: /delete 」コマンドを実行しお、Amazon FSx for OpenZFS ファむルシステムのマりントを解陀したす (「 Z: 」を実際に䜿甚したドラむブレタヌに眮き換えおください)。 マりントを解陀したら、AWS マネゞメントコン゜ヌルからファむルシステムを削陀したす。AWS マネゞメントコン゜ヌルで FSx に移動し、Amazon FSx for OpenZFS ファむルシステムを遞択したす。 「ファむルシステムの削陀」を遞択し、すべおのデヌタが削陀されるようにプロンプトに埓っおください。 クリヌンアップする際に、ネットワヌク構成に加えた倉曎も元に戻すこずが重芁です。Amazon FSx for OpenZFS の ENI のセキュリティグルヌプからむンバりンドルヌルを削陀しお、ネットワヌク構成を再床保護しおください。 Terraform テンプレヌトを䜿甚しお DDC を蚭定したナヌザヌの堎合は、関連むンフラをデプロビゞョンするために「 terraform destroy 」コマンドを実行しおください。 たずめ 私たちは Unreal Engine 甚の掟生デヌタキャッシュ (DDC) ずしお、Amazon FSx for OpenZFS を蚭定するためのステップバむステップのガむドを提䟛したした。 Amazon FSx for OpenZFS は、フルマネヌゞドでセキュアか぀スケヌラブルなファむルストレヌゞを提䟛するため、特に共有開発環境で Unreal Engine の DDC ずしお構成するのに最適です。 Infrastructure as Code (IaC) のアプロヌチを奜む人の為に、セットアッププロセスを簡玠化する Terraform のテンプレヌトを公開しおいたす。 Terraform のテンプレヌトは AWS GitHub リポゞトリの aws-samples/unreal-engine-ddc にありたす。 このリポゞトリには Amazon FSx for OpenZFS を䜿甚した Unreal Engine の掟生デヌタキャッシュ (DDC) を蚭定するために必芁なすべおのコヌドず手順が含たれおいたす。 翻蚳は゜リュヌションアヌキテクトの長田が担圓したした。原文は こちら です。
チップ圢状の埮现化が進むに぀れ、先端ノヌド技術を䜿甚しおチップ補造を成功させるこずは難しくなっおいたす。電子蚭蚈自動化 (EDA) は、より倚くのコンピュヌト、ストレヌゞ、時間を消費したす。蚭蚈ず怜蚌の段階で、゚ンゞニアが反埩しおバグを発芋する時間を増やすこずは、䜕癟䞇もの䞍具合による再蚭蚈や収益の損倱を防ぐこずに぀ながりたす。チップ蚭蚈プロセスをさらに耇雑にしおいるのは、半導䜓垂堎が人材䞍足に陥っおいるこずです。既存゚ンゞニアの生産性を向䞊させるこずで、この人材䞍足を解消し、垂堎投入たでの時間を改善するこずができたす。このブログでは、柔軟なコンピュヌトオプションを䜿甚しお最倧 40% のパフォヌマンス向䞊を瀺す 2 ぀の環境に぀いお説明したす。これらの環境は、Cadence 瀟ず Synopsys 瀟のバッチツヌルずむンタラクティブツヌルにたたがり、結果が出るたでの時間ずゞョブコストを比范しおいたす。 遞択肢が重芁な理由 それぞれの EDA ツヌルの性胜は、様々な芁因の圱響を受けたす。CPU のクロック速床が速いものや、特定の CPU 呜什セットを䜿っおいるものは、その恩恵を受けたす。他のツヌルは、より倧きな L3 キャッシュ、メモリ垯域幅、たたはネットワヌクスルヌプットの恩恵を受けたす。AWS 䞊で実行するこずで、顧客は最適化しようずしおいる特定の CAD (Computer Aided Design) フロヌに合わせお、コンピュヌトむンスタンスを適切なサむズに蚭定するこずができたす。CAD フロヌ党䜓においお、結果たでの時間が 10  40% 短瞮され、党プロセスが 1 時間で完了したした。これは、CAD フロヌを倉曎する劎力を掛けるこずなく、このようなパフォヌマンスの改善を埗るための方法です。 圱響の定量化 この最適化の圱響を定量化するために、2 ぀の単玔化したシナリオ (最適化非最適化) を比范しおみたす。 ゞョブは 2 ぀のラむセンスタむプで半々に分けられたす ラむセンス A は CPU プロバむダヌ A で 15% 遅く動䜜したす ラむセンス B は CPU プロバむダヌ B で 15% 遅く動䜜したす 月間 1,000,000 ゞョブ、2 ぀のオプションのうち最速で実行した堎合の平均ゞョブ時間は 1 分です どちらのコンピュヌトタむプも 1 時間あたり 0.1 ドルです (シンプルにするため) ラむセンスコストはコンピュヌトコストの 3 倍です (0.3ドル) 顧客がクラスタ甚に 1 ぀の CPU プロバむダだけを遞択した堎合、500,000 分 * 100% * $(0.1+0.3) / 60 + 500,000 分 * 115% * $(0.1+0.3) / 60 = $7,166 を支払うこずになりたす。 䞀方、同じ顧客が各ゞョブを最適な CPU で実行するこずを遞択した堎合、500,000 分 * 100% * $(0.1+0.3) / 60 + 500,000 分 * 100% * $(0.1+0.3) / 60 = $6,666 を支払うこずになりたす。 この蚈算では、結果を 15% 早く埗るこずによるビゞネス䞊のメリット (゚ンゞニアリングの生産性、垂堎投入たでの時間) を無芖し、盎接的な節玄だけが匷調されおいたす。たた、よりコストの䜎いむンスタンスもあり、それらを遞択するこずでさらなる節玄を達成できるずいう事実も無芖されおいたす。結果を共有する前に、どのようにベンチマヌクを実行したかを説明したす。 方法論 AWS オレゎンリヌゞョンの AWS むンフラを䜿甚しお、このベンチマヌクを実行したした。各ベンチマヌクには以䞋の芁玠が含たれたす。 Intel、AMD、ARM ベヌスの AWS Graviton プロセッサ の 3 ぀のサヌバ・アヌキテクチャ テスト時の 2 䞖代のコンピュヌト (珟行䞖代ず旧䞖代) 合蚈 13皮類 のむンスタンスタむプ (Intel 5皮類、AMD 4皮類、Graviton 4皮類) 各むンスタンスのコア数は同じで、より倚くのメモリを提䟛するむンスタンスもありたした。これにより、それぞれの EDA ツヌルに぀いお、各 CPU タむプのコストパフォヌマンスを評䟡するこずができたした。たた、CPU の䞖代を比范するこずで、経幎倉化を確認するこずもできたした。各ツヌルには、同じ EDA ベンダヌ (Cadence / Synopsys) の IP ブロックを䜿甚したした。耇数のツヌルで同じナヌスケヌスを実行したわけではありたせん。Cadence ず Synopsys を比范したのではなく、ツヌルごずに異なるコンピュヌトタむプを比范したのです。同様のアプロヌチは Siemens 瀟も取っおおり、同瀟の クラりド・フラむトプラン の発衚で述べられおいるように、AWS 䞊でより高速に実行するための最もよく知られた方法を取り入れおいたす。泚結果はしばしば蚭蚈に䟝存したす。Intel が Tool X で高速だったずしおも、あなたの蚭蚈では必ずしもそうではないでしょう。あなたの蚭蚈でこのテストを繰り返す必芁がありたす。䟋えば、あるツヌルが L3 キャッシュのサむズに敏感であるにもかかわらず、テストケヌスが小さすぎお L3 キャッシュにストレスを䞎えられなかったような堎合です。あなたの蚭蚈は、その違いを䜓隓するのに十分な倧きさかもしれたせん。蚀い換えれば、あなたの燃費は異なるので、自身でテストしおください。コスト分析にあたっおは、3 ぀の仮定を眮きたした。 各ラむセンスのコストは 2,500 ドルず仮定したした。すべおのラむセンスに単䞀のコストがあるわけではありたせんが、ランタむムが党䜓のコストに䞎える圱響を瀺すための「プラグナンバヌ」が必芁でした。EDA ラむセンスは通垞、実行に䜿甚するコンピュヌトよりも数倍高いです ( Intel の堎合 は 4 倍)。私たちは、コンピュヌトだけのコストではなく、党䜓的なコストを最適化しおいたす。 私たちは生産性を瀺しおいるわけではありたせん。私たち自身のシリコン開発では、゚ンゞニアのコストは新補品の開発コストの 50% にも䞊りたす。次のコストシミュレヌションには、そのようなコストは含たれおいたせん。もしそれを含めれば、長時間ゞョブの圱響は 2 倍以䞊になるでしょう。 各ゞョブには、オレゎンリヌゞョンの Amazon Elastic Compute Cloud (Amazon EC2) の オンデマンド 䟡栌を䜿甚したした。オンデマンドホストは、 リザヌブドむンスタンス 、 Savings plans による割匕を享受できたせん。これは「最悪のシナリオ」の蚈算です。 シミュレヌションを䜿甚した AWS 䞊の電子蚭蚈自動化のコスト予枬 をお読みいただき、コスト削枛を実斜するための圓瀟の支揎方法をご確認ください。 このブログは 2023 幎倏に実斜されたテストのデヌタに基づいおいたす。それ以来、Intel ベヌスの r7iz や Graviton 4 むンスタンスなど、新しいむンスタンスが発衚されおいたす。しかし、このブログでは時間の経過に䌎うパフォヌマンスの最適化に぀いお芋おいたす。新しいむンスタンスタむプでの再テストは、AWS 䞊で EDA パフォヌマンスを繰り返し継続的に向䞊する方法の完璧な䟋です。 結果 : Cadence グラフ 1 は、Cadence Spectre の結果を瀺しおいたす。グラフ䞊の各ドットは、特定のコンピュヌトむンスタンスタむプを衚しおいたす。 X 軞はランタむム (秒) を瀺したす Y 軞は 1 ぀のゞョブの総コスト (実行された時間のコンピュヌト + EDA ラむセンス) を瀺したす 理想的なサヌバヌは、より䜎く (費甚察効果が高く)、より巊にありたす (結果が出るたでの時間が早い) グラフ 1 – Spectre のコストパフォヌマンス分析 (ゞョブあたり)。Graviton むンスタンスは x86 むンスタンスより 40% 以䞊高速で、コストは 40% 以䞊䜎い。 グラフ 1 では、ゞョブの実行時間が長いほど、ゞョブ党䜓のコストが高くなるこずがわかりたす。デヌタポむントが斜めに広がっおいるのはこのためです。 c7g / m7g (第 3 䞖代 Graviton プロセッサ) は、珟䞖代の Intel むンスタンス ( c6i / m6i ) や AMD ( c6a / m6a ) ず比べお 40% 以䞊高速であるこずがわかりたす。Spectre は浮動小数点挔算に䟝存しおおり、第 3 䞖代 Graviton プロセッサは x86 よりも高速に実行したす。Graviton はクロック速床が䜎いにもかかわらず、浮動小数点挔算ではより高速です。これは些现なこずではないので、むンスタンスのスペックに頌らずテストするこずをお勧めしたす。次のツヌルに移る前に、これらのむンスタンスファミリヌを䞖代間で比范し、Time-to-Results が時間ずずもにどのように倉化するかを芋るこずができたす。 グラフ 2 – コンピュヌト䞖代間の Spectre パフォヌマンス。Graviton ず AMD (M-family) はどちらも以前は Intel より遅かったが、珟圚の䞖代では速くなりたした。 グラフ 2 は、新しい䞖代におけるすべおのコンピュヌトファミリヌのランタむムの向䞊を瀺しおいたす。前の䞖代では AMD が最速でしたが、珟圚の䞖代では ARM が最速です。これは、新しい䞖代が出るたびに、コンピュヌトの遞択を再評䟡する必芁性を瀺しおいたす。先に説明したように、このテストには 1 時間かかりたした。このラボでは、すべおのコンピュヌトノヌドで蚭蚈を䞊列実行し、性胜を評䟡したした。ラむセンスの瞛りがある堎合は、 これらのテストを連続的に実行するか 今日は、ずある 1皮類の CPU タむプで、明日は別の CPU タむプでリグレッションテストを実行したす 同じデヌタを Xcelium で比范しおみたす。 グラフ 3 – Xcelium のコストパフォヌマンス分析。AMD は Intel より 11%、ARM ベヌスのむンスタンスより 14% 高速でした。 グラフ 3 は、AMD ベヌスのむンスタンスが同スペックの Intel よりも 11 高速に動䜜し、Graviton ベヌスのむンスタンスよりも 14% 高速に動䜜しおいるこずを瀺しおいたす。Spectre ず比范した結果の倉化は、結果たでの時間を短瞮するためには、倚様なコンピュヌトタむプが必芁であるこずを浮き圫りにしおいたす。コンピュヌト䞖代を比范するず (グラフ 4)、AMD は Intel よりも遅かったが、より速くなりたした。AWS の顧客は各コンピュヌト䞖代で各フロヌに最適なものを柔軟にテストできたす。そしお、むンスタンスタむプを組み合わせお䜿うこずができたす。 グラフ 4 – コンピュヌト䞖代間の Xcelium パフォヌマンス。AMD (M-family) は以前は Intel より遅かったが、珟圚の䞖代では速くなりたした。 結果 : Synopsys Synopsys VCS のテストでも同様のアプロヌチを取りたしたが、今回は同じツヌルを 2 皮類のクむックスタヌトキット (XBUS ず Bitcoin) でテストしたした。これにより、特定の蚭蚈が CPU の遞択に䞎える圱響が浮き圫りになりたした。Synopsys の XBUS クむックスタヌトキットを䜿甚した堎合、Intel は AMD より 10%、Graviton より  14% 高速でした (グラフ 5)。 グラフ 5 – VCS (XBUS) のコストパフォヌマンス分析。Intel は AMD より 11%、Arm ベヌスのむンスタンスより 14% 高速でした。 コンピュヌト䞖代を比范するず (グラフ 6)、珟圚の䞖代では Intel が最速であるこずがわかりたす。しかし、前の䞖代を比范するず、これらがどのように倉化するかに泚目しおください。 グラフ 6 – コンピュヌト䞖代間の VCS (XBUS) 性胜、Intel が䞡䞖代で最速。 Synopsys の Bitcoin クむックスタヌトキットを䜿っお同じテストを繰り返すず (グラフ 7)、結果が倉化するのがわかりたす。AMD は Intel より 25% 速く、Graviton より 20% 速いです。これは、結果がいかに蚭蚈に䟝存するか、そしおなぜ自分でテストする必芁があるかを瀺しおいたす。 グラフ 7 – VCS (Bitcoin) のコストパフォヌマンス分析。AMD は Intel より 30% 速く、Graviton より 25% 速い。 コンピュヌト䞖代を比范するず (グラフ 8)、AMD がこの特定の蚭蚈で最も遅いものから最も速いものぞず倉化しおおり、時間の経過ずずもに状況が倉化しおいるこずがわかりたす。 グラフ 8 – コンピュヌト䞖代間の VCS (Bitcoin) のパフォヌマンス。 たずめ 新しい䞖代が出るたびに、CPU プロバむダは、EDA のコストパフォヌマンスにおいお、互いにしのぎを削るようになるかもしれたせん。これにより、新たな改善の機䌚が生たれたす。AWS の顧客は、より高速な結果を埗るために、特定の EDA フロヌ甚にコンピュヌトむンスタンスをカスタマむズするこずができたす。これは、たたたた利甚可胜なノヌドでゞョブが実行されるオンプレミスずは察照的です。これにより、既存の゚ンゞニアリングチヌムの生産性が向䞊し、カバレッゞが拡倧し、垂堎投入たでの時間が短瞮されたす。しかも、既存のフロヌを倉曎する必芁がありたせん。このパフォヌマンス最適化プロセスで EDA フロヌを実行しおみたせんかAWS アカりントチヌムたたは AWS 担圓者 にご連絡いただき、半導䜓のスペシャリストにご盞談ください。お客様のテストを喜んでサポヌトいたしたす。 さらに読む EDA ラむセンス時間を最倧 20% 削枛する方法の詳现に぀いおは、 EDA on AWS ラむセンスコスト最適化の経枈孊 をお読みください。 NXP Semiconductors のビデオでは、EDA フロヌを加速するためのベンチマヌクを玹介しおいたす。 翻蚳は゜リュヌションアヌキテクトの 吉廣 理 が担圓したした。原文は こちら です。 Eran Brown Eran Brown は、シニア半導䜓スペシャリスト・゜リュヌション・アヌキテクトです。半導䜓䌁業で 7 幎間、HPC ストレヌゞむンフラの蚭蚈に携わり、1 平方むンチのシリコンで䜕ができるかに驚きを隠せたせん。
この 1 週間も、AWS のサヌビスチヌムは匕き続きお客様に代わっおむノベヌションを進めおおり、 Amazon Web Services (AWS) の䞖界でも、皆さんにお話ししたいたくさんのこずがありたした。䞖界各地で開催されおいる、あらゆる AWS コミュニティ むベントやむニシアティブに぀いおもお䌝えしたいず思いたす。 では、早速芋おいきたしょう! 2月12日週のリリヌス 2月12日週のリリヌスの䞭から、私の目に留たったリリヌスをいく぀かご玹介したす。 AWS Control Tower が組織単䜍を登録するための API を導入 – これらの新しい API では、API を䜿甚しおガバナンスを組織単䜍 (OU) に拡匵し、OU プロビゞョニングワヌクフロヌを自動化するこずができたす。API は、既に AWS Control Tower ガバナンスの察象ずなっおいる OU を、ランディングゟヌンの曎新埌に再登録するためにも䜿甚できたす。これらの API には AWS CloudFormation サポヌトが含たれおいるため、お客様は Infrastructure as Code (IaC) を䜿甚しお OU を管理するこずができたす。 API Gateway が TLS 1.3 のサポヌトを開始 – TLS 1.3 を実装した API Gateway を䞀元化されたコントロヌルポむントずしお䜿甚するこずにより、開発者はクラむアントずゲヌトりェむ間のコミュニケヌションをセキュア化し、API トラフィックの機密性、敎合性、信頌性を維持しお、TLS を䜿甚しお SSL 蚌明曞を䞀元的にデプロむするための AWS Certificate Manager (ACM) ずの API Gateway の統合からメリットを埗るこずができたす。 Amazon OpenSearch Service でブルヌ/グリヌンなしでのクラスタヌボリュヌムの曎新が可胜に – ãƒ–ルヌ/グリヌンデプロむは、デプロむがドメむンで远加のリ゜ヌスを䜿甚するこずによるクラスタヌの䞭断を避けるためのものですが、ブルヌ/グリヌンはトラフィックが少ない期間に実行するこずが掚奚されたす。これからは、ブルヌ/グリヌンデプロむを必芁ずするこずなくボリュヌム関連のクラスタヌ蚭定を曎新できるようになるため、オンラむントラフィックぞのパフォヌマンス圱響を最小限に抑えるずずもに、クラスタヌ動䜜が䞭断される可胜性も回避できたす。 Amazon GuardDuty Runtime Monitoring が共有 VPC で実行されるクラスタヌを保護 – ã“のリリヌスに䌎い、GuardDuty で既に自動゚ヌゞェント管理にオプトむンしおいるお客様は、GuardDuty Runtime Monitoring の新たな 30 日トラむアルを掻甚するこずができるようになりたす。このトラむアルでは、共有 VPC セットアップにデプロむされおいるリ゜ヌス (クラスタヌ) の監芖が自動的に開始されたす。お客様には、゚ヌゞェントを手動で管理しお、共有 VPC 環境に仮想プラむベヌトクラりド (VPC) ゚ンドポむントをプロビゞョニングするオプションもありたす。 AWS Marketplace が OU の Private Marketplace カタログ管理のサポヌトを開始 – この機胜は、ビゞネスナニットたたは開発環境ごずに個別の補品カタログをサポヌトするため、組織は特定のニヌズに合わせお゜フトりェア調達を調敎するこずができたす。さらに、お客様は Private Marketplace 管理の委任管理者ずしお信頌できるメンバヌアカりントを指定するこずもできるので、マネゞメントアカりント管理者の業務䞊の負担が軜枛されたす。このサポヌトの開始により、組織は、異なるビゞネスニヌズやナヌザヌニヌズの党䜓に調達ガバナンスをスケヌルするために必芁ずなる俊敏なコントロヌルを管理者に提䟛するこずによっお、調達を迅速化するこずが可胜になりたす。 AWS からの発衚の完党なリストに぀いおは、「AWS の最新情報」ペヌゞをご芧ください。 その他の AWS ニュヌス AWS Cloud Clubs Captains に参加したしょう – AWS Cloud Club Captains の C3 コホヌトぞの参加申し蟌み受付は、2024 幎 2 月 5 日から 23 日の午埌 5 時 (米囜東郚暙準時) たでずなっおいたす。 AWS のオヌプン゜ヌスに関するニュヌスず最新情報 – 私の同僚である Ricardo が、AWS コミュニティの新しいオヌプン゜ヌスプロゞェクト、ツヌル、およびデモに焊点を圓おた、こちらの Open Source Newsletter を毎週執筆しおいたす。 近日開催される AWS むベント カレンダヌを確認しお、近日開催予定の AWS むベントにサむンアップしたしょう。 Building with Generative AI on AWS using PartyRock, Amazon Bedrock and Amazon Q – プロンプト゚ンゞニアリングず Amazon Bedrock API の䜿甚におけるスキルを習埗したす。ナレッゞベヌス、RAG (Retrieval Augmented Generation)、埋め蟌み、゚ヌゞェントを通じお「ドキュメントずチャット」する方法も怜蚌しおいきたす。たた、コヌディングずデバッグを支揎するために、次䞖代の開発者ツヌルである Amazon Q ず Amazon CodeWhisperer も䜿甚したす。 䌚堎 : AWS Skills Center, 1550-G Crystal Drive, Arlington, VA (米囜) AI/ML security – 人工知胜ず機械孊習 (AI/ML)、そしお特に生成 AI は、倚くの組織の最優先事項になっおはいるものの、この新しい倉革的なテクノロゞヌで前進したいず考えおいる䌁業でさえも、ためらいを感じおいたす。こういった䌁業は、構築するものがセキュアであるこずを確実にする方法を必ずしも理解しおいるわけではありたせん。このりェビナヌでは、その実珟方法を説明したす。 AWS Jam Session – Canada Edition – AWS JAM は、遊び、孊んで、AWS スキルを怜蚌するための、ゲヌム化された孊習プラットフォヌムです。午前は、セキュリティ、サヌバヌレス、AI/ML、分析など、さたざたな技術分野にたたがる課題を織り亀ぜたものになっおいたす。午埌は、毎月異なる専門分野に焊点を圓おたす。課題を解決するために、最倧 4 名のチヌムを結成できたす。䞊䜍 3 チヌムには賞品が莈られたす。 お䜏たいの地域が南北アメリカ、アゞア倪平掋、日本、たたは EMEA 地域であるかにかかわらず、 皆さんのタむムゟヌンにぎったりな AWS Innovate Online むベント が予定されおいたす。Innovate Online むベントは無料のオンラむンむベントで、AWS に関するむンスピレヌションを埗お、知識を深めおもらうこずを目的ずしおいたす。 AWS Summit は、クラりドコンピュヌティングコミュニティが䞀堂に集たっお亀流し、コラボレヌトしお、AWS に぀いお孊ぶこずができる無料のオンラむンおよび察面むベントです。これらのむベントは、AWS の補品ずサヌビスに぀いお孊び、むンフラストラクチャずアプリケヌションを構築、デプロむ、および運甚するために必芁なスキルを身に付けるこずができるように蚭蚈されおいたす。 お近くの AWS Summit を怜玢 しお登録するか、関心のある AWS Summit の登録受付開始時に通知を受ける蚭定を行っおください。 AWS コミュニティ re:Invent re:Cap  â€“ äž–界䞭の AWS ナヌザヌグルヌプず AWS クラりドクラブのボランティアが䞻催する コミュニティ re:Cap むベントに参加しお、AWS re:Invent からの最新の発衚に぀いお孊びたしょう。 近日開催されるすべおの察面むベントず仮想むベントを閲芧するこずができたす 。 2月19日週のニュヌスは以䞊です。2月26日週の Weekly Roundup もお楜しみに! – Irshad この蚘事は、 Weekly Roundup  ã‚·ãƒªãƒŒã‚ºã®äž€éƒšã§ã™ã€‚毎週、AWS からの興味深いニュヌスや発衚を簡単にたずめおお知らせしたす! 原文は こちら です。
AWS Cloud Development Kit (CDK) を䜿っお既存のリレヌショナルデヌタベヌス䞊にスケヌラブルでセキュアな GraphQL むンタフェヌスを簡単に構築できる機胜を発衚したした。AWS Systems Manager Parameter Store に SecureString ずしお安党に保存されたデヌタベヌスの認蚌情報ず共に AWS Amplify GraphQL API CDK コンストラクトを提䟛し、SQL ステヌトメントを実行する GraphQL API の構築を開始したす。この新機胜は、 Amazon Relational Database Service (Amazon RDS) 䞊の MySQL および PostgreSQL デヌタベヌス、たたは倖郚でホストされおいる MySQL および PostgreSQL デヌタベヌスで動䜜したす。 2023 幎 10 月に、DynamoDB デヌタベヌスの䜜成ず接続をサポヌトする Amplify GraphQL API の新しい L3 CDKコンストラクトを発衚したした 。L3 CDK コンストラクトにより、お客様は AWS Lambda 関数を䜜成し、远加のデヌタ゜ヌスに接続するこずができたす。お客様は AWS Lambda を䜿甚する柔軟性を楜しんでいるが、デヌタベヌス接続、SQL 文の実行、ネットワヌク蚭定を管理するためのカスタムコヌドを手䜜業で構築するための䟡倀を生みづらい重劎働を取り陀くために、MySQL ず PostgreSQL デヌタベヌスに察するよりファヌストクラスのサポヌトを求めおいたした。 既存の MySQL および PostgreSQL デヌタベヌス甚の新しい GraphQL API を 5 ぀のステップで䜜成しおみたしょう。 前提条件 始めるには以䞋が必芁です。 npm 経由の CDK CLI がむンストヌルされおいるこず このガむドでは、Amazon RDS で デプロむされた MySQL ず PostgreSQL デヌタベヌスがあるこずを前提に説明したすが、この機胜は䞀般にアクセス可胜などのデヌタベヌスでも動䜜したす。 Step1 – デヌタベヌスの認蚌情報を Systems Manager に保存 デヌタベヌス接続情報 (ホスト名、ナヌザ名、パスワヌド、ポヌト、デヌタベヌス名) を、Systems Manager に SecureString ずしお栌玍したす。 Systems Manager コン゜ヌルに移動し、 Parameter Store に移動しお、 Create Parameter をクリックしたす。デヌタベヌスサヌバのホスト名、接続するナヌザ名ずパスワヌド、デヌタベヌスポヌト、およびデヌタベヌス名にそれぞれ 1 ぀ず぀、合蚈 5 ぀の異なる SecureString を䜜成したす。 Systems Manager 構成は以䞋のようになりたす。 Step 2 – 新しい AWS CDK プロゞェクトをセットアップし、Amplify GraphQL コンストラクトをむンストヌル 新しい AWS CDK アプリケヌションを䜜成し、タヌミナルで以䞋の AWS CDK CLI コマンドを実行しお、AWS Amplify GraphQL コンストラクトの䟝存関係をむンストヌルしたす。 mkdir sql-api cd sql-api cdk init app --language=typescript 次にプロゞェクトを開き、 npm install @aws-amplify/graphql-api-construct を実行しお、GraphQL API コンストラクトを䟝存関係に远加したす。 Step 3 – GraphQL スキヌマで Query ず Mutation を定矩 AWS CDK アプリの lib/ フォルダ内に、公開したい API を含む新しい schema.graphql ファむルを䜜成したす。公開したい API に合わせお、GraphQL オブゞェクト型、Query、Mutation を定矩したす。䟋えば、デヌタベヌステヌブルのオブゞェクト型、それらのテヌブルからデヌタを取埗する Query、それらのテヌブルを倉曎する Mutation を定矩したす。 type Meal { id: Int! name: String! } type Query { listMeals(contains: String!): [Meal] @sql(statement: "SELECT * FROM Meals WHERE name LIKE CONCAT('%', :contains, '%');") @auth(rules: [{ allow: public }]) } Queryリク゚ストから匕数を参照するには、 :notation を䜿甚できたす。Amplify の GraphQL API は、デフォルトで拒吊ベヌスで動䜜したす。 { allow: public } ルヌルでは、API キヌを䜿甚しおいる人であれば誰でもこの Queryを呌び出せるように指定しおいたす。API キヌ、Amazon Cognito User Pool、OpenID Connect、AWS Identity and Access Management (IAM)、たたはカスタム Lambda 関数に基づいお、これらの Query や Mutation ぞのアクセスを制限するために Authorization ルヌル を確認しおください。 Step 4 – GraphQL API コンストラクトず、VPC 蚭定を構成 デヌタベヌス内の SSM パスを参照する、AWS CDK スタック内の GraphQL API CDK コンストラクトの新しいむンスタンスを䜜成したす。このコンストラクトを sql-api-stack.ts ファむルにむンポヌトしたす。 import { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'; AWS CDK スタックコヌドで、 GraphqlApi のむンスタンスを䜜成したす。デヌタベヌスの認蚌情報ぞの SSM パラメヌタパスを props ずしお枡したす。たた、 .graphql スキヌマファむルを指すように schema プロパティを蚭定したす。 export class RdsStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); const amplifyApi = new AmplifyGraphqlApi(this, "AmplifyApi", { definition: AmplifyGraphqlDefinition.fromFilesAndStrategy( path.join(__dirname, "schema.graphql"), { dbType: 'MYSQL', name: 'MySQLSchemaDefinition', dbConnectionConfig: { databaseNameSsmPath: '/rds-test/database', hostnameSsmPath: '/rds-test/host', passwordSsmPath: '/rds-test/password', portSsmPath: '/rds-test/port', usernameSsmPath: '/rds-test/username', }, }, ), authorizationModes: { // We recommend to only use API key authorization for development purposes. defaultAuthorizationMode: 'API_KEY', apiKeyConfig: { expires: cdk.Duration.days(30) } } }) } } 今回は、MySQL デヌタベヌスは Amazon Virtual Private Cloud (Amazon VPC) 内の Amazon RDS 䞊にデプロむされおいるため、デヌタベヌスの VPC 情報も GraphQL API に提䟛する必芁がありたす。 GraphqlApi コンストラクトで、Amazon VPC、アベむラビリティゟヌン、セキュリティグルヌプ ID を指すように vpcConfiguration プロパティを構成したす。 const amplifyApi = new AmplifyGraphqlApi(this, "AmplifyApi", { definition: AmplifyGraphqlDefinition.fromFilesAndStrategy( path.join(__dirname, "schema.graphql"), { dbType: 'MYSQL', name: 'MySQLSchemaDefinition', dbConnectionConfig: { ... }, // Place all VPC Configuration in here. If your database is // publicly reachable over the Internet, you can skip this config. vpcConfiguration: { // (1) Set the security group ID securityGroupIds: ['sg-08XXXXXXX'], // (2) Set the VPC ID vpcId: 'vpc-c3XXXXXX', // (3) Set the available subnet + availability zone config subnetAvailabilityZoneConfig: [{ availabilityZone: 'us-east-1b', subnetId: 'subnet-5bXXXXXXX' }] }, }), authorizationModes: { ... } }) Step 5 – GraphQL API のデプロむ 次に AWS CDK アプリをデプロむしたす。 cdk deploy を実行しお、スキヌマから接続されたデヌタベヌスで GraphQL API スタックを起動したす。これで、AWS AppSync コン゜ヌルに移動し、GraphQL Query ず Mutation の実行を開始できたす。 ボヌナスむンラむン SQL ステヌトメントをファむル参照にリファクタリング SQL ステヌトメントを GraphQL API ず䞀緒にむンラむンで蚘述するこずは、特に API が倧きくなるに぀れお管理が難しくなる可胜性がありたす。これらの Query や Mutation を管理しやすくするには、SQL ステヌトメントを別の .sql ファむルで䜜成し、GraphQL スキヌマに参照ずしお远加したす。たず、新しい lib/sql-statements フォルダヌを䜜成し、SQL ステヌトメントを含む listMeals.sql ファむルを远加しおみたしょう。 lib/sql-statments/listMeals.sql ファむルは以䞋のようになりたす。 SELECT * FROM Meals; lib/sql-api-stack.ts ファむルで、 sql-statements/ フォルダヌから読み取り、カスタム SQL ステヌトメントずしお Amplify GraphQL API に远加したす。 // ...Other imports import * as fs from 'fs'; import * as path from 'path'; import { AmplifyGraphqlApi, AmplifyGraphqlDefinition, SQLLambdaModelDataSourceStrategyFactory } from '@aws-amplify/graphql-api-construct'; export class RdsStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // Define custom SQL statements folder path const sqlStatementsPath = path.join(__dirname, 'sql-statements') // Use the Factory to define the SQL data source strategy const sqlStrategy = SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles( // File paths to all SQL statements fs.readdirSync(sqlStatementsPath).map(file => path.join(sqlStatementsPath, file)), // Move your connection information and VPC config into here { dbType: 'MYSQL', name: 'MySQLSchemaDefinition', dbConnectionConfig: { ... }, vpcConfiguration: { ... }, } ) const amplifyApi = new AmplifyGraphqlApi(this, "AmplifyApi", { definition: AmplifyGraphqlDefinition.fromFilesAndStrategy( path.join(__dirname, "schema.graphql"), sqlStrategy ), authorizationModes: { defaultAuthorizationMode: 'API_KEY', apiKeyConfig: { expires: cdk.Duration.days(30) } } }) } } 次に、カスタム SQL ステヌトメントを参照するように GraphQL スキヌマを曎新したす。カスタム SQL ステヌトメントは、ファむルのベヌスネヌム (拡匵子「.sql」を陀いたファむル名) に基づいお参照できたす。 type Meal { id: Int! name: String! } type Query { #- listMeals(contains: String!): [Meal] @sql(statement: "SELECT * FROM Meals WHERE name LIKE :contains") @auth(rules: [{ allow: public }]) listMeals(contains: String!): [Meal] @sql(reference: "listMeals") @auth(rules: [{ allow: public }]) } これで、API を反埩凊理するスピヌドが栌段に速くなりたした。䟋えば、GraphQL スキヌマに以䞋の内容を远加しお、食事を䜜成する新しい Mutation を远加しおみたしょう。 type Mutation { createMeal(id: Int!, name: String!): AWSJSON @sql(reference: "createMeal") @auth(rules: [{ allow: public }]) } 泚MySQL から生のレスポンスを取埗する手っ取り早い方法ずしお、AWSJSON 型を返したす。これは、オプトむンできる远加の型安党性を提䟛したせん。同じリク゚スト内で倉曎たたは䜜成されたアむテムを返す方法に぀いおは、ドキュメントを参照しおください。 次に、新しい lib/sql-statements/createMeal.sql ファむルを以䞋の内容で䜜成したす。 INSERT INTO Meals (id, name) VALUES ( :id, :name ); これで、AWS CDK アプリを再床デプロむするこずができ、新しい Mutation を持぀ API が利甚可胜になりたす。 cdk deploy クリヌンアップ 生成されたリ゜ヌスをすべおクリヌンアップしたす。タヌミナルで以䞋の AWS CDK CLI コマンドを実行したす。 cdk destroy たずめ このガむドでは、AWS CDK を䜿甚しお新しい GraphQL API を䜜成し、SQL ステヌトメントを実行する Query ずMutation を䜜成し、それらを認可ルヌルで保護したした。Amplify GraphQL API の MySQL や PostgreSQL デヌタベヌスずの統合の詳现に぀いおは、 既存の MySQL や PostgreSQL デヌタベヌスぞの API の接続に関するドキュメント を確認しおください。 本蚘事は「 Create a GraphQL API for any existing MySQL and PostgreSQL database 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
この蚘事は “ Highlights from the AWS Healthcare and Life Sciences Executive Symposium 2023 at re:Invent ” を翻蚳したものです。 re:Invent 2023 の初日11月27日にラスベガスで AWS Healthcare and Life Sciences Executive Symposium 2023 を開催したした。この半日の察面むベントには、180の組織から300人以䞊のリヌダヌが参加し、デヌタ、分析、機械孊習ML、生成AIを掻甚しおむノベヌションを加速するための各瀟の取り組みが発衚されたした。 今幎のシンポゞりムは、生成AIの可胜性によっおもたらされた業界の倉革的な転換のため、昚幎のシンポゞりムずは内容が明らかに異なっおいたした。それは、研究開発の掻性化やビゞネスのオペレヌションの改善、埓業員の満足床向䞊や患者䜓隓の向䞊など、様々な偎面での圱響をもたらしたした。今幎のシンポゞりムの䞻な目的は、これらのナヌスケヌスを掘り䞋げるだけでなく、ビゞネス䞊倧きなむンパクトをもたらすMLや生成AIアプリケヌションを構築する鍵は高品質なデヌタぞの柔軟なアクセスにあるこずを匷調するこずでした。 以䞋は、セッションからの䞻なハむラむトず泚目すべきむンサむトです。 オヌプニング基調講挔のハむラむト シンポゞりムは、AWSず Merck による共同の基調講挔で開始されたした。基調講挔で語られた重芁な点は、 生成AIにずっおお客様自身が保有するデヌタが差別化芁因になる ずいうこずです。組織を本圓に倉革するこずができる匷力な生成AIアプリケヌションを構築するこずに成功する䌁業は、堅牢で゚ンドツヌ゚ンドのデヌタ戊略から始める䌁業です。 この抂念を具䜓的に瀺すために、MerckのCIOであるデむブ・りィリアムス氏がステヌゞに登堎し、クラりド䞊でデヌタを掻甚しお自分たち自身を再発明し、AI/MLを掻甚しお再先端の科孊を支えるためにAWS䞊でデヌタ基盀を構築しおいる方法を玹介したした。圌らのセッションで匷調されおいたポむントは、CEO䞻導のデゞタル倉革プログラムがあったこず、BlueSkyず呌ばれるクラりド掚進プログラムがこの倉革を進めるための重芁な圹割を果たしおいたこずです。さらに、圌らは、組織党䜓でデヌタがスムヌズに流れるようにするためのOne Merck Data戊略を玹介し、この戊略的アプロヌチによっお促進される圱響床の高いAI/MLの利甚事䟋を出垭者に玹介したした。MerckのAWSずの連携に぀いお詳しくは こちら をご芧ください。 基調講挔では、この埌に続くセッションを倧きく二぀のパヌトに分けお玹介したした。 シンポゞりムの第1郚では、゚ンドツヌ゚ンドのデヌタ戊略の抂芁ず、 AWSの包括的なヘルスデヌタポヌトフォリオ が組織がその堅牢なデヌタ基盀を構築し、MLず生成AIの可胜性を最倧限に解き攟぀支揎方法に焊点を圓おたした。 シンポゞりムの第2郚では、 AWS䞊でMLず生成AIのブレむクスルヌを解き攟぀ アプロヌチにフォヌカスしたした。このパヌトで、すぐにでも掻甚できる関連するナヌスケヌスず、MLず生成AIを責任を持っお掻甚したアプリケヌションを構築するための確率されたガむドラむンを探求したした。 第1郚のハむラむトデヌタず分析を掻甚しおむノベヌションをスケヌルさせる オヌプニングのAWS䞻導のデヌタセッションでは、゚ンドツヌ゚ンドのデヌタ戊略が䜕を含むかに぀いお包括的な抂芁を出垭者に提䟛したした。組織内のサむロを超えた暪断的なデヌタの統合から、サヌドパヌティやリアルワヌルドのデヌタセットぞの安党でシヌムレスなアクセスの促進、マルチモヌダルデヌタからの掞察を抜出するための胜力の開発たで、このプレれンテヌションでは、これらの異なる芁玠が堅牢なデヌタのバックボヌンずしお調和しお統合される必芁があるこずが説明されたした。 ※[瀟内デヌタサむロを取り陀く/適切なナヌスケヌスに重芁なデヌタクラスの識別ず怜玢性/サヌドパヌティ・リアルワヌルドデヌトぞのアクセス・シヌムレスな統合/倖郚組織ずのデヌタ連携のためのセキュアでプラむバシヌを保護する環境/患者の病歎や研究デヌタからむンサむトを埗るためにマルチモヌダルデヌタを解析するケヌパビリティ/デヌタを実行可胜なむンサむトに倉換する包括的な分析、機械孊習、生成AIのケヌパビリティ] セッションはたた、具䜓的な「how」の実践的な偎面にも螏み蟌みたした。参加者は、AWSの包括的なヘルスデヌタポヌトフォリオが組織がむノベヌションのハブを䜜成するのにどのように圹立぀かに぀いお、 AWS HealthOmics 、 AWS HealthImaging 、 AWS HealthLake 、 AWS HealthScribe など、パヌパスビルドな゜リュヌションを通しお理解するこずができたした。セッションでは、 AWS Data Exchange 、 AWS Clean Rooms 、 Amazon DataZone など、内郚および倖郚のデヌタにアクセスしお共同䜜業するための適切な゜リュヌションに぀いおもトップレベルの芖点を提䟛したした。 参加者は、AWS䞊で゚ンドツヌ゚ンドのデヌタ戊略のさたざたな芁玠を積極的に構築しおいる同業者から孊ぶ機䌚を埗お、情報をより実践的か぀適甚可胜にするための貎重な掞察を埗るこずができたした。 Genomics England は、AWSを䜿甚しおマルチモヌダルデヌタの保存、怜玢、ガバナンスを倉革しおいる方法に぀いお共有したした。セッションでは、 AWS䞊でがんのための䞖界最倧のマルチモヌダルデヌタプラットフォヌム の構築方法に぀いお説明したした。 Bristol Myers Squibb は、AWSを掻甚するこずで 瀟内のデヌタサむロを打砎し 、デヌタを利甚可胜な状態にする方法に぀いお玹介したした。参加者は、圌らが構築したデヌタメッシュアヌキテクチャに觊れ、組織党䜓でデヌタぞのアクセスや新薬発芋を改善するために、いかに Amazon DataZone を掻甚する予定かを孊びたした。 Inovalon のセッションでは、 AWSを䜿甚しお倖郚デヌタコラボレヌションを掚進する方法 に぀いお述べ、Inovalon ONE Platformがヘルスケア・ラむフサむ゚ンスの組織がプロプラむ゚タリなデヌタセットにアクセスし、患者䜓隓を向䞊させるためによりよい刀断を䞋すための支揎方法に぀いお説明したした。 プレスリリヌスはこちら。 Boehringer Ingelheim は、圌らのRWE Center of Excellenceを玹介しながら、リアルワヌルドデヌタRWDを掻甚しおむノベヌションを加速する方法に぀いお共有したした。このセッションでは、新しい䞖界䞭のRWDを発芋、評䟡し、゚ンタヌプラむズレベルのRWDコラボレヌションを促進し、リアルタむムに近いデヌタセットの統合を通しおむンサむトの創出を加速させるために、A mazon Data Exchange の利甚を詳しく説明したした。 最埌に、 Stanford Health Care のデヌタリヌダヌらを迎えた「MLず生成AIを掻甚するためのデヌタの解攟」に関するパネルディスカッションが開催され、生成AI利甚をProof of Concept段階から党瀟的な利甚に぀なげるために掻甚したデヌタ基盀に぀いお議論したした。このセッションはシンポゞりムの前半を芋事に締めくくり、さたざたな芁玠が調和しおデヌタ駆動型の組織を䜜り䞊げ、MLず生成AIの力を十分に解攟する方法を瀺したした。 第2郚のハむラむトヘルスケア・ラむフサむ゚ンスにおけるMLず生成AI むベントの第2郚は、AWS䞻導のセッションで始たりたした。このセッションでは、ヘルスケア・ラむフサむ゚ンスの䌁業、組織がAWS䞊で簡単にMLず生成AIを始める方法に焊点を圓おたした。セッションでは、AWSの包括的なAI/MLのサヌビス矀がお客様に察しおビゞネスに応じた適切なツヌルを構築、賌入、カスタマむズできる柔軟性を提䟛しおおり、より簡䟿に、最適なコストで、そしお実務䞊䜿える状態で、テクノロゞヌを利甚する方法を、説明したした。 参加者は、 Amazon Bedrock の新機胜を孊びたした。これにより、ビルダヌはAI21 Labs、Anthropic、Cohere、Meta、Stability AIなどの䞻芁なAI䌁業の最新の基盀モデルを遞択しお、生成AIアプリケヌションを責任を持っお、簡単に䜜成およびスケヌルができるようになりたした。たた、このセッションでは、Amazon Bedrockの簡単な抂芁を説明し、数クリックでAgents for Amazon Bedrockが基盀モデルを構成し、マニュアルのコヌドは䞍芁でタスクを自動で分解しオヌケストレヌトしたす。 実甚性を高めるために、珟圚利甚可胜なさたざたな関連する生成AI利甚事䟋のクむックデモを玹介したした。これには、公衆衛生ず腫瘍孊のためのRAGベヌスのチャットボット、補薬マヌケティングコンテンツ生成、新薬探玢ワヌクベンチ、医薬品補造のコンプラむアンス監査、および゚ンタヌプラむズシステムずデヌタ゜ヌスを䜿甚しおタスクを実行する゚ヌゞェントが含たれおいたす。 セッションでは、 NVIDIA BioNemo on AWS でサポヌトするこずも発衚されたした。これにより、生成AIを䜿甚しお先進的な治療法の研究開発を加速するためのR&Dが可胜になりたす。NVIDIA BioNemoは、新薬探玢甚の生成AIプラットフォヌムであり、珟圚 AWS ParallelCluster経由でAmazon SageMaker侊 やNVIDIA DGX Cloud on AWS䞊で利甚可胜です。これにより、補薬䌁業の研究者や開発者は、自瀟のプロプラむ゚タリデヌタを䜿甚しお基盀モデルのトレヌニングを簡玠化し、加速化するこずで、新薬探玢を容易に速く進めるこずができたす。 AWS䞊でMLず生成AIアプリケヌションを構築する話題は、その埌の䞀連の顧客向けラむトニングトヌクにも続きたした。 ラむフサむ゚ンス分野では、 GenentechRoche が、コマヌシャルバリュヌチェヌン内の3぀のナヌスケヌスで生成AIをAWS䞊でどのように䜿甚しおいるかを共有したした。それは、1/個別化された顧客゚ンゲヌゞメント、2/実行可胜な顧客ニヌズの怜知、および3/枬定の自動化ず収益シミュレヌションです。参加者は、これらのナヌスケヌスを実珟するためのAWSベヌスの技術スタックを垣間芋るだけでなく、OneRoche Responsible AI Frameworkの仕組みも知るこずができたした。このフレヌムワヌクは、Genentechが゚ンタヌプラむズレベルのセキュリティを備えた、責任ある゜リュヌションの構築を支揎しおいたす。 ヘルスケア分野では、囜内最倧の攟射線蚺断を行なっおいる Radiology Partners は、AWSのAWS HealthImagingなどの目的に特化したサヌビスが、圌らのAIオヌケストレヌションプラットフォヌムであるRPX AIを支えおいる方法を玹介したした。これにより、圌らがサヌビスする3600人以䞊の医垫ず3300以䞊の医療斜蚭のニヌズに応えるために、病院や医療システム向けのAI医療画像ツヌルを迅速に展開するこずが可胜ずなりたす。 MLず生成AIの急速な拡倧は革新的なブレむクスルヌを確固たるものずしたすが、同時に、プラむバシヌ、セキュリティ、ガバナンス、公正性などの新たな課題が提起されおいたす。この日の最埌のセッションでは、Anthropic、Baxter、Deloitteのリヌダヌずの「責任ある安党な生成AIの構築」に関するファむアサむドチャットを開催したした。このセッションでは、各組織が「責任あるAI」をどのように定矩し、この急速に倉化する状況に察凊するための独自のアプロヌチを抂説したした。聎衆は、デヌタセキュリティ、プラむバシヌ、IP保護、および信頌性に関する貎重な知識を埗お、AIを組織内で真の善の力ずしお促進するために、耇雑さをうたく乗り越えるこずができるようになりたした。 私たちが17幎前にAWSを立ち䞊げたずきから、ヘルスケア・ラむフサむ゚ンスのお客様は最前線でクラりド利甚を進められたした。そしお、このシンポゞりムでMLず生成AIを䜿甚しお個別化医療や粟密医療に向けお倧きな䞀歩を螏み出す業界のリヌダヌ䌁業を目の圓たりにしお感銘を受けたした。これは、いわゆる「可胜性の範囲内で最善を実珟する」をたさに衚しおいる取り組みでした。 私たちの包括的なデヌタ、ML、生成AI提䟛に぀いお詳しくは、 AWS for Healthcare and Life Sciences のりェブサむトをご芧ください。 re:InventでのHCLSの他の発衚やハむラむトに぀いおは、 ブログ をご芧ください。 このブログはヘルスケア・ラむフサむ゚ンス事業開発 片岡が翻蚳したした。
Amazon Web Services (AWS) は、AWSずしお初ずなる AWS Education Accelerator に参加するスタヌトアップ䌁業 15 瀟を遞出したこずを発衚したした。2023 幎 10 月に発衚された AWS Education Accelerator は、教育・孊習䜓隓を向䞊させ、教育成果を改善するためにむノベヌションを起こす教育テクノロゞヌ (EdTech) のスタヌトアップ䌁業を支揎したす。 教育が進化し続ける䞭、これたでの教育や孊習の慣習にずらわれるこずなく、生埒が新しい可胜性を切り開くためには デヌタドリブンな意思決定が鍵ずなりたす。 これは、スタヌトアップ䌁業が教育の未来を倉える可胜性に぀ながり、デヌタ、アナリティクス、人工知胜 (AI) を思慮深くか぀公平に掻甚するこずで、以䞋のような倧きな教育課題の解決に圹立ちたす。 参加する EdTech スタヌトアップ䌁業は、幌皚園から高校たでの教育機関、高等教育機関、人材育成のお客様向けの幅広い゜リュヌションに泚力しおいたす。AWS を掻甚しお次䞖代の EdTech ゜リュヌションを開発するこずで、これらのスタヌトアップ䌁業は、孊生の゚ンゲヌゞメント、金融リテラシヌ、孊生の健康ず犏祉、スキルアップ、業務の非効率性などの教育課題に察凊するこずを目指しおいたす。 10 週間のアクセラレヌタヌプログラムは、シアトルの Amazon 本瀟で 2024 幎 1 月からスタヌトしおいたす。参加するスタヌトアップ䌁業はそれぞれ、最倧 10 䞇ドルの AWS コンピュヌティングクレゞット、ハンズオン、ワヌクショップ、個別のカリキュラムが甚意され、ビゞネス指導や技術指導、Amazon のリヌダヌやチヌムからのむンサむト、朜圚的な投資家や顧客ずのネットワヌキングの機䌚、継続的なアドバむザリヌサポヌトを受けるこずができたす。プログラムの最埌には、教育関係の顧客からの認知床を高めるために、 OMNIA Partners ずのコラボレヌションによるバヌチャルでの Emerging Technology Showcase が開催されたす。 本プログラムによっお、最終的に EdTech の創業者達が新芏顧客の開拓、パヌトナヌネットワヌクの拡倧、資金調達、自らの EdTech スタヌトアップを急速に成長させる準備が敎っおいる状態を目指したす。 プログラムに参加するスタヌトアップ䌁業の玹介 今回のプロゞェクトに遞出されたスタヌトアップ䌁業を発衚したす。採択䌁業は䜕千もの応募から、AWS のスタヌトアップず教育の専門家からなる委員䌚によっお、アむデア力、技術的な準備状況、そしお倚岐にわたる申請および面接プロセスに基づいお遞ばれたした。 AWS Education Acceleratorに遞ばれた15瀟のスタヌトアップは、幌皚園から高校たでの教育機関、高等教育機関、人材育成機関向けの幅広い゜リュヌションにフォヌカスしおいたす。 各スタヌトアップの抂芁ず、取り組んでいる課題はこちらをご芧ください Augmental Learning Inc County of Sussex, DE Augmental は、次䞖代のパヌ゜ナラむズされた孊習、むンテリゞェントなコンテンツ䜜成、デヌタドリブンな分析を提䟛し、教育コンテンツの䜜成者を匷力にサポヌトする AI を搭茉した孊習プラットフォヌムを提䟛しおいたす。 Blackbullion London, UK Blackbullion は、孊生に金融スキルを身に぀けさせる金融犏祉プラットフォヌムずアプリケヌションです。このプラットフォヌムは、孊生向けのむギリス最倧芏暡の支揎基金、奚孊金、助成金のハブを有しおいたす。 enlightenAI San Francisco, CA EnlightenAI は、AI を搭茉したパヌ゜ナラむズされた教垫甚アシスタントを開発しおいたす。採点やフィヌドバックなど、教育者の仕事をより持続可胜なものにしながら、教育者の圱響力を高めるこずを目的ずしおいたす。 Hilight New Orleans, LA Hilight は、教垫や孊校スタッフがハむラむトを投皿し、孊校や地区で毎日起きおいる倚くの小さな成功を共有するこずを支揎したす。Hilight は、よく芋萜ずされがちな意味ある瞬間をナヌザヌが芋぀けるこずを助け、教育者の満足床、幞犏感、教垫の集団効力感 (collective teacher efficacy)、そしお勀務継続率を高めたす。 Infini‑D Learning Provo, UT Infini-D Learning は、孊生が実䞖界の課題に取り組めるように、ストヌリヌに基づいた物語ず共同での問題解決を組み合わせるこずで、教宀での孊習を倉える没入型プラットフォヌムを開発したした。 Lessonbee Mount Vernon, NY Lessonbee は、基準に沿った健康教育の公平なアクセスを孊生に提䟛したす。たた、孊校における健康栌差を枛らし、公平性を促進するためのツヌルずリ゜ヌスを教垫に提䟛しおいたす。Lessonbee の孊校党䜓に向けたりェルネス゜リュヌションは、教垫が孊生の自己効力感ず幞犏感を向䞊させるために圹立぀デヌタを提䟛したす。 Listening San Francisco, CA Listening は孊生や研究者のために蚭蚈されたモバむルアプリケヌションを提䟛したす。教科曞や研究論文を音声に倉換するこずで、倖出先でのむンサむトの提䟛やメモ機胜を提䟛し、研究プロセスの効率化を支揎したす。 Oblio, Inc. Murrieta, CA Oblio は、入詊担圓者、教員、スタッフ、コヌチによるパヌ゜ナラむズしたメヌルの送信、コミュニケヌションの効率化、倚蚀語察応を支揎するように蚭蚈された革新的なAIツヌルで、倧孊の入詊プロセスを改善しおいたす。 OneRange New York, NY OneRange は、䌁業による個別孊習予算管理の自動化を支揎しおいたす。このプラットフォヌムは、コヌス、曞籍、カンファレンスなど、あらゆる圢匏の孊習リ゜ヌスに関するデヌタを掻甚するこずで、各個人に適したリ゜ヌスの発芋ずアクセスを可胜にしたす。 Perlego London, UK Perlego は、100 䞇冊以䞊の孊術曞をオンラむンで賌読できるサヌビスです。出版瀟ず提携するこずで、印刷、流通、小売にかかるコストを排陀し、䞖界䞭の孊習者により手頃で持続可胜な゜リュヌションを提䟛するこずを目的ずしおいたす。 Praxis AI Sacramento, CA Praxis AI は、生成 AI を掻甚したデゞタル教育・研究䌁業です。い぀でも、どこでも利甚できるこの゜リュヌションは、孊生ず教垫のやり取りをパヌ゜ナラむズした指導、評䟡、サポヌトず組み合わせお提䟛しおいたす。 Quizard AI, Inc. Dover, DE Quizard は、テストや小テストの勉匷を支揎するために蚭蚈された倧孊向けのアプリです。倚蚀語で利甚可胜な Quizard は、䞖界䞭の孊生がパヌ゜ナラむズされた孊習にアクセスできるようにしおいたす。 SchoolBI San Francisco, CA SchoolBI は、デヌタドリブンなむンサむトを埗るのに圹立぀、䜿いやすさを重芖したプラットフォヌムです。このプラットフォヌムは、埓来の非効率性、時間的制玄、ボトルネックを削枛し、郚門暪断的に結果を簡単に報告する胜力を向䞊させるように蚭蚈されおいたす。 Sown To Grow Oakland, CA Sown To Grow は、簡単で魅力的なプロセスを甚いた孊生による振り返りず、教垫からのフィヌドバックのプロセスを通じお、孊生の瀟䌚的、感情的、孊問的な幞犏床を向䞊させるために孊校を支揎するプラットフォヌムです。Sown To Grow は元教育者のチヌムによっお蚭蚈され、米囜教育省、米囜囜立科孊財団、Digital Promise、New Schools Venture Fundから資金提䟛を受けおいたす。 The Juice Miami, FL The Juice は、楜しく魅力的なオリゞナルコンテンツを䜿っお、児童の読解力、クリティカルシンキング、情報・メディアリテラシヌのスキル、公民の知識を䌞ばすためにデザむンされたむンタラクティブな孊習プラットフォヌムです。 デヌタに基づいた教育における AWS クラりドの理解をさらに深める AWS がどのように EdTech むノベヌションを 支揎し、孊習成果を向䞊させ、孊生のデヌタを保護するか をご芧ください。さらに、 AWS Education Competency Partners からのサポヌトや、 AWS Marketplace の教育・孊習゜リュヌション、信頌できる技術プロバむダヌ、教育機関に様々なクラりドベヌスの゜リュヌションを提䟛するコンサルティングの専門家に぀いおもご玹介したす。 TAGS: AWS Public Sector , EdTech , education , education technology , higher education , K-12 , learning , startups , teaching Kim Majerus Kim Majerusは、Amazon Web Services (AWS) においお、グロヌバル教育および米囜の州政府・地方政府を統括しおいたす。圌女の営業組織には、教育テクノロゞヌ (EdTech) ず政府テクノロゞヌ (GovTech)、独立系゜フトりェアベンダヌ (ISV) 、医療・犏祉サヌビス、叞法・公安、亀通、州・地方政府顧客向けの IoT にフォヌカスする゜リュヌション・バヌティカル戊略リヌダヌが含たれたす。 日本の教育機関の皆様ぞのご支揎は こちら をご芧ください。 本ブログは゜リュヌションアヌキテクトの山䞋䞀暹が翻蚳したした。原文は こちら です。
AWS SaaS Factory シニアパヌトナヌ゜リュヌションアヌキテクト Peter Yang 氏、AWS SaaS Factory プリンシパルパヌトナヌ゜リュヌションアヌキテクト Ranjith Raman 氏による投皿 Amazon Web Services (AWS) のサヌビスを䜿甚しおデヌタ取り蟌みアヌキテクチャを蚭蚈および実装する方法はいく぀かありたす。 マルチテナントの Software as a Service (SaaS) 構成でデヌタを取り蟌む堎合、゜リュヌションに組み蟌むべき远加の考慮事項、課題、トレヌドオフがありたす。 SaaS の堎合、テナントの詳现を取埗し、取り蟌みプロセス党䜓で䌝達されるようにする必芁がありたす。これは、テナントのペル゜ナに基づいおデヌタを分離し、ワヌクロヌドずストレヌゞを分割する方法に盎接圱響したす。 マルチテナントデヌタ取り蟌みプロセスを実装する際に䜿甚できる戊略は耇数ありたす。専甚 (サむロ型) メカニズムを䜿甚するものず、共有 (プヌル型) 取り蟌みモデルを䜿甚するものがありたす。どちらも完党に有効で、䞡方を混圚させるこずができたすが、この投皿では、プヌル型モデルでのデヌタ取り蟌みの実装の现郚に焊点を圓お、テナントが取り蟌みリ゜ヌスを共有する際に考慮すべきさたざたな点を取り䞊げたす。 この投皿には、コヌドの実際に動䜜するサンプル゜リュヌションが付属しおいたす。この゜リュヌションをデプロむするための手順は、 GitHub から参照できたす。 マルチテナントデヌタ取り蟌みの蚭蚈䞊の考慮事項 ゜リュヌションの技術アヌキテクチャに぀いお詳しく芋おいく前に、マルチテナントデヌタ取り蟌みプロセスを蚭蚈する際の䞻な考慮事項を芋おいきたしょう。以䞋は、このような゜リュヌションを構築する際に SaaS プロバむダヌが怜蚎する䞀般的な芁玠のリストです: スケヌリングずパフォヌマンス: 倧量のリク゚ストを凊理し、シヌムレスに数千のテナントにスケヌルできる胜力 セキュリティず隔離: テナントのむベントが認蚌されおいるこずを保蚌するためのコントロヌルを実装し、そのコントロヌルを䜿甚したデヌタのパヌティショニングず隔離の刀断 リ゜ヌス管理: 突発的で予枬が困難なトラフィックを凊理するシヌムレスな容量管理 運甚効率: 運甚ず管理のオヌバヌヘッドを削枛 ゜リュヌションアヌキテクチャ この投皿では、デヌタ (EC サむトや POS アプリケヌションなどを想定) を収集および集蚈し、このデヌタをテナント / 顧客固有の属性で凊理 (゚ンリッチおよび倉換) しおバック゚ンドデヌタストアに栌玍するサンプル゜リュヌションをもずに説明を行いたす。 これらのアプリケヌションは通垞、「泚文の合蚈」や「賌入された商品のカテゎリヌ」などのクリックストリヌムデヌタやむベントを远跡し、デヌタからトレンドを特定したり、重芁な掞察を導き出すこずを目的ずしおいたす。 任意の瞬間にアクティブなナヌザヌ数によっおは、1 秒間に生成されるデヌタは倧量になる可胜性がありたす。 そのようなビゞネスやナヌスケヌスをサポヌトするには、非垞にスケヌラブルでパフォヌマンスが高く、むベントを非垞に䜎いレむテンシヌで凊理できるアヌキテクチャが必芁です。 次の図は、゜リュヌションのアヌキテクチャを瀺しおいたす。 図 1 – ハむレベルアヌキテクチャ リク゚ストフロヌ このアヌキテクチャの詳现に入る前に、サンプル゜リュヌションで採甚されおいるハむレベルな芁玠を芋お芋たしょう。 以䞋が、この゜リュヌションの䞀郚であるいく぀かのステップです: この゜リュヌションのフロヌは、図 1 の巊偎から開始したす。テナントは、 Amazon API Gateway が提䟛する REST API を䜿甚しお、SaaS 環境にメッセヌゞやむベントを送信したす。これは、ストリヌミングむベントの゚ントリポむントであり、各テナントからのむベントの認蚌を担圓したす。 Amazon API Gateway は、 Amazon Cognito を䜿甚しおJSON Web Token (JWT) を怜蚌する Lambda オヌ゜ラむザヌ を利甚したす。Lambda オヌ゜ラむザヌは、 Amazon Kinesis Data Streams ぞの入力ずしお䜿甚できるように、Amazon API Gateway のコンテキストに tenantId を远加したす。 Amazon API Gateway はプロキシずしお機胜し、Kinesis Data Streams にテナントむベントをプッシュしたす。Kinesis Data Streams は、あらゆる芏暡でデヌタストリヌムをキャプチャ、凊理、保存するのに適した、サヌバレスなストリヌミングデヌタサヌビスです。この䟋では、Kinesis Data Streams が異なるテナントからのストリヌミングデヌタを収集するデヌタむンゞェストストリヌムになりたす。 Amazon Kinesis Data Streams はデヌタを Amazon Managed Service for Apache Flink  ã«ãƒ—ッシュしたす。この゜リュヌションでは Amazon Kinesis Data Analytics for Apache Flink がデヌタの凊理を行い、tenantId ずtimestamp の远加に利甚されたす。これらの倀は Amazon Data Firehose がストレヌゞずしお利甚される Amazon Simple Storage Service (Amazon S3) のプレフィックスの䜜成に䜿甚したす。 Amazon Kinesis Data Analytics for Apache Flink はテナントむベントを Amazon Data Firehose にプッシュしたす。Amazon Data Firehose は、リアルタむムのストリヌミングデヌタを盎接 S3 に配信し、ストレヌゞずさらなる凊理のために䜿甚されたす。S3 には、マルチテナントデヌタを効率的に保存および敎理するためのいく぀かのメカニズムがありたす。 より深い考察は、S3 を䜿甚したマルチテナンシヌ実装のさたざたな戊略が議論されおいるこの AWS ブログ投皿 をチェックしおください。 これでハむレベルなアヌキテクチャを理解したので、゜リュヌションの各コンポヌネントに぀いおより詳しく芋おいきたしょう。 リク゚ストの認蚌ず認可 Amazon API Gateway は、この゜リュヌションのフロントドアずしお機胜し、テナントアプリケヌションからのデヌタストリヌムをスケヌラブルな方法で取り蟌むための、セキュアな゚ントリヌポむントを提䟛したす。API Gateway を䜿甚するこずで、テナントコンテキストを抜出し、受信リク゚ストを認蚌する Lambda オヌ゜ラむザヌ を導入するこずもできたす。 このテナント情報は、テナントが Amazon Cognito によっお認蚌されたずきに生成された ゚ンコヌド枈み JSON Web トヌクン (JWT) を介しお枡されたす。このコンテキストは、むンゞェストされたデヌタを個々のテナントに関連付けるこずをこの゜リュヌションが可胜にするために䞍可欠です。 API Gateway によっお凊理される各リク゚ストは、JWT からテナントコンテキストを抜出し、リク゚ストのアクセス範囲を蚭定する AWS Identity and Access Management (IAM) ポリシヌを返す Lambda オヌ゜ラむザヌを呌び出したす。 ポリシヌずずもに、リク゚ストのコンテキストにテナント ID ( tenantId ) も導入したす。フロヌの埌半で、このコンテキスト倀の利甚方法を芋おいきたす。以䞋のコヌド䟋は、コンテキストの䞀郚ずしお tenantId を蚭定する方法を瀺しおいたす。 policy = AuthPolicy(principalId, awsAccountId) policy.restApiId = apiGatewayArnTmp[0] policy.region = tmp[3] policy.stage = apiGatewayArnTmp[1] policy.allowAllMethods() authResponse = policy.build() context = { 'tenantId': tenantId, } authResponse['context'] = context return authResponse Kinesis Data Streams ぞのデヌタのルヌティング リク゚ストが正垞に凊理された埌に、メッセヌゞが Amazon API Gateway から Amazon Kinesis Data Streams に転送されるように蚭定したす。これは、テナントデヌタのストリヌムを収集および凊理したす。以䞋の 図 2 は、蚭定手順を瀺しおいたす。 ここでは、統合リク゚ストの統合タむプを AWS サヌビスに蚭定しおいたす。぀たり、リク゚ストを AWS サヌビス (この䟋では Kinesis Data Streams) に転送しおいるずいうこずです。 図 2 – Amazon API Gateway の統合リク゚スト倀 リク゚ストがストリヌムに転送される前に、API Gateway で倉換を適甚しお、Kinesis Data Stream が期埅しおいる圢匏にリク゚ストを倉換したす。 Amazon API Gateway ではマッピングテンプレヌトを䜿甚しお、メ゜ッドリク゚ストのペむロヌドを察応する統合リク゚ストにマップできたす。 ゜リュヌションでは、図 3 に瀺すように、テンプレヌトを䜿甚しお StreamName、Data、 および PartitionKey の倀を蚭定しおいたす。 Lambda オヌ゜ラむザヌ によっお蚭定された コンテキスト の䞀郚ずしお受信した tenantId フィヌルド を䜿甚しお、Kinesis Data Streams で必芁な属性である PartitionKey の倀を蚭定しおいたす。 このテンプレヌトにより、ダりンストリヌムのサヌビスに枡されるすべおのリク゚ストが、そのリク゚ストを行うテナントずの関連付けがされおいるこずを確認したす。 図 3 – Amazon API Gateway マッピングテンプレヌト Amazon Managed Service for Apache Flink によるストリヌミングデヌタの凊理 前のセクションで説明したように、デヌタストリヌムに送信するすべおのメッセヌゞには、tenantId ずいうパヌティションキヌがありたす。このパヌティションキヌの倀は、メッセヌゞを凊理するシャヌドに圱響を䞎えたす。 各 Kinesis ストリヌムには1぀以䞊のシャヌドがあり、シャヌド数は Kinesis が凊理できるデヌタ量 に盎接圱響したす。 パヌティションキヌによっおはホットシャヌドを匕き起こし、ストリヌムのパフォヌマンスに圱響を䞎える可胜性があるこずに気を付けおください。 デヌタストリヌムによっおメッセヌゞが凊理されるず、Amazon Managed Service for Apache Flink を䜿甚しお、デヌタのさらなる分析を行いたす。このサヌビスを䜿甚するず、Java のようなプログラミング蚀語を䜿甚しお、ストリヌミングデヌタを凊理および分析できたす。 サンプル゜リュヌションでは、デヌタが次のサヌビスに転送される前に、Flink ゞョブを䜿甚しおメッセヌゞを远加のフィヌルドで拡匵しおいたす。 図 4 の実装で芋られるように、Flink ゞョブには inputStreamName があり、これはデヌタの送信元を瀺しおいたす。今回の堎合は Kinesis Data Stream です。 䞊述のずおり、Flink ゞョブはメッセヌゞを Amazon Data Firehose 配信ストリヌムにプッシュする前に、tenantId の远加属性ずタむムスタンプフィヌルドも远加したす。 図 4 – Amazon Managed Service for Apache Flink – InputStream ず FirehoseOutputStream の蚭定 たた、䞋蚘の図 5 のコヌドに瀺すように、TenantId フィヌルドはメッセヌゞが Amazon S3 のどのパスに配眮されるかを瀺すために䜿甚され、タむムスタンプは Flink ゞョブがメッセヌゞを凊理した正確な時刻を反映したす。 図 5 – Flink ゞョブでのtenantId の蚭定 Amazon Data Firehose を䜿甚したデヌタ配信 サンプル゜リュヌションでは、サヌビスごずのテナント分割モデルを䜿甚しおスケヌルを向䞊させるために、Amazon Data Firehose を利甚しおメッセヌゞを S3 に配信しおいたす。これは特に、SaaS システムに倚数のテナントがある堎合に効果的です。 Flink では、Flink ゞョブから盎接メッセヌゞを S3 に配信できたす。 しかし、デヌタを Amazon Data Firehose に送信するこずで、この゜リュヌションを将来的に拡匵できる柔軟性が埗られたす。䟋えば、 Amazon Redshift 、 Amazon OpenSearch Service などの その他の送信先 や、その他のモニタリング゜リュヌションをサポヌトできるようになりたす。 図 6 – Amazon Kinesis Data Firehose デリバリヌストリヌム 図 6 に瀺すように、配信ストリヌム delivery-multi-tenant-firehose-stream は動的パヌティショニング機胜を利甚しおいたす。これにより、デヌタ内のキヌを䜿甚しお、Data Firehose のストリヌミングデヌタをパヌティション分割するこずができたす。 図 7 – tenantId ず timestamp を䜿甚した動的パヌティショニング キヌは、察応するテナントの S3 プレフィックス䜍眮に配信される前のデヌタのグルヌプ化に甚いられたす。図 7 に瀺すように、動的パヌティショニングを実装するために、入力メッセヌゞの䞀郚であったフィヌルド tenantId ず timestamp を䜿甚したした。S3 プレフィックスの䞀郚ずしお tenantId があるこずで、デヌタの消費時に S3 のテナント分離戊略の䞀郚ずしお䜿甚できる IAM ポリシヌ を䜜成できたす。 最埌に、S3 ぞのデヌタ配信のために、Amazon Data Firehose は、配信ストリヌムのバッファリング蚭定に基づいお、耇数の入力レコヌドを連結したす。 S3 ぞのデヌタ配信の頻床は、配信ストリヌムの S3 バッファサむズずバッファ間隔の倀によっお決たりたす。 こちらの詳现は、 AWS ドキュメント で確認できたす。 結論 この投皿では、AWS のサヌビスを䜿甚しおマルチテナントのデヌタ取り蟌みず凊理゚ンゞンを構築する方法を探りたした。 このデヌタパむプラむンの各コンポヌネントず、SaaS のマルチテナントデヌタ取り蟌みプロセスの蚭蚈アプロヌチに圱響を䞎える可胜性のあるいく぀かの䞻な考慮事項を怜蚎したした。 たた、AWS サヌビスを䜿甚しお、マルチテナントのストリヌミングデヌタをどのようにむンゞェスト、倉換、ストレヌゞできるかを確認したした。その際、デヌタの安党な凊理を保蚌するために、パむプラむンに構築物が組み蟌たれおいるこずも確認したした。 ここで玹介したサンプルアプリケヌションを掘り䞋げおいくず、AWS 䞊に完党な実働゜リュヌションを構築する䞊での゚ンドツヌ゚ンドの党䜓的な䜓隓がよりよく理解できるようになるでしょう。 これにより、SaaS デヌタ取り蟌みプロセスのニヌズず敎合性のあるポリシヌの呚りを圢䜜るこずができる䞀方で、良い出発点を提䟛するはずです。 この゜リュヌションのより詳现な抂芁に぀いおは、環境のすべおの動的な芁玠を理解するのに圹立぀段階的なデプロむ手順が蚘茉されおいる GitHub リポゞトリをご芧いただければず思いたす。 AWS SaaS ファクトリヌに぀いお AWS SaaS Factory は、SaaSの旅路にあるどの段階の組織でも支揎したす。新しい補品の構築、既存アプリケヌションの移行、AWS 䞊での SaaS ゜リュヌションの最適化など、様々なニヌズに察応できたす。より倚くの技術的、ビゞネス的なコンテンツやベストプラクティスを知るには、 AWS SaaS Factory Insights Hub をご芧ください。 SaaS ビルダヌは、゚ンゲヌゞメントモデルに぀いお問い合わせたり、AWS SaaS Factory チヌムず連携するために、アカりント担圓者に連絡するこずをお勧めしたす。 こちらに 登録しお、 AWS 䞊の最新の SaaS のニュヌス、リ゜ヌス、むベントに぀いお通知を受け取るこずができたす。 翻蚳は゜リュヌションアヌキテクトの犏本が担圓したした。原文は こちら です。 なお、翻蚳版では Amazon Kinesis Data Analytics ず Amazon Kinesis Data Firehose の名前倉曎に䌎い、それぞれ Amazon Managed Service for Apache Flink、Amazon Data Firehose ず衚蚘しおいたす。 https://aws.amazon.com/jp/about-aws/whats-new/2023/08/amazon-managed-service-apache-flink/ https://aws.amazon.com/jp/about-aws/whats-new/2024/02/amazon-data-firehose-formerly-kinesis-data-firehose/
レゞリ゚ンスは、あらゆるワヌクロヌドの開発においお重芁な圹割を果たしおおり、 生成 AI ワヌクロヌドも䟋倖ではありたせん。生成 AI ワヌクロヌドを開発する際には、レゞリ゚ンスの芳点における独自の考慮事項がありたす。組織の可甚性ず事業継続性の芁件を満たすためには、レゞリ゚ンスを理解し、優先順䜍を付けお察応するこずが䞍可欠です。本ブログ蚘事では、生成 AI ワヌクロヌドを構成する各スタックずそれらの考慮事項に぀いお説明したす。 生成 AI ワヌクロヌドを構成するスタック 生成 AI の魅力の倚くがモデルに焊点を圓おおいたすが、完党な゜リュヌションには耇数分野の人材、スキル、ツヌルが必芁です。次の図は、 a16z Andreessen Horowitzが公開しおいる倧芏暡蚀語モデル (LLM) を利甚した新しいアプリケヌションスタックを AWS の芖点で捉えたものです。 埓来の AI や機械孊習 (ML) を䞭心ずした゜リュヌションず比范するず、生成 AI ゜リュヌションには以䞋が含たれおいるこずが分かりたす。 新しいロヌル – モデルチュヌナヌだけでなく、モデルの開発元やモデルむンテグレヌタヌの圹割も考慮する必芁がありたす 新しいツヌル – 埓来の MLOps スタックは、プロンプト゚ンゞニアリングや゚ヌゞェント他のシステムず察話するツヌルを呌び出すに必芁な実隓の远跡やオブザヌバビリティに察応しおいたせん 怜玢拡匵生成 (RAG) 埓来の AI モデルずは異なり、RAG は倖郚ナレッゞ゜ヌスを統合するこずで、より正確でコンテキストに関連したレスポンスを可胜にしたす。RAG を䜿甚する際の考慮事項は以䞋のずおりです。 倖郚ナレッゞ゜ヌスからのデヌタ取埗に適切なタむムアりトを蚭定するこずは、顧客䜓隓にずっお重芁です。チャットの最䞭に切断されるこずほど、ナヌザヌ䜓隓を損なうものはありたせん。 プロンプトぞの入力デヌタが、利甚するモデルのトヌクン数制限内であるこずを怜蚌しおください。 プロンプトを信頌できるデヌタストアに保存しおください。䞇が䞀プロンプトを玛倱した堎合やディザスタリカバリ戊略の䞀環ずしお、プロンプトを保護できたす。 デヌタパむプラむン RAG パタヌンを䜿甚しお基盀モデルにコンテキストデヌタを提䟛する堎合、゜ヌスデヌタを取り蟌み、埋め蟌みベクトルに倉換し、ベクトルデヌタベヌスに保存できるデヌタパむプラむンが必芁です。コンテキストデヌタを事前に準備しおいる堎合はバッチパむプラむンになりたす。新しいコンテキストデヌタを逐次取り蟌む堎合は䜎レむテンシパむプラむンずなりたす。バッチパむプラむンの堎合、䞀般的なデヌタパむプラむンず比范しお、いく぀かの課題がありたす。 デヌタ゜ヌスには、ファむルシステム䞊の PDF ドキュメント、CRM ツヌルのような SaaS (Software as a Service) からのデヌタ、既存の Wiki やナレッゞベヌスなどが考えられたす。これらの゜ヌスからの取り蟌みは、 Amazon S3 (Amazon Simple Storage Service) 䞊のログデヌタやリレヌショナルデヌタベヌスにある構造化デヌタなどの䞀般的なデヌタ゜ヌスからの取り蟌みずは異なり、䞊列凊理のレベルが゜ヌスシステムによっお制限される可胜性があるため、スロットリングを考慮し、バックオフ手法を䜿甚する必芁がありたす。たた、゜ヌスシステムの䞀時的な障害等に備えお、゚ラヌ凊理ずリトラむロゞックを組み蟌む必芁がありたす。 埋め蟌みモデルは、パむプラむン内でロヌカルに実行するか倖郚モデルを呌び出すかに関わらず、パフォヌマンスのボトルネックになる可胜性がありたす。埋め蟌みモデルは䞻に GPU 䞊で実行される基盀モデルであり、そのキャパシティは有限です。モデルをロヌカルで実行する堎合は、GPU 容量に基づいおタスクを割り圓おる必芁がありたす。モデルを倖郚で実行する堎合は、倖郚モデルが飜和状態にならないようにする必芁がありたす。いずれの堎合も、達成できる䞊列床は、バッチパむプラむンが利甚できる CPU や RAM の量ではなく、埋め蟌みモデルによっお決定されたす。 䜎レむテンシパむプラむンの堎合、埋め蟌みベクトルの生成時間を考慮しおください。アプリケヌションは䜎レむテンシパむプラむンを非同期で呌び出す必芁がありたす。 ベクトルデヌタベヌス ベクトルデヌタベヌスには 2 ぀の機胜がありたす。埋め蟌みベクトルの保存および、あるベクトルに察しお最も近い k 個のマッチングを芋぀ける類䌌怜玢を実行するこずです。たた、ベクトルデヌタベヌスには倧きく分けお次の 3 ぀のタむプがありたす。 Pinecone 等のベクトルデヌタベヌス専甚 SaaS 補品やサヌビスに組み蟌たれたベクトルデヌタベヌス機胜 Amazon OpenSearch Service や Amazon Aurora などの AWS サヌビスも含たれる 䞀時デヌタに䜿甚できるむンメモリデヌタベヌス䜎レむテンシが芁求されるシナリオ 本ブログ蚘事では、類䌌性怜玢機胜の詳现に぀いおは説明したせん。これらは重芁ですが、システムの機胜的な偎面であり、レゞリ゚ンスに盎接圱響を䞎えないためです。その代わり、ストレヌゞシステムずしおのベクトルデヌタベヌスのレゞリ゚ンスの偎面に焊点を圓おたす。 レむテンシ – 高負荷や予枬䞍可胜な負荷に察しおもパフォヌマンスを発揮できたすか。そうでない堎合、アプリケヌションはレヌト制限やバックオフ、リトラむ凊理を行う必芁がありたす。 スケヌラビリティ – いく぀ベクトルを保持できたすか。ベクトルデヌタベヌスの容量を超える堎合、シャヌディングや他の゜リュヌションを怜蚎する必芁がありたす。 高可甚性ずディザスタリカバリ – ベクトルデヌタベヌスは、単䞀のリヌゞョンで高可甚性を実珟しおいたすか。別のリヌゞョンにデヌタをレプリケヌトしお灜害埩旧目的で䜿甚できたすか。埋め蟌みベクトルは貎重なデヌタであり、再生成にはコストがかかりたす。 アプリケヌション 生成 AI ゜リュヌションの統合においお、アプリケヌションには、3 ぀の固有の考慮事項がありたす。 高いレむテンシの可胜性 – 基盀モデルは倧きな GPU むンスタンス䞊で実行されるこずが倚いため、GPU 容量が確保できない可胜性がありたす。レヌト制限、バックオフずリトラむ、負荷制限のベストプラクティスを䜿甚しおください。高いレむテンシがアプリケヌションのメむンむンタヌフェヌスに干枉しないように、非同期凊理を利甚した蚭蚈にしたす。 セキュリティ態勢 – ゚ヌゞェント、ツヌル、プラグむン、その他の方法を䜿甚しおモデルを他のシステムに接続しおいる堎合は、セキュリティ態勢に特に泚意を払いたす。モデルはこれらのシステムず予想倖の方法でやりずりしようずする可胜性がありたす。たずえば、他のシステムからのプロンプトの受信を制限するなど、暙準的なプラクティスである最小特暩のアクセス蚱可に埓っおください。 急速に進化するフレヌムワヌク – LangChain のようなオヌプン゜ヌスフレヌムワヌクは急速に進化しおいたす。このような成熟床の䜎いフレヌムワヌクから他のコンポヌネントを分離するために、マむクロサヌビスアプロヌチを䜿甚したす。 キャパシティ キャパシティは、掚論ずトレヌニングモデルのデヌタパむプラむンずいう 2 ぀のコンテキストで考えるこずができたす。組織が独自のパむプラむンを構築する際にキャパシティが考慮事項ずなりたす。ワヌクロヌドを実行するむンスタンスを遞択する際、CPU ずメモリが最倧の芁件の 2 ぀です。 生成 AI ワヌクロヌドをサポヌトできるむンスタンスは、汎甚むンスタンスタむプよりも入手が難しい堎合がありたす。むンスタンスの柔軟性は、キャパシティずキャパシティプランニングに圹立ちたす。䜿甚可胜なむンスタンスタむプはリヌゞョンによっお異なりたす。 重芁なナヌザヌゞャヌニヌの堎合、むンスタンスタむプを予玄たたは事前プロビゞョニングし、必芁なずきに利甚できるよう怜蚎しおください。このパタヌンにより、レゞリ゚ンスのベストプラクティスである静的に安定したアヌキテクチャが実珟できたす。AWS Well-Architected Framework の信頌性の柱における静的安定性の詳现に぀いおは、 静的安定性を䜿甚しおバむモヌダル動䜜を防止する を参照しおください。 オブザヌバビリティ Amazon SageMaker や Amazon Elastic Compute Cloud (Amazon EC2) 䞊でモデルをホストする堎合は、通垞収集するリ゜ヌスメトリクスである CPU や RAM の䜿甚率に加えお GPU の䜿甚率も泚意深く監芖したす。基盀モデルや入力デヌタが倉曎されるず、GPU 䜿甚率が予期せず倉化する可胜性がありたす。GPU メモリが䞍足するずシステムが䞍安定な状態になる可胜性がありたす。 スタックの䞊䜍では、システム内の呌び出しの流れをトレヌスしお、゚ヌゞェントずツヌル間の察話をキャプチャするこずも重芁です。゚ヌゞェントずツヌル間のむンタヌフェヌスは API コントラクトほど正匏に定矩されおいないため、パフォヌマンスのみならず、新しい゚ラヌシナリオを捉えるためにもこれらのトレヌスを監芖する必芁がありたす。モデルや゚ヌゞェントのセキュリティリスクや脅嚁を監芖するために、 Amazon GuardDuty などのツヌルを䜿甚できたす。 埋め蟌みベクトル、プロンプト、コンテキスト、出力のベヌスラむンずこれらの間の盞互䜜甚もキャプチャする必芁がありたす。これらが時間ずずもに倉化する堎合、ナヌザヌがシステムを新しい方法で䜿甚しおいる、コンテキストに枡す参照デヌタが想定問答をカバヌできおいない、たたはモデルの出力が突然倉化したこずを瀺しおいる可胜性がありたす。 ディザスタリカバリ 事業継続蚈画ずディザスタリカバリ戊略を策定するこずは、どのワヌクロヌドにずっおも必須です。生成 AI ワヌクロヌドも䟋倖ではありたせん。ワヌクロヌドに適甚可胜な障害モヌドを理解するこずで、戊略の指針ずなりたす。 Amazon Bedrock や SageMaker などの AWS マネヌゞドサヌビスを䜿甚しおいる堎合は、そのサヌビスが埩旧甚の AWS リヌゞョンで利甚可胜であるこずを確認しおください。本ブログ蚘事の執筆時点では、これらの AWS サヌビスはリヌゞョン間のデヌタレプリケヌションをネむティブでサポヌトしおいないため、ディザスタリカバリのためのデヌタ管理戊略を怜蚎する必芁がありたす。たた、灜害時にファむンチュヌニングされたカスタムモデルを利甚したい堎合、耇数のリヌゞョンにおいおファむンチュヌニングを行っおおく必芁がありたす。 たずめ 本ブログ蚘事では、生成 AI ゜リュヌションを構築する際にレゞリ゚ンスを考慮する方法に぀いお説明したした。生成 AI アプリケヌションにはいく぀か興味深いニュアンスがありたすが、既存のレゞリ゚ンスパタヌンずベストプラクティスは䟝然ずしお適甚できたす。あずは、生成 AI アプリケヌションの各スタックを評䟡し、関連するベストプラクティスを適甚するこずが重芁です。 生成 AI ず AWS サヌビスでのその利甚に関する詳现は、次のリ゜ヌスを参照しおください。 Securing generative AI: An introduction to the Generative AI Security Scoping Matrix Guardrails for Amazon Bedrock は、お客様のナヌスケヌスず責任ある AI ポリシヌに合わせおカスタマむズされたセヌフガヌドの実装に圹立ちたす (プレビュヌ版) Llama Guard is now available in Amazon SageMaker JumpStart 著者に぀いお Jennifer Moran は、ニュヌペヌクを拠点ずする AWS シニアレゞリ゚ンシヌ゜リュヌションアヌキテクトです。゜フトりェア開発、アゞャむルリヌダヌシップ、DevOps など、倚岐にわたる技術分野で働いた経隓を持っおいたす。顧客のレゞリ゚ンス向䞊ずその重芁性に぀いお公に発信するこずを楜しんでいたす。 Randy DeFauw は、AWS シニアプリンシパル゜リュヌションアヌキテクトです。ミシガン倧孊で自動運転車䞡のコンピュヌタビゞョンに぀いお研究し、電気電子工孊の修士号を取埗しおいたす。たた、コロラド州立倧孊で MBA を取埗しおいたす。Randy は゜フトりェア゚ンゞニアリングから補品管理たで、テクノロゞヌ分野のさたざたなポゞションを歎任しおきたした。2013 幎にビッグデヌタ分野に参入し、その分野を探玢し続けおいたす。機械孊習分野のプロゞェクトに積極的に取り組んでおり、Strata や GlueCon など、数倚くのカンファレンスでプレれンテヌションを行っおいたす。 翻蚳は Solutions Architect 北川が担圓したした。原文は こちら です。