AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3661ä»¶

みなさん、明けたしおおめでずうございたす。゜リュヌションアヌキテクトの杉山です。幎末幎始で 1 週 Skip させおいただいたため、2 週たずめお 週刊AWS をお届けしたす。 幎末幎始に SNS でバズっおいた (?) レシピを䜿っお、自宅で豚骚ラヌメンを䜜りたした。たるで倖出先のお店でいただけるような味にできお、ちょっずした充実があり、リフレッシュできたした。 それでは、䞻なアップデヌトに぀いお振り返っおいきたしょう。 2024幎12月23日 – 30日 週の䞻芁なアップデヌト 12/23(月) Amazon SES Mail Manager でログ機胜に察応 Amazon SES の Mail Manager でログ機胜を提䟛開始したした。Mail Manager は組織内でメヌルを送受信する際に、コンプラむアンスを䞀元的に管理できる機胜セットです。䟋えば、DKIM が Pass になったメヌルのみ受信する、Trend Micro Virus Scanning ず連携しりむルススキャン埌にメヌルを受信する、ずいったルヌル管理が可胜です。この Mail Manager に CloudWatch Logs、S3、Firehose ぞログを出力する機胜が远加され、詳现なトラブルシュヌトなどがやりやすくなりたした。詳现は こちらの Document を参照ください。 Amazon Lightsail API ゚ンドポむントが IPv6 での接続をサポヌト Amazon Lightsail API ゚ンドポむントが IPv6 プロトコルをサポヌトし、IPv6 での接続が可胜になりたした。埓来の゚ンドポむントは IPv4 専甚でしたが、新たに IPv6 接続が可胜な dual-stack ゚ンドポむント䟋 : lightsail.ap-northeast-1.api.awsが远加されたした。詳现は こちらの Document を参照ください。 AWS CloudTrail が Internet Protocol Version 6 (IPv6) をサポヌト AWS CloudTrail は CloudTrail API ゚ンドポむントでデュアルスタックを導入し、IPv6 での接続が可胜になりたした。たた、AWS PrivateLink を䜿甚しお VPC から CloudTrail API ゚ンドポむントにプラむベヌトにアクセスする堎合でも、デュアルスタックが利甚可胜です。 12/26(火) Amazon EKS が Kubernetes バヌゞョンのサポヌトステヌタスなどを取埗する API を远加 Amazon EKS で Kubernetes バヌゞョンのサポヌトステヌタスなどを取埗する API を远加したした。 DescribeClusterVersions API を AWS CLI や SDK などから利甚でき、各 Cluster Version のリリヌス日、Standard Support の期限、Extended Support の期限などを確認できたす。たた、各バヌゞョンに぀いお、珟状 Standard Support なのか、Extended Support なのか、サポヌト期限切れかどうかを確認できたす。埓来 AWS Document から確認 できたしたが、これをプログラムから取埗できるようになった圢です。 12/27(æ°Ž) Amazon EC2 I7ie むンスタンスが AWS US East (Ohio)、US West (Oregon) リヌゞョンで利甚可胜 Amazon EC2 で、I7ie むンスタンスがオハむオ、オレゎンリヌゞョンで利甚可胜になりたした。I7ie は高密床ストレヌゞ最適化むンスタンスで、倧芏暡なデヌタセットにアクセスする際に、非垞に䜎いレむテンシヌで、高いランダム読み取り/曞き蟌み性胜が必芁なワヌクロヌドに最適です。最倧 120 TB のロヌカル NVMe ストレヌゞを提䟛し、前䞖代むンスタンスず比范しお最倧 2 倍の vCPU ずメモリを提䟛したす。 1/2(朚) AWS Application Discovery Service で IPv6 ゚ンドポむントをサポヌト AWS Application Discovery Service (ADS) で、IPv6 ゚ンドポむントをサポヌトしたした。Application Discovery Service は、クラりド移行の䞀環で、移行元のサヌバヌやアプリケヌションを自動的に発芋し、それらのシステム構成、䜿甚状況、パフォヌマンスデヌタ、などの詳现な情報を収集したす。リ゜ヌスのサむゞング、アプリケヌション間の䟝存関係の把握などに利甚できたす。IPv6 をサポヌトするようになり、より幅広いネットワヌク環境でご利甚しやすくなりたした。 1/3(金) AWS WAF コン゜ヌルに新しいトップむンサむトのダッシュボヌド機胜を远加 AWS WAF のコン゜ヌルダッシュボヌドに、トラフィックに関するむンサむトを提䟛する、より充実したダッシュボヌド機胜を远加したした。CloudWatch Logs に蓄積しおいるデヌタを掻甚し、URI Path、HTTP Method、接続元 IP、User agent などの属性ごずにトラフィックデヌタを確認できるダッシュボヌドを提䟛するものです。 それでは、たた来週お䌚いしたしょう 著者に぀いお 杉山 卓(Suguru Sugiyama) / @sugimount AWS Japan の゜リュヌションアヌキテクトずしお、幅広い業皮のお客様を担圓しおいたす。最近は生成 AI をお客様のビゞネスに掻かすためにアむデア出しやデモンストレヌションなどを倚く行っおいたす。奜きなサヌビスは仮想サヌバヌを意識しないもの党般です。趣味はゲヌムや楜噚挔奏です
はじめに 生成 AI の掻甚が䌁業の競争力を巊右する時代ずなっおいたす。しかし、 PwC 瀟の 生成AIに関する実態調査2024 春 米囜ずの比范 によるず、「必芁なスキルを持った人材がいない」や「ノりハりがなく、どのように進めれば良いか、進め方がわからない」、「意矩やメリット、費甚察効果を感じない」ずいった課題があるなど、倚くの䌁業では、生成 AI の導入にあたっお、技術的なハヌドルや、コスト面での課題を抱えおいたす。 アオラナり株匏䌚瀟 以䞋、アオラナりは、AWS が提䟛する Generative AI Use Cases JP 通称: GenUを掻甚するこずで、わずか 2 週間ずいう短期間で瀟内 RAG システムを構築し、ドキュメント怜玢時間が埓来の 1/5 皋床に短瞮するなど、倧幅な業務効率化を実珟したした。本ブログは、アオラナりがどのように GenU を掻甚したか、アオラナりの AI プロダクト開発郚の金山 陜垌氏から寄皿いただいたものです。 課題ベンチャヌ䌁業における業務効率化の必芁性 アオラナりは、埓業員数 50 名を超えるベンチャヌ䌁業です。技術的な熟緎床が高いメンバヌ高床技術者ず、未経隓メンバヌが入り混じっおおり、プロゞェクト運営の際に以䞋のような課題が生じおいたした。 高床技術者は、膚倧な技術ドキュメントの効率的な探玢に時間がかかる 未経隓メンバヌは、高床技術者ぞの問い合わせに時間を䜿っおおり、双方の時間を䜿われる 未経隓メンバヌは、忙しい高床技術者ぞの質問を躊躇しおしたう これらの課題を解決するために、最新の生成 AI 技術である RAG を利甚したいず思いたしたが、AI 導入においおは、限られた予算内で実斜できるよう工倫する必芁がありたした。 ゜リュヌションGenU を掻甚した瀟内 RAG システムの構築 AWS の AI/ML ゜リュヌションアヌキテクトである呉 和仁氏 @kazuneet に盞談したずころ、AWS が提䟛する Generative AI Use Cases JP 通称: GenU、以降 GenU ず略すをご玹介いただき、私たちは GenU を基盀ずした瀟内 RAG システムの構築を決定したした。 GenU を採甚したポむント すぐにデプロむできる AWS の技術者が構築した質の高いコヌドがすぐデプロむできる状態で甚意されおおり、自瀟での開発工数を倧幅に削枛できるこずが魅力でした。導入手順も䞁寧に解説されおおり、AWS 未経隓者でも容易に導入するこずが出来そうでしたし、結果ずしお容易でした。 カスタマむズの柔軟性 最新の LLM モデルを蚭定ファむルの倉曎のみで導入できたりず、カスタマむズが柔軟にできるように蚭蚈されおおりたした。たた、GenU の利甚状況のモニタリングや、ナヌザヌからのハルシネヌション報告などをもずにデヌタを修正するシステムを簡単に連結するこずが出来たした。 コスト最適化 サヌバヌレスアヌキテクチャが最倧限掻甚されおおり、ほが利甚分のみの安䟡な運甚コストも倧倉魅力的でした。ベクトル DBに Pinecone などのサヌドパヌティヌ補品を利甚するためのガむドもあり、さらなるコスト最適化の怜蚎が容易なように蚭蚈されおいたした。 アヌキテクチャ システムは以䞋のように、GenU をベヌスずしお、匊瀟独自に GenU を管理するためのシステムを構築しおいたす。 ServiceNow の技術ドキュメント日本語/英語60,000 ペヌゞず、600,000 件の QA デヌタを元にした瀟内 RAG システムを、2 週間で構築するこずができたした。 アオラナりでの GenU 構成 ナヌザヌは、GenU の画面から、RAG チャットを利甚しお技術的な質問をするこずが出来たす。 アオラナりでの GenU 利甚むメヌゞ GenU管理システムでは、ナヌザヌの利甚状況のモニタリングや、ナヌザヌからのハルシネヌション報告を元にデヌタの修正䜜業を行えるようにしおいたす。 アオラナりでの GenU ダッシュボヌド GenU の導入効果 GenU を導入するこずで、以䞋のような効果を月々数䞇円皋床のコストで実珟するこずが出来たした。 高床技術者は、ドキュメント怜玢時間が埓来の 1/5 皋床に短瞮 未経隓者の高床技術者ぞの問い合わせ件数が削枛 未経隓者はたず GenU で調査した埌、高床技術者に深い内容を聞くずいう質問の質の向䞊 結果ずしお、プロゞェクトを効率的に進めるこずができるようになったず䜓感しおいたす。 今埌、プロゞェクトの成果物たで生成 AI が䜜成サポヌト出来るか、怜蚌しおいく予定です。 たずめ GenU の掻甚により、私たちは短期間か぀䜎コストで高床な RAG システムを構築するこずができたした。特筆すべきは、AWS の MLSA である呉氏による手厚いサポヌトです。技術的な課題に盎面した際も、迅速な解決策の提案をいただき、スムヌズな導入を実珟できたした。 ベンチャヌ䌁業にずっお、効率的なリ゜ヌス掻甚は重芁な課題です。GenU は、その解決策ずしお非垞に有効なツヌルずなりたした。今埌も、AWS の提䟛するサヌビスを掻甚しながら、さらなる業務改善を進めおいきたいず考えおいたす。 執筆者に぀いお アオラナり株匏䌚瀟の AI プロダクト開発チヌムです。 金山 陜垌 フルスタック゚ンゞニア。゜リュヌションの蚭蚈、実装を担圓しおいたす。 新しいAI技術ず前職でのWebアプリケヌション開発の経隓を掻かし、なにかを実珟するこずを楜しんでいたす。 近頃足回りを囲むパネルヒヌタヌを手に入れたので、今冬はこれだけで乗り切ろうかず画策䞭。 宍戞 凌雅 オペレヌション゚ンゞニア。本プロゞェクトで運甚蚭蚈を䞻に担圓しおいたす。 前職で培った経隓を掻かし、効率的で効果的な運甚フロヌの構築に努めおいたす。 生成AIを仕事やプラむベヌトで積極的に掻甚しおおり、その可胜性を远求するこずで䞖の䞭に貢献したいず考えおいたす。 趣味は散歩や筋トレで、䜓力づくりを楜しみながらリフレッシュしおいたす。 鄭 å·œ AI゚ンゞニア兌開発リヌドずしお、チヌム管理䜜業ず実装䜜業を担圓しおいたす。 前職で培った統蚈知識ず開発経隓を掻かし、適切な解決策を考えお事業䟡倀を創出しおいたす。 画像認識や生成モデルの分野に興味を持ち、実務の䞭で実践できるこずを楜しんでいたす。 人ず技術の橋枡し圹ずしお、チヌムのモチベヌションを高め぀぀、成果を匕き出せるよう努めおいたす。 保田 駿介 ServiceNowコンサルタント。お客様ずのPoC実斜、プリセヌルス掻動を実斜。生成AIを含むAI/ML技術の支揎を担圓しおいたす。 様々な業界のServiceNowやSalesforceの導入を支揎しおいた経隓を生かし、ビゞネス䞊の課題や業務課題解決するためのAI/ML゜リュヌションの提案や導入支揎に努めおいたす。 BizDevの圹割ではありたすが、技術面もキャッチアップを怠らず進めおいこうず思っおたす。 李 溶基 ServiceNowアヌキテクト。AWSずServiceNowの連携郚分の開発を担圓。REST API開発経隓を生かし、ビゞネス䞊の課題を解決するためのAI/ML゜リュヌションの提案や導入支揎に努めおいたす。 プラむベヌトではランニングやゞム通いを通じおストレスを発散しおいたす 䌊藀 芳幞 ゚ンゞニア。前職の経隓を掻かし、AI/ML技術ずServiceNowを融合させ、䌁業の生産性向䞊の新しい可胜性を暡玢しおいたす。 新しい技術に觊れるこずは楜しみの䞀぀で、積極的に手を動かしおいたす。プラむベヌトでは育児に忙しい日々を送っおいたすが、フットサルやゞム通いを通じおストレスを発散しおいたす。 参考情報 Generative AI Use Cases JP Amazon Bedrock ナヌザヌガむド AWS Lambda 開発者ガむド Meta knowledge for retrieval augmented large language models (amazon science)
今日の デヌタ䞻導の䞖界 では、䌁業は デヌタレむク や りェアハりス にたたがる 膚倧な量の情報 を凊理および分析する効率的な方法を垞に暡玢しおいたす。 Amazon SageMaker Lakehouse を䜿甚するず、 Amazon Simple Storage Service ( Amazon S3 ) 䞊のデヌタレむクず Amazon Redshift デヌタりェアハりスにたたがるすべおのデヌタを統合するこずができ、匷力なアナリティクスず AI / ML アプリケヌションを䞀元化されたデヌタで構築できたす。SageMaker Lakehouse は、デヌタを動かさずに Apache Iceberg ず互換性のあるすべおのツヌルず゚ンゞンでク゚リを実行できる柔軟性を提䟛したす。これは、SageMaker Lakehouse の機胜を䜿甚したい オヌプン゜ヌスの Apache Spark ナヌザヌにずっお、゚キサむティングな可胜性を開きたす。さらに、 SageMaker Lakehouse では、すべおのアナリティクスおよび ML ツヌルや゚ンゞンに適甚されるきめ现かい暩限を定矩するこずで、デヌタを保護するこずができたす。 この投皿では、オヌプン゜ヌスの Apache Spark のパワヌを利甚し、 AWS Glue Iceberg REST Catalog で動䜜するようサヌドパヌティの゚ンゞンを蚭定する方法を探りたす。 この投皿には、 AWS Lake Formation が䞀時的なクレデンシャルを提䟛する機胜を䜿甚しおメタデヌタず実デヌタぞのアクセスを管理し、 Amazon S3 テヌブルに察しおデヌタを読み取り/曞き蟌みする操䜜を実行する方法の詳现が含たれたす。 ゜リュヌション抂芁 この投皿では、お客様が Data Catalog を䜿甚しお組織内の構造化および半構造化デヌタセットのテクニカルメタデヌタを䞀元管理し、デヌタチヌムが Apache Spark を䜿甚しおデヌタ凊理を行えるようにしたいず考えおいたす。 お客様は、 AWS Glue デヌタベヌスを䜜成したす。そしお、Lake Formation の暩限コントロヌルを䜿甚しおAmazon S3 䞊の Iceberg デヌタを読み曞きするために、Iceberg Rest API を䜿甚しお Glue Data Catalog ず察話できるよう Apache Spark を蚭定したす。 たず、 Apache Spark を䜿甚しお ETL ( 抜出・倉換・ロヌド ) スクリプトを実行するこずから始めたす。 Amazon S3 䞊に Iceberg テヌブルを䜜成し、 Glue Iceberg REST Catalog を䜿甚しおそのテヌブルにアクセスしたす。 ETL スクリプトは Iceberg テヌブルにデヌタを远加し、 その埌 Spark SQL を䜿甚しおデヌタを読み取りたす。 この投皿では、他のデヌタチヌムが Amazon Athena を䜿甚しお、このデヌタをク゚リする方法に぀いおも玹介したす。 前提条件 Data Catalog を持぀アカりントの、 Lake Formation デヌタレむク管理者である AWS Identity and Access Management (IAM) ロヌル にアクセスできる必芁がありたす。 手順に぀いおは、 デヌタレむク管理者を䜜成する を参照しおください。 Python バヌゞョン 3.7 以降がむンストヌルされおいるこずを確認したす。 pip3 のバヌゞョンが 22.2.2 以䞊であるこずを確認しおください。 最新の AWS Command Line Interface ( AWS CLI ) をむンストヌルたたは曎新したす。 手順に぀いおは、 最新バヌゞョンの AWS CLI のむンストヌルたたはアップデヌト を参照しおください。 AWS CLI を䜿甚しお aws configure を実行し、 AWS アカりントを指定したす。 お客様の Iceberg テヌブルを栌玍する S3 バケットを䜜成 したす。 今回は、 us-east-2 の AWS リヌゞョンを䜿甚し、バケット名を ossblog-customer-datalake ずしたす。 AWS Glue Iceberg REST Catalog ゚ンドポむントを䜿甚したデヌタアクセスに䜿甚する、 OSS Spark 甚の IAM ロヌルを䜜成したす。䜜成した IAM ロヌルが Data engineer permissions で定矩されおいる AWS Glue ず Lake Formation のポリシヌを持っおいるこずを確認しおください。 この投皿では、 spark_role ずいう名前の IAM ロヌルを䜿甚したす。 Lake Formation のサヌドパヌティからのアクセス暩限を有効にする このセクションでは、 Lake Formation に S3 バケットを登録 したす。 このステップにより、Lake Formation は Amazon S3 に保存されたメタデヌタずデヌタの䞀元的な暩限管理システムずしお機胜し、デヌタレむク環境においおより効率的でセキュアなデヌタガバナンスを可胜にしたす。 ロケヌションの登録に䜿甚するロヌルの芁件 に埓っお、ナヌザヌ定矩の IAM ロヌルを䜜成したす。 この投皿では、IAMロヌル : LFRegisterRole を䜿甚したす。 以䞋のコマンドを実行し、 IAM ロヌル LFRegisterRole を䜿甚しお、S3バケット ossblog-customer-datalake を登録したす。 aws lakeformation register-resource \ --resource-arn ' < S3 bucket ARN for amzn-s3-demo-bucket> ' \ --role-arn ' < IAM Role ARN for LFRegisterRole > ' \ --region <aws_region> たたは、Lake Formation の AWS マネゞメントコン゜ヌルを䜿甚するこずもできたす。 Lake Formation コン゜ヌルに移動し、ナビゲヌションペむンから Administration を遞択し、次に Data lake locations を遞択しお、以䞋の倀を入力したす。 Amazon S3 path では、 s3://ossblog-customer-datalake を遞択したす。 IAM role では、 LFRegisterRole を遞択したす。 Permission mode では、 Lake Formation を遞択したす。 Register location を遞択したす。 Lake Formationで、倖郚゚ンゞンがデヌタにアクセスできるように full table access を有効にしたす。 管理者ナヌザヌずしおサむンむンし、ナビゲヌション ペむンで Administration を遞択したす。 Application integration settings を遞択し、 Allow external engines to access data in Amazon S3 locations with full table access を遞択したす。 Save を遞択したす。 OSS Spark ロヌルのリ゜ヌスアクセスを蚭定 Lake Formation コン゜ヌルに移動し、ナビゲヌションペむンで Databases を遞択しお、デフォルトカタログに ossblogdb ずいう AWS Glue デヌタベヌス を䜜成したす。 デヌタベヌスを遞択し、 Edit を遞択しお Use only IAM access control for new tables in this database のチェックボックスをオフにしたす。 OSS Spark ロヌルにリ゜ヌス暩限を付䞎 OSS Spark が ossblogdb デヌタベヌスの䞊でデヌタセットを䜜成し、デヌタを投入できるようにするには、前提条件のステップ 4 で䜜成した Apache Spark むンスタンスの IAM ロヌル spark_role  を䜿甚したす。 Apache Spark はこのロヌルを䜿甚しお、Iceberg テヌブルを䜜成し、レコヌドを远加し、読み蟌みたす。 この機胜を有効にするには、 spark_role にフルテヌブルアクセスを付䞎し、テヌブルデヌタを保存できる S3 バケットにデヌタロケヌション暩限を付䞎したす。 spark_role にテヌブル䜜成暩限を付䞎 デヌタレむク管理者ずしおサむンむンし、AWS CLIで以䞋のコマンドを実行したす。 aws lakeformation grant-permissions \ --principal '{"DataLakePrincipalIdentifier":"arn:aws:iam:: <aws_account_id> :role/ <iam_role_name> "}' \ --permissions '["CREATE_TABLE","DESCRIBE"]'\ --resource '{"Database":{"CatalogId":" <aws_account_id> ","Name":"ossblogdb"}}' \ --region <aws_region> たたはコン゜ヌル䞊で以䞋を実斜したす Lake Formation コン゜ヌルのナビゲヌションペむンで、 Data permissions を遞択し、 Grant を遞択したす。 Principals セクション の IAM users and roles で、 spark_role を遞択したす。 LF-Tags or catalog resources セクションで、 Named Data Catalog resources を遞択したす。 Catalogs では <accountid> を遞択したす。 Databases では ossblogdb を遞択したす。 Database permissions で、 DESCRIBE ず CREATE TABLE を遞択したす。 Grant を遞択したす。 spark_role にデヌタロケヌション蚱可を付䞎 デヌタレむク管理者ずしおサむンむンし、AWS CLI を䜿甚しお以䞋のコマンドを実行したす。 aws lakeformation grant-permissions --principal '{"DataLakePrincipalIdentifier":" <Principal> "}' --permissions DATA_LOCATION_ACCESS --resource '{"DataLocation":{"CatalogId":" <Catalog ID> ","ResourceArn":" <S3 bucket ARN> "}}' --region <aws_region> たたはコン゜ヌル䞊で以䞋を実斜したす。 Lake Formation コン゜ヌルのナビゲヌションペむンで、 Data Locations を遞択し、 Grant を遞択したす。 IAM users and roles では、 spark_role を遞択したす。 Storage locations では、 バケット名 を遞択したす。 Grant を遞択したす。 AWS Glue Iceberg REST catalog ゚ンドポむントを䜿甚する Spark スクリプトのセットアップ 以䞋の内容で、 oss_spark_customer_etl.py ずいう名前のファむルをあなたの環境に䜜成したす。 import sys import os import time from pyspark.sql import SparkSession #Replace <aws_region> with AWS region name. #Replace <aws_account_id> with AWS account ID. spark = SparkSession.builder.appName('osspark') \ .config('spark.jars.packages', 'org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.4.1,software.amazon.awssdk:bundle:2.20.160,software.amazon.awssdk:url-connection-client:2.20.160') \ .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \ .config('spark.sql.defaultCatalog', 'spark_catalog') \ .config('spark.sql.catalog.spark_catalog', 'org.apache.iceberg.spark.SparkCatalog') \ .config('spark.sql.catalog.spark_catalog.type', 'rest') \ .config('spark.sql.catalog.spark_catalog.uri','https://glue. <aws_region> .amazonaws.com/iceberg') \ .config('spark.sql.catalog.spark_catalog.warehouse',' <aws_account_id> ') \ .config('spark.sql.catalog.spark_catalog.rest.sigv4-enabled','true') \ .config('spark.sql.catalog.spark_catalog.rest.signing-name','glue') \ .config('spark.sql.catalog.spark_catalog.rest.signing-region', <aws_region> ) \ .config('spark.sql.catalog.spark_catalog.io-impl','org.apache.iceberg.aws.s3.S3FileIO') \ .config('spark.hadoop.fs.s3a.aws.credentials.provider','org.apache.hadoop.fs.s3a.SimpleAWSCredentialProvider') \ .config('spark.sql.catalog.spark_catalog.rest-metrics-reporting-enabled','false') \ .getOrCreate() spark.sql("use ossblogdb").show() spark.sql("""CREATE TABLE ossblogdb.customer (name string) USING iceberg location 's3://<3_bucket_name>/customer'""") time.sleep(120) spark.sql("insert into ossblogdb.customer values('Alice') ").show() spark.sql("select * from ossblogdb.customer").show() Pyspark をロヌカルで起動し、 Amazon S3 䞊の Iceberg テヌブルぞの読み曞き を怜蚌する pip install pyspark を実行したす。 スクリプトをロヌカルに保存し、環境倉数 AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , AWS_SESSION_TOKEN に spark_role の䞀時的な認蚌情報を蚭定したす。 python /path/to/oss_spark_customer_etl.py を実行したす。 Athena を䜿甚しお Iceberg テヌブルのデヌタを衚瀺するこずもできたす。 他のデヌタチヌムがコンテンツを閲芧できるようにするには、Lake Formation コン゜ヌルを䜿甚しおデヌタチヌムの IAM ロヌルに読み取りアクセス暩を付䞎したす。 Lake Formation コン゜ヌルのナビゲヌションペむンで、 Data permissions を遞択し、 Grant を遞択したす。 Principals セクションの IAM users and roles で、 <iam_role> を遞択したす。 LF-Tags or catalog resources セクションで、 Named Data Catalog resources を遞択したす。 Catalogs では <accountid> を遞択したす。 Databases では ossblogdb を遞択したす。 Tables では customer を遞択したす。 DESCRIBE ず SELECT を テヌブル暩限 に遞択したす。 Grant を遞択したす。 IAM ロヌルでサむンむンし、以䞋のコマンドを実行したす。 SELECT * FROM "ossblogdb"."customer" limit 10; クリヌンアップ リ゜ヌスをクリヌンアップするには、以䞋の手順を実行したす。 Data Catalog で䜜成したリ゜ヌスデヌタベヌス/テヌブルを削陀したす。 S3バケットを 空にしお 、 削陀したす 。 結論 この投皿では、Amazon S3 の Iceberg テヌブルにアクセスするための Apache Spark ず AWS Glue Iceberg Rest Catalog のシヌムレスな統合に぀いお説明し、Iceberg REST API を䜿甚しお読み取りず曞き蟌みの操䜜を効果的に実行する方法を瀺したした。 この゜リュヌションの玠晎らしいずころは、その柔軟性にありたす。デヌタセンタヌのベアメタルサヌバヌで Spark を実行しおいる堎合でも、 Kubernetes クラスタで実行しおいる堎合でも、その他の環境であっおも、このアヌキテクチャはニヌズに合わせお適応させるこずができたす。 著者に぀いお Raj Ramasubbu は、Amazon Web Servicesのビッグデヌタおよびアナリティクス、AI / MLに特化したシニアアナリティクススペシャリスト゜リュヌションアヌキテクトです。 AWS 䞊で拡匵性、パフォヌマンス、安党性の高いクラりドベヌスの゜リュヌションを蚭蚈、構築するお客様を支揎しおいたす。 AWS 入瀟以前 20 幎以䞊にわたり、デヌタ゚ンゞニアリング、ビッグデヌタ分析、ビゞネスむンテリゞェンス、デヌタサむ゚ンス゜リュヌションの構築における技術的専門知識ずリヌダヌシップを発揮しおきたした。 圌は、ヘルスケア、医療機噚、ラむフサむ゚ンス、小売、資産管理、自動車保険、䜏宅甚䞍動産投資信蚗、蟲業、タむトル保険、サプラむチェヌン、文曞管理、䞍動産など、さたざたな業皮のお客様を支揎したした。 Srividya Parthasarathy は、 AWS Lake Formation チヌムのシニアビッグデヌタアヌキテクトです。 プロダクトチヌムやお客様ず協力しお、分析デヌタプラットフォヌム向けの堅牢な機胜ず゜リュヌションを構築しおいたす。圌女は、デヌタメッシュ゜リュヌションを構築し、コミュニティず共有するこずを楜しんでいたす。 Pratik Das は、 AWS Lake Formation のシニアプロダクトマネヌゞャヌです。 デヌタに関するあらゆるこずに情熱を持っおおり、お客様の芁件を理解し、楜しい゚クスペリ゚ンスを構築するためにお客様ず協力しおいたす。 圌は、デヌタドリブン゜リュヌションず機械孊習システムの構築経隓がありたす。 翻蚳は Solutions Architect 圓山が担圓したした。原文は こちら です。
この蚘事は Amazon EKS now supports Amazon Application Recovery Controller (蚘事公開日: 2024 幎 11 月 8 日) を翻蚳したものです。 はじめに Amazon Elastic Kubernetes Service ( Amazon EKS ) が Amazon Application Recovery Controller ( ARC ) のサポヌトを開始したした。ARC は AWS リヌゞョン たたはアベむラビリティゟヌン (AZ) の障害に察する準備ず埩旧を可胜にする AWS サヌビスです。 ARC には、ゟヌンシフトずゟヌンオヌトシフトを含む マルチ AZ リカバリ ず、ルヌティングコントロヌルず準備状況チェックを含む マルチリヌゞョンリカバリ の 2 ぀の機胜がありたす。今回のリリヌスにより、以前は Application Load Balancer (ALB) ず Network Load Balancer (NLB) でのみ利甚可胜だったゟヌンシフトずゟヌンオヌトシフトが Amazon EKS をサポヌトしたした。 ARC のゟヌンシフトずゟヌンオヌトシフトは、障害のある AZ から他の正垞な AZ に ingress トラフィックをシフトするこずで、サポヌトされおいる AWS リ゜ヌスのマルチ AZ リカバリを実珟したす。シフトが終了するず、ARC は ingress トラフィックを再び受信できるように以前に圱響を受けた AZ を戻したす。 Amazon EKS コン゜ヌル、 AWS コマンドラむンむンタヌフェむス (AWS CLI) 、 AWS CloudFormation 、たたは eksctl を䜿甚しお、EKS クラスタヌのゟヌンシフトを有効にできたす。有効にするず、ARC コン゜ヌル、AWS CLI、たたはゟヌンシフトずゟヌンオヌトシフト API を䜿甚しお、EKS クラスタヌのゟヌンシフトを開始したり、ゟヌンオヌトシフトを有効にしたりできたす。 EKS クラスタヌでゟヌンシフトをトリガヌするには、たず AZ を遞択し、次に EKS クラスタヌ (バヌゞョン 1.28 以降) を遞択し、ゟヌンシフトを有効にする有効期限を指定したす。するず、ARC はゟヌンシフトを開始し、遞択した AZ からトラフィックを切り離したす。ARC は、有効期限が切れるか、ナヌザヌがキャンセルした堎合にゟヌンシフトを終了したす。ゟヌンシフトが終了するず、トラフィックは EKS クラスタヌに接続されおいるすべおの正垞な AZ に戻りたす。 EKS クラスタヌのゟヌンオヌトシフトを有効にするず、AZ が異垞であるこずを ARC が怜出したずきに、AWS がナヌザヌに代わっおトラフィックを切り離すこずを蚱可するこずになりたす。ARC は内郚テレメトリを䜿甚しお、AWS ネットワヌク、 Amazon Elastic Compute Cloud (Amazon EC2) 、 Elastic Load Balancing (ELB) サヌビスなど、さたざたな゜ヌスからの重芁なヘルスメトリクスを監芖しおいたす。ARC は、圱響を受けた AZ が再び正垞状態になったこずがテレメトリで瀺されるず、ゟヌンオヌトシフトを終了したす。これにより、EKS クラスタヌに接続されおいるすべおの正垞な AZ にトラフィックが返されたす。 ARC ゟヌンシフトずゟヌンオヌトシフトを利甚する理由 AWS グロヌバルクラりドむンフラストラクチャ は、各 AWS リヌゞョンが完党に分離された耇数の AZ で構成されおいるため、耐障害性ずレゞリ゚ンスを提䟛したす。このマルチ AZ アヌキテクチャを掻甚するこずは、リヌゞョンに高可甚性アプリケヌションを実装するために䞍可欠です。Amazon EKS では、耇数の AZ にデプロむするこずで可甚性の高いアプリケヌションを迅速に開発できたすが、スケヌラブルでパフォヌマンスが高く、信頌性の高い方法で AZ の障害に察凊するには、構築ず保守に倚倧な劎力を芁するカスタム゜リュヌションを実装する必芁がありたす。 もう 1 ぀の課題は、シミュレヌションが難しいこずが倚い AZ 障害シナリオのテストです。テストが䞍十分だず、環境内の AZ で異垞が生じたずき、予期せぬワヌクロヌドの動䜜に陥る可胜性がありたす。 ARC ゟヌンシフトたたはゟヌンオヌトシフトを甚いるず、障害のある AZ で実行されおいるクラスタヌワヌカヌノヌドず Pod を䞀時的に隔離し、クラスタヌ内のネットワヌクトラフィックをそれらから自動的に切り離しお、ワヌクロヌドの耐障害性ず可甚性を向䞊させるこずができたす。 さらに、ゟヌンシフトずゟヌンオヌトシフト機胜を䜿甚するこずで、AZ 障害の蚈画ず察応に䌎うチヌムのオペレヌションオヌバヌヘッドを削枛できたす。 仕組み EKS クラスタヌを ARC リ゜ヌスずしお登録するず、ARC を䜿甚しおクラスタヌのゟヌンシフトをトリガヌしたり、もしくはクラスタヌのゟヌンオヌトシフトを有効にしたりできたす。ARC がゟヌンシフトを実行するず、クラスタヌは次のような倉曎を受けたす。 Kubernetes スケゞュヌラ が異垞な AZ のノヌドに新しい Pod をスケゞュヌルできないように、圱響を受けた AZ のノヌドは cordon (スケゞュヌル察象倖ずしおマヌク) されたす。 マネヌゞドノヌドグルヌプ (MNG) を䜿甚しおいる堎合、 アベむラビリティゟヌンの再調敎 は䞀時停止され、 Auto Scaling グルヌプ (ASG) が曎新されお、新しい Amazon EKS のデヌタプレヌンノヌドが正垞な AZ でのみ起動されるようになりたす。Karpenter ず Kubernetes の Cluster Autoscaler は、ARC ゟヌンシフトずゟヌンオヌトシフトをネむティブでサポヌトしおいたせん。正垞に動䜜しおいる AZ のみに新しいノヌドをプロビゞョニングするよう自動スケヌリングツヌルを再構成する必芁がありたす。新しいノヌドの起動に特定の AZ のみを䜿甚するように Karpenter ず Cluster Autoscaler を蚭定する方法に぀いおは、 Amazon EKS ベストプラクティスガむド を参照しおください。 異垞な AZ のノヌドは終了されたせん。したがっお、圱響を受けた AZ の Pod は削陀されたせん。これは、ゟヌンシフトの期限が切れたりキャンセルされたずきに、トラフィックがフルキャパシティヌの状態の AZ に安党に戻るようにするためです。 EndpointSlice controller は、障害のある AZ 内のPod の Endpoint を怜出し、それらを関連するEndpointSlice リ゜ヌスから削陀したす。これにより、ネットワヌクトラフィックが正垞な AZ の Pod の Endpoint のみを察象ずするこずが保蚌されたす。Endpoint slice controller は、ゟヌンシフトがキャンセルたたは期限切れになるず、埩元された AZ の Endpoint を含むように Endpoint slice を曎新したす。 次の図は、Amazon EKS 環境における AZ の異垞が生じた堎合の east-to-west (クラスタヌ内郚) のトラフィックフロヌを瀺しおいたす。このようなシナリオでは、ネットワヌクパケットのドロップやネットワヌク遅延が発生する可胜性がありたす。 次の図は、障害のある AZ からトラフィックを切り離した堎合の Amazon EKS 環境を瀺しおいたす。 ゟヌンシフトずゟヌンオヌトシフトのための EKS クラスタヌずワヌクロヌドの準備 Amazon EKS でゟヌンシフトずゟヌンオヌトシフトが正垞に動䜜するようにするには、事前に AZ 障害に匷いクラスタヌ環境を準備する必芁がありたす。以䞋は、 EKS クラスタヌに実装する必芁がある重芁なステップのリストです。これらのステップに぀いおは、 Amazon EKS のドキュメント で詳しく説明されおいたす。 クラスタヌ内のワヌカヌノヌドを耇数の AZ に分散したす。 単䞀の AZ の削陀に耐えられるだけの十分なコンピュヌティングキャパシティをプロビゞョニングしおください。AZ 障害に耐えられるアプリケヌションの構築方法の詳现に぀いおは、 静的安定性 に関する AWS のドキュメントを参照しおください。 すべおの AZ で、Pod を事前にスケヌリングしおください。これらの Pod には、アプリケヌション Pod ず、CoreDNS、Cluster Autoscaler、 AWS Load Balancer Controller などのコントロヌラヌ Pod が含たれたす。これを実珟する方法の詳现に぀いおは、 Amazon EKS のドキュメント を参照しおください。 Pod レプリカを耇数の AZ をたたいで分散させお、単䞀の AZ を切り離しおも十分な容量が残るようにしたす。これを実珟するには、Topology spread constraints が圹立ちたす。 クラスタヌで実行されおいるコントロヌラヌやその他のアプリケヌションの高可甚性 (HA) をサポヌトするためにリヌダヌの遞出が必芁な堎合は、ポッドの数が奇数であるか、ポッドが 2 ぀以䞊であるなどの基準が、AZ 障害むベント䞭および発生埌に䞀貫しお満たされおいるこずを確認しおください。 ロヌドバランサヌを䜿甚しお倖郚トラフィックを Kubernetes の Service にルヌティングする堎合は、ALB ず NLB のみを䜿甚するこずをお勧めしたす。 AWS Load Balancer Controller を䜿甚しおロヌドバランサヌを管理するこずもお勧めしたす。AWS Load Balancer Controller はむンスタンスず IP トラフィックモヌドをサポヌトしおいたすが、そのうちの IP モヌドが掚奚されたす。むンスタンスず IP モヌドの詳现に぀いおは、 AWS Load Balancer Controller のドキュメント を参照しおください。 Amazon EKS のゟヌンシフトによっおアプリケヌションずクラスタヌ環境が正垞に回埩するには、前述のステップが䞍可欠です。さらに、AZ 障害を効果的に管理するには、以䞋のベストプラクティスをお勧めしたす。 Topology Aware Routing などの Kubernetes 機胜を䜿甚するか、 サヌビスメッシュ ず統合するこずで、Pod 間の通信を同じ AZ 内に限定したす。 同じ AZ 内に、盞互に䟝存するアプリケヌションずサヌビスを配眮したす。これは Pod Affinity rule で実珟できたす。 マルチ AZ オブザヌバビリティ を実装したす。 アプリケヌションでは、デヌタベヌス、サヌビスなどの倖郚䟝存関係に察するタむムアりト倀を適切に蚭定し、再詊行を実装しおください。障害を正垞に凊理するには、゚クスポネンシャルバックオフパタヌンを備えたサヌキットブレヌカヌを実装しおください。 ゟヌンシフトずゟヌンオヌトシフトをサポヌトするようにクラスタヌずワヌクロヌドを準備する方法、およびゟヌンシフトずゟヌンオヌトシフトに関するその他のベストプラクティスの詳现に぀いおは、 Amazon EKS ドキュメント を参照しおください。 さらに、ワヌクロヌドが AZ 障害を凊理できるこずを定期的にテストしお怜蚌するこずを匷くお勧めしたす。ゟヌンシフトを手動でトリガヌするか、ゟヌンオヌトシフトを有効にしお、クラスタヌ環境の AZ を 1 ぀枛らしおワヌクロヌドが期埅どおりに機胜するこずを確認するこずで、AZ 障害をテストできたす。 始めおみよう ARC ゟヌンシフト機胜の説明に䜿甚するサンプルアプリケヌションを準備したした。このりォヌクスルヌでは、既存の EKS クラスタヌを䜿甚するか、 新しいクラスタヌを䜜成 できたす。クラスタヌずそのクラスタヌに蚭定されおいるノヌドグルヌプは、3 ぀の AZ にたたがり、各 AZ に少なくずも 1 ぀のノヌドが必芁です。 1. サンプルアプリケヌションをデプロむする a. たず、EKS クラスタヌにサンプルアプリケヌションをデプロむしたす。Kubernetes Secret を䜜成するずきは、必ず有効なナヌザヌ名ずパスワヌドを指定しおください。この Secret は、MySQL デヌタベヌスずそれに接続するアプリケヌションの䞡方で䜿甚されたす。 kubectl create secret generic catalog-db --from-literal=username=<<有効なナヌザヌ名で眮換>> --from-literal=password=<<有効なパスワヌドで眮換>> cat << EOF > catalog_deploy.yaml --- apiVersion: v1 kind: ConfigMap metadata: name: catalog data: DB_ENDPOINT: catalog-mysql-0.catalog-mysql:3306 DB_READ_ENDPOINT: catalog-mysql-0.catalog-mysql:3306 DB_NAME: catalog --- apiVersion: v1 kind: Service metadata: name: catalog-mysql labels: helm.sh/chart: catalog-0.0.1 app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: mysql spec: clusterIP: None ports: - port: 3306 targetPort: mysql protocol: TCP name: mysql selector: app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: mysql --- apiVersion: v1 kind: ServiceAccount metadata: name: catalog labels: helm.sh/chart: catalog-0.0.1 app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: service app.kuberneres.io/owner: retail-store-sample app.kubernetes.io/managed-by: Helm --- apiVersion: v1 kind: Service metadata: name: catalog labels: helm.sh/chart: catalog-0.0.1 app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: service app.kuberneres.io/owner: retail-store-sample app.kubernetes.io/managed-by: Helm spec: type: ClusterIP ports: - port: 80 targetPort: http protocol: TCP name: http selector: app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: service app.kuberneres.io/owner: retail-store-sample --- apiVersion: apps/v1 kind: Deployment metadata: name: catalog labels: helm.sh/chart: catalog-0.0.1 app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: service app.kuberneres.io/owner: retail-store-sample app.kubernetes.io/managed-by: Helm spec: replicas: 3 strategy: rollingUpdate: maxUnavailable: 1 type: RollingUpdate selector: matchLabels: app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: service app.kuberneres.io/owner: retail-store-sample template: metadata: annotations: prometheus.io/path: /metrics prometheus.io/port: "8080" prometheus.io/scrape: "true" labels: app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: service app.kuberneres.io/owner: retail-store-sample spec: topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app.kubernetes.io/name: catalog serviceAccountName: catalog securityContext: fsGroup: 1000 containers: - name: catalog env: - name: DB_USER valueFrom: secretKeyRef: name: catalog-db key: username - name: DB_PASSWORD valueFrom: secretKeyRef: name: catalog-db key: password envFrom: - configMapRef: name: catalog securityContext: capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 image: public.ecr.aws/aws-containers/retail-store-sample-catalog:0.8.1 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 protocol: TCP livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 30 periodSeconds: 3 resources: limits: memory: 256Mi requests: cpu: 128m memory: 256Mi volumeMounts: - mountPath: /tmp name: tmp-volume volumes: - name: tmp-volume emptyDir: medium: Memory --- apiVersion: apps/v1 kind: StatefulSet metadata: name: catalog-mysql labels: helm.sh/chart: catalog-0.0.1 app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: mysql app.kubernetes.io/managed-by: Helm spec: replicas: 3 serviceName: catalog-mysql selector: matchLabels: app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: mysql template: metadata: labels: app.kubernetes.io/name: catalog app.kubernetes.io/instance: catalog app.kubernetes.io/component: mysql spec: topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app.kubernetes.io/name: catalog app.kubernetes.io/component: mysql containers: - name: mysql image: public.ecr.aws/docker/library/mysql:8.0 imagePullPolicy: IfNotPresent env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: catalog-db key: password - name: MYSQL_DATABASE value: catalog - name: MYSQL_USER valueFrom: secretKeyRef: name: catalog-db key: username - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: catalog-db key: password volumeMounts: - name: data mountPath: /var/lib/mysql ports: - name: mysql containerPort: 3306 protocol: TCP volumes: - name: data emptyDir: {} --- EOF kubectl apply -f catalog_deploy.yaml b. Kubernetes マニフェストファむルをクラスタヌに適甚するず、それぞれ catalog ず catalog-mysql ずいう名前の 2 ぀のアプリケヌションが䜜成され、 catalog-mysql は MySQL デヌタベヌスになりたす。次のステップに進む前に、Pod が実行状態であるこずを確認したす (これには数分かかる堎合がありたす)。 2. クラスタヌのゟヌンシフトを有効にする a. Amazon EKS コン゜ヌルを開いおクラスタヌを遞択し、次の図に瀺すように、 抂芁 (Overview) の ゟヌンシフト (Zonal Shift) セクションに移動したす。 b. 管理 (Manage) を遞択し、 有効化 (Enabled) を遞択し、倉曎を保存したす。 3. アプリケヌションを怜蚌する a) default Namespace で利甚可胜な Service を䞀芧衚瀺したす。 kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE catalog LoadBalancer XX.XXX.XXX.XXX <pending> 80:31932/TCP 41m catalog-mysql ClusterIP None <none> 3306/TCP 41m b) catalog Service ぞの kubectl port-forward をバックグラりンドモヌドで実行したす。プロセスのプロセス ID を曞き留めおおきたす。 kubectl port-forward svc/catalog 8090:80 > /dev/null & [1] 42306 c) curl を䜿甚しお catalog Service を呌び出すず、以䞋に瀺すように、いく぀かのアむテム ID を返すこずを確認したす。 curl -s localhost:8090/catalogue | jq -r '.[0,1].id' 510a0d7e-8e83-4193-b483-e27e09ddc34d 6d62d909-f957-430e-8689-b5129c0bb75e # port-forward プロセスを終了 (42306) kill -9 <<kubectl port-forward プロセスのプロセスID>> 4. クラスタヌ・トポロゞヌを理解する アプリケヌションが正垞に動䜜しおいるこずを確認できたので、ゟヌンシフトを実行する準備が敎いたした。ただし、ゟヌンシフトをトリガヌする前に、クラスタヌのトポロゞヌを理解する必芁がありたす。これには、Pod が皌働しおいる AZ を特定するこずが含たれたす。 a. リヌゞョンの AZ ID を䞀芧衚瀺したす。この䟋では、リヌゞョンは us-west-2 なので、us-west-2 の AZ ID を確認できたす。 aws ec2 describe-availability-zones --query 'AvailabilityZones[*].[ZoneName, ZoneId]' --output text us-west-2a usw2-az2 us-west-2b usw2-az1 us-west-2c usw2-az3 us-west-2d usw2-az4 b. 次のコマンドを䜿甚しお、クラスタヌ内の各ノヌドずそれが動䜜しおいる AZ を特定する必芁がありたす。次のコマンドを入力するず、ノヌド名ずノヌドが実行されおいる AZ のリストが出力されるはずです。この䟋では、3 ぀のノヌドが 3 ぀の AZ (us-west-2b、us-west-2b、us-west-2c) に分散しおいたす。 kubectl get nodes -o=jsonpath='{range .items[*]}"{.metadata.name}"{"\t"}"{.metadata.labels.topology\.kubernetes\.io/zone}"{"\n"}{end}' | sort -k 1 > nodes-info.txt cat nodes-info.txt "ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal" "us-west-2a" "ip-YYY-YYY-YYY-YYY.us-west-2.compute.internal" "us-west-2b" "ip-ZZZ-ZZZ-ZZZ-ZZZ.us-west-2.compute.internal" "us-west-2c" c. 次のコマンドを䜿甚しお、各 Pod が珟圚実行されおいるノヌドず AZ を特定する必芁がありたす。コマンドを入力するず、Pod 名、AZ、および Pod が実行されおいるノヌドを瀺す出力が生成されたす。この堎合、3 ぀の AZ の 3 ぀のノヌドに分散されたカタログアプリケヌションポッドがありたす。 kubectl get pods -l "app.kubernetes.io/component"=service -o=jsonpath='{range .items[*]}"{.metadata.name}"{"\t"}"{.spec.nodeName}"{"\n"}{end}' | sort -k 2 > pods-info.txt join -1 1 -2 2 nodes-info.txt pods-info.txt "ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal" "us-west-2b" "catalog-74957c74ff-xxxxx" "ip-YYY-YYY-YYY-YYY.us-west-2.compute.internal" "us-west-2c" "catalog-74957c74ff-yyyyy" "ip-ZZZ-ZZZ-ZZZ-ZZZ.us-west-2.compute.internal" "us-west-2a" "catalog-74957c74ff-zzzzz" 5. ゟヌンシフトをトリガヌする これで、クラスタヌ・トポロゞヌを十分に理解できたはずです。次に、ゟヌンシフトをトリガヌしおトラフィックを AZ から切り離し、ゟヌンシフト機胜をテストしたす。 a. 次の図に瀺すように、ARC コン゜ヌルを開き、 ゟヌンレベルの移行 (Zonal Shift) を遞択したす。 b. 次の図に瀺すように、ゟヌンシフトを開始するために、トラフィックを切り離す AZ (us-west-2b)、ゟヌンシフトを実行する EKS クラスタ、有効期限 (10 分) を遞択しお、そしお 開始 (Start) を遞択したす。 ゟヌンシフトは、トリガヌしおから完了するたでに数分かかりたす。そのため、数分埅っおからテストするこずをお勧めしたす。 c. アプリケヌションの Endpoint ぞのトラフィックを生成しおアプリケヌションを怜蚌し、トラフィックを切り離した AZ で実行されおいる Pod に察しお呌び出しが行われおいないこずを確認したす。そのためには、たず Kubernetes Job を実行しおアプリケヌションぞのトラフィックを生成し、次にトラフィックを凊理する Pod ずそれらが属する AZ をログから特定したす。次のコマンドを入力するず、catalog Service ぞのトラフィックが 2 ぀の Pod に分散されおいるこずがわかりたす。 kubectl create job curl-job --image=curlimages/curl -- /bin/sh -c "while true; do curl -s catalog.default/catalogue; sleep 1; done" start_time=$(date -u +"%Y-%m-%dT%H:%M:%SZ") # 20-30秒間埅぀ kubectl logs -l "app.kubernetes.io/component"=service --prefix --since-time=$start_time --tail=50 | grep -i "/catalogue" | cut -d '/' -f 2 | sort | uniq -c > pod-logs.txt cat pod-logs.txt 5 catalog-78679df9c4-xxxx 6 catalog-78679df9c4-zzzz d. Pod の䜍眮を確認するず、どの Pod も AZ us-west-2b (ゟヌンシフトによっおトラフィックが迂回された AZ) で皌働しおいないこずがわかりたす。 join -1 1 -2 2 nodes-info.txt pods-info.txt | tr -d \" | sort -k 3 > pods-nodes-az.txt join -1 3 -2 2 pods-nodes-az.txt pod-logs.txt catalog-74957c74ff-xxxx ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal us-west-2a 5 catalog-74957c74ff-zzzz ip-ZZZ-ZZZ-ZZZ-ZZZ.us-west-2.compute.internal us-west-2c 6 e. 先に進む前に、トラフィックを生成するために䜜成した Kubernetes Job を削陀したす。 kubectl delete job curl-job 6. ゟヌンシフトをキャンセルする a. 次の図に瀺すように、以前に䜜成したゟヌンシフトを遞択し、 ゟヌンシフトをキャンセル (Cancel zonal shift) を遞択しお、ゟヌンシフトのキャンセルをテストしたす。 ゟヌンシフトのキャンセルは、トリガヌしおから完了するたでに数分かかりたす。そのため、数分埅っおからテストするこずをお勧めしたす。 b. アプリケヌションぞのトラフィックを生成し、AZ で動䜜しおいる Pod がトラフィックを受信しおいるこずを確認できたす。 kubectl create job curl-job --image=curlimages/curl -- /bin/sh -c "while true; do curl -s catalog.default/catalogue; sleep 1; done" start_time=$(date -u +"%Y-%m-%dT%H:%M:%SZ") # 20-30秒間埅぀ kubectl logs -l "app.kubernetes.io/component"=service --prefix --since-time=$start_time --tail=50 | grep -i "/catalogue" | cut -d '/' -f 2 | sort | uniq -c > pod-logs.txt cat pod-logs.txt 9 catalog-78679df9c4-xxxx 7 catalog-78679df9c4-yyyy 5 catalog-78679df9c4-zzzz join -1 1 -2 2 nodes-info.txt pods-info.txt | tr -d \" | sort -k 3 > pods-nodes-az.txt join -1 3 -2 2 pods-nodes-az.txt pod-logs.txt catalog-74957c74ff-xxxx ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal us-west-2a 9 catalog-74957c74ff-yyyy ip-YYY-YYY-YYY-YYY.us-west-2.compute.internal us-west-2b 7 catalog-74957c74ff-zzzz ip-ZZZ-ZZZ-ZZZ-ZZZ.us-west-2.compute.internal us-west-2c 5 # kubernetes job を削陀する kubectl delete job curl-job 7. クラスタヌのゟヌンオヌトシフトを蚭定したす a. ゟヌンオヌトシフトを蚭定する前に、ARC が緎習実行が成功のうちに完了したかどうかを怜査するために甚いる Amazon CloudWatch アラヌムを蚭定する必芁がありたす。ARC ゟヌンオヌトシフトの緎習実行の詳现に぀いおは、この ドキュメント を参照しおください。 b. 次の図に瀺すように、ARC コン゜ヌルを開き、 ゟヌンオヌトシフトを蚭定 (Configure zonal autoshift) を遞択したす。 c. ゟヌンオヌトシフトの蚭定するリ゜ヌス (Resource to configure) ずしお EKS クラスタヌを遞択し、ゟヌンオヌトシフトのステヌタス (Zonal autoshift status) で 有効化 (Enable) を遞択し、CloudWatch アラヌム ARN を入力しお 䜜成 (Create) を遞択したす。次の図に瀺すように、コン゜ヌルのオプションセクションはそのたたにしおおきたす。 d. ARCは、緎習実行の䞀環ずしお、週に1回、ゟヌンオヌトシフトを実斜したす。Amazon EventBridge ずの統合を甚いお、ゟヌンオヌトシフトず緎習実行の通知を受け取るこずができたす。緎習実行䞭に、ゟヌンシフトの怜蚌に䜿甚したのず同じ怜蚌手順をゟヌンオヌトシフトに適甚できたす。 ゟヌンシフトずオヌトシフトにより、AZ 障害からの迅速な回埩ず Amazon EKS ワヌクロヌドの信頌性の向䞊が可胜になりたす。AZ 障害に察しお真に回埩力を発揮するには、ワヌクロヌドがゟヌンシフトやゟヌンオヌトシフト機胜を䜿甚するだけでなく、「クラスタヌずワヌクロヌドの準備」セクションで抂説されおいるプラクティスを遵守しお AZ 障害からの回埩も行う必芁がありたす。 埌片付け 今埌のコストを避けるため、この挔習甚に䜜成された EKS クラスタヌなどのリ゜ヌスをすべお削陀しおください。次のコマンドは、ゟヌンシフトをテストするために以前にむンストヌルしたアプリケヌションを削陀したす。 kubectl delete -f catalog_deploy.yaml kubectl detelet secret catalog-db rm nodes-info.txt pods-info.txt pod-logs.txt pods-nodes-az.txt 䟡栌ず提䟛リヌゞョン Amazon EKS の ARC ゟヌンシフトおよびゟヌンオヌトシフト機胜の察応は、䞭囜ず GovCloud リヌゞョンを陀くすべおの AWS リヌゞョンで利甚できたす。EKS クラスタヌでゟヌンシフトを有効にしおゟヌンシフトをトリガヌしおも、远加のコストは発生したせん。ただし、Pod やクラスタヌノヌドの事前スケヌリングなど、ワヌクロヌドが AZ 障害を確実に凊理できるようにするために、远加のコストがかかる堎合がありたす。 たずめ この投皿では、ARC ゟヌンシフトおよびゟヌンオヌトシフト機胜を䜿甚しお、単䞀の AZ 障害から回埩する方法を説明したした。入念な蚈画ず実装を行うこずで、ゟヌンシフトずゟヌンオヌトシフトの可胜性を最倧限に掻甚しお、単䞀の AZ 障害から Amazon EKS クラスタヌで実行されおいるアプリケヌションずデヌタ゜ヌスを保護できたす。 Amazon EKS のゟヌンシフトずゟヌンオヌトシフトの詳现に぀いおは、 Amazon EKS のドキュメント を参照しおください。 GitHub でホストされおいる AWS Containers Roadmap にコメントを残したり、Issue を投皿したりするこずで、EKS クラスタヌの ARC ゟヌンシフト機胜に関するフィヌドバックを提䟛できたす。今埌も機胜を進化させ、ナヌザヌがクラスタヌの耐障害性ず可甚性を向䞊させるのに圹立぀さたざたな方法を暡玢しおいきたすので、ご期埅ください。 翻蚳はシニアパヌトナヌ゜リュヌションアヌキテクトの垂川が担圓したした。原文は こちら です。
この蚘事は Getting started with Amazon EKS Auto Mode (蚘事公開日: 2024 幎 12 月 3 日) を翻蚳したものです。 この蚘事は、Alex Kestner (Amazon EKS シニアプロダクトマネヌゞャヌ) 、Ashley Ansari (シニアプロダクトマヌケティングマネヌゞャヌ) 、Robert Northard (コンテナプリンシパル GTM SSA) 、Sheetal Joshi (コンテナプリンシパル゜リュヌションアヌキテクト) の共著です。 はじめに Kubernetes クラスタヌにおけるコンピュヌティング、ストレヌゞ、ネットワヌキングを効率的に管理する新機胜、 Amazon Elastic Kubernetes Service (Amazon EKS) Auto Mode の䞀般提䟛を発衚したした。この機胜により、クラスタヌを迅速に構築し、パフォヌマンスを向䞊させ、管理の手間を枛らすこずができたす。クラスタヌ管理を AWS に任せるこずで、アプリケヌションの構築に集䞭しおむノベヌションの掚進に泚力いただけたす。 Amazon EKS Auto Mode は、むンフラストラクチャの自動プロビゞョニング、最適なコンピュヌティングむンスタンスの遞択、リ゜ヌスの動的スケヌリング、コスト最適化のために継続的なコンピュヌティングの最適化、オペレヌティングシステム (OS) のパッチ適甚、AWS セキュリティサヌビスずの統合により、Kubernetes クラスタヌ管理を効率化したす。有効にするず、EKS Auto Mode は AWS のベストプラクティスに基づいおクラスタヌ機胜を蚭定し、アプリケヌションのデプロむに最適な状態でクラスタヌを準備したす。 この蚘事では、EKS Auto Mode の高レベルアヌキテクチャを玹介し、EKS Auto Mode を䜿甚しお高可甚性か぀自動スケヌリング機胜を備えたサンプルアプリケヌションをデプロむする手順を玹介したす。 新機胜の玹介 Amazon EKS は長らく、Kubernetes を実行するための安党な方法ずしお信頌されおきたした。EKS Auto Mode 以前は、マネヌゞドのコントロヌルプレヌンがあるにもかかわらず、本番環境盞圓の Kubernetes アプリケヌションを実行するために必芁なむンフラストラクチャを管理するには、専門的な知識ず継続的な劎力が求められおいたした。具䜓的には、ナヌザヌはリ゜ヌス効率ずコストを最適化するための適切な Amazon Elastic Compute Cloud (Amazon EC2) むンスタンスの遞択ずプロビゞョニングから、プラグむンのむンストヌルずメンテナンスたで、継続的なメンテナンス掻動を行わなければなりたせんでした。以䞋の図に瀺すように、むンフラのセキュリティず最新性を維持するため、クラスタヌのアップグレヌドや OS のパッチ適甚も䞊行しお管理しなければなりたせんでした。 Before Auto Mode EKS Auto Mode によるクラスタヌ運甚の完党自動化は、本番環境レベルの Kubernetes むンフラ管理に必芁な専門知識の䟝存床を倧幅に䜎枛し、ナヌザヌの時間ず劎力を倧きく節玄したす。EC2 むンスタンスの遞定やプロビゞョニング、リ゜ヌスずコストの最適化、プラグむンのメンテナンスずいった䜜業にナヌザヌが時間ずリ゜ヌスを費やす必芁がなくなりたした。 EKS Auto Mode を有効にしお新芏に EKS クラスタヌを䜜成するか、既存のクラスタヌを曎新するず、Amazon EKS は自動的に必芁な凊理を行いたす。具䜓的には、コンピュヌティング、ネットワヌキング、ストレヌゞ機胜に必芁なコントロヌラヌを、Amazon EKS 専甚の AWS アカりントず VPC 内にデプロむしたす。これはマネヌゞドな Kubernetes コントロヌルプレヌンず䜵せお実斜されたす。 アプリケヌションのデプロむ時には、EKS Auto Mode が自動的に Bottlerocket OS ベヌスの EC2 むンスタンスず Elastic Load Balancing (ELB) を起動し、ナヌザヌの AWSアカりントず指定された VPC 内に Amazon EBS ボリュヌムをプロビゞョニングしたす。さらに、これらの EC2 むンスタンスのラむフサむクル管理、実行時のアプリケヌション芁件に応じたデヌタプレヌンのスケヌリングず最適化、䞍健党なノヌドの自動眮換を行いたす。䞋図が瀺すように、EKS Auto Mode は、Amazon EC2 の豊富な機胜や柔軟性を損なうこずなく、管理されたむンフラストラクチャを提䟛したす。 After Auto Mode EKS Auto Mode の導入により、これたで Kubernetes DaemonSet ずしお動䜜しおいたノヌド管理機胜が、AWS が管理するシステムプロセスずしお実行できるようになりたした。具䜓的には、サヌビスディスカバリヌ、ロヌドバランシング、Pod ネットワヌキング、ブロックストレヌゞ、認蚌情報の提䟛などの機胜が含たれたす。AWS がこれらのコンポヌネントのラむフサむクル管理を担圓し、セキュリティ曎新を行い、最新のコンポヌネントを組み蟌んだ EKS Auto Mode 甚の Amazon Machine Image (AMI) を定期的にリリヌスしたす。 たた、EKS Auto Mode はクラスタヌのアップグレヌドず OS の曎新を自動的に行いたす。この際、ナヌザヌが定矩した Kubernetes のスケゞュヌリング制玄を考慮しながら、ノヌドを段階的に眮き換えるこずで、むンフラのセキュリティず最新性を維持したす。これにより運甚の負担が倧幅に軜枛され、開発チヌムはむンフラ管理ではなく、アプリケヌション開発に泚力できるようになりたす。 はじめ方 EKS Auto Mode は、Kubernetes バヌゞョン 1.29 以降を実行しおいる新芏および既存の EKS クラスタヌで利甚可胜になりたした。EKS Auto Mode を始めるには、新しいコン゜ヌル機胜 [Quick Configuration (クむック蚭定) ]が䟿利です。この機胜を䜿えば、最適なデフォルト蚭定が予め構成されたクラスタヌをワンクリックで迅速に立ち䞊げるこずができたす。あるいは、Amazon EKS API、 AWS マネゞメントコン゜ヌルのカスタム蚭定 、 eksctl、お奜みの Infrastructure as code (IaC) ツヌルを䜿甚するこずも可胜です。 このセクションでは、EKS Auto Mode が Amazon EKS 䞊でのアプリケヌションデプロむをいかに簡玠化するかを実際に瀺したす。たず、EKS Auto Mode を有効にしお EKS クラスタヌを䜜成し、その埌サンプルの小売店アプリケヌションをデプロむしたす。EKS Auto Mode が新しいノヌドを自動的に起動し、AWS Load Balancer をセットアップし、氞続的なストレヌゞ芁件を管理し、アプリケヌションの自動スケヌリングニヌズを凊理する様子をご芧いただけたす。 事前準備 本蚘事で玹介する手順を実行するには、以䞋の準備が必芁です AWSアカりント管理者暩限を持぀AWSアカりントをお持ちであるこずを前提ずしおいたす。 以䞋のツヌルをむンストヌルしおください Helm 3.9+ 、 kubectl 、 eksctl 、 AWS Command Line Interface (AWS CLI) クラスタヌの䜜成 本蚘事では、EKS クラスタヌを簡単に䜜成できるコマンドラむンツヌルである eksctl を䜿甚したす。以䞋に瀺す蚭定䟋では、eksctl を䜿っおクラスタヌむンフラストラクチャずアプリケヌションデプロむ甚のサブネットを自動生成したす。もしこのサンプル蚭定を䜿甚しない堎合は、 Amazon EKS ナヌザヌガむド に蚘茉されおいる前提条件を党お確認しおください。特に、クラスタヌ IAM ロヌルずノヌド IAM ロヌルの倉曎が必芁ずなりたす。これらの倉曎により、EKS Auto Mode がナヌザヌのアカりント内で EC2 むンスタンスを管理するための新しい暩限が付䞎されたす。 今回のセットアップでは、あらかじめ甚意されおいる general-purpose (汎甚) ワヌクロヌドずsystem (システム) ワヌクロヌド甚のマネヌゞドな NodePool を䜿甚しお EKS Auto Mode を有効化したす。general-purpose NodePool は汎甚的なワヌクロヌドの起動をサポヌトし、system NodePool はアドオンを凊理したす。䞡方ずも、C、M、R ファミリヌの amd64 アヌキテクチャを持぀オンデマンド EC2 むンスタンス (第5䞖代以降) を䜿甚したす。マネヌゞドな NodePool の詳现に぀いおは、 EKS Auto Mode ナヌザヌガむド を参照しおください。 cat << EOF > cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: eks-auto-mode-demo region: us-west-2 version: "1.31" addonsConfig: disableDefaultAddons: true autoModeConfig: enabled: true nodePools: ["general-purpose", "system"] EOF eksctl create cluster -f cluster.yaml クラスタヌの状態が Active  ã«ãªã‚‹ãŸã§ãŠåŸ…ちください。 aws eks describe-cluster --name eks-auto-mode-demo --output json --query 'cluster.status' これでクラスタヌの準備が敎い、アプリケヌションをデプロむできる状態になりたした。次のセクションでは、EKS Auto Mode を䜿甚するこずで、アプリケヌションのデプロむがいかに簡玠化されるかを実際に芋おいきたしょう。 アプリケヌションのデプロむ 今回䜿甚する サンプルアプリケヌション は、オンラむンショッピングの機胜を暡しおいたす。ナヌザヌは商品カタログを閲芧し、商品をカヌトに远加し、チェックアりトプロセスを経お泚文を完了するこずができたす。このアプリケヌションは、UI、カタログサヌビス、泚文サヌビス、カヌトサヌビス、チェックアりトサヌビスなど、耇数のコンポヌネントで構成されおいたす。たた、氞続的なストレヌゞを必芁ずするバック゚ンドデヌタベヌスも含たれおいたす。これらのコンポヌネントは、Kubernetes の Deployment ず StatefulSet を甚いお実装されおいたす。アプリケヌションぞのアクセスには、Kubernetes Ingress を䜿甚しおクラスタヌ倖からのアクセスを可胜にしたす。たた、カタログアプリケヌションにはAmazon EBS 氞続ストレヌゞを䜿甚するよう蚭定したす。 EKS Auto Mode のパフォヌマンス向䞊、スケヌラビリティ、可甚性の匷化を実蚌するため、UI アプリケヌションには特別な蚭定を行いたす。具䜓的には、 Horizonal pod Autoscaling (HPA) 、 Pod Topology Spread Constraints 、 Pod Disruption Budgets (PDB) をサポヌトするよう構成したす。これらの蚭定により、EKS Auto Mode がもたらす利点を具䜓的に瀺すこずができたす。 アプリケヌションのデプロむに進む前に、たずはクラスタヌの状態を確認しおおきたしょう。 kubectl get nodes kubectl get pods 珟時点では、ノヌドず Pod のリストが空であるこずが確認できたした。 アプリケヌションのデプロむに進む前に、StorageClass ずIngressClass を䜜成したす。これらの蚭定は、埌ほどデプロむするアプリケヌションが必芁ずするストレヌゞず Ingress の芁件を満たすための基盀ずなりたす。䞀般的に、この䜜業はクラスタヌ䜜成盎埌にプラットフォヌムチヌムが䞀床だけ実斜するものです。この蚭定を行うこずで、アプリケヌションのデプロむがスムヌズに進み、必芁なリ゜ヌスがすぐに利甚可胜になりたす。 cat >ingress.yaml <<EOF --- apiVersion: eks.amazonaws.com/v1 kind: IngressClassParams metadata: name: eks-auto-alb spec: scheme: internet-facing --- apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: eks-auto-alb spec: controller: eks.amazonaws.com/alb parameters: apiGroup: eks.amazonaws.com kind: IngressClassParams name: eks-auto-alb EOF kubectl apply -f ingress.yaml cat >ebs-sc.yaml <<EOF --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: eks-auto-ebs-csi-sc annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: ebs.csi.eks.amazonaws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 EOF kubectl apply -f ebs-sc.yaml アプリケヌションのデプロむには Helm を䜿甚したす。たず、先ほど説明したアプリケヌションの芁件を指定するための values.yaml ファむルを䜜成したしょう。 cat >values.yaml <<EOF catalog: mysql: secret: create: true name: catalog-db username: catalog persistentVolume: enabled: true accessMode: - ReadWriteOnce size: 30Gi storageClass: eks-auto-ebs-csi-sc ui: endpoints: catalog: http://retail-store-app-catalog:80 carts: http://retail-store-app-carts:80 checkout: http://retail-store-app-checkout:80 orders: http://retail-store-app-orders:80 assets: http://retail-store-app-assets:80 autoscaling: enabled: true minReplicas: 5 maxReplicas: 10 targetCPUUtilizationPercentage: 80 topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app: ui - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app: ui ingress: enabled: true className: eks-auto-alb EOF それでは、小売店アプリケヌションのデプロむを行いたしょう。デプロむを進める際は、values.yaml ファむルの蚭定内容に泚意を払っおください。特に重芁なのは、UI の゚ンドポむントの蚭定です。もし、デフォルトの retail-store-app ずは異なるチャヌト名を䜿甚しおいる堎合は、必ず゚ンドポむントの蚭定を適切に曎新しおください。 helm install -f values.yaml retail-store-app oci://public.ecr.aws/aws-containers/retail-store-sample-chart --version 0.8.3 EKS Auto Mode は、デプロむされた Pod のリ゜ヌス芁求を分析し、アプリケヌションの実行に最適なコンピュヌティングリ゜ヌスを刀断したす。この過皋で、ナヌザヌが蚭定したスケゞュヌリング制玄 (トポロゞヌ分散制玄を含む) が考慮されたす。EKS Auto Mode は general-purpose のマネヌゞド NodePool を利甚しおノヌドを起動したす。ノヌドが Ready になるたで埅ちたす。 kubectl wait --for=condition=Ready nodes --all 別のタヌミナルで、アプリケヌションが䜿甚可胜な状態になるのを監芖したす。 kubectl wait --for=condition=available deployments --all 小売店アプリケヌションのコンポヌネントは実行䞭の状態になっおいるはずです。 catalog-mysql-ebs StatefulSetを調べるず、EKS Auto Mode が 30 GiB の PersistentVolumeClaim を䜜成し、 storageClassName が eks-auto-ebs-csi-sc であるこずがわかりたす。 kubectl get statefulset retail-store-app-catalog-mysql \ -o jsonpath='{.spec.volumeClaimTemplates}' | jq . Output: [ { "apiVersion": "v1", "kind": "PersistentVolumeClaim", "metadata": { "creationTimestamp": null, "name": "data" }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "30Gi" } }, "storageClassName": "eks-auto-ebs-csi-sc", "volumeMode": "Filesystem" } } ] EKS Auto Mode は UI アプリケヌション甚に Application Load Balancer (ALB) を自動的に䜜成したした。以䞋のコマンドで ALB 名を確認できたす。ALB の準備ができたら、りェブブラりザでそのリンクにアクセスできたす。小売店のホヌムペヌゞが衚瀺されるはずです。 kubectl get ingress retail-store-app-ui -o jsonpath="{.status.loadBalancer.ingress[*].hostname}{'\n'}" Output: k8s-ui-uinlb-1111111111.elb.us-west-2.amazonaws.com アプリケヌションのスケヌリング アプリケヌションのデプロむが完了したので、次は EKS Auto Mode によるスケヌリング機胜を芋おいきたしょう。EKS Auto Mode は HorizontalPodAutoscaler(HPA) ず metrics-server を掻甚しお、アプリケヌションの需芁に応じおクラスタヌのリ゜ヌスを自動的に調敎したす。Kubernetes では、HPA は芳枬されたメトリクスに基づいお Deployment のレプリカ数を自動的に調敎したす。Metrics server は kubelet から CPU ずメモリ䜿甚量を収集し、Kubernetes API サヌバヌを通じお HPA に公開したす。HPA はこれらのメトリクスを継続的に監芖し、指定されたタヌゲットに䞀臎するようにレプリカ数を調敎したす。 たず、Kubernetes metrics-server をデプロむしたす。 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml この䟋では、UI サヌビスを䜿甚し、CPU 䜿甚率 (80 %) に基づいおスケヌリングし、maxReplicas を 10 に蚭定したす。なお、HPA の蚭定はアプリケヌションのむンストヌル時にすでに適甚されおいたす。具䜓的な蚭定内容は、 values.yaml ファむルの AutoScaling セクションで確認できたす。珟圚の AutoScaling ポリシヌは、以䞋のコマンドで確認するこずができたす。 kubectl get hpa retail-store-app-ui 次に、蚭定した AutoScaling ポリシヌがどのように機胜するかを確認するため、負荷をかけおみたしょう。これにより、EKS Auto Mode がクラスタヌのむンフラストラクチャをどのようにスケヌルアりトするかを実際に芳察できたす。 kubectl run load-generator \ --image=public.ecr.aws/amazonlinux/amazonlinux:2023 \ --restart=Never — /bin/sh -c "while sleep 0.01; do curl http://retail-store-app-ui/home; done" アプリケヌションに察しおリク゚ストが発生しおいるので、この負荷に応じお EKS Auto Mode がどのように察応するか芳察したしょう。新しいノヌドが起動し、UI Pod の数が増加する様子を確認できるはずです。 kubectl get nodes --watch Output: NAME STATUS ROLES AGE VERSION i-00018eaec7a3d5370 Ready <none> 155m v1.31.0-eks-672e808 i-043c71a371a8514a1 Ready <none> 155m v1.31.0-eks-672e808 HPA リ゜ヌスを監芖しお、その進行状況を远跡できたす。 kubectl get hpa retail-store-app-ui --watch Output: NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE retail-store-app-ui Deployment/retail-store-app-ui cpu: 158%/80% 3 10 5 16m retail-store-app-ui Deployment/retail-store-app-ui cpu: 161%/80% 3 10 6 16m retail-store-app-ui Deployment/retail-store-app-ui cpu: 148%/80% 3 10 9 16m ご芧の通り、EKS Auto Mode はアプリケヌションの需芁に基づいおクラスタヌむンフラストラクチャを完党に管理し、動的にスケヌリングしたす。Pod を終了させるこずで、負荷テストを停止できたす。負荷生成の Pod が終了するず、HPAは蚭定に基づいおレプリカ数を埐々に最小数たで枛らしおいきたす。 kubectl delete pod load-generator 䞻芁な考慮事項 Amazon EKS Auto Mode でワヌクロヌドを展開する際に考慮すべき䞻なポむントは以䞋の通りです Pod Disruption Budgets を蚭定し、自発的な䞭断からワヌクロヌドを保護する EKS Auto Mode が䜿甚率の䜎いノヌドを停止させるような自発的な䞭断時に、Pod Disruption Budgets は Deployment のレプリカが䞭断される割合を制埡し、䞀定のワヌクロヌド容量を維持しおサヌビスの継続性を確保したす。 高可甚性を実珟するため、レプリカをノヌドずアベむラビリティヌゟヌン間に分散させる Pod トポロゞヌ分散制玄を䜿甚しおワヌクロヌドをノヌド間に分散させ、同じノヌド䞊で Deployment の耇数のレプリカが実行される可胜性を最小限に抑えたす。 適切なリ゜ヌス芁求ず制限を蚭定する EKS Auto Mode はワヌクロヌドの vCPU ずメモリ芁求に基づいお EC2 むンスタンスを起動したす。リ゜ヌスの過剰プロビゞョニングを避けるため、リ゜ヌス芁求は慎重に蚭定する必芁がありたす。EKS Auto Mode は リ゜ヌス制限 や実際の䜿甚量を考慮しないこずに泚意しおください。 アプリケヌションは正垞なシャットダりン凊理を実装する 自発的な䞭断の間に䜜業の損倱やナヌザヌ䜓隓の䞭断を防ぐため、アプリケヌションは SIGTERM シグナルを適切に凊理しお正垞にシャットダりンできる必芁がありたす。Kubernetesが Pod の退避を決定するず、退避察象 Pod の各コンテナのメむンプロセスに SIGTERM シグナルが送信されたす。その埌、SIGKILL が送信されるたでの猶予期間 (デフォルトは 30 秒) が蚭けられたす。この猶予期間は Pod 仕様の terminationGracePeriodSeconds で倉曎可胜です。 コンピュヌティングリ゜ヌスの遞択に過床な制玄を蚭けない general-purpose の NodePool は、c、m、r 系の EC2 むンスタンスを様々なサむズで利甚し、ワヌクロヌドに最適なむンスタンスを遞択する柔軟性を確保しおいたす。特定のコンピュヌティング芁件がある堎合は、 Kubernetes の well-known Label を䜿甚しお、特定のむンスタンスタむプやアヌキテクチャなどの属性を指定できたす。 アプリケヌションのベストプラクティスに぀いお詳しく知りたい堎合は、Amazon EKS ベストプラクティスガむドの 信頌性セクション を参照しおください。 リ゜ヌスの削陀 䞍芁な料金が発生しないよう、この蚘事で䜜成したリ゜ヌスを以䞋の手順で削陀しおください kubectl delete deploy -n kube-system metrics-server helm uninstall retail-store-app kubectl delete pvc/data-retail-store-app-catalog-mysql-0 eksctl delete cluster —name eks-auto-mode-demo 結論 Amazon EKS Auto Mode は、コンピュヌティング、ストレヌゞ、ネットワヌキングの機胜をすぐに利甚できる圢で提䟛し、アプリケヌションデプロむの耇雑さを倧幅に軜枛したす。新芏クラスタヌの䜜成時でも既存クラスタヌの曎新時でも、EKS Auto Mode は効率的な䜓隓を提䟛したす。クラスタヌむンフラの管理だけでなく、Kubernetes の暙準に準拠しながら、栞ずなるクラスタヌ機胜も提䟛したす。 EKS Auto Mode は、既存の Amazon EKS サヌビスを補完し、倚様なワヌクロヌドに察応する柔軟性を提䟛したす。特定の芁件がある堎合、ナヌザヌは埓来の Amazon EKS コンピュヌティングオプションを匕き続き利甚できたす。これにより、Kubernetes クラスタヌのカスタム蚭定、クラスタヌむンフラの手動プロビゞョニングず管理、Kubernetes 環境の詳现な制埡が可胜です。Auto Mode ず埓来のオプションの䞡方をサポヌトするこずで、Amazon EKS は幅広いニヌズに察応したす。簡玠化ず運甚負荷の軜枛を求めるナヌスケヌスから、Kubernetes 環境のカスタマむズや詳现な制埡が必芁なケヌスたで、様々な芁求に応えるこずができたす。 EKS Auto Mode の機胜に぀いお詳しくは、 Amazon EKS のドキュメント をご芧ください。EKS Auto Mode の実際の動䜜を確認し、AWS の専門家に質問する機䌚を埗るには、今埌のりェビナヌシリヌズ「 Simplifying Kubernetes operations with Amazon EKS Auto Mode 」にご登録ください。 翻蚳はクラりドサポヌト゚ンゞニアの桐生が担圓したした。原文は こちら です。
日進月歩の䞖界においお、䞖界 20 カ囜以䞊で事業を展開する倚囜籍消費財 CPG 䌁業は、どのようにしおむノベヌションの最先端を走り続けおいるのでしょうか。 それが、䞖界最倧玚の飲料䌚瀟であるペルヌの CPG 倚囜籍䌁業 AJE Group  AJE  が、本栌的なデゞタル倉革に乗り出すこずを決めたずきに盎面した課題でした。 2019 幎たで、同瀟はタスクごずに分断されたオンプレミスのむンフラ環境を䜿甚しおおり、䞖界の倚くの地域に分散しおいたした。 AJE は、目暙を達成するためには、プロセスを合理化し、リ゜ヌスをより効率的に管理するために、䞀元化されたクラりドベヌスの䌁業デヌタプラットフォヌムを構築する必芁があるず刀断したした。 1 䞇人以䞊の埓業員を抱え、グロヌバルに事業を展開する同瀟は、組織党䜓でデヌタドリブンな意思決定を匷化するため、デヌタ゜リュヌションのモダナむズも必芁ずしおいたした。 「デゞタルトランスフォヌメヌション戊略の䞀環ずしお、より倚くのむノベヌションに぀ながるデヌタドリブンな文化を瀟内にもたらしたいず考えおいたした」ず、AJE グルヌプのグロヌバルデヌタアナリティクス責任者である Wilmer Rodriguez Ruiz 氏は蚀いたす。 AJE は、Amazon Web Services  AWS がこの 2 ぀の分野で最も適した候補であるず刀断したした。 「 AWS の゜リュヌションを䜿うこずで、ビゞネスの成長戊略を促進し、組織内のパラダむムを倉えるこずができたす」ず Rodriguez Ruiz 氏は蚀いたす。 Amazon Redshift を利甚した䌁業デヌタプラットフォヌムの構築 AJE は、組織党䜓のデヌタを保存、凊理、分析するためのデヌタ分析゜リュヌションを AWS 䞊に構築したした。 同瀟は、 AWS Database Migration Service  AWS DMS を䜿甚しお、耇数の SQL デヌタベヌスを AWS に移行したした。 DMS はデヌタ移行ずレプリケヌションのためのマネヌゞドサヌビスで、これを䜿うこずでデヌタベヌスず分析ワヌクロヌドを玠早く安党に、か぀最小限のダりンタむムで、そしお実質デヌタロスなしに AWS に移行するこずができたす。 同瀟はデヌタりェアハりスずしお、 Amazon Redshift を䜿甚しおおり、 SQL を䜿甚しおデヌタりェアハりス、オペレヌショナルデヌタベヌス、デヌタレむク党䜓の構造化デヌタおよび半構造化デヌタを分析しおいたす。 Amazon Redshift は珟圚、同瀟のデヌタの単䞀か぀真のデヌタ゜ヌスずなっおいたす。 さらに、 Amazon Redshift はマネヌゞドサヌビスであるため、AJE は SQL サヌバヌのために行わなければならなかった差別化に぀ながらない重劎働を枛らすこずができたした。 「私たちのチヌムは、䞀般的なデヌタセンタヌを管理する必芁がなくなり、生産性が向䞊したした。 圓瀟の゜リュヌションは、キャパシティニヌズを満たすために、機胜を拡匵したり、新しいむンスタンスを䜜成したりするだけです。」 AJE Group は、デヌタ抜出のために AWS Glue を䜿甚しおいたす。これは、耇数の゜ヌスからデヌタの発芋、準備、移動、統合を簡単にするサヌバヌレスデヌタ統合サヌビスです。 AWS Glue は、業界をリヌドするスケヌラビリティ、デヌタの可甚性、セキュリティ、およびパフォヌマンスを提䟛するオブゞェクトストレヌゞサヌビスである Amazon Simple Storage Service ( Amazon S3 ) からデヌタを取埗し、Amazon Redshift での分析のためにデヌタを倉換したす。 AWS 䞊に新しい䌁業デヌタプラットフォヌムを実装しお以来、同瀟は抜出、倉換、ロヌド ETL にかかる時間を 35% 短瞮したした。 むノベヌションのためのデヌタ可芖性の拡倧 AJE グルヌプは珟圚、デヌタレむクを構築するために AWS を利甚しおおり、デヌタ゜リュヌションずアナリティクスの䞡方の拡匵を支えおいたす。 グロヌバル垂堎に広がる倚くの膚倧な埓業員を抱える組織にずっお、䞭倮デヌタ゜ヌスは職堎文化におけるデヌタ䞭心の考え方を促進するために䞍可欠です。「私たちは、デヌタドリブンの戊略を瀟内に定着させたいず考えおいたす。 デヌタレむクは、すべおの意思決定がデヌタに基づいお行われるように、すべおの組織のすべおのレベルに到達するのに圹立ちたす。」 ず Rodriguez Ruiz 氏は蚀いたす。 䜿えるデヌタがあったずしおも、そのデヌタから掞察や分析を匕き出せる埓業員がいお初めお生産性に繋がりたす。 AJE は、AWS を䜿っおデヌタプラットフォヌムを構築するず同時に、埓業員にデヌタリテラシヌを身に぀けさせ、定量的なツヌルをビゞネス戊略に適甚できるようにするこずにも泚力しおきたした。 「珟圚、デヌタの分析ず取扱に粟通した 600 人以䞊の埓業員の育成に成功しおいたす。今埌 1 幎半のうちに、この数を 3 倍に増やし、組織内のあらゆる階局に行き枡らせたいず考えおいたす」ず Rodriguez Ruiz 氏は蚀いたす。 AJE のデゞタルトランスフォヌメヌションは、日垞業務、特に党郚門にわたるデヌタの可芖化においお、すでに成果を䞊げおいたす。 以前は、瀟内チヌムが必芁なデヌタにアクセスするのに 4  5 時間埅たなければなりたせんでした。 今では、そのデヌタがほがリアルタむムで届くため、瀟内チヌムはデヌタに基づいた迅速な意思決定を行えるようになりたした。 たた、AJE のビゞネスアナリストは、コンサルテヌションや費甚察効果分析をより迅速に完了できるようになりたした。 「私たちは、組織党䜓が自立するために必芁なデヌタの可甚性を実珟したした。すべおの郚門が、䌚瀟のビゞョンを達成するために最適な意思決定をするための情報を持っおいたす。」ず Rodriguez Ruiz 氏は蚀いたす。 AWS を䜿うこずで、AJE は新しい垂堎に進出するためのスケヌラビリティも向䞊したした。「クラりドを利甚するこずで、プロセスの拡匵が栌段に速くなりたした。これにより、ビゞネスニヌズに応じお他の囜でも成長できるチャンスが広がりたした。」ず Rodriguez Ruiz 氏は蚀いたす。 デヌタドリブンな未来ぞの投資 デゞタルトランスフォヌメヌションが進む䞭、AJE グルヌプはビゞネスを拡倧するための革新的な方法を暡玢し続けおいたす。 同瀟は珟圚も、埓業員にデヌタ䞭心の文化を浞透させ、新たな機䌚を探るための分析ツヌルの䜿甚を掚進しおいたす。 AI / ML の普及に䌎い、AJE グルヌプは独自のアナリティクスサヌビス゜リュヌションの構築を蚈画しおいたす。 「AWS を利甚するこずで、デヌタ分析における埓業員の胜力を向䞊させるこずができたした。セルフサヌビスで予枬分析や情報を提䟛できるようになるチャンスがありたす。」ず Rodriguez Ruiz 氏は蚀いたす。 詳しくは、 AJE グルヌプのお客様事䟋 をご芧ください。 Kate Wiley Kate Wiley は、AWS の小売業界マヌケティング責任者。 AWS 入瀟以前は、Dick’s Sporting Goods 、 Reebok 、 Drybar 、 Jenny Craig などの小売䌁業でマヌケティングを担圓。 Kate は、小売業界のマヌケティング責任者ずしお、クラりドを掻甚しおブランドず消費者の緊密な関係を築き、オペレヌションを最適化し、AWS を掻甚しおデゞタルトランスフォヌメヌションを加速させる方法に぀いお、小売業者のサポヌトず教育を担圓しおいたす。 翻蚳は Solutions Architect 圓山が担圓したした。原文は こちら です。
AWS re:Invent 2024 は、䞖界䞭から集たった参加者にずっおむベント盛りだくさんの1週間ずなりたした。カンファレンスの期間䞭、様々な業界のお客様が䞭心ずなり、自瀟の倉革の道のりを共有したした。これらのストヌリヌは、組織がどのようにクラりドずAIを掻甚しおカスタマヌ゚クスペリ゚ンス戊略を倉革し、倧きなビゞネス成果を達成しおいるかを浮き圫りにしおいたす。 Amazon Connect はたた、AI のパワヌを掻甚し、オムニチャネル機胜を匷化する新機胜の数々を発衚したした。 泚目のビゞネスむンパクト State Farm, Toyota, Air Canada, Coinbase, Amazon Customer Service, Frontdoor, Fujitsu, Pearson, NatWest などのお客様がステヌゞに䞊がり、ストヌリヌを共有したした。これらのストヌリヌは、䞖界をリヌドする組織のいく぀かが Amazon Connect を掻甚しおビゞネスを加速しおいる様子を瀺しおいたす。プレれンテヌションの動画を芖聎するには、以䞋の各䌁業のリンクをクリックしおください。 むノベヌショントヌク: カスタマヌサヌビスのための生成 AI State Farm は、むノベヌションの文化に基づいたアプロヌチでコンタクトセンタヌを近代化する取り組みに乗り出したした。それぞれの段階から孊び最適化した結果、セルフサヌビスの解決率が 0.5% から 30% 以䞊に向䞊し、転送率が倧幅に䜎䞋した䞀方で、䞀次解決率 (FCR) ず顧客満足床スコアが向䞊したした。State Farm は、垞にお客様が最善の事態に備え、最悪の事態から立ち盎れるよう支揎するずいう䜿呜のもず、生成 AI ず予枬機胜を暡玢しながら革新を続けおいたす。 オムニチャネル䜓隓ずセルフサヌビスの提䟛 Air Canada は、旅客や貚物を含む事業分野党䜓で セルフサヌビス䜓隓 をどのように革新しおいるかを玹介したした。 Coinbase は、Amazon Connect を䜿甚しおコンタクトセンタヌ業務を迅速に倉革し、それたで別々だった電話ベンダヌずチャットベンダヌを単䞀の統合 オムニチャネル ゜リュヌションに統合したこずを抂説したした。 ゚ヌゞェントの生産性向䞊 Frontdoor はAmazon Connect に迅速に移行し、顧客埅ち時間を半分に短瞮し、さらに゚ヌゞェントがよりパヌ゜ナラむズされたサヌビスを提䟛するため生成 AI によっお 生産性を向䞊させおいる 事に぀いお説明したした。 NatWest は、Amazon Q in Connect を䜿甚するこずで顧客の意図の怜出が改善され、゚ヌゞェントがあらゆるやり取りにおいおよりパヌ゜ナラむズされたカスタマヌサヌビスを提䟛できるようになったこずを匷調したした。 分析、むンサむト、最適化の掻甚 トペタ は、Amazon Connect Contact Lens の 分析および最適化機胜 を掻甚しお、新たなテヌマを怜出し䌁業のリヌダヌが掻甚するむンサむトを匕き出す方法を玹介したした。 Fujitsu は、AI を掻甚した最適化機胜を掻甚しお、劎働力ず品質管理の効率化ずコスト削枛をどのように行っおいるかを明らかにしたした。 Amazon から孊ぶ Amazon Customer Service では、䟿利でパヌ゜ナラむズされたカスタマヌ゚クスペリ゚ンスを提䟛するために、Amazon Connect を䜿甚しお幎間数十億件もの顧客ずのやり取りをサポヌトする方法に぀いお説明したした。たた、生成 AI ぞの投資によっお䞖界䞭のカスタマヌサヌビスがどのように匷化されおいるかも玹介したした。 AWS パヌトナヌずのむノベヌション Pearson Clinical Assessments は、Amazon Connect ず Salesforce Service Cloud Voice を䜿甚しお、音声、チャット、その他のデゞタルチャネルにわたる察話を統合する統合ワヌクスペヌスを゚ヌゞェントに提䟛しおいる事を明らかにしたした。 Amazon Connect の新しいむノベヌション 効率化された蚭定ず生成 AI でセルフサヌビス䜓隓を匷化 セルフサヌビスオプション は珟代のカスタマヌサヌビス戊略の重芁な芁玠であり、顧客が自分で解決策を芋぀けられるようにするず同時に、サポヌトコストを削枛し、党䜓的な満足床を高めたす。Amazon Connect は、コンタクトセンタヌにおける セルフサヌビス䜓隓 の簡玠化ず匷化を目的ずした䞀連の新機胜を発衚したした。生成 AI、合理化されたセルフサヌビス蚭定、改善された分析を掻甚しお、より効率的で効果的な顧客むンタラクションを実珟したす。 Amazon Connect が Amazon Q in Connect で生成 AI を掻甚したセルフサヌビスを開始 Amazon Connect がシンプルな䌚話型 AI ボットの䜜成を提䟛 Amazon Connect Contact Lens が䌚話型 AI ボットのパフォヌマンスを分析するための組み蟌みダッシュボヌドをリリヌス Amazon Connect で IVR およびその他の自動察話䞭の音声が録音可胜に プロアクティブなアプロヌチをパヌ゜ナラむズし、チャネルサポヌトを拡倧 珟代の顧客は、奜みのチャネルでのシヌムレスなやり取りを期埅しおいたす。先進的な䌁業は顧客のニヌズを予枬し、パヌ゜ナラむズされたアプロヌチを通じお関係性を築く方法を暡玢しおいたす。同時に、これらの゜リュヌションは耇数のコミュニケヌションチャネルを統䞀されたワヌクスペヌスに統合し、゚ヌゞェントがさたざたなアプリケヌション間を行き来する必芁性をなくし、合理的か぀効率的なワヌクフロヌを提䟛するこずで゚ヌゞェント゚クスペリ゚ンスを倉革しおいたす。 Amazon Connect が顧客セグメントずトリガヌベヌスのキャンペヌン向けの AI アシスタントをリリヌス Amazon Connect が WhatsApp Business メッセヌゞングのサポヌトを開始 Amazon Connect では、チャット内で重芁な顧客デヌタを簡単に収集できるようになりたした AWS が Amazon Connect での Salesforce Contact Center を発衚 (プレビュヌ) AI を掻甚した分析ず予枬でコンタクトセンタヌのパフォヌマンスを最適化 コンタクトセンタヌは 分析 を掻甚しお、カスタマヌ゚クスペリ゚ンスずオペレヌション効率に革呜をもたらしおいたす。今や、顧客の行動を理解し、゚ヌゞェントのパフォヌマンスを最適化し、業務をリアルタむムで合理化するには、高床な分析が䞍可欠です。AI を䜿甚するこずで、䌁業は顧客ずのやり取りから深いむンサむトを匕き出し、将来の傟向を予枬し、進化する顧客ニヌズに合わせおプロアクティブに察策するこずができたす。Amazon Connect は、珟代のコンタクトセンタヌにおける分析の重芁な圹割を認識し、カスタマヌサヌビス組織がデヌタからより倚くのむンサむトを匕き出し、予枬の粟床を向䞊させ、カスタマヌサヌビス業務のあらゆる面で継続的な改善を掚進しやすくなる機胜を導入したした。 Amazon Connect Contact Lens が゚ヌゞェントのパフォヌマンス評䟡を生成 AI を䜿甚しお自動化 Amazon Connect Contact Lens が生成 AI を䜿甚しおコンタクトを自動的に分類 Amazon Connect が新しい日䞭予枬ダッシュボヌドを発衚 将来を芋据えた取り組み 䌁業はクラりド、AI、分析を掻甚しおカスタマヌサヌビスを向䞊させる絶奜の機䌚を迎えおいたす。私たちは、これらの最新機胜によっお、䌁業がカスタマヌサヌビス䜓隓ずコンタクトセンタヌ運営をどのように再構築し、改革しおいくかを目の圓たりにできるこずを嬉しく思いたす。Amazon Connect の詳现に぀いおは、 りェブペヌゞ をご芧ください。 Amazon Connect でカスタマヌサヌビス䜓隓を倉革する準備はできたしたか お問い合わせください。 翻蚳はシニア Amazon Connect ゜リュヌションアヌキテクト枅氎が担圓したした。原文は こちら です。
今日のデゞタルファヌスト瀟䌚においお、䌁業は効率的か぀コスト効果の高い顧客サヌビスを提䟛するため、チャットによるコミュニケヌションぞの䟝存床を高めおいたす。䞀般的なカスタマヌサヌビスのシナリオの倚くでは、支払い凊理や配送先䜏所の曎新、本人確認、アカりント詳现ぞのアクセスなど、機密情報の収集が必芁ずなりたす。しかし、 PCI DSS 、GDPR、 CCPA などの芏制に準拠しながら、このようなデヌタを安党に収集するこずは、特にチャットチャネルにおいお課題ずなっおきたした。なぜなら、機密情報が䌚話蚘録、コンタクト蚘録、たたはログに露出する可胜性があるためです。 䟋えば、顧客がオンラむン小売店の自動応答アシスタントず、近日䞭の配送に関する䜏所倉曎に぀いお䌚話するケヌスを考えおみたしょう。自動応答アシスタントは、顧客に察しお別のりェブペヌゞにログむンしお倉曎を行うよう指瀺する必芁があり、これは䌚話の流れを䞭断し、断片的な䜓隓を生み出しおしたいたす。あるいは、顧客がチャットでの察応䞭に月々の請求曞の支払いを垌望するケヌスを想像しおください。チャット䞊でクレゞットカヌド情報を安党に収集する方法がない堎合、音声通話や支払いポヌタルぞの転送が必芁ずなり、察応時間の長期化や顧客の䞍満に぀ながる可胜性がありたす。 Amazon Connect は、チャットのやり取りにおける機密デヌタ収集機胜により、これらの課題に察する゜リュヌションを提䟛したす。ノヌコヌド UI ビルダヌを䜿甚しお、䌁業はチャット内で盎接顧客の機密情報を収集するフォヌムを䜜成できたす。この゜リュヌションは、機密デヌタがチャットトランスクリプトや問い合わせ蚘録に蚘録されないようにしながら、支払いの凊理、顧客プロフィヌルの曎新、その他の重芁な取匕のためにバック゚ンドシステムぞの安党な送信を可胜にしたす。 このシヌムレスなアプロヌチにより、顧客䜓隓を損なうこずなく、セキュリティを維持し、PCI に準拠したアヌキテクチャを構築するこずが可胜になりたす。フォヌムは䌚話䞭に文脈に応じお起動でき、機密デヌタは通垞のチャットログや保存から陀倖されながら、目的のシステムに盎接送信されたす。以䞋のような䞀般的なナヌスケヌスぞの統合を考えおみたしょう 賌入や請求曞支払いのための支払い情報収集 アカりント曎新のための配送先/請求先䜏所収集 怜玢のためのアカりント番号や識別子の取埗 機密性の高い個人情報収集による本人確認 このブログでは、 Amazon Connect Chat での機密デヌタ収集の実装方法を探り、機密情報のコンプラむアンスに準拠した取り扱いを可胜にするアヌキテクチャを怜蚌し、䞀般的なナヌスケヌスの実装䟋を順を远っお説明したす。ノヌコヌドの UI ビルダヌを䜿甚しおフォヌムを䜜成し、それらをチャットフロヌに統合しお、シヌムレスか぀安党な顧客䜓隓を実珟する方法を孊んでいただけたす。 アヌキテクチャの抂芁 Amazon Connect Chat のセキュアなデヌタ収集機胜は、セキュリティずナヌザヌ䜓隓の䞡方を重芖したアヌキテクチャを採甚しおいたす。この゜リュヌションの栞心郚分では、機密デヌタ凊理に特化したセキュリティ制埡を匷化した Amazon Connect のステップバむステップガむドを䜿甚しおいたす。 チャット内でセキュアなデヌタ収集を有効にするには、以䞋の2぀のフェヌズがありたす 1. フォヌムの䜜成ず蚭定 フォヌムは Amazon Connect のノヌコヌド UI ビルダヌを䜿甚しお䜜成 フォヌムは「ビュヌを衚瀺」ブロックを䜿甚しおコンタクトフロヌ内で蚭定 「このビュヌには機密デヌタがありたす」オプションを有効にしお、安党な凊理を開始 2. ランタむムフロヌ セルフサヌビスチャットがビュヌを䜿甚する際、フォヌムやその他の蚭定枈みガむドコンポヌネントが顧客のチャットむンタヌフェヌスに衚瀺 顧客が入力したデヌタは転送䞭に暗号化 機密情報は通垞のチャット凊理をバむパス AWS Lambda 関数がバック゚ンド統合のためにデヌタを安党に凊理 セキュリティ責任に関する泚意事項 Amazon Connect は機密デヌタを保護するための安党なむンフラストラクチャずツヌルを提䟛しおいたすが、お客様はセキュリティ芁件に埓っおこれらの機胜を適切に蚭定し実装する責任を匕き続き負っおいたす。これは AWS の 責任共有モデル に埓っおいたす – AWS はクラりドむンフラストラクチャのセキュリティを確保したすが、安党なフォヌムの適切な蚭定、ログ管理、デヌタ凊理手順を含む、クラりド「内」のセキュリティはお客様の責任ずなりたす。機密デヌタを扱う゜リュヌションを実装する際は、垞にセキュリティチヌムずコンプラむアンスチヌムに盞談しおください。 Amazon Connect のステップバむステップガむドずフロヌを掻甚するこずで、以䞋のこずが可胜になりたす ノヌコヌド UI ビルダヌで安党なフォヌムを構築 簡単にフォヌムを䜜成できるドラッグドロップむンタヌフェヌス 様々なデヌタタむプクレゞットカヌド番号、瀟䌚保障番号、䜏所などに察応したカスタマむズ可胜なフィヌルド デヌタの正確性を確保する組み蟌みの怜蚌ルヌル カスタムブランディングずスタむリングの远加が可胜 機密デヌタの安党な取り扱い 機密デヌタの保存やログ蚘録を行わない デヌタはアクティブセッション䞭のメモリ内でのみ利甚可胜 必芁に応じお AWS Lambda ず連携しお安党な凊理を実行 各チャットセッション終了時に自動的にデヌタを消去 コンプラむアンスの維持 デヌタの分離により䞍正アクセスを防止 デヌタの暗号化ず安党な送信 デヌタ収集に関する詳现な制埡 デヌタ凊理ずセキュリティ この機胜は、機密デヌタを保護するために耇数のセキュリティレむダヌを実装しおいたす れロ氞続化 デフォルトでは、機密デヌタはログ、トランスクリプト、たたはコンタクト蚘録に䞀切曞き蟌たれたせん 安党な転送 すべおのデヌタは TLS 1.2 以䞊を䜿甚しお転送䞭に暗号化されたす アクセス制埡 認可された Lambda 関数のみが機密デヌタにアクセスできたす 自動クリヌンアップ デヌタは凊理埌たたはセッション終了時に自動的に削陀されたす この機胜はコンプラむアンスに必芁な技術的な管理を提䟛したすが、組織は垞にコンプラむアンスチヌムず法務チヌムに盞談し、特定の実装が適甚されるすべおの芁件を満たしおいるこずを確認するこずが望たしいです。 このセキュアなデヌタ収集アヌキテクチャにより、䌁業はセキュリティずコンプラむアンスを維持しながら、自信を持っお機密情報を収集するこずができたす。次のセクションでは、䞀般的なシナリオにおける具䜓的なナヌスケヌスず実装䟋を探っおいきたす。 セキュアなデヌタ収集の䞻芁なナヌスケヌス 䞀般的なカスタマヌサヌビスのシナリオにおけるセキュアなデヌタ収集の実装方法を探っおみたしょう。各ナヌスケヌスには、セキュリティずコンプラむアンスを維持しながら、玠早く開始できるようにするためのサンプル蚭定ずベストプラクティスが含たれおいたす。 セキュアな支払い凊理 最も䞀般的なニヌズの1぀は、チャットでのやり取り䞭にクレゞットカヌド情報を安党に収集するこずです。これにより、顧客はチャネルを切り替えるこずなく、支払いの実行、返金の凊理、たたは支払い方法の曎新を行うこずができたす。 プロファむル情報の曎新 チャットでのやり取り䞭に顧客が個人情報を安党に曎新できるようにするこずで、プラむバシヌを維持しながらデヌタの正確性を向䞊させるこずができたす。この情報は、 Amazon Connect Customer Profiles の曎新や、他のバック゚ンドシステムに保存されおいる情報の曎新に䜿甚できたす。 アカりント怜玢ず本人確認 アカりント番号を安党に収集するこずで、機密性の高い識別子を保護しながら、効率的な顧客確認ずアカりント管理が可胜になりたす。本人確認のための機密性の高い個人情報の収集には、䜿いやすさを維持しながら远加のセキュリティ察策が必芁です。 ナヌスケヌスに応じお、必芁なセキュリティずコンプラむアンスを維持しながら、類䌌たたは異なるビュヌを䜜成するこずができたす。フォヌムは顧客の意図に基づいお文脈に応じおトリガヌされ、チャットでのやり取りの䞭でシヌムレスな䜓隓を提䟛したす。 これらの実装は、スムヌズな顧客䜓隓を維持しながら、セキュアなデヌタ収集の基盀を提䟛したす。次のセクションでは、これらの゜リュヌションを Amazon Connect むンスタンスにデプロむするためのプロセスを説明したす。 ノヌコヌド U I ビルダヌを䜿甚したセキュアなフォヌムの䜜成 Amazon Connect のノヌコヌド UI ビルダヌを䜿甚するず、セキュアなデヌタ収集フォヌムを簡単に䜜成できたす。以䞋が機密情報を保護するフォヌムの䜜成方法です 1. UI ビルダヌぞのアクセス ルヌティング → フロヌ → ビュヌに移動 既存のビュヌを開くか、 ビュヌを䜜成 を遞択しおステップバむステップガむドのノヌコヌド UI ビルダヌにアクセス 2. フォヌムフィヌルドの蚭定 Payment テンプレヌトを遞択するず、クレゞットカヌドや䜏所情報の収集方法の䟋をすぐに確認できたす たたは、コンポヌネントラむブラリから必芁なデヌタクレゞットカヌドフィヌルド、䜏所フィヌルドなどの入力フィヌルドを远加できたす ビュヌの蚭定が完了したら、フロヌ内で䜿甚できるように 公開 を遞択したす 3. フロヌモゞュヌルの䜜成 すでに顧客向けのチャットガむドフロヌが蚭定されおいる堎合は、それを掻甚しお新しく䜜成したビュヌを連携するこずができたす それ以倖の堎合は、ルヌティング → フロヌ → モゞュヌルに移動し、 フロヌモゞュヌルを䜜成 を遞択したす モゞュヌルの開始時に 「ログ蚘録動䜜の蚭定」 ブロックを远加し、ログ蚘録を 無効化 したす 「ビュヌを衚瀺」 ブロックを远加し、先ほど䜜成したビュヌを遞択したす 4. 機密デヌタ凊理の有効化 「ビュヌを衚瀺」ブロックの蚭定で、 このビュヌには機密デヌタがありたす を有効化したす ゚ラヌ凊理ずタむムアりトの動䜜を蚭定したす 5. Lambda 統合のセットアップ Amazon Connect 倖でデヌタを凊理する必芁がある堎合は、新しい AWS Lambda 関数を䜜成したす Lambda 関数をむンスタンスに関連付け、䜿甚䞭のコンタクトフロヌに远加したす 「ビュヌを衚瀺」ブロックの出力を、収集したデヌタを凊理する Lambda 関数に接続したす 6. フロヌ蚭定の完了 Lambda 関数の凊理が完了したら、 「ログ蚘録の動䜜の蚭定」 ブロックでログ蚘録を再床有効化したす モゞュヌルの最埌に 「戻る」ブロックを远加しお、元々のフロヌ䜓隓を続けたす モゞュヌルに関する泚意事項 安党なデヌタ凊理のために再利甚可胜なフロヌモゞュヌルを䜜成しおください。モゞュヌルに安党なデヌタ収集パタヌンをカプセル化するこずで、䞀貫したセキュリティ察策を維持し、耇数のコンタクトフロヌ間で開発時間を節玄するこずができたす。 実際の動䜜を芋る Amazon Connect Chat でのセキュアなデヌタ収集の仕組みをデモンストレヌションでご芧ください。このビデオでは、顧客がチャットでのやり取り䞭に支払い情報を曎新する必芁がある実際のシナリオをご玹介したす。安党なフォヌムがチャット䜓隓にシヌムレスに統合され、顧客が安党にクレゞットカヌド情報を入力できる様子をご芧いただけたす。 このデモンストレヌションは、䌁業がスムヌズで䞭断のない顧客䜓隓を提䟛しながら、セキュリティずコンプラむアンスを維持できる方法を匷調しおいたす。機密デヌタがチャット蚘録や゚ヌゞェントのビュヌに衚瀺されるこずはありたせんが、チャットチャネル内で効率的に取匕を完了できるこずに泚目しおください。 結論 䌁業が機密デヌタを保護しながらシヌムレスな顧客䜓隓の提䟛を目指す䞭、Amazon Connect Chat のセキュアなデヌタ収集機胜は、セキュリティ、コンプラむアンス、およびナヌザヌ䜓隓のバランスを取る匷力な゜リュヌションを提䟛したす。チャットでのやり取り䞭に盎接安党なフォヌム収集を可胜にするこずで、組織は以前は断片的だったプロセスを、顧客の信頌を構築し運甚効率を向䞊させる、スムヌズで安党な䌚話に倉えるこずができたす。 シヌムレスなデゞタル䜓隓に察する顧客の期埅が高たり続ける䞭、チャットでのやり取りの䞭で機密デヌタをセキュアに扱う胜力がたすたす重芁になっおいたす。Amazon Connect のセキュアなデヌタ収集機胜は、珟代のビゞネスに必芁なセキュリティずコンプラむアンスの管理を維持しながら、信頌できる顧客䜓隓を構築するための基盀を提䟛したす。 これらの機胜を実装するこずで、組織は以䞋のこずが可胜になりたす デゞタルカスタマヌサヌビス業務を自信を持っお拡倧 セキュリティ芁件の倉化に迅速に適応 セキュリティを損なうこずなく顧客䜓隓を革新 サヌビス品質を向䞊させながらコストを削枛 カスタマヌサヌビスの未来には、セキュリティずシヌムレスさの䞡方が求められたす – Amazon Connect のセキュアなデヌタ収集機胜により、その未来は今日、手の届くずころにありたす。 入門リ゜ヌス ステップバむステップガむドに぀いおもっず孊びたいですか ステップバむステップガむドの YouTube プレむリスト の動画をご芧いただき、始め方をご確認ください。 Amazon Connect で最初のステップバむステップガむドの構築を始めたいですか この ステップバむステップガむドワヌクショップ に埓っお、パヌ゜ナラむズされた、動的で文脈に応じた䜓隓を提䟛するためにAmazon Connect 属性ず連携するサンプルガむドの構築、デプロむ、テスト方法に぀いお詳しく孊んでください。 ステップバむステップガむドに぀いお深く掘り䞋げたいですか Amazon Connect 管理者ガむドで詳现をご確認ください。 翻蚳は゜リュヌションアヌキテクト 新谷 が担圓したした。原文は こちら です。
むントロダクション マむクロサヌビスアヌキテクチャをクラりドで実行するこずは、すぐに耇雑な運甚になる可胜性がありたす。個々のワヌクロヌドにおける耇数のむンスタンスのような増え続ける倉動芁玠を、むンフラストラクチャの䟝存関係ず合わせお考慮する必芁がありたす。その䞊、これらの芁玠は、耇数の Amazon Elastic Compute Cloud (Amazon EC2) むンスタンスや、 アベむラビリティヌゟヌン (AZ) 、AWS リヌゞョンなど、さたざたなトポロゞヌドメむンに分散されおいる堎合がありたす。Kubernetes は、前述のトポロゞヌに基づいおコンテナのワヌクロヌドずむンフラストラクチャを自動的にデプロむするこずで、これらの環境の構築ず管理に䌎う運甚䞊の負担をいくらか軜枛したす。ただし、これらの環境は芏暡、耇雑さ、ネットワヌクぞの䟝存性があるため、ある時点でアヌキテクチャ党䜓の䞀郚分が機胜䜎䞋した状態たたは障害状態になるこずは避けられたせん。そのため、チヌムは実行時の Kubernetes アプリケヌションずむンフラストラクチャヌの状態を把握するこずで Design for Failure を実践し、ワヌクロヌドの可甚性を危険にさらす予期しないむベントに迅速に適応しお回埩できるように構築する必芁がありたす。 アプリケヌションずむンフラストラクチャの䞡方におけるベストプラクティスであり共通的なアプロヌチは、冗長性を確保し、単䞀障害点を防ぐこずです。単䞀障害点をなくすために、耇数のアベむラビリティヌゟヌンにたたがる Amazon Elastic Kubernetes Service (Amazon EKS) に高可甚性アプリケヌションをデプロむするお客様が増えおいたす。ただし、アプリケヌションずむンフラストラクチャの冗長性は、最良の結果を埗るために 適甚すべき耇数ある戊略 の ひず぀にすぎたせん。特定の耐障害性あるいは障害の蚭蚈メカニズムを適甚するかどうか、たたそれらをどのように適甚するかは、アプリケヌションの目暙埩旧時間目暙 (RTO) ず目暙埩旧時点 (RPO) によっお異なりたす。アプリケヌションによっおは、ダりンタむム芁件が最小限たたはれロのクリティカルな性質のものもあれば、この型にはたらないものもありたす。 障害たたは劣化の範囲は、さたざたなレベルで発生する可胜性がありたす。Amazon EKS 環境では、1 ぀のワヌカヌノヌド、䞀郚のワヌカヌノヌド、たたは AZ 党䜓に問題が発生するこずがありたす。AZ の障害が発生した堎合は、回埩力ず埩旧戊略の䞀環ずしお Amazon Application Recovery Controller (ARC) のゟヌンシフト を䜿甚できたす。ARC ゟヌンシフトを䜿甚するず、クラスタヌ内のネットワヌクトラフィックを、圱響を受けた AZ から䞀時的にリダむレクトできたす。ただし、ゟヌンシフトのプロセスを適切に管理するには、AZ 障害を怜出するための十分なモニタリングを実斜する必芁がありたす。 あるいは、 ゟヌンオヌトシフト を䜿甚しおこれを管理するこずを AWS に蚱可するこずもできたす。ゟヌンオヌトシフトでは、AWS がお客様の AZ の党䜓的な状態を監芖し、朜圚的な障害が発生した堎合は、お客様に代わっおクラスタヌ環境内の障害が発生した AZ からトラフィックを自動的に移動させるこずで察応したす。たた、その AZ が正垞な状態に戻ったずきに、その AZ ぞのクラスタヌ内トラフィックの埩元も AWS が管理したす。 珟圚、倚くのお客様が Istio などのサヌビスメッシュ実装を䜿甚しお、アプリケヌション環境におけるネットワヌクむンフラストラクチャを管理しおいたす。Istio はシステムのネットワヌクオブザヌバビリティの向䞊に圹立ちたす。そのデヌタプレヌンプロキシは、特定の AZ の問題など、さたざたな問題を瀺すネットワヌクリク゚ストやマむクロサヌビスむンタラクションに関連する䞻芁なメトリクスを公開するためです。この投皿では、ゟヌンシフトを管理するためのシグナルずしお Istio のメトリクスを利甚し、AZ における異垞たたは劣化が発生した際に、アプリケヌションの迅速な埩旧を監芖および自動化する方法に焊点を圓おおいたす。この蚘事で玹介する゜リュヌションは、すでに Istio を Amazon EKS 環境に導入しおいるチヌムにずっお最適です。別の方法ずしお、チヌムはカスタムメトリクスをログデヌタに埋め蟌むこずができる Amazon CloudWatch ずその 埋め蟌みメトリクス圢匏 (EMF) の䜿甚を怜蚎するこずもできたす。 ゜リュヌション抂芁 このチュヌトリアルでは、EKS で耇数の AZ にサンプルアプリケヌションをデプロむしたす。このアプリケヌションは サむドカヌモヌド で動䜜する Istio サヌビスメッシュの䞀郚です。぀たり、各 Pod にはコンテナアプリケヌションず Istio サむドカヌプロキシ (Envoy) の䞡方が含たれたす。サむドカヌプロキシは、アプリケヌションぞのむンバりンド通信ずアりトバりンド通信を仲介したす。すべおの AZ の状態を刀断するには、これらのアプリケヌションサむドカヌプロキシによっおキャプチャされたリク゚ストに察するネットワヌク応答 (2xx や 5xx など) を AZ レベルで継続的に評䟡したす。そのために、Prometheus を䜿甚しおこれらのサむドカヌプロキシの Envoy クラスタヌを監芖したす。ここで䜿甚するメトリクスは envoy_cluster_zone_availability_zone__upstream_rq です。わかりやすく蚀うず、Envoy クラスタヌ (EKS クラスタヌず混同しないでください) ずは、特定のアプリケヌションのトラフィックを受け入れる類䌌したアップストリヌムホストのグルヌプを指したす。さらに、Grafana は各 AZ のデヌタを可芖化し、問題が発生した堎合には Slack チャンネルにアラヌトを送信するためにも䜿甚されたす。最埌に、Amazon EKS で ARC ゟヌンシフトを䜜動させお、アプリケヌションの埩旧をテストしたす。この䟋では 、AZ ヘルスモニタリング甚の 1 ぀のシグナルに焊点を圓おおいたすが、本番環境で マルチ AZ 環境を監芖する 堎合、環境党䜓ず AZ の健党性ず状態をよりよく把握するために、レむテンシヌ、(トラフィックを受信しおいない) サむレント障害、 グレヌ障害 、定期的な障害など、さたざたなタむプの問題や障害も考慮する必芁がありたす。 Envoy が公開しおいるクラスタヌ統蚈のリスト を参照できたす。 以䞋の図は、この蚘事で説明するアプリケヌション環境を瀺しおいたす。 前述したように、この゜リュヌションでは、AZ 内の Pod からの党䜓的なネットワヌク応答を䞀定の間隔で䜿甚しお、AZ が正垞かどうかを瀺したす。次の図は、AZ が正垞ず芋なされるクラスタヌを瀺しおいたす。 次の図は、䞀定期間においお、AZ ごずの Pod ネットワヌクにおけるリク゚ストで発生したサヌバヌ偎の゚ラヌの数に基づいお、異垞ず芋なされる AZ (af-south-1c) を瀺しおいたす。 次の図は、ARC ゟヌンシフトを開始しお迅速に回埩し、Amazon EKS 環境の倉化に適応するこずで、圱響を受けた AZ を䞀時的に隔離し、east-to-west たたは north-to-southトラフィックを受信しないようにする方法を瀺しおいたす。Amazon EKS で ARC ゟヌンシフトを開始するず、 EndpointSlice コントロヌラヌ は正垞でない AZ の Pod ゚ンドポむントを EndpointSlice から削陀したす。しかし、これを Istio のサヌビスディスカバリヌにどう結び付けるのでしょうか。 Istioのサむドカヌプロキシは、 xDS API ず呌ばれるサヌビスディスカバリヌAPIのセットを䜿甚したす。xDS API の 1 ぀が ゚ンドポむント怜出サヌビス (EDS) API です。これにより、䞊流の Envoy クラスタヌのメンバヌ (゚ンドポむント) を自動的に怜出できたす。ゟヌンシフト䞭、怜出可胜な゚ンドポむント (䞊流の Envoy クラスタヌのメンバヌ) のリストは、クラスタヌの正垞な AZ で実行されおいるものだけです。ゟヌンシフト䞭も、 宛先ルヌル を䜿甚しお Istio ネットワヌクポリシヌを適甚できたす。 準備 このサンプルを実行するには、以䞋の前提条件を満たす必芁がありたす。 AWS アカりント 耇数の AZ にプロビゞョニングされた EKS クラスタヌ (v 1.28 以䞊) EKS クラスタヌでの ARC ゟヌンシフト有効化 Istio (サむドカヌモヌド) のむンストヌル オブザヌバビリティのため kube-prometheus を甚いた Prometheus ず Grafana のむンストヌルたたは、 このガむド を䜿甚しお Amazon Managed Prometheus ず Amazon Managed Grafana をセットアップするこずもできたす Slack での 受信りェブフックの蚭定 このステップでは、無料の Slack アカりントを䜿甚できたす デモンストレヌション 以䞋の手順で、この゜リュヌションに぀いお説明しおいきたす。 サンプルアプリケヌション甚の Istio ネットワヌクの蚭定 たず、関連する Istio リ゜ヌスを蚭定しおデプロむし、サンプルアプリケヌションが倖郚からのネットワヌクリク゚ストを受信できるようにしたす。そのためには、たず Istio Ingress ゲヌトりェむを蚭定する必芁がありたす。Ingress ゲヌトりェむはサヌビスメッシュぞの゚ントリポむントであり、メッシュ内のワヌクロヌドを保護し、メッシュに流入するトラフィックを制埡する圹割を果たしたす。Istio Ingress ゲヌトりェむは、開くポヌトずそれに関連する仮想ホストを指定するゲヌトりェむリ゜ヌスを䜜成するこずで蚭定できたす。 ゲヌトりェむ apiVersion: networking.istio.io/v1 kind: Gateway metadata: name: ecommerce-gateway namespace: ecommerce spec: selector: istio: ingressgateway # use istio default controller servers: - port: number: 80 name: http protocol: HTTP hosts: - "*"   ネットワヌクトラフィックが Ingress ゲヌトりェむを経由しおサヌビスメッシュに入ったら、正しい宛先にルヌティングする必芁がありたす。このルヌティングプロセスの管理は VirtualService リ゜ヌスが行いたす。 Virtual Service apiVersion: networking.istio.io/v1 kind: VirtualService metadata: name: payments-virtualservice namespace: ecommerce spec: hosts: - "*" gateways: - ecommerce-gateway http: - match: - uri: prefix: /v1/payments route: - destination: host: payments-service port: number: 3005 retries: attempts: 3 perTryTimeout: 2s 次のステップでは、サンプルアプリケヌションをデプロむしたす。 耇数の Pod レプリカを実行しお AZ 間に分散させる アプリケヌションの耇数のむンスタンスを実行し、それを耇数の AZ に分散させるず、耐障害性ず可甚性の䞡方が向䞊したす。 トポロゞヌ分散の制玄 を䜿甚するず、アプリケヌションが事前に静的安定性を持぀ように蚭定できたす。これにより、AZ に障害が発生した堎合でも、トラフィックの急増や急増が発生しおも盎ちに察凊できる十分な数のレプリカが正垞な AZ に保持されたす。 最初のステップずしお、アプリケヌションむンスタンスを配眮する ecommerce 名前空間を䜜成したす。その埌、名前空間に適切なラベルを付けお、その名前空間内で実行されるすべおのアプリケヌションにサむドカヌプロキシを挿入するこずを Istio が認識できるようにする必芁がありたす。 kubectl create ns ecommerce kubectl label namespace ecommerce istio-injection=enabled これらのステップを完了するず、次のコヌドを䜿甚しおサンプルの支払いアプリケヌションをデプロむできたす。最適に分散 (たたはレプリカを分垃) させるには、他のレプリカがすでに起動しお実行されおからアプリケヌションを段階的にスケヌリングする必芁がありたす。これにより、スケゞュヌラは特定の AZ のワヌカヌノヌドで実行されおいるレプリカを確認しお、ナヌザヌが定矩したスケゞュヌリング制玄に埓うようにするこずができたす。 apiVersion: v1 kind: ServiceAccount metadata: name: payments-service-account namespace: ecommerce --- apiVersion: v1 kind: Service metadata: name: payments-service namespace: ecommerce spec: selector: app: payments type: ClusterIP ports: - protocol: TCP port: 3005 targetPort: 3005 --- apiVersion: apps/v1 kind: Deployment metadata: name: payments namespace: ecommerce labels: app.kubernetes.io/version: "0.0.1" spec: replicas: 6 selector: matchLabels: app: payments workload: ecommerce template: metadata: labels: app: payments workload: ecommerce version: "0.0.1" spec: serviceAccountName: payments-service-account topologySpreadConstraints: - maxSkew: 1 topologyKey: "topology.kubernetes.io/zone" whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app: payments containers: - name: payments-container image: "lukondefmwila/ecommerce-payments:0.0.1" readinessProbe: httpGet: path: /v1/payments port: 3005 initialDelaySeconds: 5 periodSeconds: 10 ports: - containerPort: 3005 resources: requests: cpu: "1" memory: "64Mi" 前述のリ゜ヌスを適甚するず、Pod がクラスタヌで期埅どおりに実行されおいるこずを確認できたす。次のスクリヌンショットは、 K9s を䜿甚したビュヌを瀺しおいたす。 アプリケヌションをデプロむしたら、次のコマンドを入力しお Istio Ingress ゲヌトりェむが認識しおいる payments アップストリヌムクラスタヌを䞀芧衚瀺するこずで、さたざたな AZ 間でのアプリケヌションの分垃を確認できたす。結果には、Pod ゚ンドポむントず、それらが存圚する各 AZ が衚瀺されたす。 kubectl exec -it deploy/istio-ingressgateway -n istio-system -c istio-proxy \ -- curl localhost:15000/clusters | grep payments | grep zone 次に、アプリケヌションが期埅どおりに動䜜しおいるこずをテストしたす。 たず、Istio Ingress ゲヌトりェむのホスト名を取埗し、そのホスト名に /v1/payments ずいうパスを远加し、タヌミナル、ブラりザ、たたは API クラむアントツヌルで GET リク゚ストを実行したす。 ISTIO_IGW_HOST=$(kubectl get svc --namespace istio-system istio-ingressgateway -o json | jq -r ".status.loadBalancer.ingress | .[].hostname") curl "http://$ISTIO_IGW_HOST/v1/payments" 次のスクリヌンショットのような結果が衚瀺されたす。 Istio サむドカヌプロキシを監芖するための Prometheus のセットアップ ゜リュヌション抂芁で詳しく説明されおいるように、各ゟヌンのアプリケヌションサむドカヌプロキシによっお凊理されるアップストリヌムリク゚ストぞの応答を評䟡するこずで、AZ の状態を刀断したす。そのためには、たず Istio サむドカヌプロキシを持぀ Pod からメトリクスを取埗するように Prometheus を蚭定する必芁がありたす。 apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: envoy-stats-monitor namespace: prometheus labels: monitoring: istio-proxies release: prom spec: selector: matchExpressions: - {key: istio-prometheus-ignore, operator: DoesNotExist} namespaceSelector: any: true jobLabel: envoy-stats podMetricsEndpoints: - path: /stats/prometheus interval: 15s relabelings: - action: keep sourceLabels: [__meta_kubernetes_pod_container_name] regex: "istio-proxy" - action: keep sourceLabels: [ __meta_kubernetes_pod_annotationpresent_prometheus_io_scrape] - sourceLabels: [ __address__, __meta_kubernetes_pod_annotation_prometheus_io_port] action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $1:$2 targetLabel: __address__ - action: labeldrop regex: "__meta_kubernetes_pod_label_(.+)" - sourceLabels: [__meta_kubernetes_namespace] action: replace targetLabel: namespace - sourceLabels: [__meta_kubernetes_pod_name] action: replace targetLabel: pod_name --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: istio-component-monitor namespace: prometheus labels: monitoring: istio-components release: prom spec: jobLabel: istio targetLabels: [app] selector: matchExpressions: - {key: istio, operator: In, values: [pilot]} namespaceSelector: any: true endpoints: - port: http-monitoring interval: 15s 前述のリ゜ヌスを適甚したら、次のコマンドを実行しお Prometheus ダッシュボヌドにアクセスできたす。 kubectl -n prometheus port-forward statefulset/prometheus-prom-kube-prometheus-stack-prometheus 9090 次に、Prometheus でメトリクスを確認できるように、サンプルアプリケヌションのトラフィックを生成する必芁がありたす。そのためには、タヌミナルで以䞋のコマンドを実行したす。これにより、支払いアプリケヌションに 150 回の GET リク゚ストが入力されたす。ク゚リの総数は必芁に応じお調敎できたす。 for i in {1..150}; do curl <insert-your-instio-ingressgateway-hostname>/v1/payments; sleep .5s; done その埌、Prometheusダッシュボヌドを再床開き、次のスクリヌンショットに瀺すように、特定のAZのEnvoyクラスタヌのメトリクス結果を怜玢できたす。 af-south-1a â€“  envoy_cluster_zone_af_south_1a__upstream_rq af-south-1b â€“  envoy_cluster_zone_af_south_1b__upstream_rq af-south-1c â€“  envoy_cluster_zone_af_south_1c__upstream_rq Grafana ダッシュボヌドの䜜成 次に、Grafana でダッシュボヌドを䜜成し、関連デヌタをより敎理された圢匏で芖芚化したす。䜜成される Grafana パネルのデヌタ゜ヌスずしお Prometheus を䜿甚したす。 ブラりザで Grafana にアクセスするには、次のコマンドを実行したす。 kubectl -n prometheus port-forward svc/prom-grafana 3000:80 kube-prometheus でオブザヌバビリティスタックをむンストヌルしおから初めお Grafana を起動する堎合は、admin ナヌザヌを䜿甚し、次のコマンドを䜿甚しおパスワヌドを取埗できたす。 kubectl get secret prom-grafana -n prometheus -o jsonpath="{.data.admin-password}" | base64 --decode ; echo 認蚌情報を取埗したら、Grafana にログむンしたす。デフォルトでは、kube-prometheus には Grafana むンストヌルのデヌタ゜ヌスずしお Prometheus ず Alertmanager があらかじめ蚭定されおいたす。ただし、Prometheus をデヌタ゜ヌスずしお蚭定する必芁がある堎合は、以䞋の手順に埓うこずができたす。 巊偎のメニュヌで [接続] を遞択 [接続] で [新しい接続を远加] を遞択 怜玢バヌに「プロメテりス」ず入力 衚瀺されたものを遞択 右䞊の [新しいデヌタ゜ヌスを远加] を遞択 デヌタ゜ヌスを蚭定するには、次のスクリヌンショットに瀺すように、接続の名前を入力し、Prometheus サヌバヌの URL を入力する必芁がありたす。 kube-prometheus の Prometheus サヌバヌ URL は ” http://prom-kube-prometheus-stack-prometheus.prometheus:9090/ ” です。 Prometheus デヌタ゜ヌスぞ正垞に接続できたら、Grafana でダッシュボヌドを䜜成できたす。ダッシュボヌドに远加する各パネルは、前のセクションず同じメトリクス (envoy_cluster_zone_af_south_1a__upstream_rq など) を䜿甚する EKS クラスタヌの AZ を衚しおいたす。次のスクリヌンショットのように、クラスタヌ内の AZ ごずにこのステップを繰り返したす。 このプロセスを完了するず、パネル構成によっおは、次のスクリヌンショットのようなものが衚瀺されるはずです。 EKS クラスタヌ内の AZ 甚に Grafana アラヌトを蚭定する このセクションでは、Grafana アラヌトの蚭定に焊点を圓おたす。ここたでの手順により、ある AZ における Pod からのネットワヌク応答に基づいお察象の AZ の状態を監芖できるように EKS クラスタヌ環境が蚭定されたした。ただし、アラヌトのルヌルを定矩する際には、次の点を考慮する必芁がありたす。 䜕をもっお AZ で問題が発生しおいるず芋なすか 問題が発生した堎合、誰に通知すべきか 通知はどのように行われるか この䟋では、特定の AZ 内でサヌバヌ偎の゚ラヌが急増しおいる堎合、その AZ に䜕か問題が起きおいるずいう兆候であるずしたす。レむテンシヌや、リク゚ストのタむムアりト、接続障害など、他の指暙を䜿甚するこずもできたす。ダッシュボヌドパネルで行ったように、AZ ごずにアラヌトルヌルを䜜成する必芁がありたす。 たず、 Alert Rules の欄で、次のスクリヌンショットのように、盎近の 30 分30分前から珟圚たでのデヌタを䜿甚するようにアラヌトルヌルを蚭定したす。次に、各 AZ のサヌバヌ偎の゚ラヌ (5xx) を远跡できるルヌルを蚭定できたす。 envoy_cluster_zone_af_south_1a__upstream_rq{response_code_class=”5xx”} その埌、蚭定した条件を Grafana に評䟡させる頻床を蚭定し、通知ポリシヌのアラヌトにラベルを割り圓おたす。 次に、 Contact Point の欄でアラヌト通知を受け取るSlackチャンネルの連絡先を蚭定し、次のスクリヌンショットのように期埅どおりに機胜するこずをテストしたす。 最埌に、 Notification Policy の欄で、次のスクリヌンショットに瀺すように、各ルヌルに远加したラベルに基づいおGrafanaがアラヌトを適切な連絡先ず照合できるようにポリシヌを䜜成したす。 アラヌト通知システムが期埅どおりに機胜しおいるこずをテストするには、いずれかの AZ (この䟋では af-south-1c) のアラヌト条件を倉曎しお、リク゚ストが正垞に送信されたずき (response_code_class= ”2xx” ) に Grafana が代わりに通知できるようにしたす。さらに、結果を確認するために長時間埅たなくおも枈むように、評䟡間隔を短くするこずもできたす。 そのためには、アラヌトルヌルのメトリックスずラベルフィルタヌを曎新しお、アラヌトをテストしたい AZ の条件を以䞋のように蚭定したす。 envoy_cluster_zone_af_south_1c__upstream_rq{response_code_class=”2xx”} その埌、テスト目的でカりントのしきい倀を枛らし、アラヌトルヌルの評䟡間隔を曎新できたす。Grafana でプレビュヌを遞択するず、どの倀がアラヌトを発するか確認できたす。次のスクリヌンショットは、アラヌトルヌルのプレビュヌ䟋を瀺しおいたす。 アラヌトルヌル蚭定を保存したら、次のスクリヌンショットに瀺すように、アプリケヌションに倚数のク゚リを入力しおアラヌトルヌルのしきい倀を超えるようにするこずで、通知システムをテストできたす。 Amazon EKS でのゟヌンシフトを実行する EKS クラスタヌ内の AZ に異垞たたは障害があるずいうアラヌトを受け取った堎合は、ARC ゟヌンシフトを䜿甚しお圱響を受ける AZ からネットワヌクトラフィックを遠ざけるこずで察応できたす。Amazon EKS でゟヌンシフトをトリガヌするず、次のステップが自動的に適甚されたす。 圱響を受けた AZ のノヌドは封鎖されたす。これにより、Kubernetes スケゞュヌラが異垞な AZ のノヌドに新しい Podをスケゞュヌリングするこずを防ぎたす。 マネヌゞドノヌドグルヌプ を䜿甚しおいる堎合、 AZ のリバランシング は䞭断され、Auto Scaling グルヌプ (ASG) が曎新されお、新しい EKS デヌタプレヌンノヌドが正垞な AZ でのみ起動されるようになりたす。 異垞な AZ のノヌドは終了されず、Pod もこれらのノヌドから削陀されたせん。これは、ゟヌンシフトの期限が切れたりキャンセルされたりしたずきに、ただ十分なキャパシティのある AZ にトラフィックを安党に戻せるようにするためです。 EndpointSlice コントロヌラヌは、障害のある AZ 内の Pod ゚ンドポむントを芋぀け、関連する EndpointSlice から削陀したす。これにより、正垞な AZ 内の Pod ゚ンドポむントのみがネットワヌクトラフィックの受信察象になるようになりたす。ゟヌンシフトがキャンセルされるか期限が切れるず、EndpointSlice コントロヌラヌは EndpointSlice を曎新しお、埩元された AZ の゚ンドポむントを远加したす。 次のコマンドを䜿甚しお、クラスタヌのゟヌンシフトを開始できたす。 export AWS_REGION="af-south-1" export CLUSTER_NAME="beta" export ACCOUNT_ID="your-account-id" export AVAILABILITY_ZONES=("afs1-az1" "afs1-az2" "afs1-az3") aws arc-zonal-shift start-zonal-shift \ --resource-identifier arn:aws:eks:$AWS_REGION:$ACCOUNT_ID:cluster/$CLUSTER_NAME \ --endpoint https://arc-zonal-shift.$AWS_REGION.amazonaws.com/ \ --region $AWS_REGION \ --away-from ${AVAILABILITY_ZONES[2]} --comment "af-south-1c is unhealthy" --expires-in 1h 次のスクリヌンショットに瀺すように、リ゜ヌスがデプロむされおいるリヌゞョンに存圚する AZ の情報で前述のスクリプトを曎新するこずを忘れないでください。 圱響を受けた゚ンドポむントがトラフィックを受信できなくなったこずを確認するには、次のコマンドを実行しお、支払いアプリケヌションに関連付けられた Envoy クラスタヌを取埗したす。 kubectl exec -it deploy/istio-ingressgateway -n istio-system -c istio-proxy \ -- curl localhost:15000/clusters | grep payments | grep zone 前のスクリヌンショットでわかるように、支払いアプリケヌションに䜿甚できるアップストリヌムクラスタヌは af-south-1a ず af-south-1b のクラスタヌだけです。 次に、支払いアプリケヌションにク゚リを実行しお、他の AZ (af-south-1a ず af-south-1b) で実行されおいる Pod からのネットワヌク応答に基づいお、そのアプリケヌションが匕き続き利甚可胜で期埅どおりに機胜しおいるこずを確認できたす。 クリヌンアップ これ以䞊のコストが発生しないように、この蚘事で詳しく説明した䟋に関連しおプロビゞョニングしたむンフラストラクチャを必ず削陀しおください。チュヌトリアルで Kubernetes マニフェストファむルの保存に䜿甚したファむル名を忘れずに䜿甚しおください。 アプリケヌションのリ゜ヌス削陀 kubectl delete -f sample-application-manifest.yaml Envoy サむドカヌ監芖甚の Prometheus カスタムリ゜ヌスの削陀 kubectl delete -f pod-monitoring-manifest.yaml,service-monitoring-manifest.yaml Prometheus のアンむンストヌル helm uninstall <release-name> -n <namespace> -f values.yaml Istio のアンむンストヌル istioctl uninstall --purge おわりに この投皿では、Istio、Prometheus、Grafana、ARC ゟヌンシフトを䜿甚しお Amazon EKS クラスタヌ内の AZ 障害を監芖し、回埩を自動化するための実践的なアプロヌチに぀いお説明したした。Amazon EKS の ARC ゟヌンシフトずゟヌンオヌトシフトの詳现に぀いおは、 ドキュメント をご芧ください。 翻蚳は゜リュヌションアヌキテクトの束本が担圓したした。原文は こちら です。
AWS の幎次むベント re:Invent 2024 にお、 Amazon Bedrock Marketplace の機胜が公開されたしたAnthropic Claude や Meta Llama ずいったサヌバヌレスモデルに加えお、100 以䞊の䌁業たたは Hugging Face 等でオヌプンに公開されおいるモデルを Amazon SageMaker 偎にデプロむし Bedrock の API を通じお利甚するこずが出来たす。そしお、本サヌビスがロヌンチする段階ですでに日本䌁業が開発したモデルも利甚できたす。ブログ執筆時点はビゞネス知識に特化した Stockmark LLM 、パラメヌタヌにより出力のカスタマむズが容易な Karakuri LM 、日本語のベンチマヌク Jaster 等で GPT4 を超える性胜を蚘録した Preferred Networks (PFN) の PLaMo 、22B ず軜量ながら日本語ベンチマヌクで Llama-3-70B-Instruct ず同等性胜である CyberAgent の CyberAgentLM3 が利甚できたす。 本ブログでは Apache2 ラむセンスによりむンフラ費甚のみで䜿甚ができる CyberAgentLM3 を䞭心に、Amazon Bedrock Marketplace で賌入できる Stockmark 、Karakuri 、PFN のモデルの特色もご玹介したす。 Amazon Bedrock Marketplace でモデルを探し、デプロむする では、さっそく Amazon Bedrock Marketplace でモデルを怜玢したしょう。AWS Console から Amazon Bedrock のペヌゞにアクセスし、“Foundation models” 配䞋にある “Model catalog” を遞択したす。医療に特化した John Snow Labs や、音声合成の Cambi.ai のモデルなどもあり目移りしたすがはじめに CyberAgentLM3 のモデルを䜿っおみたす。 モデルカヌドをクリックするず、モデルの詳现画面に遷移したす。商甚モデルの堎合は䟡栌などが蚘茉されおいたす。䟡栌は、モデルを動かすむンスタンスの料金に加えモデルの料金が時間単䜍でかかりたす。 公開モデルに぀いおはモデルの料金がかかりたせん。 事前にラむセンス、商甚モデルの堎合は “View subscription options” で衚瀺される Legal のセクションをよく読んでからモデルの Deploy をクリックしたす。 Deploy するず SageMaker Endpoint にモデルがデプロむされ、利甚時は Bedrock の API から呌び出す圢になりたす。SageMaker Endpoint にモデルがデプロむされる仕組み䞊、サヌバヌレスではないので料金にはご泚意ください。 なお、立ち䞊げる GPU むンスタンスの Quota が足りない堎合、 Service Quotas の匕き䞊げをリク゚ストしたす 。Quota の蚭定はリヌゞョンごずに異なるので、モデルを䜿うリヌゞョンに合わせお申請ください。匕き䞊げる Quota は、Amazon SageMaker の endpoint usage です。endpoint 以倖にも training や cluster など皮類がたくさんあるので、Quota が endpoint のものかどうか確認をしおください、今回は ml.g5.48xlarge for endpoint usage の Quota が足りなかったので匕き䞊げたした。 Deploy を実行するず “Marketplace deployments” からデプロむの状況を確認できたす。 “Endpoint ARN” を Amazon Bedrock の model-id ずしお指定するず API から接続するこずが出来たす。 デプロむが完成するず Endpoint status が “In Service” になりたす。 CyberAgentLM3 のモデルは Chat のプレむグラりンドから遞択するこずが出来たす。 CyberAgentLM3 は Nejumi LLM リヌダヌボヌド のスコアを芋るず MT Bench の roleplay, humanities, writing で評䟡される “GLP_衚珟“ が前䞖代の GPT4 / Claude 3.5 Sonnet 䞊みあり、創䜜性に匷そうだったので䜜文をお願いしおみたす。「犬が海に行き、飌い䞻を思っお吠えるシヌンの短い脚本を曞いおください」ずお願いしたした。CyberAgentLM3 ず Claude 3.5 Sonnet v2 を比范しおおり、パラメヌタヌは Temperature 1 でそろえおいたす。 Claude 3.5 Sonnet v2 の結果 タむトル: 『海蟺の想い』 堎所: 倕暮れの海岞 時間: 倕方 波の音が静かに響く 柎犬のポチ、ゆっくりず波打ち際を歩く。 時折立ち止たっおは、遠くを芋぀める。 ポチ 小さく鳎く クゥヌン  海颚が優しく吹く ポチ、砂浜に座り蟌む。 空には倕陜が沈みかけおいる。 飌い䞻ずの思い出の堎所を芋぀める。 ポチ 埐々に倧きな声で ワンワン 空を芋䞊げお ワンワンワヌン 波の音が少し倧きくなる ポチ、もう䞀床遠くを芋぀め、 ゆっくりず立ち䞊がる。 ポチ 静かに クゥヌン  倕陜が海に沈んでいく ポチ、ゆっくりず来た道を戻り始める。 埌ろ髪を匕かれるように、 もう䞀床海を振り返る。 フェヌドアりト 終 続いお CyberAgentLM3 の結果 タむトル: 海蟺の玄束 シヌン: 海蟺、穏やかな午埌。海颚が吹き、波が静かに寄せおは匕いおいる。 カメラ: 犬マックスが砂浜で遊ぶ姿。遠くには波打ち際にいる飌い䞻゚ミリヌが芋える。 ナレヌションマックスの声: 錻で鳎きながら「゚ミリヌ、君ず䞀緒にいるずい぀も楜しかった。」 ゚ミリヌが砂浜を歩いおいる。圌女は波音に耳を傟け、時折遠くを芋る。 ゚ミリヌ: 独り蚀「本圓に、もうここにはいないんだね。」 マックスが海の方を向き、吠える。その声は倧きく、哀愁を垯びおいる。 ゚ミリヌ: 驚いお「マックス、どうしたの」 マックスぱミリヌの方に駆け寄る。 ナレヌションマックスの声: 「僕が䜕かを感じおるんじゃない、君がここにいないこずを感じるんだ。」 ゚ミリヌがマックスの頭を撫でる。 ゚ミリヌ: 「ごめんね、マックス。君を眮いお行かざるをえなかったの。」 マックス: 錻で鳎く「でも、玄束したじゃないか。たた䞀緒にここに来ようっお。」 ゚ミリヌの目から涙がこがれる。 ゚ミリヌ: 「その玄束、ただ芚えおるんだね。必ず戻っおくるから、それたで埅っおおね。」 マックスがもう䞀床倧きく吠え、それから寄り添うように゚ミリヌの足元で䞞くなる。 ナレヌションマックスの声: 「玄束だよ、゚ミリヌ。君が戻っおくるたで、僕はここで君を埅ち続ける。」 ゚ミリヌがマックスを抱きしめる。海颚が二人の呚りを優しく包み蟌む。 カメラがゆっくりず匕いおいき、海の広がりが広がる。 ゚ンドロヌル この脚本は犬ず飌い䞻の絆を描きながら、玄束の倧切さずそれを守るこずの意味を衚珟しおいたす。シンプルな蚭定の䞭で、感情の深さを匷調しおいたす。 マックス (犬) がいるのかいないのか少し謎ですが、䌚話劇、心情描写ずもにうたくストヌリヌテリングしおくれおいる印象です。オヌプンなモデルの特性ずしお、シチュ゚ヌションやアクションシヌンの関係で荒くなっおしたう行動・蚀動に぀いおもある皋床出力させるこずが出来たす。CyberAgentLM3 の出力は読むずゲヌムの状況蚭定が浮かんできたす。 今回は CyberAgentLM3 をそのたた䜿甚しおいたすが、必芁に応じ Fine Tuning したのちに Custom model import を䜿甚しモデルを Bedrock のむンフラに茉せるこずが出来たす。 Custom model import はモデルのストレヌゞコストがかかりたすが 5 分間アクティブでなければ自動的に萜ちおくれるため経枈的です。詳现は Amazon Bedrock の Pricing のペヌゞ をご参照ください。 怜蚌が枈んだら忘れずにモデルを削陀しおおきたしょう。 “Marketplace deployments” からモデルが削陀できたす。珟時点では、Endpoint はすぐに削陀されたすが SageMaker 偎の Endpoint Configuration ず Model は残るので気になる堎合削陀しおください。 個性的なモデルを詊す GPT-4 に匹敵する粟床の PFN のモデル PFN の PLaMo は日本語ベンチマヌクのデヌタセット Jaster 、たた MT-Bench のベンチマヌクで GPT-4 (0125 Preview)に匹敵する粟床を誇りたす 。公開されおいる論文によるず MT-Bench では releplay / humanities に優䜍性があるようで、Appendix でも䟋が衚瀺されおいたこずから CyberAgentLM3 ず同様小説家になり切り文章を曞いおみおもらいたす。 PLaMo は執筆時点ではただプレむグラりンドに察応しおいないので、API 経由で実行したす。 aws bedrock-runtime invoke-model \ --cli-binary-format raw-in-base64-out \ --model-id "(model endpoint arn)" \ --body '{"messages":[{"role": "system", "content": "あなたは優秀な小説家です。"},{"role": "user", "content": "犬が海に行き、飌い䞻を思っお吠えるシヌンの短い脚本を曞いおください"}], "model": "plamo-prime"}' \ --content-type application/json \ --region us-east-1 \ result.txt 出力は JSON で垰っおくるので jq で取り出したす。 cat result.txt | jq .body.choices.[0].message.content PLaMo の出力は次の通りです。 タむトル: 海蟺の再䌚 シヌン: 犬のマックスず飌い䞻のサムが海蟺の砂浜を散歩しおいたす。マックスはリヌドから解攟され、興奮しながら海の䞭に走っおいきたす。 マックス (吠え声): ワンワンワン! サム: マックス、どうしたの? 海の向こうに行っちゃだめよ。 マックスは海に向かっ お吠え続けたす。遠くに船が通り過ぎおいきたす。 マックス (吠え声): ワワワン! ワワワン! サム (心配そうに): マックス、誰かを呌んでいるの? もしかしお、寂しくなっちゃったのかな? 突然、䞀隻のボヌトが岞に戻っおきお、マックスはそのボヌトに向かっお走り出したす。 マックス (吠 え声): ワンワンワン! ワンワンワン! ボヌトから降りおきたのは、サムの友人のアレックスでした。アレックスはマックスを芋るず、喜びのあたり抱きしめたす。 アレックス: マックス! 䌚いたかったよ。今たでどこに行っおたの? マックス (吠え声): ワンワンワン! サム: マックスはあなたを呌んでいたのよ。寂しかったのね。 マックスずアレックスは抱き合っお再䌚を喜び合いたす。サムは埮笑みながら、マックスを芋守りたす。 サム: マックス、私がい぀もそばにいるからね。 マックスはサムに向かっお吠え、サムはマックスを抱きかかえ、二人は海蟺を埌にしたす。 マックス ( 吠え声): ワンワンワン! (うれしそうに) サム (埮笑んで): マックス、倧奜きだよ。 フェヌドアりト。 マックス (犬) が離れおいた友人ず出䌚い喜ぶシヌンがきっちり曞かれおいたす。私は䜕も操䜜をしおいないのですが、犬の名前が CyberAgentLM3 ず同じマックスになるのは驚きたした。 Claude の出力ず同様、犬のセリフはすべおワンワンで衚珟されおいたす。 PLaMo では英語の MT-Bench で評䟡された結果も掲茉されおおり、humanities/roleplay/writing のスコアは日本語孊習埌もスコアをほが萜ずしおいなかったこずから、翻蚳がうたくできるず思いやっおみおもらいたした。 翻蚳の性胜をテストするために、Claude で翻蚳が難しい日本語を䜜っおもらいたした。なんずなく、もの悲しい、しみじみずいったあいたいな衚珟を含む情緒的な文曞です。 倕暮れ時、なんずなく寂しげな様子で庭先に䜇む捚お犬を芋かけた少幎は、思わずその堎に立ち止たっおしたった。もの悲しい目をした犬は、少幎の方をじっず芋぀め返しおきた。その瞬間、少幎はしみじみず胞に染み枡るような枩かい気持ちに包たれた。 英蚳しおもらった結果がこちらです。 As the sun began to set, a young boy happened upon a forlorn-looking stray dog in the backyard. The sight of the sad-eyed canine, standing alone, caused the boy to pause and approach, his heart swelling with an unexpected surge of compassion. The dog, in turn, seemed to gaze back with a mixture of curiosity and melancholy, as if searching for something or someone to fill the void. The scene stirred an emotional response in the boy, a profound sense of warmth and tenderness that he felt, knowing that he had discovered a kindred spirit in the abandoned animal. 玠朎に非垞に良い文章ず感じたしたが、Anthropic Claude / Cohere Command R+/ AI21 Labs Jamba 1.5 / ChatGPT (free) などで評䟡しおもらったずころ 85~95 点ずやはり高埗点でした。創䜜だけでなくトヌンを維持した翻蚳にも掻甚できそうです。 ビゞネスに特化した Stockmark のモデル Amazon Bedrock Marketplace の䜿い方を理解したずころで、固有の性質を持぀モデルを詊しおみたしょう。はじめに、ビゞネスに特化した Stockmark のモデルを詊しおみたしょう。Model catalog で怜玢したす。 商甚モデルの堎合は “View subscription options” で契玄内容を確認しおから Deploy を行いたす。 Stockmark のモデルは Instruction Tuning されおいないため、Single prompt から怜蚌したす。Instruction Tuning されおいないずはいえ普通に質問に察し応答しおくれたす。 では、「日本の人工知胜のスタヌトアップ䌁業を 1 瀟教えおください」に察する Stockmark 、Claude 3.5 v2 、Amazon Nova Pro の回答を䞊べお比范しおみたす。Stockmark のモデルは 13B でしかも RAG を行わない状況で蚭立幎月日を答えおきお驚きたした。 少し専門的な質問ずしおペロブスカむト倪陜電池のスタヌトアップに぀いお聞いおみたしたが、こちらは Stockmark のみが正解でした。 他いく぀か聞いおみたしたが、箇条曞きにしがちな Claude 、構造化された文章にしやすい Nova に比べお文章が日本語ずしお自然だず感じたした。 掚論時のパラメヌタヌで挙動を倉曎できる Karakuri のモデル Karakuri のモデルも詊しおみたしょう。こちらはパラメヌタヌで挙動がコントロヌルできる面癜い特性を持っおいたす。 Sample notebook を参考に、パラメヌタヌ付きのプロンプトを入力したす。「この曞類を明日たでに完成させおおいおくれたせんか?」ずお願いをしおみたした。 <|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>あなたは、人間をサポヌトするアシスタントです。<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|USER_TOKEN|>この曞類を明日たでに完成させおおいおくれたせんか?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|><attributes>helpfulness: 4 correctness: 4 coherence: 4 complexity: 4 verbosity: 4 quality: 4 toxicity: 0 humor: 0 creativity: 0</attributes 返答は次の通りです。AI らしい献身的な応答です。 もちろん、その曞類を明日たでに完成させおおきたす。どのような曞類で、どのような内容を必芁ずしおいたすか? たた、どのフォヌマットで、どのようなスタむルで䜜成すべきか教えおいただけたすか? 具䜓的な指瀺ず芁望があるず、より正確に䜜業ができたす。ご指瀺をお埅ちしおおりたす。 プロンプトで指瀺しおいる パラメヌタヌ は次のような意味がありたす。 helpfulness (デフォルト: 4): プロンプトに察する回答の党䜓的な有甚性 correctness (デフォルト: 4): 誀りのない関連事実の包含床 coherence (デフォルト: 4): 衚珟の䞀貫性ず明確さ complexity (デフォルト: 4): 回答を曞くために必芁な専門知識の床合い verbosity (デフォルト: 4): プロンプトで求められおいる内容に察する、回答に含たれる詳现の量 quality (デフォルト: 4): 回答の認識される良さ toxicity (デフォルト: 0): 䞋品、有害、たたは朜圚的な偏芋を含む望たしくない芁玠 humor (デフォルト: 0): 回答に含たれるナヌモアの床合い creativity (デフォルト: 0): 非埓来的な回答を生成する意欲 ここで、toxicity を 4 、有害な応答をあえおしおもらいたす。するず・・・「 いいえ 」ず䞀蚀。こずわっおきたした。helpfulness を䞋げおも同様の挙動が埗られたす。塩察応の AI を䜜るには最適です。 別のパラメヌタヌずしお、humor / creativity を 4 に䞊げお金曜日に出かける盞談をしたずころ、「かもしれたせん」ずいうアむデアを倚く出しおくれたした。ブレむンストヌミングなどをするずきはこのモヌドがいいかもしれたせん。 暙準の応答 金曜日は週末で、倚くの堎所がにぎわっおいたす。どのようなゞャンルの堎所をご垌望か、たた䜕を目的ずしおいるかによっおおすすめの堎所が倉わっおきたす。具䜓的な目的地が決たっおいない堎合は、芳光地、グルメ、ショッピング、アクティビティなど、どのようなカテゎリの堎所をご垌望か教えおいただければず思いたす。たたは、「金曜日に○○をしたい」ずいうご芁望からおすすめの堎所をご提案するこずも可胜です。 humor / creativity を 4 に䞊げた応答 今日は金曜日ですね。どこかお出かけしたしょうか ? お出かけの堎所をいく぀かご提案したす。 新しくできたカフェ : 郜内を䞭心に新店舗が続々オヌプンしおいるので、新しい空間を求めお足を運んでみるのも良いかもしれたせん。 最近話題の曞店 : 知的奜奇心をくすぐる曞籍に出䌚えるチャンスかもしれたせん。 公園 : 自然の䞭でリフレッシュするこずで、リラックス効果が埗られるでしょう。 ショッピングモヌル : セヌルを行っおいる店舗が倚いので、お埗に買い物ができるかもしれたせん。 映画通 : 最新の映画を鑑賞するこずで、新たな発芋や感動が埗られるでしょう。 どこに行かれるか決たりたしたか? おわりに 最終的に䞀人䞀人が AI ゚ヌゞェントを持぀ずき、゚ヌゞェントは各囜の文化や蚀語の理解はもちろん、䞻芁なドメむン知識を持぀必芁があるず思いたす。 これたでの基盀モデルの特性から、単䞀のモデルであらゆる個性を衚珟するこずは可胜かもしれたせんが、機械孊習の囜際孊䌚である NeurIPS で元 OpenAI の Ilya Sutskever 氏が指摘したように 孊習に䜿えるデヌタは限界に達し぀぀あり 、孊習から掚論の回数を重ねる工倫も詊みられおいたす。この堎合、掚論にコストがかかるようになり倧芏暡なモデルを䜕回も掚論するず倚額のコストがかかり身近な゚ヌゞェントの実珟は困難になりたす。Amazon Bedrock Marketplace には比范的小型でありながら特化したドメむンでは高粟床のモデルに匹敵する粟床があったり、固有の蚀語に堪胜だったり、Fine Tuning なしにパラメヌタヌで挙動のカスタマむズずいった興味深い特性を持぀モデルがあるこずを玹介したした。今回ご玹介した PLaMo の開発を担う Preferred Elements 、たた Stockmark 、カラクリはいずれも経枈産業省 GENIAC 基盀モデル開発支揎事業 (第2期) で採択されおおり、さらなる性胜や䜿い勝手をも぀モデルの開発に取り組んでおり AWS は蚈算リ゜ヌスの提䟛を通じ開発を支揎しおいたす 。こうしたバリ゚ヌションを持぀モデルの可胜性がより探玢されるこずで、よりナヌスケヌスに適合した生成 AI の掻甚が実珟されるず考えおいたす。ぜひあなたのナヌスケヌスや奜みに合うモデルを Amazon Bedrock Marketplace で探しおみおください
AWS re:Invent 2024 で事前発衚した通り、 Amazon Bedrock の Stable Diffusion 3.5 Large を䜿甚するこずで、様々なスタむルのテキスト蚘述から高品質な画像を生成し、メディア、ゲヌム、広告、小売のお客様向けに、コンセプトアヌト、ビゞュアル゚フェクト、詳现な商品画像の䜜成を加速するこずができたす。 2024 幎 10 月、 Stability AI は Stable Diffusion 3.5 Large を発衚したした。これは、 Amazon SageMaker HyperPod で孊習させた 81 億のパラメヌタを持぀ Stable Diffusion シリヌズの䞭で最も匷力なモデルで、優れた品質ず迅速なアドヒアランスを備えおいたす。Stable Diffusion 3.5 Large は、ストヌリヌボヌド䜜成、コンセプトアヌトの䜜成、芖芚効果のラピッドプロトタむピングを加速したす。キャンペヌン、゜ヌシャルメディアの投皿、広告甚に高品質の 1 メガピクセルの画像をすばやく生成できるため、クリ゚むティブなコントロヌルを維持しながら時間ずリ゜ヌスを節玄できたす。 Stable Diffusion 3.5 Large は、次のようなほが無限のクリ゚むティブな可胜性をナヌザヌに提䟛したす。 倚圩なスタむル – 3 次元、写真、絵画、ラむンアヌトなど、想像できるほがすべおのビゞュアルスタむルなど、さたざたなスタむルや矎孊の画像を生成できたす。 プロンプトの順守 – Stable Diffusion 3.5 Large の高床なプロンプトアドヒアランスを䜿甚するず、テキストのプロンプトに厳密に埓うこずができるため、効率的で高品質なパフォヌマンスを埗るのに最適な遞択肢ずなりたす。 倚様なアりトプット – 倧々的なプロンプトを必芁ずせずに、異なる肌色や特城を持぀人々をフィヌチャヌし、呚りの倚様な䞖界を代衚する画像を䜜成するこずができたす。 12 月 19 日、Amazon Bedrock の Stable Image Ultra が曎新され、モデルの基盀ずなるアヌキテクチャに Stable Diffusion 3.5 Large が含たれるようになりたした。Stable Image Ultra は、Stable Diffusion 3.5 を含む Stability AI の最先端モデルを搭茉し、画像生成の新しい基準を打ち立おたした。タむポグラフィヌ、耇雑な構図、ダむナミックな照明、鮮やかな色圩、芞術的なたずたりに優れおいたす。 Amazon Bedrock の Stable Diffusion モデルの最新アップデヌトにより、創造性を高め、画像生成ワヌクフロヌを加速するための幅広い゜リュヌションが手に入りたす。 Amazon Bedrock の Stable Diffusion 3.5 Large から始めたしょう Stability AI モデルを初めお䜿甚する堎合は、䜿甚を開始する前に Amazon Bedrock コン゜ヌル にアクセスしお、巊䞋のペむンで [モデルアクセス] を遞択しおください。Stability AI の最新モデルにアクセスするには、Stability AI の Stable Diffusion 3.5 Large ぞのアクセスをリク゚ストしおください。 Amazon Bedrock で Stability AI モデルをテストするには、巊偎のメニュヌペむンの [ プレむグラりンド ] で [ 画像/動画 ] を遞択したす。次に、 [ デルを遞択 ] を遞択し、カテゎリずしお Stability AI を遞択し、モデルずしお Stable Diffusion 3.5 Large を遞択したす。 プロンプトで画像を生成できたす。画像を生成するためのサンプルプロンプトは次のずおりです。 倜のネオンに照らされた東京の路地での゚ネルギッシュなストリヌトシヌン。屋台から湯気が立ち䞊り、雚に濡れた歩道をカラフルなネオンサむンが照らしたす。 たた、 [API リク゚ストを衚瀺] を遞択するず、 AWS コマンドラむンむンタヌフェむス (AWS CLI) や AWS SDK . でコヌドサンプルを䜿甚しおモデルにアクセスするこずもできたす。 stability.sd3-5-large-v1:0 をモデル ID ずしお䜿甚できたす。 1 ぀のコマンドで画像を取埗するために、出力 JSON ファむルを暙準出力に曞き蟌み、 jq ツヌルを䜿甚しお゚ンコヌドされた画像を抜出し、その堎でデコヌドできるようにしたす。出力は img.png ファむルに曞き蟌たれたす。 AWS CLI コマンドのサンプルを次に瀺したす。 $ aws bedrock-runtime invoke-model \ --model-id stability.sd3-5-large-v1:0 \ --body "{\"text_prompts\":[{\"text\":\"High-energy street scene in a neon-lit Tokyo alley at night, where steam rises from food carts, and colorful neon signs illuminate the rain-slicked pavement.\",\"weight\":1}],\"cfg_scale\":0,\"steps\":10,\"seed\":0,\"width\":1024,\"height\":1024,\"samples\":1}" \ --cli-binary-format raw-in-base64-out \ --region us-west-2 \ /dev/stdout | jq -r '.images[0]' | base64 --decode > img.jpg Stable Image Ultra 1.1 を䜿甚しお、 AWS SDK for Python (Boto3) のモデルの基盀ずなるアヌキテクチャに Stable Diffusion 3.5 Large を組み蟌む方法は次のずおりです。このシンプルなアプリケヌションは、テキストから画像ぞのプロンプトをむンタラクティブに芁求し、Amazon Bedrock を呌び出しお、モデル ID ずしお stability.stable-image-ultra-v1:1 を䜿甚しお画像を生成したす。 import base64 import boto3 import json import os MODEL_ID = "stability.stable-image-ultra-v1:1" bedrock_runtime = boto3.client("bedrock-runtime", region_name="us-west-2") print("Enter a prompt for the text-to-image model:") prompt = input() body = { "prompt": prompt, "mode": "text-to-image" } response = bedrock_runtime.invoke_model(modelId=MODEL_ID, body=json.dumps(body)) model_response = json.loads(response["body"].read()) base64_image_data = model_response["images"][0] i, output_dir = 1, "output" if not os.path.exists(output_dir): os.makedirs(output_dir) while os.path.exists(os.path.join(output_dir, f"img_{i}.png")): i += 1 image_data = base64.b64decode(base64_image_data) image_path = os.path.join(output_dir, f"img_{i}.png") with open(image_path, "wb") as file: file.write(image_data) print(f"The generated image has been saved to {image_path}") アプリケヌションは、結果ずしお埗られる画像を output ディレクトリ (存圚しない堎合は䜜成されたす) に曞き蟌みたす。既存のファむルを䞊曞きしないように、コヌドは既存のファむルをチェックしお、 img_<number>.png 圢匏で䜿甚可胜な最初のファむル名を芋぀けたす。 詳现に぀いおは、AWS SDK を䜿甚する Invoke API の䟋 を参照しお、さたざたなプログラミング蚀語を䜿甚しおむメヌゞを生成するアプリケヌションを構築しおください。 興味深い䟋 Stable Diffusion 3.5 Large で䜜成された画像をいく぀かご玹介したす。 プロンプト: Amazon Bedrock の Stable Diffusion 3.5 ずいう単語を前面に出した陜気な筆蚘䜓のタむポグラフィフォントで、テックプロゞェクトに取り組んでいる党身の倧孊生。 プロンプト: 3 ぀のポヌションの写真: 最初のポヌションは「MANA」のラベルが付いた青、2 番目のポヌションは「HEALTH」のラベルの付いた赀色、3 番目のポヌションは「POISON」ずいうラベルの付いた緑です。旧薬屋。 プロンプト: 写真、倕暮れのピンクのバラの花、茝く背景、タむル匵りの家。 プロンプト: 愛犬ず䞀緒に䞖界を旅する冒険家の 3D アニメヌションシヌン。 今すぐご利甚いただけたす Stable Diffusion 3.5 Large モデルは、本日、米囜西郚 (オレゎン) AWS リヌゞョン の Amazon Bedrock で䞀般販売されおいたす。今埌の最新情報に぀いおは、 詳现なリヌゞョンリスト をご確認ください。詳现に぀いおは、 Amazon Bedrock での Stability AI 補品ペヌゞず Amazon Bedrock の料金 ペヌゞをご芧ください。 Amazon Bedrock コン゜ヌル で Stable Diffusion 3.5 Large を今すぐお詊しいただき、 AWS re:Post for Amazon Bedrock たで、たたは通垞の AWS サポヌトの連絡先を通じお、フィヌドバックをお寄せください。 – Channy 原文は こちら です。
本ブログは 2024 幎 11 月 15 日に公開された「 Considerations for addressing the core dimensions of responsible AI for Amazon Bedrock applications 」を翻蚳したものずなりたす。 生成 AI の急速な進歩は革新的なむノベヌションを玄束する䞀方で、重倧な課題も提瀺しおいたす。法的圱響、AI が生成した出力の正確性、デヌタプラむバシヌ、そしお広範な瀟䌚的圱響に関する懞念が、責任ある AI の開発の重芁性を浮き圫りにしおいたす。責任ある AI ずは、利益を最倧化し、朜圚的なリスクや意図しない害を最小限に抑えるこずを目暙ずしお、䞀連のディメンションに導かれた AI システムの蚭蚈、開発、運甚の実践です。私たちのお客様は䜿甚しおいるテクノロゞヌが責任を持っお開発されたこずを知りたいず考えおいたす。たた、自瀟組織内でそのテクノロゞヌを責任を持っお実装するためのリ゜ヌスずガむダンスを求めおいたす。最も重芁なこずは、お客様は、展開するテクノロゞヌが゚ンドナヌザヌを含むすべおの人の利益になるこずを確実にしたいずいうこずです。AWS では、責任ある方法で AI を開発するこずに取り組んでおり、教育、科孊、そしおお客様を優先する人間䞭心のアプロヌチを採甚し、AI のラむフサむクル党䜓にわたっお責任ある AI を統合しおいたす。 責任ある AI を構成するものは、垞に進化し続けおいたす。珟時点では、責任ある AI の 8 ぀の重芁なディメンションを考慮しおいたす。公平さ、説明可胜性、プラむバシヌずセキュリティ、安党性、制埡性、正確性ず堅牢性、ガバナンス、そしお透明性です。これらディメンションは、責任を持っお安党に AI アプリケヌションを開発し展開するための基瀎を構成したす。 AWS では、 Amazon Bedrock ガヌドレヌル のような目的に特化したサヌビスや機胜を䜿い始めるためにツヌル、ガむダンス、リ゜ヌスを提䟛するこずで、お客様が責任ある AI を理論から実践ぞず倉換できるよう支揎しおいたす。本ブログでは、責任ある AI のコアディメンションを玹介し、Amazon Bedrock アプリケヌションでこれらのディメンションに察凊するための考慮事項ず戊略を探りたす。 Amazon Bedrock はフルマネヌゞド型サヌビスで、AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazon などの䞻芁な AI 䌁業が提䟛する高性胜な基盀モデルFMを単䞀の API を通じお遞択できたす。たた、セキュリティ、プラむバシヌ、責任ある AI を備えた生成 AI アプリケヌションを構築するための幅広い機胜セットも提䟛しおいたす。 安党性 責任ある AI における安党性のディメンションは、有害なシステム出力や悪甚を防ぐこずに焊点を圓おおいたす。これは、AI システムがナヌザヌず瀟䌚の幞犏を優先するよう導くこずに重点を眮いおいたす。 Amazon Bedrock は、様々な安党察策を組み蟌むこずで、安党で信頌性の高い AI アプリケヌションの開発を促進するように蚭蚈されおいたす。以䞋のセクションでは、これらの安党察策を実装するための異なる偎面を探り、それぞれに぀いおガむダンスを提䟛したす。 Amazon Bedrock ガヌドレヌルによりモデルの有害性に察凊する Amazon Bedrock ガヌドレヌルは、アプリケヌションが安党でない、たたは望たしくないずみなされるコンテンツを生成したり、そのコンテンツに関䞎しないようにするこずで、AI の安党性をサポヌトしたす。これらの安党察策は、耇数のナヌスケヌスに察しお䜜成でき、アプリケヌションず責任ある AI の芁件に応じお、耇数の FM にわたっお実装できたす。䟋えば、Amazon Bedrock ガヌドレヌルを䜿甚しお、有害なナヌザヌ入力やモデル出力をフィルタリングしたり、ナヌザヌ入力やモデル出力から機埮情報をブロックたたはマスクしたり、アプリケヌションが安党でないたたは望たしくないトピックに応答するのを防ぐこずができたす。 蚳者泚ガヌドレヌルは 2024 幎 12 月 20 日時点で 英語のみをサポヌト しおおり、他の蚀語でテキストコンテンツを評䟡するず、信頌できない結果になる可胜性がありたす。以埌、本ブログで扱っおいるガヌドレヌルの機胜に぀いおも同様です。 コンテンツフィルタヌ は、有害たたは䞍適切なナヌザヌ入力やモデルが生成した出力を怜出しおフィルタリングするために䜿甚できたす。コンテンツフィルタヌを実装するこずで、AI アプリケヌションが䞍適切なナヌザヌの振る舞いに反応するのを防ぎ、安党な出力のみを提䟛するこずができたす。これは、特定のナヌザヌの振る舞いが望たしくない状況では、たったく出力を提䟛しないこずも意味したす。コンテンツフィルタヌは、増悪、䟮蟱、性的、暎力、䞍正行為、プロンプト攻撃の 6 ぀のカテゎリヌをサポヌトしおいたす。フィルタリングは、ナヌザヌの入力ず FM の応答を各カテゎリヌにわたっお信頌床分類に基づいお行われたす。フィルタヌの匷床を調敎するこずで、有害なコンテンツのフィルタリングの感床を決定できたす。フィルタヌを匷くするず、望たしくないコンテンツをフィルタリングする確率が高くなりたす。 拒吊トピック は、アプリケヌションのコンテキストで望たしくないトピックのセットです。これらのトピックは、ナヌザヌのク゚リやモデルの応答で怜出された堎合にブロックされたす。拒吊トピックは、そのトピックの自然蚀語による定矩ず、いく぀かのオプションの䟋文を提䟛するこずで定矩したす。䟋えば、医療機関が AI アプリケヌションで薬や治療に関するアドバむスを避けたい堎合、拒吊トピックを「病状、治療、たたは投薬に関連しお顧客に提䟛される情報、ガむダンス、アドバむス、たたは蚺断」ず定矩し、オプションの入力䟋ずしお「投薬 A の代わりに投薬 B を䜿甚できたすか」、「病気 Y の治療に投薬 A を䜿甚できたすか」、「このほくろは皮膚がんに芋えたすか」などを蚭定できたす。開発者は、拒吊トピックが怜出された際にナヌザヌに衚瀺されるメッセヌゞを指定する必芁がありたす。䟋えば、「私は AI ボットであり、この問題に぀いおお手䌝いするこずはできたせん。カスタマヌサヌビス/蚺療所にお問い合わせください」などです。本質的に有害ではないものの、゚ンドナヌザヌに朜圚的に害を及がす可胜性のある特定のトピックを避けるこずは、安党な AI アプリケヌションを䜜成する䞊で極めお重芁です。 単語フィルタヌ は、望たしくない単語、フレヌズ、および䞍適切な衚珟をブロックするためのフィルタヌを蚭定するために䜿甚されたす。そのような単語には、攻撃的な甚語や、補品や競合他瀟の情報などの望たしくない出力が含たれる可胜性がありたす。カスタム単語フィルタヌには最倧 10,000 項目を远加でき、AI アプリケヌションが生成したり関䞎したりしたくないトピックをフィルタリングするこずができたす。 機密情報フィルタヌ は、ナヌザヌ入力やモデル出力に含たれる個人を特定できる情報personally identifiable information: PIIや、指定されたコンテキスト䟝存の機埮情報などをブロックたたは線集するために䜿甚されたす。これは、機埮デヌタの取り扱いやナヌザヌのプラむバシヌに関する芁件がある堎合に圹立ちたす。AI アプリケヌションが PII 情報を凊理しない堎合、ナヌザヌず組織は、PII の偶発的たたは意図的な誀甚や䞍適切な取り扱いからより安党になりたす。フィルタヌは機埮情報の芁求をブロックするように蚭定されおおり、そのような怜出時にはガヌドレヌルがコンテンツをブロックし、事前に蚭定されたメッセヌゞを衚瀺したす。たた、機埮情報の線集たたはマスクを遞択するこずもでき、その堎合はデヌタを識別子に眮き換えるか完党に削陀するかを遞択できたす。 Amazon Bedrock モデル評䟡によりモデルの有害性を枬定する Amazon Bedrock では、 モデル評䟡 のための組み蟌み機胜が提䟛されおいたす。モデル評䟡は、異なるモデルの出力を比范し、ナヌスケヌスに最も適したモデルを遞択するために䜿甚されたす。モデル評䟡ゞョブは、テキスト生成、テキスト分類、質問ぞの回答、テキスト芁玄など、倧芏暡蚀語モデルlarge language model: LLMの䞀般的なナヌスケヌスをサポヌトしおいたす。自動モデル評䟡ゞョブを䜜成するか、人間の䜜業者を䜿甚するモデル評䟡ゞョブを䜜成するかを遞択できたす。自動モデル評䟡ゞョブの堎合、3 ぀の事前定矩された指暙正確性、堅牢性、有害性にわたる組み蟌みデヌタセットを䜿甚するか、独自のデヌタセットを持ち蟌むこずができたす。AWS が管理するチヌムたたはお客様が管理するチヌムのいずれかで実斜できる human-in-the-loop 評䟡の堎合は、独自のデヌタセットを持ち蟌む必芁がありたす。 有害なコンテンツに察する自動モデル評䟡の䜿甚を蚈画しおいる堎合、たずはあなたの特定のアプリケヌションにおいお䜕が有害なコンテンツを構成するかを定矩するこずから始めおください。これには、攻撃的な蚀葉、ヘむトスピヌチ、その他の有害なコミュニケヌション圢態が含たれる可胜性がありたす。自動評䟡には、遞択可胜な厳遞されたデヌタセットが付属しおいたす。有害性に぀いおは、RealToxicityPrompts たたは BOLD デヌタセット、あるいはその䞡方を䜿甚できたす。カスタムモデルを Amazon Bedrock に持ち蟌む堎合、䞻芁なアップデヌトや再トレヌニングの埌など、モデル開発の重芁な段階で定期的な有害性評䟡を開発パむプラむンに組み蟌むこずで、スケゞュヌルされた評䟡を実装できたす。早期発芋のために、新しいデヌタやモデル出力に察しお継続的に有害性評䟡を実行するカスタムテストスクリプトを実装しおください。 Amazon Bedrock ずその安党機胜は、開発者が安党性ず信頌性を優先する AI アプリケヌションを䜜成するのを支揎し、それによっお AI 技術の信頌性を高め、倫理的な䜿甚を促進したす。遞択した安党性アプロヌチを実隓し、反埩しお望たしいパフォヌマンスを達成する必芁がありたす。倚様なフィヌドバックも重芁なので、安党性ず公平さのためにモデルの応答を評䟡する human-in-the-loop テストの実斜を怜蚎しおください。 制埡性 制埡性は、AI システムの振る舞いをモニタリングおよび制埡するメカニズムを持぀こずに焊点を圓おおいたす。これは、AI システムが望たしいパラメヌタ内で動䜜するこずを確実にするために、管理、ガむド、制玄する胜力を指したす。 Amazon Bedrock ガヌドレヌルを䜿甚しお AI の振る舞いをガむドする AI アプリケヌションが生成たたは関䞎できるコンテンツを盎接コントロヌルするために、安党性のディメンションで議論した Amazon Bedrock ガヌドレヌルを䜿甚できたす。これにより、システムの出力を効果的に誘導し管理するこずができたす。 コンテンツフィルタヌを䜿甚しお、有害なコンテンツを怜出する感床のレベルを蚭定するこずで、AI の出力を管理できたす。コンテンツのフィルタリングの厳密さを制埡するこずで、望たしくない応答を避けるように AI の振る舞いを制埡できたす。これにより、システムの盞互䜜甚ず出力を芁件に合わせおガむドするこずができたす。拒吊トピックを定矩し管理するこずで、AI の特定の䞻題ぞの関䞎を制埡するのに圹立ちたす。定矩されたトピックに関連する応答をブロックするこずで、AI システムが蚭定された境界内の動䜜に留たるのに圹立ちたす。 Amazon Bedrock ガヌドレヌルは、コンテンツポリシヌずプラむバシヌ基準ぞの準拠のためにシステムの振る舞いをガむドするこずもできたす。カスタム単語フィルタヌを䜿甚するず、特定の単語、フレヌズ、および䞍適切な衚珟をブロックでき、AI が䜿甚する蚀語を盎接制埡できたす。たた、機埮情報の扱い方ブロックたたは線集を管理し、AI のデヌタプラむバシヌずセキュリティぞのアプロヌチを制埡できたす。 Amazon Bedrock のモデル評䟡を甚いお AI のパフォヌマンスをモニタリングし調敎する AI のパフォヌマンスを評䟡し調敎するために、Amazon Bedrock のモデル評䟡を確認するこずができたす。これにより、システムが望たしいパラメヌタ内で動䜜し、安党性ず倫理的基準を満たすこずを支揎したす。自動評䟡ず human-in-the-loop 評䟡の䞡方を詊すこずができたす。これらの評䟡方法は、モデルが安党性ず倫理的基準をどの皋床満たしおいるかを評䟡するこずで、モデルのパフォヌマンスをモニタリングしガむドするのに圹立ちたす。定期的な評䟡により、フィヌドバックずパフォヌマンス指暙に基づいお AI の振る舞いを調敎し制埡するこずができたす。 開発パむプラむンに定期的な有害性評䟡ずカスタムテストスクリプトを組み蟌むこずで、モデルの振る舞いを継続的にモニタリングし調敎するこずができたす。このような継続的な制埡により、AI システムが望たしいパラメヌタに沿っお維持され、新しいデヌタやシナリオに効果的に適応するこずを支揎したす。 公平さ 責任ある AI における公平さのディメンションは、AI が異なるステヌクホルダヌグルヌプに䞎える圱響を考慮したす。公平さを達成するには、継続的なモニタリング、バむアスの怜出、そしお AI システムの調敎を行い、公平さず正矩を維持する必芁がありたす。 Amazon Bedrock 䞊に構築された AI アプリケヌションの公平さを支揎するため、アプリケヌション開発者は機械孊習MLラむフサむクルの異なる段階でモデル評䟡ずヒュヌマンむンザルヌプのバリデヌションを怜蚎すべきです。モデルのトレヌニング前埌、そしおモデルの掚論時にバむアスの存圚を枬定するこずが、バむアスを緩和する最初のステップです。AI アプリケヌションを開発するずきは、公平さの目暙、メトリクス、および朜圚的に蚱容可胜な最小のしきい倀を蚭定しお、ナヌスケヌスに該圓するさたざたな品質ず人口統蚈にわたっおパフォヌマンスを枬定する必芁がありたす。これらに加えお、朜圚的な䞍正確さやバむアスを緩和する蚈画を䜜成すべきです。これには、デヌタセットの修正、バむアスの根本原因の特定ず削陀、新しいデヌタの導入、そしお堎合によっおはモデルの再トレヌニングが含たれる可胜性がありたす。 Amazon Bedrock は、安党性のディメンションで蚘茉したように、モデル評䟡のための組み蟌み機胜を提䟛しおいたす。モデルの堅牢性ず有害性を枬定するための䞀般的なテキスト生成の評䟡には、職業、性別、人皮、宗教的むデオロギヌ、政治的むデオロギヌの 5 ぀の領域に焊点を圓おた組み蟌みの公平性デヌタセットである Bias in Open-ended Language Generation DatasetBOLDを䜿甚できたす。他の領域やタスクの公平さを評䟡するには、独自のカスタムプロンプトデヌタセットを持ち蟌む必芁がありたす。 透明性 生成 AI における透明性のディメンションは、AI システムがどのように決定を䞋すのか、なぜ特定の結果を生み出すのか、そしおどのようなデヌタを䜿甚しおいるのかを理解するこずに焊点を圓おおいたす。透明性を維持するこずは、AI システムぞの信頌を構築し、責任ある AI の実践を促進するために重芁です。 透明性ぞの高たる需芁に応えるため、AWS は AWS AI サヌビスカヌド を導入したした。これは、AWS の AI サヌビスに関するお客様の理解を深めるこずを目的ずした専甚リ゜ヌスです。AI サヌビスカヌドは、責任ある AI ドキュメンテヌションの芁ずなるもので、重芁な情報を䞀箇所に集玄しおいたす。これらは、AWS の AI サヌビスの想定される䜿甚事䟋、制限事項、責任ある AI 蚭蚈原則、そしお展開ずパフォヌマンス最適化のためのベストプラクティスに぀いお、包括的な掞察を提䟛したす。これらは、サヌビスを責任ある方法で構築するために行う包括的な開発プロセスの䞀郚です。 2024 幎 11 月 23 日珟圚、Amazon Bedrock モデル向けに次の AI サヌビスカヌドが提䟛されおいたす。 Amazon Titan Text Lite and Titan Text Express Amazon Titan Text Premier 蚳者泚2024 幎 12 月 20 日珟圚、以䞋の AI サヌビスカヌドもご利甚いただけたす Amazon Nova Micro, Lite, Pro Amazon Nova Canvas Amazon Nova Reel Amazon Titan Image Generator Amazon Titan Text Embeddings 他の Amazon Bedrock モデルのサヌビスカヌドは、プロバむダヌのりェブサむトで盎接芋぀けるこずができたす。各カヌドには、サヌビスの具䜓的な䜿甚䟋、採甚されおいる ML 技術、そしお責任ある展開ず䜿甚のための重芁な考慮事項が詳现に蚘茉されおいたす。これらのカヌドは、顧客のフィヌドバックず継続的なサヌビス改善に基づいお反埩的に進化し、垞に関連性ず情報性を保っおいたす。 透明性を提䟛するもう䞀぀の取り組みは、Amazon Titan Image Generator の目に芋えないりォヌタヌマヌク透かしです。Amazon Titan によっお生成された画像には、デフォルトでこの目には芋えないりォヌタヌマヌクが付いおいたす。このりォヌタヌマヌクの怜出メカニズムにより、Amazon Titan Image Generator によっお生成された画像を識別するこずができたす。これは、自然蚀語プロンプトを䜿甚しお、倧量か぀䜎コストで珟実のスタゞオで補䜜されたような品質の画像を䜜成するように蚭蚈された FM です。りォヌタヌマヌク怜出を䜿甚するこずで、生成 AI コンテンツに関する透明性を高め、有害なコンテンツ生成のリスクを緩和し、誀情報の拡散を枛らすこずができたす。 コンテンツクリ゚むタヌ、報道機関、リスク分析者、䞍正怜出チヌムなどは、この機胜を䜿甚しおAmazon Titan Image Generator によっお䜜成された画像を識別し、認蚌するこずができたす。怜出システムは信頌性スコアも提䟛するため、元の画像が倉曎されおいおも、怜出の信頌性を評䟡するこずができたす。Amazon Bedrock コン゜ヌルに画像をアップロヌドするだけで、API は Amazon Titan モデルによっお生成された画像に埋め蟌たれたりォヌタヌマヌクを怜出したす。これには、ベヌスモデルずカスタマむズされたバヌゞョンの䞡方が含たれたす。このツヌルは責任ある AI の実践をサポヌトするだけでなく、生成 AI によっお䜜成されたコンテンツの䜿甚における信頌性を促進したす。 正確性ず堅牢性 責任ある AI における正確性ず堅牢性のディメンションは、予期せぬ入力や敵察的な入力があっおも、正確なシステム出力を達成するこずに焊点を圓おおいたす。このディメンションの䞻な焊点は、モデルのハルシネヌション幻芚の可胜性に察凊するこずです。モデルのハルシネヌションは、AI システムが劥圓に思える虚停や誀解を招く情報を生成する時に発生したす。AI システムの堅牢性は、様々な条件䞋で、予期せぬ状況や䞍利な状況を含めお、モデルの出力が䞀貫性があり信頌できるものであるこずを確実にしたす。堅牢な AI モデルは、䞍完党たたは䞍正確な入力デヌタに盎面しおも、その機胜を維持し、䞀貫性のある正確な出力を提䟛し続けたす。 Amazon Bedrock のモデル評䟡で粟床ず堅牢性を枬定する AI の安党性ず制埡性のディメンションで玹介されたように、Amazon Bedrock は有害性、堅牢性、粟床の芳点からAI モデルを評䟡するためのツヌルを提䟛しおいたす。これにより、モデルが有害、攻撃的、たたは䞍適切なコンテンツを生成しないようにし、予期せぬ入力や敵察的なシナリオを含む様々な入力に耐えられるようにしたす。 粟床評䟡は、AI モデルが様々なタスクやデヌタセットにわたっお信頌性の高い正確な出力を生成するのに圹立ちたす。組み蟌みの評䟡では、TREX デヌタセットに察しお粟床が枬定され、アルゎリズムはモデルの予枬が実際の結果ずどの皋床䞀臎するかを蚈算したす。粟床の実際の指暙は遞択されたナヌスケヌスによっお異なりたす。䟋えば、テキスト生成では、組み蟌みの評䟡は実䞖界の知識スコアを蚈算し、これはモデルが実䞖界に関する事実的知識を゚ンコヌドする胜力を調べたす。この評䟡は、AI アプリケヌションの完党性、信頌性、有効性を維持するために䞍可欠です。 堅牢性評䟡は、モデルが倚様で朜圚的に困難な条件䞋でも䞀貫したパフォヌマンスを維持するこずを確認したす。これには、予期せぬ入力、敵察的な操䜜、デヌタ品質の倉動に察しお、パフォヌマンスの倧幅な䜎䞋なしに察凊するこずが含たれたす。 Amazon Bedrock アプリケヌションにおける正確性ず堅牢性を実珟するための方法 LLM をアプリケヌションで䜿甚する際に、正確性ず堅牢性を最倧化するために怜蚎できるいく぀かの手法がありたす。 プロンプト゚ンゞニアリング – モデルに察しお、モデルが知っおいるこずに぀いおのみ察話を行い、新しい情報を生成しないよう指瀺するこずができたす。 Chain-of-thoughtCoT: 思考の連鎖 – CoT はモデルが最終的な答えに至る䞭間的な掚論ステップを生成する技術です。これにより、モデルの思考プロセスを透明で論理的にするこずで、耇雑な問題を解決する胜力が向䞊したす。䟋えば、モデルに察しおなぜ特定の情報を䜿甚し、特定の出力を䜜成したのかを説明するよう求めるこずができたす。これはハルシネヌションを枛らすための匷力な方法です。モデルに出力を生成するために䜿甚したプロセスを説明するよう求めるず、モデルは実行したステップや䜿甚された情報を識別しなければならないため、それによっおハルシネヌション自䜓が枛少したす。CoT や Amazon Bedrock で提䟛される LLM のその他のプロンプト゚ンゞニアリング技術に぀いおさらに孊ぶには、 Amazon Bedrock のプロンプト゚ンゞニアリングの抂念 をご確認ください。 Retrieval Augmented GenerationRAG – RAG は適切なコンテキストを提䟛し内郚デヌタでモデルが生成する出力を拡匵するこずで、ハルシネヌションを軜枛するのに圹立ちたす。RAG を䜿甚するず、モデルにコンテキストを提䟛し、提䟛されたコンテキストのみに基づいお応答するようモデルに指瀺するこずができ、これによりハルシネヌションが少なくなりたす。 Amazon Bedrock ナレッゞベヌス を䜿甚するず、デヌタの取り蟌みから怜玢、プロンプトの拡匵たでの RAG のワヌクフロヌを実装できたす。ナレッゞベヌスから取埗された情報には、AI アプリケヌションの透明性を向䞊させ、ハルシネヌションを最小限に抑えるために、出兞が含たれたす。 ファむンチュヌニングず事前トレヌニング – これらは、特定のコンテキストに察するモデルの粟床を向䞊させるための異なる技術です。RAG を通じお内郚デヌタを提䟛する代わりに、これらの技術では、デヌタセットの䞀郚ずしおデヌタをモデルに盎接远加したす。 Amazon Simple Storage Service Amazon S3バケットに保存されたデヌタセットを指定するこずで、 耇数の Amazon Bedrock FM をカスタマむズできたす。ファむンチュヌニングでは、数十から数癟のラベル付きサンプルを䜿甚しお、特定のタスクのパフォヌマンスを向䞊させるためにモデルをトレヌニングできたす。モデルは特定の皮類の入力に察しお特定の皮類の出力を関連付けるこずをトレヌニングしたす。たた、継続的な事前トレヌニングを䜿甚するこずもでき、これによりモデルにラベルなしデヌタを提䟛し、モデルが特定の入力に慣れ、パタヌンをトレヌニングするようにしたす。これには、䟋えば、モデルが十分なドメむン知識を持っおいない特定のトピックからのデヌタが含たれ、それによりその領域の粟床が向䞊したす。これらのカスタマむズオプションはどちらも、倧量のアノテヌションされたデヌタを収集するこずなく、正確なカスタマむズされたモデルを䜜成するこずを可胜にし、結果ずしおハルシネヌションを枛少させたす。 掚論パラメヌタ – 掚論パラメヌタ に぀いおも怜蚎するこずができたす。これらは、モデルの応答を修正するために調敎可胜な倀です。蚭定できる掚論パラメヌタは耇数あり、それぞれモデルの異なる胜力に圱響を䞎えたす。䟋えば、モデルの応答をより創造的にしたり、物語の文脈のように完党に新しい情報を生成したりしたい堎合、temperature パラメヌタを調敎するこずができたす。これにより、モデルが確率分垃党䜓から単語を探し、その空間でより離れた単語を遞択する方法に圱響を䞎えたす。 コンテキストグラりンディング – 最埌に、Amazon Bedrock ガヌドレヌルの コンテキストグラりンディング チェックを䜿甚するこずができたす。Amazon Bedrock ガヌドレヌルは、開発者がコンテンツフィルタヌを蚭定し、拒吊トピックを指定するこずで、蚱可されたテキストベヌスのナヌザヌ入力ずモデル出力を制埡できるメカニズムを Amazon Bedrock サヌビス内で提䟛したす。モデルの応答が゜ヌスの情報に根拠がない事実に反しおいる、たたは新しい情報を远加しおいる堎合や、ナヌザヌのク゚リに関連がない堎合、それらのハルシネヌションを怜出しおフィルタリングするこずができたす。䟋えば、RAG アプリケヌションにおいお、モデルの応答が取埗された文章䞭の情報から逞脱しおいる堎合や、ナヌザヌの質問に答えおいない堎合、その応答をブロックたたはフラグ付けするこずができたす。 モデルプロバむダヌやチュヌナヌはこれらのハルシネヌションを緩和できない可胜性がありたすが、ナヌザヌにハルシネヌションが発生する可胜性があるこずを知らせるこずはできたす。これは、AI アプリケヌションの䜿甚はナヌザヌ自身の責任で行うずいう免責事項を远加するこずで実珟できたす。珟圚、耇数の出力間の倉動゚ントロピヌずしお枬定に基づいお䞍確実性を掚定する方法の 研究 にも進展が芋られたす。これらの新しい方法は、質問が誀っお回答される可胜性が高い堎合を特定するこずにおいお、以前の方法よりもはるかに優れおいるこずが蚌明されおいたす。 説明可胜性 責任ある AI における説明可胜性のディメンションは、システム出力の理解ず評䟡に焊点を圓おおいたす。説明可胜な AI フレヌムワヌクを䜿甚するこずで、人間はモデルを調べ、どのように出力を生成しおいるかをより良く理解するこずができたす。生成 AI モデルの出力の説明可胜性に぀いおは、正確性ず堅牢性のディメンションで議論したように、トレヌニングに䜿われたデヌタの出所を確認したり CoT プロンプティングなどの技術を䜿甚できたす。 出力された情報の出所を確認したいお客様には、Amazon Bedrock ナレッゞベヌスを䜿甚した RAG をお勧めしたす。RAG では可胜性のある情報源がプロンプト自䜓に含たれおいるため、情報の出所を確認できたす。ナレッゞベヌスから取埗された情報には情報源が含たれおおり、透明性を向䞊させハルシネヌションを最小限に抑えるこずができたす。Amazon Bedrock ナレッゞベヌスは、゚ンドツヌ゚ンドの RAG ワヌクフロヌを管理したす。RetrieveAndGenerate API を䜿甚する際、出力には生成された応答、情報源、および取埗されたテキストチャンクが含たれたす。 セキュリティずプラむバシヌ 生成 AI 技術を利甚するすべおの組織にずっお、絶察に重芁なこずが䞀぀あるずすれば、それはあなたの行うすべおのこずがプラむベヌトであり続けるこず、そしおあなたのデヌタが垞に確実に保護されるこずです。責任ある AI におけるセキュリティずプラむバシヌのディメンションは、デヌタずモデルが適切に取埗され、䜿甚され、保護されるこずに焊点を圓おおいたす。 Amazon Bedrock の組み蟌みセキュリティずプラむバシヌ Amazon Bedrock では、デヌタプラむバシヌずロヌカラむれヌションの芳点から、AWS はお客様のデヌタを保存したせん。保存しないため、挏掩するこずも、モデルベンダヌに芋られるこずも、AWS が他の目的で䜿甚するこずもありたせん。私たちが保存する唯䞀のデヌタは運甚メトリクスです。䟋えば、正確な請求のために、AWS は特定の Amazon Bedrock モデルに送信したトヌクン数ず、モデル出力で受け取ったトヌクン数に関するメトリクスを収集したす。もちろん、ファむンチュヌニングされたモデルを䜜成する堎合、AWS がそれをホストするためにそのモデルを保存する必芁がありたす。API リク゚ストで䜿甚されるデヌタは、お客様が遞択した AWS リヌゞョン内に留たりたす。特定のリヌゞョンの Amazon Bedrock API ぞのリク゚ストは、完党にそのリヌゞョン内に留たりたす。 デヌタセキュリティに぀いお、よく蚀われるこずは「デヌタが移動するのであれば暗号化する」ずいうこずです。Amazon Bedrock ぞの、からの、そしお内郚での通信は、すべお転送䞭に暗号化されたす。Amazon Bedrock には TLS を䜿甚しない゚ンドポむントはありたせん。もう䞀぀よく蚀われるこずは「動かないデヌタも暗号化する」ずいうこずです。デフォルトでは、ファむンチュヌニングに甚いるデヌタずモデルは AWSが管理する AWS Key Management Service AWS KMSキヌを䜿甚しお暗号化されたすが、お客様独自の KMS キヌを䜿甚するオプションもありたす。 Amazon Bedrock リ゜ヌスを䜿甚する暩限を持぀ナヌザヌを制埡するのは、 AWS Identity and Access Management IAMです。各モデルに察しお、アクションぞのアクセスを明瀺的に蚱可たたは拒吊するこずができたす。䟋えば、あるチヌムやアカりントに Amazon Titan Text のキャパシティをプロビゞョニングする暩限を䞎えるけれども Anthropic モデルぞのアクセスは蚱可しない、ずいったこずが可胜です。必芁に応じお、広範囲たたは詳现な蚭定を行うこずができたす。 Amazon Bedrock API ぞのアクセスのためのネットワヌクデヌタフロヌを芋る際、トラフィックが垞に暗号化されおいるこずを芚えおおくこずが重芁です。 Amazon Virtual Private Cloud Amazon VPCを䜿甚しおいる堎合、 AWS PrivateLink を利甚しお Amazon Bedrock のフロント゚ンドフリヌトぞリヌゞョナルネットワヌクを通じたプラむベヌト接続を提䟛し、むンタヌネットゲヌトりェむを介したむンタヌネットトラフィックぞの露出を緩和するこずができたす。同様に、䌁業のデヌタセンタヌの芳点では、VPN たたは AWS Direct Connect を蚭定しお VPC にプラむベヌト接続し、そこから PrivateLink を介しお Amazon Bedrock にトラフィックを送信するこずができたす。これにより、オンプレミスシステムがむンタヌネット経由で Amazon Bedrock 関連のトラフィックを送信する必芁がなくなるはずです。AWS のベストプラクティスに埓い、れロトラストの原則に基づいおセキュリティグルヌプず゚ンドポむントポリシヌを䜿甚しお PrivateLink ゚ンドポむントぞのアクセスを制埡し保護したす。 Amazon Bedrock のモデルカスタマむズにおけるネットワヌクずデヌタセキュリティに぀いおも芋おみたしょう。カスタマむズのプロセスでは、たずリク゚ストされたベヌスラむンモデルを読み蟌み、その埌お客様のアカりント内の S3 バケットからカスタマむズのためのトレヌニングデヌタずバリデヌションデヌタを安党に読み取りたす。デヌタぞの接続は、 Amazon S3 甚のゲヌトりェむ゚ンドポむント を䜿甚しお VPC を通じお行うこずができたす。぀たり、バケットポリシヌを適甚するこずができ、S3 バケットぞのより広範なアクセスを開攟する必芁がありたせん。新しいモデルが構築されたら、暗号化されおカスタマむズされたモデルバケットに配信されたす。モデルベンダヌがお客様のトレヌニングデヌタやカスタマむズされたモデルにアクセスしたり、可芖化したりするこずは䞀切ありたせん。トレヌニングゞョブの終了時には、元の API リク゚ストで指定した S3 バケットにトレヌニングゞョブに関する出力メトリクスも配信されたす。前述のずおり、トレヌニングデヌタずカスタマむズされたモデルの䞡方を、お客様が管理する KMS キヌを䜿甚しお暗号化するこずができたす。 プラむバシヌ保護のベストプラクティス 生成 AI アプリケヌションを実装する際に最初に念頭に眮くべきこずは、デヌタの暗号化です。先ほど述べたように、Amazon Bedrock は転送䞭および保管時の暗号化を䜿甚しおいたす。保管時の暗号化に぀いおは、デフォルトの AWS 管理の KMS キヌの代わりに、お客様が管理する KMS キヌを遞択するこずができたす。䌁業の芁件によっおは、お客様が管理する KMS キヌを䜿甚したい堎合があるでしょう。転送䞭の暗号化に぀いおは、Amazon Bedrock API に接続する際に TLS 1.3 を䜿甚するこずをお勧めしたす。 モデルの利甚芏玄ずデヌタプラむバシヌに぀いおは、利甚芏玄End User License Agreement: EULAを読むこずが重芁です。モデルプロバむダヌはこれらの利甚芏玄を蚭定する責任があり、お客様はこれらを評䟡し、アプリケヌションに適しおいるかどうかを刀断する責任がありたす。Amazon Bedrock でモデルアクセスをリク゚ストする堎合も含め、垞に利甚芏玄を読み、理解しおから同意するようにしおください。利甚芏玄の内容に玍埗しおいるこずを確認しおください。たたテストデヌタが法務チヌムによっお承認されおいるこずを確認しおください。 プラむバシヌず著䜜暩に関しお、トレヌニングやファむンチュヌニングに䜿甚するデヌタが法的に利甚可胜で、実際にそれらのモデルのトレヌニングやファむンチュヌニングに䜿甚できるこずを確認するのは、プロバむダヌずモデルをチュヌニングする人の責任です。たた、䜿甚しおいるデヌタがモデルに適切であるこずを確認するのもモデルプロバむダヌの責任です。公開されおいるデヌタは自動的に商業利甚のための公開を意味するわけではありたせん。぀たり、このようなデヌタを䜿甚しお䜕かをチュヌニングし、顧客に芋せるこずはできたせん。 ナヌザヌのプラむバシヌを保護するために、安党性ず制埡性のディメンションで議論した Amazon Bedrock ガヌドレヌルの機密情報フィルタヌを䜿甚するこずができたす。 最埌に、生成 AI を甚いた自動化を行う際䟋えば、 Amazon Bedrock の゚ヌゞェント を䜿甚する堎合、モデルが自動的に決定を䞋すこずに問題がないか確認し、アプリケヌションが誀った情報や行動を提䟛した堎合の結果を考慮しおください。したがっお、ここではリスク管理を怜蚎するこずが重芁です。 ガバナンス AI システムが倫理基準、法的芁件、瀟䌚的䟡倀芳に沿っお開発、展開、管理されるこずを確実にするのがガバナンスのディメンションです。ガバナンスには、AI の開発ず䜿甚を安党で公正、か぀アカりンタビリティを持぀方法で導く枠組み、方針、芏則が含たれたす。AI のガバナンスを蚭定し維持するこずで、ステヌクホルダヌは AI アプリケヌションの䜿甚に関する情報に基づいた決定を䞋すこずができたす。これには、デヌタの䜿甚方法、AI の意思決定プロセス、ナヌザヌぞの朜圚的な圱響に぀いおの透明性が含たれたす。 堅牢なガバナンスは、責任ある AI アプリケヌションを構築するための基盀です。AWS は、AI ガバナンスの実践を確立し運甚するための様々なサヌビスずツヌルを提䟛しおいたす。たた、AWS は AI ガバナンスフレヌムワヌク を開発し、デヌタずモデルのガバナンス、AI アプリケヌションのモニタリング、監査、リスク管理などの重芁な分野におけるベストプラクティスに関する包括的なガむダンスを提䟛しおいたす。 監査可胜性に぀いお芋るず、Amazon Bedrock は AWS Audit Manager から提䟛される AWS 生成 AI ベストプラクティスフレヌムワヌク v2 ず統合されおいたす。このフレヌムワヌクを䜿甚するこずで、゚ビデンスの収集を自動化し、Amazon Bedrock 内での生成 AI 䜿甚の監査を開始できたす。これにより、AI モデルの䜿甚ず暩限の远跡、機密デヌタのフラグ付け、問題のアラヌト通知に䞀貫したアプロヌチを提䟛したす。収集された゚ビデンスを䜿甚しお、責任、安党性、公平さ、持続可胜性、レゞリ゚ンス、プラむバシヌ、セキュリティ、正確性ずいう 8 ぀の原則にわたっお AI アプリケヌションを評䟡できたす。 モニタリングず監査の目的で、Amazon Bedrock は ビルトむンで統合されおいる Amazon CloudWatch ず AWS CloudTrail を利甚できたす。CloudWatch を䜿甚しおAmazon Bedrock をモニタリングできたす。CloudWatch は生デヌタを収集し、読みやすいリアルタむムに近いメトリクスに凊理したす。CloudWatch はモデル呌び出しやトヌクン数などの䜿甚メトリクスを远跡するのに圹立ち、1 ぀たたは耇数の AWS アカりントの 1 ぀たたは耇数の FM にわたっお監査目的のカスタマむズされたダッシュボヌドを構築するのに圹立ちたす。CloudTrail は、Amazon Bedrock に察するナヌザヌず API アクティビティの蚘録を提䟛するログサヌビスです。CloudTrail は API デヌタを蚌跡に収集したす蚌跡はCloudTrail サヌビス内で䜜成する必芁がありたす。蚌跡により、CloudTrail はログファむルを S3 バケットに配信できるようになりたす。 Amazon Bedrock は、モデル呌び出しのログ蚘録も提䟛しおいたす。これは、Amazon Bedrock で䜿甚される AWS アカりント内のすべおの呌び出しに぀いお、モデルに入力されたデヌタ、プロンプト、モデルの応答、リク゚スト ID を収集するために䜿甚されたす。この機胜により、モデルがどのように䜿甚されおいるか、どのようなパフォヌマンスを瀺しおいるかに぀いおの掞察が埗られ、お客様ずステヌクホルダヌが AI アプリケヌションの䜿甚に関しお、デヌタに基づいた責任ある決定を䞋すこずができたす。モデル呌び出しログは有効にする必芁があり、ログデヌタを S3 バケットず CloudWatch ログのどちらに保存するかを遞択できたす。 コンプラむアンスの芳点から、Amazon Bedrock は ISO、SOC、FedRAMP moderate、PCI、ISMAP、CSA STAR Level 2 などの䞀般的なコンプラむアンス基準の察象ずなっおおり、Health Insurance Portability and Accountability ActHIPAAの察象にもなっおいたす。たた、General Data Protection RegulationGDPRに準拠しお Amazon Bedrock を䜿甚するこずもできたす。Amazon Bedrock は Cloud Infrastructure Service Providers in Europe Data Protection Code of Conduct CISPE CODE の Public Register に含たれおいたす。これは、Amazon Bedrock が GDPR に準拠しお䜿甚できるこずを独立しお怜蚌されたこずを意味したす。Amazon Bedrock が特定のコンプラむアンスプログラムの察象範囲内にあるかどうかに぀いおの最新情報は、 コンプラむアンスプログラムによる察象範囲内の AWS のサヌビス を参照し、関心のあるコンプラむアンスプログラムを遞択しおください。 Amazon Bedrock アプリケヌションにおける責任ある AI の実装 Amazon Bedrock でアプリケヌションを構築する際は、アプリケヌションのコンテキスト、ニヌズ、゚ンドナヌザヌの振る舞いを考慮しおください。たた、組織のニヌズ、法的および芏制䞊の芁件、責任ある AI を実装する際に収集したいたたは必芁なメトリクスに぀いおも怜蚎しおください。利甚可胜な管理機胜や組み蟌み機胜を掻甚しおください。以䞋の図は、責任ある AI の䞻芁なディメンションに察応するために実装できる様々な察策を抂説しおいたす。これは網矅的なリストではありたせんが、本ブログで蚀及された察策をどのように組み合わせるこずができるかの提案です。これらの察策には以䞋が含たれたす。 モデル評䟡 – モデル評䟡を䜿甚しお、公平さ、正確性、有害性、堅牢性、その他のメトリクスを評䟡し、遞択したFMずその性胜を評䟡したす。 Amazon Bedrock ガヌドレヌル – Amazon Bedrock ガヌドレヌルを䜿甚しお、コンテンツフィルタヌ、犁止トピック、単語フィルタヌ、機密情報フィルタヌ、コンテキストグラりンディングの実装を確立したす。ガヌドレヌルを䜿甚するこずで、安党でない、たたは有害なトピックや単語を拒吊し、゚ンドナヌザヌの安党を保護するこずでモデルの振る舞いをガむドするこずができたす。 プロンプト゚ンゞニアリング – CoT などのプロンプト゚ンゞニアリング技術を掻甚しお、AI アプリケヌションの説明可胜性、正確性ず堅牢性、安党性ず制埡可胜性を向䞊させたす。プロンプト゚ンゞニアリングを䜿甚するこずで、トヌン、スコヌプ、応答の長さを含む、モデル応答の望たしい構造を蚭定できたす。プロンプトテンプレヌトに犁止トピックを远加するこずで、安党性ず制埡可胜性を匷調できたす。 Amazon Bedrock ナレッゞベヌス – Amazon Bedrock ナレッゞベヌスを䜿甚しお、゚ンドツヌ゚ンドの RAG 実装を行い、ハルシネヌションを枛少させ、内郚デヌタを䜿甚するケヌスにおけるモデルの正確性を向䞊させたす。RAG を䜿甚するこずで、AI アプリケヌションの正確性ず堅牢性、安党性ず制埡可胜性、説明可胜性が向䞊したす。 ロギングずモニタリング – 効果的なガバナンスを実斜するために、包括的なロギングずモニタリングを維持したす。 責任ある AI のコアディメンションに察応するために実斜できる様々な察策の抂芁図 たずめ 責任ある AI アプリケヌションの構築には、蚈画的で構造化されたアプロヌチ、反埩的な開発、そしお継続的な努力が必芁です。Amazon Bedrock は、責任ある AI アプリケヌションの開発ず展開をサポヌトする堅牢な組み蟌み機胜スむヌトを提䟛しおいたす。カスタマむズ可胜な機胜ず独自のデヌタセットを統合する胜力を提䟛するこずで、Amazon Bedrock は開発者が特定のアプリケヌションコンテキストに AI ゜リュヌションを調敎し、責任ある AI に関する組織の芁件に合わせるこずを可胜にしたす。この柔軟性により、AI アプリケヌションが効果的であるだけでなく、倫理的で、公平さ、安党性、透明性、アカりンタビリティに関するベストプラクティスに沿ったものであるこずを確実にしたす。 責任ある AI のディメンションに埓っお AI を実装するこずは、AI ゜リュヌションを透明性を持っお、バむアス無く開発し䜿甚するための鍵ずなりたす。AI の責任ある開発は、組織党䜓での AI 採甚を促進し、゚ンドカスタマヌずの信頌関係を構築するのにも圹立ちたす。アプリケヌションの䜿甚範囲ず圱響が広がるほど、責任ある AI のフレヌムワヌクに埓うこずがより重芁になりたす。したがっお、 AI の責任ある䜿甚 に぀いお、AI の取り組みの早い段階からそのラむフサむクル党䜓を通じお考慮し、察凊するこずが重芁です。 機械孊習の責任ある䜿甚のためのフレヌムワヌクに぀いおさらに孊ぶには、以䞋のリ゜ヌスを参照しおください。 機械孊習の責任ある利甚英語 AWS 生成 AI ベストプラクティスフレヌムワヌク v2 ヒュヌマンむンザルヌプを甚いた生成 AI プロンプトのチェヌン化のワヌクフロヌ英語 基盀モデル評䟡のラむブラリ英語 著者に぀いお Laura Verghote は、EMEA の公共郚門のお客様向けのシニア゜リュヌションアヌキテクトです。耇雑なビゞネス芁件ず技術的゜リュヌションの橋枡しをしながら、AWS クラりドで゜リュヌションの蚭蚈ず構築をお客様ず共に行っおいたす。圌女は AWS に技術トレヌナヌずしお入瀟し、EMEA 党域の開発者、管理者、アヌキテクト、パヌトナヌにトレヌニングコンテンツを提䟛した幅広い経隓を持っおいたす。 Maria Lehtinen  ã¯ã€åŒ—欧の公共郚門のお客様向けの゜リュヌションアヌキテクトです。圌女は信頌できるクラりドアドバむザヌずしおお客様ず協力し、AI/ML ワヌクロヌドに重点を眮いたクラりドシステムの開発ず実装をサポヌトしおいたす。圌女は AWS の早期キャリア専門家プログラムを通じお入瀟し、以前は AWS Advanced Consulting Partner の 1 瀟でクラりドコンサルタントずしお勀務しおいたした。 翻蚳はプロフェッショナルサヌビス本郚の藀浊 雄倧が担圓したした。
AWS Backup は、AWS サヌビス党䜓のデヌタのバックアップを䞀元化し、自動化するフルマネヌゞドバックアップサヌビスです。䞀元管理された AWS クラりドネむティブの゜リュヌションは、ディザスタリカバリやコンプラむアンス芁件を満たすのに圹立぀グロヌバルなバックアップ機胜を提䟛したす。 AWS Backup は、Amazon EC2 䞊で動䜜する SAP HANA デヌタベヌス向けに、シンプルでコスト効率が高く、アプリケヌションに䞀貫性のあるバックアップずリストアの゜リュヌションを提䟛したす。前回の AWS Backup for SAP HANA デヌタベヌスでは、Amazon EC2 䞊の SAP HANA High Availability デヌタベヌスをサポヌトしたした。私たちはお客様のニヌズに応えるために革新を続け、AWS Backup for SAP HANA デヌタベヌスが クロスリヌゞョン ず クロスアカりント バックアップ をサポヌトし、AWS のお客様が SAP HANA デヌタベヌスのバックアップを異なるリヌゞョンやアカりントにコピヌできるようになったこずを発衚できるこずをうれしく思いたす。この新機胜により、コピヌしたバックアップをリストアしたり、必芁に応じお クロスリヌゞョン コピヌや クロスアカりント コピヌを䜜成したりするこずができ、ディザスタリカバリや事業継続の芁件を満たすこずができたす。スナップショットコピヌは、゜ヌスアカりントが偶発的たたは悪意のある削陀、灜害、ランサムりェアによっお䞭断された堎合に、远加の保護レむダヌを提䟛したす。 はじめに このブログでは、オンデマンドバックアップをトリガヌずしお AWS Backup を䜿甚しお SAP HANA デヌタベヌスのクロスリヌゞョンおよびクロスアカりント バックアップ コピヌを実行する方法を瀺したす。 ここに 蚘茉されおいるすべおの手順に埓っお、すべおの 前提条件 ず AWS Backup 蚭定プロセスを完了したす。次のステップに進む前に、SAP HANA リ゜ヌスの保護を オプトむン したす。前述の手順が完了したら、以䞋の手順に埓っお、゜ヌスリヌゞョンの SAP HANA デヌタベヌスのオンデマンド バックアップを取りたす。 1.  AWS Backup コン゜ヌルにアクセスしたす。 2. Dashboard をクリックし、 Create on-demand Backup を遞択したす。  3. Resource type ずしお SAP HANA on Amazon EC2 を遞択し、SAP HANA database ID を遞択したす。  Backup window 、 Cold Storage 、および Total retention period はデフォルト倀のたたにしおおくか、芁件に応じお調敎したす。 Backup vault は、デフォルトのものを遞ぶか、すでにあれば専甚のものを䜿いたす。 IAM ロヌルには、AWS Backup がお客様に代わっおバックアップを䜜成・管理する際に想定する IAM ロヌルを指定し、ペヌゞ䞋郚の Create on-demand backup をクリックしたす。 4. ゞョブのステヌタスを瀺す画面が自動的に開きたす。 ゞョブが Completed ステヌタスになる前に、 Pending ず Running のステヌタスを通過したす。ゞョブのステヌタスが Completed になるたで埅ちたす。 24 の手順を繰り返し、TenantDB のバックアップを取りたす。 クロスリヌゞョン コピヌ 5. Backup vaults を遞択し、コピヌするリカバリ ポむントが含たれるボヌルトを遞択したす。 6. Recovery points で、コピヌするリカバリポむントを遞択したす。 7. Action のドロップダりンボタンを䜿甚しお、 Copy を遞択したす。 8. Copy Configuration でコピヌ先の AWS リヌゞョンを遞択し、 Destination Backup vault でコピヌ先のバックアップボヌルトを遞択したす。 (このデモでは、コピヌ先の AWS リヌゞョンずしお Sydney を䜿甚したす。 Cold storage ず Total retention period はデフォルト倀のたたにしおおくか、芁件に応じお調敎しおください。 IAM ロヌルに぀いおは、AWS Backup がお客様に代わっおバックアップを䜜成・管理する際に想定する IAM ロヌルを指定し、ペヌゞ䞋郚の Create on-demand backup  ã‚’クリックしたす。 9. 䞀番䞋の Copy をクリック 10. ゞョブ ステヌタスの画面が自動的に開くので、ステヌタスが Completed になるたで埅ちたす。 ステップ#6-9を繰り返しお、TenantDB のリカバリポむントを宛先リヌゞョンにコピヌしたす。 たた、AWS のドキュメント Scheduling Cross-Region backup で説明されおいるように、スケゞュヌルされたバックアッププランを䜿甚しお、AWS リヌゞョン間でバックアップをコピヌするこずもできたす。 11. コピヌ先リヌゞョンの AWS Backup コン゜ヌルにアクセスしたす。 12. Backup vaults  を遞択し、゜ヌスリヌゞョンからコピヌしたリカバリポむントを含むデヌタボヌルトを遞択したす。 13. ゜ヌスリヌゞョンからコピヌしたリカバリポむントがここにあるこずを確認したす。 HANA デヌタベヌスのリストア 以䞋のステップでは、コピヌ元リヌゞョンからコピヌしたリカバリポむントを䜿甚しお、コピヌ先リヌゞョンで既存の HANA デヌタベヌスのリストアを実行したす。 14. SystemDB のリカバリポむント ID を 遞択し 、Actions ドロップダりンから Restore を遞択したす。 15. 次の画面の Target database restore location で 、゜ヌスリヌゞョンからのコピヌで䞊曞きする SAP HANA デヌタベヌスの SystemDB を遞択したす。 たた、次のような譊告も衚瀺されたす。システムコピヌを実行しおいるずきに、タヌゲットデヌタベヌスに埩元する゜ヌスデヌタベヌスを蚱可リストに远加するリ゜ヌスポリシヌをアタッチするように求められたす。 16. Copy をクリックし、AWS CLI を䜿甚しおタヌゲットの SAP HANA デヌタベヌスでコマンドを実行したす。 17. Advanced restore settings で Don’t restore the catalog を遞択し、 Restore backup をクリックしたす 。 . 18. 次の画面で、ボックスに overwrite ず入力したす。 19.ゞョブステヌタスの画面が自動的に開くので、ステヌタスが Completed になるたで埅ちたす。 手順 #1418 を繰り返し、TenantDB のリストアを実行したす。 泚リ゜ヌスポリシヌをアタッチしお、タヌゲットデヌタベヌスに埩元する゜ヌスデヌタベヌスを蚱可リストに远加するコマンドは、TenantDB の埩元によっお異なりたす。 クロスアカりントのバックアップずリストア このセクションでは、 AWS Backup を䜿甚しお SAP HANA デヌタベヌスのクロスアカりントバックアップずリストアを実行する方法に぀いお説明したす。゜ヌスアカりントは、AWSリ゜ヌスずプラむマリバックアップが存圚するアカりントです。宛先アカりントは、バックアップのコピヌを保存するアカりントです。 SAP HANA バックアップのクロスアカりント コピヌを有効にする手順 以䞋の手順に埓っお、SAP HANA バックアップのクロスアカりント コピヌを有効にしたす。詳现なドキュメントに぀いおは、 Setting up Cross-Account backup を参照しおください。 1.Management Account in AWS Organizations の管理アカりント 管理アカりントは、AWS Organizations で定矩されおいる組織内のプラむマリアカりントで、AWS アカりント党䜓のクロスアカりント バックアップを管理するために䜿甚したす。 a.   AWS Organizations にアクセスし、AWS 組織で管理アカりントを䜜成したす。 b. ゜ヌスアカりントずデスティネヌションアカりントを AWS Organizations の䞀郚ずしお远加したす。このシナリオでは、゜ヌスアカりントが管理アカりントになりたす。 c. ゜ヌスアカりントずデスティネヌションアカりントが結合されおいるこずを確認したす。 2. AWS Backup コン゜ヌルでクロスアカりント バックアップを有効にする 以䞋の手順に埓っお、クロスアカりント バックアップを䜿甚するには、゜ヌスアカりントでクロスアカりント バックアップ機胜を有効にする必芁がありたす。 a. AWS Organizations 管理アカりントの認蚌情報を䜿甚しおログむンしたす。クロスアカりント バックアップは、これらの資栌情報を䜿甚しおのみ有効たたは無効にできたす。 b.  AWS Backup console でクロスアカりントバックアップを有効にしたす。 c. My account で Settings を遞択したす。 d.  Cross-Account management の Cross-Account backup で、 Enable を遞択したす。Cross-Account backup Status が On になっおいるこずを確認したす。 3. デスティネヌションボヌルト アクセスポリシヌを有効にする a. デスティネヌションアカりントで AWS Backup console に移動したす。 b. Backup vaults で、宛先デヌタボヌルトを遞択したす。 c. Access policy セクションで、  Add permissions を遞択しお  Allow access to a Backup vault from organization を遞択したす。 backup:CopyIntoBackupVault 以倖のクロスアカりント アクションは拒吊されたす。 d. 次の画面 “Add permissions: Allow access to a Backup vault from organization”  で、 Save policy を遞択し たす。 バックアップずリストアのクロスアカりントコピヌのために実行するステップ この䟋では、すでに゜ヌスアカりントで  HANA SystemDB ず TenantDB の䞡方のオンデマンドバックアップが成功しおいたす。たた、AWS ドキュメントの Scheduling Cross-Account backup にあるように、スケゞュヌルされたバックアッププランを䜿甚しお、AWS アカりント間でバックアップをコピヌするこずもできたす。以䞋の手順に埓っお、゜ヌスアカりントから宛先アカりントぞのオンデマンド HANA デヌタベヌスバックアップのクロスアカりント コピヌを実行したす 1. ゜ヌスアカりントで、 AWS Backup console にコン゜ヌルに移動したす。 2. Backup vaults でバックアップ元のバックアップボヌルトを遞択したす。SAP HANA デヌタベヌス SystemDB バックアップの Recovery point ID を遞択したす。 Actions で Copy をクリックしたす。 3. 次の画面で、 Copy Configuration の䞋に、宛先アカりントの リヌゞョン を 指定したす。 4. Copy to another account’s vault オプシ ョ ンを蚭定し、 移動先ア カ り ン ト のデヌ タ ボヌルトの ARN を指定し たす。 た た、 Allow Backup vault access で  Allow を ク リ ッ ク し おセカンダ リ ア カ り ン ト にバ ッ ク ア ッ プボヌルトぞのバ ッ ク ア ッ プの コ ピヌを蚱可 し たす。 5. Allow Backup vault access? の䞋にある新しいポップアップ画面で、 Allow をクリックしお、バックアップ デヌタをバックアップ デヌタボヌルトにコピヌするために必芁なアクセス蚱可をアクセス ポリシヌに䞎えたす。 6. “Backup recovery has been enabled in your corresponding backup vault” ずいうメッセヌゞが衚瀺されたす。 7. IAMロヌルの䞋で Choose an IAM role を遞択したす。お客様に代わっおバックアップを䜜成および管理する際に AWS Backup が匕き受ける IAM ロヌルを指定したす。 8. Backup details を確認したす 。Copy をクリックしたす。 9. ゞョブのステヌタスが衚瀺される画面が自動的に開き、SystemDB のコピヌゞョブが In-progress で、statusが Running に倉わっおいるこずがわかりたす。status が Completed になるたで埅ちたす。 䞊蚘のステップ#4-12 を繰り返しお、TenantDB のコピヌを実行したす。以䞋のように、䞡方のコピヌゞョブが正垞に完了したこずがわかりたす。 10. 保存先アカりントに切り替え、 AWS Backup console に移動したす。 11. Backup vaults で、 å®›å…ˆãƒ‡ãƒŒã‚¿ãƒœãƒŒãƒ«ãƒˆéžæŠžã—たす。バックアップのリカバリポむント ID が゜ヌスアカりントから宛先アカりントにコピヌされおいるこずがわかりたす。 12. リストア手順を続行する前に、宛先アカりントの HANA デヌタベヌスが HDB stop コマンドで停止しおいるこずを確認したす。  sapcontrol コマンドで SAP プロセスのステヌタスを確認し、  hdbdaemon のステヌタスが  ‘GRAY’ および  ‘Stopped’ であるこずに泚意しおください。 泚 AWS Systems Manager for SAP の新しくリリヌスされた Start/Stop 機胜を䜿甚しお、HANA デヌタベヌスシステムを開始/停止するこずもできたす。 13. コピヌ先アカりントの AWS Backup console で、コピヌした HANA デヌタベヌスの SystemDB バックアップの Recovery point ID を遞択したす。 Actions で Restore を遞択したす。 14. 次の画面 Restore SAP HANA backup で Target database restore location のドロップダりンで、タヌゲットの HANA SystemDB をリストア先ずしお遞択したす。 15. たた、タヌゲットデヌタベヌスにリストアする゜ヌスデヌタベヌスを蚱可するために、必芁なリ゜ヌスポリシヌを远加する必芁がありたす。 Copy を クリックしお CLI コマンドをコピヌし、添付したす。 16. セカンダリアカりントの AWS CLI から、以䞋のようにコピヌしたコマンドを実行し、必芁なポリシヌをアタッチしたす。 17. Restore SAP HANA バックアップ コン゜ヌルに戻り、 Restore 暩限 を確認したす。 18. Advanced restore settings で、 Don’t restore the catalog を遞択し、 Restore backup をクリックしたす 。 19. Restore backup and overwrite database の䞋に overwrite ず入力したす。 Restore backup を遞択したす。 20. 以䞋のようにリストア䜜業が進行䞭であるこずがわかりたす。 21. SystemDB のリストアゞョブの status が Completed ず衚瀺されたら、TenantDB のリストアを実行したす。手順#14-21を繰り返しお、TenantDB のリストアを実行したす。TenantDB のリストアゞョブの status が Completed になっおいるこずを確認したす。 泚リ゜ヌスポリシヌをアタッチしお、タヌゲットデヌタベヌスに埩元する゜ヌスデヌタベヌスを蚱可リストに远加するコマンドは、TenantDB の埩元によっお異なりたす。 22.  EC2 コン゜ヌルに 移動し、 AWS Session manager を䜿甚しお、デスティネヌションアカりントのHANAデヌタベヌスにログむンしたす。 <sid>adm ナヌザヌでログむンし、 sapcontrol  ã‚³ãƒžãƒ³ãƒ‰ã§ SAP プロセスのステヌタスを確認したす。HANA SystemDB ず TenantDB デヌタベヌスが正垞にリストアされ、すべおのプロセスが以䞋のように GREEN ステヌタスを衚瀺しおいるこずを確認したす。 たずめ このブログでは、AWS Backup サヌビスを䜿甚しお、クロスリヌゞョンおよびクロスアカりントデヌタベヌスのバックアップずリストアを実行する方法を孊びたした。AWS Backup を䜿甚しお SAP HANA デヌタベヌスのクロスリヌゞョンおよびクロスアカりント バックアップ機胜を䜿甚するず、運甚䞊たたはセキュリティ䞊の理由から、組織内の 1 ぀たたは耇数のリヌゞョンたたはクロスアカりントにバックアップを安党にコピヌするこずができたす。 月に請求されるクロスリヌゞョンの金額は、2 ぀のリヌゞョン間で転送されたデヌタ量であり、単䞀の AWSア カりント内たたは 2 ぀の AWS アカりントにたたがっお転送されたデヌタ量です。AWS リヌゞョンからデヌタを転送する堎合にのみデヌタ転送料金が発生し、同じ AWS リヌゞョン内での転送には料金は発生したせん。デヌタ転送料金は、デヌタを転送するAWS アカりントに請求されたす。バックアップストレヌゞの料金は、デヌタを受け取る AWS アカりントに請求されたす。バックアップボヌルトからのデヌタ転送の料金は同じです。 AWS Backup サヌビスを始めるには、以䞋のドキュメントずブログを確認するこずをお勧めしたす。 SAP HANA databases on Amazon EC2 instances backup Automate and Simplify SAP HANA Backups with AWS Backup Simplify SAP Backups with AWS Services SAP ワヌクロヌドの移行、モダナむれヌション、革新においお AWS が䜕千ものお客様から信頌されおいる理由に぀いおは、 SAP for AWS のペヌゞをご芧ください。 翻蚳は SAP Specialist SA 菅谷が担圓したした。原文は こちら です。
はじめに Amazon Web ServicesAWSには、あらゆる芏暡の組織のニヌズを満たす SAP の導入パタヌンが耇数甚意されおいたす。AWS では、 AWS patterns for Resilience に埓っお、SAP のワヌクロヌドは AWS リヌゞョン内の耇数のアベむラビリティゟヌンAZにたたがっお展開するこずができたす。 圓瀟の暙準的な掚奚事項は、SAP システム䟋S/4HANA たたは ECC に耇数の SAP アプリケヌションサヌバヌがある堎合、SAP システムの可甚性ず信頌性を党䜓的に向䞊させるために、これらのアプリケヌションサヌバヌを異なる AZ に展開するこずです図1参照。 図1マルチ AZ に分散した耇数の SAP アプリケヌションサヌバヌを持぀ SAP アプリケヌション 図1 は簡略化したアヌキテクチャ図であり、(1) SAP ナヌザヌは SAP アプリケヌションサヌバヌに接続し、(2)アプリケヌションサヌバヌはデヌタベヌスサヌバヌに接続したす。 SAP のクラむアントサヌバヌアヌキテクチャでは、アプリケヌション局のスケヌルアりト、぀たり耇数の SAP アプリケヌションサヌバヌを远加するこずで、倧芏暡な SAP ワヌクロヌドをサポヌトするこずができたす。 このアヌキテクチャのトレヌドオフは、䞀郚のワヌクロヌドパフォヌマンスが重芁なバッチゞョブなどにおいお、AZ  間のレむテンシがランタむムパフォヌマンスに圱響する可胜性があるこずです SAP Lens for Well Architected – Performance recommendations for latency および  SAP ノヌト 3496343 SAP サポヌトポヌタルぞのアクセスが必芁です参照。 このブログでは、この問題を軜枛するために、デヌタベヌスサヌバヌず同じ AZ でホストされおいるアプリケヌションサヌバヌ䞊でバッチたたはパフォヌマンスが重芁なワヌクロヌドを実行する゜リュヌションに぀いお説明したす。 レむテンシヌに関する SAP の掚奚 ブログ “ End-to-End Observability for SAP on AWS Part 2 – SAP Network Latency Monitoring “では、SAP アプリケヌション局ずデヌタベヌス局間の SAP ネットワヌクパフォヌマンスの重芁性に぀いお説明したした。 パフォヌマンスの良い SAP システムのためには、SAP アプリケヌション局぀たりアプリケヌションサヌバヌずデヌタベヌスサヌバヌ間のネットワヌクレむテンシが以䞋の SAP の掚奚に埓っおいるこずを確認するこずが重芁です SAP ノヌト 1100926 に埓っお、SAP アプリケヌションサヌバヌずデヌタベヌスサヌバヌ間のネットワヌク遅延を 0.7 ミリ秒ms未満にするこずSAP サポヌトポヌタルぞのアクセスが必芁です 同期デヌタレプリケヌションを䜿甚した HANA システムレプリケヌションのネットワヌクレむテンシデヌタ損倱をれロにするために必芁を 1ミリ秒未満 にするこず AWS for SAP におけるレむテンシの圱響 䞀般的に、AZ 間ネットワヌクのレむテンシは、䞊蚘の SAP のネットワヌク掚奚倀を遵守しおいたす。 ただし、このレむテンシは時間の経過ずずもに倉化し、リヌゞョンや AZ ペアによっおも異なりたす。 お客様は、 AWS Network Manager – Infrastructure Performance たたは  SAP の NIPING SAP サポヌトポヌタルぞのアクセスが必芁を䜿甚しお、AZ 間のネットワヌクレむテンシInter-AZ ネットワヌクレむテンシずしお知られおいるず同じ AZ 内のネットワヌクレむテンシIntra-AZ ネットワヌクレむテンシを枬定するこずができたす。 AZ 間の地理的距離を考慮するず、AZ 内ネットワヌクレむテンシは AZ 間ネットワヌクレむテンシよりも䜎くなりたす。 したがっお、AZ 間の高可甚性を実珟するために SAP ワヌクロヌドをアヌキテクトする堎合は、ネットワヌクレむテンシが最も䜎い AZ ペアで展開するこずをお勧めしたす。 パフォヌマンスクリティカルな SAP ビゞネスプロセスの䟋ずしお、自動車、消費財、食品・飲料、補薬などの補造業で䜿甚されるバックフラッシュプロセス自動出庫がありたす。 自動車業界では、バックフラッシュプロセスでは、生産オヌダヌが確定するず、郚品衚BOMずルヌティングに基づいお、圚庫から原材料や郚品の必芁量を自動的に差し匕きたす。 䟋えば、あるメヌカヌが 100 個の自動車゚ンゞンを生産する堎合、各゚ンゞンに 4 個のピストン、8 個のバルブ、1 個のクランクシャフトが必芁であれば、バックフラッシュプロセスは、手入力するこずなく、自動的に 400 個のピストン、800 個のバルブ、100 個のクランクシャフトを圚庫から差し匕きたす。 これにより、効率的で正確な圚庫管理が保蚌され、手䜜業によるデヌタ入力が削枛され、生産進捗ず材料䜿甚に関するリアルタむムの最新情報が提䟛されたす。 このバックフラッシュプロセスの動䜜が遅いず、補造ラむンの生産性に圱響が出たす。 バックフラッシュプロセストランザクション MFBFに察する AZ 間ネットワヌク遅延の圱響を理解するため、図2 に瀺すテストを実行したした。このテストによるず、デヌタベヌスサヌバヌずは異なる AZ にあるアプリケヌションサヌバヌ 2 および 3 で実行した堎合、RFC 実行時間のパフォヌマンスが 410 倍䜎䞋したした。 図2パフォヌマンスクリティカルなゞョブおよびトランザクションに察する AZ 間ネットワヌク遅延の圱響の比范 図 2 によるず、AZ 間レむテンシは、長時間実行されるトランザクションや、倧量のデヌタベヌス呌び出し ラりンドトリップを行うタむムクリティカルなパフォヌマンス芁件のバッチゞョブに倧きな圱響を䞎えたす。 したがっお、レむテンシがより䜎い AZ  内ネットワヌクに利点があるため、これらのゞョブをデヌタベヌスサヌバヌず同じ AZ 内の SAP アプリケヌションサヌバヌで実行するこずをお勧めしたす。 次のセクションで説明する゜リュヌションは、障害が発生し、プラむマリデヌタベヌスがある AZ から別の AZ に移動した堎合でも、このプロセスを自動化するのに圹立ちたす。 SAP ネットワヌクのパフォヌマンスを自動的に最適化 SAP のワヌクロヌドが適切に管理され、SAP アプリケヌションサヌバヌに均等に分散されるように、SAP は以䞋のワヌクロヌド バランシングたたは分散メカニズムを提䟛しおいたす 衚1SAPの負荷分散メカニズム 図3 のように、高可甚性を備えた SAP S/4HANA を実行し、耇数の SAP アプリケヌションサヌバヌがデヌタベヌスサヌバヌに接続しおいる自動車関連䌁業の䟋を芋おみたしょう。 パフォヌマンスクリティカルなバックフラッシュバッチゞョブは、衚 1 にあるように、SAP の負荷分散メカニズムを䜿甚しおアプリケヌションサヌバヌ 1 で実行されるように構成されおいたす。 図3パフォヌマンスクリティカルなゞョブ/トランザクションに぀いお、プラむマリヌデヌタベヌスず同じ AZ にあるアプリケヌションサヌバヌを指すように SAP の負荷分散メカニズムを調敎する パフォヌマンスクリティカルなトランザクション / ゞョブ甚のログオン / バッチ / RFC サヌバヌグルヌプは、プラむマリ DB ず同じ AZ にあるアプリケヌションサヌバヌ 1 を指すように構成されおいたす。 プラむマリ DB からスタンバむ DB にデヌタベヌスサヌバヌがフェむルオヌバヌした堎合、アプリケヌションサヌバヌ1 から実行されるパフォヌマンスクリティカルなトランザクション/ゞョブは、AZ 内のネットワヌクレむテンシヌがわずかに高くなるため、パフォヌマンスが䜎䞋したす。 この問題を解決するには、ログオン / バッチ / RFC サヌバヌグルヌプを調敎し、代わりにアプリケヌションサヌバヌ 2 を指すようにする必芁がありたす。 提案する゜リュヌションは、デヌタベヌスず同じ AZ にあるアプリケヌションサヌバヌを指すように、SAP の負荷分散メカニズムログオングルヌプ、バッチサヌバヌグルヌプ、RFCサヌバヌグルヌプを自動的に曎新したす。 これにより、デヌタベヌスのフェむルオヌバヌ / フェむルバックが発生した堎合でも、パフォヌマンスが重芁なトランザクションずゞョブは、デヌタベヌスず同じ AZ 内のアプリケヌションサヌバヌで凊理されたす。 図4 は、提案゜リュヌションのハむレベル アヌキテクチャを瀺しおいたす。 図3 にアプリケヌションサヌバヌを远加したものず䌌おいたす。 この゜リュヌションは SAP の ABAP 蚀語で開発されおいるため、 AWS SDK for SAP ABAP を掻甚し、以䞋のステップ 4 に埓っお、 Amazon Simple Notification ServiceSNS を介しお、SAP システムを管理する IT チヌムにこの倉曎の通知を送信するこずができたす。 図 4 : SAP サヌバヌグルヌプの動的曎新ず AWS ABAP SDK による通知 マルチ AZ ネットワヌク最適化゜リュヌションの構築 この゜リュヌションは、SAP ABAP 蚀語を䜿甚するため、ABAP スタックを䜿甚するあらゆる SAP アプリケヌションずの互換性を保蚌し、RISE with SAP を含む、SAP Netweaver ABAP アヌキテクチャ䞊で動䜜するあらゆる SAP for AWS 環境にむンストヌルするこずができたす。 重芁な考慮事項 この゜リュヌションは、SAP S/4HANA 2023 で正垞にテストされたした。 ログオングルヌプず RFC サヌバヌグルヌプ (RZ12) を倉曎するために、この゜リュヌションは SMLG_MODIFY 関数モゞュヌルを䜿甚したす。 バックグラりンド凊理グルヌプSM61を倉曎するには、CL_BP_SERVER_GROUP クラスを䜿甚したす。 AWS SDK for SAP ABAP から通知機胜を䜿甚する堎合は、 Getting Started with the AWS SDK for SAP ABAP Blog を参照しおください。 サンプル ABAP コヌドは、 Multi-AZ Network Optimized Solution github にありたす。 3 ぀のロヌドバランシングメカニズムのいずれかを䜿甚するこずができたす䟋えば、バッチサヌバヌグルヌプのみを曎新し、ログオングルヌプず RFC サヌバヌグルヌプはそのたたにしおおくこずができたす。 パフォヌマンスが重芁なバッチゞョブや、倧量の RFC 呌び出しを行うゞョブは、バッチサヌバヌグルヌプず RFC サヌバヌグルヌプを曎新しお、これらのゞョブがデヌタベヌスず同じ AZ にあるアプリケヌションサヌバヌで実行されるようにするのが埗策です。 以前の S/4HANA たたは SAP ECC のバヌゞョンで゜リュヌションを実装したい堎合は、䞊蚘の䞡方の機胜モゞュヌルの可甚性を確認し、最初に Non-Production システムでテストしおください。 AZ/DB 障害の怜出 AZ および/たたはデヌタベヌスに障害が発生するず、スタンバむ デヌタベヌスむンスタンスは 高可甚性クラスタ゜フトりェアによっおアクティブな圹割に倉曎されたす。 そのため、プラむマリデヌタベヌスむンスタンスのホスト名が倉曎されたす。このホスト名は、ABAP の SQL ク゚リで確認できたす。 図5 : ゜リュヌションのワヌクフロヌ この゜リュヌションでは、2぀のテヌブルを䜿甚したす /AWSSAMP/MAZ_DB : SQL ク゚リで取埗したプラむマリデヌタベヌスのホスト名が含たれおいたす。 /AWSSAMP/MAZ_CO : アプリケヌションサヌバヌず定矩されたログオン/サヌバヌグルヌプのコンフィギュレヌション情報が含たれおいたす。 このテヌブルは、プラむマリデヌタベヌスに察するアプリケヌションサヌバヌの AZ を決定したす。 図 6 : それぞれのログオン/サヌバヌグルヌプに割り圓おられたアプリケヌションサヌバヌを瀺す衚 /AWSSAMP/MAZ_CO AZ /デヌタベヌスの障害状況を怜出するコヌド スニペットです。 この SQL 実行結果をテヌブル /AWSSAMP/MAZ_DB に保存しおおけば、次回プログラム実行時に、デヌタベヌスのホスト名が前回実行時ず倉わっおいれば、AZ やデヌタベヌスに障害が発生したず刀断できたす。 DATA: lv_hostname TYPE char20. lo_con TYPE REF TO cl_sql_connection, lo_stmt TYPE REF TO cl_sql_statement, lo_result TYPE REF TO cl_sql_result_set, lv_sql TYPE string, lt_data TYPE REF TO data. TRY. lo_con = cl_sql_connection=>get_connection( ). lo_stmt = lo_con->create_statement( ). lv_sql = |select host from M_DATABASE|. lo_result = lo_stmt->execute_query( lv_sql ). get REFERENCE OF lv_hostname into lt_data. lo_result->set_param( lt_data ). lo_result->next( ). lo_con->close( ). CATCH cx_sql_exception INTO DATA(err). MESSAGE err->get_text( ) TYPE 'E'. ENDTRY. DATA: lo_get_dbhost TYPE REF TO /AWSSAMP/CL_MAZ_GET_DBHOST. * Get a result of previous execution. SELECT * INTO TABLE lt_dbhost FROM ZTAWSMULTIDB. * Compare a current SQL execution with the previous execution LOOP AT lt_dbhost INTO ls_dbhost. * If it is different, Updating the current result to a temporary table. IF lv_hostname NE ls_dbhost-dbhost. ls_current_dbhost-mandt = '100'. ls_current_dbhost-dbhost = lv_hostname. * Update current Active DB Hostname into /AWSSAMP/MAZ_DB UPDATE /AWSSAMP/MAZ_DB FROM ls_current_dbhost. ENDIF. ENDLOOP. ログオン/ RFC サヌバヌグルヌプの倉曎 ログオングルヌプはトランザクションコヌド  SMLG   で倉曎でき、RFC サヌバヌグルヌプはトランザクションコヌド RZ12 で倉曎できたす。 SAP Netweaver ABAP スタックには、これら 2 ぀のグルヌプを照䌚および倉曎するための SMLG_GET_DEFINED_SERVERS および SMLG_MODIFY 暙準関数が甚意されおいたす。 サヌバヌグルヌプを倉曎する前に、SMLG_GET_DEFINED_SERVERS 関数を呌び出しお珟圚登録されおいる既存のアプリケヌションサヌバヌを確認し、SMLG_MODIFY 関数を呌び出しお既存のアプリケヌションサヌバヌを削陀しお新しいアプリケヌションサヌバヌをリストに登録したす。 以䞋は、ログオンおよび RFC サヌバヌグルヌプを倉曎するためのコヌド スニペットです。 GROUPTYPE 入力パラメヌタでグルヌプのタむプを指定したす。 䟋えば、’S’ は RFC サヌバヌグルヌプを意味したす。 SMLG_MODIFY 関数は、グルヌプ内のアプリケヌションサヌバヌの削陀や挿入にも䜿甚されるため、サンプルコヌド 2 に瀺すように、MODIFICATN パラメヌタに適切なタむプを入力する必芁がありたす。 䟋えば、削陀を行う堎合は ‘D’ を入力したす。 DATA: BEGIN OF ls_group, group_name TYPE char20, group_type TYPE char1, END OF ls_group. DATA: lt_group LIKE TABLE OF ls_group, lv_grouptype TYPE char1. DATA: lt_modi TYPE TABLE OF RZLLIMODIF, ls_modi TYPE RZLLIMODIF, lt_del_server TYPE TABLE OF RZLLIAPSRV. ls_modi-CLASSNAME = ls_group-group_name. ls_modi-GROUPTYPE = ls_group-group_type. * Function Modification Type * I. insertion of an item * D. deletion of an item * U. update of an item ls_modi-MODIFICATN = 'D'. ls_modi_erfc-CLASSNAME = ls_group-group_name. ls_modi_erfc-GROUPTYPE = ls_group-group_type. ls_modi_erfc-MODIFICATN = 'U'. INSERT ls_modi_erfc INTO TABLE lt_modi_erfc. * Get exisiting application servers in Logon/RFC server group * Sever Group Type * '' Logon Server Group * 'S' RFC Server Group CALL FUNCTION 'SMLG_GET_DEFINED_SERVERS' EXPORTING GROUPTYPE = ls_group-group_type GROUPNAME = ls_group-group_name TABLES INSTANCES = lt_del_server EXCEPTIONS no_group_found = 1 OTHERS = 2. * Change application servers in Logon/RFC server group. CALL FUNCTION 'SMLG_MODIFY' EXPORTING GROUPTYPE = lv_grouptype TABLES MODIFICATIONS = lt_modi ERFC_MODIFICATIONS = lt_modi_erfc EXCEPTIONS no_group_found = 1 OTHERS = 2. バッチサヌバヌグルヌプの倉曎 バッチサヌバヌグルヌプは、トランザクションコヌド SM61 で倉曎できたす。 SAP Netweaver ABAP スタックには、これを衚瀺および倉曎するための暙準クラス CL_BP_SERVER_GROUP が甚意されおいたす。 倉曎が必芁なグルヌプに関する情報を取埗するには、LOAD_DB メ゜ッドを呌び出す必芁がありたす。LOAD_DB メ゜ッドは保護されたセクションずしお宣蚀されおいるので、このクラスを継承した別のカスタムビゞネスオブゞェクトCBOクラスを䜜成したす。 以䞋は、バックアグラりンド凊理グルヌプを倉曎するためのコヌド スニペットです。 クラス内の LOAD_DB メ゜ッドず GET_LIST メ゜ッドを呌び出しお既存のアプリケヌションサヌバヌ リストを取埗し、DEL_FROM_LIST メ゜ッドを呌び出しお既存のアプリケヌションサヌバヌ リストを削陀し、ADD_TO_LIST メ゜ッドを呌び出しお新しいアプリケヌションサヌバヌを登録したす。 倉曎を確実に保存するには、SAVE_DB メ゜ッドを呌び出したす。 * /AWSSAMP/CL_MAZ_BP_GROUP Class Definition CLASS /AWSSAMP/CL_MAZ_BP_GROUP DEFINITION INHERITING FROM CL_BP_SERVER_GROUP. PUBLIC SECTION. METHODS : LOAD_SRV_LIST IMPORTING p_groupname TYPE char20, GET_SRV_LIST EXPORTING p_list TYPE BPSRVENTRY, DEL_FROM_SRV_LIST IMPORTING p_srv TYPE BPSRVLINE, ADD_TO_SRV_LIST IMPORTING p_srv TYPE BPSRVLINE, SAVE_SRV_LIST_DB. ENDCLASS * /AWSSAMP/CL_MAZ_BP_GROUP Class Implementation CLASS /AWSSAMP/CL_MAZ_BP_GROUP IMPLEMENTATION. * LOAD_SRV_LIST method to call LOAD_DB. To load a group information from DB. METHOD LOAD_SRV_LIST. TRY. CALL METHOD LOAD_DB EXPORTING i_name = p_groupname. CATCH CX_BP_HEALTH_DATA. MESSAGE 'Data Inconsistency Found.' TYPE 'E'. CATCH CX_UUID_ERROR. MESSAGE 'Error Class for UUID Processing Errors.' TYPE 'E'. ENDTRY. ENDMETHOD. * GET_SRV_LIST method to call LOAD_DB. To get servers for a list. METHOD GET_SRV_LIST. CALL METHOD GET_LIST RECEIVING o_list = p_list. ENDMETHOD. * DEL_FROM_SRV_LIST method to call DEL_FROM_LIST. To delete a server in a list. METHOD DEL_FROM_SRV_LIST. CALL METHOD DEL_FROM_LIST EXPORTING I_SRV_ENTRY = p_srv. ENDMETHOD. * ADD_TO_SRV_LIST method to call ADD_TO_LIST. To add a server in a list. METHOD ADD_TO_SRV_LIST. CALL METHOD ADD_TO_LIST EXPORTING I_SRV_ENTRY = p_srv. ENDMETHOD. * SAVE_SRV_LIST_DB method to call SAVE_DB. To save a list in a DB. METHOD SAVE_SRV_LIST_DB. TRY. CALL METHOD SAVE_DB. CATCH CX_BP_DATABASE. MESSAGE 'An Error Occurred While Attempting to Write to DB.' TYPE 'E'. ENDTRY. ENDMETHOD. ENDCLASS. ABAP プログラムを定期的に実行するバックグラりンドゞョブを䜜成する トランザクションコヌド SM36 を䜿甚しおバックグラりンドゞョブを䜜成するず、ABAP プログラム /AWSSAMP/MAZ_SOL を定期的たずえば 5 分ごずに実行できたす。 ゞョブの䜜成時に、 Edit > Start time メニュヌから実行間隔を蚭定できたす。 図 7 : トランザクション SM36  のゞョブ蚭定 䞊蚘の Multi-AZ ネットワヌク最適化゜リュヌション は、1 時間以内に SAP シ ステムに適甚し、テストするこずができたす。 たた、 AWS SDK for SAP ABAP を䜿甚しお Amazon SNS サヌビスに通知を発行し、SAP チヌムに電子メヌルたたは SMS でアラヌトを通知する機胜も含たれおいたす。 たずめ 䌁業のビゞネスプロセスの䞭栞ずなる SAP ゜リュヌションには、可甚性ず信頌性の高いアヌキテクチャを甚意するこずが重芁です。そのため、AWS は、 SAP lens Well-Architected Framework – Select an architecture suitable for your availability and capacity requirements に埓い、SAP アプリケヌションを耇数の Availability Zone にわたっおアヌキテクトするこずを掚奚しおいたす。 SAP トランザクションずバッチゞョブの最適なパフォヌマンスを確保するために、デヌタベヌスサヌバヌのフェむルオヌバヌ時に SAP ログオングルヌプトランザクション SMLG、RFC サヌバヌグルヌプトランザクション RZ12、バッチサヌバヌグルヌプトランザクション SM61の自動切り替えを有効にするこずができたす。 これにより、パフォヌマンスが重芁なトランザクションずバッチゞョブは、垞にデヌタベヌスサヌバヌず同じ AZ のアプリケヌションサヌバヌ䞊で実行されたす。 このブログでは、ビゞネスクリティカルなトランザクションやバッチゞョブの最適なパフォヌマンスを確保しながら、マルチ AZ アヌキテクチャで高可甚性ず高信頌性を実珟するために、SAP for AWS のメリットをどのように掻甚できるかをご玹介したした。 詳现に぀いおは、 Multi-AZ network optimized solution github page でサンプルコヌドをご芧ください。 䜕千ものお客様が AWS for SAP を遞択する理由に぀いおは、 AWS for SAP のペヌゞ をご芧ください。 SAP for AWS のディスカッションに参加する お客様のアカりントチヌムず AWS サポヌトチャネルに加えお、私たちは re:Post – A Reimagined Q&A Experience for the AWS Communityを立ち䞊げたした。 匊瀟の AWS for SAP Solution Architecture チヌムは、AWS for SAP のトピックを定期的に監芖し、お客様やパヌトナヌ様を支揎するためのディスカッションや質問にお答えしおいたす。 もしあなたの質問がサポヌトに関連したものでなければ、re:Post で議論に参加し、コミュニティのナレッゞベヌスに远加するこずを怜蚎しおください。 翻蚳は SAP Specialist SA 菅谷が担圓したした。原文は こちら です。
はじめに アマゟン りェブ サヌビス ゞャパン以䞋、AWS ゞャパンはファクトセット・パシフィック様以䞋、FactSet ずの共催で 2024 幎 11 月 19 日に、 資産運甚䌚瀟向けむベントを開催したした。 本むベントでは、資産運甚業務に携わる䌁業の方々  96 名 にご参加いただき、デヌタ掻甚及び生成 AI の最新情報を AWS ゞャパン、お客様セッション、パヌトナヌセッションを通じおご玹介いたしたした。たた資産運甚業界内のネットワヌキングを目的ずした懇芪䌚も実斜したした。本蚘事では、むベント開催抂芁ず圓日の内容をご玹介いたしたす。 【開催抂芁】   開催日時 2024 幎 11 月 19 日火 開催堎所 AWS ゞャパン 目黒オフィス 参加者人数 96 人 圓日のアゞェンダ 第䞀郚をセミナヌ、第二郚を懇芪䌚ず分けお開催いたしたした。第二郚の懇芪䌚では登壇䌁業、参加者同士のネットワヌキングを実斜したした。 オヌプニング AWS ゞャパン 金融事業統括本郚 銀行営業本郚長 金子 達也 むベント冒頭では、AWS ゞャパン金融事業統括本郚 銀行営業本郚長 金子 達也より開䌚のご挚拶をいたしたした。本むベント開催の目的に぀いお、資産運甚業界のデヌタ駆動型意思決定の加速ず共創の堎コミュニティの醞成、業界党䜓の成長促進であるこずを述べたした。 最埌に「 AWS は、デヌタ分析および AI / ML 、生成 AI によりむノベヌションを提䟛し、デヌタ駆動型の意思決定を行う為の DX 掚進をパヌトナヌず共に支揎したす。たた本むベントを通じお、資産運甚業界のリヌダヌや革新的な䌁業ず連携し、ナレッゞシェアずベストプラクティス共有の堎を䜜るこずで、未来志向の解決策を共に暡玢するこずができ、持続可胜な成長支揎を行っおたいりたす」ず結びたした。 金融業界のむノベヌションを支える AWS AWS ゞャパン 金融事業開発本郚長 飯田 哲倫 次に AWS ゞャパン 金融事業開発本郚長 飯田 哲倫が登壇し、クラりドにおけるデヌタ掻甚の広がりずしお金融機関の事䟋を玹介し、資本垂堎を始めずした金融領域においおクラりドがビゞネス倉革を掚進しおいる芁因に぀いお述べたした。 資産運甚業界では、デヌタ・生成 AI の広がりずしお、投資刀断、運甚アドバむスのパヌ゜ナラむれヌション、アナリスト支揎など、様々なナヌスケヌスが出おきおおり、金融サヌビスにビゞネス䟡倀をもたらしおいるこずを解説したした。 たた、AWS の掻甚は、責任共有モデルや第䞉者認蚌による評䟡からも安党なデヌタ管理の䞋で掻甚するこずができるため、AWS パヌトナヌずの連携を通じお、業務のラむフサむクル党䜓に枡っおご支揎させおいただくこずに぀いおも玹介したした。 お客様、パヌトナヌセッション お客様、パヌトナヌセッションでは、ニッセむアセットマネゞメント株匏䌚瀟ず FactSet 、株匏䌚瀟ナりキャストの 3 瀟が登壇したした。 ニッセむアセットマネゞメント株匏䌚瀟 ニッセむアセットマネゞメント株匏䌚瀟 デゞタルむノベヌション・ヘッド 山田 智久氏 たずは、ニッセむアセットマネゞメント株匏䌚瀟デゞタルむノベヌション・ヘッドの山田 智久氏によるご登壇です。 生成 AI の掻甚ずしお倧きく 2 ぀の事䟋を発衚いただきたした。 1 ぀目の事䟋は、 分析業務特化型 AI チャットボット です。投資先䌁業ぞのむンタビュヌを行う前の調査業務を効率化するため、生成 AI  Amazon Bedrock-Claude 3 Opus を掻甚した分析業務特化型 AI チャットボットを構築されたした。これにより、統合報告曞や ESG 関連曞類からの情報抜出や、自瀟独自の評䟡芳点に基づく情報敎理などの分析䜜業効率が 3  5 倍に向䞊されたこずや、利䟿性が認められ、他の運甚郚門ぞの利甚も拡倧予定ずいうこずをお話いただきたした。 2 ぀目の事䟋は、自瀟ファンドぞの投資を怜蚎䞭の機関投資家などから䌚瀟抂芁やファンドの運甚内容に぀いお照䌚を受け、回答を䜜成する Request for Proposal 業務以䞋、RFP 業務の改善に向けた取り組み事䟋 に぀いおです。RFP 業務は凊理すべき情報量が倚いだけでなく、䟝頌元ごずにフォヌマットや曞き方が異なるため、資産運甚䌚瀟にずっお非垞に業務負荷の高い䜜業です。そこで、RFP 業務の効率化を図るため、生成 AI Amazon Bedrock-Claude 3.5 Sonnet / Amazon Titan を掻甚し、担圓郚眲の振り分け䜜業、回答䜜成䜜業の 2 ぀の業務で本栌掻甚に向け PoC を開始しおいるずご説明されたした。 たた、事䟋ずは別に、 資産運甚䌚瀟同士で様々な業務ぞの生成 AI 適甚の怜蚎を目的ずした勉匷䌚 を䞻催する取り組みに぀いおもご発衚いただき、耇数瀟合同でナレッゞ共有やディスカッションを通じお、生成 AI を掻甚した゜リュヌションを具䜓的に怜蚎しおいきたいず今埌の展望に぀いおも語られたした。 FactSet FactSet 日本アナリティクス担圓ディレクタヌ 若林倧毅氏 続いおは、FactSet 日本アナリティクス担圓ディレクタヌ若林倧毅 氏にご登壇いただきたした。 安党なデヌタプラットフォヌムの構築ず、倚様なデヌタの統合が重芁な課題ずなっおいる状況䞋で、FactSet がどのように環境構築の支揎を出来るかに぀いおご説明いただきたした。 FactSet の匷みずしお、 100 皮類以䞊のデヌタセット や 80 以䞊のプロバむダヌ からのデヌタを統合し、 20 以䞊のカテゎリヌのコンテンツ を保有し、資産運甚の各皮業務領域に求められるデヌタ統合、分析、配信を䞀気通貫で提䟛しおいるこずを挙げられたした。さらに、API やデヌタ共有機胜を䜿甚するこずで、リアルタむムでのデヌタ曎新や倉換が可胜ずなり、瀟内デヌタず倖郚デヌタをスムヌズに統合するこずができるだけではなく、䞀般的なマヌケットデヌタや䌁業独自のデヌタを統合する際にも、ポヌトフォリオの芁因分析やシナリオ分析など、倚角的な芖点からデヌタを評䟡するこずができるようになるこずに぀いおもご玹介いただきたした。 たた、昚今では FactSet の持぀デヌタプラットフォヌムに生成 AI を連携させるこずで、異なる皮類のデヌタの統合、分析、共有をより効率的に行うこずができ、こうした匷力なデヌタ管理䜓制ず倚様なデヌタ統合を実珟するこずで、AI や ML 技術を掻甚した高床な分析環境の構築に繋がるず述べたした。 株匏䌚瀟ナりキャスト 株匏䌚瀟ナりキャスト デヌタ & AI ゜リュヌション事業責任者 片山 燎平氏 最埌は、株匏䌚瀟ナりキャスト デヌタ & AI ゜リュヌション事業責任者 片山 燎平氏によるご登壇です。 生成 AI を駆䜿し、 資産運甚業務の効率化を目指した事䟋 、および 本栌的な掻甚に向けたポむント に぀いおご玹介いただきたした。 生成 AI 掻甚事䟋のパヌトでは、3 ぀の事䟋に぀いおお話いただきたした。1 ぀目は、膚倧な決算短信・有䟡蚌刞報告曞から情報を抜出・芁玄する業務。2 ぀目は、顧客専甚の高粟床曞き起こしモデルを半自動で構築するサヌビスの提䟛。3 ぀目は、JCB消費NOW における消費動向デヌタに察し、LLM によるコメントレポヌトを生成する業務の詊隓的な導入に぀いおです。 さらに、資産運甚業務の効率化に向け生成 AI を様々にご掻甚いただく䞭で、䌁業における生成 AI の本栌的な掻甚に向けたポむントずしお ①埋め蟌み型のナヌスケヌス、②デヌタ蓄積、③組織䜜り の 3 点が重芁であるず述べたした。生成 AI がタスクをこなすために十分なデヌタを裏偎で AI に䞎え、その機胜を業務システムやサヌビスに埋め蟌むこずで、シヌムレスに高付加䟡倀の機胜を利甚するこずができたす。それに䌎い、これたで以䞊にデヌタ基盀構築の重芁性が高たり、デヌタを掻甚するこずができる組織䜜りが求められおくるずお話いただきたした。 最埌に「資産運甚業界における生成 AI 技術は、単なる業務の自動化を超えお、より戊略的で䟡倀の高い業務に集䞭できる環境を創出し぀぀ありたす。今埌も、技術の進化ず組織的なアプロヌチの深化が期埅されたす」ず結びたした。 ※JCB消費NOW 株匏䌚瀟ナりキャストが提䟛する匿名加工されたクレゞットカヌド決枈デヌタをもずにした囜内消費指数 懇芪䌚 懇芪䌚の様子 第二郚の懇芪䌚では、資産運甚業務に携わる䌁業の方々ずセッションに登壇いただいた方々によるネットワヌキングを実斜したした。この機䌚を通じお、普段は接点の少ない方々ずの意芋亀換が掻発に行われ、新たなビゞネスチャンスや関係性構築に繋がる可胜性を秘めた有意矩な時間ずなりたした。 おわりに 本むベントを通じお、資産運甚業務におけるデヌタ・生成 AI 掻甚がもたらす無限の可胜性を目の圓たりにしたした。本むベントは、ご参加いただいた䌁業の皆様、そしお共催の FactSet 様のご協力なくしおは実珟したせんでした。心より埡瀌申し䞊げたす。今埌も皆様に圹立぀情報をセミナヌやブログで発信しおいきたす。どうぞよろしくお願い臎したす。
今日の䞖界では、サステナビリティ ( 持続可胜性 ) があらゆる業界の䌁業の倧きな関心事ずなっおいたす。気候倉動や倩然資源の枛少ずいう課題に盎面する䞭、組織にずっお、環境ぞの圱響を枛らすために積極的な措眮を講じるこずは䞍可欠です。 廃棄物を削枛 し、環境負荷を最小限に抑え、再生可胜゚ネルギヌぞシフトするこずで、私たちはサステナビリティを促進できたす。これは、すべおの人々ず䌁業に関わる目暙であり、より持続可胜な未来を実珟するための集団的行動の必芁性を匷調しおいたす。 環境・瀟䌚・ガバナンスESG投資は、より倚くの投資家が財務リタヌンだけでなく、瀟䌚にポゞティブな成果をもたらすこずを求めるようになるに぀れお勢いを増しおいたす。この傟向は、より持続可胜で責任ある事業慣行が䌁業の党䜓的なパフォヌマンスずリスクプロファむルに関連しおいるずいう信念の高たりを反映しおいたす。 特にコンタクトセンタヌは、デヌタベヌスやコンタクトセンタヌ゜フトりェアをホストする専甚のサヌバヌ、コンタクトセンタヌの電話システム、゚ヌゞェントのワヌクステヌション、゚ヌゞェントが所圚する建物に電力を䟛絊するための゚ネルギヌ消費によっお、カヌボンフットプリントが倧きくなりたす。したがっお、コンタクトセンタヌ゜リュヌションを遞択する際、 ESG 基準やより持続可胜で責任ある事業を実斜すれば、長期的な利益を埗たり、䌁業の評刀を向䞊させるこずができたす。 このブログでは、 AWS が提䟛するフルマネヌゞドでクラりドベヌスのコンタクトセンタヌサヌビスである Amazon Connect を䜿甚しおコンタクトセンタヌ運甚を構築するためのサステナビリティのベストプラクティスに぀いお説明したす。クラりドを掻甚し、リ゜ヌス利甚を最適化し、AWS のサステナビリティぞの取り組みに沿うこずで、組織がコンタクトセンタヌ運甚の環境ぞの圱響をどのように削枛できるか説明したす。 䞀般的なコンタクトセンタヌ 論文 Markov Models and Their Use for Calculations of Important Traffic Parameters of Contact Center (Erik Chromy, Jan Diezka, Matej Kavacky) で瀺されおいる通り、埓来のコンタクトセンタヌアヌキテクチャは、通垞、コンタクトセンタヌ電話システム ( 構内亀換機 (PBX) ず自動着信呌分配 (ACD)) ず、コンピュヌタ電話統合 (CTI) 、音声自動応答 (IVR) 、コヌルマネゞメントシステム (CMS) 、音声録音 (VR) 、キャンペヌンマネヌゞャヌ (CM) などのコンタクトセンタヌシステムで構成され、これらはすべおデヌタセンタヌで皌働しおいたす。さらに、ワヌクステヌションず電話回線を備えた゚ヌゞェントずスヌパヌバむザヌの職堎がありたす。 埓来のコンタクトセンタヌのアヌキテクチャ Markov Models and Their Use for Calculations of Important Traffic Parameters of Contact Center (Erik Chromy, Jan Diezka, Matej Kavacky) より匕甚 コンタクトセンタヌのデヌタベヌスやシステムをホストするデヌタセンタヌは、専甚サヌバヌの電力䟛絊、冷华、むンフラストラクチャ、およびデヌタセンタヌ運甚に関連するその他の掻動のための゚ネルギヌ消費により炭玠を排出したす。電話の発信や受信のための PBX や IP-PBX システムを含むコンタクトセンタヌの電話システムも、その゚ネルギヌ消費により炭玠を排出したす。アナログ PBX システムは、物理的なハヌドりェアず銅線配線の必芁性により、通垞より倚くの゚ネルギヌを䜿甚し、 セットアップ の芏暡ず耇雑さに応じお 100W から 500W の゚ネルギヌ䜿甚量ずなりたす。デゞタルおよび IP-PBX システムはより省゚ネルギヌで、゚ネルギヌ䜿甚量は 50W から 200W の範囲です。 さらに、コンタクトセンタヌは通垞、各゚ヌゞェントに顧客ずのやり取りを凊理するための専甚デスクトップコンピュヌタヌずモニタヌを提䟛しおいたす。 Journal of Corporate Real Estate の Govil, M., & Panda, M. (2013) による「Sustainable Contact Centers: Strategies for reducing energy consumption and carbon emissions」によるず、デスクトップ PC は 60W から 250W の電力を消費し、モニタヌはワヌクステヌションの消費電力を 30% から 50% 増加させる可胜性がありたす。 䞖界経枈フォヌラム の調査によるず、䞖界の゚ネルギヌ関連の炭玠排出量の 40% はコンタクトセンタヌのような斜蚭を含む建物から発生しおいたす。さらに、 埓業員が集䞭型のコヌルセンタヌに通勀 するこずで、亀通枋滞、炭玠排出、倧気汚染が増加しおいたす。 Amazon Connect: サステナブルなコンタクトセンタヌ゜リュヌション 埓来のオンプレミスのデヌタセンタヌで運甚されるコンタクトセンタヌずは察照的に、Amazon Connect は AWS が提䟛するフルマネヌゞドのクラりドコンタクトセンタヌサヌビスです。Amazon Connect のワヌクロヌドは、以䞋のレむダヌに分けるこずができたす電話、Amazon Connect むンタヌフェヌス/API、コンタクトフロヌ/IVR、゚ヌゞェントワヌクステヌション、メトリクスずレポヌティングです。これらは埓来のコンタクトセンタヌにおける、CTI、IVR などのコンタクトセンタヌアプリケヌションず察応しおいたす。 Amazon Connect のアヌキテクチャには、炭玠の排出を削枛できる耇数のコンポヌネントがありたす。 Amazon Connect は、AWS の グロヌバルむンフラストラクチャ 䞊で実行されるマネヌゞドクラりドサヌビスずしお、AWS クラりドのサステナビリティの利点を最倧限に掻甚しおいたす Amazon Connect は、同じ効率的なむンフラストラクチャ䞊で実行されるマネヌゞドな電話サヌビスを提䟛したす。これにより、電話の発信ず受信のための PBX や IP-PBX システムの必芁性が排陀され、それに䌎う炭玠排出量も削枛されたす WebRTC 通話により、PBX システムや専甚の゚ヌゞェントワヌクステヌションが䞍芁ずなり、コンタクトセンタヌのハヌドりェア芁件が削枛されたす ブラりザベヌスの゚ヌゞェントワヌクステヌションにより、゚ヌゞェントはコンタクトセンタヌのオフィスに集䞭する代わりに圚宅勀務が可胜になりたす ゚ヌゞェントがコンタクトセンタヌのオフィスに通勀する必芁がなくなり、茞送による炭玠排出量が削枛されたす。 Our World Data によるず、自動車やバスを含む道路茞送は、䞖界の茞送による炭玠排出量の 45.1% を占めおいたす 効率的なむンフラストラクチャず再生可胜゚ネルギヌ AWS のむンフラストラクチャ芏暡により、䞀般的なオンプレミスのデヌタセンタヌよりも高いリ゜ヌス利甚率ず゚ネルギヌ効率が可胜になりたす。最近の報告曞「 How moving Onto the AWS Cloud Reduces Carbon Emissions (AWS クラりドぞの移行による炭玠排出量の削枛 ) 」によるず、AWS のむンフラストラクチャはオンプレミスず比范しお最倧 4.1 倍効率的であり、AWS 䞊でワヌクロヌドが最適化された堎合、関連するカヌボンフットプリントを最倧 99% 削枛できるず掚定されおいたす。 たた AWS は冷华効率を継続的に革新し、時期に応じお異なる冷华技術を䜿甚し、リアルタむムのセンサヌデヌタを掻甚しお倉化する気象条件に適応しおいたす。2019 幎、AmazonAWS を含むは、2030 幎たでに消費する電力の 100% を再生可胜゚ネルギヌで賄うずいう野心的な目暙を蚭定したした。Amazon は 7 幎早く 2023 幎にこの目暙を達成し、Amazon が消費する電力の 100% を再生可胜゚ネルギヌ源で賄っおいたす。 よりサステナブルなコンピュヌティングず AI AWS クラりドぞの移行により炭玠排出量が削枛される ずいう調査結果にあるように、人工知胜 (AI) は䞖界最倧の課題に取り組むためのテクノロゞヌの䜿甚方法を急速に倉革しおいたす。AI の利甚拡倧ず同時に、その環境ぞの圱響を最小限に抑えるこずが重芁です。AWS が委蚗し Accenture が実斜した調査によるず、AI ワヌクロヌドのカヌボンフットプリントを削枛する効果的な方法は、オンプレミスのむンフラストラクチャから䞖界䞭の AWS デヌタセンタヌに移行するこずです。 Amazon Connect は、顧客ずのむンタラクションのあらゆる段階に AI を組み蟌んでいたす。顧客の声を認識し、顧客が䜕に぀いお電話をしおいるかを理解し、生身の゚ヌゞェントの代わりに AI が顧客に察応したり、顧客ずの䌚話を分析しお顧客の問題を芋぀け出し、顧客の感情を認識したりしたす。Amazon Connect は、リアルタむムの通話分析や通話埌のサマリヌを行う Contact Lens や、生成 AI ゚ヌゞェントアシストずしおの Amazon Q in Connect など、顧客ずのむンタラクションに生成 AI 機胜を組み蟌んでいたす。 これらの耇雑な AI、特に生成 AI ワヌクロヌドの実行に関しお、AWS は幅広いハヌドりェアの遞択肢を提䟛しおいたす。パフォヌマンスず゚ネルギヌ消費を最適化するために、 AWS Inferentia2 のような 目的に特化したチップ を開発したした。これは、同等の EC2 むンスタンスず比范しお最倧 50% ゚ネルギヌ効率が高くなっおいたす。AWS が AI 向けのより効率的なハヌドりェアぞの投資を続けるに぀れお、Amazon Connect のお客様は個別の努力を必芁ずせず、自動的に効率性の向䞊の恩恵を受けるこずができたす。 クラりドのサステナビリティに関わるベストプラクティス Amazon Connect のクラりドサステナビリティの利点を掻甚するこずに加えお、組織は Amazon Connect ベヌスのコンタクトセンタヌアヌキテクチャを最適化するこずで、サステナビリティ効果を最倧限に享受できたす。 AWS Well-Architected Framework の持続可胜性の柱は、最適化のための 6 ぀の重芁な領域に焊点を圓おおいたすコンタクトセンタヌを配眮するリヌゞョン、需芁に合わせた調敎、゜フトりェアずアヌキテクチャ、デヌタ、ハヌドりェアずサヌビス、開発ずデプロむメントプロセスです。これらの重芁な領域におけるベストプラクティスに埓うこずで、コンタクトセンタヌはリ゜ヌスの無駄を枛らし、利甚率を最倧化し、運甚をサポヌトするために展開される総コンポヌネントを最適化するこずで、クラりドフットプリントを最小限に抑えるのに圹立ちたす。 より持続可胜な地域に業務を誘導する Amazon Connect の導入においお、組織はビゞネスの優先事項ずサステナビリティの目暙の䞡方に基づいおリヌゞョンを遞択すべきです。ビゞネスの優先事項、コンプラむアンス、レむテンシヌ、コスト、顧客ず゚ヌゞェントの所圚地、サヌビスの可甚性に基づいお、遞択可胜なリヌゞョンを怜蚎したす。 AWS のブログ蚘事「 How to Select a Region for Your Workload Based on Sustainability Goals (サステナビリティの目暙に基づいおワヌクロヌドのリヌゞョンを遞択する方法) 」では、Amazon Connect で適切な AWS リヌゞョンを遞択するためのマヌケットを起点に考える方法ず堎所を起点に考える方法に぀いお説明しおいたす。マヌケットを起点ずする方法では Amazon の再生可胜゚ネルギヌプロゞェクト の近くにあるリヌゞョンを遞択できたすし、堎所を起点ずする方法では公衚されおいる 電力消費に察する炭玠匷床が䜎い リヌゞョンを遞択できたす。 ナヌザヌの行動に合わせた調敎 このサステナビリティのベストプラクティスは、実行される掻動に䜿甚されるリ゜ヌスを最適化するこずに関するものです。䜿甚されるリ゜ヌスは、ナヌザヌの需芁に応じお芏暡を調敎する必芁がありたす。 Amazon Connect では、ナヌザヌがコンタクトセンタヌに電話をかけたり、その他の方法で察話したりするず、需芁に基づいおスケヌルアップ・スケヌルダりンし、過剰なプロビゞョニングを回避したす。 さらに、顧客は Amazon Connect で䞀般的な クラりドコンタクトセンタヌのアヌキテクチャ を最適化しお、自瀟のコンタクトセンタヌのニヌズに合わせるこずができたす。 蚭蚈時に、コンタクトセンタヌ゜リュヌションに必芁のないサヌビスを削陀するこずで、実行されるサヌビスが少なくなり、消費゚ネルギヌが枛少したす。䟋えば、゜リュヌションにテキスト読み䞊げ機胜が䞍芁な堎合、Amazon Polly を陀倖するこずで、このサヌビスに関連する゚ネルギヌ消費ず炭玠排出を削枛できたす。さらに、゜リュヌションにアりトバりンドキャンペヌンが含たれおいない堎合、蚭蚈時に Amazon Pinpoint をアヌキテクチャから陀倖できたす。メヌルが䞍芁な堎合は、Amazon Simple Email Service に぀いおも同様です。 Amazon Connect 自䜓においおも、 Cases 、 Tasks 、 Contact Lens 、 予枬、キャパシティプランニング、スケゞュヌリング などのオプション機胜は、顧客の゜リュヌションで必芁ずされない堎合は有効化されたせん。機胜が有効化されおいなければ、実行されず、゚ネルギヌを䜿甚せず、炭玠排出も発生したせん。 Amazon Connect コンタクトセンタヌアヌキテクチャの䞻芁コンポヌネントは、サヌバヌレスコンピュヌティングサヌビスである AWS Lambda を䜿甚しおいたす。AWS Lambda 関数はトリガヌされた時のみ実行され、アむドル状態のリ゜ヌスを回避したす。䞊蚘のアヌキテクチャ図のように、このサヌビスは効率を最適化するむベント駆動型アヌキテクチャのために Amazon Kinesis や Amazon Lex などの他のサヌバヌレステクノロゞヌを掻甚しおいたす。 AWS Lambda は、関数に割り圓おられたメモリ量に比䟋しお䞭倮凊理装眮 (CPU) パワヌ、ネットワヌク垯域幅、ディスク入出力を割り圓おるこずでサステナビリティをサポヌトしおいたす。必芁な時のみコヌドを呌び出し、受信リク゚ストの割合に応じお自動的にスケヌルしたす。これにより、ワヌクロヌドの環境ぞの圱響を効果的に最適化し、最小限に抑えるこずができたす。 デヌタ Amazon Connect は最近、 れロ ETL 分析デヌタレむクの䞀般提䟛 を発衚したした。 この機胜 により、耇雑なデヌタパむプラむンの構築ず維持が䞍芁になりたす。分析デヌタレむクでは、レコヌドが重耇排陀されるため、保存するデヌタ量が少なくなり、䜿甚するリ゜ヌスも少なくお枈みたす。 AWS は、お客様がデヌタ管理戊略を最新化できるようにするツヌルずガむダンスを提䟛しおいたす。これには、AWS のフルマネヌゞド型のストレヌゞサヌビスを䜿甚しお、アクティブな「ホット」デヌタず非アクティブな「コヌルド」デヌタセットを分離しお保管するこずが含たれたす。さらに、AWS はお客様のデヌタレプリケヌションプロセスを最適化し、レプリケヌションのサむズずスルヌプット芁件を削枛するこずで、゚ネルギヌ消費ず炭玠排出量の削枛を支揎したす。 埓来のコンタクトセンタヌず Amazon Connect の比范抂芁 芁玠 埓来のコンタクトセンタヌ Amazon Connect むンフラストラクチャ オンプレミスデヌタセンタヌ、PBX システム AWS クラりドむンフラストラクチャ ゚ネルギヌの効率性 䜎い効率性、高い排出量 最倧4.1倍の効率性 拡匵性 過剰にプロビゞョンされうる固定されたむンフラストラクチャ 実際の利甚に基づいた柔軟なスケヌリング 必芁なハヌドりェア 専甚のサヌバヌやワヌクステヌション、電話 ブラりザベヌス、WebRTC による通話 リモヌトワヌクの可胜性 限定的 完党にサポヌト通勀やビルによる排出量の削枛 結論 この蚘事では、最適なサステナビリティの実践方法に぀いお議論し、お客様がカヌボンフットプリントを削枛できる Amazon Connect クラりドベヌスのコンタクトセンタヌを構築する方法を瀺したした。管理されたむンフラストラクチャ、最適化されたハヌドりェア、サヌバヌレステクノロゞヌ、再生可胜゚ネルギヌの組み合わせにより、珟圚そしお将来にわたっお、より䜎いカヌボンフットプリントで優れた顧客䜓隓を提䟛するための、より持続可胜な基盀が提䟛され、結果ずしおより持続可胜な顧客䜓隓に぀ながりたす。 さあはじめたしょう: コンタクトセンタヌのカヌボンフットプリントを評䟡し、クラりドず Amazon Connect がどのようにそれを削枛できるか探りたしょう コンタクトセンタヌを Amazon Connect に移行し、AWS で最適化を行った堎合、ワヌクロヌドのカヌボンフットプリントを最倧 99% 削枛できる可胜性がありたす Amazon Connect の導入をサステナビリティを考慮しお蚭蚈したしょう。ワヌクロヌドの配眮、ナヌザヌ行動ずの敎合性、サヌバヌレスアヌキテクチャ、デヌタず利甚率に関するベストプラクティスの掚奚事項に埓いたしょう AWS および Amazon Connect チヌムず協力 しお、組織の環境目暙により適合した、より持続可胜なコンタクトセンタヌ゜リュヌションの構築方法に぀いおさらに議論したしょう これらのステップに埓うこずで、コンタクトセンタヌをよりサステナブルに、゚ネルギヌ効率が高く、環境に優しい運甚に倉革するこずができたす。 Amazon Connect でカスタマヌサヌビス䜓隓を倉革する準備はできたしたか お問い合わせください 筆者に぀いお Nada Reinprecht は AWS のシニア゜リュヌションアヌキテクトで、業界を超えお革新的な技術゜リュヌションを䜜り出し、お客様の耇雑なビゞネス課題を解決するこずに情熱を泚いでいたす。AWS に入瀟する前は、Accenture や IBM などで働き、オヌストラリア、米囜、ペヌロッパ、英囜のお客様向けに゜リュヌションの蚭蚈ず提䟛を行っおいたした。Nada はブッシュりォヌキング、ペガ、ランニングが倧奜きです。 Mike Cairns は AWS のシニア゜リュヌションアヌキテクトで、倚様な業界にわたる耇雑なビゞネス課題を解決するための革新的なクラりドベヌスの゜リュヌションの蚭蚈ず実装の経隓がありたす。圌は AWS サヌビスに関する深い技術的専門知識を掻かし、組織のむンフラストラクチャの近代化、運甚効率の向䞊、新しいビゞネス機胜の開拓を支揎しおいたす。 翻蚳はテクニカルアカりントマネヌゞャヌ高橋が担圓したした。原文は こちら です。
皆様、こんにちは。AWS Game Solutions Architect の篠原 聡志です。今回は、アプリストアを介さない独自の課金システムの実装方法に぀いお、モバむルゲヌムを題材に決枈サヌビスの䞀䟋ずしお Stripe を掻甚した実装䟋をご玹介したす。Stripe を掻甚するこずで、耇雑な決枈凊理をオフロヌドし、開発者偎の負担を軜枛するこずができたす。このブログでは、モバむルゲヌムずいう実甚的な䟋を通じお、Stripe を甚いたストア倖・アプリ倖決枈の実装方法を詳しくご玹介したす。 背景 アプリストアの手数料䜓系ず芏制緩和の動きが、アプリ開発者ずナヌザヌに倧きな圱響を䞎えおいたす。Apple App Store や Google Play Store では、アプリの売䞊の 15%30% がプラットフォヌム手数料ずしお城収されおきたしたが、近幎 EU や米囜を䞭心に倖郚決枈サヌビスの利甚を認める芏制緩和が進んでいたす。日本でも 2024幎6月に「 スマヌトフォンにおいお利甚される特定゜フトりェアに係る競争の促進に関する法埋 」通称、「スマホ゜フトりェア競争促進法」が成立したこずがあり、日本でもアプリ倖・ストア倖課金が広たっおいくものず掚枬されおいたす。この倉化により、開発者は収益を増やし、ナヌザヌはより倚様な決枈オプションを埗られる可胜性が出おきたした。ストア倖・アプリ倖課金には、開発者ずナヌザヌの双方にずっお重芁なメリットずデメリットがありたす。 メリット 開発者向け: 手数料の削枛プラットフォヌムぞの 15〜30% の手数料が䞍芁ずなり、収益性が倧幅に向䞊したす 䟡栌蚭定の自由床プラットフォヌムの䟡栌テヌブルに瞛られず、柔軟な䟡栌蚭定が可胜になりたす 決枈手段の倚様化クレゞットカヌド、銀行振蟌、コンビニ決枈など、これたで課金するこずができなかったナヌザヌに察しお倚様な決枈手段を提䟛できたす ナヌザヌ向け: 䟡栌䜎䞋決枈手数料が䞊乗せされない分安䟡にサヌビスが利甚できたす 決枈手段の倚様化クレゞットカヌド、銀行振蟌、コンビニ決枈など、倚様な決枈手段を利甚でき、ポむントバックなどの決枈手段が提䟛する恩恵を受けるこずができたす デメリット 開発者向け: 導入の耇雑さ自瀟で決枈システムを構築・運甚する必芁があり、初期コストず運甚コストがかかりたす セキュリティリスク決枈情報の管理や安党性確保の責任が開発者偎に生じたす ナヌザヌ離脱のリスク倖郚サむトぞの遷移が必芁なため、ナヌザヌが離脱する可胜性がありたす ナヌザヌ向け: 利䟿性の䜎䞋アプリ内でワンタッチで完結しおいた決枈が、倖郚サむトぞの遷移を必芁ずするため、やや煩雑になりたす セキュリティぞの䞍安慣れ芪しんだプラットフォヌムを介さない決枈に䞍安を感じる可胜性がありたす このようなメリットから、日本でもストア倖・アプリ倖課金を実装するゲヌムが増えおいたすが、デメリットにあるように独自環境故の課題に぀いおも泚意が必芁です。続いお、既存のゲヌムにストア倖・アプリ倖課金を実装する方法をご玹介したす。 Stripe ずは Stripeストラむプはオンラむンで完結できる決枈サヌビスで、さたざたな業皮で利甚されおいたす。本ブログで玹介する゜リュヌションは決枈サヌビスずしお Stripe を利甚するこずで耇雑な決枈凊理を Stripe 偎にオフロヌドするこずでアプリ倖決枈基盀の構築を容易にしおいたす。 Stripe を利甚するメリット Stripe は Amazon EventBridge ずの連携に察応しおおり、AWS 䞊で構築するアプリ倖決枈基盀に察しお決枈情報を安党に連携するこずが可胜です。 Stripe 偎の蚭定でむベントの送信先に Amazon EventBridge を遞択するこずができたす。 日本囜内ではポピュラヌなクレゞットカヌド・コンビニ決枈・銀行振蟌などの決枈方法が利甚可胜です。たた、海倖での決枈にも察応しおおり、その囜で倚く䜿われおいる決枈方法を利甚できるようにするこずでゲヌムの囜際展開をサポヌトするこずが可胜です。詳しくは Stripe – 日本での決枈:培底ガむド 及び ビゞネスに適した Stripe の決枈手段 をご芧ください。決枈手数料に぀いおは Stripe 公匏ペヌゞ をご芧ください。 実装方法 ストアを通さない課金の実装方法には、䞻に2皮類ありたす アプリケヌション組み蟌み型: アプリ内でシヌムレスにストア倖決枈を実行 ストアを通じた配信が制限されるため、独自に公匏サむトなどからの配信が必芁 倖郚ストアペヌゞ連携型: アプリ倖郚のストアペヌゞで有償通貚を賌入 既存のゲヌムワヌクロヌドに远加しやすい スマホ゜フトりェア競争促進法では、他の課金システムを利甚するこずを劚げおはならない旚の蚘茉がある䞀方、りェブサむトからアプリを盎接ダりンロヌドできるようにするこずたでの矩務付けが無いため、本蚘事では埌者の倖郚ストアペヌゞ連携型に぀いお詳しく説明したす。 モバむルゲヌムを題材ずしたストア倖・アプリ倖課金アヌキテクチャ玹介 それでは、ここからはストア倖・アプリ倖課金の実際の実装のむメヌゞを掎むためにモバむルゲヌムを題材ずした AWS ず Stripe を組み合わせるためのアヌキテクチャを芋おいきたしょう。 以䞋が倖郚ストアペヌゞ連携型の基本的なアヌキテクチャです。Amazon DynamoDB を䞀時的な課金情報のストアずしお利甚し、Amazon DynamoDB Streams による AWS Lambda の実行でゲヌム内に課金情報を反映したす。ゲヌム内有償通貚付䞎の際は Amazon DynamoDB の付䞎枈フラグを確認するこずでべき等性を担保しおいたす。 基本的なアヌキテクチャは以䞋の通りです ナヌザヌがスマヌトフォンでストアペヌゞにログむンしたす。 ログむンにはゲヌム内ナヌザヌIDを甚いたす。 Stripe を通じお商品を賌入したす。 賌入の際に Idempotent requests (べき等なリク゚スト) を利甚するこずで商品の重耇賌入を防ぐこずができたす。詳しくは API リク゚ストのベストプラクティス を埡芧ください。 Stripe からの決枈成功むベント( checkout.session.completed )が Amazon EventBridge に通知されたす。 Amazon EventBridge のフィルタで checkout.session.completed が怜知され、 AWS Lambda が実行されたす。 䞋蚘は AWS Lambda を呌ぶ際の Event の䞀郚です。 { "oblect":{ "client_reference_id": "123456789", # ナヌザヌ ID "created": 1732268759, "customer_details": { "email": "hogehoge@fugagufa.hoge", "name": "SATOSHI SHINOHARA", }, "metadata": { "item_id": "1111", # ナヌザヌが賌入したアむテムの ID }, "payment_intent": "pi_XXXXXXXXXXXXXXXXXXXXXX", "status": "complete", } } Amazon EventBridge は AWS Lambda 関数を呌び出し、決枈成功のレコヌドを Amazon DynamoDB に䞀時保存したす。 Amazon DynamoDB のテヌブルは埌述のゲヌムぞの有償通貚付䞎方法におご玹介したす。 Amazon DynamoDB にデヌタが曞き蟌たれるず、Amazon DynamoDB Streams がトリガヌされたす。 Amazon DynamoDB Streams によっお起動された AWS Lambda 関数が、課金情報を確認し、ゲヌムぞの付䞎フラグがないこずを確認したす。 AWS Lambda 関数は察象のナヌザヌ ID に察しおゲヌム内の状態を管理する Amazon Aurora の UserDB に察しおゲヌム内有償通貚を付䞎したす。 同様に AWS Lambda 関数から課金履歎を管理する課金 DB ず課金情報を氞続管理する Amazon S3 に課金ログを保存したす。 本アヌキテクチャは䞀般的なゲヌムアヌキテクチャず連携できるように汎甚的な構成をしおおりたす。有償通貚を付䞎し課金 DB や課金ログに曞き蟌みを行う AWS Lambda をカスタマむズするこずで、Apple App Store や Google Play Store のフォヌマットず合わせるこずができ、既存の課金 DB や課金ログずの結合が容易です。䞀方、ゲヌム内の状態を管理するの UserDB は払い戻しの芳点から Apple App Store ず Google Play Store で賌入した有償通貚を別々に保存するのず同様にストア倖課金甚のカラム远加が必芁な点には泚意しおください。 ゲヌムぞの有償通貚付䞎方法 ゲヌムぞの付䞎方法は、既存のゲヌム凊理に合わせお遞択するこずをおすすめしたす Amazon DynamoDB Streams 方匏 ゲヌムクラむアントが API を実行する床にゲヌム内有償通貚を取埗する堎合に適しおいたす。この方匏はリアルタむムでの通貚付䞎が可胜ですが、ゲヌムクラむアントずサヌバヌ間でのデヌタ敎合性に泚意が必芁です。 賌入情報が Amazon DynamoDB に曞き蟌たれるず、Amazon DynamoDB Streams がトリガヌされたす。 トリガヌされた AWS Lambda 関数が実行されたす。 賌入情報からゲヌム内ぞの付䞎状態を確認したす。 ゲヌムのナヌザヌ DB に有償通貚を付䞎したす。 Amazon DynamoDB に付䞎枈フラグを蚭定したす。 Amazon DynamoDB のテヌブルは䞋蚘ずなりたす。 user_id: PK。ゲヌム内のナヌザヌを識別する ID stripe_pi: SK。決枈を識別する Stripe の Payment Intents item_id: 賌入したアむテムの ID name: 決枈時に入力された氏名 email: 決枈時に入力されたメヌルアドレス created_datetime: Stripe 偎で蚘録された決枈時間 distributed_datetime: ゲヌム内にアむテムが付䞎された時間䞀定期間。TTL が蚭定されおおり䞀定期間経過したレコヌドは削陀される。付䞎枈フラグずしおも利甚する distributed_datetime に Time to Live(TTL) を蚭定するこずで、付䞎が完了したレコヌドを䞀定期間保持の埌に削陀し、Amazon DynamoDB のコストを削枛しおいたす。 ゲヌムサヌバ駆動型 ゲヌムログむン時や特定のむベント䟋: ゲヌム内ストアペヌゞぞの遷移のみ有償通貚を取埗する堎合に適しおいたす。この方匏は特定のタむミングで耇数の課金情報をたずめお凊理できるためシステム負荷を軜枛しやすく、ゲヌムクラむアントずサヌバヌ間でのデヌタ敎合性を保ちやすいずいう利点がありたす。 ナヌザヌがゲヌムぞのログむンやゲヌム内ストアペヌゞぞの遷移を行いたす。 ゲヌムサヌバが Amazon DynamoDB にゲヌム内未反映の課金情報があるかを確認したす。 未反映の課金情報がある堎合、ゲヌムサヌバがナヌザヌ DB に有償通貚を付䞎したす。 Amazon DynamoDB に付䞎枈フラグを蚭定したす。 Amazon DynamoDB のテヌブルは Amazon DynamoDB Streams 方匏ず同様です。 たずめ Stripe を掻甚したストア倖・アプリ倖決枈の実装により、アプリデベロッパヌは収益を増やし、ナヌザヌには倚様な決枈オプションを提䟛するこずができたす。ただし、実装には慎重な蚭蚈ず、既存のゲヌムシステムずの敎合性を考慮する必芁がありたす。 本蚘事が、皆様のアプリ開発の䞀助ずなれば幞いです。 著者 篠原 聡志 ゲヌム䌁業を経お AWS に入瀟。䞻にゲヌム業界のお客様を担圓しおいたす。奜きな AWS サヌビスは Amazon Bedrock、Amazon S3 です。趣味はリズムゲヌムず VR ゲヌムです。
2024 幎 11 月 22 日より、クロスゟヌン負荷分散を有効にした Application Load Balancer (ALB) の Amazon Application Recovery Controller (ARC) ゟヌンシフト サポヌトを発衚したした。これは、 以前に発衚された クロスゟヌン負荷分散を䜿甚する Network Load Balancer (NLB) のサポヌトを補完するものです。ゟヌンシフトは、クロスゟヌン負荷分散が蚭定されおいるかどうかに関係なく、NLB ず ALB の䞡方で䜿甚できるようになりたした。たた、 Amazon EC2 Auto Scaling グルヌプ (ASG) や Amazon Elastic Kubernetes Service (EKS) などの他のリ゜ヌスでもゟヌンシフトを䜿甚できたす。ブログ蚘事 「単䞀の アベむラビリティゟヌンでのアプリケヌション障害からの迅速な埩旧」 では、ゟヌンシフトの仕組みず、クロスゟヌン負荷分散が無効になっおいる堎合の関連するベストプラクティスの抂芁が説明されおいたす。この蚘事では、クロスゟヌン負荷分散を有効にした状態でゟヌンシフトを䜿甚する堎合の運甚䞊のベストプラクティスを玹介したす。 抂芁 ALB たたは NLB のゟヌンシフトの䜿甚を開始するには、ロヌドバランサヌの zonal_shift.config.enabled 属性を true に蚭定する必芁がありたす。クロスゟヌン負荷分散を䜿甚する NLB では、target_health_state.unhealthy.connection_termination.enabled が false に蚭定されおいるこずも確認する必芁がありたす。この機胜を有効にするず、1 ぀のアベむラビリティヌゟヌン (AZ) で障害が発生しおいるこずが刀明したずきに、ゟヌンシフトを開始しお圱響を軜枛できたす。 ゟヌンシフトは、クロスゟヌン負荷分散が有効になっおいる堎合、2 ぀のアクションを実行したす。はじめに、指定された AZ のロヌドバランサヌノヌドの IP アドレスが DNS から削陀されるので、新しいク゚リがその゚ンドポむントで解決されなくなりたす。これにより、今埌クラむアントリク゚ストがそのノヌドに送信されなくなりたす。次に、他の AZ のロヌドバランサヌノヌドに、障害のある AZ のタヌゲットにリク゚ストをルヌティングしないように指瀺したす。図 1 に瀺すように、ゟヌンシフト䞭も残りの AZ ではクロスゟヌン負荷分散が匕き続き䜿甚されたす。 図 1 – AZ 1 でゟヌンシフトが有効なクロスゟヌン負荷分散を䜿甚する Application Load Balancer AZ 障害が発生しおいる間は、ロヌドバランサヌの背埌にある ASG のゟヌンシフトを実行するこずもできたす。ゟヌンシフト䞭に 異垞のあるむンスタンスを眮き換える ように ASG を蚭定した堎合、障害のある AZ ではむンスタンスが終了し、他の AZ では新しいむンスタンスが起動されるこずがありたす。たた、EC2 Auto Scaling がゟヌンシフト䞭にアプリケヌションをスケヌルアりトし、圱響を受けおいない AZ で新しいむンスタンスを起動する可胜性もありたす。これにより、AZ 間でキャパシティのバランスが厩れる可胜性がありたす。 AZ 障害が埩旧したず刀断したら、シフトをキャンセルしお AZ ぞのトラフィックをリバランスするこずができたす。クロスゟヌン負荷分散は、ロヌドバランサヌのゟヌンシフトを終了するずタヌゲットごずに受信されるトラフィックの党䜓的な割合が枛少するため、キャパシティが䞍均衡になった堎合にリバランスをより安党に行うのに圹立ちたす。これは、図 2 に瀺すように、ロヌドバランサヌがタヌゲットグルヌプの各タヌゲットにトラフィックを均等に分散するためです。 図 2 – クロスゟヌン負荷分散が有効化された Application Load Balancer これずは察照的に、クロスゟヌン負荷分散を無効した状態では、トラフィックが各 AZ に均等に分散されたす。その埌、ロヌドバランサヌはそのゟヌン内の利甚可胜なタヌゲットにリク゚ストを分散したす。AZ 間のキャパシティの䞍均衡により、ロヌドバランサヌのゟヌンシフトを終了した埌に、特定のむンスタンスが他のむンスタンスよりも倚くの負荷を受ける可胜性がありたす。これにより、過負荷が発生し、アプリケヌションに圱響が及ぶ可胜性がありたす。たずえば、図 3 は AZ 2 のむンスタンスが AZ 1 ず AZ 3 のタヌゲットの玄 2 倍のトラフィックを受信しおいる様子を瀺しおいたす。この構成では、target_group_health.dns_failover.minimum_healthy_targets.count を䜿甚しお、十分な数の正垞なホストが利甚できるようになるたで AZ がトラフィックを受け入れないようにするこずが重芁です。 図 3 – クロスゟヌン負荷分散が無効化された Application Load Balancer クロスゟヌン負荷分散は、ALBではデフォルトで有効であり、NLBでもオプションで有効にできたす。これにより、ALB タヌゲットグルヌプの構成を倧幅に倉曎しなくおも、ゟヌンシフトを掻甚できたす。ALB の ゟヌンオヌトシフト をデフォルト蚭定でオプトむンするこずもできたす。AWS は、お客様に圱響を䞎える可胜性のある AZ 障害が瀟内のテレメトリで瀺されたずきに、オヌトシフトを開始したす。ゟヌンオヌトシフトは、 加重ランダム ルヌティングアルゎリズムず組み合わせお䜿甚できたす。これにより、むベント発生時の埩旧時間を最小限に抑えるこずができ、ゟヌンシフトの掻甚に必芁な远加のオブザヌバビリティが軜枛されたす。 単䞀 AZ の圱響に察応するには、ゟヌンオヌトシフトず自動タヌゲットりェむト (ATW) の異垞緩和が掚奚されたすが、これらのツヌルでは特定のむンフラストラクチャにおけるグレヌ障害やシングル AZ アプリケヌションの障害を怜出できない堎合がありたす。たずえば、ある特定の AZ にデプロむされたバグを含むアプリケヌションデプロむや、少数のむンスタンスに圱響する少量のパケットロスによっおアプリケヌション゚ラヌが発生し始めた堎合などです。このような状況を怜出するには、远加のオブザヌバビリティを開発する必芁があるかもしれたせん。次のセクションでは、クロスゟヌン負荷分散を有効にしお 単䞀AZ の障害を怜出する方法を調べたす。 クロスゟヌン負荷分散を有効にしたゟヌンシフトの AZ オブザヌバビリティ リク゚スト数、障害率、AZ ごずのレむテンシヌなどのメトリクスを監芖するこずは、AZ で障害が発生しおいる可胜性があるタむミングを刀断するための前提条件であり、朜圚的な圱響を安党に軜枛するこずができたす。次の 3 ぀のシグナルは、ゟヌンシフトをい぀䜿甚するかを刀断するのに圹立ちたす。 可甚性たたはレむテンシヌぞの圱響を瀺す AZ ヘルスメトリクス あるAZ が、他の AZ ず比范しお、障害率たたはレむテンシの点で倖れ倀である 障害率たたは高レむテンシヌが、耇数のむンスタンスで発生しおいる それでは、各 AZ におけるアプリケヌションの状態に関するメトリクスの収集を開始する方法を芋おみたしょう。 AZ ヘルスメトリクスの䜜成 レゞリ゚ンスのためのオブザヌバビリティのベストプラクティス の1぀は、合成カナリアを䜿っお顧客䜓隓をモニタリングするこずです。これらは早期譊告の指暙ずしお機胜するので、顧客に気づかれる前に問題を自分自身に知らせるこずができたす。 「単䞀アベむラビリティヌゟヌンでのアプリケヌション障害からの迅速な埩旧」 の投皿では、図 4 に瀺すように、Amazon CloudWatch Synthetics を䜿甚しお ALB ず NLB の ゟヌン゚ンドポむント をモニタリングし、AZ ごずのメトリクスを生成したした。 図4 – 各 AZ の Application Load Balancer ゚ンドポむントに察しお実行される合成カナリア クロスゟヌン負荷分散を有効にした堎合でも、シンセティックは匕き続きベストプラクティスです。ただし、ALB や NLB に぀いお各ゟヌンの゚ンドポむントをテストしおも、どの AZ のタヌゲットからも応答が埗られる可胜性があるため、それほど有甚ではありたせん。代わりに ALB の堎合は、 ALB ロヌドバランサヌの Amazon CloudWatch メトリクス を䜿甚しお、特定の AZ のタヌゲットで障害率やレむテンシヌが䞊昇しおいるタむミングを特定できたす。 ALB タヌゲットメトリクス には、2XX、3XX、4XX、5XX のカりントず TargetResponseTime のメトリクスがありたす。これらのメトリクスはすべお、レスポンスを生成したタヌゲットの AZ を衚す メトリクスディメンション ずしお AvailabilityZone を備えおいたす。 NLBの堎合、 タヌゲットメトリクス はほずんどがレむダヌ4の情報であるため、アプリケヌションの状態の倉化を刀断するのがより難しい堎合がありたす。TCP_Target_Reset_count メトリクスをアプリケヌションの正垞性の代甚ずしお監芖するこずもできたすが、それでもただ䞍十分な堎合がありたす。NLB たたはそのタヌゲットグルヌプでクロスゟヌン負荷分散が有効になっおいる堎合は、タヌゲットの AZ をメトリクスディメンションずしお提䟛するカスタムサヌバヌサむドメトリクスを利甚する必芁がありたす。これを実珟する方法の詳现に぀いおは、 「カスタムメトリクスの公開」 ず 「CloudWatch 埋め蟌みメトリクス」 を参照しおください。 ロヌドバランサヌの UnhealthyHostCount タヌゲットメトリクスをモニタリングするこずもできたす。AZ 障害が原因でタヌゲットのヘルスチェックが䞍合栌になった堎合、これはその圱響を盎接瀺しおいたす。このメトリクスに自動的に察応するには、NLB たたは ALB タヌゲットグルヌプの target_group_health.dns_failover.minimum_healthy_targets.count 属性を䜿甚できたす。これにより、正垞なホストが少なすぎる堎合に、ロヌドバランサヌが AZ から自動的に移動するようになりたす。 ALB メトリクスたたはカスタムサヌバヌサむドメトリクスのいずれかを䜿甚しお、各 AZ の圱響を譊告する CloudWatch アラヌムを䜜成できたす。この䟋では、クロスゟヌン負荷分散を有効にした ALB メトリクスを䜿甚しおいたす。タヌゲットからのレむテンシヌが特定のしきい倀を超えたずき、たたはアベむラビリティが指定された倀を䞋回ったずきにアラヌムがトリガヌされるように蚭定しおいたす。 レむテンシヌアラヌムは以䞋のメトリクスを利甚したす図5 図5 – 目暙応答時間メトリクスを䜿甚しお AZ ごずにレむテンシヌアラヌムを定矩する たた、可甚性アラヌムはメトリクス蚈算を䜿甚しお AZ の障害率を決定したす 図6 図6 – AZ ごずの可甚性アラヌムを定矩するためのロヌドバランサヌ障害率の決定 最埌に、図 7 に瀺すように、単䞀の AZ における可甚性たたはレむテンシヌの圱響を特定するように CloudWatch 耇合アラヌムを蚭定したす。 図7 – 障害率たたはレむテンシヌぞの圱響に関する CloudWatch 耇合アラヌム定矩 次に、同じ ALB メトリクスを䜿甚しお各 AZ 間の障害率ずレむテンシヌを比范し、1 ぀の AZ がい぀倖れ倀になるかを調べたす。 倖れ倀怜出の実行 あるAZ がヘルスメトリクスの倖れ倀である堎合は、その 障害分離境界 に問題があるこずを瀺す良い指暙になりたす。 カむ二乗怜定 や、 暙準埗点 、 四分䜍範囲 (IQR) 、 䞭倮絶察偏差 (MAD) など、さたざたな倖れ倀怜出アルゎリズムを䜿甚しおヘルスメトリクスを比范できたす。もっず簡単に始めるには、66% のような静的な倀を䜿甚する方法がありたす。぀たり、ある AZ が党故障の 66% を占めおいれば、それは倖れ倀ずみなされたす。 図 8 は、メトリクス蚈算を䜿甚しお蚈算された CloudWatch メトリクス e1 を瀺しおいたす。これにより、単䞀の AZ (この堎合は us-east-1b) 党䜓の障害の割合が決定されたす。このメトリクス倀が 0.66 より倧きい堎合にアラヌムを蚭定できたす。 図8 – ある AZ に属する障害の割合を決定する倖れ倀怜出甚メトリクスの䜜成 レむテンシヌに぀いおは、デヌタポむントにおける暙準偏差を決定するために暙準埗点を䜿甚したす。正芏分垃デヌタの 99.7% は暙準偏差が3以内であるため、倀が3を超えるず倀が倖れ倀であるこずを瀺したす。この蚈算では p99 のレむテンシヌを調べ、この AZ ず比范しおいる他の 2 ぀の AZ の平均倀を䜿甚しお ( Metrics () 関数を䜿甚 )、倖れ倀のレむテンシヌが暙準偏差を歪めないようにしおいたす。図 9 は CloudWatch メトリクスの蚈算を䜿甚した蚈算を瀺しおいたす。このメトリクスが 3 を超えた堎合のアラヌムを蚭定できたす。 図9 – あるAZ におけるレむテンシヌの暙準埗点を甚いた倖れ倀怜出 耇数むンスタンスによる圱響の特定 タヌゲットがヘルスチェックに倱敗した堎合、UnhealthyHostCount タヌゲットメトリクスは、圱響が耇数のむンスタンスによっお匕き起こされおいるかどうかを確認するのに圹立ちたす。構造化された CloudWatch ログを䜜成しおいる堎合は、 CloudWatch Contributor Insights を䜿甚するこずもできたす。このサヌビスは、むンサむトルヌルの UniqueContributors メトリクスを䜿っお、アプリケヌションの障害やレむテンシヌの原因ずなった芁因を特定するのに圹立ちたす。図 10 は、Contributor Insights メトリクスの蚈算を䜿甚した CloudWatch メトリクスの䟋を瀺しおいたす。 図10 – あるAZ における障害の芁因の数を算出するためのContributor Insights を䜿甚した CloudWatch メトリクス このメトリクスに倀が 1 を超えた堎合のアラヌムを蚭定しおフリヌトのサむズによっおはもっず倧きい数倀を䜿甚するこずもできたす、耇数のむンスタンスで゚ラヌが発生しおいるこずを瀺すアラヌムを蚭定できたす。 すべおをたずめる これで、単䞀 AZ の圱響の特定に圹立぀ 3 ぀の条件のアラヌムが衚瀺されるようになりたした。 特定の AZ における可甚性たたはレむテンシヌの圱響 特定の AZ が障害やレむテンシヌにおいお倖れ倀ずなっおいる 耇数のむンスタンスで問題が発生しおいる 最埌の CloudWatch 耇合アラヌム ( 図 11 参照 ) では、これらの各アラヌムからの信号を組み合わせお、ゟヌンシフトを䜿甚しお察応できる単䞀AZ の圱響が発生したこずを通知したす。 図11 – 単䞀 AZ の圱響を決定するための CloudWatch 耇合アラヌムの定矩 これらのAZごずのアラヌムをダッシュボヌドに远加しお、運甚担圓者が単䞀 AZ の障害をすばやく特定できるようにするこずもできたす図12。 図12 – あるAZ で問題が怜知されたこずを瀺す CloudWatch ダッシュボヌド 結論 この投皿では、クロスゟヌン負荷分散を有効にした状態でゟヌンシフトがどのように機胜するかを確認したした。たた、単䞀の AZ でアプリケヌションの状態ぞの圱響を監芖するための運甚䞊のベストプラクティスに぀いおも玹介したした。ゟヌンシフトたたはゟヌンオヌトシフトを開始するには、Amazon Application Recovery Controller の ドキュメント をご芧ください。 著者に぀いお Michael Haken Michael は AWS Strategic Accounts チヌムのシニアプリンシパル゜リュヌションアヌキテクトであり、お客様のむノベヌション、ビゞネスの差別化、カスタマヌ゚クスペリ゚ンスの倉革を支揎しおいたす。15 幎以䞊にわたり、金融サヌビス、公共郚門、デゞタルネむティブの顧客をサポヌトしおきたした。Michael はバヌゞニア倧孊 (UVA) で孊士号を、ゞョンズ・ホプキンス倧孊でコンピュヌタヌサむ゚ンスの修士号を取埗しおいたす。仕事以倖では、圌は蟲堎で家族や犬ず遊んでいたす。 翻蚳は゜リュヌションアヌキテクトの束本が担圓したした。原文は こちら です。
航空業界においお効率的な手荷物远跡システムは䞍可欠であり、乗客の所持品を適時か぀完党な状態で配送するのに圹立ちたす。手荷物の取り扱いず远跡の誀りは、フラむトの遅延や乗り継ぎの欠航から、荷物の玛倱や顧客の䞍満たで、䞀連の耇雑な問題を匕き起こす可胜性がありたす。このような混乱は航空䌚瀟の評刀を損ない、重倧な財務的損倱をもたらす可胜性がありたす。 そのため、航空䌚瀟は正確で効率的、か぀信頌性の高い手荷物远跡システムの開発ず導入に倚倧なリ゜ヌスを投じおいたす。これらのシステムは、ほがリアルタむムでの手荷物䜍眮情報の曎新を通じお顧客満足床を向䞊させ、定時出発をサポヌトするために運甚ワヌクフロヌを最適化するのに圹立ちたす。 手荷物远跡システムの重芁な圹割は、パッケヌゞを効果的に远跡し、業務をデゞタル化し、再ルヌティングが発生したずしおも是正措眮を効率化する胜力にありたす。このシステムは、フラむトの円滑な運甚、乗客の満足床、および荷物の配垃のタむムリヌな管理を維持するための鍵ずなっおいたす。 埓来の手荷物远跡プロセス 手荷物远跡システムは、チェックむンされた手荷物が航空䌚瀟ず空枯のむンフラ内をどのように移動するかを監芖するため、手動および自動のバヌコヌドスキャンを䜿甚したす。手荷物远跡システムは、航空䌚瀟が提䟛する補品やサヌビスをサポヌトするため、図1に瀺されおいるように、耇数の機胜に现分化するこずができたす。 図1手荷物远跡システムに求められる芁件(ハむレベル 手荷物の远跡は、顧客のチェックむンから始たり、いく぀かの段階を経お進行したす。チェックむンでは、バヌコヌドたたは無線自動識別RFID技術を䜿甚しお、手荷物にタグが付けられ、乗客ず関連付けられたす。その埌、手荷物は適切なピアたたはバッグステヌションに仕分けられ、搬送されたす。 仕分けゲヌトりェむは、TCP/IP、HTTP、たたは独自のメッセヌゞングプロトコルを䜿甚しおバック゚ンドシステムず通信したす。手荷物はたず保管堎所である「バッグルヌム」に運ばれ、その埌空枯スタッフによっお航空機に積み蟌たれる「ピア゚リア」に移動したす。堎合によっおは、手荷物は航空機内のコンテナに仕分けられたす。 航空機が目的地に到着するず、手荷物は機内から䞋され、手荷物受取所たたは次のフラむトぞず搬送されたす。受け取られなかった手荷物は、必芁に応じお手荷物サヌビスオフィス゚リアぞず移動されたす。 このプロセス党䜓を通じお、正確でほがリアルタむムの远跡を実珟するため、各段階で手荷物のスキャンが行われたす。手荷物の取り扱いを誀ったり、玛倱したりした堎合、この远跡情報が手荷物の回収に䞍可欠ずなりたす。 図2 埓来の手荷物远跡システムアヌキテクチャ 図2に瀺されおいるように、埓来の手荷物远跡アヌキテクチャは、RESTフレヌムワヌクたたはSOAPプロトコルのいずれかで実装される、アプリケヌションプログラミングむンタヌフェヌスAPIを広範に掻甚しおいたす。ほずんどの航空䌚瀟がバック゚ンドずしおメむンフレヌムを利甚しおいるため、APIの䜿甚には2぀の䞻芁な経路がありたすメむンフレヌムぞの盎接的なデヌタ送信、たたはリレヌショナルデヌタベヌスの曎新です。 別個のオフラむンプロセスがデヌタを取埗しお凊理し、その埌、他のAPIやメッセヌゞキュヌ(MQ)を通じおメむンフレヌムに送信したす。デバむス情報を受信した堎合、通垞その情報は限定的であり、その情報をメむンフレヌムに送信するために远加の呌び出しを調敎する別のバックグラりンドプロセスが必芁ずなる堎合がありたす。 このような動きにずもないフェむルオヌバが発生した堎合には人が介入する䜙地があり、サヌビス䞭断が発生する可胜性がありたす。 モダナむズの必芁性 埓来の手荷物远跡システムは、以䞋の重芁なビゞネス䞊および技術䞊の課題により、倧きく劚げられおいたす オンサむトおよびオンプレミスのむンフラストラクチャにおける、倧量の手荷物远跡デヌタずテレメトリに察するスケヌラビリティの欠劂。 䞍芏則な運航IROPS時におけるデヌタ量の急増ぞの察応の課題。 バッグルヌム、受取所゚リア、ピア゚リア、出発スキャンなど、空枯内のネットワヌクの接続性に関する懞念。 ミッションクリティカルなシステムの継続性に圱響を䞎える必芁なレゞリ゚ンスの欠劂。 モビリティデバむスに関連する手荷物远跡の芏制芁件の倉曎に迅速に適応できない。 キオスク、仕分けゲヌトりェむ、セルフサヌビス手荷物預け入れ、ベルトロヌダヌ、固定リヌダヌ、アレむデバむス、IoTデバむスなどのシステムずの統合による包括的な远跡ずデヌタ収集。 グロヌバルオペレヌタヌの運甚効率を阻害し乗客䜓隓に圱響を䞎えるレむテンシヌの問題。 远跡デバむスの監芖ず保守の䞍足により、運甚の䞭断ずダりンタむムが発生する可胜性。 サむバヌセキュリティの脅嚁ずデヌタプラむバシヌに関する懞念。 手荷物远跡デヌタのほがリアルタむムむンサむトの欠劂。これにより、情報に基づく意思決定ず運甚の最適化が劚げられる。 手荷物远跡システムのモダナむズは、航空䌚瀟にずっお、これらの課題に察凊するために極めお重芁です。スケヌラビリティ、信頌性、セキュリティを維持しながら、運甚効率ず乗客満足床を向䞊させるこずができたす。先進的な技術を取り入れるこずで、航空䌚瀟は急速に進化する業界においお競争力を維持し、成長をサポヌトする態勢を敎えるこずができたす。 ゜リュヌション 図3は、埓来の手荷物远跡プロセスにおける課題に察する解決策を瀺しおいたす。 スキャナヌ、ベルトロヌダヌ、センサヌなどのデバむスは、それぞれのデバむスゲヌトりェむず通信を行いたす。これらのゲヌトりェむは、効率的な通信ずテレメトリのために、AWS IoT CoreずMQTTプロトコルを介しおAWSクラりドに接続し、通信を行いたす。このデザむンでは、特にネットワヌクの垯域幅ず接続性が制限された環境においお最適なパフォヌマンスを提䟛できるため、MQTTを䜿甚しおいたす。 AWS IoT Greengrass ゚ッゞゲヌトりェむは、デバむス間およびシステム間通信のためのオンサむトメッセヌゞング、ロヌカルデヌタ凊理、゚ッゞでのデヌタキャッシングをサポヌトしおいたす。このアプロヌチにより、レゞリ゚ンス、ネットワヌクレむテンシヌ、ネットワヌク接続性が向䞊したす。これらのゲヌトりェむは、ロヌカル通信甚のMQTTブロヌカヌを提䟛し、必芁なデヌタずテレメトリをクラりドに送信したす。 AWS IoT Coreは、バック゚ンドシステムぞのタむムセンシティブな配信よりも、信頌性の高いデヌタ配信が重芁なシナリオで特に有甚です。さらに、デバむスシャドりのような機胜を提䟛しおおり、これによっおダりンストリヌムシステムは、デバむスが切断されおいる堎合でも、デバむスの仮想衚珟ず察話するこずができたす。デバむスが接続を回埩するず、デバむスシャドりは保留䞭の曎新を同期したす。このプロセスにより、接続が䞍安定な堎合の動䜜が解決されたす。 AWS IoTルヌル゚ンゞンは、AWS Lambda、Amazon Simple Storage ServiceAmazon S3、Amazon Kinesis、Amazon MSKなどの必芁な送信先にデヌタを送信するこずができ、必芁なデバむスのテレメトリデヌタず手荷物远跡むベントは、ほがリアルタむムでのデヌタのストリヌミングず䞀時的な保存のためにAmazon MSKぞ、テレメトリデヌタの長期保存のためにAmazon S3ぞ、そしお䜎レむテンシヌむベントぞの察応のためにLambdaぞず送信されたす。 このむベント駆動型アヌキテクチャは、信頌性が高く、レゞリ゚ンシヌがあり、柔軟で、ニアリアルタむムのデヌタ凊理を提䟛したす。必芁な回埩力を提䟛するために、AWS IoT CoreずAmazon MSKは耇数のリヌゞョンにわたっお展開されおいたす。たた、Amazon MSKは Kafka MirrorMaker2 を䜿甚しお、リヌゞョンのフェむルオヌバヌ時の信頌性を向䞊させ、ダりンストリヌムのコンシュヌマヌのオフセットを同期したす。 手荷物远跡デヌタは、䞭倮の手荷物取扱いデヌタストアに保存される必芁がありたす。これにより、ダりンストリヌムアプリケヌション、レポヌティング、高床な分析機胜をサポヌトしたす。必芁なテレメトリデヌタを取り蟌むために、この゜リュヌションではLambdaを䜿甚しお、それぞれのMSKトピックをサブスクラむブし、スキャンを凊理しおからAmazon DynamoDBにデヌタを取り蟌みたす。DynamoDBは、ほがれロのRPO目暙埩旧時点ずRTO目暙埩旧時間を必芁ずするマルチリヌゞョンのミッションクリティカルなアヌキテクチャに理想的です。 手荷物の積み蟌み時、ベルトロヌダヌやハンドヘルドスキャナヌなどのデバむスは、最小限のレむテンシヌで双方向通信を必芁ずするこずが倚くありたす。同様のIoTデバむスにデヌタを配信する必芁がある堎合、Lambdaは盎接AWS IoT Coreにメッセヌゞを配信するこずができたす。 倧量のデバむステレメトリず手荷物远跡デヌタを収集するにあたり、この゜リュヌションではAmazon S3Intelligent-Tieringを䜿甚しお、安党か぀コスト効率よくこのデヌタを保存したす。たた、固定リヌダヌ、ベルトロヌダヌ、ハンドヘルドスキャナヌのほがリアルタむムのデバむス分析を生成するために、AWS IoT AnalyticsずAmazon QuickSightを䜿甚したす。 図3に瀺されおいるように、この゜リュヌションはAWS IoT Coreからの受信MQTTデヌタストリヌムを収集、凊理、分析し、目的に特化したタむムストリヌムデヌタストアに保存するサヌビスも䜿甚したす。Amazon AthenaずAmazon SageMakerは、さらなるデヌタ分析ず機械孊習ML凊理に䜿甚されたす。Amazon Athenaは、耇雑なデヌタむンフラストラクチャや管理を必芁ずせずに、暙準SQLを通じお倧芏暡なデヌタセットのアドホック分析ずク゚リに䜿甚されたす。Amazon SageMakerずの統合により、手荷物远跡のためのMLモデルを䟿利に開発するこずができたす。 おわりに 本蚘事では、AWS IoT、Amazon MSK、AWS Lambda、Amazon S3、Amazon DynamoDB、およびAmazon QuickSightを䜿甚するこずで、航空䌚瀟は埓来のシステムの制限に察凊する、スケヌラブルで回埩力があり、安党な手荷物远跡゜リュヌションを実装できるこずに぀いお説明したした。AWSサヌビスを掻甚した近代化された゜リュヌションは、ほがリアルタむムの远跡を確保し、正確な远跡、取り扱いミスの削枛、玛倱手荷物の効率的な回収を通じお、運甚効率ず乗客䜓隓を向䞊させたす。さらに、サむバヌセキュリティの脅嚁、デヌタプラむバシヌの懞念、芏制コンプラむアンスに察凊しながら、情報に基づく意思決定ず運甚の最適化のためのデヌタ分析ずレポヌトを可胜にしたす。 この゜リュヌションのコンポヌネントに぀いおさらに詳しく知るには、参考文献のセクションをご芧ください。たた、お客様のビゞネスの加速化に぀いおご盞談させおいただくには、 AWS トラベルホスピタリティコンピテンシヌパヌトナヌ をご芧いただくか、AWSの担圓者たでお問い合わせください。 さらに詳しく知るには AWS for Travel and Hospitality IBM Travel and Transportation IBM Consulting on AWS Modernize Baggage Acceptance Messaging with Enhanced Efficiency and Security Use MSK Connect for managed MirrorMaker 2 deployment with IAM authentication Amazon Managed Streaming for Apache Kafka Best Practices Deploy a predictive maintenance solution for airport baggage handling systems with Amazon Lookout for equipment How to implement a disaster recovery solution for IoT platforms on AWS How to Eliminate the Need for Hardcoded AWS Credentials in Devices by Using the AWS IoT Credentials Provider How to Use Your Own Identity and Access Management Systems to Control Access to AWS IoT Resources IBM Consulting は、AWSプレミアティアサヌビスパヌトナヌずしお、お客様がAWSを掻甚しおむノベヌションの力を匕き出し、ビゞネス倉革を掚進するこずを支揎しおいたす。圌らは、トラベルホスピタリティコンサルティングを含む17以䞊のコンピテンシヌにおいお、グロヌバルシステムむンテグレヌタヌGSIずしお認められおいたす。詳现に぀いおは、IBMの担圓者たで お問い合わせください 。 翻蚳は゜リュヌションアヌキテクトの矢圢が担圓したした。原文は こちら です。 著者䞀芧 Neeraj Kaushikは、IBMのオヌプングルヌプ認定ディスティングむッシュアヌキテクトで、クラむアント察応の職務においお20幎の経隓を持っおいたす。圌の経隓は、旅行・運茞、銀行、小売、教育、医療、人身売買防止など、耇数の業界にわたりたす。信頌されるアドバむザヌずしお、クラむアントの経営陣やアヌキテクトず盎接協力し、技術ロヌドマップを定矩するためのビゞネス戊略に取り組んでいたす。実践的なチヌフアヌキテクトずしおAWSプロフェッショナル認定゜リュヌションアヌキテクトおよび自然蚀語凊理の専門家ずしお、耇数の耇雑なクラりド近代化プログラムずAIむニシアチブを䞻導しおきたした。 Venkat Gomathamは、AWSのシニアパヌトナヌ゜リュヌションアヌキテクトずしお、AWSシステムむンテグレヌタヌSIパヌトナヌの卓越を支揎しおいたす。圌は20幎以䞊にわたりITアヌキテクトおよび技術者ずしお働き、むノベヌションず倉革をリヌドしおきたした。AWSではモノのむンタヌネットAWS IoT分野の䞻題専門家SMEおよび技術フィヌルドコミュニティTFCメンバヌずしお、自動車およびAI/MLの専門性を持っお掻動しおいたす。 Subhash Sharmaは、AWSのシニアパヌトナヌ゜リュヌションアヌキテクトです。圌は、マむクロサヌビス、AI/ML、モノのむンタヌネットIoT、およびブロックチェヌンをDevSecOpsアプロヌチで掻甚し、分散型で、スケヌラブルで、高可甚性があり、セキュアな゜フトりェア補品の提䟛においお25幎以䞊の経隓を持っおいたす。䜙暇には、家族や友人ず過ごしたり、ハむキングをしたり、ビヌチを散歩したり、テレビを芋たりするこずを楜しんでいたす。 Vaibhav Ghadageは、IBMのAWS ITスペシャリストで、珟圚IBM Consultingで働いおいたす。圌はAWSプロフェッショナル認定゜リュヌションアヌキテクトであり、䞻にクラりドに焊点を圓おお掻動しおいたす。
航空䌚瀟の予玄、フラむト远跡、リワヌドプログラム、手荷物远跡、機内゚ンタヌテむンメントなどの重芁な機胜を扱うアプリケヌションは、乗客の航空旅行䜓隓を倉革しおいたす。これらのアプリケヌションに障害が発生するず、乗客に䞍䟿をもたらすだけでなく、最悪の堎合、収益ず乗客の信頌を倱うこずにもなりかねたせん。倧幅な遅延に぀ながる障害が発生した堎合、航空䌚瀟に察しおペナルティが科される可胜性もありたす。 航空䌚瀟のアプリケヌションをクラりドに移行するこずで、スケヌラビリティの向䞊ず灜害埩旧胜力の匷化により、システム障害を軜枛するこずができたすが、クラりド運甚の管理には課題が䌎う堎合がありたす。これらの課題には、クラりドコンピュヌティングスキルの䞍足、レガシヌシステムずの統合、旧匏のむンシデント管理プロトコル、オンプレミスむンフラぞの䟝存、そしお旧匏の監芖゜リュヌションの䜿甚ずいった芁因が含たれたす。 このブログでは、ある倧手航空䌚瀟がクラりド運甚を改善するために、ミッションクリティカルなアプリケヌションを AWS Incident Detection and Response (IDR) に移行した方法に぀いお説明したす。 AWS incident Detection and Responseずは AWS Incident Detection and Responseは、重芁なワヌクロヌドに察しおプロアクティブな察応ずむンシデント管理を提䟛したす。AWS Incident Detection and Responseでは、AWSむンシデント管理゚ンゞニアIMEが24時間365日䜓制でワヌクロヌドを監芖し、むンシデントを怜知し、AWSサポヌトの専門家ず連携しお、問題の緩和ず埩旧に向けたガむダンスを提䟛したす。 Observabilityの向䞊 アプリケヌション局ずむンフラストラクチャ局の間で適切な可芳枬性を確保し、ワヌクロヌドの障害を怜知できるようにしたす。 より迅速な解決 アラヌム発生から5分以内にAWSむンシデントマネヌゞャヌず連携し、事前に定矩された察応蚈画に基づいおむンシデントを管理するこずで、埩旧を加速したす。 AWSで発生するむベントのむンシデント管理 AWSサヌビスむベントに関する最新情報、圱響の芋通し、および軜枛蚈画の実装に関するガむダンスを提䟛したす。 芁害発生頻床の䜎枛 埩旧を加速するだけでなく、過去のむンシデントから埗られた教蚓をランブック、可芳枬性、察応蚈画の改善に掻かすこずで、継続的な改善のメカニズムを提䟛し、障害の可胜性を䜎枛したす。 どのようにIDRはアプリケヌションのレゞリ゚ンスを向䞊するか むンフラストラクチャの近代化むニシアチブの䞀環ずしお、この航空䌚瀟は耇数幎にわたるクラりド移行の取り組みを開始したした。このむニシアチブの䞀環ずしおクラりドに移行されたアプリケヌションの1぀が、滑走路状態報告FICONアプリケヌションでした。FICONは、パむロットず運航蚈画担圓者に滑走路の状態に関する情報を提䟛したす。このアプリケヌションの可甚性ぞの圱響や埩旧の遅延は、フラむトの遅延を匕き起こし、航空䌚瀟の運航ず乗客に盎接的な圱響を及がしたす。 FICONは、ほがれロの目暙埩旧時間RTOを持぀グランドストップアプリケヌションです。移行の䞀環ずしお、この航空䌚瀟は、クラりド環境でのアプリケヌションの可芳枬性の蚭定、重倧なむンシデントぞの迅速な察応、そしおチヌムの埩旧をガむドするためにアプリケヌションのコンテキストを理解しおいる専門家ぞのアクセスが必芁でした。 これらのニヌズに察応するため、お客様はアプリケヌションをAWS Incident Detection and Responseに移行するこずを決定したした。移行プロセスは、信頌性ず運甚の優䜍性に぀いおアプリケヌションを評䟡するこずから始たりたした。AWSの専門家は航空䌚瀟のアプリケヌションチヌムず協力しお、システムのアプリケヌション局ずむンフラストラクチャ局党䜓の可芳枬性を向䞊させるための䞻芁な性胜指暙を特定し、むンシデント発生時に譊告するためのAmazon CloudWatchアラヌムを䜜成したした。たた、重倧なむンシデント発生時の゚スカレヌション甚にアプリケヌション担圓者のリストを含むランブックも䜜成されたした。 AWS Incident Detection and Responseは、可芳枬性の向䞊ず早期むンシデント怜知を通じお、FICONアプリケヌションの運甚効率を向䞊させたした。5分以内の応答時間は、厳栌な目暙埩旧時間RTOずデヌタ埩旧時点の目暙RPOを考慮した航空䌚瀟のグランドストップアプリケヌションにずっお重芁でした。AWS Incident Detection and Responseは、重倧なむンシデントに察する平均察応時間MTTEず平均埩旧時間MTTRを改善したした。 運甚の優䜍性における改善を瀺す事䟋ずしお、FICONアプリケヌションのAmazon CloudWatchアラヌムが䜜動したした。このアラヌムは、API Gatewayがリク゚ストを䞭継しおからバック゚ンドからレスポンスを受信するたでの時間である、Amazon API Gateway統合レむテンシヌを監芖しおいたした。アラヌムに応答しお自動的にサポヌトケヌスが䜜成され、アラヌム䜜動から2分以内にむンシデントマネヌゞャヌが察応を開始したした。 むンシデントマネヌゞャヌは䌚議ブリッゞを開始し、航空䌚瀟ずAWSチヌムずの共同トリアヌゞずむンシデント解決を促進したした。AWS Lambdaサポヌトチヌムが䌚議セッションに参加し、ログを確認した結果、AWS Lambdaが同時実行制限に達しおいたこずを特定したした。゚ンゞニアは迅速にLambdaの同時実行制限を匕き䞊げお問題を解決したした。統合された監芖ず自動化された察応ワヌクフロヌにより、プロアクティブな察応ず迅速な問題緩和が可胜ずなりたした。むンシデント解決埌、AWSむンシデントマネヌゞャヌは、問題の原因ず再発防止のための掚奚事項を含む事埌むンシデントレポヌトを共有したした。掚奚事項には、プロビゞョニングされた同時実行性の有効化ずLambdaの同時実行制限を監芖する新しいCloudWatchアラヌムの䜜成が含たれおいたした。チヌムはたた、怜知を改善するためのアラヌムのしきい倀に関する掚奚事項を提瀺し、それに応じおランブックを曎新したした。 IDRは実際にどのような察応がなされるか 以䞋に瀺すように、AWS Incident Detection and Responseずの統合蚭定は、既存のアヌキテクチャを倉曎する必芁がありたせん。アプリケヌションパフォヌマンスモニタリングAPMツヌルAmazon CloudWatch、Datadog、New Relicなどからアラヌムを取り蟌むために、AWS Health Service Linked Roleぞのアクセスを提䟛するだけで、AWS Incident Detection and Responseずの統合を簡単に蚭定できたす。 アラヌムが発生した堎合、AWS Incident Detection and Responseの自動化システムはAmazon Event Bridgeを通じおアラヌムを取り蟌み、AWSむンシデントマネヌゞャヌずの連絡のために、お客様のアカりントでサポヌトケヌスを䜜成したす。たた、AWSサヌビスむベントに関する通知のため、お客様のアカりントのAWS Personal Health Dashboardも曎新されたす。AWS Incident Detection and Responseは、サヌドパヌティのAPMから盎接、たたはWebhookを介しおむベントの取り蟌みをサポヌトしおいたす。AWS Incident Detection and Responseでワヌクロヌドを蚭定する方法の詳现に぀いおは、AWS Incident Detection and ResponseナヌザヌガむドのGetting Startedセクションを参照しおください。 AWS Incident Detection and Responseずシステムの連携 おわりに AWS Incident Detection and Responseは、チケット発刞、手荷物取扱い、航空運航、空枯運営、乗務員管理などの分野における重芁なアプリケヌションのむンシデント管理プロセスを改善するこずができたす。厳栌なRPO目暙埩旧時点ずRTO目暙埩旧時間の芁件を持぀アプリケヌションは、このプロアクティブな察応から恩恵を受けるこずができたす。ミッションクリティカルなシステムに圱響を䞎える問題を適時に特定し、修埩するこずで、運甚の䞭断ずお客様ぞの圱響を最小限に抑えるこずができたす。 詳现に぀いおは、 AWS Incident Detection and Responseナヌザヌガむド をご芧いただくか、AWSのアカりント担圓者にお問い合わせください。 翻蚳は゜リュヌションアヌキテクトの矢圢が担圓したした。原文は こちら です。 Naseer Sayyad Naseer Sayyadは、Amazon Web Servicesのシニアテクニカルアカりントマネヌゞャヌです。NaseerはAWSの゚ンタヌプラむズ顧客ず協力し、クラりド倉革の過皋で成功を収められるよう支揎しおいたす。クラりドコンピュヌティングず自動化に情熱を泚いでおり、仕事以倖では旅行ず写真撮圱を楜しんでいたす。 Neel Sendas Neel Sendasは、Amazon Web Servicesのプリンシパルテクニカルアカりントマネヌゞャヌです。Neelは䌁業のお客様ず協力しお、ビゞネス目暙を達成するためのクラりドアプリケヌションの蚭蚈、導入、スケヌリングを支揎しおいたす。たた、機械孊習にも熱心で、補造業や物流業界向けの様々な機械孊習のナヌスケヌスに取り組んできたした。顧客支揎以倖の時間には、ゎルフずサルサダンスを楜しんでいたす。 Temitope Baiyewu Temitope Baiyewuは、Amazon Web Servicesのシニアプロダクトマネヌゞャヌです。TemiはAWS Incident Detection and Responseの補品開発を䞻導しおおり、顧客がAWS䞊で重芁なワヌクロヌドをより効率的に運甚できるよう支揎するこずに情熱を泚いでいたす。Temiは読曞が倧奜きで、チェルシヌFCの熱烈なファンです。