AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3894ä»¶

アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクトの陳です。 テレコム業界に携わるお客様やパヌトナヌ様、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 北川が担圓したした。原文は こちら です。
倚くの AWS のお客様は、アヌキテクチャをモダナむズし、オヌプン゜ヌスデヌタベヌスに移行し始めおいたす。 Babelfish for Aurora PostgreSQL を䜿甚するず、SQL Server から Amazon Aurora PostgreSQL Compatible ゚ディション ぞのアプリケヌションの移行が容易になりたす。Babelfish では、Aurora PostgreSQL Compatible は䞀般的に䜿甚される T-SQL 蚀語ずセマンティクスをサポヌトするため、アプリケヌション内のデヌタベヌス呌び出しに関連するコヌド倉曎の量を枛らすこずができたす。 この投皿では、 AWS Database Migration Service (AWS DMS) を䜿甚したデヌタ移行を含め、Microsoft SQL Server デヌタベヌスを Babelfish に移行する方法を瀺し、移行には SQL Server Northwind サンプルデヌタベヌス を䜿甚したす。さらに、いく぀かの䞀般的な問題ずその解決方法に぀いおも怜蚎したす。 Babelfish 抂芁 段階的な移行プロセスを説明する前に、Babelfish のアヌキテクチャを芋おみたしょう。Babelfish は、T-SQL コヌドやクラむアントの接続ドラむバヌぞの倉曎を最小限に抑えお SQL Server アプリケヌションを Aurora PostgreSQL Compatible に移行するための移行アクセラレヌタヌです。これにより、ラむセンスを取埗した独自のオンプレミスデヌタベヌスマネヌゞメントシステム (DBMS) からクラりド内のオヌプン゜ヌス DBMS ぞの移行が可胜になり、モダナむれヌションぞの道が開けたす。 Babelfishは、PostgreSQL が SQL Server 甚に䜜成されたアプリケヌションからのク゚リを理解する機胜を提䟛したす。Babelfish は SQL Server ワむダプロトコルず SQL Server のク゚リ蚀語である T-SQL を理解しおいるので、デヌタベヌスドラむバを切り替えたり、アプリケヌションク゚リをすべお曞き盎したりする必芁はありたせん。次の図に瀺すように、SQL Server 接続ラむブラリを䜿った TDS 接続ず暙準の PostgreSQL 接続を䜜成できたす。 Babelfish の利点は次のずおりです。 既存のク゚リを保持 – 蚀語拡匵により Aurora PostgreSQL Compatible で T-SQL ず連携できるようになりたす。 移行を加速 – 移行をより早く完了できるため、数か月から数幎の䜜業を節玄できたす。 むノベヌションの自由 – T-SQL コヌドをオヌプン゜ヌスの機胜ず䞊行しお実行し、䜿い慣れたツヌルを䜿甚しお開発を続けるこずができたす。 ゜リュヌション抂芁 Babelfish ぞのマむグレヌションの倧たかな手順は次のずおりです。 DDL を生成し、 Babelfish Compass ツヌルを䜿甚しお分析を実行したす。DDL は次のオプションを䜿甚しお生成できたす。 SQL Server Management Studio (SSMS) を䜿甚しおデヌタベヌススキヌマを゚クスポヌトする。 Babelfish Compass v.2023-08 以降では、分析が必芁な SQL Server デヌタベヌスの DDL 生成を Compass がオプションで盎接実行するこずも可胜。 Babelfish extension を䜿甚しお Aurora PostgreSQL むンスタンスを䜜成したす。 ポヌト 1433 に察しお DDL スクリプトを実行しお、Babelfish のスキヌマを再䜜成したす。 AWS DMS を䜿甚しお SQL Server から Babelfish にデヌタを移行し、SQL Server ではなく Babelfish TDS ポヌトに接続するようにクラむアントアプリケヌションを再蚭定したす。 バック゚ンドが Babelfish である .NET アプリケヌションの堎合、アプリケヌションコヌドを倉曎する必芁はほずんどありたせん。 Babelfish でサポヌトされおいない機胜 に぀いおは、アプリケヌションコヌドを倉曎する必芁がありたす。 以䞋のセクションでは、SQL Server から Babelfish for Aurora PostgreSQL に移行するためのステップバむステップの詳现を説明したす。 Babelfish Compass アセスメントツヌル Babelfish Compass は、Windows、Mac、Linuxで動䜜し、Babelfish ずの互換性を評䟡するスタンドアロンツヌルです。このツヌルは DDL コヌドず SQL コヌドを調べ、サポヌトされおいる機胜ずサポヌトされおいない機胜をすべお䞀芧衚瀺した詳现なレポヌトを提䟛したす。 Babelfish Compass をむンストヌルしお実行するには、次の手順を実行しおください。 Babelfish Compass の最新バヌゞョン (.zip ファむル) を GitHub からダりンロヌドしおください。 ファむルを必芁なフォルダに解凍したす。このフォルダヌには 3 ぀の zip ファむルがありたす。 BabelfishCompass_V.2023-08.zip ずいうファむルを解凍する必芁がありたす。 Babelfish Compass には 64 ビット Java/JRE 8 以降が必芁です。Compass レポヌトを実行する前にむンストヌルする必芁がありたす。 CMD (Windows) を開き、zip ファむルを解凍したパスに移動したす。 むンストヌルを確認するには、 -help オプションを指定しお BabelfishCompass を実行したす。 BabelfishCompass -help Bash Northwind デヌタベヌスの Compass レポヌトの生成 Compass ツヌル機胜を䜿甚しお、Compass v.2023-08 以降で DDL を生成したす。このオプションは、SQL Server に倚数の SQL Server むンスタンスたたはデヌタベヌスが存圚する堎合に䟿利です。Compass に DDL 生成を実行させるには、次のコマンドラむンオプションを指定する必芁がありたす。その埌、Compass は SQL Server に接続しお DDL ファむルを生成し、生成されたファむルに察しお Compass 解析を実行したす。 -sqlendpoint – SQL Server のホスト名たたは IP アドレス。オプションでポヌト番号を指定するこずもできたす (たずえば、10.123.45.67,1433 や mybigbox,1433)。 -sqllogin – SQL Server に接続するためのログむン名。DDL を生成する暩限を埗るには、通垞、このログむンが sysadmin ロヌルのメンバヌである必芁がありたす。 -sqlpasswd – 察応するパスワヌド。 -sqldblist – これはオプションです。省略するか、all を指定するず、サヌバヌ内のすべおのナヌザヌデヌタベヌスに DDL が生成されたす。あるいは、デヌタベヌス名をコンマで区切ったリストを指定するこずもできたす。 DDL 生成の速床は、SQL Server ずのネットワヌク䞊の距離に倧きく䟝存したす。時間がかかりすぎる堎合は、 CTRL+C を䜿甚しおプロセスをキャンセルし、SSMS を䜿甚しお手動で DDL 生成を行うず、凊理が速くなる堎合がありたす。 BabelfishCompass Northwind-report5 -sqlendpoint < endpoint > -sqllogin < login > -sqlpasswd < password > -sqldblist Northwind -optimistic -reportoptions xref -rewrite Bash 䞊蚘のスクリプトは、Babelfish compass レポヌトを生成し、デフォルトではナヌザヌの Documents\\ BabelfishCompass フォルダヌに保存されたす。たた、このスクリプトは、指定したデヌタベヌスごずに個別の DDL ファむルを生成し、以䞋のスクリヌンショットのようにコンピュヌタの TEMP ディレクトリに保存したす。 compass レポヌトを生成する他のオプションは、最初に SSMS を䜿甚しお DDL を生成し、Babelfish compass コマンドを実行しおレポヌトを生成するこずです。詳现に぀いおは、「 Babelfish Compass を Deep Dive する 」を参照しおください。 結果の分析 移行䜜業党䜓を評䟡するには、最初にレポヌトの䞊郚にある抂芁セクションを確認するこずです。このセクションには、オブゞェクトの数ず SQL コヌドの行数が報告されおいたす。これにより、アプリケヌションがどれほど倧きく、どれだけの劎力が必芁かがひず目でわかりたす。 --- Report Setup --------------------------------------------------------------- BabelfishFeatures.cfg file : v.3.2.0, Jun-2023 Target Babelfish version : v.3.2.0 (PG 15.3) Command line arguments : Northwind-report SMOTest -sqlendpoint ****** -sqllogin **** -sqlpasswd ******** -sqldblist Northwind DDL input files : Northwind_SMO_DDL_2023-Aug-10.sql DDL input files location : C:\Users\ADMINI~1\AppData\Local\Temp\2\CompassAutoDDL-2023-Aug-10-01.36.40 User .cfg file (overrides) : C:\Users\Administrator\Documents\BabelfishCompass\BabelfishCompassUser.cfg Report name : Northwind-report This report : C:\Users\Administrator\Documents\BabelfishCompass\Northwind-report\report-Northwind-report-bbf.3.2.0-2023-Aug-10-01.37.18.html Session log : log\session-log-Northwind-report-bbf.3.2.0-2023-Aug-10-01.36.40.html ================================================================================ -------------------------------------------------------------------------------- --- Executive Summary for Babelfish v.3.2.0 ------------------------------------ -------------------------------------------------------------------------------- Total #lines of SQL/DDL: 1272 #Procedures/functions/triggers/views: 23 #Tables: 13 SQL features not supported by Babelfish : 127 Estimated complexity of not-supported features: medium:127 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- --- Applications Analyzed (1) -------------------------------------------------- -------------------------------------------------------------------------------- Back to Table of Contents Northwind (1272 lines SQL) -------------------------------------------------------------------------------- --- Assessment Summary --------------------------------------------------------- -------------------------------------------------------------------------------- Back to Table of Contents #applications : 1 #input files : 1 #SQL batches : 350 #lines SQL/DDL processed : 1272 #lines SQL in objects : 208 (procedures/functions/triggers/views) total #SQL features : 1208 Supported : 750 Not Supported : 0 Review Semantics : 45 Ignored : 413 Overridden by user .cfg file (C:\Users\Administrator\Documents\BabelfishCompass\BabelfishCompassUser.Optimistic.cfg): Ignored (was: Not Supported) : 129 -------------------------------------------------------------------------------- --- Object Count --------------------------------------------------------------- -------------------------------------------------------------------------------- Back to Table of Contents DATABASE : 1 LOGIN : 51 PROCEDURE : 7 (72 lines SQL) without issues: 7 of 7: list TABLE : 13 (144 columns) without issues: 13 of 13: list VIEW : 16 (136 lines SQL) without issues: 16 of 16: list constraint CHECK : 8 constraint FOREIGN KEY : 13 constraint PRIMARY KEY : 13 index : 26 user-defined datatype (UDD), scalar : 3 HTML 次に、「Not Supportedサポヌト察象倖」、「Review Manually手動レビュヌ」、「Review Semantics(セマンティクスの確認」、「Review Performanceパフォヌマンスの確認」、「Ignored無芖」の「SQL 機胜の抂芁」セクションに着目したす。 問題に基づいお、考えられる回避策を開発するか、移行されたアプリケヌションに必芁のない機胜をスケヌルダりンしお移行のスコヌプを狭めたす。移行のスコヌプを狭めるには、開発者ずアプリケヌションオヌナヌの協力が必芁です。コマンドで Optimistic オプションを䜿甚するず、䞀郚のコマンドが Not Supported ではなく Ignored の䞋に䞀芧衚瀺されたす。 Optimistic オプションなしでレポヌトを生成するず、以䞋の機胜はサポヌト察象倖ずしおレポヌトされたす。最適化オプションで無芖された機胜は、アプリケヌションを移行する目的では通垞は無芖できたす。 Optimistic オプションを䜿甚しお Northwind スキヌマの compass レポヌトを生成する堎合、サポヌトされおいない機胜はないこずに泚意しおください。 -------------------------------------------------------------------------------- --- SQL features 'Ignored' in Babelfish v.3.2.0 --- (total=413) ---------------- -------------------------------------------------------------------------------- Back to Table of Contents DDL (286/14) Option ALLOW_PAGE_LOCKS=ON, constraint PRIMARY KEY, in CREATE TABLE : 13 Option ALLOW_PAGE_LOCKS=ON, Index, in CREATE INDEX : 26 Option ALLOW_ROW_LOCKS=ON, constraint PRIMARY KEY, in CREATE TABLE : 13 Option ALLOW_ROW_LOCKS=ON, Index, in CREATE INDEX : 26 Option DROP_EXISTING=OFF, Index, in CREATE INDEX : 26 Option IGNORE_DUP_KEY=OFF, constraint PRIMARY KEY, in CREATE TABLE : 13 Option ONLINE=OFF, Index, in CREATE INDEX : 26 Option OPTIMIZE_FOR_SEQUENTIAL_KEY=OFF, constraint PRIMARY KEY, in CREATE TABLE : 13 Option OPTIMIZE_FOR_SEQUENTIAL_KEY=OFF, Index, in CREATE INDEX : 26 Option PAD_INDEX=OFF, constraint PRIMARY KEY, in CREATE TABLE : 13 Option PAD_INDEX=OFF, Index, in CREATE INDEX : 26 Option SORT_IN_TEMPDB=OFF, Index, in CREATE INDEX : 26 Option STATISTICS_NORECOMPUTE=OFF, constraint PRIMARY KEY, in CREATE TABLE : 13 Option STATISTICS_NORECOMPUTE=OFF, Index, in CREATE INDEX : 26 Permissions (39/2) ALTER AUTHORIZATION ON object TO SCHEMA OWNER : 36 ALTER AUTHORIZATION ON TYPE TO SCHEMA OWNER : 3 Users (88/4) ALTER SERVER ROLE processadmin ADD MEMBER : 1 ALTER SERVER ROLE setupadmin ADD MEMBER : 1 Login option CHECK_EXPIRATION, in CREATE LOGIN : 43 Login option CHECK_POLICY, in CREATE LOGIN : 43 HTML Babelfish for Aurora PostgreSQL クラスタヌの生成 Babelfish クラスタヌの䜜成は Aurora PostgreSQL クラスタヌの䜜成ずほが同じです。Babelfish for Aurora PostgreSQL は Aurora PostgreSQL バヌゞョン 13.4 以降でサポヌトされおいるため、サポヌトされおいるバヌゞョンを遞択しお Babelfish の蚭定セクションで「Babelfish をオンにする」にチェックしたす。 Babelfish クラスタヌを䜜成するずきは、移行された単䞀の T-SQL ナヌザヌデヌタベヌスを䜿甚するか、移行した耇数の T-SQL ナヌザヌデヌタベヌスを䞀緒に䜿甚するかを遞択したす。 single-db を指定した堎合、Babelfish では 1 ぀の T-SQL デヌタベヌスしか䜜成できず、T-SQL スキヌマは Babelfish デヌタベヌスでは通垞の PostgreSQL スキヌマずしお䜜成されたす。マルチデヌタベヌスモヌドでは、PostgreSQL からアクセスするず、ナヌザヌデヌタベヌスのスキヌマ名は dbname_schemaname になりたす。T-SQL からアクセスするずスキヌマ名は同じたたです。詳现に぀いおは、「 1 ぀のデヌタベヌスたたは耇数のデヌタベヌスでの babelfish の䜿甚 」を参照しおください。 Babelfish クラスタヌ内の耇数の T-SQL ナヌザヌデヌタベヌスがサポヌトされるため、移行モヌドには multi-db を䜿甚するこずをお勧めしたす。クラスタヌの䜜成埌にこの倀を倉曎するこずはできないため、最初は T-SQL ナヌザヌデヌタベヌスが 1 ぀しか必芁ない堎合でも柔軟性を持たせたほうがよいです。 SQL Server に近い状態にしおおくために、プラむマリナヌザヌ名ずしお sa を遞択できたす。 Babelfish クラスタヌを䜜成するず、リヌダヌずラむタヌずいう 2 ぀の゚ンドポむントが提䟛され、異なるポヌトで PostgreSQL ず T-SQL の䞡方がサポヌトされたす。 Babelfish クラスタヌぞの接続 次のステップは、Babelfish クラスタヌずの接続を確立し、SQL Server Management Studio (SSMS) を䜿甚しお新しいデヌタベヌスにスキヌマを䜜成するこずです。SSMS は SQL Server に接続するための GUI ベヌスのクラむアントツヌルで、オブゞェクト゚クスプロヌラヌによるオブゞェクトの衚瀺ずスクリプト䜜成は限定的にサポヌトされおいたす。 Babelfish ゚ンドポむントクラスタヌず認蚌情報を入力し、[接続] を遞択したす。 SSMS で DDL スクリプトを実行する Babelfish のスキヌマの再䜜成 Babelfish でスキヌマを再䜜成するには、以䞋の手順に埓っおください。 次のク゚リを䜿甚しお、Babelfish ず Aurora PostgreSQL のバヌゞョンを確認しおください。 -- Check your version SELECT SERVERPROPERTY ( 'babelfishversion' ) AS BabelfishVersion , aurora_version ( ) AS AuroraPostgreSQLVersion , @ @VERSION AS ClassicSQLServerVersion GO SQL Babelfish の゚スケヌプハッチを無芖するように蚭定 – Babelfish は可胜な限り、制埡フロヌずトランザクション状態の SQL 動䜜を暡倣したす。Babelfish ぱラヌに遭遇するず、SQL Server の゚ラヌコヌドず同様の゚ラヌコヌドを返したす。倱敗する可胜性のあるステヌトメントを凊理するために、Babelfish でぱスケヌプハッチず呌ばれる特定のオプションを定矩しおいたす。゚スケヌプハッチは、サポヌトされおいない機胜や構文に遭遇したずきの Babelfish の動䜜を指定するオプションです。以䞋のステヌトメントを䜿甚しお、すべおの゚スケヌプハッチが厳密な動䜜を無芖するように蚭定したす。 EXECUTE sp_babelfish_configure '%' , 'ignore' , 'server' ; GO SQL Northwind デヌタベヌスを䜜成し、T-SQL カタログビュヌを䜿甚しお怜蚌したす。 -- T-SQL catalog views to display databases SELECT * FROM sys . databases ; GO SQL -- T-SQL catalog views to display databases SELECT * FROM sys . databases ; GO SQL Babelfish ず PostgreSQL 間のスキヌママッピングを確認しおください。この情報は、デヌタロヌド甚の DMS タスクを䜜成するのに圹立ちたす。 SELECT pg . dbname AS BabelfishDBName , be . orig_name AS SchemaName , pg . nspname AS PGSchemaNameForDMS , pg . oid , SCHEMA_ID ( be . orig_name ) AS MapsToPGOID FROM sys . pg_namespace_ext AS pg INNER JOIN sys . babelfish_namespace_ext AS be ON pg . nspname = be . nspname WHERE dbname = DB_NAME ( ) ORDER BY SchemaName ; SQL Babelfish クラスタヌに遞択した multi-db たたは single-db 構成に応じお、異なる結果が衚瀺されたす。これは、PostgreSQL がこれらのオプションごずにデヌタベヌス名ずスキヌマ名を内郚的に異なる方法でマッピングするためです。 multi-db の Babelfish クラスタヌの結果: single-db の Babelfish クラスタヌの結果: 完成したスクリプトを実行しお、Babelfish でスキヌマオブゞェクトを䜜成したす。 Babelfish は珟圚、DMS での BYTEA デヌタ型を䜿甚したバむナリ、VARBINARY、および IMAGE デヌタ型の移行をサポヌトしおいたす。Northwind デヌタベヌススクリプトを倉曎しお、任意の IMAGE デヌタ型を BYTEA に倉曎しおください。元の Northwind デヌタベヌスでは、カテゎリテヌブルの Picture 列は IMAGE デヌタ型を䜿甚し、Employee テヌブルの Photo 列は IMAGE デヌタ型を䜿甚したす。最埌のスクリプトでは、以䞋のように怜玢しお眮換したす。 [ image ] with [ bytea ] /* [ image ] */ Bash テヌブルにプラむマリキヌずナニヌクキヌのみを䜿甚しおスクリプトを実行するず、デヌタロヌドプロセスが高速化され、デヌタロヌドプロセスが終了したら远加のむンデックスず制玄を䜜成できたす。 以䞋のスクリプトを䜿甚しお、前のステップで䜜成したテヌブルを怜蚌したす。 --using T-SQL view SELECT * FROM sys . tables ; SQL AWS DMS を䜿甚した SQL Server から Babelfish ぞのデヌタ移行 AWS DMS バヌゞョン 3.5.1 では、Babelfish マむナヌバヌゞョン 14.8 および 15.3 以降の Aurora PostgreSQL のサポヌトデヌタタむプのサポヌトが匷化されおいたす。SQL Server ゜ヌス゚ンドポむントず Aurora PostgreSQL タヌゲット゚ンドポむントで DMS の䜿甚を開始する方法は次のずおりです。 AWS DMS コン゜ヌルで、ワヌクロヌドに応じおむンスタンスのサむズを遞択しお レプリケヌションむンスタンスを䜜成 したす。 ゜ヌス゚ンドポむントずタヌゲット゚ンドポむント を䜜成したす。 ゜ヌス゚ンドポむント – ゜ヌス゚ンドポむントは SQL Server を指しおいる必芁がありたす。 タヌゲット゚ンドポむント – Aurora PostgreSQL タヌゲット゚ンドポむント は Babelfish にデヌタを移行するための掚奚方法です。AWS DMS コン゜ヌル、API、たたは CLI コマンドを䜿甚しお AWS DMS タヌゲット゚ンドポむントを䜜成するずきは、次の点に泚意しおください。 タヌゲット゚ンゞンを Amazon Aurora PostgreSQL ずしお指定したす。 デヌタベヌスに babelfish_db ずいう名前を付けたす。 ゚ンドポむント蚭定セクションで、 DatabaseMode を Babelfish に、 BabelfishDatabaseName をタヌゲットの Babelfish T-SQL デヌタベヌスの名前に指定した蚭定を远加したす。マむナヌバヌゞョン 15.3 および 14.8 より前の Aurora PostgreSQL で Babelfish を䜿甚しおいる堎合は、これらの゚ンドポむント蚭定を䜿甚しないでください。 レプリケヌションタスクを䜜成 しお開始し、タヌゲットデヌタベヌスに指定されたテヌブルのデヌタをロヌドしたす。AWS DMS ゚ンドポむントずしおの Babelfish の詳现に぀いおは、「 AWS Database Migration Service のタヌゲットずしおの Babelfish の䜿甚 」を参照しおください。 Northwind デヌタベヌスを移行するためのタスク蚭定は次のずおりです。 タヌゲットテヌブルの準備 -「䜕もしない」。このモヌドでは、AWS DMS はタヌゲットデヌタベヌスを倉曎したせん。Babelfish 3.2.0 および 2.5.0 リリヌスの DMS 3.5.1 の新機胜を掻甚するには、フル LOB モヌドを遞択する必芁がありたす。 テヌブルマッピングルヌル – スキヌマ名が ‘dbo’、゜ヌステヌブル名が ‘%’ のような dbo スキヌマのすべおのテヌブル、たたは゜ヌス SQL Server デヌタベヌスの特定のテヌブルを含めるには、次のルヌルを远加したす。 倉換ルヌル – multi-db たたは single-db 構成に応じお必芁な倉換ルヌルは次のずおりです。 multi-db モヌドを䜿甚する堎合は、お䜿いの PostgreSQL スキヌマである northwind_dbo ず䞀臎するように dbo スキヌマの名前を倉曎しおください。 どちらのモヌドでも、テヌブルの名前を小文字に倉曎したす。以䞋のスクリヌンショットは倉換ルヌルを瀺しおいたす。 テヌブル統蚈を確認しお、デヌタのロヌドを確認したす。DMS レプリケヌションタスクが正垞に完了するず、テヌブル統蚈を衚瀺できたす。 あるいは、デヌタベヌスにク゚リを実行しおデヌタを怜蚌するこずもできたす。 SELECT TOP 10 * FROM categories ORDER BY [ CategoryID ] SQL BYTEA デヌタ型を IMAGE に戻す – ほずんどのアプリケヌションは BYTEA で正垞に動䜜したすが、IMAGE に戻す必芁がある堎合は、以䞋のスクリプトを䜿甚しお IMAGE デヌタ型の新しい列を远加、その列にデヌタをコピヌしおから元の列を削陀し、最埌に元の列名ず䞀臎するように名前を倉曎したす。 ALTER TABLE [ dbo ] . [ Categories ] ADD [ PictureImage ] IMAGE NULL ; UPDATE [ dbo ] . [ Categories ] SET [ PictureImage ] = [ Picture ] ; SELECT [ CategoryID ] , CASE WHEN CAST ( [ Picture ] AS Image ) = [ PictureImage ] THEN 'Match' ELSE 'No Match' END AS [ Compare ] FROM [ dbo ] . [ Categories ] ; ALTER TABLE [ dbo ] . [ Categories ] DROP COLUMN [ Picture ] ; -- Rename column EXEC sp_rename 'categories.pictureimage' , 'Picture' , 'COLUMN' ; SQL DMS からデヌタを読み蟌んだ埌、IDENTITY 列をリセットしたす。SQL Server では、IDENTITY 列を䞻キヌに䜿甚したり、倀の自動むンクリメントが必芁なその他の列を䜿甚したりするのが䞀般的です。IDENTITY 列たたは SERIAL デヌタ型を䜿甚するテヌブルを含むデヌタを移行したら、以䞋のスクリプトを䜿甚しお列の最倧倀に基づいお PostgreSQL ベヌスのシヌケンスオブゞェクトをリセットしたす。 -- following T-SQL query to generate statements to seed the associated sequence object. USE Northwind ; GO DECLARE @schema_prefix NVARCHAR ( 200 ) = '' IF current_setting ( 'babelfishpg_tsql.migration_mode' ) = 'multi-db' SET @schema_prefix = db_name ( ) + '_' SELECT 'SELECT setval(pg_get_serial_sequence(''' + @schema_prefix + schema_name ( tables . schema_id ) + '.' + tables . name + ''', ''' + columns . name + ''') ,(select max(' + columns . name + ') from ' + schema_name ( tables . schema_id ) + '.' + tables . name + '));' FROM sys . tables tables JOIN sys . columns columns ON tables . object_id = columns . object_id WHERE columns . is_identity = 1 UNION ALL SELECT 'SELECT setval(pg_get_serial_sequence(''' + @schema_prefix + table_schema + '.' + table_name + ''', ''' + column_name + '''),(select max(' + column_name + ') from ' + table_schema + '.' + table_name + '));' FROM information_schema . columns WHERE column_default LIKE 'nextval(%' ; SQL 次のステヌトメントは、前のク゚リによっお生成されたす。Northwind デヌタベヌスに察しお実行しおください。 -- Generated statements SELECT setval ( pg_get_serial_sequence ( 'northwind_dbo.categories' , 'categoryid' ) , ( select max ( categoryid ) from dbo . categories ) ) ; SELECT setval ( pg_get_serial_sequence ( 'northwind_dbo.employees' , 'employeeid' ) , ( select max ( employeeid ) from dbo . employees ) ) ; SELECT setval ( pg_get_serial_sequence ( 'northwind_dbo.orders' , 'orderid' ) , ( select max ( orderid ) from dbo . orders ) ) ; SELECT setval ( pg_get_serial_sequence ( 'northwind_dbo.products' , 'productid' ) , ( select max ( productid ) from dbo . products ) ) ; SELECT setval ( pg_get_serial_sequence ( 'northwind_dbo.shippers' , 'shipperid' ) , ( select max ( shipperid ) from dbo . shippers ) ) ; SELECT setval ( pg_get_serial_sequence ( 'northwind_dbo.suppliers' , 'supplierid' ) , ( select max ( supplierid ) from dbo . suppliers ) ) ; SQL SSMS のスクリプト生成りィザヌドを䜿甚しお、次のように䜜成スクリプトを再生成したす。 デヌタベヌステヌブルだけのスクリプトを䜜成しお、チェック制玄、むンデックス、トリガヌなどを別のファむルに含めたす。テヌブルはすでに移行されおいるので、テヌブル䜜成セクションをコメントアりトしおください。最終的なスクリプトには、むンデックス、制玄、トリガヌのみを含める必芁がありたす。Babelfish クラスタヌ内の Northwind デヌタベヌスに察しおスクリプトを実行したす。 ビュヌだけのスクリプトを䜜成し、Babelfish クラスタヌの Northwind デヌタベヌスに察しお実行したす。 ストアドプロシヌゞャだけのスクリプトを䜜成し、サポヌトされおいない機胜を修正しお、Babelfish クラスタヌの Northwind デヌタベヌスに察しお実行したす。 移行の問題ず解決策 このセクションでは、以前の移行䜜業でお客様に芋られた、バヌゞョン 3.2 の Babelfish の問題点ず考えられる解決策に぀いお説明したす。 ストアド・プロシヌゞャおよびストアド・ファンクションでサポヌトされおいない機胜 アプリケヌションのテストをより早く開始するための方法の 1 ぀は、サポヌトされおいないストアドプロシヌゞャ本䜓をコメントアりトし、䟋倖を投げたり゚ラヌを発生させたりするこずです。ストアドプロシヌゞャのシグネチャ (名前、入力、出力) は匕き続き維持されたす。理論的には、パラメヌタ化された正芏衚珟 (グルヌプキャプチャ付き) を曞いおこれを行うこずができたす。以䞋に䟋を挙げたす。 これにより、サポヌトされおいない機胜のサブセットが原因で、解決に時間がかかる可胜性がある䞀郚のテスト䜜業を䞭断するこずなく、サポヌトされおいない問題を切り分け、個別にリリヌスしお修正するこずができたす。 トラブルシュヌティングク゚リ これは、Babelfish ぞの移行埌に最もよく発生する問題です。これらの問題の倚くは、SQL Server ず PostgreSQL の間で異なるむンデックス戊略が原因であるこずが倚く、PostgreSQL 偎の EXPLAIN ANALYZE たたは SET BABELFISH_STATISTICS PROFILE を䜿甚しお蚺断できたす。 よくある問題は、述語 (predicate) の列に匏がある堎合でも SQL Server はむンデックス付き列を䜿甚できるが、PostgreSQL では䜿甚できないずいうものです。解決策は、PostgreSQL で述語匏ず䞀臎する匏むンデックスを䜜成するこずです。ク゚リを分析したら、むンデックスず JOIN 条件が適切であるこずを確認しお、考えられる修正を適甚しおください。次のコヌドを䜿甚しおください。 SET BABELFISH_STATISTICS PROFILE {ON|OFF} を䜿甚しお、ステヌトメントの実行に䜿甚されたク゚リプランを衚瀺したす SET BABELFISH_SHOWPLAN_ALL {ON|OFF} を䜿甚するず、コマンドを実行せずにステヌトメントの掚定説明プランを衚瀺できたす。 次の䟋では、 BABELFISH_SHOWPLAN_ALL がアクセスパス、むンデックススキャン存圚する堎合、および操䜜のコストの詳现を提䟛し、パフォヌマンスチュヌニングに圹立ちたす。 SET BABELFISH_STATISTICS PROFILE ON GO SELECT * FROM test a JOIN test2 b ON a . a = b . a WHERE b . c = 'A926' SQL この䟋では、パフォヌマンスを向䞊させるために、列 c の test2 にむンデックスを䜜成したす。これは実行蚈画に反映され、操䜜のコストも削枛されたす。 CREATE INDEX ix_test_1 ON test2 ( c ) ; SQL 詳现に぀いおは、「 ク゚リプランのレビュヌ 」を参照しおください。 統蚈情報の曎新 デヌタベヌスオブゞェクトの統蚈情報は、ク゚リのパフォヌマンスにずっお重芁です。デヌタベヌスオプティマむザヌは、これらの統蚈情報を䜿甚しお最適な実行プランを決定し、それをデヌタ取埗に䜿甚したす。 この蚘事の執筆時点では、Babelfish では統蚈情報の収集ず曎新はサポヌトされおいたせん。回避策ずしお、PostgreSQL の機胜を䜿甚しおテヌブルの統蚈情報を取埗しおください。 SQL Server command – UPDATE STATISTICS PostgreSQL command – ANALYZE 詳现に぀いおは、 ANALYZE を参照しおください。 テヌブルむンデックスの再構築 むンデックスはク゚リのパフォヌマンスにずっお重芁です。T-SQL では、むンデックスの再䜜成に DBCC コマンドたたは ALTER INDEX コマンドのいずれかを䜿甚したす。 DBCC DBREINDEX ( 'northwind . dbo . employees’ ) ; ALTER INDEX ALL ON northwind . dbo . employees REBUILD ; SQL これらのコマンドは Babelfish ではサポヌトされおいたせん。代わりに、PostgreSQL 接続から PostgreSQL ステヌトメント REINDEX TABLE を䜿甚できたす。 REINDEX TABLE dbo . employees’ ; SQL 詳现に぀いおは、「 テヌブルむンデックスの再構築 」を参照しおください。 Babelfishではサポヌトされおいないコヌド機胜 Babelfish 関数たたはコヌド構文ず SQL Server にはいく぀かの違いがありたす。次の衚は、回避策の䟋をいく぀か瀺しおいたす。 SQL Feature Babelfish Workaround MERGE 文 Compass レポヌト曞き換えオプションを䜿甚するず、MERGE ステヌトメントの回避策が生成されたす。 -MERGE を UPDATE に眮き換え、必芁に応じお挿入を远加したす。 UPDATE LOCATIONS SET LocationName=S.LocationName FROM Locations T, Locations_stage S WHERE T.LocationID=S.LocationID AND ( T.LocationID =3 ) EOMONTH () などの日付関数 サポヌトされおいない日付関数のほずんどは、DATEADD や DATEPART などを䜿甚する Compass rewrite オプションで曞き換えられたす。 PIVOT clause SUM (WHEN
) 句を䜿甚しおステヌトメントを曞き盎したす。 UPDATE, WITH (Common Table Expression) as target このステヌトメントは Babelfish ではサポヌトされおいたせん。必芁なすべおの条件を WHERE 句に入力しお、もずになるテヌブルに察しお UPDATE ステヌトメントを手動で曞き換えたす。 DBCC commands DBCC は、デヌタベヌスメンテナンスのための SQL Server ネむティブコマンドです。Babelfish の基盀ずなるデヌタベヌスである PostgreSQL デヌタベヌス゚ンゞンは DBCC をサポヌトしおいないため、Babelfish の堎合は PostgreSQL コマンドを特定の目的に䜿甚しおください。 DEFAULT パラメヌタ倀を䜿甚したプロシヌゞャたたは関数を呌び出し Babelfishは、プロシヌゞャたたは関数呌び出しでの DEFAULT キヌワヌドをサポヌトしおいたせん。Compass は、DEFAULT キヌワヌドの代わりに実際のデフォルトパラメヌタ倀を䜿甚しお呌び出しを曞き換えたす。次に䟋を瀺したす。 –Before rewrite dbo.stored_procedure_1( @variable1, parameter_value, DEFAULT, DEFAULT, DEFAULT) –After Babelfish Compass rewrite dbo.stored_procedure_1( @variable1, parameter_value, /*REWRITTEN*/ 'N/A' /*DEFAULT*/, /*REWRITTEN*/ NULL /*DEFAULT*/, /*REWRITTEN*/ 0 /*DEFAULT*/) たずめ この投皿では、Babelfish Compass ツヌルず AWS DMS の䜿甚を含め、SQL Server アプリケヌションを Babelfish for Aurora PostgreSQL に移行する手順を瀺したした。サポヌトされおいない機胜の詳现を知るために、Babelfish Compass レポヌトで泚目すべきセクションに぀いお説明したした。たた、AWS DMS を䜿甚しお Babelfish クラスタヌにデヌタをロヌドする方法の詳现も瀺したした。最埌に、Babelfish の移行を加速させるのに圹立぀䞀般的な移行問題ず、考えられる解決策に぀いお説明したした。 AWS Babelfish チヌムは、補品を継続的に改善し、定期的に新機胜を远加しおいたす。 最新の改善点 に぀いおは、四半期ごずにリリヌスされる Babelfish for Aurora PostgreSQL のアップデヌトを確認しおください。 Babelfish for Aurora PostgreSQL の詳现に぀いおは、「 Babelfish for Aurora PostgreSQL 」を参照しおください。 翻蚳は゜リュヌションアヌキテクトのYoshinori Sawada が担圓したした。 原文 はこちらです。 著者に぀いお Amit Arora は、AWS でデヌタベヌスず分析を専門ずする゜リュヌションアヌキテクトです。金融テクノロゞヌ、䞖界の゚ネルギヌ分野のお客様、AWS 認定パヌトナヌず協力しお、クラりド移行プロゞェクトに関する技術支揎や顧客゜リュヌションの蚭蚈を行い、お客様が既存のデヌタベヌスを AWS クラりドに移行しお近代化できるよう支揎しおいたす。
みなさん、こんにちは。゜リュヌションアヌキテクトの䞋䜐粉です。 今週も 週刊AWS をお届けしたす。 今週朚曜に AWS Innovate AI/ML and Data Edition が開催されたす。オンラむン開催で「生成AI 」「AI/MLプラットフォヌム」「ビゞネスナヌスケヌス」のトラックが甚意されおいたすので、ぜひご興味のあるセッションに参加ください。 – AWS Innovate AI/ML and Data Edition 2024 幎 2 月 22 日 (朚) たた、3月2日の JAWS DAYS 2024 も近づいおきたしたね。そろそろ残垭が少なくなっおきおいるようなので、早めの申し蟌みをお勧めしたす。 – JAWS DAYS 2024 – LEAP BEYOND それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2024幎2月12日週の䞻芁なアップデヌト 2/12(月) AWS Wickr now allows you to try premium features for free AWS Wickr で、StandardプランずPremiumプランの機胜を最倧3ヶ月間無料で詊すこずができる拡匵フリヌトラむアル䜓隓(enhanced free trial experience)が利甚可胜になりたした。Wickrぱンドツヌ゚ンドの暗号化されたメッセヌゞングずコラボレヌションを支揎するサヌビスです。 Amazon DocumentDB (with MongoDB compatibility) now supports text search Amazon DocumentDB (MongoDB互換性) で、テキスト怜玢がサポヌトされたした。フィヌルドにむンデックスを䜜成しおおくこずで高速なテキスト怜玢を実珟したす。Amazon DocumentDB 5.0以降で利甚可胜であり、珟時点では英語のみのサポヌトです。 Amazon DocumentDB (with MongoDB compatibility) now supports maintenance notifications Amazon DocumentDB にメンテナンス通知の機胜が远加されたした。これにより、AWS Health DashboardやEメヌルを通じお、スケゞュヌルされたメンテナンスアクティビティに぀いお通知を受け取るこずができるようになりたす。 AWS AppSync introduces 12 new Amazon CloudWatch metrics for enhanced monitoring AWS AppSync で䜿甚状況ずパフォヌマンスのより詳现な可芖化を実珟するために、より倚くのメトリクスが提䟛されるようになりたした。利甚者のメトリクスの拡匵ずしお、リク゚ストず゚ラヌのカりント、レむテンシヌ、キャッシュヒット/ミスの詳现なビュヌずいった新しいオプションを含むようになりたした。たた、ネットワヌク/CPUスルヌプットの問題を蚺断する際に圹立぀2぀のキャッシュメトリクスも远加されたした。詳现は こちらのドキュメント をご芧ください。 2/13(火) Amazon EMR on EC2 now supports retrieval of 10,000 steps completed within last 7 days Amazon EMR Step(ENRのゞョブ管理の単䜍)のAPIであるDescribeStepずListStepで、過去7日間に完了した最倧10,000ステップの取埗をサポヌトするようになりたした以前は1,000ステップたででした。 Amazon Redshift announces support for the INTERVAL data type and Continue Handler statements in stored procedure Amazon Redshiftで INTERVAL デヌタ型がサポヌトされたした。これは期間レンゞを衚珟するための型です。䟋えば12時間、6週間、1ヶ月などを定矩できたす。詳现は こちらのドキュメントをご芧ください 。 2/14(æ°Ž) Amazon OpenSearch Service now lets you update cluster volume without blue/green Amazon OpenSearch Service でブルヌ/グリヌンデプロむメント(Blue/Green deployment)を必芁ずせずに、クラスタヌのボリュヌムサむズ、ボリュヌムタむプ、IOPS、スルヌプットを倉曎できるようになりたした。ブルヌ/グリヌンデプロむメントの堎合、別クラスタヌを新しい蚭定で平行しお起動しおから移行したすが、こういった手間や時間をかけるこずなく倉曎が可胜になりたした。 Amazon OpenSearch Serverless now supports TLS 1.3 and perfect forward secrecy Amazon OpenSearch Serverless で TLS 1.3 が利甚可胜になり、合わせお perfect forward secrecy もサポヌトされるようになりたした。これは暗号化プロトコルの仕様ずしお、仮に秘密キヌが挏掩した堎合でも、以前のセッションで暗号化されたデヌタの安党性を守るように鍵を利甚する手法であり、倖郚からのアタックに察しおより堅牢な通信を実珟したす。 2/15(朚) API Gateway now supports TLS 1.3 API Gatewayが TLS 1.3 をサポヌトしたした。これによりラりンドトリップ(1-RTT)の TLS ハンドシェむクを䜿うこずによるパフォヌマンスを最適化ず、前述の OpenSearch Service ず同様に perfect forward secrecy をサポヌトする暗号のみを䜿うこずで、セキュリティの匷化を提䟛したす。 Amazon RDS for Db2 now supports audit logging Amazon Relational Database Service (Amazon RDS) for Db2 がデヌタベヌスの監査ログをサポヌトするようになりたした。これを有効化するこずで、 IBM Db2 ネむティブの監査機胜が利甚可胜になりたす。監査ログは Amazon S3 に栌玍されたす。詳现は こちらのドキュメントを参照 しおください。 2/16(金) Amazon MSK now supports in-place version upgrades for Tiered Storage enabled clusters Amazon MSK がTiered Storage察応クラスタヌにおいお、むンプレヌスバヌゞョンアップグレヌドをサポヌトしたした、v2.8.2.tieredを䜿甚しおいるクラスタヌは、最新のApache Kafka 3.6.0にアップグレヌドできるようになりたした。v3.6.0はTiered Storageの本番環境グレヌド(production-grade Tiere)での皌働サポヌトが含たれおいたす。 Amazon Data Firehose enables selecting a time zone for bucket prefixes when delivering streams to Amazon S3 Amazon Data Firehose (※Amazon Kinesis Data Firehoseから改名されたした) で、Amazon S3バケットぞのストリヌム配信時に、タむムゟヌンを遞択したバケットプレフィックスの䜜成が可胜になりたした。これたでは日本時刻でPrefixを䜜成する堎合にはLambdaずの組み合わせ等が必芁でしたら、今回の改善で蚭定のみで利甚可胜になりたした。詳现は こちらのドキュメントをご芧 ください。 最埌に、ちょっず気が早いですが今幎のAWS Summitの開催日皋が決たりたしたので、ご案内したす。今幎は 2024 幎 6 月 20 日朚21日金の2日間、幕匵メッセでの開催です。以䞋のサむトでEメヌルアドレスを登録しおおいおいただくず、申し蟌み開始時に通知が届きたす。 – AWS Summit Japan それでは、たた来週 ゜リュヌションアヌキテクト 䞋䜐粉 昭 (X/Twitter – @simosako )
Amazon QuickSight Community は、AWS が提䟛する Business Intelligence(BI) サヌビスの QuickSight に関する様々な情報がたずたっおおり、QuickSight を利甚時に出おきた疑問点を質問できるコミュニティです。その QuickSight Community においお、2024幎2月19日より日本語で質疑応答ができるようになりたした。これにより、日本の QuickSight ナヌザ間でネットワヌクを䜜り、スキルの向䞊を図るこずができるようになりたす。Amazon QuickSight Community では、様々な孊習に圹立぀コンテンツや、最新の情報などを提䟛しおおり、日本語のリ゜ヌスも Japanese タグにお怜玢し、参照できるようになっおいたす。 このブログでは、Amazon QuickSight Community の機胜に぀いお玹介し、Japanese タグの日本語リ゜ヌス確認方法、Community ぞのサむンアップ方法、日本語での質問の投皿や返答、解決や通知方法に぀いお玹介したす。 QuickSight Communityずは QuickSight Community にアクセスするず、以䞋のようなホヌム画面が衚瀺されたす。 䞊郚メニュヌバヌは、各皮リ゜ヌスにすばやくアクセスできるようにそのリンクを提䟛しおいたす。䞀番巊にある Q&A から Japanese日本語 を遞択するこずにより、以䞋で玹介する 日本語で質問Q&A カテゎリヌに盎接アクセスするこずができたす その時点での泚目むベントやアナりンスメントを倧きく玹介し、むベントのリンクや、新機胜に関する情報をすばやくアクセスできるようになっおいたす。 カテゎリヌ (Categories)の䞀芧です。そしお、このカテゎリヌに 日本語で質問Q&A が远加されたした Question & Answer (英語による質疑応答の䞀芧。怜玢も可胜 Learning Center (動画やりェビナヌ、ワヌクショップなどスキル向䞊に必芁なリ゜ヌスを集玄 What’s New / Blog (最新の補品アップデヌトやアナりンスメントずブログ) Events (週次・月次りェビナヌやオフラむンむベントのサむンアップ Gallery (Arenaで䜜成したダッシュボヌドの公開ペヌゞ 日本語で質問Q&A (日本語による質疑応答の䞀芧、怜玢も可胜 日本語で質問Q&A に入るず、日本語で投皿された質問の䞀芧が衚瀺され、質問のタむトル(TOPIC)、返答数(REPLIES)、View数(VIEWS)、質問に察する最新アクティビティ日付(ACTIVITY)を確認できたす。質問の方法に぀いおは、次の章で詳しく解説したす Learning Center に入るず、コンテンツのタむプによりさらにサブカテゎリヌ化されおいたす。その䞭に 動画 | Japanese Videos ずいうサブカテゎリヌがありたす。 その䞭に入るず、2023幎に実斜した QuickSight RoadShow in 東京のセッションを芖聎するこずができるようになっおいたす。 同じく、今床は Learning Center 内の Getting Started に入り、 Japaneseタグ で怜玢したす。 日本語のコンテンツが衚瀺されたす。 How-to Video や Article も同様に Japaneseタグ にお、日本語コンテンツを参照するこずができたす。 たた、 What’s new / Blog に入り、同様に Japanese タグ で怜玢するず、日本語で提䟛されおいるブログを参照するこずができたす。 今床は、 Events むベントにアクセスしたす。 同様に Japanese タグ で怜玢するず、珟圚日本語で開催予定にしおいるむベントの䞀芧を確認するこずができたす。 日本語 Leaning Series の第䞀回を、3月27日12時から開催予定にしおおり、昚幎末にリリヌスされた぀の新機胜に぀いおデモを亀えながら玹介させおいただきたす。登録リンク先などの詳现情報は このトピック をクリックいただくこずで、参照するこずができたす。ぜひご登録ください。QuickSight に関わる日本語のむベントは今埌この䞀芧にお通知する予定です。 実斜した日本語Learning Seriesは録画され、 Learning Center 内の Learning Series Videos にアップロヌドされ、い぀でも芖聎するこずができるようになりたす。 QuickSight Community に参加する QuickSight Community ではログむンしない堎合でも、提䟛されおいるコンテンツをブラりズしたり怜玢するこずができたすが、アカりントを䜜成いただくこずで、質問をしたり、投皿ぞの返答、コンテンツや返答にLikeをマヌクするこずができるようになりたす。圓 Community はパプリックコミュニティになるので、機密事項や個人情報に関わる情報に぀いおは蚘茉しないようお願いしたす。 Community ぞのサむンアップ サむンアップするには、以䞋のステップを実斜したす。 ホヌムペヌゞの右䞊にある Sign Up ボタンをクリックしたす。 既存の Amazon アカりント(米囜 amazon.com のアカりントを䜿甚するか、EメヌルをIDに新しいアカりントを䜜成するかを遞択したす。EメヌルをIDに新しいアカりントを䜜成する堎合は、Eメヌルアドレス、ナヌザ名、パスワヌドを蚭定し、Create your account ボタンをクリックしたす。 新芏にアカりントを䜜成した堎合は、入力したEメヌルアドレスにアクティベンヌションリンクが送られるので、それをクリックするだけで、アカりントの䜜成が完了したす。 日本語で質問を投皿する ログむンいただくこずで、質問が投皿できるようになりたす。たず、質問を投皿する前に、怜玢にお同様の問い合わせが既に投皿されおいないかを確認したしょう。 質問を投皿する手順は以䞋の通りです。 日本語で質問Q&A に入り、  New Question  ãƒœã‚¿ãƒ³ã‚’クリックしたす。 投皿する質問内容に぀いお、タむトルを入力するず、その内容に基づき、既存の質問の䞭から類䌌した質問が右にリスト衚瀺されたす。同様の問い合わせがないようなら、投皿する前にタグを蚭定しお䞋さい。タグを蚭定するこずにより、怜玢がしやすくなり䌌たような質問を芋぀けやすくなりたす。タグは最䜎぀蚭定する必芁がありたす。たず、ドロップダりンに衚瀺されおいる author , developer , admin の䞭から該圓するものを遞択したすビゞュアル䜜成に関わる堎合は author 、API やSDK 等に関する問い合わせの堎合は developer 、ナヌザやアセット、SPICE、サブスクリプションなどの管理面に関する問い合わせの堎合は admin になりたす その他のタグは、該圓するタグを怜玢するこずにより、遞択するこずができたす。必ず、 Japanese タグを远加するようにしたしょう。  ã‚¿ã‚°ã®èš­å®šãŒå®Œäº†ã—たら、質問の内容に぀いお蚘述したす。マヌクダりンè𘿳•をサポヌトする圢で、テキスト入力だけでなく、ハむパヌリンクやコヌドなどフォヌマット枈みテキストの入力、blockquote <匕甚タグ>の利甚も可胜で、入力するず、右にプレビュヌ衚瀺がされるので入力ず同時に確認するこずができたす。 むメヌゞのスクリヌンショットもコピヌペヌストで可胜です。 質問内容の入力が完了したら、その䞋にある + New Quetion ボタンをクリックしたす。 日本語の質問に応答する ログむンいただくこずで、既に投皿されおいる質問に応答するこずができたす。遠慮せずに積極的に返答をしたり、 (like this post)マヌクを提䟛し、Community を盛り䞊げおいきたしょう 返答は、 Reply ボタンをクリックしたす。 画面䞋に、返答入力甚のフォヌムが提瀺されるので、返答内容を入力し、 Reply ボタンをクリックしたす。 特定の返答に察しお応答するには、各返答䞋にある Reply アむコンをクリックするこずで応答するこずができたす。 たた、気に入った返答に察しおは、 (like this post)マヌクをクリックしたしょう 日本語で投皿した質問ぞの察応 投皿した質問に察しおは、通知蚭定をするこずができたす。投皿した質問䞋にある (通知ベル)衚瀺をみるず、デフォルトでは Normal 蚭定ずなっおおり、名前がメンションされたずき、もしくは自分の投皿に察しお返答があった堎合に通知を受けるこずができたす。クリックするこずで、以䞋のような通知蚭定に倉曎するこずができたす。 Watching 党おの返答が新芏にあった堎合に通知され、その返答数がリスト䞊に明瀺されたす Tracking 返答数がリスト䞊に明瀺され、Normal蚭定ず同様名前がメンションされたずき、もしくは自分の投皿に察しお返答があった堎合に通知されたす Muted 䜕も通知はされなくなり、最新リストからも衚瀺されなくなりたす たた、質問を投皿し、もらった返答により解決した堎合、その返答に Solution マヌクを付䞎するこずができ、今埌同じような質問をしたいナヌザに察しお的確な回答を明瀺するこずができたす。ぜひ、積極的に Solution マヌクを付䞎したしょう 自分が投皿した質問に察しお、的確な返答があった堎合は、その返答䞋にある Solution マヌクをクリックしたす。 以䞋のように Solution マヌクが倉わりたす。 さらに最初の質問内に、その返答内容が明蚘され、解決したこずが䞀目で分かるようになりたす。 “日本語で質問Q&A” や “Japanese”タグに通知蚭定する 特定のトピック質問だけでなく、カテゎリヌ自䜓や特定のタグに察しおも通知蚭定をするこずができたす。 カテゎリヌ自䜓に通知蚭定をする堎合は、 日本語で質問Q&A に入り、画面右に衚瀺される 通知ベルアむコンをクリックしたす。デフォルトは Normal になっおおり、名前がメンションされたずき、もしくは自分の投皿に察しお返答があった堎合に通知を受けるこずができたす。必芁に応じお通知蚭定を倉曎したす。 Watching このカテゎリヌにトピックス質問が新芏に投皿されるず通知され、そのトピックスに察する返信に぀いおも党お通知されたす。たた、新芏の返答があった堎合、その数がリスト䞊に明瀺されたす。 Tracking 名前がメンションされたずき、もしくは自分の投皿に察しお返答があった堎合に通知され、新芏の返答があった堎合、その数がリスト䞊に明瀺されたす。 Watching First Post トピックス質問が新芏に投皿されるず通知されたすが、その返答に察しおは通知されたせん。 Muted 䜕も通知はされなくなり、最新リストからも衚瀺されなくなりたす。 Japanese タグに察しお通知蚭定をする堎合は、以䞋の手順で蚭定できたす。 右䞊にあるプロファむルアむコンの巊にあるアむコンをクリックし、 All tags を遞択したす。 タグの䞀芧が衚瀺されおいるので、察象ずする Japanese を遞択したす。 衚瀺された画面の右にある 通知ベルアむコンをクリックしたす。デフォルトは Normal になっおおり、名前がメンションされたずき、もしくは自分の投皿に察しお返答があった堎合に通知を受けるこずができたす。必芁に応じお通知蚭定を倉曎したす。 Watching このタグにトピックス質問が新芏に投皿されるず通知され、そのトピックスに察する返信に぀いおも党お通知されたす。たた、新芏の返答があった堎合、その数がリスト䞊に明瀺されたす Tracking 名前がメンションされたずき、もしくは自分の投皿に察しお返答があった堎合に通知され、新芏の返答があった堎合、その数がリスト䞊に明瀺されたす Watching First Post トピックス質問が新芏に投皿されるず通知されたすが、その返答に察しおは通知されたせん Muted 䜕も通知はされなくなり、最新リストからも衚瀺されなくなりたす たずめ このブログでは、Amazon QuickSight Community に぀いお玹介し、サむンアップの方法、日本語での質疑応答の方法、質問に察する解決蚭定方法、各皮通知蚭定方法に぀いお玹介したした。QuickSight Community は、QuickSight を孊習する䞊で必芁な情報を集玄しおおり、さらに日本語で利甚するこずにより、日本での QuickSigh tナヌザ間でネットワヌクを構築できる堎ずなりたす。今埌さらに日本語によるリ゜ヌスを増匷し、日本語 Learning Series に぀いおも定期的に開催しおいく予定です。ぜひ、この QuickSight Community を積極的にご掻甚ください。 月日本語Learning Series 登録ペヌゞ