TECH PLAY

AWS

AWS の技術ブログ

å…š3314ä»¶

11 月 27 日から 12 月 1 日たでラスベガスで開催されるクラりドコンピュヌティングカンファレンス、 AWS re: Invent 2023 で皆様にお䌚いできるこずをずおも楜しみにしおいたす。re: Invent に初めお行かれる方も、そうではない方も、AWS re: Invent の熱量ず様々な機䌚にはきっず驚かされるこずでしょう。 AWS クラりドオペレヌション トラックは、それを構成する゜リュヌション領域 ( モニタリングずオブザヌバビリティ 、 運甚管理 、コンプラむアンスず監査、クラりドガバナンス) をカバヌする合蚈 96 のセッションで構成されおいたす。本トラックでは、豊富な掞察、ベストプラクティス、楜しいキオスクアクティビティを通じお、クラりド管理スキルを新たな高みに匕き䞊げるこずができたす。 このブログでは、 クラりドガバナンス ず コンプラむアンス・監査 に焊点を圓おたす。これらは、組織がリスクを評䟡し、コンプラむアンスず監査デヌタを䞀元化し、自動化を䜿甚しおセキュリティずコンプラむアンス䜓制を改善するのに圹立぀クラりド運甚内の2぀の゜リュヌション分野です。AWS クラりドガバナンスは ビゞネス目暙に合わせおAWSクラりドを䜿うのに圹立ち、AWS クラりドコンプラむアンスは芏制芁件、基準、法埋、業界の枠組みを満たすのに圹立ちたす。 AWS ビレッゞのクラりド運甚キオスク: セッションぞの参加に加えお、The Venetianホテルを䌚堎ずしおいるExpoの、 AWS Village内 にあるクラりドオペレヌションキオスク ( キャンパスマップ ) にもぜひお越しください。ホむヌルを回しお賞品を獲埗したり、AWSの゚キスパヌトに䌚い、クラりド運甚の未来に぀いお孊んでいきたしょう。 クラりドガバナンスずコンプラむアンスに぀いおの理解を深めるために、キオスクやおすすめのセッションに぀いお䞋蚘にお知らせしたす。ぜひ セッションカタログ でこれらのセッションをお気に入りに登録しおください。 参加すべきクラりドガバナンスおよびコンプラむアンスセッション トップ10 COP207 | Don’t let cloud compliance and operations exceed your budget – Chalk Talk  クラりドのコンプラむアンスず運甚が予算を超えないようにする このチョヌクトヌクでは、コンプラむアンスず運甚のニヌズを満たすモダンでスケヌラブルなアヌキテクチャを構築しながら、コストを最適化し続ける方法を孊びたす。AWS Config ず AWS CloudTrail の䜿甚を最適化するためのさたざたなベストプラクティスず掚奚事項に぀いお説明したす。最適な支出に぀ながる耇数のナヌスケヌスを怜蚎し、AWS のベストプラクティスを利甚するこずがこれらのシナリオにどのように圹立぀かを孊んでください。あなたのご質問をお埅ちしおいたす COP209 | How to customize AWS compliance and auditing services – Breakout Session (AWS コンプラむアンスおよび監査サヌビスをカスタマむズする方法 ) セキュリティ運甚、コンプラむアンス、監査の蚭定はチャレンゞングです。特に、起きおいるこずをすべお芖芚化し、管理し、察応しやすくするこずは容易ではありたせん。たた、フルマネヌゞドサヌビスを䜿甚するず、リスクは軜枛されおもむノベヌションは制限されるこずがありたす。AWS Security Hub、AWS CloudTrail Lake、AWS Control Towerを通じお AWS Config を䜿甚し、運甚ずコンプラむアンスを成功させるための環境をセットアップする方法をご芧ください。 COP304 | Customizing accounts swiftly and securely with AWS Control Tower – Chalk Talk (AWS Control Towerによるマルチアカりント環境の迅速か぀安党なカスタマむズ ) AWS Control Tower でマルチアカりント環境を構築する際には、ネットワヌク、セキュリティ、ID、コンプラむアンスに぀いお、暙準的なプラットフォヌムをカスタマむズしながらアカりントを事前に蚭定する必芁がありたす。このチョヌクトヌクでは、さたざたな自動化オプションを䜿甚しお、アカりント党䜓で䞀貫したプラットフォヌムツヌルずリ゜ヌスを実装する方法を孊びたす。たた、AWS Control Tower ず AWS ID & Access Management (IAM) を䜿甚しお制埡、ポリシヌ、暩限の境界を構築し、分散型でスケヌラブルな環境を実珟するためのベストプラクティスに぀いおも説明したす。 COP311 | Simplify continuous auditing and compliance on AWS – Workshop (AWS での継続的な監査ずコンプラむアンスを簡玠化) このワヌクショップでは、AWS のリヌゞョンずアカりント党䜓にわたる継続的な監査ずコンプラむアンスを䞀元化しお簡玠化するために、AWS クラりドオペレヌションサヌビスを利甚する手順に぀いお説明したす。たず、AWS Systems Manager Explorer を䜿甚しお AWS Config Rules のコンプラむアンスステヌタスを収集する方法を孊ぶこずから始めたす。次に、AWS Systems Manager Automation documents (runbooks) を䜿甚しお、準拠しおいない AWS Config Rulesの修正を自動化する方法を孊びたす。最埌に、AWS Audit Manager を䜿甚しお察象のプロセスから蚌拠を収集し、監査に備えたしょう。参加するにはノヌトパ゜コンを持参しお頂く必芁がありたす。 COP315 | Architecting AWS Accounts for scale – Chalk Talk (倧芏暡な AWS マルチアカりント環境の蚭蚈) このチョヌクトヌクは、アカりント蚭定、統制管理、そしおAWS OrganizationsやAWS Control Tower によるセキュリティ境界の確立など、マルチアカりント環境を構築するためのベストプラクティスに焊点を圓おおいたす。これらのベストプラクティスに埓うこずで、コストを最適化しながら、ビゞネスアプリケヌションずデヌタをより簡単に管理し、オペレヌショナル゚クセレンス、セキュリティ、信頌性を実珟する方法を孊びたしょう。 COP318 | Best practices for cloud governance – Breakout Session (クラりドガバナンスのベストプラクティス) 組織党䜓をクラりドに移行させる方法を決めるのは難しい堎合がありたす。どこから始めればよいでしょうか。ハむブリッド環境や芏制された環境をどのように管理するべきでしょうか。このセッションでは、暩限管理、安党なワヌクロヌドデプロむ、ガバナンスの戊略など、AWS 䞊で優れた蚭蚈ずスケヌラブルな基盀を構築するためのクラりドガバナンスのベストプラクティスを孊びたす。クラりドの導入に成功した組織から AWS が孊んだむンサむトをご芧ください。 COP328 | How to manage applications at scale and innovate faster with AWS – Breakout Session (AWS を䜿甚しおアプリケヌションを倧芏暡に管理し、より迅速にむノベヌションを起こす方法) アプリケヌションをサポヌトする゚ンゞニア、アプリケヌションセキュリティを監芖する IT 管理者、アプリケヌション支出を調査する財務アナリスト、アプリケヌションの信頌性を維持する運甚スペシャリストのいずれであっおも、増え続けるアプリケヌションリ゜ヌスを管理するこずはたすたす困難になるかもしれたせん。AWS のサヌビスずツヌルがどのようにアプリケヌション管理を簡玠化し、問題の迅速な修正、より迅速なむノベヌション、時間の節玄、安党なスケヌリングを実珟できるかをぜひご芧ください。Amazon CloudWatch でアプリケヌションのパフォヌマンスを管理する方法、AWS Security Hub でセキュリティ䜓制を改善する方法、AWS Cost Explorer でコストを最適化する方法、AWS Systems Manager でアプリケヌション党䜓のオペレヌショナル゚クセレンスを向䞊させる方法をご芧ください。 COP331 | Implementing end-to-end compliance on AWS, featuring BMW – Breakout Session (BMW をフィヌチャヌした AWS 䞊での゚ンドツヌ゚ンドのコンプラむアンスの実装) 今日、組織はコンプラむアンス芁件ずセキュリティ芁件のバランスを取るずいう課題に盎面しおいたす。このセッションでは、AWS リ゜ヌスのセキュリティずコンプラむアンスを定矩し維持するための゚ンドツヌ゚ンドの䜓隓を説明したす。お客様の環境における統制の䜜成ず自動化、コンプラむアンス違反の確認ず是正に䜿甚できるツヌルに぀いお孊んでください。AWS CloudFormation、AWS Config、AWS Security Hub、AWS ControlTower、AWS Systems Managerなどの耇数のサヌビスを統合しお、リ゜ヌスのコンプラむアンスを維持する方法をご芧ください。 COP333 | Optimize costs in your multi-account environments – Breakout Session (マルチアカりント環境のコストを最適化) クラりドぞの移行やクラりドでのスケヌリングを行うお客様は、ビゞネスぞの圱響を最倧化しながら、コストを最適化しお支出を削枛したいず考えおいたす。このセッションでは、マルチアカりントの AWS 環境 (AWS Control Tower、AWS Organizations) でコストを効率的か぀倧芏暡に最適化するためのベストプラクティスず掚奚事項を玹介したす。クラりド導入のどの段階にいおも、AWS Compute Optimizer などのツヌルをタグ付けしながら䜿甚するずいったコントロヌルを行い、コスト削枛戊略をワヌクロヌドやリ゜ヌスに適甚する方法を孊んでください。 COP338 | Using generative AI to improve your compliance and auditing processes – Chalk Talk (生成 AI を䜿甚しおコンプラむアンスず監査プロセスを改善) コンプラむアンスの管理は面倒なプロセスですが、監査に備えるためには必芁なこずです。面倒なプロセスのためではなくむノベヌションにリ゜ヌスを䜿うために、AWS Config や AWS CloudTrail などのサヌビスを Amazon CodeWhisperer ず組み合わせるず、カスタムのコンプラむアンスルヌルをより迅速に構築し、監査ログに察しおより効果的にク゚リを実行できたす。監査の時期になったら、CodeWhisperer を䜿甚しお CloudTrail で監査蚌拠をク゚リできるようにするこずもできたす。このチョヌクトヌクに参加しお、AWS のゞェネレヌティブ AI がどのようにコンプラむアンスや監査プロセスをより迅速か぀効率的にするのかを孊びたしょう。 COP340 | What’s new with AWS governance and compliance – Breakout Session (AWS ガバナンスずコンプラむアンスの最新情報) ガバナンスずコンプラむアンスに最適化された環境を぀くるず、生産性ず運甚効率を向䞊させるこずができたす。これにより、お客様はビゞネス成果の達成ず時間ずコストの節玄に集䞭できたす。このセッションに参加しお、AWS がガバナンスずコンプラむアンスの分野でどのように革新を行っおいるかをご芧ください。最近リリヌスされた補品ず、それを利甚しおさたざたな課題を解決する方法に぀いお孊んでください。 泚: Breakout sessionブレむクアりトセッションは、1 人以䞊のスピヌカヌが倚数の聎衆にコンテンツをプレれンテヌションするこずで構成されたす。Workshop(ワヌクショップ)は、参加者が少人数のグルヌプで AWS を䜿甚しお問題の解決策を構築するむンタラクティブなセッションです。Chalk talk(チョヌクトヌク)は非垞にむンタラクティブで、AWS の専門家による短い講矩から始たり、その埌に 45  50 分のホワむトボヌドず Q&A セッションが続きたす。Builders’ session(ビルダヌズセッションは、1 人の AWS 専門家が䞻導する小グルヌプのセッションで、短いデモンストレヌションから始たり、参加者がフォロヌアップし、AWS の専門家ず実隓や構築を行いたす。 重芁なポむント おすすめセクションに参加し、キオスクでAWSの専門家ず䌚うこずで、クラりドガバナンスずコンプラむアンスのベストプラクティスを孊ぶこずができたす。これにより、セキュリティ、運甚、芏制、コストの基準を順守できるず同時に、むノベヌションを起こしおより迅速に行動できるようになりたす。最埌になりたすが、少し䌑憩しながらキオスクで楜しい時間を過ごしおいただければ幞いです。 筆者 Tiffany Chen, Winnie Chen 翻蚳は゜リュヌションアヌキテクトの柳 嘉起が担圓したした。原文は こちら です。
Amazon CloudFront がリリヌスされおから 15 幎も経ったなんお信じられたせん。 2006 幎に Amazon S3 がリリヌスされたずき、デベロッパヌはその柔軟性を気に入っお、ストレヌゞがボトルネックにならない新たな皮類のグロヌバル分散アプリケヌションを構築し始めたした。これらのアプリケヌションは、地球䞊のあらゆるナヌザヌのために、高いパフォヌマンス、信頌性、コスト効率を提䟛する必芁がありたした。そこで 2008 幎に、小芏暡なチヌム (「 ツヌピザチヌム 」) が、わずか 200 日で CloudFront をリリヌスしたした。 Jeff Barr は 9 月に ただ名前のない新しいサヌビス に぀いおほのめかし、その 2 か月埌に CloudFront をリリヌス したした。 CloudFront は圓初から、䜎レむテンシヌず高速デヌタ転送を実珟しながら、長期契玄なしで゚ンドナヌザヌにコンテンツを配信する簡単な方法を提䟛しおきたした。 Amazon S3 甚のシンプルなキャッシュずしおリリヌスされたこのサヌビスは、短期間でフル機胜のコンテンツ配信ネットワヌクに進化したした。珟圚、CloudFront は驚異的なスピヌドでアプリケヌションを䞖界䞭に配信し、NFL、クリケットワヌルドカップ、FIFA ワヌルドカップなどのラむブスポヌツむベントをサポヌトしおいたす。 同時に、匊瀟はアプリケヌションを保護するための最良のツヌルを提䟛したいずも考えおいたす。2015 幎に、゚ッゞで高速か぀安党なアクセスコントロヌルを提䟛するために、 AWS WAF ず CloudFront の統合を発衚したした。その埌、サヌビス党䜓でシグナルを組み合わせお、堅牢な脅嚁むンテリゞェンスの開発に重点的に取り組みたした。この脅嚁むンテリゞェンスは CloudFront ず統合し、䞀般的な゚クスプロむトや分散型サヌビス拒吊 (DDoS) 攻撃からアプリケヌションを保護するための AWS Shield を远加したす。䟋えば、最近、Amazon CloudFront に察する HTTP/2 リク゚ストの異垞な急増が怜出されたした。圓瀟はすぐに、新しいタむプの HTTP リク゚ストフラッド DDoS むベントが CloudFront によっお自動的に緩和 されおいるこずに気付きたした。 HTTP よりも䞋䜍のレベルでも倚くの動䜜が実行されたす。䟋えば、CloudFront を利甚しおアプリケヌションを提䟛する堎合、そのアプリケヌションが受信したすべおのパケットは、目に芋えるレむテンシヌを発生させない完党にむンラむンの DDoS 緩和システムによっお怜査されたす。これにより、CloudFront ディストリビュヌションに察する L3/L4 DDoS 攻撃がリアルタむムで緩和されたす。 たた、 s2n-tls (「信号察雑音」の略) などの内郚的な改善も行いたした。これは、シンプルさを優先しながら、小さく高速になるように蚭蚈された TLS プロトコルのオヌプン゜ヌス実装です。もう 1 ぀の同様の改善点は、Rust で蚘述されたオヌプン゜ヌス QUIC プロトコル実装である s2n-quic です。 CloudFront を利甚するず、さたざたな機胜を通じおコンテンツに察するアクセスを制埡するこずもできたす。認蚌された芖聎者のみにアクセスを制限したり、地理的制限機胜を通じおコンテンツにアクセスできる特定の地理的堎所を蚭定したりできたす。 セキュリティは垞に重芁ですが、あらゆる組織が専任のセキュリティ゚キスパヌトを擁しおいるずは限りたせん。堅牢なセキュリティをより実珟しやすくするために、CloudFront には、 ワンクリックでのりェブアプリケヌションファむアりォヌルの蚭定 、 セキュリティに関するレコメンデヌション 、 盎感的なセキュリティダッシュボヌド などの組み蟌み保護機胜が含たれるようになりたした。これらの統合されたセキュリティ機胜を䜿甚するず、チヌムはセキュリティに関する深い専門知識がなくおも、重芁な安党策を講じるこずができたす。圓瀟の目暙は、すべおのお客様がセキュリティに関するベストプラクティスを簡単に実装できるようにするこずです。 りェブアプリケヌションの配信 過去 15 幎間で、りェブアプリケヌションはさらに高床になり、゚ンドナヌザヌにずっお䞍可欠なものずなりたした。CloudFront がリリヌスされたずき、圓瀟は S3 バケットに保存されたコンテンツの配信をサポヌトするこずに重点的に取り組みたした。 動的コンテンツ は、ナヌザヌごずにりェブサむトの䞀郚が倉化するりェブアプリケヌションを最適化するために導入されたした。たた、動的コンテンツは、グロヌバルに配信する必芁がある API ぞのアクセスを改善したす。 アプリケヌションの分散が進む䞭で、圓瀟は、デベロッパヌがそのグロヌバルなフットプリントず゚ッゞのリ゜ヌスを効率的に利甚するのをサポヌトする方法を怜蚎したした。゚ンドナヌザヌに近いコンテンツのカスタマむズずパヌ゜ナラむズを可胜にし、レむテンシヌを最小限に抑えるために、 Lambda@Edge が導入されたした 。 必芁なコンピュヌティングリ゜ヌスが少なくなるず、 CloudFront Functions は、䜎レむテンシヌの HTTP 操䜜ずパヌ゜ナラむズされたコンテンツ配信を実珟するために、゚ッゞロケヌション党䜓で軜量の JavaScript 関数を実行できたす 。最近、 CloudFront Functions が拡匵され、HTTP ステヌタスコヌドやレスポンス本文の倉曎など、レスポンスをさらにカスタマむズできるようになりたした 。 今日では、CloudFront は 1 日に 3 兆件を超える HTTP リク゚ストを凊理し、50 か囜の 100 を超える郜垂にある 600 超のポむントオブプレれンスず 13 のリヌゞョンレベルの゚ッゞキャッシュからなるグロヌバルネットワヌクを䜿甚しおいたす。この芏暡は、極めお芁求の厳しいオンラむンむベントを実珟するのに圹立ちたす。䟋えば、 2023 幎の Amazon Prime Day では、CloudFront は 1 分あたり 5 億件を超える HTTP リク゚スト (合蚈 1 兆件を超える HTTP リク゚スト) のピヌク負荷を凊理したした。 60 䞇人を超えるアクティブなデベロッパヌが Amazon CloudFront を利甚しおアプリケヌションを構築し、゚ンドナヌザヌに配信しおいたす。チヌムがフルスピヌドで䜜業するのをサポヌトするために、CloudFront は 継続的デプロむ を導入したした。これにより、デベロッパヌは、フルデプロむの前にトラフィックの䞀郚で蚭定倉曎をテストおよび怜蚌できたす。 メディアず゚ンタヌテむメント 今では音楜、映画、テレビシリヌズを自宅でストリヌミングするのが䞀般的になりたしたが、15 幎前はただ DVD をレンタルするのが䞀般的でした。ストリヌミングサヌバヌの実行は技術的に耇雑で、高いパフォヌマンスを実珟するために必芁なグロヌバルむンフラストラクチャにアクセスするには長期契玄が必芁でした。 たず、技術暙準がただ発展途䞊であったため、圓瀟はカスタムプロトコルを䜿甚しお 音声および動画ストリヌミング機胜のサポヌトを远加 したした。倚数の芖聎者に察応し、高い費甚察効果でのラむブむベントの配信を簡玠化するために、CloudFront は、 ラむブ HTTP ストリヌミングをリリヌス し、その盎埌に Flash ベヌスのデバむス (圓時人気がありたした) ず Apple iOS デバむスの䞡方の サポヌトを改善 したした。 メディア業界がむンタヌネットベヌスの配信に移行し続ける䞭、AWS は、Software Defined Video ゜リュヌションのパむオニアである Elemental を買収 したした。Elemental の補品の統合は、攟送やコンテンツ制䜜などのナヌスケヌス向けに、動画むンフラストラクチャを効率的か぀経枈的にスケヌルする サヌビス、゜フトりェア、アプラむアンス を提䟛する䞊で有益でした。 テクノロゞヌずむンフラストラクチャの進化は、 NASA が CloudFront を利甚しお史䞊初の宇宙からのラむブ 4K ストリヌム を行ったずきのように、新しい通信方法の実珟を可胜にしおくれたす。 今日では、䞖界最倧玚のむベントや䞻芁な動画プラットフォヌムは CloudFront を利甚しお、倧芏暡な動画カタログやラむブストリヌムコンテンツを数癟䞇人に配信しおいたす。䟋えば、CloudFront は、20 以䞊の䞻芁な攟送局のために、 2022 幎 FIFA ワヌルドカップのストリヌムをグロヌバルに配信したした 。最近では、Prime Video においお、NFL シヌズンの サヌズデヌナむトフットボヌル のある詊合䞭、CloudFront は 120 Tbps を超えるピヌクデヌタ転送を凊理し、クリケットワヌルドカップを䞖界䞭の䜕癟䞇人もの芖聎者に配信するのをサポヌトしたした。 今埌に぀いお この 15 幎間で倚くのこずが倉わりたしたが、セキュリティ、パフォヌマンス、スケヌラビリティに重点的に取り組むこずに倉わりはありたせん。AWS では垞に Day 1 であり、CloudFront チヌムはフィヌドバックに基づいお改善する方法を垞に暡玢しおいたす。 ボットネット の台頭により、絶えず進化し、非垞に動的で、倉化し続ける脅嚁が増え続けおいたす。レむダヌ 7 DDoS 攻撃の増加には歯止めがかからず、ボットトラフィックは急増しおいたす。これに䌎い、圓瀟はネットワヌク境界、゚ッゞ、リヌゞョンにおける脅嚁を緩和する方法を進化させ、お客様が適切なセキュリティオプションをより簡単に蚭定できるようにしおいたす。 りェブアプリケヌションはより耇雑か぀むンタラクティブになっおおり、レむテンシヌず回埩力に察する芖聎者の期埅はさらに厳しくなっおいたす。これにより新たなむノベヌションが促進されたす。新しいアプリケヌションは 生成系人工知胜 (AI) を䜿甚するため、ニヌズは進化しおいきたす。これらの傟向は今埌も拡倧し続けるこずが想定されるため、圓瀟の投資は、これらの新しいナヌスケヌスをサポヌトするセキュリティ機胜や゚ッゞコンピュヌティング機胜の改善に重点的に振り向けられたす。 珟圚のマクロ経枈環境に鑑みお、倚くのお客様、特に䞭堅䞭小䌁業やスタヌトアップのお客様は、どのようにコストを削枛できるかに泚目しおいたす。最適な費甚察効果を提䟛するこずは、CloudFront においお垞に最優先事項ずなっおいたす。AWS リ゜ヌスから CloudFront ゚ッゞロケヌションに転送されるキャッシュ可胜なデヌタに぀いおは、远加料金は発生したせん。たた、CloudFront からむンタヌネットぞの 1 か月あたり 1 TB のデヌタ転送が無料利甚枠に含たれおいたす。CloudFront は、埓量制料金モデルで動䜜し、前払いコストや最小䜿甚量芁件はありたせん。詳现に぀いおは、「 CloudFront の料金 」をご芧ください。 AWS re:Invent が間もなく開始されるにあたり、最新のむノベヌションに぀いお孊び、゚キスパヌトず぀ながるのに圹立぀次のセッションにぜひご泚目ください。 NET322 | Evolve your web application delivery with Amazon CloudFront NET328 | Live video streaming with Amazon CloudFront and Peacock NET307-R | Ask the experts: Edge compute with Amazon CloudFront りェブサむトず API を高速化し、保護された状態を維持する方法の詳现に぀いおは、 AWS デベロッパヌセンタヌ の「 Application Security and Performance 」セクションをご芧ください。 Amazon CloudFront を利甚しおレむテンシヌを䜎枛し、アプリケヌションのセキュリティを匷化したしょう。 – Danilo 原文は こちら です。
楜しみながら生成系 AI に぀いお孊び、クヌルなアプリを構築する準備ができおいるなら、 PartyRock.aws をぜひチェックしおください。実隓したり、プロンプト゚ンゞニアリングに぀いお孊んだり、ミニアプリを構築したり、アプリを友達ず共有したりするこずができたすが、コヌドを曞いたり、AWS アカりントを䜜成したりする必芁はありたせん。たた、共有されおいるアプリを土台にしお、それをアレンゞするこずでアプリをさらに匷化し、カスタマむズするこずもできたす。 PartyRock の䜿甚 䜿甚を開始するには、 https://partyrock.aws/ にアクセスしおから [サむンむン] をクリックし、Apple、Amazon、たたは Google のアカりントを䜿甚しおログむンしたす。 認蚌されるず、PartyRock のフロントペヌゞが衚瀺されたす。サンプルアプリをいく぀かチェックする、たたは [独自のアプリを構築] をクリックしお、構築を開始するこずができたす。 構築したいアプリの説明を入力しおから PartyRock の生成系 AI を䜿っおスタヌトダッシュを切るこずも、りィゞェットごずに自分でアプリを構築するこずも可胜です。 私は今、 AWS re:Invent のブログ蚘事にどっぷりず぀かっおいるずころです。同僚のほずんどは、草皿が出来䞊がるのを蟛抱匷く埅っおくれたすが、進み具合を䜕床もたずねおくるせっかちな人も䜕人かいたす (「もうすぐ着く」の倧人版ですね)。こんな時にもナヌモアのセンスを忘れないようにしようずしおはいたすが、察応がちょっずばかり皮肉っぜくなっおしたうこずもありたす。では、PartyRock が圹立぀かどうか芋おみたしょう。プロンプトを入力しおから、 [アプリを生成] をクリックしたす。 私のアプリ ( Snarky Patient Blogger (皮肉たっぷりな蟛抱匷いブロガヌ)) の準備は数秒で敎ったので、入力をいくらか曞き蟌んで、私のニヌズを満たすに十分な皮肉が出力に蟌められおいるかどうかを確認したす。 いい感じに仕䞊がったので、これを分解しおどんな仕組みになっおいるかを芋おみたしょう! アプリケヌション ( Snarky Patient Blogger ) には、 [ナヌザヌ入力] ず [皮肉たっぷりな応答] の 2 ぀のりィゞェットがありたす。最初のりィゞェットの線集アむコンをクリックするず、タむトル、ロヌディングテキスト、そしおデフォルト倀があるのがわかりたす。タむトルは、りィゞェットがお互いを名前で参照するこずを可胜にしたす。 このシンプルなりィゞェットは、Amazon Bedrock の InvokeModel 関数に察するコヌルをカプセル化したす。りィゞェットは、 Claude v2 モデルの䜿甚ず、 [ナヌザヌ入力] りィゞェットを参照するシンプルなプロンプトを指定したす。私は、どちらか䞀方を倉曎し、倉曎を保存しお、結果が出るたで 12 秒埅぀こずで実隓できたす。䟋えば、モデルを Claude Instant に倉曎するず、少し違った応答が返されたす。 今床は、返信を芖芚的に衚珟したいず思いたす。 [テキスト生成] りィゞェットを䜿甚しお応答で最も重芁な名詞を芋぀けおから、 [画像生成] りィゞェットを䜿甚しお結果を芖芚化したす。最初のりィゞェットを远加しお、シンプルなプロンプトを䜿甚したす。 再詊行 アむコンをクリックしおテストしたす。出力は申し分ありたせん。 [画像生成] りィゞェットを远加しお、プロンプトを少しばかりいじっおみたす。12 分もするず、思っおいたずおりのものができたした。 完成したアプリはこんな感じです。 アプリに満足したら、 [公開しお共有する] こずができたす。 完成したアプリは https://partyrock.aws/u/jeffbarr/E-FXPUkO7/Snarky-Patient-Blogger にあるので、ぜひ遊んでみおください。このアプリは、ログむンしお [リミックス] をクリックするこずで、さらに䞊を行く独自のアプリを䜜るための土台ずしお䜿甚するこずもできたす。 ちょっず埅っおください、今日はこれだけじゃないんです 私のブログ蚘事ではよくあるこずですが、今回もすべおの機胜をひず぀残らず説明する䜙裕がありたせんでした。私が説明できなかった機胜をいく぀かご玹介したす。 空のアプリ – 私の䟋ではアプリビルダヌを䜿甚したしたが、 [空のアプリから始める] を遞択し、りィゞェットを遞択しお、それらを思いどおりに蚭定するこずもできたす。 リミックス – 既存のアプリ (私のアプリか、別の公開アプリ) を土台にしお、それを [リミックス] するこずでカスタマむズしたり、匷化したりするこずができたす。 チャットボットりィゞェット – プロンプトを出発点ずしお䜿甚しお、アプリずやり取りするこずができたす。 @ 参照 – アプリを構築しおいるずきに、「@」を䜿甚しお他のりィゞェットを名前で参照できたす。 詳现蚭定 – 䞀郚のりィゞェットには詳现蚭定がありたす。䟋えば、テキスト生成りィゞェットには、モデルの [Temperature] パラメヌタず [Top P] パラメヌタをコントロヌルするオプションがありたす。 バックステヌゞ – PartyRock のバックステヌゞでは、自分のアプリず、PartyRock クレゞットの环蚈消費量を確認できたす。 知っおおきたいこず PartyRock に぀いお知っおおきたい事柄には、次のようなものがありたす。 料金 – AWS では PartyRock の新芏ナヌザヌに察しお、クレゞットカヌドの提䟛や AWS アカりントのサむンアップが必芁ない無料トラむアルを期間限定で提䟛しおいたす。ナヌザヌが、発生する料金を心配せずに基本的なスキルの取埗を開始できるようにするためです。クレゞットの消費量は、先ほどご玹介した バックステヌゞ で远跡できたす。クレゞットの䜿甚は、入力トヌクン、出力トヌクン、および生成された画像に基づいお蚈算されたす。詳现に぀いおは、「 PartyRock FAQ 」の「 Billing and Support 」セクションをお読みください。 モデルアクセス – 远加のモデルぞのアクセスを埐々に提䟛しおいく予定です。 開発䞭 – さらに倚くのりィゞェットず機胜に取り組んでいたす。今埌の情報にご期埅ください。 孊習リ゜ヌス – 詳现に぀いおは、これらのリ゜ヌスをご芧ください。 PartyRock Getting Started PartyRock FAQ PartyRock Featured Apps パヌティヌタむム 次のステップを決めるのはあなたです。 PartyRock にログむンし、クヌルなアプリを䜜っお、知り合い党員ず共有したしょう。皆様のアむディアをお埅ちしおいたす! – Jeff ; 原文は こちら です。
本蚘事では、 AWS AppSync ず GraphQL API を掻甚しお、Amazon Bedrock の基盀モデル (FM) ず゚ヌゞェントをパブリック API ずプラむベヌト API およびデヌタベヌスの䞡方にシヌムレスに接続する方法に぀いお説明したす。 Amazon Bedrock は生成系 AI サヌビスであり、基盀モデル (FM) で生成系 AI アプリケヌションを構築し拡匵する最も簡単な方法です。Amazon Bedrock の包括的な機胜により、様々なトップクラスの FM を簡単に詊すこずができ、ファむンチュヌニングや怜玢拡匵生成 (RAG) などのテクニックを䜿甚しお、お客様のデヌタで FM を個別にカスタマむズし、コヌドを曞くこずなく耇雑なビゞネスタスクを実行するマネヌゞド゚ヌゞェントを䜜成するこずができたす。AWS AppSync は、耇数のマむクロサヌビス API ずデヌタベヌスを単䞀の、自己文曞化され、むントロスペクション可胜な API ゚ンドポむントに統合する API を構築する最も簡単な方法です。 デヌタを生成系 AI に公開するこずが新たな課題をもたらす FM に自身のプラむベヌトデヌタぞの管理されたアクセスを提䟛するこずで生成系 AI ず FM の胜力を掻甚しお構築できる新しいアプリケヌションの皮類は、広がりたす。しかし、FM にプラむベヌトデヌタぞのアクセスを蚱可するこずで、以䞋のような新たな課題が生じたす。 FM に提䟛される API は自然蚀語で蚘述される必芁があり、FM は実行可胜なアクション、呌び出し方法、返すデヌタを理解しなければならない。 FM がプラむベヌト API にアクセスする際には、API が詳现な゚ラヌメッセヌゞず、有効な入力の定矩を提䟛する必芁がある。 プラむベヌト API ぞの FM のアクセスは、FM が意図しない、砎壊的な、たたは悪意のある行動をずらないように、厳密に制埡されるべきである。 FM ずその゚ヌゞェントによっお行われるアクションは、倚様なシステムずデヌタストアに枡っお監芖され、ログに蚘録される必芁がある。 FM を䌁業デヌタに接続する方法は様々ありたす。䟋えば、Amazon Bedrock ゚ヌゞェント は、FM を文曞化された REST API に接続する簡単な方法を提䟛したす。しかし本蚘事では、カスタム FM ゚ヌゞェントず GraphQL API を䜿甚しお FM をプラむベヌトデヌタに接続するメリットを探りたす。AWS AppSync ず GraphQL を䜿甚するこずで、単䞀の、自己文曞化された、そしお機械が挿入可胜な API を介しお、すべおのプラむベヌトデヌタぞのアクセスを FM に提䟛するこずができたす。これにより、FM は利甚可胜な䌁業デヌタに簡単にアクセスし、理解し、察話するこずができたす。たた、単䞀の GraphQL API ゚ンドポむントを通じおプラむベヌトデヌタぞの FM アクセスをルヌティングするこずで、FM のアクションを保護、管理、芳察するシンプルな方法を提䟛したす。本蚘事では、GraphQL ず AWS AppSync に支えられた、FM ずデヌタ間の接続レむダヌずしお機胜するアヌキテクチャに぀いお説明したす。しかしその前に、FM が倖郚デヌタずどのように連携するかを芋おみたす。 FM が倖郚デヌタを利甚する方法 ここ数ヶ月、そしおここ数幎の人工知胜の進歩の速さには目を芋匵るものがありたす。モデルはより匷力になり続け、できるこずを新たな高みぞず抌し䞊げおいたす。モデルにどのように質問するか (プロンプト゚ンゞニアリング ) を探求した結果、 reAct の論文 にあるような斬新なテクニックが生たれたした。このプロンプトアプロヌチでは、FM は珟圚の䌚話ずどのような行動をずるこずができるかに぀いおのデヌタを提䟛され、その埌、FM は理由 (Reason)、行動 (Action)、芳察 (Observation) のステップのプロセスを通じお、抜象的な問題を解決するためのステップを螏むよう求められたす。 このプロンプトを芖芚化した䟋を芋おみたす。䞋の図では、オレンゞ色のハむラむトが FM によっお生成されたす。 たず、すべおのプロンプトアプロヌチの鍵ずなるのは、FM が䜕をするよう求められおいるのか、どのように行動すべきなのかを説明するこずです。たた、FM はどのような行動をずるこずができるかも説明されたす。簡朔にするために、問題のアクションの完党な説明は含たれおいたせんが、FM はどのような操䜜にアクセスでき、それぞれをどのように呌び出すこずができるのかに぀いおの詳现な説明が必芁です。埌述する䜜業䟋では、queryDatastore オペレヌションが䜕をするのか、どのような圢匏でデヌタが欲しいのか、どのようなタむプが利甚可胜なのかに぀いおより詳现に説明したす。 FM は珟圚の状態に぀いおどう考え、次のステップずしお䜕を考慮すべきかを自然蚀語で蚘述したものである Reason (理由) を提䟛するように芁求されたす。 次に FM は取りたい具䜓的な行動 (Action) を求められたす。 FM 生成はこのステップで䞀時停止し、FM が芁求した所定のアクションを呌び出したす。このアクションは、デヌタベヌスク゚リであったり、ワヌクフロヌの実行であったり、ベクタヌストアずのむンタヌフェむスであったり、FM が必芁ずするものであれば䜕でもかたいたせん。その出力は、アクションの芳察 (Observation) ずしお䌚話履歎に返されたす。 その埌、FM は再び応答するこずができたす。䞊の䟋では、FM は答えを知っおいるこずを瀺したすが、もし芳察の結果が予期せぬものであったり、党䜓像が摑めなかった堎合は、他にどのようなデヌタが必芁なのかを掚論する機䌚ずなりたす。 答えにたどり着いた FM は、”submit answer” ツヌルの起動を芁求するため、プロセスを停止し、これを答えずしお蚘録したす。 GraphQL ず AWS AppSync で FM をプラむベヌトデヌタに接続する方法 AWS AppSync は、開発者が安党でタむプセヌフか぀柔軟な GraphQL API を䜜成するこずを可胜にし、構築されたデヌタグラフに察しおデヌタを読み取り、操䜜するために入力されるリク゚ストを解析、型チェック、認蚌、解決するスキヌマを提䟛したす。このように、AWS AppSync はデヌタの䞊にセキュアでタむプセヌフなレむダヌずしお配眮されたす。認可は、どのデヌタストアにデヌタが保存されおいるかに関わらず、定矩したデヌタタむプの各フィヌルドに察しお蚭定するこずができる。型はオプションずしおマヌクするこずができ、サブ型や再垰参照を含むこずができたす。このような構成により、䜿いやすく説明的なク゚リ蚀語を備えた 柔軟性の高いデヌタグラフ を䜜成するこずができたす。 アクション定矩ずしおのスキヌマ定矩 AWS AppSync は、明確に定矩された構造で API が䜕を行うかを定矩する GraphQL Schema 䞊でネむティブに動䜜したす。説明のために、この䟋では自動車ディヌラヌの API に぀いお説明したす。AWS AppSync におけるそのような API の郚分的なスキヌマは次のようになりたす。 type Car { id: ID! model: String! make: String! year: Int! color: String! price: Int! } type Query { # Gets all the cars for sale in your dealership listCars: [Car!]! } プロダクションスキヌマはより倚くの型を提䟛し、 mutation 操䜜 を含み、フィヌルド呌び出しに期埅されるパラメヌタを持぀こずができる。䞊蚘のGraphQLスキヌマでは、定矩によっお、車の色、幎匏、䟡栌をすべお取埗するク゚リヌリク゚ストは次のように蚘述できるこずが明確になっおいたす。 query { listCars { color year price } } コメントはスキヌマ定矩自䜓の䞀郚でさえあり、各フィヌルドの存圚理由や各フィヌルドの甚途に぀いお FM にガむダンスを提䟛するこずができたす。最も優れおいる点は、GraphQL には特別な むントロスペクション 操䜜があり、FM が必芁に応じおスキヌマ定矩を問い合わせるこずができるこずです。 簡単に蚀うず、GraphQL API は人間が読めるように蚭蚈されおいるため、FM も読むこずができたす。FMがプラむベヌト API を理解し、それらに察しお query や mutation を構築するには、単玔なむントロスペクションク゚リヌで十分です。 組み蟌みタむプセヌフず自然蚀語゚ラヌ AWS AppSync は、リク゚スト受信時にスキヌマに察しお query を安党に解析したす。フィヌルドを敎数ずしお定矩した堎合、AWS AppSync はそれが他のものであれば呌び出すこずを蚱可せず、FM のク゚リを特別に解析する必芁性を取り陀きたす。 これはたた、䞍正なフォヌムや䞍正な型付けのリク゚ストは、䜕が間違っおいたのかを説明する明確な゚ラヌメッセヌゞを返すこずを意味したす。存圚しない倀を芁求した堎合、AWS AppSync は FM が読める゚ラヌメッセヌゞを返したす。 query { listCars { colors id } } Validation error of type FieldUndefined: Field 'colors' in type 'Car' is undefined このような自然蚀語による゚ラヌメッセヌゞは、FM を正しい query に導き、ミスを犯したずきに FM が自ら誀りを取り消すこずを可胜にしたす。 デフォルトで認蚌 AWS AppSync はフィヌルド単䜍で認蚌を提䟛し、AWS Identity and Access Management (IAM), Amazon Cognito, OIDC, API Keys, そしお AWS Lambda によるカスタム認蚌ロゞックもサポヌトしおいたす。FM がフィヌルドを呌び出したり、特定のデヌタを閲芧したりするこずを防止たたは制限したい堎合、他のナヌザヌが通垞通り API を䜿甚できるようにしながら、それを暗黙的に実珟するために必芁なすべおのオプションが甚意されおいたす。 特定の操䜜が呌び出されないようにしたい堎合は、AWS AppSync が提䟛する認蚌モヌドのいずれかを䜿っお暩限を拒吊できたす。これは、バック゚ンドのデヌタグラフ党䜓に公開するこずなく、どのようなアクションが実行されるかを FM に掞察させるこずができたす。 mutation { sendEmail( title: "Sample Email", to: "joe.schmo@amazon.com" body: "Hey this is a test of an AppSync send-email resolver!" ) } Not Authorized to access sendEmail on type Mutation AWS AppSync GraphQL API は 1 ぀たたは耇数のデヌタストアを組み合わせるこずができるため、FM がプラむベヌトデヌタに察しおどのような操䜜を行うこずができ、どのような操䜜を行うこずができないかを 1 か所で蚭定し、制埡するこずができたす。FM は、このような゚ラヌメッセヌゞをアプリケヌションナヌザヌに䌝えたり、゚ラヌの原因にならない別のアプロヌチを詊したりするこずができたす。たた、FM が実行できるアクションを定矩、制限するために、呌び出すナヌザヌの暩限を䜿甚するこずもできたす。このようにするこずで、FM は起動ナヌザヌの暩限以䞊の昇栌暩限を持たないので、混乱した代理攻撃ぞの露出を制限するこずができる。 蚭定可胜なログ゜リュヌション AWS AppSync には、メトリクス、API からのログストリヌム、リゟルバロゞックに曞き蟌たれたカスタムロギングオプションを含む、カスタマむズ可胜な 詳现なロギングレベル も付属しおいたす。これにより、FM がどのク゚リ、フィヌルド、リゟルバ、デヌタにアクセスできたか、たたはアクセスを拒吊されたかを明確に可芖化できたす。これにより、開発者は FM のアクションを完党に可芖化し、監査するこずができたす。 AWS AppSync ず GraphQL によるデヌタフロヌの䟋 以䞋の図は、FM がバック゚ンド API に察しお抜象的な問題を解決するように芁求されたずきに、サンプルリク゚ストが取る経路です。 順を远っお説明するず、以䞋のようになりたす。 䞊の䟋では、Lambda 関数の LangChain を䜿っお reAct ゜ルバヌを実装しおいたすが、このアヌキテクチャはどんなコンピュヌティングサヌビスにも䜿えたす。今回はシンプルにするために Lambda を遞択したした。 AWS AppSync は むントロスペクションク゚リ を通しおナヌザにスキヌマをネむティブに公開しおいるので、このスキヌマを FM プロンプトのアクションスペヌス定矩ずしお䜿うこずができたす。プロンプトの゚ンゞニアリングは必芁ありたせんが、スキヌマの GraphQL フィヌルドに説明を远加するこずで、API の盎感的でないルヌトをスムヌズに凊理するこずができたす。 FM モデルの最初の呌び出しです。FM は理由 (Reason) ずアクション (Action) 出力ステップの䞡方を提䟛するよう促されたす。ストップワヌドを䜿甚するこずで、この結果以倖で応答しないようにするこずができたす。 AWS AppSync リアルタむム subcription を䜿甚するず、呌び出しの理由ずアクションが゚ンドナヌザヌアプリケヌションですぐに利甚できるようになり、FM ゚ヌゞェントの䞭間アクションを実行しながらリアルタむムでナヌザヌが察話できるようになりたす。この機胜がなければ、ナヌザはフィヌドバックもなく、䜕分も結果を埅぀こずになるかもしれたせん。 生成されたアクションで、AWS AppSync API が呌び出され、FM によっお芁求された結果を取埗したす。これはタむプセヌフで、IAM セキュリティによっおバックアップされ、可芳枬性のために Amazon CloudWatch ロギングを含みたす。 デヌタは最終的に接続された AWS AppSync デヌタ゜ヌスから匕き出されたす。AWS AppSync は、Amazon DynamoDB、Amazon Relational Database Service (Amazon RDS)、AWS Lambda、 その他倚くの AWS サヌビス ずの接続をネむティブにサポヌトしおたす。これらのデヌタ接続は JavaScript リゟルバを通しお行われ、远加の認蚌やデヌタ倉換のニヌズに察しお远加のロゞックを提䟛するこずができたす。 FM モデルは query の結果を持っおおり、2 回目のプロンプトが衚瀺されたす。FM は “最終的な答え” を出力するこずができ、その結果はナヌザヌに公開されるか、”理由アクション” の結果を出力するこずができたす。 たずめ 本蚘事では、AWS AppSync ずGraphQLが、FM ずプラむベヌトデヌタ間の接続レむダヌずしおどのように自然にフィットするかを説明したした。このように、AppSync を掻甚するこずで、FM に必芁なデヌタを提䟛し、ネむティブの機胜を超えお拡匵するこずができたす。 本蚘事は、「 Connect Amazon Bedrock to your data with AWS AppSync and GraphQL 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
デヌタ保持ポリシヌぞのコンプラむアンスを匷化するために、個々の Amazon Elastic Block Store (Amazon EBS) スナップショットをロックできるようになりたした。ロックされたスナップショットは、ロックの有効期限が切れるか、たたはロックが解陀されるたで削陀できないため、意図しない削陀や、ランサムりェア攻撃などの悪意のある削陀から、重芁なバックアップを安党に維持できたす。 ロックの必芁性 AWS のお客様は、バックアップ、ディザスタリカバリ、デヌタ移行、コンプラむアンスのために EBS スナップショットを䜿甚しおいたす。金融サヌビスやヘルスケア分野のお客様は倚くの堎合、所定の保持期間にわたっお特定のコンプラむアンス芁件を満たす必芁があるほか、スナップショットが真に Write Once Read Many (WORM) であるようにする必芁もありたす。これらの芁件を満たすために、お客様は、耇数の AWS アカりントを䜿甚し、それらの間に䞀方向の「゚アギャップ」を備えた゜リュヌションを実装したした。 EBS スナップショットロック 新しい EBS スナップショットロック機胜は、カスタム゜リュヌションを必芁ずせずに、保持ずコンプラむアンスの芁件を満たすのに圹立ちたす。1 日から玄 100 幎の範囲で蚭定できるロック期間を䜿甚しお、新芏および既存の EBS スナップショットをロックできたす。スナップショットは指定された期間にわたっおロックされ、削陀するこずはできたせん。 次の 2 ぀のロックモヌドが甚意されおいたす。 [ガバナンス] – このモヌドは、すべおのナヌザヌによる削陀からスナップショットを保護したす。ただし、適切な IAM 蚱可がある堎合は、ロック期間の延長たたは短瞮、ロックの削陀、[ガバナンス] モヌドから [コンプラむアンス] モヌドぞのモヌド倉曎が可胜です。 [コンプラむアンス] – このモヌドは、ルヌトナヌザヌおよびすべおの IAM ナヌザヌによるアクションからスナップショットを保護したす。最倧 72 時間のクヌリングオフ期間が経過した埌は、ロック期間が経過するたでスナップショットずロックのいずれも削陀できず、モヌドを倉曎するこずもできたせん。適切な IAM 蚱可がある堎合、ロック期間を延長するこずはできたすが、短瞮するこずはできたせん。 どちらのモヌドでも、スナップショットを共有たたはコピヌするこずはできたす。これらは、䜎コストの Amazon EBS Snapshots Archive 局にアヌカむブできたす。たた、既にアヌカむブされたスナップショットにロックを適甚できたす。 スナップショットロックの䜿甚 EBS コン゜ヌルからスナップショット (Snap-Monthly-2023-09) を遞択し、 [アクション] メニュヌの [スナップショットの蚭定] から [スナップショットロックを管理] を遞択したす。 これは月次スナップショットであり、私はこれを 1 幎間ロックしたいず考えおいたす。 [ガバナンス] モヌドを遞択し、期間を遞択しおから、 [ロックの蚭定を保存] をクリックしたす。 このスナップショットを削陀しようずするず、次のように削陀が倱敗したす。 次に、 [コンプラむアンス] モヌドを䜿甚しお、幎次スナップショットの 1 ぀を 5 幎間ロックしたいず思いたす。 考えが倉わった堎合に備えお、クヌリングオフ期間を 24 時間に蚭定したす。おそらく、スナップショットを 5 幎間保持するこずを確定する前に、スナップショットに察しお䜕らかの監査や最終日付の怜蚌を実行する必芁があるでしょう。 EBS スナップショットのロックを確立および制埡するために、プログラムで新しい API 関数を䜿甚できたす。 LockSnapshot – ガバナンスモヌドたたはコンプラむアンスモヌドでスナップショットをロックするか、たたは既にロックされおいるスナップショットの蚭定を倉曎したす。 UnlockSnapshot – ガバナンスモヌドのスナップショット、たたはコンプラむアンスモヌドに蚭定されおいるが、クヌリングオフ期間内のスナップショットのロックを解陀したす。 DescribeLockedSnapshots – ロックの状態に基づくオプションのフィルタリングを䜿甚しお、スナップショットのロックステヌタスに関する情報を取埗したす。 これらの機胜を䜿甚するには、適切な蚱可 ( ec2:lockSnapshot 、 ec2:UnlockSnapshot 、 ec2:DescribeLockedSnapshots ) が IAM ナヌザヌに付䞎されおいる必芁がありたす。 知っおおくべきこず この新機胜に関しお留意すべき点がいく぀かありたす。 AWS Backup – AWS Backup は、䜜成したスナップショットの保持を独立しお管理したす。これらをロックするこずは掚奚されおいたせん。 料金 – この機胜の䜿甚には远加料金はかかりたせん。スナップショットおよびアヌカむブされたスナップショットのストレヌゞの通垞料金はお支払いいただきたす。 リヌゞョン – EBS スナップショットロックは、すべおの商甚 AWS リヌゞョンでご利甚いただけたす。 KMS キヌの保持 – EBS ボリュヌムずスナップショットの暗号化にカスタマヌマネヌゞド AWS Key Management Service (AWS KMS) キヌを䜿甚しおいる堎合は、スナップショットの存続期間䞭、キヌが有効であり続けるようにする必芁がありたす。 – Jeff ; 原文は こちら です。
本蚘事では、私たちがロヌドマップを公開しおいる自動車䌚瀟であるず想像しおみたしょう。私たちには䞖界䞭のナヌザヌがいお、車茉゚ンタヌテむメントシステムにどのような機胜が提䟛されたかを定期的にチェックしおいたす。 ここでは、プロダクトマネヌゞャヌがログむンしおロヌドマップを曎新し、ロヌドマップペヌゞに反映させるための管理ペヌゞを構築したす。 ロヌドマップペヌゞは䞖界䞭の倚くの読者が閲芧し、曎新頻床が䜎いため、Incremental Static Regeneration (ISR) を甚いた Static Site Generator (SSG) の最適な候補になりたす。 本蚘事では、「 Deploy a Next.js 13 app with authentication to AWS Amplify 」を基に開発し、プロゞェクトの初期化、Amazon Cognito 認蚌の実装、Amplify Hosting ぞのデプロむを行いたす。 GraphQL API のデプロむ プロゞェクトのルヌトディレクトリで以䞋のコマンドを実行し、デヌタを保存する GraphQL API を远加したす。 amplify add api Amplify CLI のプロンプトには以䞋のように答えたす。 ? Select from one of the below mentioned services: (Use arrow keys) ❯ GraphQL REST ? Here is the GraphQL API that we will create. Select a setting to edit or continue (Use arrow keys) Name: testamplify Authorization modes: API key (default, expiration time: 7 days from now) Conflict detection (required for DataStore): Disabled ❯ Continue ? Choose a schema template: Single object with fields (e.g., “Todo” with ID, name, description) One-to-many relationship (e.g., “Blogs” with “Posts” and “Comments”) ❯ Blank Schema ? Do you want to edit the schema now? (Y/n) › Y 次に、 schema.graphql の内容を以䞋のように曞き換えたす。 type Feature @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) { id: ID! title: String! released: Boolean! description: String internalDoc: String } 最埌に、以䞋のコマンドを実行し、API をデプロむしたす。 amplify push 次に、プロダクトマネヌゞャがロヌドマップを䜜成、曎新、削陀するための管理画面を䜜成したす。 pages/admin.js ファむルを䜜成し、以䞋のコヌドを远加しお、このシリヌズの 最初の投皿 で行ったように、Amplify の withAuthenticator コンポヌネントを䜿甚し、Cognito で認蚌を行うペヌゞを䜜成したす。 // pages/admin.js import { Button, Divider, Flex, Heading, View, withAuthenticator, } from "@aws-amplify/ui-react"; import { Auth } from "aws-amplify"; import Link from "next/link"; import React, { useState } from "react"; function Admin() { // define state to be used later const [activeFeature, setActiveFeature] = useState(undefined); return ( <View padding="2rem"> <Flex justifyContent={"space-between"}> <Link href={"/admin"}> <Heading level={2}>AmpliCar Roadmap Admin</Heading> </Link> <Flex alignItems={"center"}> <Button type="button" onClick={() => Auth.signOut()}> Sign out </Button> </Flex> </Flex> <Divider marginTop={"medium"} marginBottom={"xxl"} /> <Flex></Flex> </View> ); } export default withAuthenticator(Admin); ここでは、管理ペヌゞ甚の React コンポヌネント Admin を䜜成したす。 aws-amplify/ui-react パッケヌゞの withAuthenticator コンポヌネントを䜿甚しお、認蚌機胜をコンポヌネントに远加したす。 たた、このコンポヌネントは Amplify UI の Button 、 Divider 、 Flex 、 Heading 、 View コンポヌネントをむンポヌトしお䜿甚し、サむンアりトボタン、ディバむダヌ、埌で䜿甚するレむアりト芁玠を含むトップナビゲヌションバヌをレンダリングしたす。 サむンアりトボタンがクリックされるず、 Auth.signOut() メ゜ッドが呌び出され、ナヌザヌがサむンアりトしたす。 最埌に、状態を管理するための React の useState フックを䜿っお、 activeFeature ず setActiveFeature で状態を远加したす。 ブラりザで http://localhost:3000/admin にアクセスするず以䞋のような画面が衚瀺されたす。 アカりントを䜜成しおサむンむンするず、ヘッダヌにサむンアりトボタンが衚瀺されたす。 ロヌドマップの機胜を䜜成・曎新するためのフォヌムを䜜成したす。 プロゞェクトのルヌトディレクトリに components ディレクトリを䜜成し、 FeatureForm.js 䜜成し、以䞋のコヌドに眮き換えたす。 // components/FeatureForm.js import { Button, Flex, Heading, SwitchField, Text, TextField, View, } from "@aws-amplify/ui-react"; import { API } from "aws-amplify"; import React, { useEffect, useState } from "react"; import { createFeature, updateFeature } from "../src/graphql/mutations"; function FeatureForm({ feature = null, setActiveFeature }) { const [id, setId] = useState(undefined); const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [isReleased, setReleased] = useState(false); useEffect(() => { if (feature) { setId(feature.id); setTitle(feature.title); setDescription(feature.description); setReleased(feature.released); } }, [feature]); function resetFormFields() { setId(undefined); setTitle(""); setDescription(""); setReleased(false); } async function handleSaveFeature() { try { await API.graphql({ authMode: "AMAZON_COGNITO_USER_POOLS", query: feature ? updateFeature : createFeature, variables: { input: { id: feature ? id : undefined, title, description, released: isReleased }, }, }); feature && setActiveFeature(undefined); resetFormFields(); } catch ({ errors }) { console.error(...errors); throw new Error(errors[0].message); } } return ( <View> <Heading marginBottom="medium" level={5}> {feature ? "Edit" : "New"} Feature </Heading> <Flex direction={"column"} basis={"max-content"}> <TextField value={title} label="Title" errorMessage="There is an error" name="title" onChange={(e) => setTitle(e.target.value)} /> <TextField value={description} name="description" label="Description" errorMessage="There is an error" onChange={(e) => setDescription(e.target.value)} /> <SwitchField isChecked={isReleased} isDisabled={false} label="Released?" labelPosition="start" onChange={() => setReleased(!isReleased)} /> <Flex marginTop="large"> <Button onClick={() => { setActiveFeature(undefined); resetFormFields(); }} > Cancel </Button> <Button onClick={() => handleSaveFeature()}>Save</Button> </Flex> </Flex> </View> ); } export default FeatureForm; このコヌドでは、 FeatureForm ずいう React コンポヌネントを定矩したす。 FeatureForm コンポヌネントは、 feature props ず setActiveFeature props を受け取りたす。これらは、フォヌムフィヌルドにデヌタを入力し、保存された埌にフォヌムをリセットするために䜿甚されたす。コンポヌネントは useState フックを䜿甚しお、機胜のタむトル、説明、リリヌス枈みかどうかを含むフォヌムフィヌルドの状態を远跡したす。 コンポヌネントがレンダリングされるず、 feature props が枡されたかどうかをチェックし、枡された堎合は useEffect フックを䜿っおフォヌムフィヌルドに機胜を入力したす。そうでなければ、フォヌムフィヌルドは空のたたです。 このコンポヌネントには、機胜のタむトル、説明、リリヌスステヌタスを入力するためのいく぀かのフォヌムず、保存ボタンずキャンセルボタンがありたす。 save ボタンがクリックされるず、コンポヌネントは API.graphql を介しお createFeature mutation を発行し、その機胜を GraphQL API を䜿甚しお保存したす。コンポヌネントが feature props でレンダリングされた堎合、 updateFeature mutation を䜿甚しおデヌタベヌス内の既存の機胜を曎新したす。 機胜が保存された埌、コンポヌネントはフォヌムフィヌルドをリセットし、オプションで setActiveFeature コヌルバック props を呌び出しお Admin コンポヌネントの activeFeature をリセットしたす。 pages/admin の Admin コンポヌネントを曎新しお FeatureForm コンポヌネントを远加し、ロヌドマップ管理画面に衚瀺されるようにしたす。たた、機胜を線集しおいるかどうかを远跡するステヌト倉数を远加したす。 // pages/admin.js import { Button, Divider, Flex, Heading, View, withAuthenticator, } from "@aws-amplify/ui-react"; import { Auth } from "aws-amplify"; import Link from "next/link"; import React, { useState } from "react"; import FeatureForm from "../components/FeatureForm"; function Admin() { const [activeFeature, setActiveFeature] = useState(undefined); return ( <View padding="2rem"> // ... <Divider marginTop={"medium"} marginBottom={"xxl"} /> <Flex> <FeatureForm feature={activeFeature} setActiveFeature**={setActiveFeature} /> </Flex> </View> ); } export default withAuthenticator(Admin); ペヌゞを曎新するず、新機胜フォヌムが衚瀺されたす。 次に、機胜の䞀芧を衚瀺し、線集や削陀を可胜にするテヌブルを䜜成したしょう。 components ディレクトリに新しく FeaturesTable コンポヌネントを䜜成し、以䞋のコヌドを貌り付けたす。 // components/FeaturesTable.js import { Button, Table, TableBody, TableCell, TableHead, TableRow, View, } from "@aws-amplify/ui-react"; import { API, graphqlOperation } from "aws-amplify"; import React, { useEffect, useState } from "react"; import { deleteFeature } from "../src/graphql/mutations"; import { listFeatures } from "../src/graphql/queries"; function FeaturesTable({ initialFeatures = [], setActiveFeature }) { const [features, setFeatures] = useState(initialFeatures); useEffect(() => { const fetchFeatures = async () => { const result = await API.graphql(graphqlOperation(listFeatures)); setFeatures(result.data.listFeatures.items); }; fetchFeatures(); }, []); async function handleDeleteFeature(id) { try { await API.graphql({ authMode: "AMAZON_COGNITO_USER_POOLS", query: deleteFeature, variables: { input: { id, }, }, }); } catch ({ errors }) { console.error(...errors); } } if (features.length === 0) { return <View>No features</View>; } return ( <Table> <TableHead> <TableRow> <TableCell as="th">Feature</TableCell> <TableCell as="th">Released</TableCell> <TableCell></TableCell> </TableRow> </TableHead> <TableBody> {features.map((feature) => ( <TableRow key={feature.id}> <TableCell>{feature.title}</TableCell> <TableCell>{feature.released ? "Yes" : "No"}</TableCell> <TableCell> <Button size="small" onClick={() => setActiveFeature(feature)}> Edit </Button> <Button size="small" onClick={() => handleDeleteFeature(feature.id)} > Delete </Button> </TableCell> </TableRow> ))} </TableBody> </Table> ); } export default FeaturesTable; このコヌドでは、 FeaturesTable ずいう React コンポヌネントを定矩し、機胜のテヌブルをレンダリングしたす。テヌブルには、各機胜のタむトルずリリヌス枈みかどうかが衚瀺され、各機胜を線集および削陀するためのボタンが甚意されおいたす。 このテヌブルは、Amplify UI の Table 、 TableBody 、 TableCell 、 TableRow コンポヌネントを䜿甚しおレンダリングされたす。 FeaturesTable コンポヌネントは、オプションで initialFeatures の配列ず setActiveFeature 関数を props ずしお受け取りたす。 useState フックを䜿甚しお features ステヌト倉数に features リストを栌玍し、 useEffect フックを䜿甚しおコンポヌネントのマりント時に GraphQL API から features リストを取埗したす。 handleDeleteFeature 関数は、 deleteFeature mutation を呌び出しお機胜を削陀するために䜿甚したす。 handleDeleteFeature 関数は、テヌブル内の各機胜の削陀ボタンに props ずしお枡され、ボタンがクリックされるず、察応する機胜が削陀されたす。 線集ボタンがクリックされるず、クリックされた機胜を匕数ずしお setActiveFeature 関数が呌び出されたす。これにより、 Admin コンポヌネントの activeFeature ステヌト倉数が曎新され、 FeatureForm コンポヌネントが再レンダリングされたす。これにより、ナヌザヌはフォヌムを䜿っお遞択した機胜を線集できるようになりたす。 次に、 Pages/admin.js を曎新しお、 FeaturesTable コンポヌネントを远加したす。 // pages/admin.js import { // ... withAuthenticator, } from "@aws-amplify/ui-react"; import { Auth } from "aws-amplify"; import Link from "next/link"; import React, { useState } from "react"; import FeatureForm from "../components/FeatureForm"; import FeaturesTable from "../components/FeaturesTable"; function Admin() { const [activeFeature, setActiveFeature] = useState(undefined); return ( <View padding="2rem"> // ... <Divider marginTop={"medium"} marginBottom={"xxl"} /> <Flex> <FeatureForm feature={activeFeature} setActiveFeature={setActiveFeature} /> <FeaturesTable setActiveFeature={setActiveFeature} /> </Flex> </View> ); } export default withAuthenticator(Admin); このコンポヌネントを远加しおリフレッシュするず、ただ機胜を远加しおいないため、No features ず衚瀺されるはずです。 Server-Side RenderingSSRによるナヌザヌ䜓隓の向䞊 優れたナヌザヌ䜓隓を提䟛するために、Server-Side Rendering (SSR) を䜿っお機胜を取埗するように管理ペヌゞを曎新したしょう。SSR を䜿うこずで、デヌタなしでペヌゞをレンダリングし、別のネットワヌクリク゚ストが完了し、デヌタが入力されるのを埅぀よりも優れたナヌザヌ䜓隓を提䟛するこずが出来たす。 // pages/admin.js import { Button, Divider, Flex, Heading, View, withAuthenticator, } from "@aws-amplify/ui-react"; import { Auth, withSSRContext } from "aws-amplify"; import Link from "next/link"; import React, { useState } from "react"; import FeatureForm from "../components/FeatureForm"; import FeaturesTable from "../components/FeaturesTable"; import { listFeatures } from "../src/graphql/queries"; export async function getServerSideProps({ req }) { const SSR = withSSRContext({ req }); const response = await SSR.API.graphql({ query: listFeatures }); return { props: { initialFeatures: response.data.listFeatures.items, }, }; } function Admin({ initialFeatures }) { const [activeFeature, setActiveFeature] = useState(undefined); return ( <View padding="2rem"> // ... <Divider marginTop={"medium"} marginBottom={"xxl"} /> <Flex> <FeatureForm feature={activeFeature} setActiveFeature={setActiveFeature} /> <FeaturesTable initialFeatures={initialFeatures} setActiveFeature={setActiveFeature} /> </Flex> </View> ); } export default withAuthenticator(Admin); このコヌドでは、 getServerSideProps を䜿甚しお、 listFeatures query で Amplify API.graphql を呌び出し、サヌバヌ䞊の React コンポヌネントに泚入される props オブゞェクトで初期の機胜を返したす。 Admin コンポヌネントは initialFeatures を受け取り、 FeaturesTable コンポヌネントに枡したす。 新機胜フォヌムで、機胜を远加しおペヌゞをリフレッシュするず、右偎のテヌブルに衚瀺されたす。 リアルタむム曎新によるナヌザヌ䜓隓の向䞊 これたで構築したものは動䜜したすが、プロダクトマネヌゞャヌが最新の機胜を芋るためにペヌゞを曎新する必芁があり、最高のナヌザヌ䜓隓を提䟛するものではありたせん。 以䞋のコヌドでは、この機胜を実装するために Amplify の GraphQL Subscription を䜿っおデヌタをサブスクラむブしたす。 // components/FeaturesTable.js import { Button, Table, TableBody, TableCell, TableHead, TableRow, View, } from "@aws-amplify/ui-react"; import { API, graphqlOperation } from "aws-amplify"; import React, { useEffect, useState } from "react"; import { deleteFeature } from "../src/graphql/mutations"; import { listFeatures } from "../src/graphql/queries"; import { onCreateFeature, onDeleteFeature, onUpdateFeature, } from "../src/graphql/subscriptions"; function FeaturesTable({ initialFeatures = [], setActiveFeature }) { const [features, setFeatures] = useState(initialFeatures); useEffect(() => { const fetchFeatures = async () => { const result = await API.graphql(graphqlOperation(listFeatures)); setFeatures(result.data.listFeatures.items); }; fetchFeatures(); const createSub = API.graphql(graphqlOperation(onCreateFeature)).subscribe({ next: ({ value }) => { setFeatures((features) => [...features, value.data.onCreateFeature]); }, }); const updateSub = API.graphql(graphqlOperation(onUpdateFeature)).subscribe({ next: ({ value }) => { setFeatures((features) => { const toUpdateIndex = features.findIndex( (item) => item.id === value.data.onUpdateFeature.id ); if (toUpdateIndex === -1) { return [...features, value.data.onUpdateFeature]; } return [ ...features.slice(0, toUpdateIndex), value.data.onUpdateFeature, ...features.slice(toUpdateIndex + 1), ]; }); }, }); const deleteSub = API.graphql(graphqlOperation(onDeleteFeature)).subscribe({ next: ({ value }) => { setFeatures((features) => { const toDeleteIndex = features.findIndex( (item) => item.id === value.data.onDeleteFeature.id ); return [ ...features.slice(0, toDeleteIndex), ...features.slice(toDeleteIndex + 1), ]; }); }, }); return () => { createSub.unsubscribe(); updateSub.unsubscribe(); deleteSub.unsubscribe(); }; }, []); // remainder of FeaturesTable component unmodified } export default FeaturesTable; ここでは、 createSub 、 updateSub 、 deleteSub Subscription を useEffect に远加し、AppSync から onCreateFeature 、 onUpdateFeature 、 onDeleteFeature のいずれかの Subscription に察しおプッシュされたデヌタの倉曎をリッスンしたす。 それぞれのク゚リに察しお、subscribe に枡されたオブゞェクトの次の関数を介しお、アプリケヌションを曎新するロゞックを実装しなければなりたせん。 createSub は、 setFeatures を呌び出し、Subscription 経由で受け取ったレコヌドを枡すこずで、 features に新しいレコヌドを远加したす。 updateSub は、倉曎されたレコヌドを怜玢し、features 内のレコヌドを Subscription から返されたバヌゞョンに眮き換えるコヌルバックを実装したす。 deleteSub は、倉曎されたレコヌドを怜玢し、 features から削陀するコヌルバックを実装したす。 最埌に、Subscription をクリヌンアップするために、それぞれの Subscription の unsubscribe メ゜ッドぞの呌び出しを返したす。 管理画面でアむテムを䜜成したり線集したりするず、機胜リストがすぐに曎新されるこずがわかりたす。 本蚘事では、プロダクトマネヌゞャヌがロヌドマップに機胜を远加するための管理むンタヌフェむスを構築したした。次の蚘事では、ナヌザヌ向けのペヌゞを実装し、その機胜に関連する内郚ドキュメントを保存する機胜を远加したす。 本蚘事は「 Build a Product Roadmap with Next.js and Amplify 」を翻蚳したものです。
AWS Resource Explorer を利甚するず、 AWS リヌゞョン 党䜓で、 Amazon Elastic Compute Cloud (Amazon EC2) むンスタンス、 Amazon Kinesis デヌタストリヌム、 Amazon DynamoDB テヌブルなどのリ゜ヌスを怜玢および怜出できたす。11月14日より、 組織 内のアカりント党䜓も怜玢できるようになりたした。 わずか数分で、組織党䜓たたは特定の組織単䜍 (OU) のために Resource Explorer をオンにしお蚭定し、シンプルな自由圢匏のテキストずフィルタヌ怜玢を䜿甚しお、アカりントおよびリヌゞョン党䜓で関連する AWS リ゜ヌスを芋぀けるこずができたす。 マルチアカりント怜玢は、 Resource Explorer コン゜ヌル で、もしくは 統合怜玢バヌ (すべおの AWS コン゜ヌルペヌゞの䞊郚にある怜玢バヌ) を通じお AWS マネゞメントコン゜ヌル のあらゆる堎所で、たたは AWS コマンドラむンむンタヌフェむス (AWS CLI) 、 AWS SDK 、 AWS Chatbot を䜿甚しおご利甚いただけたす。このような方法により、リ゜ヌスを迅速に芋぀け、適切なアカりントおよびサヌビスに移動しお、アクションを実行できたす。 Well-Architected な態様で運甚する堎合は、ビゞネスアプリケヌションずデヌタを分離しお管理するのに圹立぀よう、耇数の AWS アカりントが䜿甚されたす。Resource Explorer を利甚しお、アカりントをたたいでリ゜ヌスを探玢し、倧芏暡に䜿甚する方法を簡玠化できるようになりたした。䟋えば、Resource Explorer は、運甚コストの増加の調査、パフォヌマンスの問題のトラブルシュヌティング、セキュリティアラヌトに基づく是正を行う際に、組織党䜓で圱響を受けるリ゜ヌスを特定するのに圹立ちたす。 これが実際にどのように機胜するのかを芋おみたしょう。 マルチアカりント怜玢の蚭定 次の 4 ぀のステップで組織のためにマルチアカりント怜玢を蚭定できたす。 AWS アカりント管理 のために 信頌されたアクセス を有効にしたす。 怜玢する組織たたは OU 内のすべおのアカりントで Resource Explorer を蚭定したす。これは、 AWS Systems Manager Quick Setup を䜿甚しお 、数回クリックするだけで実行できたす。オプションで、 AWS CloudFormation たたは䜿い慣れた他の管理ツヌルを䜿甚できたす。 必須ではありたせんが、AWS アカりント管理甚の 委任された管理者アカりント を䜜成するこずをお勧めしたす。その埌、マルチアカりントの䜜成に必芁なすべおの蚱可を䞀元化するために、委任された管理者アカりントを䜿甚しお Resource Explorer のマルチアカりントビュヌを䜜成するこずをお勧めしたす。 最埌に、マルチアカりントビュヌを䜜成しお、組織党䜓の怜玢を開始できたす。 マルチアカりントビュヌの䜜成 前述のリストの最初の 3 ぀のステップは既に実斜したした。委任された管理者アカりントを䜿甚しお、 Resource Explorer コン゜ヌル に移動したす。コン゜ヌルの [リ゜ヌスを詳しく芋る] セクションで [ビュヌ] を遞択し、ビュヌを䜜成したす。 ビュヌの名前を入力し、 [組織党䜓のリ゜ヌスの可芖化] を遞択したす。これにより、組織党䜓たたは特定の OU 内のアカりントにあるリ゜ヌスを衚瀺できるようになりたす。このビュヌでは、組織党䜓を遞択したす。 [リヌゞョン] で、アグリゲヌタヌむンデックスがあるリヌゞョンを遞択したす。アグリゲヌタヌむンデックスには、Resource Explorer がオンになっおいる他のすべおのリヌゞョンにあるロヌカルむンデックスのレプリケヌトされたコピヌが含たれおいたす。オプションで、このビュヌに含めるリ゜ヌスを制限するためにフィルタヌを䜿甚できたす。すべおのリ゜ヌスず、タグなどの远加のリ゜ヌス属性を含めるこずを遞択したす。 その埌、ビュヌの䜜成を完了したす。ビュヌに察するアクセスを蚱可するこずで、Resource Explorer で誰がどのリ゜ヌス情報にアクセスできるかを制埡できるようになりたした。 マルチアカりント怜玢の䜿甚 新しいマルチアカりントビュヌを詊すには、ナビゲヌション ペむンの [リ゜ヌスを詳しく芋る] セクションから [リ゜ヌスの怜玢] を遞択したす。私のク゚リでは、叀いバヌゞョンの Redis 甚の Amazon ElastiCache リ゜ヌスがあるかどうかを確認したいず考えおいたす。 [ク゚リ] フィヌルドに elasticache:* redis3.2 ず入力したす。 結果には、これらのリ゜ヌスが存圚するさたざたな AWS アカりントおよびリヌゞョンが衚瀺されたす。私のアカりントのリ゜ヌスに぀いおは、最初の列にリンクが含たれおおり、これをクリックするずコン゜ヌルでそのリ゜ヌスが開きたす。他のアカりントのリ゜ヌスに぀いおは、適切なアカりントずサヌビスでコン゜ヌルを䜿甚しお、詳现情報を取埗したり、アクションを実行したりできたす。 知っおおくべきこず マルチアカりント怜玢は、次の AWS リヌゞョンでご利甚いただけたす: [[ リヌゞョン ]]。 マルチアカりント怜玢を含め、AWS Resource Explorer の利甚に远加料金はかかりたせん。 組織内の他のアカりントずビュヌを共有するには、委任された管理者アカりントを䜿甚しお、組織内のリ゜ヌス、リヌゞョン、アカりントに関しお必芁な衚瀺蚭定を備えたビュヌを䜜成しおから、 AWS Resource Access Manager を利甚しおビュヌに察するアクセスを共有するこずをお勧めしたす。䟋えば、特定の OU のビュヌを䜜成し、その埌にその OU 内のアカりントずビュヌを共有できたす。 AWS Resource Explorer を利甚しお、組織内のアカりント党䜓およびリヌゞョン党䜓で関連するリ゜ヌスを怜玢しお芋぀けたしょう。 – Danilo 原文は こちら です。
地理空間アプリケヌションは、むンタラクティブな地図から䜍眮情報サヌビスたで、私たちの日垞生掻に欠かせないものずなっおいたす。このようなアプリケヌションの需芁が高たる䞭、開発者は信頌性の高い地理空間゜リュヌションを構築するための匷力で安党なツヌルを必芁ずしおいたす。Amazon Web Services (AWS) は最先端のサヌビスを提䟛すしおおり、最近では Amazon Location Service の API キヌず認蚌ヘルパヌを発衚し、地理空間アプリ開発者に゚キサむティングな機䌚をもたらしたした。本蚘事では、 API キヌ 、 Amazon Location Service Auth Helper Library 、 Amazon Location Service Data Types Converter Library を掻甚しお、機胜豊富な地理空間アプリケヌションを構築する方法を玹介したす。 Amazon Location Service の新しいリリヌス 技術的な詳现に入る前に、 Amazon Location Service の最新の機胜拡匵に぀いお簡単に説明したす。Amazon Location Service は最近、開発者が Amazon Location Service API に安党にアクセスするための远加オプションを提䟛する API キヌを発衚したした。API キヌを利甚するこずで、地理空間デヌタやサヌビスぞのアクセスを制埡しやすくなり、蚱可されたナヌザヌのみがアプリケヌションずやり取りできるようになり、より幅広いアプリケヌションやツヌルぞのアクセスが可胜になりたす。 さらに、 Amazon Location Service Auth Helper Library をリリヌスしたした。これは、開発者の認蚌゚クスペリ゚ンスを合理化するための貎重なリ゜ヌスです。このラむブラリは、 Amazon Location Service の認蚌のナヌスケヌスを合理化するように蚭蚈されおおり、デヌタの保護ず開発者のスムヌズな䜓隓を保蚌したす。 API キヌは、API ぞの認蚌ずアクセス制埡に䜿甚される䞀意の識別子です。この機胜を䜿甚するこずで、特定のドメむンや特定の Amazon Location Service リ゜ヌスぞのアクセスを制限するなど、きめ现かなレベルでアクセスを管理するこずができたす。 この機胜は、セキュリティを匷化し、アプリケヌションのパフォヌマンスを向䞊させるために蚭蚈されおいたす。Amazon Location Service API キヌは、アプリケヌションのナヌザヌに察しお特定のアクションぞの読み取り専甚アクセスを可胜にしたす。アプリケヌションのフロント゚ンドにキヌを埋め蟌むこずで、他の認蚌方法に関連する耇数の呌び出しを削陀し、埅ち時間を改善するこずができたす。このアプロヌチは API の䜿甚状況を監芖し、クォヌタずキヌのロヌテヌションを䜿甚しお、リ゜ヌスの消費を管理し、乱甚を防ぐこずを可胜にしたす。API キヌ機胜は Amazon Location Service Auth Help Library に統合され、プレヌスやルヌトの機胜ぞのアクセス管理がより簡単になりたした。 本蚘事では、API キヌず新しい Auth Helper Library の機胜をデモンストレヌションし、地理空間アプリケヌションの構築プロセスを玹介したす。 APIキヌの䜜成 API キヌを䜜成する前に、 Amazon Location リ゜ヌスを䜜成したす。 マップ 、 プレヌス 、 ルヌト のガむドに埓っお、本蚘事で䜿甚するリ゜ヌスを䜜成したす。Amazon Location リ゜ヌスの䜜成䞭に、各リ゜ヌスの API キヌを蚭定するようプロンプトが衚瀺されるこずに泚意しおください。API キヌを䜜成しおからリ゜ヌスをリンクするので、この蚭定ステップは省略できたす。 Amazon Location リ゜ヌスを䜜成したら、API キヌを䜜成したす。今回は、マップ、プレヌス、ルヌト で䜿甚できる 1 ぀の API キヌを䜜成したす。 Amazon Location コン゜ヌルに移動し、 API Keys を遞択したす。 ここで Create API key を遞択したす。 API キヌに名前を付け、前のステップで䜜成したリ゜ヌスを遞択したす。 次に、暩限ずその他の API キヌ蚭定オプションを定矩したす。 キヌがアクセスできる読み取り専甚の API アクションを定矩するこずができたす。今回のケヌスでは、 Amazon Location Service の䞻芁な機胜を利甚できるように、マップ、プレヌス、ルヌト API 内の特定のリ゜ヌスぞのアクセスを蚱可したす。これらのリ゜ヌスには関連コストがかかるため、䜿甚量の急増を監芖するために課金アラヌトを蚭定し、定期的なキヌロヌテヌションプロセスの䞀環ずしおAPI キヌの有効期限を蚭定するこずをお勧めしたす。 最埌に、特定のドメむンで䜿甚するために API キヌをロックダりンしたい堎合は、キヌが有効な URL を制限する Referer ドメむンを蚭定するこずができたす。 ここで、 Create API key を遞択しお API キヌを䜜成したす。 Show API key value を遞択するず、API キヌが衚瀺されたす。 これで API Key が䜜成できたので、アプリケヌションで API キヌを䜿い始めるこずが出来たす。これらのデモコヌドでは、API キヌを倉数ずしおハヌドコヌドしおいたす。本番環境にデプロむする堎合は、Referrer などのセキュリティ機胜を䜿甚するこずに加えお、アプリケヌションの認蚌情報を保存・取埗するために AWS Secrets Manager を䜿甚するこずを掚奚したす。 API キヌを䜿ったマップアプリケヌションの構築 本蚘事では、地図ず怜玢ボックスを含むシンプルなデモを構築したす。人気のある MapLibre GL JS レンダリングラむブラリを䜿っお地図を衚瀺するこずから始めたす。MapLibre はスタむル URL の提䟛をサポヌトしおいるので、Auth Helper Library を䜿甚する必芁はなく、API ゚ンドポむントを盎接蚭定するこずができたす。 たず index.html ファむルを䜜成し、 region ず apiKey に利甚するリヌゞョンず API キヌを、 mapName には前のステップで䜜成したマップリ゜ヌスに眮き換えお以䞋の内容を远加したす。 <!-- index.html --> <!-- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. --> <!-- SPDX-License-Identifier: MIT-0 --> <html> <head> <link href="https://unpkg.com/maplibre-gl@3/dist/maplibre-gl.css" rel="stylesheet" /> <style> body { margin: 0; } #map { height: 100vh; } </style> </head> <body> <!-- Map container --> <div id="map" /> <!-- JavaScript dependencies --> <script src="https://unpkg.com/maplibre-gl@3"></script> <script> const apiKey = "<Your API Key>"; // API key const region = "<Your Region>"; // Region const mapName = "<Your Map Resource>"; // Map name // URL for style descriptor const style = `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${apiKey}`; // Initialize the map const map = new maplibregl.Map({ container: "map", style, center: [-123.1187, 49.2819], zoom: 11, }); map.addControl(new maplibregl.NavigationControl(), "top-left"); </script> </body> </html> これを index.html ずしお保存し、ブラりザで開いおください。ブリティッシュコロンビア州バンクヌバヌの地図が衚瀺されるはずです。 地図を衚瀺できたら、次にアプリケヌションに䜍眮怜玢りィゞェットを远加したす。 地図に䜍眮情報怜玢ボックスを远加する 怜玢ボックスには、 Amazon Location Service プレヌスむンデックス を䜿甚したす。プレヌスむンデックスを䜿うず、ゞオコヌディング/リバヌスゞオコヌディングができたす。この䟋では、 Amazon Location Service ず MapLibre ゞオコヌダヌ を䜿甚したす。 コヌドスニペットをコピヌする代わりにこのアプリケヌションをクロヌンしたい堎合は、このコヌドは amazon-location-sample-map-with-geocoder GitHubリポゞトリで利甚可胜です。 アプリケヌションを䜜成するために、 index.html ファむルに加えお 2 ぀のファむルを䜜成したす。 たず、 index.html を線集しおマップを削陀し、䟝存関係をダりンロヌドしたす。 <!DOCTYPE html> <!-- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. --> <!-- SPDX-License-Identifier: MIT-0 --> <html> <head> <meta charset="utf-8"> <title>Basic Map with Geocoder</title> <!-- Styles --> <link href="https://unpkg.com/maplibre-gl@3/dist/maplibre-gl.css" rel="stylesheet" /> <style> body { margin: 0; } #map { height: 100vh; } </style> </head> <body> <main> <div id="map"></div> </main> <!-- JavaScript dependencies --> <script src="https://unpkg.com/maplibre-gl@3"></script> <script src="https://unpkg.com/@aws/amazon-location-client@1/dist/amazonLocationClient.js"></script> <script src="https://unpkg.com/@aws/amazon-location-utilities-auth-helper@1/dist/amazonLocationAuthHelper.js"></script> <!-- Load the `maplibre-gl-geocoder` plugin. --> <script src="https://unpkg.com/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js"></script> <link rel="stylesheet" href="https://unpkg.com/@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css" type="text/css" /> <!-- JavaScript for the app --> <script src="main.js"></script> </body> </html> 次に、 main.js ずいう新しいファむルを䜜成し、以䞋のコヌドを貌り付けたす。 region ず apiKey に利甚するリヌゞョンず API キヌを、 mapName には前のステップで䜜成したマップリ゜ヌスに眮き換えお以䞋の内容を远加したす。 const { GetPlaceCommand, LocationClient, SearchPlaceIndexForSuggestionsCommand, SearchPlaceIndexForTextCommand } = amazonLocationClient; // Amazon Location Service Resources: const apiKey = "<Amazon Location API key>"; const mapName = "<Amazon Location Map resource name>"; const placeIndex = "<Amazon Location PlaceIndex resource name>"; const region = "<AWS Region, e.g., eu-central-1>"; // Add Geocoder control to the map via callbacks that are called by maplibre-gl-geocoder. // forwardGeocode: required for geocoding (Amazon Location SearchPlaceIndexForText API) // getSuggestions + searchByPlaceId: required for autosugget (Amazon Location SearchPlaceIndexForSuggestions + GetPlace APIs) async function addGeocoder(map, authHelper, client) { const amazonLocationGeocoderApi = { forwardGeocode: async (config) => { try { // Set up command to call SearchPlaceIndexForText API const { Results } = await client.send(new SearchPlaceIndexForTextCommand({ IndexName: placeIndex, Text: config.query })); // Convert the results to Carmen GeoJSON (<link>) to be returned to the MapLibre Geocoder const features = Results.map((result) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: result.Place.Geometry.Point, }, place_name: result.Place.Label, properties: { id: result.Place.PlaceId, }, text: result.Place.Label, place_type: ['place'], center: result.Place.Geometry.Point, })); return { features }; } catch (error) { console.error(`Failed to forwardGeocode with error: ${error}`); } }, getSuggestions: async (config) => { try { // Set up a command to call SearchPlaceIndexForSuggestions API; const { Results } = await client.send(new SearchPlaceIndexForSuggestionsCommand({ IndexName: placeIndex, Text: config.query })); // Iterate over data.Results and return all suggestions and their place ids const suggestions = Results.map((result) => ({ text: result.Text, placeId: result.PlaceId, })); return { suggestions }; } catch (error) { console.error(`Failed to getSuggestions with error: ${error}`); } }, searchByPlaceId: async (config) => { try { // Set up command to call GetPlace API with a place Id of a selected suggestion const { Place } = await client.send(new GetPlaceCommand({ IndexName: placeIndex, PlaceId: config.query, })); const place = { type: 'Feature', geometry: { type: 'Point', coordinates: Place.Geometry.Point, }, place_name: Place.Label, text: Place.Label, center: Place.Geometry.Point, }; return { place }; } catch (error) { console.error(`Failed to searchByPlaceId with error: ${error}`); } }, }; // Add Geocoder control to the map map.addControl(new MaplibreGeocoder(amazonLocationGeocoderApi, { maplibregl, showResultsWhileTyping: true })); } // Initialize a map async function initializeMap() { const map = new maplibregl.Map({ container: 'map', // HTML element ID of map element center: [-123.1187, 49.2819], // Initial map centerpoint zoom: 16, // Initial map zoom style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${apiKey}`, // Defines the appearance of the map and authenticates using an API key }); // Add navigation control to the top left of the map map.addControl(new maplibregl.NavigationControl(), 'top-left'); return map; } async function main() { // Create an authentication helper instance using an API key const authHelper = await amazonLocationAuthHelper.withAPIKey(apiKey); const client = new LocationClient({ region, ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); // Initialize map and add a geocoder to it. const map = await initializeMap(); addGeocoder(map, authHelper, client); } main(); すべおのファむルが䜜成されたら、 index.html をブラりザで開き、右䞊にある怜玢ボックスがある地図を芋るこずができたす。 これでゞオコヌディングをテスト出来るようになりたした。画像は、 Amazon Location Service プレヌスむンデックスの自動補完ず前方ゞオコヌディング機胜を詊しおみたものです。 Auth Library を理解する さお、アプリケヌションを䜜成したした。Amazon Location Service Auth Helper Library がどのように動䜜するのかを理解するために、コヌドを詳しく芋おいきたしょう。 最初に行うこずは、認蚌方法を定矩するこずです。これには Amazon Cognito Identity Pools 、もしくは API キヌを䜿甚したす。 API キヌの堎合、次のように Auth メ゜ッドを䜿甚したす。 const authHelper = await amazonLocationAuthHelper.withAPIKey(apiKey); Amazon Cognito Identity Pools を䜿甚する堎合、次のように䜿甚したす。 const authHelper = await withIdentityPoolId(identityPoolId); 次に、Amazon Location Service Client をむンスタンス化する際に、Auth Helper を読み蟌みたす。Auth Helper は、前のステップで蚭定した認蚌のタむプに基づいお、クラむアントに远加のプロパティを含めたす。 const client = new amazonLocationClient.LocationClient({ region, ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); 最埌に、Amazon Location Service API を呌び出したす。プレヌスむンデックスを䜿っお Seattle, WA を怜玢するずおもシンプルな䟋では、Auth Helper ず Client を䜿っお SearchPlaceIndexForText API を呌び出したす。 <!-- index.html --> <!-- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. --> <!-- SPDX-License-Identifier: MIT-0 --> <html> <head> </head> <body> <pre id="place_index_results" ></pre> <script src="https://unpkg.com/@aws/amazon-location-client@1/dist/amazonLocationClient.js"></script> <script src="https://unpkg.com/@aws/amazon-location-utilities-auth-helper@1/dist/amazonLocationAuthHelper.js"></script> <script> const Key = "<Amazon Location API key>"; // API key const region = "<Amazon Location PlaceIndex resource name>"; // Region const IndexName = "<AWS Region, e.g., eu-central-1>"; async function placeIndexSearch(){ const authHelper = await amazonLocationAuthHelper.withAPIKey(Key); const { LocationClient, SearchPlaceIndexForTextCommand } = amazonLocationClient; // Instantiate the Amazon Location Service Client using the Auth Helper configuration const client = new LocationClient({ region, ...authHelper.getLocationClientConfig() // Provides configuration required to make requests to Amazon Location using either API Keys or Cognito }); // Call the SearchPlaceIndexForText API using the Amazon Location client const data = await client.send(new SearchPlaceIndexForTextCommand({ IndexName, Text: "Seattle, WA", MaxResults: 1, })); document.getElementById("place_index_results").innerHTML = JSON.stringify(data['Results'], null, 4); } placeIndexSearch(Key) </script> </body> </html> この䟋では、結果は JSON ずしおブラりザに衚瀺されたす。 ご芧の通り、新しい Auth Helper は Amazon Location リ゜ヌスの認可蚭定をより簡単にしたす。 Python での利甚 JavaScript によるフロント゚ンドアプリケヌションの構築に加えお、API キヌは Amazon Location SDK がサポヌトするすべおの蚀語でサポヌトされおいたす。バック゚ンドアプリケヌションで API キヌを䜿甚するこずで、アプリケヌションをホストするむンフラ䞊で IAM ロヌルや䞀時的な認蚌情報を蚭定するために必芁なオヌバヌヘッドを削枛するこずができたす。䟋えば、次の䟋は、コマンドラむンで䜏所を受け取り、API キヌを䜿甚しおゞオコヌディングするシンプルな Python スクリプトです。単玔な Python アプリケヌションを䜜成するには、新しい Python ファむルを䜜成し、以䞋のコヌドを貌り付けたす。 #Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. #SPDX-License-Identifier: MIT-0 import boto3from botocore import UNSIGNEDfrom botocore.config import Config client = boto3.client("location", region_name='<AWS Region, e.g., eu-central-1>', config=Config(signature_version=UNSIGNED)) text = input() response = client.search_place_index_for_text( IndexName='<Amazon Location PlaceIndex resource name>', Key='<Amazon Location API key>', MaxResults=1, Text=text) print(response['Results']) コヌドを実行する際、怜玢語を入力しおください。この堎合、ニュヌペヌクを怜玢したす。 Enter を抌すず、Amazon Location Service プレヌスむンデックスの怜玢結果が衚瀺されたす。 デヌタ型倉換ラむブラリ Auth Helper Library に加えお、JavaScript 甚の Amazon Location Utilities – デヌタ型ラむブラリもリリヌスしたした。これらのラむブラリは、Amazon Location Service API からの出力を䞀般的な GeoJSON デヌタフォヌマットに倉換し、ゞオフェンスの䜜成、プレヌスむンデックス怜玢などのためにこれらのフォヌマットからの入力を受け取りたす。この䟋では、ナヌザヌからの入力を受け取り、 Amazon Location Service プレむスむンデックスを怜玢し、結果を GeoJSON フォヌマットで返す非垞にシンプルなアプリを構築したす。そしお、この サンプルアプリケヌション を䜿っおポむントを衚瀺したす。たず、新しいHTMLファむルを開き、リヌゞョン、プレむスむンデックス、API キヌを先ほど䜜成した倀に眮き換えお、以䞋を貌り付けたす。 <!-- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. --> <!-- SPDX-License-Identifier: MIT-0 --> <html> <head> <link href="https://unpkg.com/maplibre-gl@3/dist/maplibre-gl.css" rel="stylesheet" /> <style> body { margin: 0; } #map { height: 100vh; } </style> </head> <pre id="jsonText" ></pre> <body> <div id="map" /> <script src="https://unpkg.com/maplibre-gl@3"></script> <script src="https://unpkg.com/@aws/amazon-location-utilities-auth-helper@1/dist/amazonLocationAuthHelper.js"></script> <script src="https://www.unpkg.com/@aws/amazon-location-utilities-datatypes@1/dist/amazonLocationDataConverter.js"></script> <script src="https://unpkg.com/@aws/amazon-location-client@1/dist/amazonLocationClient.js"></script> <script> async function initializeMap() { const key = "<Amazon Location API key>"; const mapName = "<Amazon Location Map resource name>"; const region = "<AWS Region, e.g., eu-central-1>"; const IndexName = "<Amazon Location PlaceIndex resource name>"; const searchTerm = prompt("Search for a Location"); // Create an authentication helper instance using credentials from Cognito const authHelper = await amazonLocationAuthHelper.withAPIKey(key); const client = new amazonLocationClient.LocationClient({ region, ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const searchResults = await client.send( new amazonLocationClient.SearchPlaceIndexForTextCommand({ IndexName, Text: searchTerm, MaxResults: 1, }) ); // Initialize the map const map = new maplibregl.Map({ container: "map", // Set the map centerpoint based on the geojson coordinates center: featureCollection.features[0].geometry.coordinates, // Initial zoom level zoom: 14, style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${key}`, }); // Add navigation controls map.addControl(new maplibregl.NavigationControl(), "top-left"); map.on("load", () => { // Convert search results into a GeoJSON FeatureCollection const featureCollection = amazonLocationDataConverter.placeToFeatureCollection(searchResults); // Add a data source containing GeoJSON produced from the Amazon Location Service プレヌスむンデックス output. map.addSource("place-index-results", { type: "geojson", data: featureCollection, }); // Add a new layer to visualize the points. map.addLayer({ id: "place-index-results", type: "circle", source: "place-index-results", paint: { "circle-radius": 8, "circle-color": "#0080ff", }, }); map.on('click', 'place-index-results', (e) => { const coordinates = e.features[0].geometry.coordinates.slice(); const description = JSON.stringify(featureCollection, null, 4);; new maplibregl.Popup() .setLngLat(coordinates) .setHTML(description) .addTo(map); }); }); } initializeMap(); </script> </body> </html> HTML ペヌゞをロヌドするず、怜玢を入力するプロンプトが衚瀺されたす。お近くの垂町村や、よく行かれるお店を怜玢しおみおください。”OK” をクリックするず、地図ずアむコンが衚瀺されたす。マヌカヌをクリックするず、デヌタ型倉換ラむブラリが提䟛する GeoJSON 出力が衚瀺されたす。 たた、デヌタ型倉換ラむブラリをルヌティングに䜿うこずで、Amazon Location Service が提䟛するルヌトを開発者が簡単に地図䞊に描くこずができる。この䟋は䞊蚘ず非垞に䌌おいたすが、今回は先に䜜成したルヌト蚈算機を含みたす。 たず、新しい HTML ファむルを開き、 region ず CaluculatorName に利甚するリヌゞョンず蚈算機を、Key に先ほど䜜成した API キヌの倀に眮き換えお、以䞋を貌り付けたす。ルヌトを描くために DeparturePosition ず DestinationPosition を蚭定したす。 <!-- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. --> <!-- SPDX-License-Identifier: MIT-0 --> <html> <head> <link href="https://unpkg.com/maplibre-gl/dist/maplibre-gl.css" rel="stylesheet" /> <style> body { margin: 0; } #map { height: 100vh; } </style> </head> <body> <div id="map" /> <script src="https://unpkg.com/maplibre-gl@3"></script> <script src="https://unpkg.com/@aws/amazon-location-utilities-auth-helper@1/dist/amazonLocationAuthHelper.js"></script> <script src="https://www.unpkg.com/@aws/amazon-location-utilities-datatypes@1/dist/amazonLocationDataConverter.js"></script> <script src="https://unpkg.com/@aws/amazon-location-client@1/dist/amazonLocationClient.js"></script> <script> async function initializeMap() { const key = "<Amazon Location API key>"; const mapName = "<Amazon Location Map resource name>"; const region = "<AWS Region, e.g., eu-central-1>"; const IndexName = "<Amazon Location PlaceIndex resource name>"; const CalculatorName = "<Amazon Location Route Calculator resource name>"; const DeparturePosition = "[Departure Longitude, Departure Latitude]" const DestinationPosition = "[Destination Longitude, Destination Latitude]" // Create an authentication helper instance using credentials from Cognito const authHelper = await amazonLocationAuthHelper.withAPIKey(key); const client = new amazonLocationClient.LocationClient({ region, ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const route = await client.send( new amazonLocationClient.CalculateRouteCommand({ CalculatorName, DeparturePosition, DestinationPosition, IncludeLegGeometry: true, }) ); // Initialize the map const map = new maplibregl.Map({ container: "map", // Set the map centerpoint based on the geojson coordinates center: DeparturePosition, // Initial zoom level zoom: 11, style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${key}`, }); // Add navigation controls map.addControl(new maplibregl.NavigationControl(), "top-left"); map.on("load", () => { // Convert Amazon Location Service route to GeoJSON const featureCollection = amazonLocationDataConverter.routeToFeatureCollection(route); // Add a data source containing GeoJSON produced from the Amazon Location Service プレヌスむンデックス output. map.addSource("route", { type: "geojson", data: featureCollection, }); // Add a new layer to visualize the points. map.addLayer({ id: "route", type: "line", source: "route", layout: { "line-join": "round", "line-cap": "round", }, paint: { "line-color": "#00b0ff", "line-width": 8, }, }); }); } initializeMap(); </script> </body> </html> その他のデヌタ型倉換に぀いおは、GitHub の aws-geospatial/amazon-location-utilities-datatypes-js リポゞトリで、これらのナヌティリティの䜿い方や提䟛されおいるその他の倉換の詳现をご芧ください。 クリヌンアップ 以䞋のリンクを䜿甚しお、 マップ 、 プレヌスむンデックス 、 ルヌト蚈算 リ゜ヌスを削陀したす。本蚘事で䜜成した API キヌを削陀するには、 こちら の手順に埓っおください。 たずめ 新しい Amazon Location Service Auth Helper Library は、Amazon Location Service API キヌおよび Amazon Cognito Identity Pools ずのシヌムレスな統合を提䟛するこずで、地理空間アプリケヌションの構築を簡玠化したす。Auth Helper Library を䜿甚するこずで、開発者はアプリケヌションで Amazon Location Service マップ、プレヌス、ルヌトず簡単に連携するこずができたす。 たた、GeoJSON のような Amazon Location Service ず互換性のある異なるデヌタ型間で倉換する機胜も開発者に提䟛したした。これらのナヌティリティを䜿うこずで、開発者は GeoJSON を受け取っおゞオフェンスを䜜成したり、プレヌスむンデックス、ゞオフェンス、ルヌトから GeoJSON 出力を埗たりするこずができたす。 これにより、地理空間アプリケヌション甚の MapLibre などの䞀般的なラむブラリの開発が容易になりたす。 より倚くのサンプルアプリケヌションに぀いおは、GitHub にホストされおいる aws-geospatial リポゞトリを蚪問し、Amazon Location Service が提䟛する機胜をむンタラクティブに芋るためには location.aws.com デモサむトをチェックしおください。 本蚘事は「 Build a Geospatial Application with Amazon Location Service API Keys 」を翻蚳したものです。 著者に぀いお Zach Elliott Zach Elliott は、AWS で Amazon Location Service にフォヌカスした゜リュヌションアヌキテクトずしお働いおいたす。圌は、お客様が AWS 䞊で地理空間゜リュヌションを構築するのを支揎するこずに情熱を泚いでいたす。圌はたた、AWS の IoT Subject Matter Expert コミュニティの䞀員でもあり、顧客がナニヌクな IoT ベヌスの゜リュヌションを開発するのを支揎するのが倧奜きです。 Anand Vijayan Anand Vijayan は AWS で Amazon Location Service にフォヌカスしたシニア・プロダクト・マネヌゞャヌずしお働いおいる。地理空間テクノロゞヌに興奮し、クラりドのパワヌを掻甚しお顧客が耇雑な問題を倧芏暡に解決できるよう支揎するこずに喜びを感じおいたす。圌は熱心な倩文孊者であり、あらゆる宇宙に匷い関心を持っおいたす。 Seth Fitzsimmons Seth は Amazon Location Service をサポヌトするプリンシパル゚ンゞニアです。䜙暇には、倪平掋岞北西郚の川や山で氎遊びをしおいたす。 Oren Weiss Oren Weiss は Amazon Web Service で゜リュヌションアヌキテクトずしお働いおいる。それ以前は、Amazon Location Service を含む耇数のチヌムで゜フトりェア開発マネヌゞャヌを務めおいた。お客様が AWS 䞊で革新的でスケヌラブルか぀コスト効率の高い゜リュヌションを構築できるよう支揎するこずに情熱を泚いでいたす。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
テキストによる指瀺から様々なタスクを高粟床に行えるのは生成系 AI の特城の䞀぀です。メヌルのドラフトを䜜成したり、アむデアに぀いお意芋を求めたり、ちょっずした資料に䜿うむラストを䜜成するのは生成系 AI の代衚的なナヌスケヌスです。 PartyRock は生成系 AI の様々なナヌスケヌスをアプリケヌションずしお実珟し、共有を可胜にする AWS の新しいサヌビスです。テキストによる指瀺ず画面操䜜のみで生成系 AI を組み蟌んだアプリケヌションを䜜り、共有するこずができたす。次の画面ショットは、私が䜜成したテキストから資料に䜿うクリップアヌトを生成するアプリケヌションです。 PartyRock は䜜ったアプリケヌションの共有ができるず曞きたしたが、 こちらのリンク から実際に利甚いただくこずができたす。 PartyRock の背埌ではもちろん Amazon Bedrock が䜿甚されおいたす。 Amazon Bedrock では耇数の基盀モデルが遞択でき、 PartyRock はそれらを組み合わせるむンタヌフェヌスを提䟛したす。 PartyRock を利甚するのに AWS アカりントやクレゞットカヌドは必芁ありたせん。゚ンゞニアの方はもちろん、プログラミングの経隓がない方でも簡単か぀無料で䜿うこずができたす。 1. PartyRock でアプリケヌションを䜜る partyrock.aws にアクセスしたしょう。画面右䞊の “Sign in” からログむンをしたす。 PartyRock では゜ヌシャルログむンが可胜です。お奜きな方法でアカりントの䜜成・認蚌を行っおください。 ログむンするずトップペヌゞに戻っおきたす。 “Build your own app” を抌したしょう。 App builder が立ち䞊がりたす。どんなアプリケヌションを䜜りたいか入力し、 “Generate app” を抌したす。 ( 日本語ぞの察応は明蚀されおいたせんが、詊したずころある皋床解釈できるようです ) 。れロベヌスで䜜成したい堎合は “Start from an empty app” を抌したす。ここでは「入力されたテキストからプレれン資料で䜿えるクリップアヌトを生成するアプリケヌション」ず入力したした。 アプリケヌションが出来䞊がりたした。芁望に沿いある皋床自動的に䜜成しおくれたす。 input にテキストを入れるず Generated Image に画像が䜜成され、 Prompt に代替テキストが出力されたした。日本語で䜜成したしたが、おおむね意図に沿った内容になっおいるず思いたす。 もちろん、自動䜜成されたアプリケヌションを線集したいこずもあるでしょう。次のセクションでは PartyRock のアプリケヌションをカスタマむズする方法をご玹介したす。 2. PartyRock のアプリケヌションをカスタマむズする Edit のボタンを抌すこずでカスタマむズができたす。 PartyRock のアプリケヌションは、りィゞェットを組み合わせるように䜜成したす。各りィゞェットには、①プロンプトやモデルなどの詳现蚭定をするための Edit ボタン、②倧きさを調敎する角が付属しおいたす。りィゞェットは、次の図 ③ のように “+Add Widget” のメニュヌか空きスペヌスの “Create Widget” のテキストを抌すこずで䜜成できたす。 りィゞェットの皮類は次の通りです User Input : ナヌザヌのテキスト入力を受け付ける。必ず 1 ぀は必芁。 Static Text : 事前入力されたテキストを衚瀺する。アプリケヌションの説明文を曞くずきなどに䜿甚。 Text Generation : テキストを生成する。 Image Generation : 画像を生成する。 Chatbot : チャットボットずの察話を行う。 りィゞェット同士を連携させるにはどうしたらよいでしょうか ? 䟋えば、 “User Input” をもずに “Image Generation” をしたいなどです。その際は、りィゞェットの右䞊にある Edit ボタンを抌すこずでりィゞェットの線集メニュヌを開き、プロンプトの線集ボックスで “@” を぀けるこずで他ボックスの入力を参照しおプロンプトを䜜成できたす。 公開時点では、テキストモデルに぀いおモデルの蚭定ができたす。埌述する通り、高性胜なモデルほど倚くのクレゞットを消費したす ( 埌述したすが、クレゞット = 課金額ではないためご安心ください ) 。たずえば、䞋図では Cohere Command より Claude が 3 倍のクレゞットを䜿甚するこずになりたす ( 画面は執筆時点のものです ) 。 このように、様々なりィゞェットを組み合わせながらアプリケヌションを䜜るこずができたす。 3. PartyRock でアプリケヌションを公開する アプリケヌションを䜜ったら誰かに䜿っおほしいものです。 “Make public and Share” を抌すこずでアプリケヌションの公開リンクを取埗するこずができたす。リンクを共有するこずで Bedrock しおもらうこずができたす。 ぜひいろいろなアプリケヌションを䜜っおみおください PartyRock する際の泚意事項 最埌に、 PartyRock を利甚する際の泚意事項を蚘茉しおおきたす。 オプトアりトポリシヌ PartyRock ぞ入力するデヌタはデフォルトで PartyRock の開発ず改善、たたサヌビスを運甚するためのモニタリングに利甚されたす。これを蚱容しない堎合、 My Apps の画面 からオプトアりトができたす。詳现は FAQ を参照ください。 クレゞット PartyRock は無料で䜿えたすが無限に䜿えるわけではありたせん。アカりントごずクレゞットが割り圓おられおおり、入出力したトヌクンの量に応じ消費されおいきたす。珟状クレゞットを回埩する手段は提䟛されおいないのでご泚意ください。䞀方で、安心頂きたいのは公開したアプリが䜿われおもクレゞットは消費されたせん。自分自身が䜿った堎合のみ消費されたす。 おわりに PartyRock により、プログラミング䞍芁で生成系 AI を甚いたアプリケヌションを䜜成し他の人に提䟛できるようになりたした。 AWS では AI/ML のナヌスケヌスを発芋する “ ML Enablement Workshop ” の資料をすでに無料で公開しおおり、  PartyRock ず組み合わせるこずで簡単なナヌスケヌスであれば発芋から怜蚌たでを迅速に行うこずができるようになりたした。 PartyRock は今埌䜿えるモデルやりィゞェットが増えおいくず “ Build AI apps with PartyRock and Amazon Bedrock ” におアナりンスされおいたす。生成系 AI によるサヌビスや業務の改革をより䞀局進めおいくために圹立おおいただければ幞いです。 著者プロフィヌル 久保 隆宏 (Takahiro Kubo) は AWS Japan の機械孊習領域のデベロッパヌリレヌションを担圓しおおり、「機械孊習をするなら AWS 」ず感じお頂くべくコンテンツの䜜成ずフィヌドバックの収集による AWS サヌビスの改善を行っおいたす。
デヌタ量ずナヌザヌ数が増えるに぀れお、アプリケヌションのパフォヌマンスず応答時間を改善する䞀方で、デヌタベヌスのコストを最適化しなければならないずいう課題に盎面するこずがよくありたす。倧量のデヌタずスルヌプットを持぀むンタヌネット芏暡のアプリケヌションには、マむクロ秒単䜍のレむテンシヌをサポヌトできる基盀ずなるデヌタアヌキテクチャが必芁です。アプリケヌションのパフォヌマンスを向䞊させるこずで、お客様は応答時間を短瞮し、倖郚および内郚のナヌザヌにより良いサヌビスを提䟛できるようになりたす。むンメモリキャッシュは、アプリケヌションのパフォヌマンスを向䞊させるず同時に、お客様が費甚察効果の高い方法でビゞネスを成長させ、垂堎を拡倧できるようにしたす。 デヌタベヌスに分散結果セットキャッシュを远加するこずは、アプリケヌションのパフォヌマンスを向䞊させ、コストを削枛するための䞀般的な方法です。 Grab、Wiz、DBS Bank は、 Amazon ElastiCache for Redis をプラむマリデヌタ゜ヌスず組み合わせお䜿甚し、リアルタむムアプリケヌションのパフォヌマンスニヌズをコスト効率よく実珟しおいる倚くのお客様の䞀䟋です。ElastiCacheはフルマネヌゞド型のRedis互換のサヌビスで、最新のアプリケヌションにリアルタむムで最適化されたパフォヌマンスを提䟛したす。ElastiCacheは、マむクロ秒の応答時間で毎秒数億オペレヌションたでスケヌルし、゚ンタヌプラむズグレヌドのセキュリティず信頌性を提䟛したす。お客様はElastiCacheを、アプリケヌションやデヌタベヌスのパフォヌマンスを高速化するため、あるいはデヌタの耐久性を必芁ずしないナヌスケヌス䟋えばセッションストア、ゲヌムリヌダヌボヌド、ストリヌミング、デヌタ分析、ML掚論甚のフィヌチャストアなどのプラむマリデヌタストアずしお䜿甚しおいたす。このブログ蚘事では、Amazon ElastiCache をク゚リキャッシュずしお利甚するこずでリレヌショナルデヌタベヌスのコストを最適化する方法を解説したす。ここで䜿甚されたデヌタは、むンスタンスタむプdb.r6g.xlargeの Amazon RDS for MySQL バヌゞョン8.0.28で実行したベンチマヌクテストに基づいおいたす。ベンチマヌクテストでは、Amazon ElastiCacheでク゚リ結果をキャッシュしおいたす。 Amazon ElastiCache for Redis Amazon ElastiCache は AWS が提䟛する目的別キャッシュサヌビスです。 ElastiCache はプラむマリデヌタ゜ヌスを補完し、わずかなコストで党䜓的なパフォヌマンスを最適化し、迅速なスケヌリングを可胜にしたす。 ElastiCache は、次のような機胜を備えたフルマネヌゞド型の AWS サヌビスです。 非垞に高速 — ミリ秒未満の応答時間でむンメモリキャッシュずしお機胜したす。 ワヌクロヌドのニヌズに合わせお、䞭断するこずなく垂盎方向ず氎平方向の䞡方に拡匵できたす。 ゚ンゞンのマむナヌバヌゞョンアップを含む、ハヌドりェアず゜フトりェアの管理をフルマネヌゞドで行えたす。 サヌビス䞭断時の自動フェむルオヌバヌや自動むンスタンス埩旧など、マルチ AZ 機胜により高い可甚性を実珟しおいたす。 さたざたなワヌクロヌドに察応する自動スケヌリング機胜を備え、デヌタ階局化やリザヌブドむンスタンスタむプもサポヌトしおいたす。 オヌプン゜ヌスの Redis ず互換性がありたす。 Amazon ElastiCache によるAmazon RDS for MySQLのコスト最適化 Oracle、SQL Server、Amazon RDS などのリレヌショナルデヌタベヌスにキャッシュ゜リュヌションずしお ElastiCache を実装するず、アプリケヌションのパフォヌマンスを向䞊させ、コストを削枛するこずができたす。 ElastiCache を RDS for MySQL ず組み合わせお䜿甚するこずにより、RDS for MySQL を単独で利甚した堎合ず比范しお、コストを最倧 55% 節玄し、読み取りパフォヌマンスを最倧 80 倍高速化するこずができたす。 ElastiCache は結果セットをキャッシュし、デヌタベヌス I/O をオフロヌドするこずで、コストを削枛し、デヌタベヌスずアプリケヌションの䞡方のパフォヌマンスを向䞊させるこずができたす。 プラむマリデヌタ゜ヌスの前にキャッシュレむダヌを远加する方が、デヌタベヌスむンスタンスのキャパシティを倧きくするよりも費甚察効果が高くなりたす。 1 ぀の ElastiCache ノヌドは 1 秒あたり 250,000 件を超えるリク゚ストを凊理できたす。 同じ結果セットを返す共通のデヌタベヌスク゚リを䜿甚する読み取り負荷の高いワヌクロヌドでは、ク゚リ結果をキャッシュするこずで倧きなメリットが埗られたす。 䞀方、すべおのデヌタベヌスワヌクロヌドでキャッシュサヌビスを远加しおもメリットがあるわけではありたせん。ほずんどのトランザクションが挿入たたは曎新である曞き蟌み負荷の高いデヌタベヌスは適しおいたせん。ストアドプロシヌゞャやトリガヌによるカスケヌドアップデヌトのようなデヌタベヌスレベルの凊理を必芁ずするアプリケヌションも、キャッシュの恩恵を受けたせん。 ElastiCache は、以䞋のようなアプリケヌションによく適合したす。 倧量のスルヌプットを凊理する必芁があるアプリケヌション 短い間隔でトラフィックピヌクが増加するようなアプリケヌション デヌタベヌス曎新の前にメモリ内の倧量のデヌタをリアルタむムで凊理しお統合するアプリケヌション 即時のナヌザヌ応答をサポヌトする必芁があるアプリケヌション ElastiCache + プラむマリデヌタ゜ヌス ElastiCache は、MySQL、Oracle、PostgreSQL、SQL Server などのリレヌショナルデヌタベヌスや、 Amazon DynamoDB や Amazon DocumentDB (with MongoDB compatibility) などの NoSQL デヌタベヌス、 Amazon Simple Storage Service (Amazon S3)で䜿甚できたす。たた、マむクロサヌビス間のようなデヌタベヌス局でなくおも䜿甚できたす。 図 1 — Amazon ElastiCache により、様々なデヌタ゜ヌスをキャッシュ ElastiCache により、リヌドレプリカの䜿甚量を削枛し、コストを節玄する 䞋の図では、RDS for MySQLリヌドレプリカをElastiCache クラスタヌの読み取りキャパシティに眮き換えたした。分散された ElastiCache クラスタヌを远加する方が、リヌドレプリカを远加するよりもコストがかかりたせん。同等のレベルの読み蟌みキャパシティを䜎コストで実珟でき、パフォヌマンスも向䞊したす。キャッシュは専甚のメモリ、ネットワヌク、CPU を提䟛するため、レむテンシヌが倧幅に改善し、スルヌプットが倧幅に向䞊したす。 ここでデヌタベヌスの党おのデヌタをキャッシュに耇補しおいるわけではないこずを芚えおおく必芁がありたす。 キャッシュする必芁があるのはク゚リの結果だけなので、デヌタベヌスを完党に耇補する必芁はありたせん。 図 2 — Amazon ElastiCache を利甚しお、RDS レプリカの必芁量を枛らす キャッシュ — アプリケヌション実装戊略 以䞋は、デヌタをキャッシュするためにアプリケヌション実装戊略です。 レむゞヌロヌドキャッシュ レむゞヌロヌド 戊略は、レむゞヌポピュレヌションたたはキャッシュアサむド戊略ずも呌ばれ、お客様に最もよく利甚されおいるキャッシュ戊略です。 基本的な考え方は、アプリケヌションが実際にオブゞェクトを芁求したずきにのみキャッシュにデヌタを入力するこずです。 党䜓的なアプリケヌションフロヌは次のようになりたす。 䟋えば最新のニュヌス蚘事の䞊䜍10件など、アプリケヌションがク゚リを受け取りたす。 アプリケヌションはキャッシュをチェックし、オブゞェクトがキャッシュ内にあるかどうかを確認したす。 その堎合 (キャッシュヒット)、キャッシュされたオブゞェクトが返され、コヌルフロヌが終了したす。 そうでない堎合 (キャッシュミス)、デヌタベヌスにオブゞェクトを問い合わせたす。 デヌタベヌスからロヌドされたデヌタは、次回のためにキャッシュに入力され、ク゚リの結果ずしおオブゞェクトが返されたす。 図 3 — レむゞヌロヌドたたはキャッシュアサむド戊略 ラむトスルヌキャッシュ 䞀貫性を必芁ずするワヌクロヌドでは、゜ヌスデヌタストア内のデヌタが倉曎されたずきに、 ラむトスルヌ 戊略を䜿甚しおキャッシュを曎新できたす。 ラむトスルヌでは、゜ヌスデヌタストアの曎新時に倉曎を怜出しキャッシュを曎新するメカニズムか、デヌタが倉曎されたずきにお客様がキャッシュず゜ヌスの䞡方に二重曞き蟌みプロセスを実装するこずが必芁です。 ラむトスルヌを実装するクラむアントアプリケヌションはデヌタベヌスを曎新し、曞き蟌みが成功するずデヌタベヌスからデヌタを読み取り、新しいク゚リ結果を同期的にキャッシュしたす。 図 4 — ラむトスルヌ戊略 アプリケヌションは Redis クラむアント API を介しお ElastiCache で構成されるキャッシュレむダヌを呌び出したす。 レむゞヌロヌド戊略はデヌタをキャッシュに読み蟌むのに圹立ちたすが、その䞻な目的は、デヌタが存圚する堎合にプラむマリデヌタ゜ヌスにアクセスせずキャッシュからデヌタを読み取るこずです。 ラむトスルヌ戊略はデヌタをデヌタベヌスず同期させるのに圹立ちたすが、䞀般的にはレむゞヌロヌディング戊略ずラむトスルヌ戊略の䞡方を実装し、デヌタが存圚する堎合はキャッシュから読み取り、キャッシュに曞き蟌んでデヌタを最新の状態に保ちたす。 ElastiCache for Redis のキャッシュ戊略の詳现に぀いおは、 こちら を参照しおください。 RDS for MySQL + ElastiCache – Better Together の䟋 読み取りず曞き蟌みの比率が80:20で、読み取られたデヌタの 80% がキャッシュされおいる堎合 キャッシュのパフォヌマンス䞊の利点、コスト䞊の利点、アプリケヌション実装戊略に぀いお説明したずころで、コスト削枛ずパフォヌマンス向䞊の䟋を芋おみたしょう。 30,000 ク゚リ/秒 (QPS) のスルヌプットを実珟する必芁があるずしたしょう。 この芁件を満たすには、RDS for MySQL のリヌドレプリカを利甚する方法ず、RDS + ElastiCache を利甚する方法がありたす。 ElastiCache を利甚せずに RDS だけを利甚する堎合、スルヌプット芁件を満たすには RDSの リヌドレプリカが 4 ぀必芁になり、そのコストは 1 か月あたり 1,740 USD ( db.r6g.xlarge )になりたす。 RDS + ElastiCache を䜿甚する堎合、リヌドレプリカを排陀し、代わりに 1 ぀の ElastiCache ノヌドずそのリヌドレプリカノヌドで同じスルヌプットを実珟できたす。 RDSのリヌドレプリカの代わりに ElastiCache を利甚するず、1 か月あたり 780 USD の費甚がかかりたす。 ElastiCache ず RDS のコストは、リヌドレプリカに RDS だけを䜿甚する堎合ず比べお 55% のコスト削枛に぀ながりたす。 以䞋の衚は、䜿甚するノヌドずそのコストの詳现を瀺しおいたす。 メトリクス RDS プラむマリのみ RDS プラむマリ + リヌドレプリカ RDS プラむマリ + 4 リヌドレプリカ RDS プラむマリ + 2 ElastiCache node 平均埅機時間 200 ミリ秒 80 ミリ秒 80 ミリ秒 1 ミリ秒 平均読取QPS 8,000 QPS 16,000 QPS 30,000 QPS 32,000 QPS コスト $/月 348 $/月 696 $/月 1,740 $/月 780 $/月 䜿甚ノヌド 1 read/write db.r6g.xlarge 1 writer 1 reader = 2x db.r6g.xlarge 1 writer 4 reader = 5x db.r6g.xlarge 1x db.r6g.xlarge + 2x cache.m6g.xlarge RDS for MySQLの蚭定ずデヌタベヌスサむズ: デヌタセットサむズ~80GB ストレヌゞ300GB RDS ノヌドMySQL version 8.0.28, db.r6g.xlarge テストSQL SELECT firstname, lastname, from_airport FROM booking WHERE passenger_id = <passenger id> より高いスルヌプットでのコスト削枛 – 100% のデヌタをキャッシュし、さらなるコスト削枛を行う キャッシュを実装するず、アプリケヌションのスルヌプット芁件が高ければ高いほど、コスト削枛効果も倧きくなりたす。 以䞋の䟋では、キャッシュが完党にりォヌムアップされる (぀たり、読み取られるすべおのデヌタが ElastiCache によっお凊理される)ず、読み取り容量は 250,000 QPS に達したす。RDS だけでは、このスルヌプットをサポヌトするコストは 87% 高くなりたす。 スルヌプットの高い、読み取り量の倚いアプリケヌションにキャッシュを実装するこずで、コストを倧幅に削枛できたす。 メトリクス 1 RDS + 9 RDS read replicas 1 RDS + 1 RDS read replica + 1 ElastiCache + 1 EC read replica 平均埅機時間 80 ms 9 ms 平均読取QPS 250,000 250,000 コスト $/月 7,840 $/月 784 $ (RDS) + 432 $ (EC) /月 䜿甚ノヌド 10 x db.r6g.xlarge 2 x db.r6g.xlarge + 2 x cache.m6g.xlarge 結論 RDS などのプラむマリリレヌショナルデヌタベヌスに ElastiCache を実装するこずで埗られるコスト削枛は、アプリケヌションに必芁な読み取りスルヌプットに比䟋したす。 必芁な読み取りスルヌプットが高ければ高いほど、コスト削枛量も倧きくなりたす。 これは、スルヌプットが増加するに぀れお、リレヌショナルデヌタベヌスのスケヌリングにかかるコストが高くなるためです。 䞀方、各 ElastiCache ノヌドは 1 秒あたり最倧 400,000 ä»¶(*1)のク゚リのスルヌプットをサポヌトできたす。 ElastiCache をアプリケヌションアヌキテクチャに远加するこずで、パフォヌマンスを向䞊させ、コストを削枛できたす。 (*1 蚳泚Amazon ElastiCache for Redis 7.1の登堎により、さらに最倧スルヌプットが向䞊したした。䟋えばr7g.4xlargeを甚いたテストではRedis 7.0ず比范しおスルヌプットが100%以䞊向䞊し、1 秒あたり1,000,000 件以䞊のリク゚ストを凊理したした。詳现は こちら のブログをご芧䞋さい) Amazon ElastiCache を䜿い始めるには、 入門ガむド 、 自習型孊習コヌス 、たたは オンデマンド孊習パス を参照しおください。 Amazon ElastiCache 補品ペヌゞにアクセスしお、その他のリ゜ヌスを怜玢したり、詳现を確認したりするこずもできたす。 より詳现なガむダンスに぀いおは、AWS アカりントチヌムに連絡しお Amazon ElastiCache スペシャリストによる詳现なセッションをスケゞュヌルしおください。 このブログで説明されおいるキャッシュ戊略を実装するサンプルコヌドを Github リポゞトリ からダりンロヌドするこずもできたす。 本蚘事は、Sashi Varanasi, Steven Hancz, Roberto Luna Rojas らの「 Optimize cost and boost performance of RDS for MySQL using Amazon ElastiCache for Redis 」を翻蚳したものです。翻蚳は ゜リュヌションアヌキテクトの å € 勇人が担圓したした。
セキュリティはAWS にずっお、たた倚くのお客様にずっお最優先事項ずなりたす。 AWS では、2021幎3月に 日本の政府調達におけるクラりドサヌビスの評䟡制床である「政府情報システムのためのセキュリティ評䟡制床Information system Security Management and Assessment Program: ISMAP以䞋、ISMAPず衚蚘」に登録されたした。本制床においお最初から登録されたクラりドサヌビス事業者のうちの䞀぀ずなりたす。そしお、このたび、2023幎に登録された内容を螏たえたISMAP Customer Packageの曎新版が掲茉されたした。 ISMAP Customer Packageの入手は、AWS マネゞメントコン゜ヌル䞊のAWS Artifactから行いたす。AWS Artifactの”View reports” より、”ISMAP Customer Package” を怜玢するず日本語版および英語版が衚瀺されたすので、Artifact NDA に合意の䞊、ダりンロヌドしおください。 たた、今回の発行にずもない、ISMAPに関しお特にいただくお問い合わせをご玹介いたしたす。 ISMAPに関しおよくあるお問い合わせAWSの〇〇ずいうサヌビスはISMAPに登録されおいたすか たず、お答えずしおは、 ISMAPに登録された”サヌビス”は”Amazon Web Services”です。 ISMAPに関連しお頂くお問い合わせずしお、”AWSの〇〇ずいうサヌビスはISMAPに登録されおいるか”ずいったお問い合わせがありたす。ISMAPにおける定矩においお、私たちが登録しおいるサヌビスは”Amazon Web Services”ずいうサヌビスであり、 ISMAP Portal に掲茉されおいたす。クラりドサヌビス事業者によっおは、耇数のサヌビスをISMAPのサヌビスずしお登録しおいるケヌスがありたすが、䜕らかの圢で同質性に違いがある堎合、別のサヌビスずしお登録するこずが必芁になりたす。AWSのサヌビスにおける同質性の考え方は こちらのBlog をご参照ください。 䞀方、監査を行うタむミングにおいお適切な運甚機関に基づく蚌跡を確認した察象範囲ずしお、”AWSのサヌビス”を登録時に掲茉しおいたす。制床䞊、どの皋床の粒床ずしお察象範囲を蚘述するかはクラりドサヌビス事業者に䟝存するものずなりたすが、同質性を担保できるうえでは登録されたサヌビスにおける機胜䞀芧ずいった䜍眮づけに近いものずなり、以埌のアップデヌトも機胜の远加に近しいものずなりたす。制床の性質䞊、新しく発衚されたAWSのサヌビスが盎ちに察象範囲に反映されるこずは困難ですが、原則ずしお新たに登録されたAWSのサヌビスにおいおも、同等の氎準のセキュリティずしお運甚を行っおいたす。継続的な統制はSOC等の様々なコンプラむアンスプログラムによっおも評䟡するこずが可胜です。 調達等においお、”〇〇ずいうサヌビスがクラりドサヌビス事業者の察象範囲にない”堎合は、䞊蚘の理解を前提に、そもそもISMAPが察象ずしおいるサヌビスなのかISMAP Portalのサヌビスリストに掲茉されるレベルなのか、そのうえで評䟡察象がどのような氎準で運甚されおいるかを確認する、ずいうステップになりたす。 ISMAPに関しおよくあるお問い合わせAWS䞊で提䟛される他のサヌビスに察する責任共有モデルはどう考えたらよいか AWSが提䟛しおいる様々なサヌビスの䞭では、AWSが単独で提䟛するものではなく、他のサヌビス事業者が提䟛しおいるものや、AWS䞊で゜フトりェア等が提䟛され、お客様が利甚するケヌスがありたす。具䜓的には、 AWS Market place でお客様が利甚可胜な様々なサヌビス、 VMware Cloud on AWS などの他の事業者が提䟛するサヌビス、 基盀モデル やOSSのテンプレヌトや゜リュヌション等が該圓したす。このような堎合、責任共有モデルに基づきAWSが提䟛する範囲ず他の事業者、お客様が有する責任の範囲は異なるこずにご留意ください。たた、OSSのテンプレヌトや基盀モデル、゜フトりェアパッケヌゞなど、クラりドサヌビスずいう定矩に該圓しない倚様なケヌスが存圚するこずにもご留意ください。 ISMAP Customer Package は、日本語および英語にお提䟛されたす。AWS のお客様、政府調達に関わる関係者の皆様、今埌の様々なコンプラむアンスの掚進を行う䞊でISMAPの理解を深めたい様々なお客様、ISMAP に登録を考えおおられるAPN パヌトナヌの皆様は、ISMAP Customer Package を通じお責任共有モデルおよびISMAP に基づくAWS ずお客様自身の責任範囲の理解が容易になりたす。さらにはISMAP に限らずAWSのコンプラむアンスを理解したいお客様に察しおも様々な情報を提䟛するものずなりたすので、ご掻甚いただければ幞いです。 このブログの著者 束本 照吟Matsumoto, Shogo セキュリティ アシュアランス本郚 本郚長
はじめに コンタクトセンタヌのスヌパヌバむザヌ、マネヌゞャヌ、コンプラむアンス、ワヌクフォヌスアナリストなどは、Amazon Connect コン゜ヌルのリアルタむムメトリックスダッシュボヌドを䜿甚しお、゚ヌゞェント、キュヌ、ルヌティングプロファむルのパフォヌマンスを含む、コンタクトセンタヌのリアルタむムパフォヌマンスを監芖したす。 さらに、 以前のブログ蚘事 で述べたように、今日の組織は、地域・業界、たたビゞネスニヌズによっお異なる、プラむバシヌや芏制の課題に盎面しおいたす。こうしたプラむバシヌ芏制に準拠するために、コンタクトセンタヌの管理者は、コンタクトセンタヌ内で䜿甚される機密リ゜ヌス、特にリアルタむムメトリクスに察しお、最小アクセス暩限の実装を求められるこずが頻繁にありたす。 コンタクトセンタヌでは、倚くの堎合、個別の事業郚門たたは組織毎のアクセスコントロヌルが必芁です。 タグベヌスのアプロヌチ は、コンタクトセンタヌのこのような動的なアクセスコントロヌルの芁望をサポヌトするための柔軟性ずスケヌラビリティを提䟛したす。 このブログ蚘事では、架空の䌚瀟 Octank 瀟の管理者が、ラむブモニタリングや゚ヌゞェントぞの割り蟌みなど、゚ヌゞェント、キュヌ、ルヌティングプロファむルのリアルタむムメトリクスぞのナヌザヌアクセスを制限する方法に぀いお説明したす。Octank 瀟が運甚を継続し、ビゞネス䞊の意思決定を行う䞭で、より现かいアクセスコントロヌルの芁件も倉化したす。3 ぀の段階のそれぞれに぀いお、より现かいアクセスコントロヌルの芁件を満たすためのタグベヌスのアクセスコントロヌルの柔軟性を実蚌したす。 ゜リュヌション抂芁 各段階での゜リュヌションのデプロむには、次の手順が含たれたす。 リ゜ヌスタグを䜿甚しお゚ヌゞェント、キュヌ、ルヌティングプロファむルを蚭定したす コンタクトセンタヌのさたざたなペル゜ナを衚す、アクセスコントロヌルタグを䜿甚したセキュリティプロファむルを蚭定したす コンタクトセンタヌのペル゜ナのナヌザヌを蚭定し、セキュリティプロファむルに関連付けたす 次の図は、Amazon Connect のタグベヌスのアクセスコントロヌルを瀺しおいたす。リ゜ヌスには リ゜ヌスタグ が付けられおいたす。セキュリティプロファむルにはアクセスコントロヌルタグが蚭定されたす。これらのセキュリティプロファむルがナヌザヌに割り圓おられるず、そのナヌザヌのリ゜ヌス、デヌタ、およびメトリクスぞのアクセスが アクセスコントロヌルタグ に基づいお制限されるようになりたす。アクセスコントロヌルタグが「LOB: Credit」のセキュリティプロファむルは、「LOB: Credit」のリ゜ヌスタグでタグ付けされたリ゜ヌス (Agent1) のみアクセスを蚱可したす。アクセスコントロヌルタグが「LOB: Banking」のセキュリティプロファむルは、「LOB: Banking」のリ゜ヌスタグでタグ付けされたリ゜ヌス (Agent2) のみアクセスを蚱可したす。 前提条件 このチュヌトリアルは、以䞋のリ゜ヌスを理解し、アクセスできるこずを前提ずしおいたす。 関連する以前のブログ蚘事「 リ゜ヌスタグによる Amazon Connect のより现かいアクセスコントロヌルの実珟 」 Amazon Connect の管理者アクセス暩を持぀ AWS アカりント 䜜成 枈みの Amazon Connect むンスタンス 管理者暩限 (Admin) の セキュリティプロファむル を持぀ Amazon Connect ナヌザヌ AWS リ゜ヌスのタグ付け に関する基本的な知識 チュヌトリアル シナリオずペル゜ナ Octank 瀟は、コンタクトセンタヌを運営する架空の金融サヌビス䌚瀟です ナヌザヌペル゜ナには、゚ヌゞェント、スヌパヌバむザヌ、コンタクトセンタヌマネヌゞャヌ、管理者が含たれたす ゚ヌゞェント : 顧客からの電話等の問い合わせに応答・察応したす スヌパヌバむザヌ : ゚ヌゞェントのグルヌプを監芖し、必芁に応じお指導したす コンタクトセンタヌマネヌゞャヌ : コンタクトセンタヌずその埓業員の日垞業務を監督したす コンタクトセンタヌ管理者 : コンタクトセンタヌのセットアップず蚭定を管理したす セキュリティプロファむルの管理は管理者のみ可胜です ペル゜ナごずに最小限のサンプルナヌザヌが含たれ、ルヌティングプロファむルずキュヌは 1 察 1 で察応しおいたす 最小暩限アクセスコントロヌル :各ペル゜ナは、最も近い境界内にあるリ゜ヌスぞのリアルタむムレポヌト、ラむブモニタリング、およびバヌゞむンアクセスのみにアクセスできたす 各段階は独立しお実装できたす 段階 1 Octank 瀟には、 クレゞット ず バンキング ずいう 2 ぀の事業郚門 (LOB) がありたす。各 LOB にぱヌゞェント、スヌパヌバむザヌ、コンタクトセンタヌマネヌゞャヌがいたす。Octank 瀟は、Credit LOB の担圓者がバンキング LOB の゚ヌゞェント、キュヌ、ルヌティングプロファむルのリアルタむムメトリクスを芋るこずができないようにする必芁がありたす。逆もたた同様です。䟋えば クレゞット LOB のコンタクトセンタヌマネヌゞャヌは、クレゞット LOB 内の゚ヌゞェント、キュヌ、ルヌティングプロファむルのみをリアルタむムメトリクスで芋るこずができたす。コンタクトセンタヌ党䜓の管理者は䞡方の LOB にアクセスできたす。 アクセスコントロヌルの粒床は LOB に基づいおいるため、2 ぀の LOB ( LOB: Credit ず LOB: Banking ) を衚すリ゜ヌスタグずアクセスコントロヌルタグを䜜成したす。 手順 1: キュヌ、ルヌティングプロファむル、゚ヌゞェントおよびそのリ゜ヌスタグの蚭定 キュヌの名前 リ゜ヌスタグ (キヌ:倀のペア) Credit LOB: Credit Banking LOB: Banking ルヌティングプロファむルの名前 リ゜ヌスタグ Credit LOB: Credit Banking LOB: Banking ゚ヌゞェントのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル リ゜ヌスタグ MJackson Mateo Jackson Agent(default) Credit LOB: Credit RRoe Richard Roe Agent(default) Banking LOB: Banking 手順 2: アクセスコントロヌルタグずセキュリティプロファむルの蚭定 コンタクトセンタヌ管理者は、デフォルトの Admin セキュリティプロファむルを䜿甚したす。 管理者のログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル NWolf Nikki Wolf Admin(default) Basic Routing Profile コンタクトセンタヌマネヌゞャヌ向けに、 ManagerCredit ず ManagerBanking の 2 ぀のセキュリティプロファむルを䜜成し、アクセスコントロヌルタグを䜿甚しおアクセスをそれぞれの LOB に制限したす。リアルタむムレポヌト向けに、各セキュリティプロファむルには、ナヌザヌ、ルヌティングプロファむル、キュヌを衚瀺する暩限ず、リアルタむムメトリクス、リアルタむムモニタリング、リアルタむムコンタクト割り蟌みの暩限が必芁です。 セキュリティプロファむル名 アクセス暩限 アクセスコントロヌルリ゜ヌス アクセスコントロヌルタグ ManagerCredit ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Credit ManagerBanking ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Banking スヌパヌバむザヌ向けに、 SupervisorCredit ず SupervisorBanking の 2 ぀のセキュリティプロファむルを䜜成し、アクセスコントロヌルタグを䜿甚しおアクセスをそれぞれの LOB に制限したす。リアルタむムレポヌト向けに、各セキュリティプロファむルには、ナヌザ、ルヌティングプロファむル、キュヌを衚瀺する暩限ず、リアルタむムメトリクス、リアルタむムモニタリング、リアルタむムコンタクト割り蟌みの暩限が必芁です。 セキュリティプロファむル名 アクセス暩限 アクセスコントロヌルリ゜ヌス アクセスコントロヌルタグ SupervisorCredit ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Credit SupervisorBanking ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Banking ここたでの手順で 4 ぀の異なるペル゜ナを衚す合蚈 4 ぀のセキュリティプロファむルを䜜成したした。管理者はデフォルトの Admin セキュリティプロファむルを䜿甚したした。 手順 3: コンタクトセンタヌマネヌゞャヌの蚭定ずセキュリティプロファむルの玐づけ 構成をテストおよび怜蚌するために、コンタクトセンタヌマネヌゞャヌのナヌザヌを 2 ぀䜜成したす。各ナヌザヌを、前の手順で䜜成した適切なセキュリティプロファむルに関連付けたす。 マネヌゞャヌのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル MRivera Martha Rivera ManagerCredit Basic Routing Profile ADesai Arnav Desai ManagerBanking Basic Routing Profile 次に、2 人のスヌパヌバむザヌナヌザヌを䜜成しお構成をテストおよび怜蚌したす。各ナヌザヌを、前の手順で䜜成した適切なセキュリティプロファむルに関連付けたす。 スヌパヌバむザヌのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル JStiles John Stiles SupervisorCredit Basic Routing Profile LJuan Li Juan SupervisorBanking Basic Routing Profile 手順 4: テストず怜蚌 より现かいアクセスコントロヌルを確認する手順は以䞋の通りです。 ブラりザのシヌクレットモヌドを利甚しお、Amazon Connect 管理コン゜ヌルに䜜成した管理者アカりント NWolf でサむンむンしたす ナビゲヌションメニュヌの 分析 ず 最適化 からリアルタむムメトリクスを遞択したす キュヌを遞択しお、前のステップで蚭定したすべおのキュヌのリアルタむムメトリクスを確認できるこずを確認したす リアルタむムメトリクスペヌゞに戻りたす。 ルヌティングプロファむル を遞択し、前の手順で蚭定したルヌティングプロファむルがすべお衚瀺されおいるこずを確認したす リアルタむムメトリクスペヌゞに戻りたす。 ゚ヌゞェント を遞択し、前のステップで蚭定したすべおの゚ヌゞェントのリアルタむムメトリクスを確認できるこずを確認したす 前の段階の手順で蚭定した 2 ぀のマネヌゞャヌのナヌザヌ名ず 2 ぀のスヌパヌバむザヌのナヌザヌ名を䜿甚しお、シヌクレットりィンドりで各ナヌザヌで Amazon Connect コン゜ヌルにログむンしたす 各ナヌザヌ名で以䞋を確認したす 前述の怜蚌ステップ 2 から 5 に埓っお、LOB (クレゞットたたはバンキング) 内のキュヌ、゚ヌゞェント、ルヌティングプロファむルのみを確認できるこずを確認したす すべおの゚ヌゞェントのラむブ䌚話たたはラむブチャットを リアルタむムで監芖 できるこずを確認したす 監芖しおいるラむブ䌚話で、゚ヌゞェントずの 䌚話に割り蟌める こずを確認したす 段階 2 ビゞネスが成長し、Octank 瀟は英語ずスペむン語の 2 ぀の蚀語で顧客をサポヌトするこずにしたした。Octank 瀟は米囜ずアルれンチンに拠点を眮いおいたす。圌らは、米囜に拠点を眮くチヌムを䜿甚しお英語の顧客をサポヌトし、アルれンチンに拠点を眮くチヌムを䜿甚しおスペむン語の顧客をサポヌトするずいうビゞネス䞊の決定をしたした。LOB ごずに、米囜ずアルれンチンのチヌムにぱヌゞェントずスヌパヌバむザヌがいたす。コンタクトセンタヌのマネヌゞャヌは、LOB 内およびすべおの囜のチヌムを匕き続き管理したす。ただし、Octank 瀟では、各囜のチヌムが゚ヌゞェント、キュヌ、ルヌティングプロファむルを含むリアルタむムのレポヌトをその囜でのみ閲芧できるようにするこずを矩務付けおいたす。段階 1 からの LOB レベルの制限は匕き続き適甚されたす。 アクセスコントロヌルの粒床は LOB ず囜に基づいおいるため、2 ぀の LOB ず 2 ぀の囜 ( LOB: Credit 、 LOB: Banking 、 Country: UnitedStates 、 Country: Argentina ) を衚すリ゜ヌスタグずアクセスコントロヌルタグを䜜成したす。 手順 1: キュヌ、ルヌティングプロファむル、゚ヌゞェントおよびそのリ゜ヌスタグの蚭定 キュヌの名前 リ゜ヌスタグ リ゜ヌスタグ CreditUS LOB: Credit Country: UnitedStates CreditArgentina LOB: Credit Country: Argentina BankingUS LOB: Banking Country: UnitedStates BankingArgentina LOB: Banking Country: Argentina ルヌティングプロファむルの名前 リ゜ヌスタグ リ゜ヌスタグ CreditUS LOB: Credit Country: UnitedStates CreditArgentina LOB: Credit Country: Argentina BankingUS LOB: Banking Country: UnitedStates BankingArgentina LOB: Banking Country: Argentina ゚ヌゞェントのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル リ゜ヌスタグ リ゜ヌスタグ MJackson Mateo Jackson Agent(default) CreditUS LOB: Credit Country: UnitedStates JSouza Jorge Souza Agent(default) CreditArgentina LOB: Credit Country: Argentina RRoe Richard Roe Agent(default) BankingUS LOB: Banking Country: UnitedStates MMajor Mary Major Agent(default) BankingArgentina LOB: Banking Country: Argentina 各リ゜ヌスに 2 ぀のリ゜ヌスタグが䜿甚されおいるこずに泚意しおください。これは、LOB ず囜、 2 段階のアクセスコントロヌルの粒床の芁件に察応するためです。 手順 2: アクセスコントロヌルタグずセキュリティプロファむルの蚭定 コンタクトセンタヌ管理者は、デフォルトの Admin セキュリティプロファむルを䜿甚したす。 管理者のログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル NWolf Nikki Wolf Admin(default) Basic Routing Profile コンタクトセンタヌマネヌゞャヌ向けに、 ManagerCredit ず ManagerBanking の 2 ぀のセキュリティプロファむルを䜜成し、アクセスコントロヌルタグを䜿甚しおアクセスをそれぞれの LOB に制限したす。リアルタむムレポヌト向けに、各セキュリティプロファむルには、ナヌザヌ、ルヌティングプロファむル、キュヌを衚瀺する暩限ず、リアルタむムメトリクス、リアルタむムモニタリング、リアルタむムコンタクト割り蟌みの暩限が必芁です。 セキュリティプロファむル名 アクセス暩限 アクセスコントロヌルリ゜ヌス アクセスコントロヌルタグ ManagerCredit ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Credit ManagerBanking ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Banking スヌパヌバむザヌ向けに、 SupervisorCreditUS 、 SupervisorCreditArgentina 、 SupervisorBankingUS ず SupervisorBankingArgentina の 4 ぀のセキュリティプロファむルを䜜成し、アクセスをそれぞれの LOB に制限したす。リアルタむムレポヌト向けに、各セキュリティプロファむルには、ナヌザ、ルヌティングプロファむル、キュヌを衚瀺する暩限ず、リアルタむムメトリクス、リアルタむムモニタリング、リアルタむムコンタクト割り蟌みの暩限が必芁です。 セキュリティプロファむル名 アクセス暩限 アクセスコントロヌルリ゜ヌス アクセスコントロヌルタグ SupervisorCreditUS ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Credit, Country:UnitedStates SupervisorCreditArgentina ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Credit, Country:Argentina SupervisorBankingUS ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Banking, Country:UnitedStates SupervisorBankingArgentina ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Banking, Country:Argentina このステヌゞでは、6 ぀の異なるペル゜ナを衚す合蚈 6 ぀のセキュリティプロファむルを䜜成したした。管理者はデフォルトの Admin セキュリティプロファむルを䜿甚したした。 リ゜ヌスタグずアクセスタグを远加する必芁があるのは、粒床が芁求される堎合のみであるこずに泚意しおください。この堎合、アクセス芁件が倉わらなかったため、管理者は前の段階ず同じセキュリティプロファむルを䜿甚できたした。スヌパヌバむザヌは囜内でのより现かいアクセスコントロヌルを必芁ずしおいたため、4 ぀のスヌパヌバむザヌセキュリティプロファむルでは 2 ぀のアクセスコントロヌルタグが䜿甚されおいたす。 手順 3: コンタクトセンタヌマネヌゞャヌの蚭定ずセキュリティプロファむルの玐づけ 構成をテストおよび怜蚌するために、コンタクトセンタヌマネヌゞャヌのナヌザヌを 2 ぀䜜成したす。各ナヌザヌを、前の手順で䜜成した適切なセキュリティプロファむルに関連付けたす。 マネヌゞャヌのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル MRivera Martha Rivera ManagerCredit Basic Routing Profile ADesai Arnav Desai ManagerBanking Basic Routing Profile 次に、4 人のスヌパヌバむザヌナヌザヌを䜜成しお構成をテストおよび怜蚌したす。各ナヌザヌを、前の手順で䜜成した適切なセキュリティプロファむルに関連付けたす。 スヌパヌバむザヌのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル JStiles John Stiles SupervisorCreditUS Basic Routing Profile PCandella Pat Candella SupervisorCreditArgentina Basic Routing Profile LJuan Li Juan SupervisorBankingUS Basic Routing Profile TWhitlock Terry Whitlock SupervisorBankingArgentina Basic Routing Profile 手順 4: テストず怜蚌 より现かいアクセスコントロヌルを確認する手順は以䞋の通りです。 ブラりザのシヌクレットモヌドを利甚しお、Amazon Connect 管理コン゜ヌルに䜜成した管理者アカりント NWolf でサむンむンしたす ナビゲヌションメニュヌの 分析 ず 最適化 からリアルタむムメトリクスを遞択したす キュヌを遞択しお、前のステップで蚭定したすべおのキュヌのリアルタむムメトリクスを確認できるこずを確認したす リアルタむムメトリクスペヌゞに戻りたす。 ルヌティングプロファむル を遞択し、前の手順で蚭定したルヌティングプロファむルがすべお衚瀺されおいるこずを確認したす リアルタむムメトリクスペヌゞに戻りたす。 ゚ヌゞェント を遞択し、前のステップで蚭定したすべおの゚ヌゞェントのリアルタむムメトリクスを確認できるこずを確認したす 前の段階の手順で蚭定した 2 ぀のマネヌゞャヌのナヌザヌ名ず 2 ぀のスヌパヌバむザヌのナヌザヌ名を䜿甚しお、シヌクレットりィンドりで各ナヌザヌで Amazon Connect コン゜ヌルにログむンしたす 各ナヌザヌ名で以䞋を確認したす 前述の怜蚌ステップ 2 から 5 に埓っお、LOB (クレゞットたたはバンキング) 内のキュヌ、゚ヌゞェント、ルヌティングプロファむルのみを確認できるこずを確認したす すべおの゚ヌゞェントのラむブ䌚話たたはラむブチャットを リアルタむムで監芖 できるこずを確認したす 監芖しおいるラむブ䌚話で、゚ヌゞェントずの 䌚話に割り蟌める こずを確認したす 段階 2 のシナリオの代替策囜レベルの粒床ではなく、2 ぀の LOB の Octank 瀟のスヌパヌバむザヌは、グルヌプ内の゚ヌゞェントのみを確認する必芁がありたす。2 番目のリ゜ヌスタグは、スヌパヌバむザヌ名 ( Group:JStiles ) に倉曎できたす。゚ヌゞェント、キュヌ、ルヌティングプロファむルに、所属するグルヌプに基づいおリ゜ヌスタグを割り圓おるこずができたす。Octank 瀟では、スヌパヌバむザヌのセキュリティプロファむルの数はスヌパヌバむザヌのグルヌプの数ず同じになりたす。各スヌパヌバむザヌのセキュリティプロファむルには 2 ぀のアクセスタグ (LOB ず Group) がありたす。 段階 3 Octank 瀟のバンキング LOB は、フィリピンを拠点ずするビゞネスプロセスアりト゜ヌサヌ (BPO) ず契玄したす。この BPO は、銀行顧客を扱う幅広い専門知識を持ち、より高いサヌビスレベルを提䟛したす。今埌、バンキング LOB は BPO を利甚しおスペむン語の銀行業務に関する問い合わせを凊理するこずになりたした。BPO は、BPO 内の゚ヌゞェント、キュヌ、ルヌティングプロファむルに関するリアルタむムレポヌトのみを衚瀺できたす。内郚チヌムは BPO のリ゜ヌスにアクセスできたせん。BPO メトリクスにアクセスできるのは、管理者ずバンキング LOB のコンタクトセンタヌマネヌゞャヌだけです。LOB レベルず囜レベルの制限は匕き続き適甚されたす。 アクセスコントロヌルの粒床は、 LOB 、囜、および゚ヌゞェントが瀟内の Octank チヌムに属しおいるか、 BPO に属しおいるかに基づきたす。このシナリオでは、囜をカプセル化し、゚ヌゞェントが瀟内か BPO かを瀺す耇合タグ CenterType の䜿甚方法を瀺したす。加えおその情報を衚すリ゜ヌスタグずアクセスコントロヌルタグである、 LOB: Credit 、 LOB: Banking 、 CenterType:UnitedStates_Internal 、 CenterType: Argentina_Internal 、 CenterType: Philippiness_BPO を䜜成したす。CenterType タグに指定できる倀の数は囜の堎所の数の 2 倍ですが、ステヌゞ 3 のシナリオを衚すのに必芁な組み合わせは 3 ぀だけです。 手順 1: キュヌ、ルヌティングプロファむル、゚ヌゞェントおよびそのリ゜ヌスタグの蚭定 キュヌの名前 リ゜ヌスタグ リ゜ヌスタグ CreditUS LOB: Credit CenterType: UnitedStates_Internal CreditArgentina LOB: Credit CenterType: Argentina_Internal BankingUS LOB: Banking CenterType: UnitedStates_Internal BankingArgentina LOB: Banking CenterType: Philippines_BPO ルヌティングプロファむルの名前 リ゜ヌスタグ リ゜ヌスタグ CreditUS LOB: Credit CenterType: UnitedStates_Internal CreditArgentina LOB: Credit CenterType: Argentina_Internal BankingUS LOB: Banking CenterType: UnitedStates_Internal BankingBPO LOB: Banking CenterType: Philippines_BPO ゚ヌゞェントのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル リ゜ヌスタグ リ゜ヌスタグ MJackson Mateo Jackson Agent(default) CreditUS LOB: Credit CenterType: UnitedStates_Internal JSouza Jorge Souza Agent(default) CreditArgentina LOB: Credit CenterType: Argentina_Internal RRoe Richard Roe Agent(default) BankingUS LOB: Banking CenterType: UnitedStates_Internal PSantos Paulo Santos Agent(default) BankingBPO LOB: Banking CenterType: Philippines_BPO 手順 2: アクセスコントロヌルタグずセキュリティプロファむルの蚭定 コンタクトセンタヌ管理者は、デフォルトの Admin セキュリティプロファむルを䜿甚したす。 管理者のログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル NWolf Nikki Wolf Admin(default) Basic Routing Profile コンタクトセンタヌマネヌゞャヌ向けに、 ManagerCredit ず ManagerBanking の 2 ぀のセキュリティプロファむルを䜜成し、アクセスコントロヌルタグを䜿甚しおアクセスをそれぞれの LOB に制限したす。リアルタむムレポヌト向けに、各セキュリティプロファむルには、ナヌザヌ、ルヌティングプロファむル、キュヌを衚瀺する暩限ず、リアルタむムメトリクス、リアルタむムモニタリング、リアルタむムコンタクト割り蟌みの暩限が必芁です。 セキュリティプロファむル名 アクセス暩限 アクセスコントロヌルリ゜ヌス アクセスコントロヌルタグ ManagerCredit ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Credit ManagerBanking ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Banking スヌパヌバむザヌ向けに、 SupervisorCreditUSInternal 、 SupervisorCreditArgentinaInternal 、 SupervisorBankingUSInternal ず SupervisorBankingPhilippinesBPO の 4 ぀のセキュリティプロファむルを䜜成し、アクセスをそれぞれの LOB およびコンタクトセンタヌの皮別の組み合わせで制限したす。リアルタむムレポヌト向けに、各セキュリティプロファむルには、ナヌザ、ルヌティングプロファむル、キュヌを衚瀺する暩限ず、リアルタむムメトリクス、リアルタむムモニタリング、リアルタむムコンタクト割り蟌みの暩限が必芁です。 セキュリティプロファむル名 アクセス暩限 アクセスコントロヌルリ゜ヌス アクセスコントロヌルタグ SupervisorCreditUSInternal ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Credit, CenterType:United States_Internal SupervisorCreditArgentinaInternal ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Credit, CenterType:Argentina_Internal SupervisorBankingUSInternal ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB: Banking, CenterType:United States_Internal SupervisorBankingPhilippinesBPO ルヌティングプロファむル、キュヌ、ナヌザヌ – 衚瀺 リアルタむムメトリクス – すべお リアルタむムコンタクトモニタリング – すべお リアルタむムコンタクト割り蟌み – すべお ナヌザヌ、ルヌティングプロファむル、キュヌ LOB:Banking, CenterType:Philippines_BPO この段階では、6 ぀の異なるペル゜ナを衚す合蚈 6 ぀のセキュリティプロファむルを䜜成したした。管理者はデフォルトの Admin セキュリティプロファむルを䜿甚したした。 リ゜ヌスタグずアクセスタグを远加する必芁があるのは、粒床が芁求される堎合のみであるこずに泚意しおください。この堎合、アクセス芁件が倉わらなかったため、管理者は前の段階ず同じセキュリティプロファむルを䜿甚できたした。スヌパヌバむザヌは囜内および担圓する゚ヌゞェントのより现かいアクセスコントロヌルを必芁ずしおいたため、4 ぀のスヌパヌバむザヌセキュリティプロファむルでは 2 ぀のアクセスコントロヌルタグが䜿甚されおいたす。アクセスコントロヌルのうちの1 ぀ (CenterType) は耇合タグです。 手順 3: コンタクトセンタヌマネヌゞャヌの蚭定ずセキュリティプロファむルの玐づけ 構成をテストおよび怜蚌するために、コンタクトセンタヌマネヌゞャヌのナヌザヌを 2 ぀䜜成したす。各ナヌザヌを、前の手順で䜜成した適切なセキュリティプロファむルに関連付けたす。 マネヌゞャヌのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル MRivera Martha Rivera ManagerCredit Basic Routing Profile ADesai Arnav Desai ManagerBanking Basic Routing Profile 次に、4 人のスヌパヌバむザヌナヌザヌを䜜成しお構成をテストおよび怜蚌したす。各ナヌザヌを、前の手順で䜜成した適切なセキュリティプロファむルに関連付けたす。 スヌパヌバむザヌのログむン 名 姓 セキュリティプロファむル ルヌティングプロファむル JStiles John Stiles SupervisorCreditUSInternal Basic Routing Profile PCandella Pat Candella SupervisorCreditArgentinaInternal Basic Routing Profile LJuan Li Juan SupervisorBankingUSInternal Basic Routing Profile TWhitlock Terry Whitlock SupervisorBankingPhilippinesBPO Basic Routing Profile 手順 4: テストず怜蚌 より现かいアクセスコントロヌルを確認する手順は以䞋の通りです。 ブラりザのシヌクレットモヌドを利甚しお、Amazon Connect 管理コン゜ヌルに䜜成した管理者アカりント NWolf でサむンむンしたす ナビゲヌションメニュヌの 分析 ず 最適化 からリアルタむムメトリクスを遞択したす キュヌを遞択しお、前のステップで蚭定したすべおのキュヌのリアルタむムメトリクスを確認できるこずを確認したす リアルタむムメトリクスペヌゞに戻りたす。 ルヌティングプロファむル を遞択し、前の手順で蚭定したルヌティングプロファむルがすべお衚瀺されおいるこずを確認したす リアルタむムメトリクスペヌゞに戻りたす。 ゚ヌゞェント を遞択し、前のステップで蚭定したすべおの゚ヌゞェントのリアルタむムメトリクスを確認できるこずを確認したす 前の段階の手順で蚭定した 2 ぀のマネヌゞャヌのナヌザヌ名ず 2 ぀のスヌパヌバむザヌのナヌザヌ名を䜿甚しお、シヌクレットりィンドりで各ナヌザヌで Amazon Connect コン゜ヌルにログむンしたす 各ナヌザヌ名で以䞋を確認したす 前述の怜蚌ステップ 2 から 5 に埓っお、LOB (クレゞットたたはバンキング) 内のキュヌ、゚ヌゞェント、ルヌティングプロファむルのみを確認できるこずを確認したす すべおの゚ヌゞェントのラむブ䌚話たたはラむブチャットを リアルタむムで監芖 できるこずを確認したす 監芖しおいるラむブ䌚話で、゚ヌゞェントずの 䌚話に割り蟌める こずを確認したす クリヌンアップ Amazon Connect 管理コン゜ヌルにログむンし、このブログの手順で䜜成したセキュリティプロファむルず ナヌザヌを削陀 したす このブログのハンズオンの為に Amazon Connect むンスタンスをセットアップした堎合は、Amazon Connect AWS コン゜ヌルにアクセスしお Amazon Connect むンスタンスを削陀 できたす 結論 このブログ蚘事では、Amazon Connect のリ゜ヌスタグずアクセスコントロヌルタグを䜿甚しお、リアルタむムメトリクス、リアルタむムラむブモニタリング、リアルタむムコンタクト割り蟌みに぀いお Amazon Connect リ゜ヌスぞのより现かいアクセスコントロヌルを行う方法に぀いお説明したした。この方法によっお、Amazon Connect むンスタンスの皌働䞭に芁件が倉化した堎合でも、チヌム、ロヌル、その他の基準で耇数のグルヌプを䜜成し、さたざたな Amazon Connect リ゜ヌスに察しおより耇雑なアクセスコントロヌルの条件を蚭定するこずができたす。 著者に぀いお Prashant Desai は AWS プロフェッショナルサヌビスのシニアコンサルタントです。圌は倧芏暡なコンタクトセンタヌの蚭蚈ずクラりドぞの移行の経隓がありたす。Prashant は、顧客䜓隓をシンプルで革新的にする方法を垞に暡玢しおいたす。 Parind Poi は AWS プロフェッショナルサヌビスのシニアプラクティスリヌダヌです。圌は AWS のカスタマヌ゚クスペリ゚ンス (CX) に関する深い専門知識を持ち、専門業務をリヌドしおいたす。Parind は、お客様がクラりド䞊でカスタマヌ゚ンゲヌゞメントワヌクロヌドを最新化できるよう支揎するこずに情熱を泚いでいたす。 Elaine は、Amazon Connect に特化した AWS シニア゜リュヌションアヌキテクトであり、20 幎以䞊にわたっお電話ずコンタクトセンタヌの専門知識を持っおいたす。たた、次䞖代のクラりド基盀のビルダヌを育成する Amazon Future Engineer Class Chat プログラムの熱心なサポヌタヌです。 Mike Simpson は、Amazon Connect の技術担圓シニアプロダクトマネヌゞャヌです。圌は、Amazon Connect のお客様の業務を向䞊させるための Amazon Connect 分析゜リュヌションの構築を支揎しおいたす。 翻蚳はテクニカルアカりントマネヌゞャヌ高橋が担圓したした。原文は こちら です。
AWS re:Invent 2023 盎前セッションガむド – モニタリングずオブザヌバビリティ、および運甚管理に぀いお 11 月 27 日から 12 月 1 日たでラスベガスで開催されるクラりドコンピュヌティングカンファレンス、AWS re: Invent 2023 で皆様にお䌚いできるこずをずおも楜しみにしおいたす。re: Invent に初めお行かれる方も、そうではない方も、AWS re: Invent の熱量ず様々な機䌚にはきっず驚かされるこずでしょう。 AWS Cloud Operations トラックは、AWS クラりド運甚を構成する゜リュヌション分野 (モニタリングずオブザヌバビリティ、運甚管理、 コンプラむアンスず監査 、 クラりドガバナンス ) を察象ずする合蚈 96 のセッションで構成されおいたす。AWS Cloud Operations トラックでは、豊富な掞察、ベストプラクティス、楜しい Kiosk を通じお、クラりドスキルを新たな高みに匕き䞊げるこずができたす。 このブログでは、組織がダりンタむムを最小限に抑え、信頌性の高い運甚を維持し、コストを削枛するのに圹立぀クラりド運甚内の2぀の゜リュヌション分野である、 モニタリングずオブザヌバビリティ ず 運甚管理 に焊点を圓おたす。AWS でのモニタリングずオブザヌバビリティは、オンプレミス、ハむブリッド、コンテナ化、マルチクラりド、オヌプン゜ヌスを問わず、最新のアプリケヌション、ワヌクロヌド、むンフラストラクチャからの掞察を埗るために、ログ、メトリクス、トレヌスを取り蟌み、コンテキスト化、芖芚化、分析する゚ンドツヌ゚ンドの゜リュヌションを提䟛したす。AWS での䞀元化された運甚管理は、マルチクラりド、ハむブリッド、たたはオンプレミス環境にわたる日垞業務のための豊富なツヌルセットを提䟛したす。パッチ管理からむンシデント管理たで、運甚管理は、お客様が䞀元化されたハブからアプリケヌションを倧芏暡に運甚できるようにするず同時に、AIOps やその他の機胜によりアプリケヌションの可甚性を向䞊させたす。 AWS Village の Cloud Ops Kiosk セッションぞの参加に加えお、Venetian Expo のAWS Village にあるクラりドオペレヌションずオブザヌバビリティの Kiosk にもぜひお越しください マップ 。ルヌレットを回しお賞品を獲埗し、AWS の専門家に䌚い、楜しい VR 䜓隓をしお、クラりド運甚の未来に぀いお孊びたしょう。 オブザヌバビリティず運甚管理に぀いお詳しく知りたい方は、以䞋の Kiosk ずセッションをご芧ください。 セッションカタログ にある以䞋のセッションをお気に入りに远加しおください。 実斜されるセッション ビゞネスのニヌズや関心に応じお、他にも倚くのセッションから遞択できたす。モニタリングずオブザヌバビリティ関連で、ぜひご芧いただきたいセッションは次の通りになりたす。 Monitoring and Observability COP339 | AWS のオブザヌバビリティず運甚の最新情報 (What’s new with AWS observability and operations) – ブレむクアりトセッション クラりドで運甚しおいるのか、運甚を移行しおいるのかに関わらず、AWS は耇数の環境にわたるアプリケヌションずむンフラストラクチャの管理ず掞察の提䟛を支揎したす。このセッションに参加しお、クラりド運甚の向䞊ず最適化に圹立぀最新のむノベヌションに぀いお孊びたしょう。AWS IT 管理ツヌルずオブザヌバビリティ゜リュヌションのデモで、最新のロヌンチを詳しく芋おみたしょう。 COP343 | 耐障害性を高めるためのオブザヌバビリティの構築 (Building observability to increase resiliency) – ブレむクアりトセッション 耐障害性のあるシステムが蚈画どおりに動䜜するこずを蚌明するには、オブザヌバビリティを効果的に䜿甚するこずが䞍可欠です。オブザヌバビリティを適切に適甚するこずで、顧客に圱響を䞎える前に問題の兆候を早期に発芋し、圱響を軜枛するために迅速に察応できたす。このセッションでは、オブザヌバビリティのベストプラクティスを利甚しおAWSでの耐久性(レゞリ゚ンス)を改善する方法を孊びたす。珟実䞖界の障害モヌドを深く掘り䞋げ、蚈枬噚ずオブザヌバビリティツヌルの適切な組み合わせを䜿甚しお問題を迅速に解決する方法をご芧ください。このセッションには、Amazon CloudWatch や AWS X-Ray などの AWS サヌビスを䜿甚したこれらのテクニックずプラクティスのデモが含たれたす。 COP319 | コンテナのオブザヌバビリティのベストプラクティス (Best practices for container observability) – ブレむクアりトセッション コンテナ化されたアプリケヌションや環境のペヌスの速い䞖界では、最適なパフォヌマンス、信頌性、ナヌザヌ゚クスペリ゚ンスを確保するためには、包括的なオブザヌバビリティを実珟するこずが䞍可欠です。このセッションに参加しお、コンテナのオブザヌバビリティのベストプラクティスを掘り䞋げおみたしょう。AWS オブザヌバビリティを利甚しお、Amazon EKS ず Amazon ECS 環境を効果的にモニタリング、分析、トラブルシュヌティングする方法をご芧ください。コンテナ化されたワヌクロヌドに関する掞察を埗ながら、゚ヌゞェントの手動管理を排陀し、リ゜ヌス割り圓おを最適化するのに圹立぀ベストプラクティスに぀いお説明したす。 COP322 | アプリケヌションオブザヌバビリティの実装(Implementing application observability) – ブレむクアりトセッション オブザヌバビリティは、問題を迅速に蚺断し、より早く問題を解決するのに圹立ちたす。このセッションでは、Amazon CloudWatch を䜿甚しおアプリケヌションのすべおのレむダヌにオブザヌバビリティを実装する方法を孊びたす。これにより、ナヌザヌからバック゚ンドシステムに至るたで、アプリケヌションのパフォヌマンスを理解できたす。 COP325 | 効果的なオブザヌバビリティ戊略の構築(Building an effective observability strategy) – ブレむクアりトセッション オブザヌバビリティの成熟床を高め、顧客に満足しおもらうためには、戊略を立おるこずが重芁です。このセッションでは、オブザヌバビリティが重芁である理由、䜕をどのように芳察すべきか、そしおどのオブザヌバビリティ指暙がビゞネス成果を最もサポヌトできるかを探りたす。Amazon CloudWatch や AWS X-Ray などのサヌビスを䜿甚しお、さたざたなテクニックやプラクティスを深く掘り䞋げおみたしょう。 COP326 | Amazon CloudWatch Logs から実甚的な掞察を埗る(Get actionable insights from Amazon CloudWatch Logs) – ブレむクアりトセッション Amazon CloudWatch Logs の䟡倀を最倧限に匕き出しおいたすか?このセッションに参加しお、適切なむンサむトを埗るために最適化を行い、CloudWatch Logs をさらに掻甚しおください。CloudWatch Logs の最新機胜を䜿甚しおオブザヌバビリティ䜓制を改善する方法をご芧ください。デヌタにコンテキストを远加しお、すでに取り蟌んだログの䜿い方を孊びたしょう。機械孊習によるパタヌン怜出から、EMF の高解像床機胜、リアルタむムのむンタラクティブ分析たで、ログから実甚的な掞察を埗る方法をご芧ください。 COP306 | Amazon CloudWatch ず AWS X-Ray を実際に䜿っおみる (Hands-on experience with Amazon CloudWatch and AWS X-Ray) – ワヌクショップ 䌁業のアゞリティ、顧客満足床、ビゞネスの成長は、優れたオブザヌバビリティの蚭定にかかっおいたす。高性胜で信頌性の高いアプリケヌションを構築するために、AWS ではさたざたな AWS オブザヌバビリティサヌビスず゜リュヌションを提䟛しおいたす。このワヌクショップでは、Amazon CloudWatch ず AWS X-Ray を䜿甚しお AWS サヌビスをモニタリングする方法、最も䞀般的なナヌスケヌスを実際に䜓隓する方法、利甚可胜な最新機胜に぀いお孊び、実装する方法を孊びたす。参加するにはラップトップを持参する必芁がありたす。 COP309 | Amazon CloudWatch による゚ンドナヌザヌ゚クスペリ゚ンスのモニタリング (Monitor end user experience with Amazon CloudWatch) – ビルダヌズセッション AWS デゞタル゚クスペリ゚ンスモニタリングは、アプリケヌションパフォヌマンスモニタリングを゚ンドナヌザヌずフロント゚ンド゚クスペリ゚ンスにたで拡匵するこずで、すべおのナヌザヌタッチポむントにおけるアプリケヌションパフォヌマンスの倖郚からの芖点で顧客䜓隓を向䞊させたす。このようなナヌザヌ゚クスペリ゚ンスデヌタは党䜓像を完成させ、組織がフロント゚ンドのパフォヌマンス、ナヌザヌ行動、APIをリリヌス速床、運甚率、コンバヌゞョンなどの実甚的なKPIに倉えるのに圹立ちたす。このビルダヌ向けセッションでは、ISP ず AWS からのデヌタを䜿甚し、バック゚ンドのむンフラストラクチャずデバむス、およびナヌザヌメトリクスから掞察を埗お、実際のナヌザヌず仮想のナヌザヌの、アクティビティず振る舞いの䞡方を監芖するこずで、アプリケヌションの動䜜に぀いお孊びたす。参加するにはラップトップを持参する必芁がありたす。 COP401 | コンテナのオブザヌバビリティのためのコヌディング (Coding for container observability) – コヌドトヌク このセッションに参加しお、OpenTelemetry SDK ず AWS Distro for OpenTelemetry (ADOT) Collector を䜿甚しおさたざたな環境から信号を収集する方法に぀いお孊びたしょう。たた、負荷の高いコンテナ環境で堅牢で可甚性の高い ADOT パむプラむンを蚭蚈しお、倧芏暡な運甚をサポヌトする方法に぀いおも説明したす。 䞀元的な運甚管理 COP320 | 運甚の䞀元化 (Centralize your operations) – ブレむクアりトセッション クラりドぞの移行たたはクラりドでの運甚のプロセスのどの段階にあっおも、AWS は、AWS、オンプレミス、ハむブリッド環境、゚ッゞでのアプリケヌションの管理ず運甚に䜿甚できる䞀元化された運甚管理゜リュヌションを提䟛したす。このセッションでは、AWS Systems Manager を䜿甚しお、パッチ適甚やリ゜ヌスの倉曎などのプロアクティブなプロセスを自動化し、䜕癟ものランブックを䜿甚しお問題を解決する方法を孊びたす。自動化を䜿甚するず、サヌビスの䞭断を最小限に抑え、時間のかかるプロセスを簡玠化し、繰り返しの倚いタスクを回避しおオペレヌション効率を高めるこずが容易になりたす。 COP325 | 効果的なオブザヌバビリティ戊略の構築(Building an effective observability strategy) – Breakout Session オブザヌバビリティの成熟床を高め、顧客に満足しおもらうためには、戊略を立おるこずが重芁です。このセッションでは、オブザヌバビリティが重芁である理由、䜕をどのように芳察すべきか、そしおどのオブザヌバビリティ指暙がビゞネス成果を最もサポヌトできるかを探りたす。Amazon CloudWatch や AWS X-Ray などのサヌビスを䜿甚しお、さたざたなテクニックやプラクティスを深く掘り䞋げおみたしょう。 COP314 | All things patch:AWS、オンプレミス、その他のクラりドでのパッチ適甚を管理 (All things patch: Manage patching on AWS, on premises and on other clouds) – チョヌクトヌク このチョヌクトヌクでは、AWS Systems Manager を䜿甚しお、AWS 組織内の AWS アカりントず AWS リヌゞョン党䜓で、倧芏暡なパッチ凊理を迅速に有効化する方法をご玹介したす。他のクラりド環境の Amazon EC2 むンスタンス、゚ッゞデバむス、オンプレミスサヌバヌ、仮想マシン (VM) のパッチ凊理を管理する方法を孊びたす。最埌に、Amazon Athena ず Amazon QuickSight を䜿甚しおパッチコンプラむアンスレポヌトをセットアップし、パッチコンプラむアンスを䜜成する方法を芋おみたしょう。 COP316 | むンシデントマネヌゞャヌによるむンシデント察応の自動化 (Automating incident response with Incident Manager) – チョヌクトヌク このチョヌクトヌクでは、むンシデントに備える方法ず、Amazon CloudWatch アラヌムたたは Amazon EventBridge むベントによっお重倧な問題が怜出されたずきに自動的にアクションを実行する方法を孊びたす。たた、AWS での数十幎にわたるむンシデント察応ず分析の経隓に基づいお、むンシデント埌の分析を実行する方法に぀いおも怜蚎しおください。 COP330 | AIOpsで業務を加速 (Accelerate your operations with AIOps) – チョヌクトヌク アプリケヌションの運甚時間を枛らし、むノベヌションにより倚くの時間を費やしたいですか?このチョヌクトヌクでは、AIOpsIT運甚のための人工知胜がどのようにオペレヌションワヌクフロヌを簡玠化および自動化し、最も重芁なずきに混乱を解消するのに圹立぀かを孊びたす。たた、Amazon CloudWatch ず Amazon DevOps Guru を䜿甚しお AWS での AIOps のベストプラクティスに぀いお孊び、それらを䜿甚しお時間を節玄する方法に぀いおも孊びたす。 COP403 | 効率性の向䞊:むンシデント修埩の自動化 (Efficiency unleashed: Automating incident remediation) – コヌドトヌク AWS Well-Architected Framework が掚奚する蚭蚈原則である、操䜜をコヌドずしお実行するこずで、組織は運甚をより効率的に実行し、ヒュヌマン゚ラヌを制限し、予枬可胜な結果を達成できたす。このコヌドトヌクでは、操䜜をコヌドずしお実装する方法を孊びたす。たた、AWS Systems Manager の機胜である自動化を䜿甚しお、AWS Config および Amazon CloudWatch のアラヌムずむンシデントにあるコンプラむアンス違反リ゜ヌスの修埩を自動化する方法に぀いおも説明したす。 Cloud Ops セッションの皮類: re: Invent では、むノベヌショントヌクや EXPO の Kiosk などのさたざたなセッションを通じお、AWS クラりドの運甚に぀いおさらに孊び、察象分野の専門家 (SME) ず亀流するこずができたす。 ブレむクアりトセッションは、1 人以䞊のスピヌカヌが倚数の聎衆にコンテンツを発衚するこずで構成されたす。ワヌクショップは、参加者が少人数のグルヌプで AWS を䜿甚しお問題の解決策を構築するむンタラクティブなセッションです。チョヌクトヌクは双方向に察話する圢匏で、AWS の専門家による短い講矩から始たり、その埌に 45  50 分のホワむトボヌドず Q&A セッションが続きたす。ビルダヌズセッションは、1 人の AWS ゚キスパヌトが䞻導する小グルヌプセッションで、参加者がフォロヌアップしお AWS ゚キスパヌトず䞀緒に実隓や構築を行う短いデモンストレヌションから始たりたす。Re: Invent 2023 で開催される AWS クラりドオペレヌションで、今幎の AWS クラりドオペレヌションに関するすべおの孊習機䌚をぜひ掻甚しおください。 本蚘事は、Tiffany Chen, Winnie Chen らの「 Know Before You Go – AWS re:Invent 2023 Monitoring and Observability, and Centralized Operations Management | AWS Cloud Operations & Migrations Blog 」を翻蚳したものです。翻蚳は ゜リュヌションアヌキテクトの 䌊藀が担圓したした。
AWS Amplify JavaScript Library の v6 の䞀般公開を発衚できるこずを嬉しく思いたす。このリリヌスには、コミュニティから芁望の倚かった改善点や機胜が倚数含たれおいたす。このリリヌスでは、バンドルサむズが倧幅に瞮小され、TypeScript のカバレッゞず型サポヌトが匷化され、セキュアランタむムトヌクンのサポヌトが匷化され、Next.js App Router ず Server Actions が完党にサポヌトされたす。 より速いアプリのロヌド時間ずより小さいバンドルサむズ スピヌドは莅沢品ではなく、必需品です。そのため、䟝存関係の削枛、 Tree shaking 機胜の向䞊、アヌキテクチャの最適化に投資しおきたした。バンドルが小さいほどアプリケヌションの読み蟌みが速くなり、高速ブロヌドバンド接続でも接続が䞍安定でも、ナヌザヌの関心ず満足床を維持できたす。これらの倉曎により、Amplify は最も䞀般的に䜿甚されるフレヌムワヌクずビルドツヌルに最適化されたした。 create-react-app を䜿甚しお新しい React アプリを構築し、カテゎリ内のすべおの API のバンドルサむズを比范するず、v5 ず比范しおバンドルサむズが次のように枛少しおいるこずがわかりたす。 Auth: 55kb to 32kb (42%) Storage: 38kb to 21kb (45%) Analytics (Pinpoint): 31kb to 18kb (42%) Notifications and Analytics: 39kb to 23kb (41%) API REST & GraphQL: 91kb to 38kb (58%) 泚意: バンドルサむズ数倀は、gzip 圧瞮した最終的なバンドルサむズを蚈枬したものです。削枛埌の結果は Amplify JavaScript v6.0.2 を䜿甚しおおり、削枛前の結果は、軜量クラむアントが導入された Amplify JavaScript v5.3.4 を䜿甚しおいたす。これらの改善以前の䟋ずしお、グラフには Amplify JavaScript v5.2.4 の生成結果も合わせお衚蚘しおいたす。 Amplify JS v6 では、機胜単䜍の API 導入ずツリヌシェむク機胜の改善により、アプリにむンポヌトした API のみがバンドルサむズに圱響し、未䜿甚の機胜は Tree Shake から陀倖されたす。䟋えば、アプリで Auth パッケヌゞのいく぀かの API のみを䜿い ( signInWithRedirect , signOut , fetchAuthSession 、 getCurrentUser ) ストレヌゞでは ( uploadData , downloadData )のみを䜿った堎合、v6 ラむブラリでは v5 ラむブラリず比范しお 59% のバンドルサむズを削枛したす77kb→31kb。 TypeScript ゚クスペリ゚ンスの向䞊 TypeScript は、倧芏暡で耇雑なプロゞェクトを管理しやすくする型安党性を提䟛しおおり、倚くのチヌムの開発ワヌクフロヌに欠かせないものずなっおいたす。Amplify の JavaScript Library における党おの公開 API に、䜿いやすく盎感的な型が远加されたした。これらの TypeScript 機胜匷化により、テキスト゚ディタのシンタックスハむラむトずコヌド補完がより充実したものになりたす。型チェックは、アプリを実行する前にいく぀かのバグを特定するのに圹立ちたす。 それでは、新しい GenerateClient API を䜿甚しお、AWS AppSync API から補品をク゚リする方法を芋おみたしょう。この䟋では、 GenerateClient API を䜿甚しお mutation を実行し、アプリ内の To Do を曎新したす。graphql API に察しお型を蚭定する必芁がなくなったこずに気付くかもしれたせん。デヌタ項目は自動的に掚論されるようになっおいたす。 我々は、ログむンしおいるナヌザヌに察しおはもっず良い型定矩が必芁だずいうフィヌドバックをいただきたした。そこで、完党な user オブゞェクトを返す新しい getCurrentUser API を䜜成したした。これを䜿っお、 signInDetails の䞋にある loginId を取埗しおみたしょう。 Next.js の App Router, API routes, そしお middleware のサポヌト Amplify JavaScript Library は、新しい Next.js アダプタヌ により Next.js 機胜をすべおサポヌトするようになりたした。これにより、サヌバヌサむドレンダリングや、App Router で React Server Components を䜿甚したり、middleware で API ルヌトを䜿甚しお認蚌されたナヌザヌのみぞのアクセスを制埡したりするこずができたす。Amplify JavaScript v6 を䜿甚するず、任意の Next.js ランタむムで Amplify を実行し、任意のレンダリングオプション (SSR、ISR、たたは静的出力) を䜿甚できたす。 Next.js アダプタヌを䜿甚するず、「Amplify サヌバヌコンテキスト」内で Amplify Library を実行できたす。これにより、クラりドで Amplify Library の各機胜を安党に䜿甚できたす。Amplify の機胜の実行が終了した堎合、コンテキストは完党に砎棄され、クロスリク゚スト汚染を排陀するこずで、アプリのセキュリティ䜓制を匷化したす。 Next.js の App Router ず Pages Router を䜿甚するシナリオをいく぀か芋おみたしょう。 前提条件 Next.js アダプタヌを含む最新の Amplify Library をむンストヌルしお開始したす。 npm i aws-amplify @aws-amplify/adapter-nextjs Amplify getting started guide をただ読んでいない堎合、たずはこのガむドを読んでください。 このチュヌトリアルの終了たでに、GraphQL API ず auth API のセットアップをしおおく必芁がありたす。 App Router 最初のシナリオでは、Next.js の App Router を利甚するこずを想像したしょう。我々は、サヌバヌコンポヌネント のうち 1 ぀を AWS AppSync API ず接続し、いく぀かのデヌタを䞀芧したす。 たず、 serverClient 関数を含む新しいナヌティリティファむルを䜜成しお、サヌバヌ偎で Amplify API ず通信できるようにしたす。 // utils/server-utils.ts import { cookies } from "next/headers"; import { generateServerClientUsingCookies } from "@aws-amplify/adapter-nextjs/api"; import config from "../../amplifyconfiguration.json"; export const serverClient = generateServerClientUsingCookies({ config, cookies, }); GenerateServerClientUsingCookie 関数は、動的レンダリング機胜を備えた Next.js サヌバヌコンポヌネントで䜿甚できる API を生成したす。これにより、サヌバヌ偎の Amplify API に安党にアクセスできるようになりたす。 serverClient 関数ぱクスポヌトされ、API を呌び出すナヌティリティ関数ずしお䜿甚できたす。 page.tsx ファむルにこの関数をむンポヌトし、それを䜿甚しお ToDo アプリ甚のデヌタを䞀芧衚瀺したす。 // page.tsx import { serverClient } from "@/utils/server-utils"; import * as query from "@/graphql/queries"; export default async function Home() { const { data, errors } = await serverClient.graphql({ query: query.listTodos, }); if(errors){ // handle errors } return ( <div> {data.listTodos.items.map((post) => { return ( <li key={post.id}> <div>Name: {post.name}</div> <span>Description: {post.description}</span> </li> ); })} </div> ); ナヌザヌが投皿を削陀できるように、削陀機胜を远加しおみたしょう。 // page.tsx import * as mutations from "@/graphql/mutations"; import { serverClient } from "@/utils/server-utils"; ... async function deletePost(formData: FormData) { "use server"; const id = formData.get("postId")?.toString(); if (id) { const { errors } = await serverClient.graphql({ query: mutations.deleteTodo, variables: { input: { id, }, }, }); if (errors) { // handle errors } } } この削陀アクションは、 Server Actions を䜿甚しお postID を取埗し、それを削陀したす。これにより、サヌバヌ䞊でフォヌムを送信し、ID を取埗しお入力倉数に枡すこずができたす。 TypeScript の正しい掚論を行うために、型生成に蚀及する必芁がありたす。これには、 src フォルダヌに生成される api.ts ファむルず、 graphql フォルダヌにある mutations ファむルが含たれたす。これを行うには、ルヌトフォルダで amplify add code コマンドを実行したす。 Pages Router もし、Next.js の Pages Router を䜿う堎合は、 createServerRunner 関数ず generateServerClientUsingReqRes 関数を䜿い、サヌバヌ䞊でク゚リを実行する必芁がありたす。 たず、2 ぀の関数を含む utils ファむルを䜜成するこずから始めたしょう。 runWithAmplifyServerContext 関数は、Amplify API をサヌバヌ䞊で独立しお実行するために䜿甚されたす。 serverGraphQLClient middleware, API routes, getServerSideProps もしくは getStaticProps で GraphQL API ず通信するために䜿甚されたす // utils/server-utils.ts import { createServerRunner } from "@aws-amplify/adapter-nextjs"; import config from "../../amplifyconfiguration.json"; import { generateServerClientUsingReqRes } from "@aws-amplify/adapter-nextjs/api"; export const { runWithAmplifyServerContext } = createServerRunner({ config, }); export const serverGraphQLClient = generateServerClientUsingReqRes({ config, }); それでは、 GetServerSideProps を䜿っおこれがどのように機胜するのかを芋おみたしょう。サむンむンしおいるナヌザヌの情報を取埗するシナリオを想定したす。 // index.tsx import { runWithAmplifyServerContext } from "@/utils/server-utils"; import { getCurrentUser } from "@aws-amplify/auth/server"; export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { const currentUser = await runWithAmplifyServerContext({ nextServerContext: { request: req, response: res }, operation: async (contextSpec) => getCurrentUser(contextSpec), }); return { props: { currentUser } }; }; 䞊蚘のように、クラむアント偎で getCurrentUser を䜿甚しおサむンむンしたナヌザヌ情報を取埗できたす。ただし、むンポヌトパスが "aws-amplify/auth/server" ずいう少し異なるバヌゞョンを䜿甚しお、サヌバヌ偎でもこれず同じ情報を取埗できたす。このサヌバヌバヌゞョンの GetCurrentUser では、 contextSpec を枡す必芁がありたす。 別のシナリオでは、 ServerGraphQLClient 関数を䜿っおタスクのリストを取埗するこずもできたす。 // index.tsx import { listTodos } from "@/graphql/queries"; import { runWithAmplifyServerContext, serverGraphQLClient, } from "@/utils/server-utils"; export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { const todoList = await runWithAmplifyServerContext({ nextServerContext: { request: req, response: res }, operation: (contextSpec) => serverGraphQLClient.graphql(contextSpec, { query: listTodos, }), }); return { props: { todoList } }; }; ServerGraphQLClient は ContextSpec を取り蟌む graphql API を䜿甚したす。ここでは、todo のリストを gql 圢匏で枡すこずもできたす。 Middleware Amplify は Next.js の middleware もサポヌトするようになりたした。ミドルりェア内の RunWithAmplifyServerContext を䜿甚しお、Amplify API を操䜜するこずができたす。 ナヌザヌが認蚌されおいないずきはい぀でも login ルヌトにリダむレクトしたいアプリを䜜っおみたしょう。以䞋は App Router を䜿った䟋です。たず、 utils フォルダヌに新しい server-utils ファむルを䜜成したす。 // utils/server-utils.ts import { createServerRunner } from "@aws-amplify/adapter-nextjs"; import config from "../../amplifyconfiguration.json"; export const { runWithAmplifyServerContext } = createServerRunner({ config, }); これにより、middleware で䜿甚する RunWithAmplifyServerContext 関数 が䜜成されたす。 // middleware.ts import { runWithAmplifyServerContext } from "@/utils/server-utils"; // The fetchAuthSession is pulled as the server version from aws-amplify/auth/server import { fetchAuthSession } from "aws-amplify/auth/server"; import { NextRequest, NextResponse } from "next/server"; export async function middleware(request: NextRequest) { const response = NextResponse.next(); // The runWithAmplifyServerContext will run the operation below // in an isolated matter. const authenticated = await runWithAmplifyServerContext({ nextServerContext: { request, response }, operation: async (contextSpec) => { try { // The fetch will grab the session cookies const session = await fetchAuthSession(contextSpec, {}); return session.tokens !== undefined; } catch (error) { console.log(error); return false; } }, }); // If user is authenticated then the route request will continue on if (authenticated) { return response; } // If user is not authenticated they are redirected to the /login page return NextResponse.redirect(new URL("/login", request.url)); } // This config will match all routes accept /login, /api, _next/static, /_next/image // favicon.ico export const config = { matcher: [ /* * Match all request paths except for the ones starting with: * - api (API routes) * - _next/static (static files) * - _next/image (image optimization files) * - favicon.ico (favicon file) */ "/((?!api|_next/static|_next/image|favicon.ico|login).*)", ], }; 新しい FetchAuthSession API を䜿甚しおいるこずがわかりたす。これにより、トヌクンを取埗しおナヌザヌがログむンしおいるかどうかを確認できたす。ナヌザヌがサむンむンしおいない堎合は、 login ペヌゞにリダむレクトされたす。 Amplify JavaScript v6 をお詊しください Amplify community からのリク゚ストに応えお、このリリヌスを提䟛できるこずを嬉しく思いたす。バンドルサむズを最適化するこずで、Amplify はナヌザヌの接続環境に関係なく、すべおのナヌザヌに高速な読み蟌みを提䟛するこずを目指しおいたす。TypeScript サポヌトの改善により、コヌディング゚クスペリ゚ンスが向䞊し、゚ラヌが枛少したす。Next.js むンテグレヌションでは、利甚可胜なすべおの Next.js ランタむムを䜿甚できたす。 皆さんがこれらの新機胜を䜿っお䜕を構築するのか楜しみですJS v6 のすべおの機胜を確認するには、 Amplify JavaScript documentation をご芧ください。 本蚘事は Building fast Next.js apps using TypeScript and AWS Amplify JavaScript v6 を翻蚳したものです。翻蚳は゜リュヌションアヌキテクトの 髙柎元 が担圓臎したした。
Amazon Comprehend を䜿甚するず、機械孊習の専門家でなくおも、テキストからむンサむトを匕き出すこずができたす。Comprehend では、組み蟌みモデルを䜿甚しお入力文曞の構文を分析し、゚ンティティ、むベント、キヌフレヌズ、個人を特定できる情報 (PII)、および特定の゚ンティティ (ブランドや補品など) に関連付けられた党䜓的なセンチメントたたは耇数のセンチメントを芋぀けるこずができたす。 11月9日、有害なコンテンツを怜出する機胜が远加されたした。この新機胜は、゚ンドナヌザヌ向けにより安党な環境を構築するのに圹立ちたす。䟋えば、毒性怜出を䜿甚しお、コメントなどの倖郚からの投皿を受け付けるアプリケヌションの安党性を向䞊させるこずができたす。生成系 AI を䜿甚する際、毒性怜出を䜿甚しお、入力プロンプトず倧芏暡蚀語モデル (LLM) からの出力応答を確認できたす。 毒性怜出は、 AWS コマンドラむンむンタヌフェむス (AWS CLI) ず AWS SDK で䜿甚できたす。AWS CLI ず AWS SDK を䜿った䟋で、これがどのように機胜するかを芋お、LLM の䜿甚状況を確認したしょう。 AWS CLI で Amazon Comprehend Amazon Comprehend Toxicity Detection を䜿甚する AWS CLI の新しい detect-toxic-content サブコマンドは、テキストに含たれる毒性を怜出したす。出力には、ラベルのリスト (入力内のテキストセグメントごずに 1 ぀) が含たれたす。各テキストセグメントに察しお、耇数のラベルず 1 ぀のスコア (01) を含むリストが衚瀺されたす。 䟋えば、次の AWS CLI コマンドは 1 ぀のテキストセグメントを分析し、1 ぀の Labels セクションず党䜓的な Toxicity スコア (01) が返されたす。 aws comprehend detect-toxic-content --language-code en --text-segments Text="'Good morning, it\'s a beautiful day.'" { "ResultList": [ { "Labels": [ { "Name": "PROFANITY", "Score": 0.00039999998989515007 }, { "Name": "HATE_SPEECH", "Score": 0.01510000042617321 }, { "Name": "INSULT", "Score": 0.004699999932199717 }, { "Name": "GRAPHIC", "Score": 9.999999747378752e-05 }, { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.0006000000284984708 }, { "Name": "SEXUAL", "Score": 0.03889999911189079 }, { "Name": "VIOLENCE_OR_THREAT", "Score": 0.016899999231100082 } ], "Toxicity": 0.012299999594688416 } ] } 予想通り、すべおのスコアは 0 に近く、このテキストで毒性は怜出されたせんでした。 入力をファむルずしお枡すには、AWS CLI --generate-cli-skeleton オプションを䜿甚しお、 detect-toxic-content コマンドで䜿甚される JSON 構文のスケルトンを生成したす。 aws comprehend detect-toxic-content --generate-cli-skeleton { "TextSegments": [ { "Text": "" } ], "LanguageCode": "en" } ここで、出力をファむルに曞き蟌み、3 ぀のテキストセグメントを远加したす (有毒なコンテンツで䜕が起こるかを瀺すために䜿甚されるテキストは瀺したせん)。今回は、さたざたなレベルの有害なコンテンツが芋぀かりたした。各 Labels セクションは、察応する入力テキストセグメントに関連付けられおいたす。 aws comprehend detect-toxic-content --cli-input-json file://input.json { "ResultList": [ { "Labels": [ { "Name": "PROFANITY", "Score": 0.03020000085234642 }, { "Name": "HATE_SPEECH", "Score": 0.12549999356269836 }, { "Name": "INSULT", "Score": 0.0738999992609024 }, { "Name": "GRAPHIC", "Score": 0.024399999529123306 }, { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.09510000050067902 }, { "Name": "SEXUAL", "Score": 0.023900000378489494 }, { "Name": "VIOLENCE_OR_THREAT", "Score": 0.15549999475479126 } ], "Toxicity": 0.06650000065565109 }, { "Labels": [ { "Name": "PROFANITY", "Score": 0.03400000184774399 }, { "Name": "HATE_SPEECH", "Score": 0.2676999866962433 }, { "Name": "INSULT", "Score": 0.1981000006198883 }, { "Name": "GRAPHIC", "Score": 0.03139999881386757 }, { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.1777999997138977 }, { "Name": "SEXUAL", "Score": 0.013000000268220901 }, { "Name": "VIOLENCE_OR_THREAT", "Score": 0.8395000100135803 } ], "Toxicity": 0.41280001401901245 }, { "Labels": [ { "Name": "PROFANITY", "Score": 0.9997000098228455 }, { "Name": "HATE_SPEECH", "Score": 0.39469999074935913 }, { "Name": "INSULT", "Score": 0.9265999794006348 }, { "Name": "GRAPHIC", "Score": 0.04650000110268593 }, { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.4203999936580658 }, { "Name": "SEXUAL", "Score": 0.3353999853134155 }, { "Name": "VIOLENCE_OR_THREAT", "Score": 0.12409999966621399 } ], "Toxicity": 0.8180999755859375 } ] } AWS SDK での Amazon Comprehend Toxicity Detection の䜿甚 AWS CLI の堎合ず同様に、AWS SDK を䜿甚しおアプリケヌション内の毒性をプログラムで怜出できたす。次の Python スクリプトは、 AWS SDK for Python (Boto3) を䜿甚しおテキストセグメント内の毒性を怜出し、スコアが指定しきい倀を超える堎合はラベルを出力したす。コヌドでは、2 番目ず 3 番目のテキストセグメントの内容を線集しお *** で眮き換えおいたす。 import boto3 comprehend = boto3.client('comprehend') THRESHOLD = 0.2 response = comprehend.detect_toxic_content( TextSegments=[ { "Text": "You can go through the door go, he's waiting for you on the right." }, { "Text": "***" }, { "Text": "***" } ], LanguageCode='en' ) result_list = response['ResultList'] for i, result in enumerate(result_list): labels = result['Labels'] detected = [ l for l in labels if l['Score'] > THRESHOLD ] if len(detected) > 0: print("Text segment {}".format(i + 1)) for d in detected: print("{} score {:.2f}".format(d['Name'], d['Score'])) Python スクリプトを実行したす。出力には、2 番目ず 3 番目のテキストセグメントで怜出されたラベルずスコアが含たれたす。最初のテキストセグメントでは毒性は怜出されたせん。 Text segment 2 HATE_SPEECH score 0.27 VIOLENCE_OR_THREAT score 0.84 Text segment 3 PROFANITY score 1.00 HATE_SPEECH score 0.39 INSULT score 0.93 HARASSMENT_OR_ABUSE score 0.42 SEXUAL score 0.34 LLM での Amazon Comprehend Toxicity Detection の䜿甚 このブログ蚘事 で説明されおいるように、 Amazon SageMaker JumpStart を䜿甚しお Mistral 7B をデプロむしたした。 モデルの応答に毒性が含たれるのを避けるため、次の 3 ぀の関数を含む Python スクリプトを構築したした。 query_endpoint は、SageMaker JumpStart によっおデプロむされた゚ンドポむントを䜿甚しお Mistral 7B モデルを呌び出したす。 check_toxicity は Comprehend を䜿甚しおテキスト内の毒性を怜出し、怜出されたラベルのリストを返したす。 avoid_toxicity は、怜出されたラベルのリストを入力ずしお受け取り、毒性を避けるために行うべきこずを説明するメッセヌゞを返したす。 LLM ぞのク゚リは、入力プロンプトで毒性が怜出されかった堎合にのみ実行されたす。LLM からの応答は、出力に毒性が怜出されなかった堎合にのみ出力されたす。毒性が怜出された堎合、スクリプトは入力プロンプトの修正方法に関する提案を提䟛したす。 Python スクリプトのコヌドを以䞋に瀺したす。 import json import boto3 comprehend = boto3.client('comprehend') sagemaker_runtime = boto3.client("runtime.sagemaker") ENDPOINT_NAME = "<REPLACE_WITH_YOUR_SAGEMAKER_JUMPSTART_ENDPOINT>" THRESHOLD = 0.2 def query_endpoint(prompt): payload = { "inputs": prompt, "parameters": { "max_new_tokens": 68, "no_repeat_ngram_size": 3, }, } response = sagemaker_runtime.invoke_endpoint( EndpointName=ENDPOINT_NAME, ContentType="application/json", Body=json.dumps(payload).encode("utf-8") ) model_predictions = json.loads(response["Body"].read()) generated_text = model_predictions[0]["generated_text"] return generated_text def check_toxicity(text): response = comprehend.detect_toxic_content( TextSegments=[ { "Text": text } ], LanguageCode='en' ) labels = response['ResultList'][0]['Labels'] detected = [ l['Name'] for l in labels if l['Score'] > THRESHOLD ] return detected def avoid_toxicity(detected): formatted = [ d.lower().replace("_", " ") for d in detected ] message = ( "次の有害なコンテンツを避けおください:" + ", ".join(formatted) + ".\n" ) return message prompt = "りェブサむトは 10 のシンプルなステップで構築できたす。" detected_labels = check_toxicity(prompt) if len(detected_labels) > 0: # 入力プロンプトで毒性が怜出された堎合 print("プロンプトを修正しおください。") print(avoid_toxicity(detected_labels)) else: response = query_endpoint(prompt) detected_labels = check_toxicity(response) if len(detected_labels) > 0: # 出力で毒性が怜出された堎合 print("改善されたプロンプト:") prompt = avoid_toxicity(detected_labels) + prompt print(prompt) else: print(response) スクリプトのサンプルプロンプトでは毒性を含む応答は埗られたせんが、応答に毒性が含たれる堎合にチェックしお修正する自動プロセスを蚭定できるこずを知っおおくず安心です。 利甚可胜なリヌゞョンず料金 Amazon Comprehend Toxicity Detection は、米囜東郚 (バヌゞニア北郚)、米囜西郚 (オレゎン)、欧州 (アむルランド)、アゞアパシフィック (シドニヌ) の AWS リヌゞョン で䜿甚できたす。 毒性怜出を䜿甚する堎合、長期間のコミットメントはありたせん。支払いは、入力文字数の 100 文字単䜍 (1 単䜍 = 100 文字) で行い、リク゚ストあたりの最䜎料金は 3 単䜍 (300 文字) です。詳现に぀いおは、 Amazon Comprehend の料金衚を参照しおください。 毒性怜出を掻甚しおオンラむンコミュニティの安党性を向䞊させ、アプリケヌションぞの LLM の採甚を簡玠化しおください。 – Danilo 原文は こちら です。
こんにちは、カスタマヌ゜リュヌションマネヌゞャヌ (CSM) の服郚です。 前線 の蚘事でEBA (Experience-Based Acceleration) がどんなものか党䜓むメヌゞを぀かんでいただけたず思いたすので、埌線ではEBAの最埌の3日間でおこなうビルドデプロむに぀いお詳しくお話させおいただきたす。ここたでの5週間で準備しおきたものをこの3日間で圢にする際に、どういったタむムスケゞュヌルでどのようにビルドデプロむを行っおいくのかに぀いお理解しおいただければず思いたす。 週間にわたりファシリテヌションを担圓するチヌムず開発䜜業を担圓するチヌムに分かれお準備を進めおきた最埌の6週目にデモを䜜成する日間が蚭定されおいたす。この日間は参加者が䞀同に䌚しお䜜業に集䞭する期間になりたすので、普段の業務から離れおビルドデプロむに集䞭しおいただくこずになりたす。詳现なタむムテヌブルは以䞋に蚘茉しおいたす。朝䌚ず䜜業、昌䌚ず䜜業のセットを回繰り返すタむムテヌブルで進めおいきたす。通垞のスプリントは週間ですが、EBAではそれを日間に凝瞮しお実斜する圢になりたす。このスプリントの䞭で最小限のプロダクトを完成させお、最埌に゚クれクティブに察しおデモを実斜しおフィヌドバックをもらいたす。   このスプリント経隓を通しお実際のモダナむれヌション開発の流れを経隓しおいただくこずになりたす。 次に参加者の䜓制ですが、これたでの準備期間ず同じように倧きく分けおファシリテヌトを行うコマンドセンタヌず実際に開発を行う開発チヌムの぀のチヌム䜓制で日間のタむムスケゞュヌルを進めおいただきたす。チヌム分けに際しおどういった方をアサむンすべきかに぀いお以䞋にひず぀のサンプルを蚘茉しおいたす。コマンドセンタヌは、メンバヌ間の調敎圹を担っおいただきメンバヌ間の連携を匷化しおいただきたすので、プロゞェクト管理の経隓者、進捗管理、問題解決の経隓が豊富な方で開発チヌムから゚スカレヌションされた事項に察しお、刀断を䞋せる暩限のある方がアサむンされるず良いです。たた、アゞャむル開発は未経隓の堎合でもりォヌタヌフォヌルのプロゞェクトマネゞメント経隓が豊富でこの機䌚にチャレンゞしたいマむンドがある方がアサむンされおも問題ありたせん。䜜業チヌムに関しおは、䜜業をしおいただく方がアサむンされたすので、AWSの基本スキルが必芁で察象のむンフラ、アプリが理解できおるこずが必須になりたす。 EBAのAWS支揎領域ですが、このプログラムはあくたで䌎走支揎のため䞻䜓はお客様になりたす。AWSはアドバむスやレビュヌをしたすが䜕か䜜るずいうこずはしたせん。トレヌニングや座孊ではありたせんので、前述のように参加メンバヌには必芁なスキルが定矩されおいたす。 モダナむれヌションEBA実斜に適しおいるお客様には぀のパタヌンがありたす。぀目はAWSをすでに利甚しおいるもののEC2がメむンでマネヌゞドサヌビスやサヌバヌレスなどクラりドネむティブなサヌビスを䜿っおただアプリケヌションを構築したこずがない状況のお客様です。぀目は察象がただオンプレにあっおクラりド移行時に合わせおモダナむズしたいず考えおいるが、経隓がないのでAWSに䌎走支揎しおほしいずいうお客様になりたす。この぀の状況に圓おはたるお客様はEBAの効果が倧きいので是非AWSぞお問い合わせいただきEBAの実斜をしおいただきたいず思っおおりたす。 最埌にEBAを実際に実斜された 匥生株匏䌚瀟様の事䟋を玹介させおいただきたす。 ご玹介するお客様は垂堎の倉化に柔軟に察応できる補品開発サむクル実珟のために組織を倉革 (アゞャむル開発察応) し、顧客の声をもずに改善できる補品蚭蚈 (マむクロサヌビス) をする必芁性を感じおおられたしたが、いわゆるりォヌタヌフォヌル型の開発に慣れおいるこずで倉化の激しいサヌビスを開発できる䜓制ができおいない状態でした。お客様はAWS 利甚経隓のある技術者が倚くいる状態で自力で倉革できる可胜性もありたしたが、AWSがパむロット開発を玄6週間短期集䞭支揎する本EBAの実斜を決定されお以䞋の開発スコヌプを぀蚭定されたした。 ・参加者党員が各自の圹割を果たし実䜓隓を埗るこず ・開発プロセスを確立させ動くものをデプロむできるこず ・スクラムによる開発スプリントを自分たちで回せるようになるこず たた本番を想定した開発プロセスをたわしお改善ポむントを芋぀けるこずをビルドデプロむ期間の目暙ずしおEBAを実斜いただいた結果、EBAを通しお4回のスプリントを経隓され、その䞭でアゞャむル開発のプロセスを䜓隓するのみならずマむクロサヌビスアヌキテクチャなどの開発生産性を高める仕組みも導入しおプロセスの改善も実斜されたした。3日間のビルドデプロむ期間でCI/CD Pipelineの構築も行ったこずでEBA実斜埌にも掻甚できる経隓もされたした。 これらの経隓を圓初の課題を解決する足掛かりずしおいただくこずで、EBA実斜の効果を最倧化しおいただけるものず考えおおりたす。 こちらのお客様の事䟋は、“ 技術的負債ずの戊い、マむクロサヌビスずアゞャむル開発ぞの挑戊 ”に詳しく蚘茉されおおりたすので是非ご芧ください。 たずめ 前埌線に枡っお「EBAずは䜕か」に぀いおご説明させおいただきたした。EBAの抂芁、実斜目的をご理解いただけたしたでしょうか。経隓䞍足などでモダナむれヌションの䞀歩を螏み出すのが難しい状況におられるお客様は、EBA実斜を通しお䌎走支揎させおいただきたすのでAWSぞお問い合わせください。 著者 カスタマヌ゜リュヌションマネヌゞメント統括本郚 カスタマヌ゜リュヌションマネヌゞャヌ (CSM) 服郚 昌克、宮本 雅勝 参考リンク モダナむれヌションを実践するEBA (前線) 技術的負債ずの戊い、マむクロサヌビスずアゞャむル開発ぞの挑戊 匥生×AWS×モダナむれヌション
こんにちは、カスタマヌ゜リュヌションマネヌゞャヌ (CSM) の宮本です。この蚘事では、モダナむれヌションを怜蚎しおいるお客様向けに、AWSがご提䟛するEBA (Experience-Based Acceleration) ずいうプログラムをご玹介したす。 以前、 こちらの蚘事 で、モダナむれヌションずは䜕か、およびEBAの抂芁に぀いお蚀及したした。EBAに興味を持たれた方の䞭には「ただただ具䜓的に䜕をするのかむメヌゞが぀かない」ずいう方もいらっしゃるず思いたす。 本蚘事では、前埌線に枡り、より具䜓的にEBAの内容をご説明し、むメヌゞを぀かんでいただきたいず思いたす。 前線では、EBAの抂芁、スケゞュヌルや期埅される効果、目暙蚭定に぀いおご玹介したす。 EBAの抂芁 EBAは、お客様のモダナむれヌションを加速させるModernization Accelerator (ModAx) ずいうプログラムの䞀郚です。ModAxでは、システムの評䟡ずアヌキテクチャ策定を行い、モダナむれヌション察象ずなるアプリケヌションを芋極め、実際にビルドデプロむを経隓しおいただきたす。このビルドデプロむを経隓いただくプログラムが、EBAです。 なお、システムの評䟡ずアヌキテクチャ策定は、MODAずいうプログラムにお実斜したす。 MODAずEBAは共に、AWS ITトランスフォヌメヌションパッケヌゞ for Cloud Nativeずしおご提䟛しおおりたす。詳现は こちらの蚘事 を参照ください。 たた、EBAはモダナむれヌションに限らず、基盀構築やマむグレヌションをテヌマに実斜する堎合もありたすが、本蚘事䞭で蚀及する”EBA”は、”モダナむれヌションをテヌマずしたEBA”の事を指したす。 EBAずは、お客様自身によるパむロット開発を䌎走型で支揎するプログラムです。 本栌的なモダナむれヌションの実珟に向け、お客様が行うパむロット開発を、玄6週間で蚭定し、“2 pizza team”や“2-way door”ずいう芁玠も取り入れながら、AWSが短期集䞭的に支揎し、最小プロダクトを開発いただく経隓を通しお、今埌のお客様の開発に圹立おおいただきたす。 “2 pizza team”や、“2-way door”ずいうのは、Amazonで甚いられおいる考え方です。これらの甚語は、関連蚘事である“ アプリケヌションのモダナむれヌションを加速するEBA ”で觊れおいたすので参照ください。 スケゞュヌルや期埅される効果 EBAは、5週間の準備期間ず、6週目の3日間で実斜するビルドデプロむで構成されおいたす。準備期間では、EBAの目暙、成功条件を定矩、具䜓的なタスクを決定し、芁件定矩・蚭蚈・実装を進めおいきたす。最埌の3日間では、参加者が䞀同に䌚し、集䞭的にビルドデプロむの䜜業を実斜し、最小限のプロダクトを完成させ、アプリケヌションのモダナむれヌションを実践しおいただきたす。 自ら手を動かしおモダナむれヌションを実践し、ノりハりず成功䜓隓を獲埗するず同時に、䜕が䞍足しおいるかを把握し、課題を敎理するこずで、今埌、お客様が本栌的に取り組んでいくモダナむれヌション蚈画の策定に圹立おおいただくこずを期埅しおいたす。 EBAに参加いただく方は、ある皋床AWSのサヌビスに粟通しおいる必芁がありたす。 そのため、EBAを実斜するうえで必芁な知識、スキルが䞍足しおいる堎合、事前にAWSが提䟛するトレヌニングを受講いただく事を掚奚したす。たた、AWSチヌムによる勉匷䌚を開催する事も可胜です。EBAの準備期間に入る前に、必芁最䜎限の知識、スキルを習埗いただきたす。 では、スキルも習埗したずころで、5週間の準備期間で䜕を実斜するかを玹介したす。 EBAではお客様ずAWSずで耇数のチヌムを構成したす。 倧きくは、ファシリテヌションを担圓するチヌムず、実䜜業を担圓するチヌムに分かれたす。ファシリテヌション担圓は1チヌムのみですが、䜜業担圓チヌムは芏暡に応じお確定させたす。ファシリテヌション担圓チヌム、䜜業チヌムに察しお、AWSチヌムがそれぞれサポヌトをさせおいただきながら、EBAを進めおいきたす。 目暙蚭定 最初に、EBAの目暙を明確にしたす。EBAの期間は6週間ず限られおいたす。そのため、EBAを䜕のために実斜するのか、䜕を達成すれば成功ずするのか、ずいう具䜓的な目暙を蚭定し、それを達成するために準備期間で必芁なタスクを進めおいきたす。 目暙蚭定は、非垞に重芁なポむントであり、同時にお客様が悩たれるポむントです。 EBAに参加する党員が、䜕を達成すべきなのかを明確に理解できる目暙を蚭定するこずが重芁です。目暙があいたいな堎合、EBA参加者によっお、䜕を達成するかの基準がずれる可胜性がありたす。EBAでは、2぀の芳点で目暙を蚭定したす。1぀は、EBAを実斜するこず自䜓の目暙で、成功基準ずも衚珟したす。もう1぀は、各䜜業チヌム毎の目暙です。 たず、重芁なのはEBAを実斜するこず自䜓の目暙 (成功基準) を蚭定するこずです。 EBA自䜓の目暙蚭定のために、なぜEBAを実斜するこずに決めたのか、EBA実斜埌にどうなりたいか、を改めお考えおみおください。アゞャむル開発 (スクラム) を取り入れお開発/リリヌスのスピヌドを䞊げたいのか、AWSの構築スキルやサヌビス知識を習埗しお自瀟で開発する力を身に付けたいのか、異なる郚門間の協業により組織の壁を取り陀きたいのか、実斜する理由や、目指すべき姿はさたざただず思いたす。目指すべき姿に合わせた目暙 (成功基準) を蚭定し、EBAにおそれを達成するこずで、ぜひ次のステップぞず繋げおいただきたいです。 その埌、各䜜業チヌムの目暙を蚭定したす。 各䜜業チヌムが、具䜓的にEBA期間䞭に䜕をするのかを定矩したしょう。䟋えば、「察象システムのプロトタむプを䜜成する」や、「スキルを向䞊させる」ずいう目暙を蚭定する堎合、プロトタむプは、具䜓的にどの機胜たで実装するかであったり、どのような基準でスキルが向䞊したこずを瀺すか、ずいう事を明確にし共通認識ずするこずが重芁です。 たた、珟実的な目暙に加えお、ストレッチ目暙を蚭定するこずを掚奚したす。 「ストレッチ目暙」ずは、もう少し頑匵れば、実珟できる皋床の難易床に蚭定された目暙のこずです。 皆さた、EBAの準備期間開始時のスキルや知識を前提に目暙を立おられたすが、実際に準備期間を進めおいくず、スキルや知識を習埗しおいき、準備期間䞭に最初に蚭定した目暙を達成するこずも起こり埗たす。最初の時点で、少し高めの目暙を蚭定し、さらに「ストレッチ目暙」を蚭定したしょう。 たずめ 前線ではEBAの抂芁、スケゞュヌルや期埅される効果、目暙蚭定に぀いお説明したした。 埌線では、最埌の6週目の3日間で䜕を実斜するのか、実斜䜓制やEBAにおAWSが支揎する事などに぀いお玹介したす。 参考リンク アプリケヌションのモダナむれヌションを加速するEBA AWS ITトランスフォヌメヌションパッケヌゞ 2023 ファミリヌITX 2023 著者 カスタマヌ゜リュヌションマネヌゞメント統括本郚 カスタマヌ゜リュヌションマネヌゞャヌ (CSM) 宮本 雅勝、服郚 昌克
AWS re:Invent 2023 は、11 月 27 日から 12 月 1 日たで、ネバダ州ラスベガスで開催されたす。これは、AWS が䞻催する 1 幎で最も包括的なむベントであり、AWS に぀いお孊び、スキルを磚くための最も早い方法です。 この蚘事では、関心のあるトピックを簡単に芋぀けられるように、モノのむンタヌネット (IoT) セッションの専甚トラックをキュレヌションし、敎理したした。IoT トラックには、自動車、産業、スマヌトホヌム、ロケヌションなどの重点分野がありたす。Innovation Talk ず Breakout Session は、AWS のオピニオンリヌダヌによる講矩圢匏で、倚くの堎合顧客スピヌカヌが出挔し、他の䌁業の同僚から盎接話を聞くこずができたす。Chalk Talk、Workshop、Builders’ Session は、よりむンタラクティブで技術的で実践的な内容で、AWS の技術専門家が䞻導したす。 たた、 Expo 内の AWS Village、開発者ラりンゞ、Industries Pavilion を蚪れお、AWS IoT の専門家ず䌚話を始めたり、IoT サヌビスを玹介するデモを芋たりするこずもできたす。 Innovation Talk クラりドテクノロゞヌがビゞネスの掚進にどのように圹立぀かを深く掘り䞋げる AWS リヌダヌずのセッションは必芋です。 AUT207-INT | クラりドにおける補造ずモビリティの革新 HYB207-INT | Innovation Talk: 新興技術 IoT セッション: クロスむンダストリヌ どの業界で働いおいおも、これらのセッションに参加するず、䞭栞ずなる IoT サヌビス、発衚、ナヌスケヌスに぀いお孊ぶこずができたす。 Breakout Session IOT211 | AWS IoT でビゞネスを革新し、顧客䜓隓を高める Chalk Talk IOT101 | Amazon Kinesis Video Streams で゚ッゞにある倚数の IP カメラを管理する IOT209 | IoT 接続: パフォヌマンス、コスト、統合のバランス IOT301-R | すべおの IoT ゜リュヌションの安党な基盀を構築する方法 [再挔あり] IOT307 | IoT ゜リュヌションの負荷テストを効果的に行うための戊略 Workshop IOT205 | 生成系 AI ず AWS IoT を䜿甚しお、絵を描く 2D ロボットを構築する IOT311 | IoT デヌタの取り蟌みず芖芚化のためのアヌキテクチャパタヌンを構築 Builders’ Session IOT304-R | AWS IoT ず AI/ML による自動動画モニタリングシステムを構築 [再挔あり] IoT セッション: 自動車 これらのセッションに参加しお、AWS IoT が安党な車䞡接続の確立ず車䞡デヌタの効果的な管理にどのように圹立぀かを孊びたしょう。 Breakout Session IOT204 | AWS IoT によるコネクテッドカヌプラットフォヌムの革新ず最新化 Chalk Talk IOT210 | AWS IoT によるコネクテッドカヌからのビッグデヌタワヌクロヌドの管理 IOT309-R | MQTT 5 で AWS IoT Core を䜿甚したアプリケヌションの革新 [再挔あり] Workshop IOT305 | AWS IoT を䜿甚しお車䞡党䜓の EV バッテリヌの異垞を怜出しよう IoT セッション: むンダストリアル これらのセッションに参加しお、゚ッゞからクラりドたで優れた運甚を実珟する最新の産業甚デヌタアヌキテクチャの蚭蚈に AWS IoT がどのように圹立぀かをご芧ください。 Breakout Session IOT206 | AWS での IoT による産業倉革の加速 Chalk Talk IOT212 | AWS IoT SiteWise によるデヌタヒストリアンのモダナむれヌション IOT310-R | AWS でデゞタルツむンを 60 分で構築する方法をわかりやすく解説 [再挔あり] Workshop IOT203-R | スマヌト補造のための自動異垞怜出 [再挔あり] IoT セッション: スマヌトホヌム これらのセッションに参加しお、AWS IoT が Matter、Amazon Sidewalk、AI などの新しいテクノロゞヌや仕様を取り入れ、費甚察効果が高く、将来を芋据えたスマヌトホヌム゜リュヌションを構築するのにどのように圹立぀かを孊んでください。 Breakout Session IOT207 | AWS IoT を掻甚した次䞖代のスマヌトホヌム゜リュヌション IOT213 | AWS IoT によるコネクテッドプロダクトず゜リュヌションのスケヌリング Chalk Talk IOT306-R | 生成系 AI を䜿甚した AWS IoT GreenGrass コンポヌネントの蚭蚈 [再挔あり] Workshop IOT202 | 芏栌に準拠した安党なコネクテッド補品を AWS IoT で構築する IOT302-R | 新しいスマヌトホヌムナニバヌス: Matter芏栌でIoT補品を蚭蚈する [再挔あり] IoT セッション: ロケヌション これらのセッションに参加しお、AWS IoT ず Amazon Location Service を䞀緒に䜿甚しお、アセットトラッキング、モバむル゚クスペリ゚ンス、ルヌト最適化などの分野で機胜を匷化する方法を孊びたしょう。 Breakout Session IOT208 | 䜍眮情報サヌビスによる顧客䜓隓の最適化 Chalk Talk IOT308 | AWS IoT ず Amazon Location Service でロゞスティクストラッキングを最適化する Workshop IOT303 | ロケヌションベヌスのサヌビスず Amazon Sidewalk を䜿甚したアセットトラッキング Expo Expo では、楜しんだり、AWS の専門家ず話したり、テクノロゞヌのデモを盎接芋たりするこずができたす。Expo ゚リアは広倧で、誰もが楜しめるものが揃っおいたす。時間をかけおできるだけ倚くのこずを芋おください。ただし、IoT に泚目したい堎合は、次の掚奚事項を確認しおください。 AWS Village — 新技術キオスク 新しいテクノロゞヌキオスクを蚪れお、IoT、ロボティクス、量子に関するデモをご芧ください。IoT デモは、AWS DeepRacer ハヌドりェアのカスタマむズされたバリ゚ヌションで、さたざたな接続テクノロゞヌ (Cellular LTE/NB-IoT、Wi-Fi、LoRaWAN) を玹介し、Alexa、Amazon Sidewalk、Amazon Location Service ずの盞互統合を玹介したす。AWS DeepRacer IoT デモでは、さたざたな業界の゚ッゞにおける AWS IoT の倉革の可胜性を探りたす。組織が AWS IoT Greengrass を䜿甚しお、コネクテッドカヌ、スマヌトシティ、蟲業などのシナリオで゚ッゞコンピュヌティングの力を匕き出す方法を瀺しおいたす。AWS IoT at the Edge が、むンテリゞェントでスケヌラブルな機胜をネットワヌクの゚ッゞにもたらすこずで、組織が物理䞖界ずデゞタル䞖界のギャップを埋めるのにどのように圹立぀かをご芧ください。 開発者ラりンゞ — Open Source Auto: Vegas Edition 魅力的でむンタラクティブな自動車運転のデモを䜓隓しおください。このデモでは、車䞡の状態の監芖から車内䜓隓の向䞊たで、ほがすべおのナヌスケヌスで AWS がどのように車䞡デヌタの䟡倀を匕き出すこずができるかを玹介しおいたす。リアルなタッチスクリヌンダッシュボヌド、ステアリングホむヌル、ペダル、バケットシヌトを備えた自動車甚コックピットの運転垭に足を螏み入れたす。シミュレヌタヌを䜿甚しお、街灯、曲がり角、障害物、ラむブトラフィックを備えた仮想郜垂景芳の道路をナビゲヌトしたす。ステアリング、ブレヌキ、加速䞭に、車䞡の CAN 信号やさたざたなセンサヌデヌタをほがリアルタむムで監芖しながら、実行䞭のアプリケヌションプロセスを把握できたす。AWS IoT FleetWise、AWS IoT Core、AWS IoT Greengrass など、最新の AWS IoT サヌビスず機胜がすべお実際に動䜜しおいるのがわかりたす。この魅力的なデモは、単なるシミュレヌションではありたせん。コネクテッドカヌ技術の未来ず、自動車の監芖ず分析の可胜性を垣間芋るこずができたす。 Industries Pavilion — 自動車 コネクテッドモビリティ — Connected Mobility Solution on AWS は、コネクテッドカヌむンフラストラクチャを開発、デプロむ、管理する際のわずらわしさ、時間、コストを削枛するように蚭蚈された環境をお客様やパヌトナヌに提䟛するプラットフォヌム゚ンゞニアリングサヌビスです。AWS IoT Core などの AWS サヌビスや、専甚の自動車サヌビスである AWS IoT FleetWise を䜿甚しお革新的な゜リュヌションを構築する方法をご芧ください。 OCPP 準拠の倧芏暡な EV 充電 — 化石燃料から電気自動車ぞの移行は、正味れロ排出量を達成するための政府および商業公玄の重芁な芁玠です。チャヌゞポむントオペレヌタヌ (CPO) は、定期的なリモヌトおよびオンサむトメンテナンス、ヘルスメトリックの収集、運甚構成の管理を担圓したす。AWS IoT Core、Amazon Elastic Container Service、AWS Lambda などのサヌビスを䜿甚しお、EV 業界暙準である OCPP に基づいお、スケヌラブルで䜎レむテンシヌの CPO ゜リュヌションを構築する方法をご芧ください。お客様は、AWS のマネヌゞドサヌビスによっお、倧芏暡な EV 料金の運甚に関連する手間のかかる䜜業がどのように軜枛されるかを孊ぶこずができたす。 Industries Pavilion — 補造 スマヌト補造 | スマヌト補造による運甚䞊の掞察の促進 — Amazon スマヌト補造のデモでは、目芖怜査、材料トレヌサビリティ、状態ベヌスモニタリング、クラりド䞻導の自動化を実蚌する産業サヌビス (産業甚 IoT ず機械孊習) ず゜リュヌション (産業デヌタファブリック) 向けの AWS を玹介したす。デモには、リニアトラック、ピックアンドプレヌスロボット、目芖怜査カメラが含たれおいたす。これらは、AWS の産業甚オヌトメヌション機噚を䜿甚しお、AWS Snowcone 䞊で皌働する産業甚゚ッゞを介しお統合されたす。 機械孊習 | 機械孊習による産業オペレヌションの最適化 — このデモでは、お客様が異垞な状態 (異垞振動) を起こし、Amazon Monitron ワむダレスセンサヌが振動デヌタを Monitron Gateway ず AWS に送信するのを芋るこずができるモヌタヌを取り䞊げたす。Amazon Monitron アプリケヌションを通じお、異垞なモヌタヌ状態に関するアラヌトが届くのを確認でき、アクションを起こすのがいかに簡単かを知るこずができたす。さらに、品質怜査ずコンピュヌタヌビゞョン (CV) がどのように品質怜査を自動化できるかを玹介したす。 生成系 AI | 補造業向けの生成系 AI アプリケヌションの構築 — 産業䌁業は、革新的な新補品蚭蚈の開発、か぀おないレベルの補造生産性の向䞊、サプラむチェヌンアプリケヌションの最適化など、生成系 AI を掻甚しおビゞネスを倉革する方法を暡玢しおいたす。アマゟン りェブ サヌビスにより、メヌカヌが基盀モデルを䜿甚しお生成的な AI ベヌスのアプリケヌションを簡単に構築およびスケヌリングできるようになった様子を瀺すデモをご芧ください。 たずめ re:Invent 2023 に皆様をお迎えし、最新のニュヌスやむノベヌションを共有できるのを楜しみにしおいたす。 re:Invent のりェブサむト で詳现を確認し、 フルセッションカタログ をご芧ください。近いうちにお䌚いしたしょう この蚘事は Olivia Bias によっお曞かれた Get connected with AWS IoT at re:Invent 2023 の日本語蚳です。この蚘事は゜リュヌションアヌキテクトの岡本晋倪朗が翻蚳したした。
この蚘事は Announcing remote cache support in Amazon ECR for BuildKit clients (蚘事公開日 : 2023 幎 10 月 24 日) の翻蚳です。 この機胜は、 バヌゞョン 25.0 のリリヌス 時に Docker によっおプリむンストヌルされ、サポヌトされる予定です。この機胜は、Buildkit バヌゞョン 0.12 以降ですでにリリヌスされおおり、珟圚は Finch バヌゞョン 0.8 以降で利甚可胜です。 導入 Amazon Elastic Container Registry (Amazon ECR) は、お客様がコンテナむメヌゞずアヌティファクトを保存、共有、デプロむするために䜿甚する、完党マネヌゞドなコンテナレゞストリです。Amazon ECR は、AWS 環境ず非 AWS 環境の䞡方で、お客様のビルドずデプロむのパむプラむンの䞀郚ずしお、数十䞇人のお客様によっお䜿甚されおいたす。 お客様が Amazon ECR や他のレゞストリで最も頻繁に䜜業するのは、コンテナむメヌゞのパッケヌゞ化ずレゞストリぞの保存を担圓するコンテナクラむアントです。これらの倚くのクラむアントは、 BuildKit ずしお知られる䞀般的なオヌプン゜ヌスのむメヌゞビルドツヌルキットを䜿甚しおいたす。これには、 Docker (23.0 以降)、 Finch 、 Earthly などのクラむアントが含たれたす。ビルド時に、クラむアントはコンテナむメヌゞの各レむダヌを、むメヌゞが完成するたで 1 ぀ず぀ビルドしたす。 䞀郚のレむダヌはビルド間であたり倉曎されないため、クラむアントはビルドしたすべおのレむダヌのロヌカルコピヌを保存し、その埌のビルドでこのロヌカルキャッシュを再利甚したす。これは、毎回レむダヌを再ビルドするよりもはるかに高速です。 ただし、これはビルドランナヌたたはワヌカヌが各ビルド実行ごずに同じコンピュヌト環境で実行される堎合にのみ機胜したす。 GitHub Actions や GitLab CI Enterprise などの䞀般的な CI/CD プラットフォヌムは、ビルドごずに䞀時的なコンピュヌトを䜿甚するため、ロヌカルキャッシュを構築および䜿甚するこずができたせん。 ゜リュヌションの抂芁 䞀時的なコンピュヌトツヌルでもキャッシュを䜿甚できるようにするために、 BuildKit は 2020 幎にリモヌトキャッシュを゚クスポヌトする機胜を導入したした。 これらのリモヌトキャッシュは、ロヌカルのレむダヌキャッシュず同様に機胜したす (぀たり、レむダヌは栌玍され、スクラッチから再構築する代わりに䜿甚されたす) 。 唯䞀の違いは、ビルドされた各レむダヌがリモヌトレゞストリに送信され、埌続のビルドでロヌカルキャッシュにない堎合に取埗されるこずです。 AWS のお客様は、この機胜を䜿甚しおむメヌゞのビルドを速めるこずを望んでおり、 Amazon ECR でのサポヌトを求めおいたした。 ただし、これらのキャッシュを栌玍するために䜿甚されるフォヌマットは、 Open Containers Initiative (OCI) 圢匏ではありたせんでした。 Amazon ECR は OCI 準拠のレゞストリであるため、このリモヌトキャッシュフォヌマットを Amazon ECR にプッシュするず、怜蚌に倱敗したす。 BuildKit は最近バヌゞョン 0.12 をリリヌスしたした。このバヌゞョンには、リモヌトビルドキャッシュを OCI 互換の方法で生成および保存できる゜リュヌションを提䟛しおいたす。これには Amazon ECR ゚ンゞニアからの貢献 が含たれおいたす。これは、 BuildKit が Amazon ECR のように OCI 仕様を実装するレゞストリでビルドキャッシュを保存および取埗できるこずを意味したす。このアップデヌトにより、ビルドおよびプッシュされたむメヌゞずは別に、キャッシュむメヌゞを Amazon ECR リポゞトリにプッシュできるようになりたす。このキャッシュむメヌゞは、埌のビルドで参照でき、ノヌト PC からのプッシュか、 GitLab や GitHub Actions などのプラットフォヌム䞊の本番 CI/CD ビルドからのプッシュかに関わらず、プッシュ時間を倧幅に短瞮するこずができたす。 りォヌクスルヌ Amazon ECRでのリモヌトキャッシュの䜿い方 これらの䟋では、 Docker を䜿甚したす。バヌゞョン 25.0.0 以降を実行しおいるこずを確認しおください。これには、 Amazon ECR やその他の OCI 互換レゞストリで機胜するために必芁な倉曎が含たれおいる BuildKit 0.12 が含たれおいたす。これらの䟋は、ロヌカルの開発環境で実行するか、 CI/CD プラットフォヌムのビルドスクリプトで䜿甚できたす。 䟋えば次のようにしお、 CI/CD には Docker を䜿甚しおむメヌゞをロヌカルでビルドし、その埌ビルドしたむメヌゞを Amazon ECR にプッシュするビルドステップをおこないたす。 docker build -t <account-id>.dkr.ecr.<aws-region>.amazonaws.com/buildkit-test:image . docker push <account-id>.dkr.ecr.<aws-region>.amazonaws.com/buildkit-test:image Apache Configuration Amazon ECR にキャッシュを入力し、その埌のビルドで䜿甚するようにするには、ビルドコマンドに –cache-to および –cache-from オプションを远加したす。 docker build -t <account-id>.dkr.ecr.<my-region>.amazonaws.com/buildkit-test:image \ --cache-to mode=max,image-manifest=true,oci-mediatypes=true,type=registry,ref=<account-id>.dkr.ecr.<my-region>.amazonaws.com/buildkit-test:cache \ --cache-from type=registry,ref=<account-id>.dkr.ecr.<my-region>.amazonaws.com/buildkit-test:cache . docker push <account-id>.dkr.ecr.<my-region>.amazonaws.com/buildkit-test:image Apache Configuration 䞀芋倚くの蚭定があるように芋えたすが、远加したこずを順を远っお芋おいきたしょう。 cache-to ず cache-from ずいう 2 ぀の新しいオプションセットがありたす。 cache-to オプションは、 ref ずいう匕数のコンテキストキヌで指定されたむメヌゞ URI に基づいお、゚クスポヌト先(たたは䜜成先)のリモヌトキャッシュを指定したす。ここでのむメヌゞ URI は、実際にビルドされおいるタグ付きむメヌゞずは異なるこずに泚意しおください。必芁に応じお、キャッシュの URI を Amazon ECR の別のリポゞトリを指すように蚭定できたすが、これは必須ではありたせん。 type ずいう匕数のコンテキストキヌで指定された倀 registry は、レゞストリにプッシュするリモヌトキャッシュを䜜成しおいるこずを意味したす。 Buildkit 0.12 で導入された新しいコンテキストキヌは image-manifest です。このキヌの倀を true に蚭定するず、レゞストリに OCI 互換バヌゞョンのリモヌトキャッシュを保存できるようになりたした。たた、 image-manifest を䜿甚するには oci-mediatypes を true に蚭定する必芁があるため、それも蚭定しおいたす。リモヌトキャッシュは ref のむメヌゞ URI で暗黙的にプッシュされるため、ビルドステップに別の push コマンドを远加する必芁はありたせん。 cache-from オプションは、Dockerfile で特定のビルドステップを実行する代わりに BuildKit が取埗できるキャッシュの堎所を指定したす (ただし、そのレむダヌずそれ以前のレむダヌに぀いお 䜕も倉曎されおいない堎合 )。この堎合、cache-to で指定したキャッシュマニフェスト URI を持぀ Amazon ECR リポゞトリから取埗されたす。 芁玄するず、 cache-to はリモヌトキャッシュマニフェストを゚クスポヌトし将来のビルドを高速化するための準備をするものであり、 cache-from ぱクスポヌトされたリモヌトキャッシュマニフェストを利甚しお、珟圚のビルドを高速化したす。キャッシュが最初に存圚しない堎合、 cache-from は諊めおキャッシュを䜿甚しないため、新しいビルドステップに䞡方を同時に導入できたす。この 1 ぀の倉曎により、レむダヌが倉曎されるたびに新しいビルドがリモヌトキャッシュを曎新し、すべおのビルドが垞に最新のキャッシュを䜿甚したす。 このビルドを実行しお AWS コン゜ヌルに移動し、 Amazon ECR にプッシュされた内容を確認しおみたしょう。 むメヌゞずキャッシュがあるこずがわかりたす。埌続のビルドでは、 Dockerfile のキャッシングのベストプラクティス に埓うビルドの堎合、むメヌゞのビルドステップがかなり速くなるはずです。 CI/CD ゜リュヌションを最新バヌゞョンの Docker たたは BuildKit にアップデヌトする方法に぀いおは、 CI/CD プロバむダヌのドキュメントを参照しおください。代衚的な CI/CD ゜リュヌションのアップデヌト方法の䟋を玹介したす。 GitLab CI の堎合 GitLab Runner の docker image の tag を最新バヌゞョンの dind に簡単に倉曎できるはずです。 GitHub Actions では、 setup-buildx-action を、バヌゞョンが最新に蚭定されおいるか、バヌゞョン文字列が 0.12 以降に蚭定されおいるこずを確認しおください。 Travis CI の堎合は、 こちら から Travis むンストレヌションを曎新できたす。 CircleCI の堎合、yml の setup_remote_docker にあるバヌゞョンを、 こちら に瀺されおいるサポヌトされおいる最新のバヌゞョンに倉曎できるはずです。 たずめ このブログ蚘事で説明した゜リュヌションを䜿甚するず、 Amazon ECR にリモヌトビルドキャッシュを保存するこずでコンテナのビルドを高速化できたす。私たちの信条は、 AWS のお客様だけでなく、 OCI のようなオヌプン゜ヌスコミュニティや暙準にも適した゜リュヌションを提䟛するこずです。 Amazon ECR では、 BuildKit ぞのサポヌトの組み蟌みが、よりオヌプンで互換性のあるリモヌトキャッシュ゜リュヌションを実珟したず考えおいたす。今すぐ CI/CD のビルドパむプラむンでリモヌトキャッシュをお詊しいただき、高速で䞀貫したむメヌゞビルド時間のメリットを䜓隓しおください 筆者 Matt Kang 翻蚳は゜リュヌションアヌキテクトの瀧田 盎斗が担圓したした。原文は こちら です。
2023 幎 10 月に公開された AWS Black Belt オンラむンセミナヌの資料及び動画に぀いおご案内させお頂きたす。 動画はオンデマンドでご芖聎いただけたす。 たた、過去の AWS Black Belt オンラむンセミナヌの資料及び動画は「 AWS サヌビス別資料集 」に䞀芧がございたす。 YouTube の再生リストは「 AWS Black Belt Online Seminar の Playlist 」をご芧ください。 AWS Control Tower 機胜玹介線 統制の効いたマルチアカりント環境を構築する際に AWS Control Tower は有力な遞択肢です。AWS Black Belt Online Seminar AWS Control Tower 機胜玹介線では、AWS Control Tower の各機胜の詳现を玹介いたしたす。 資料 PDF  | 動画 YouTube  察象者 AWS Control Tower に興味のある方 AWS Control Tower に぀いお深く孊びたい方 本 BlackBelt で孊習できるこず AWS Control Tower の各機胜の詳现 ランディングゟヌン コントロヌル Account Factory スピヌカヌ 桂井俊朗 ゜リュヌションアヌキテクト AWS Lake Formation AWS Lake Formation は安党なデヌタレむクを簡単に䜜るこずができるサヌビスです。䞻芁な機胜ずしおデヌタレむクぞの䞀元的なアクセス制埡やデヌタレむクぞのデヌタ投入、クロスアカりントやクロスリヌゞョンでのデヌタ共有を行うこずが可胜です。 資料 PDF  察象者 前提知識は、「AWS のグロヌバルむンフラストラクチャやフルマネヌゞドサヌビスの抂念」ず「AWS の基盀ずなるサヌビスの基本的な知識」です。 察象者は安党なデヌタレむクを䜜る䞊で「AWS Lake Formation」で䜕ができるのかを知りたい方です。 本 BlackBelt で孊習できるこず AWS Lake Formation の基本的なサヌビス抂芁、Lake Formation の仕組み、Lake Formation の各皮機胜の詳现を解説したす。 スピヌカヌ 䜐藀祥倚 アナリティクススペシャリスト゜リュヌションアヌキテクト Amazon SageMaker Canvas ノヌコヌドで始める機械孊習【ML-Dark-10】 Amazon SageMaker Canvas を利甚しおノヌコヌドで機械孊習を始める方法に぀いお解説したした。 資料 PDF  | 動画 YouTube  察象者 ただ機械孊習の知識・スキルはないけど、業務に機械孊習を掻甚したい方 デヌタ分析・機械孊習のワヌクロヌドを効率化したい方 本 BlackBelt で孊習できるこず Amazon SageMaker Canvas の䜿い方・䜿いどころ ビゞネス課題ぞ機械孊習を適甚するはじめの䞀歩 既存の ML ワヌクロヌドを効率化する方法 スピヌカヌ 小杉知己 プロフェッショナルサヌビス AWS Application Discovery Service の抂芁AWS 移行準備シリヌズ クラりド移行をはじめるには、品質や TCO を考慮し぀぀移行プランを䜜成する等入念な移行準備が必芁になりたす。AWS では、そのための情報を収集する Discovery ツヌルを提䟛しおいたす。本セッションでは、そのうちの1぀、゚ヌゞェントたたぱヌゞェントレス型での情報収集を行う AWS Application Discovery Service をご玹介したす。 資料 PDF  | 動画 YouTube  察象者 移行案件に関わったこずのある、これから関わられる方の内、移行を䌁画・怜蚎䞭の方、移行プランの策定を行う方、IT 資産の棚卞しを怜蚎䞭の方、特に、䞊蚘に取り組たれる PM 、アヌキテクトの方 本 BlackBelt で孊習できるこず Discovery 䜜業情報収集の必芁性、および AWS Application Discovery Service の抂芁 スピヌカヌ 鈎朚槙将 ゜リュヌションアヌキテクト Amazon Monitron Part 2蚭定線 Amazon Monitron は回転機噚の振動や枩床デヌタを、蚭備に貌り付けた電源䞍芁のセンサヌデバむスでクラりド䞊ぞ収集しクラりドで分析するこずで、朜圚的な障害の予兆を怜知しお、蚈画倖のダりンタむム発生を防止する゜リュヌションです。このセミナヌでは Amazon Monitron シリヌズ Part 2 ずしお、Amazon Monitron を賌入し実際に利甚開始する方法を説明したす。 資料 PDF  | 動画 YouTube  察象者 工堎、プラント、物流拠点等で蚭備の蚈画倖ダりンタむムを枛らしたい方 モヌタヌ・ギア・ベアリング・ポンプ・コンプレッサヌなどの回転䜓郚品を倚く皌働させおおりそれらの点怜保守を効率化したい方 機噚の蚈画保守定期的な点怜保守を枛らし、デヌタに基づく予枬型保守を導入したい方 Amazon Monitron ( 基瀎線Part1 で Amazon Monitron の仕組みを孊んだ方 本 BlackBelt で孊習できるこず Amazon Monitron ( 基瀎線Part1 で Amazon Monitron の仕組みを孊んだ方向けに、今回の Part 2 では Amazon Monitron を賌入し実際に利甚開始する方法を説明したす。 スピヌカヌ 䌊藀ゞャッゞ向子 ゜リュヌションアヌキテクト Amazon EventBridge グロヌバル゚ンドポむント この動画では、Amazon EventBridge のグロヌバル゚ンドポむントの機胜に぀いお玹介したす。本機胜を䜿甚するこずで、システムのレゞリ゚ンスを向䞊させ、より堅牢なアプリケヌションを開発するこずが可胜になりたす。 資料 PDF  | 動画 YouTube  察象者 Amazon EventBridge に぀いお基本的な知識をお持ちの方 システムのレゞリ゚ンス向䞊に興味のある方 Amazon EventBridge を利甚したマルチリヌゞョン構成をご怜蚎の方 本 BlackBelt で孊習できるこず EventBridge グロヌバル゚ンドポむントを䜿甚した高可甚性アプリケヌションの蚭蚈・開発方法 スピヌカヌ 櫻谷広人 パヌトナヌ゜リュヌションアヌキテクト Amazon Connect カスタム CCP による埓業員䜓隓の向䞊 Amazon Connect では、公開しおいる API を䜿甚しおお客様が゜フトフォンを自由にカスタマむズ可胜です。本セッションはコンタクトセンタヌにおける様々な課題のうち埓業員䜓隓の課題にフォヌカスし、技術的な解決方法ずしおサンプルのカスタム゜フトフォンをご玹介し、アヌキテクチャを詳现に解説したす。 資料 PDF  | 動画 YouTube  察象者 Amazon Connect カスタム CCP の具䜓的な実装䟋を知りたい方 フロント゚ンド/バック゚ンド開発の基本的な知識のある方 本 BlackBelt で孊習できるこず Amazon Connect の゚ヌゞェントむンタフェヌスを拡匵するための実装方法、および Amazon Connect のメトリクスを取埗する際の泚意点に぀いお孊習できたす。 スピヌカヌ 枅氎幞兞、小柳ちか子 Amazon Connect スペシャリスト ゜リュヌションアヌキテクト、プロトタむピング゚ンゞニア Amazon Connect Google Chrome サヌドパヌティ Cookie の段階的廃止に関する察応 Google 瀟のプラむバシヌサンドボックスの取り組みの䞀環ずしお、Google Chrome におサヌドパヌティ Cookie を段階的に廃止する蚈画が発衚されたした。このセミナヌでは、Amazon Connect で Chrome を継続的にご䜿甚頂くために必芁な察応に぀いお説明したす。 資料 PDF  | 動画 YouTube  察象者 Amazon Connect をご利甚䞭の゚ンドナヌザヌ様、パヌトナヌ様 Amazon Connect でカスタム CCP に関する基本的な知識や開発経隓をお持ちの技術者 本 BlackBelt で孊習できるこず Chrome のサヌドパヌティ Cookie 廃止に䌎いカスタム CCP や CTI Adapter においお必芁な察応および泚意点 スピヌカヌ 梅田裕矩 ゜リュヌションアヌキテクト Amazon EC2 Auto Scaling スケヌリングポリシヌずおすすめ機胜線 Amazon EC2 Auto Scaling の掻甚線ずしお、スケヌリングポリシヌずおすすめ機胜に぀いおご玹介いたしたす。 資料 PDF  | 動画 YouTube  察象者 AWS 基盀環境のむンフラを担圓されおいる方 EC2 むンスタンスの自動スケヌルず管理に必芁な知識を知りたい方 本 BlackBelt で孊習できるこず Auto Scaling サヌビス矀の敎理、什和におすすめのスケヌリングポリシヌ、よくあるご質問をご玹介したす。 スピヌカヌ 滝口開資 シニアスペシャリスト゜リュヌションアヌキテクト AWS CloudFormation DeepDive ç·š AWS CloudFormation は、むンフラストラクチャをコヌドずしお扱うこずで、リ゜ヌスをモデル化、プロビゞョニング、管理するこずができたす。 本セミナヌでは、AWS CloudFormation を掻甚する䞊で有効な機胜に぀いお玹介しおいきたす。 資料 PDF  | 動画 YouTube  察象者 AWS CloudFormation の深い機胜を知りたい方 カスタムリ゜ヌスやマクロなどカスタム機胜に぀いお詳现を知りたい方 本 BlackBelt で孊習できるこず カスタムリ゜ヌスやマクロずいったカスタム機胜の詳现 スタックやリ゜ヌスの保護に関する機胜 AWS CodePipeline ず組み合わせた構成䟋 スピヌカヌ 山本䞀生 クラりドサポヌト゚ンゞニア AWS CloudFormation CloudFormation レゞストリ線 AWS CloudFormation は、むンフラストラクチャをコヌドずしお扱うこずで、リ゜ヌスをモデル化、プロビゞョニング、管理するこずができたす。 本セミナヌでは、CloudFormation レゞストリの抂芁や機胜、実装に぀いお解説いたしたす。 資料 PDF  | 動画 YouTube  察象者 CloudFormation レゞストリに興味のある方 CloudFormation 䞊で独自に実装したロゞックを実行されたい方 本 BlackBelt で孊習できるこず CloudFormation レゞストリの抂芁や機胜 CloudFormation に察応したリ゜ヌスの実装方法 スピヌカヌ 山本䞀生 クラりドサポヌト゚ンゞニア AWS CloudFormation よくあるナヌスケヌスず質問線 AWS CloudFormation の よくあるナヌスケヌス別の䜿い方や質問に぀いお解説したす。 資料 PDF  | 動画 YouTube  察象者 本セミナヌでは、AWS CloudFormation の ナヌスケヌス や よく聞かれる疑問に興味のある方 AWS の基本的な抂芁や操䜜、AWS CloudFormation の甚語に぀いお理解しおいる方 本 BlackBelt で孊習できるこず よくあるナヌスケヌスずしお、手動で䜜ったリ゜ヌスの CloudFormation の管理化に入れる方法や CloudFormation テンプレヌトの分割方法、耇数の AWS アカりントやリヌゞョンに基本蚭定を展開するなどの様々な䟋を取り䞊げお解説したす。 スピヌカヌ 朚村友則 ゜リュヌションアヌキテクト AWS Budgets AWS Budgets を䜿甚するず、想定倖の料金の増加にいち早く気付くこずができたす。 AWS Budgets を䜿甚した予算、予算レポヌトのポむント、蚭定方法をご玹介したす。 資料 PDF  | 動画 YouTube  察象者 AWS 料金の予算管理をしたい方 AWS 料金の想定倖の増加にいち早く気付きたい方 AWS 料金の予枬するこずにより、既存の蚈画の改善をしたい方 本 BlackBelt で孊習できるこず AWS Budgets の抂芁ず基本的な䜿い方 AWS Budgets Report の抂芁ず基本的な䜿い方 AWS Chatbot を䜿甚したチャットツヌルずの連携方法 スピヌカヌ 岡本迅人 シニアテクニカルアカりントマネヌゞャ Amazon CodeCatalyst Overview ç·š Amazon CodeCatalyst は、アプリケヌションの開発、ビルド、デプロむ、およびテストを簡単か぀迅速に行うための「統合゜フトりェア開発サヌビス」です。Overview 線では、Amazon CodeCatalyst の党䜓像を解説したす。 資料 PDF   察象者 チヌム開発をするすべおのアプリケヌション開発者 Amazon CodeCatalyst の党䜓像を理解したい方 本 BlackBelt で孊習できるこず Amazon CodeCatalyst のメリット Amazon CodeCatalyst の機胜ず抂念 Amazon CodeCatalyst の料金 スピヌカヌ 䞉尟泰士 ゜リュヌションアヌキテクト Amazon GameLift FleetIQ Amazon GameLift FleetIQ は、セッションベヌスのオンラむンマルチプレむダヌゲヌムの専甚ゲヌムサヌバヌをホスティングする AWS サヌビス Amazon GameLift に含たれる、専甚ゲヌムサヌバヌ向けに Amazon EC2 ず Amazon EC2 Auto Scaling の掻甚を最適化するホスティングオプションです。 本セミナヌでは、Amazon GameLift FleetIQ の抂念ず統合方法に぀いお䜓系的に解説したす。 資料 PDF  | 動画 YouTube  察象者 柔軟性の高い専甚ゲヌムサヌバヌホスティングサヌビスを怜蚎されおいる方 既存の専甚ゲヌムサヌバヌを AWS でホスティングしたい方 Amazon GameLift FleetIQ の導入予定・怜蚎䞭の方 本 BlackBelt で孊習できるこず Amazon GameLift FleetIQ の抂念ず統合方法 スピヌカヌ 安藀怜倮 ゜リュヌションアヌキテクト 今埌の Black Belt オンラむンセミナヌ たた、珟時点で予定されおいる今埌の Black Belt オンラむンセミナヌに぀いおは以䞋の通りです。 公開月 タむトル 登壇予定者 2023-11 Amazon Linux 最新情報 ゜リュヌションアヌキテクト 寺郚祐菜 2023-11 Karpenter Basic ゜リュヌションアヌキテクト 倚田慎也 2023-11 AWS SAW – セルフサヌビス自動化ランブックを䜿甚したトラフィック監芖の芖芚化 Amazon Virtual Private Cloud (Amazon VPC) ç·š クラりドサポヌト゚ンゞニア 䞭村䜑垌 2023-11 AWS CloudFormation#2 基瀎線 クラりドサポヌト゚ンゞニア 䞊原優暹 2023-11 AWS CloudFormation 開発・テスト・デプロむ線 ゜リュヌションアヌキテクト 山川達也 2023-11 AWS SAW – セルフサヌビスなトラブルシュヌティングず運甚の自動化 Amazon Elastic Kubernetes Service (Amazon EKS) ç·š クラりドサポヌト゚ンゞニア 坂元韍倪 2023-11 AWS SAW – セルフサヌビスなトラブルシュヌティングず運甚の自動化 Amazon Elastic Compute Cloud – Windows ç·š クラりドサポヌト゚ンゞニア 和田智優 2023-11 Amazon CloudWatch Evidently テクニカルアカりントマネヌゞャヌ 日平倧暹 2023-11 AWS SAW – Nitro システムぞの移行を支揎する SAW ランブックのご玹介EC2 Linux 線 クラりドサポヌト゚ンゞニア 枡邉亮藏 2023-11 AWS SAW – セルフサヌビスなトラブルシュヌティング Amazon S3 + AWS Lambda ç·š クラりドサポヌト゚ンゞニア 石川盎哉 2023-12 Amazon DynamoDB: Under the hood ゜リュヌションアヌキテクト 堀勇人 2023-12 Amazon CodeCatalyst Dev Environment ç·š ゜リュヌションアヌキテクト 髙柎元 2023-12 Amazon CodeCatalyst Project ç·š ゜リュヌションアヌキテクト 堀竜慈 2023-12 Amazon CodeCatalyst Space ç·š ゜リュヌションアヌキテクト 柳久保友貎 2023-12 Amazon CodeCatalyst Workflow ç·š パヌトナヌ゜リュヌションアヌキテクト 田侭 創䞀郎 2023-12 Amazon CodeCatalyst Issues ç·š ゜リュヌションアヌキテクト 江口昌宏 2023-12 Amazon MemoryDB Overview ゜リュヌションアヌキテクト 堀勇人 2023-12 モダナむれヌションプロゞェクト立ち䞊げのポむント ゜リュヌションアヌキテクト 平岩梚果 2023-12 Amazon DataZone Overview ゜リュヌションアヌキテクト 平井健治 2023-12 移行戊略 (7R) の抂芁AWS 移行準備シリヌズ テクニカルむンストラクタヌ 杉山倧倢 2023-12 AWS ぞの倧芏暡移行のための戊略ずベストプラクティス カスタマヌ゜リュヌションマネヌゞャヌ 倧熊正浩