TECH PLAY

AWS

AWS の技術ブログ

å…š2973ä»¶

AWS Summit は䞖界各囜で最高朮を迎えおおり、最近では AWS Summit Singapore が開催されたした! こちらは、Developer Lounge ブヌスでの AWS スタッフず ASEAN コミュニティメンバヌの様子です。これには、サヌバヌレス、 Amazon Elastic Kubernetes Service (Amazon EKS) 、セキュリティ、生成 AI などに関するラむトニングトヌクを行う AWS コミュニティ 講挔者が参加したした。 5月6日週のリリヌス 以䞋に、私の目に留たったリリヌスをいく぀かご玹介したす。もちろん、今回も興味深い生成 AI 機胜が盛りだくさんです! Amazon Bedrock での Amazon Titan Text Premier の提䟛開始 – これは、倧芏暡蚀語モデル (LLM) の Amazon Titan ファミリヌに新しく远加されたモデルで、 Amazon Bedrock のナレッゞベヌス での怜玢拡匵生成 (RAG) や、 Amazon Bedrock の゚ヌゞェント での関数呌び出しずいった䞻芁機胜向けに最適化されたパフォヌマンスを提䟛したす。 Amazon Bedrock Studio パブリックレビュヌの開始 – Amazon Bedrock Studio は、ナレッゞベヌス、゚ヌゞェント、および ガヌドレヌル などの Amazon Bedrock の䞻芁機胜を備えたラピッドプロトタむピング環境を提䟛するこずで、生成 AI アプリケヌションの開発を高速化するりェブベヌスの゚クスペリ゚ンスを実珟したす。 Agents for Amazon Bedrock がプロビゞョンドスルヌプット料金モデルのサポヌトを開始 – ゚ヌゞェント型アプリケヌションがスケヌルするに぀れお、アプリケヌションにはオンデマンドの䞊限よりも高い入力/出力モデルスルヌプットが必芁になりたす。プロビゞョンドスルヌプット料金モデルにより、特定の基本モデルのモデルナニットを賌入できるようになりたす。 Amazon Bedrock のナレッゞベヌス内のベクトルストアずしおの MongoDB Atlas の提䟛開始 – MongoDB Atlas ベクトルストア統合を䜿甚するこずで、Amazon Bedrock 内の基盀モデル (FM) に組織のプラむベヌトデヌタ゜ヌスをセキュアに接続する RAG ゜リュヌションを構築できたす。 Amazon RDS for PostgreSQL が pgvector 0.7.0 をサポヌト – ベクトル埋め蟌みを保存するために オヌプン゜ヌスの PostgreSQL 拡匵機胜 を䜿甚し、生成 AI アプリケヌションに怜玢拡匵生成 (RAG) 機胜を远加するこずができたす。このリリヌスには、むンデックス化できるベクトルのディメンション数を増やし、むンデックスサむズを瞮小する機胜のほか、距離蚈算での CPU SIMD の䜿甚に察する远加のサポヌトも含たれおいたす。 Amazon RDS Performance Insights による Amazon RDS for Oracle での Oracle Multitenant 蚭定のサポヌトも開始されたした 。 新しいリヌゞョンでの Amazon EC2 Inf2 むンスタンスの提䟛開始 – これらのむンスタンスは生成 AI ワヌクロヌド甚に最適化されおおり、アゞアパシフィック (シドニヌ)、欧州 (ロンドン)、欧州 (パリ)、欧州 (ストックホルム)、および南米 (サンパりロ) の各リヌゞョンで䞀般提䟛されおいたす。 Amazon Polly での新しい生成゚ンゞンの䞀般提䟛開始 – Amazon Polly の生成゚ンゞンは、Amazon Polly の最も高床なテキスト読み䞊げ (TTS) モデルで、珟圚はアメリカ英語音声が 2 ぀ (Ruth ず Matthew)、むギリス英語音声が 1 ぀ (Amy) 含たれおいたす。 AWS Amplify Gen 2 の䞀般提䟛開始 – AWS Amplify は、TypeScript を䜿甚しおフルスタックアプリケヌションを構築するためのコヌドファヌストな開発者゚クスペリ゚ンスを提䟛し、開発者が TypeScript でデヌタモデル、ビゞネスロゞック、および認蚌ルヌルなどのアプリケヌション芁件を衚珟できるようにしたす。プレビュヌが開始されお以来、AWS Amplify Gen 2 は、カスタムドメむン、デヌタ管理、プルリク゚スト (PR) プレビュヌなどの機胜を備えた新しい Amplify コン゜ヌルを含めた倚数の機胜を远加しおいたす。 Amazon EMR Serverless が Amazon Managed Service for Prometheuss による Apache Spark ゞョブのパフォヌマンスモニタリングを远加 – これは、ゞョブ固有の゚ンゞンメトリクスず、Spark のむベントタむムラむン、ステヌゞ、タスク、および゚グれキュヌタに関する情報を䜿甚しお、ゞョブを分析、監芖、最適化できるようにしたす。たた、 Amazon EMR Studio  ã® アゞアパシフィック (メルボルン) およびむスラ゚ル (テルアビブ) リヌゞョン での提䟛も開始されたした。 Amazon MemoryDB が IAM ポリシヌ向けの 2 ぀の新しい条件キヌをロヌンチ – 新しい条件キヌは、セキュリティを匷化し、コンプラむアンス芁件を満たすための AWS Identity and Access Management (IAM) ポリシヌ、たたはサヌビスコントロヌルポリシヌ (SCP) の䜜成を可胜にしたす。たた、 Amazon ElastiCache はその最小 TLS バヌゞョンを 1.2 に曎新したした 。 Amazon Lightsail がより倧きなむンスタンスバンドルの提䟛を開始 – これには、16 個の vCPU ず 64 GB のメモリが含たれたす。この提䟛により、Lightsail でりェブアプリケヌションをスケヌルし、より倚くの蚈算集玄型量およびメモリ集玄型ワヌクロヌドを実行できるようになりたす。 Amazon Elastic Container Registry (ECR) が GitLab Container Registry 向けのプルスルヌキャッシュサポヌトを远加 – ECR を利甚するお客様は、アップストリヌムレゞストリをプラむベヌト ECR レゞストリ内の名前空間にマップするプルスルヌキャッシュルヌルを䜜成できたす。ルヌルが蚭定されるず、GitLab Container Registry から ECR 経由でむメヌゞを取埗できるようになりたす。ECR は、キャッシュされたむメヌゞの新しいリポゞトリを自動的に䜜成し、むメヌゞのアップストリヌムレゞストリずの同期を維持したす。 AWS Resilience Hub がアプリケヌションレゞリ゚ンスドリフト怜出機胜を拡匵 – この新しい機胜匷化は、アプリケヌションの入力゜ヌス内でのリ゜ヌスの远加や削陀などの倉曎を怜出したす。 AWS からの発衚の完党なリストに぀いおは、「AWS の最新情報」ペヌゞをご芧ください。 その他の AWS のニュヌス その他の興味深いプロゞェクトずブログ蚘事をいく぀かご玹介したす。 LLM を䜿甚したゲヌムの構築 – Banjo Obayomi が行った、Amazon Bedrock で さたざたな LLM を䜿甚しおスヌパヌマリオレベル を生成する楜しい実隓をご芧ください! Amazon Q を䜿甚したトラブルシュヌティング – Ricardo Ferreira が、Apache Kafka、Go、および Protocol Buffers を䜿甚しながら、 厄介なデヌタのシリアル化問題を解決 した方法を詳しく説明したす。 Amazon Q in VS Code の䜿甚開始 – Rohini Gaonkar による 玠晎らしいステップバむステップガむド をご芧ください。このガむドでは、生成 AI を掻甚したコヌド補完チャットや生産性向䞊胜力ずいった拡匵機胜のむンストヌル方法を説明したす。 AWS オヌプン゜ヌスニュヌスず曎新 – 私の同僚である Ricardo が、AWS コミュニティからの新しいオヌプン゜ヌスプロゞェクト、ツヌル、むベントなどに関する蚘事を曞いおいたす。最新情報に぀いおは、 Ricardo のペヌゞ をご芧ください。 近日開催予定の AWS むベント カレンダヌを確認しお、近日開催予定の AWS むベントにサむンアップしたしょう。 AWS Summits – クラりドコンピュヌティングコミュニティが぀ながり、コラボレヌトし、AWS に぀いお孊ぶために䞀堂に䌚する無料のオンラむンおよび察面むベントに参加したしょう。最寄りの郜垂でご登録ください。日皋は、 バンガロヌル (5 月 1516 日)、 ゜りル (5 月 1617 日)、 銙枯 (5 月 22 日)、 ミラノ (5 月 23 日)、 ストックホルム (6 月 4 日)、および マドリッド (6 月 5 日) です。 AWS re:Inforce – 米囜ペンシルバニア州で 6 月 1012 日に開催される AWS re:Inforce で、2 日半にわたる生成 AI 時代の没入型クラりドセキュリティ孊習に参加したしょう。 AWS Community Day  â€“ 䞖界䞭の゚キスパヌト AWS ナヌザヌや業界リヌダヌによるテクニカルディスカッション、ワヌクショップ、ハンズオンラボが提䟛されるコミュニティ䞻導のカンファレンスに参加したしょう。日皋は、 トルコ (5 月 18 日)、 䞭西郚 | コロンバス (6 月 13 日)、 スリランカ (6 月 27 日)、 カメルヌン (7 月 13 日)、 ナむゞェリア (8 月 24 日)、 ニュヌペヌク (8 月 28 日) です。 今埌開催されるすべおの AWS 䞻導の察面むベントおよび仮想むベント ず、 開発者向けのむベント をご芧ください。 5月13日週はここたでです。5月20日週の Weekly Roundup もお楜しみに! — Abhishek この蚘事は、 Weekly Roundup  ã‚·ãƒªãƒŒã‚ºã®äž€éƒšã§ã™ã€‚毎週、AWS からの興味深いニュヌスや発衚を簡単にたずめおお知らせしたす! 原文は こちら です。
アバタヌ
日本の医療情報システムでは、 3 省 2 ガむドラむン ( 厚生劎働省が定めた「 医療情報システムの安党管理に関するガむドラむン 」 、総務省・経枈産業省が定めた「 医療情報を取り扱う情報システム・サヌビスの提䟛事業者における安党管理ガむドラむン 」の総称 ) に即したシステムを構築する必芁がありたす。 前回の 医療情報ガむドラむンをクラりド䞊で実践する – ネットワヌク線 Part 1 では、AWS の責任共有モデルに觊れ、どのように医療機関等のお客様が運甚の負担を軜枛できるかに぀いお玹介したした。たた、医療機関等ずクラりドをセキュアに接続する方法ずしお専甚線的接続や IPsec VPN を利甚した拠点間接続のネットワヌク構成に぀いお解説したした。 Part 2 では、拠点間接続ず比范し導入が容易な、オヌプンなネットワヌクで HTTPS を利甚した接続を AWS で実珟する構成に぀いお解説したす。ナヌスケヌスずしおは、 HL7 FHIR API や DICOMweb 等の暙準芏栌を利甚した医療機関等からのデヌタ収集基盀ぞのアクセスなどが考えられたす。その他にも地域医療連携システムなど、倚くの医療機関ずの連携が必芁な堎面においお導入ハヌドルの䜎さのメリットが掻かされるず考えられたす。 厚生劎働省ガむドラむンの システム運甚線 [Control] の「13. ネットワヌクに関する安党管理措眮」では、遵守事項の⑥でオヌプンなネットワヌクにおいお、VPN を利甚せず HTTPS を利甚する堎合の察策に぀いお以䞋のように述べられおいたす。 ⑥ オヌプンなネットワヌクにおいお、IPsec による VPN 接続等を利甚せず HTTPS を利甚する堎合、TLS のプロトコルバヌゞョンを TLS1.3 以䞊に限定した䞊で、クラむアント蚌明曞を利甚した TLS クラむアント認蚌を実斜するこず。ただしシステム・サヌビス等の察応が困難な堎合には TLS1.2 の蚭定によるこずも可胜ずする。その際、TLS の蚭定はサヌバ/クラむアントずもに「TLS 暗号蚭定ガむドラむン 3.0.1 版」に芏定される最も安党性氎準の高い「高セキュリティ型」に準じた適切な蚭定を行うこず。なお、SSL-VPN は利甚する具䜓的な方法によっおは停サ ヌバぞの察策が䞍十分なものが含たれるため、䜿甚する堎合には適切な手法の遞択及び必芁な察策を行うこず。たた、゜フトりェア型の IPsec 又は TLS1.2 以䞊により接続する堎合、セッション間の回り蟌み正芏のルヌトではないクロヌズドセッションぞのアクセス等による攻撃ぞの適切な察策を実斜するこず。 医療情報システムの安党管理に関するガむドラむン 第 6.0 版 システム運甚線 [Control] 13. ネットワヌクに関する安党管理措眮より抜粋 オヌプンなネットワヌクを利甚する際には、 TLS による通信の暗号化ず TLS 盞互認蚌 (mutual TLS: mTLS) の実斜が明蚘されおいたす。TLS のプロトコルバヌゞョンを TLS 1.3 以䞊に限定した䞊で mTLS を実斜するこず、TLS 1.3 に制限できない堎合は IPA (独立行政法人情報凊理掚進機構)の発行しおいる TLS 暗号蚭定ガむドラむン 3.0.1 版 の「高セキュリティ型」に準ずるこずを求めおいたす。 TLS 暗号蚭定ガむドラむンでは、5 章で高セキュリティ型の芁求蚭定をたずめられおいたす。医療情報に関わるシステム担圓者はこれらのガむドラむンを確認し぀぀、システムを蚭蚈しおいく必芁がありたす。 ここからは AWS 䞊で mTLS を利甚したむンタヌネットアクセスの実珟方法の䟋を玹介いたしたす。 mTLS を利甚したクラむアント認蚌 本ブログでは 、mTLS を利甚したクラむアント認蚌の実珟方法ずしお Amazon API Gateway を利甚した実装パタヌンず、 Application Load Balancer (ALB) を利甚した実装パタヌンに぀いおご玹介したす。API Gateway は API の䜜成、管理、保護、監芖などを簡単に行うこずができるマネヌゞド型のサヌビスです。ALB は アプリケヌション HTTP トラフィック、HTTP 通信、Web 通信、Web サヌビスのロヌドバランシングサヌビスになりたす。 API Gateway を利甚した実装パタヌン オヌプンなネットワヌクを利甚する際に、システムのバック゚ンドの API を構築し、API の゚ンドポむントに察しお医療機関等から通信を行うケヌスを考えたす。 Amazon API Gateway は、AWS のマネヌゞドサヌビスであり、シンプルな方法で RESTful API や WebSocket API を䜜成、デプロむ、管理するためのプラットフォヌムです。API Gateway を䜿甚するこずでクラむアントアプリケヌションずバック゚ンドのサヌビスを接続し、効率的に API を䜜成および公開するこずができたす。API Gateway では RESTful API ずしお REST API ず HTTP API を提䟛 しおおり、どちらも mTLS 機胜が利甚できたす。 以䞋は、クラむアント蚌明曞発行から API Gateway を甚いた mTLS によるアクセスたでの流れを瀺しおいたす クラむアント蚌明曞は AWS Private CA や独自のプラむベヌト CA、サヌドパヌティの認蚌局の発行する蚌明曞が利甚可胜です。 Amazon S3 に .pem ファむル拡匵子が付いたテキストファむルである信頌ストア (トラストストア) をアップロヌドし、カスタムドメむンの蚭定でトラストストアたでの S3 のパスを指定するこずで、API にアクセスする際の蚌明曞の怜蚌が可胜になりたす。たた、S3 バケットに蚌明曞倱効リスト (CRL) をアップロヌドし Lambda オヌ゜ラむザヌ を実装するこずでクラむアント蚌明曞の倱効チェックを行うこずも可胜です。詳现は、 How to implement client certificate revocation list checks at scale with API Gateway をご確認ください。 API Gateway では、 カスタムドメむンを䜜成し mTLS を芁求する API ゚ンドポむント が䜜成可胜です。 API 䜜成時に発行されるデフォルト゚ンドポむント ( xxxx.execute-api.<region>.amazonaws.com ) に぀いおは 無効化する こずで、アクセス時に mTLS での接続を匷制するこずが可胜です。 詳现は、 Introducing mutual TLS authentication for Amazon API Gateway ず、開発者ドキュメントの REST API の盞互 TLS 認蚌の蚭定 や HTTP API の盞互 TLS 認蚌の蚭定 をご確認ください。 医療情報ガむドラむンに準じた構成を実珟するためには TLS のバヌゞョンを制限するこずも必芁です。 API Gateway では、セキュリティポリシヌず呌ばれる事前定矩枈みの最小 TLS バヌゞョンず暗号スむヌトの組み合わせをご利甚いただけたす。 TLS 1.2 セキュリティポリシヌを遞択した堎合、セキュリティポリシヌは TLS 1.2 および TLS 1.3 トラフィックを受け入れ、TLS 1.0 トラフィックを拒吊したす。詳现は、 API Gateway でカスタムドメむンのセキュリティポリシヌを遞択する をご確認ください。 Application Load Balancer を利甚した実装パタヌン 次に、ALB を利甚するパタヌンを考えたす。 Application Load Balancer (ALB) は AWS のマネヌゞドロヌドバランサヌサヌビスの 1 ぀であり、ALB は、受信したトラフィックを耇数のアベむラビリティヌゟヌンの耇数のタヌゲット (EC2 むンスタンス、コンテナ、IP アドレスなど) に自動的に分散し、アプリケヌションの可甚性を向䞊させるこずのできる゜リュヌションです。ALB は第 7 局であるアプリケヌションレむダヌで機胜したす。 2023 幎 11 月 にALB における mTLS 機胜がサポヌトされたため、マネヌゞドサヌビスを利甚しお厚生劎働省の芁件に準拠したネットワヌクの構成をずるこずができるようになりたした。 以䞋は、クラむアント蚌明曞発行から ALB を甚いた mTLS によるアクセスたでの流れを瀺しおいたす。 2023 幎 11 月に発衚された ALB における mTLS のクラむアント蚌明曞の凊理方匏には、信頌ストア (トラストストア) 方匏ずパススルヌ方匏の 2 ぀の方匏が存圚したす。 (※ クラむアント蚌明曞は X.509 v1 はサポヌト察象倖であり、 X.509 v3 を利甚しおください 。) トラストストア方匏では、ALB がクラむアント認蚌の機胜を担い、クラむアントず ALB 間で mTLS の通信を行いたす。こちらの方匏では、トラストストア機胜により、AWS Private CA たたはその他のサヌドパヌティ CA によっお生成されたルヌト蚌明曞や䞭間蚌明曞を含む CA バンドルを信頌する゜ヌスずしおアップロヌドしお、クラむアント蚌明曞を怜蚌できたす。トラストストアには、CA、信頌できる蚌明曞、およびオプションで蚌明曞倱効リスト (CRL) が含たれ、ロヌドバランサヌはトラストストアを䜿甚しおクラむアントずの盞互認蚌 (mTLS) を行いたす。 パススルヌ方匏では、クラむアントから受信したすべおのクラむアント蚌明曞チェヌンを、HTTP ヘッダヌ ( x-amzn-mtls-clientcert ヘッダ) を䜿甚しおバック゚ンドアプリケヌションに送信したす。mTLS 察応の ALB は、ハンドシェむクでクラむアント蚌明曞を取埗し、TLS 接続を確立しお、HTTP ヘッダヌで取埗したものをタヌゲットアプリケヌションに送信したす。そのため、アプリケヌションは、クラむアントを認蚌するためにクラむアント蚌明曞チェヌンを怜蚌する必芁がありたす。利甚䟋ずしおは、OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens ( RFC8705 ) のように、クラむアント蚌明曞を玐付けたアクセストヌクンの発行など、アプリケヌション偎でクラむアント蚌明曞を利甚する堎合などが挙げられたす。 ALB では、TLS 1.3 をサポヌトしおいたす。ALB のセキュリティポリシヌを利甚するこずで、ワヌクロヌドを安党に保ちながら、アプリケヌションサヌバヌのパフォヌマンスの最適化を実珟できたす。たた、 TLS 1.3 のみに利甚を制埡するセキュリティポリシヌである ELBSecurityPolicy-TLS13-1-3-2021-06 もお遞びいただくこずが可胜です。詳现は、 Application Load Balancer 甚の HTTPS リスナヌを䜜成する をご確認ください。 その他の実装パタヌン ALB の mTLS 機胜の登堎以前から mTLS を利甚しお EC2 ぞ アクセスを行う際は、 NLB (Netwok Load Balancer)の TCP リスナヌを利甚し EC2 むンスタンス内の実装で TLS を終端する方匏 が利甚されおいたした。NLB は、AWS のマネヌゞドロヌドバランサヌサヌビスの 1 ぀です。NLB は、トラフィックを受信し、負荷分散しおバック゚ンドのタヌゲットグルヌプに配信する圹割を担いたす。第 4 局であるトランスポヌトレむダヌで機胜し、高いスルヌプットず䜎レむテンシの芁件を満たすように蚭蚈されおいたす。システムの芁件に応じおこれらの実装パタヌンもご怜蚎ください。 たずめ オヌプンなネットワヌクで蚭蚈する際は、医療機関等における導入が簡䟿な点がメリットずしお享受できたすが、䞀方で、クラむアント蚌明曞の配垃方法や、蚌明曞の有効期限の管理など、ハむブリッド接続ず同等のセキュリティを担保するための運甚蚭蚈に぀いおも考えるこずが重芁ずなりたす。たた、 AWS の提䟛する Web Application Firewall のサヌビスである、AWS WAF によるコンテンツぞのアクセスを制埡などず組み合わせお利甚しセキュリティを高めるこずも重芁ずなりたす。本日ご玹介した API Gateway ず ALB はどちらも WAF に察応したサヌビスずなっおおりたす。ぜひ䜵せおご掻甚ください。 本ブログでは、オヌプンなネットワヌクで HTTPS で医療機関等から AWS ぞの接続を実珟するための構成䟋に぀いおご玹介したした。API Gateway や ALB では mTLS を利甚したクラむアント認蚌を構築するこずが可胜ずなりたす。本ブログが、読者の皆様のガむドラむン察応の䞀助ずなれば幞いです。 著者に぀いお Yohei Katayama AWS Japan のパブリックセクタヌの゜リュヌションアヌキテクトです。䞻に医療機関をはじめずしたヘルスケア業界のお客様の゜リュヌション構築の支揎を行なっおいたす。週末は登山を嗜んでいたす。 Hiroaki Yoshimura AWS Japan のパブリックセクタヌの゜リュヌションアヌキテクトです。䞻に医療機関をはじめずしたヘルスケア業界のお客様の゜リュヌション構築の支揎を行なっおいたす。週末は料理をしたり、矎味しいご飯を求めお郜内を歩いおいたす。
アバタヌ
人工知胜 (AI) ず機械孊習 (ML) により、パヌ゜ナラむズされたナヌザヌ䜓隓を簡単に䜜成できたす。あなたがデゞタルメディアを展開しおいる堎合、 AI/ML を䜿甚しお、個々のナヌザヌの関心に合わせおコンテンツを衚瀺およびレコメンドするこずができたす。パヌ゜ナラむズは顧客満足床を高め、ナヌザヌ゚ンゲヌゞメントを向䞊させ、線集およびコンテンツ䜜成スタッフの䜜業負荷を軜枛できたす。このブログ蚘事では、Amazon Web Services(AWS) の AI/ML サヌビスである Amazon Personalize を䜿甚しお、コンテンツをカスタマむズする方法に぀いお説明したす。 パヌ゜ナラむれヌションの利点 パヌ゜ナラむれヌションの䟡倀は、耇数の業界で実蚌されおいたす。 2021 幎のマッキンれヌ瀟の報告曞 によるず、71% の顧客がオンラむンでパヌ゜ナラむズされた䜓隓を期埅しおおり、自分の嗜奜に基づいおコンテンツや補品をレコメンドする䌁業を奜んでいたす。パヌ゜ナラむれヌションを実斜した䌁業は、それらの掻動から 10~15% の収益増加を芋たした。 デゞタルメディアを展開しおいるパブリッシャヌもパヌ゜ナラむれヌションから同様の恩恵を受けおいたす。䟋えば、䞭倮ペヌロッパの倧手ニュヌスサむトは、AWS パヌトナヌである Ring Publishing が䜜成したパヌ゜ナラむれヌションサヌビス を導入したした。Ring のサヌビスは、ナヌザヌの関心に合わせおホヌムペヌゞをカスタマむズしたす。このニュヌスサむトは、ナヌザヌ゚ンゲヌゞメントが 30% 増加し、消費されるコンテンツの倚様性が 400% 増加したした。぀たり、ナヌザヌはサむトに長く滞圚し、より幅広いコンテンツずのやり取りをしおいたのです。線集者も、ホヌムペヌゞの管理に費やす時間が 50% 枛り、新しいコンテンツの䜜成などの他の䜜業に集䞭できるようになりたした。 Amazon Personalizeの利甚 埓来、パブリッシャヌはナヌザヌ䜓隓をパヌ゜ナラむズするために耇雑なルヌルを䜜成しおいたした。ナヌザヌが条件 A 、 B 、 C に合臎した堎合、コンテンツ X 、 Y 、 Z を衚瀺するずいったルヌルです。しかし、ルヌルベヌスのシステムは脆匱で保守が難しい傟向がありたす。ナヌザヌが実際に行動したこずから孊習しないためです。代わりに、プログラマヌが状況の倉化に察応するためにルヌルを手動で曎新する必芁がありたす。 Amazon Personalize のようなサヌビスは、より簡単でスケヌラブルな方法でおすすめを行うこずができたす。特別なコヌドを曞く代わりに、デヌタセットに察しお AI/ML アルゎリズム(レシピ)を実行しおトレヌニングし、おすすめを行えるようにしたす。 Amazon Personalize には、さたざたなおすすめシナリオに察応する耇数のレシピが甚意されおいたす。ナヌザヌに衚瀺するコンテンツをパヌ゜ナラむズするには、 “User Personalization” レシピを䜿甚できたす。 図1. Amazon Personalizeずの兞型的なやりずり レシピを䜿甚するには、最初にナヌザヌ、コンテンツアむテム、およびコンテンツずの過去のナヌザヌむンタラクションに関するデヌタをむンポヌトしたす。次に、通垞は Amazon Simple Storage Service (Amazon S3) バケットからデヌタを読み取らせるこずで、レシピを蚓緎しおモデルを䜜成したす。最䜎でも 1,000 回のむンタラクションず、それぞれ少なくずも 2 回のむンタラクションを持぀ 25 人のナヌザヌをむンポヌトする必芁がありたす。 この蚘事の執筆時点では、 Amazon Personalize は最倧 1 億人のナヌザヌず 30 億回のむンタラクション を蚓緎目的で考慮したす。蚓緎デヌタが倚ければ倚いほど、おすすめの粟床が高くなりたす。ただし、蚓緎時間に応じお課金されるため、予算ず蚓緎目暙のバランスを取る必芁がありたす。蚓緎が完了したら、モデルをキャンペヌンの䞀郚ずしお展開し、レコメンドをリク゚ストできるようになりたす。孊習、デプロむ、レコメンドリク゚スト、䟡栌蚭定の詳现に぀いおは、 Amazon Personalize のドキュメント をご芧ください。 ニュヌスの速報や映画レビュヌなど、新しいコンテンツアむテムが公開された堎合はどうなるでしょうか。アむテムが新しいため、モデルにはナヌザヌがそのコンテンツに興味があるかどうかを知るむンタラクションデヌタがありたせん。 User Recommendations レシピはこの問題を 2 ぀の方法で解決しおいたす。 1 ぀目は、レシピが自動的に新しく公開されたアむテムの䞀定割合をおすすめに含めるこずで、ナヌザヌがそのコンテンツにどのように反応するかのデヌタを収集できるこずです。キャンペヌンのセットアップ時に、おすすめに含める新しいアむテムの割合を制埡できたす。システムが新しいアむテムをおすすめする 2 ぀目の方法は、コンテンツデヌタをロヌドする際に提䟛された説明、リリヌス日、キヌワヌドなどのメタデヌタを調べるこずです。レシピはメタデヌタを䜿甚しお、新しいアむテムが以前に公開されたコンテンツずどの皋床類䌌しおいるかを刀断したす。そしお、その類䌌性に基づいおおすすめを行うこずができたす。新しいアむテムや、いわゆるコヌルドアむテムの取り扱いに぀いおは、 こちらで詳しく説明されおいたす 。 コンテキストずメタデヌタを䜿っおレコメンデヌションを改善する ナヌザヌ、アむテム、むンタラクションに関するメタデヌタは、関連性の高いレコメンデヌションを行う䞊で非垞に重芁です。説明やキヌワヌドなどのメタデヌタが、 Amazon Personalize に新しいコンテンツをレコメンドするのに圹立぀こずは既に説明したした。ナヌザヌのメタデヌタも、レシピがナヌザヌの関心事を理解するのに圹立ちたす。䟋えば、囜の異なる地域の読者が特定のトピックに興味があるこずがわかっおいる堎合は、ナヌザヌデヌタセットに䜍眮情報を含めるべきです。 Amazon Personalize がナヌザヌにレコメンデヌションを行う際、ナヌザヌの䜍眮を考慮に入れたす。 むンタラクションデヌタにもメタデヌタを远加できたす。少なくずもむンタラクションにはナヌザヌずコンテンツアむテムの識別子、およびむンタラクションが発生した時刻のタむムスタンプを含める必芁がありたす。コンテキストのメタデヌタも非垞に䟡倀がありたす。䟋えば、ナヌザヌは䜿甚デバむスによっお読曞習慣が倉わるこずがよくありたす。携垯電話では、ナヌザヌは短いコンテンツアむテムを奜む傟向がありたす。デスクトップやタブレットを䜿甚する堎合は、長いコンテンツを奜む可胜性がありたす。したがっおむンタラクションデヌタセットにデバむスの皮類を蚘録しおおくず、 Amazon Personalize がこの行動から孊習できるようになるため良いでしょう。レコメンデヌションリク゚ストを送信する際、ナヌザヌの珟圚のデバむスの皮類をコンテキストパラメヌタずしお含めるこずができたす。 Amazon Personalize はそのコンテキストを応答に反映させたす。重芁になるかもしれないその他のコンテキスト項目には、利甚可胜な垯域幅、むンタラクションが発生した地理的䜍眮、あるいは倩気などもありたす。䟋えば食べ物や飲み物に関するコンテンツを出しおいる堎合、倩気が暑いずきは Amazon Personalize にアむスドリンクや冷たいデザヌトをレコメンドさせたいかもしれたせん。 ナヌザヌずコンテンツに最適なレコメンデヌションを埗るたで、デヌタセットに提䟛するメタデヌタを詊行錯誀し、䜜業を繰り返す必芁がありたす。 メタデヌタずコンテキストの重芁性を説明したブログ蚘事はこちら にありたす。ナヌザヌがどれだけのコンテンツアむテムを閲芧し、コンテンツずどれだけ長く関わったかを瀺すメトリクスを远跡しおください。次に、異なるメタデヌタオプションを比范するために A/B テストを実行できたす。゚ンゲヌゞメントメトリクスが改善されれば、適切なコンテキストずメタデヌタを提䟛しおいるこずがわかりたす。 ナヌザヌに興味のあるものだけを垞に衚瀺すべきか? コンテンツをパヌ゜ナラむズする際、 “ filter bubbles ” や “echo chambers” を䜜らないよう泚意する必芁がありたす。ナヌザヌは興味のあるものしか芋られなくなるため、新しいものを探玢したり発芋する胜力を倱っおしたいたす。パヌ゜ナラむズに䟝存するあらゆる業界でフィルタヌバブルが起こり埗たす。ある食品配達サヌビスの ML ゚ンゞニアは、 ブログ投皿 で「質の高いレコメンデヌションずパヌ゜ナラむズを行うには、ナヌザヌに぀いお既知の情報ず、圌らが奜むかもしれない新しいものを䞊手にバランスさせる必芁がある」ず指摘しおいたす。 Amazon Personalize はナヌザヌが新しいものを探玢する必芁性を認識しおおり、レコメンデヌションに「探玢アむテム」を含めるこずができたす。 User Personalization レシピには、 exploration_weight ず exploration_item_age_cut_off のパラメヌタがあり、システムのセットアップ時に蚭定できたす。 weight を 0 に蚭定するず、レコメンデヌションに探玢アむテムは含たれたせん。 1.0 に近づけるほど、より倚くのアむテムが含たれたす。デフォルト倀は 0.3 です。 age cutoff パラメヌタは、探玢アむテムの最倧経過日数を制埡したす。䟋えば、倀を 7 に蚭定するず、 7 日以䞊経過したコンテンツは探玢アむテムずしお含たれなくなりたす。 ニュヌスや孊術出版瀟は、ナヌザヌにどの皋床パヌ゜ナラむズされたコンテンツを衚瀺するかに぀いお特に敏感です。これらのパブリッシャヌは暩嚁ある声を重芖しおおり、専門家が遞んだコンテンツを匷調したがりたす。 2018 幎、 ニュヌペヌク・タむムズの CTO は次のように説明 しおいたす。「ニュヌスのパヌ゜ナラむズに぀いお、読者は耇雑な気持ちを抱いおいる。刀断ず暩嚁に基づいお䞖界を描写されたものず、自分の関心を反映したものの䞡方を求めおいる」 ニュヌペヌク・タむムズは、ホヌムペヌゞの特別な 「For You」 セクションでのみパヌ゜ナラむズされたコンテンツを衚瀺するこずで、線集暩を維持しおいたす。 AWS パヌトナヌの Ring Publishing も、線集者が遞んだコンテンツずパヌ゜ナラむズされたコンテンツのバランスを取る同様のアプロヌチを採甚しおいたす。 Ring の゜リュヌションでは、線集者がホヌムペヌゞの特定のブロックをパヌ゜ナラむズ専甚に指定できる䞀方、他の郚分は線集者が遞んだコンテンツや、線集者ず AI が遞んだコンテンツの混合になっおいたす。 Amazon Personalize を䜿えば、パヌ゜ナラむズされたアむテムず手動で遞択されたアむテムを組み合わせたレコメンデヌションを衚瀺できたす。 User Recommendations レシピは、 Promotions を通しおこの䜿甚䟋をサポヌトしおいたす。たずアむテムデヌタセットで、線集者が遞んだコンテンツをメタデヌタフィヌルドで識別したす。䟋えば 「SELECTED」 ずいうフィヌルドを䜜り、 「True」 たたは 「False」 を蚭定したす。次にレコメンデヌションを芁求する際、プロモヌションアむテムの割合ず、䜜成したメタデヌタフィヌルドを遞択するプロモヌションフィルタヌを指定したす。この堎合、フィルタヌ匏は次のようになるでしょう。 INCLUDE ItemID where Items.SELECTED IN ("True") レコメンデヌションでコンテンツアむテムを促進する詳现に぀いおは、 Amazon Personalize のドキュメント をご芧ください。 たずめ このブログ蚘事では、 Amazon Personalize でよりよいナヌザヌ䜓隓を䜜成する方法に぀いお説明したした。デゞタルメディアを展開しおいる堎合、ナヌザヌにコンテンツをパヌ゜ナラむズするこずで以䞋が可胜になりたす。 ナヌザヌ゚ンゲヌゞメントの向䞊 スタッフの生産性向䞊によるコスト削枛 コンテンツ消費の倚様化による投資の最倧化 パヌ゜ナラむズには党おに察応できる解決策はありたせん。各パブリッシャヌは、ビゞネスニヌズを満たすためにアプロヌチをカスタマむズする必芁がありたす。新しいコンテンツず叀いコンテンツをどの皋床レコメンドするべきでしょうか ? 手動で遞択したコンテンツず AI が遞択したコンテンツをどのくらいの割合でレコメンドするべきでしょうか ? ナヌザヌの関心に合わせたコンテンツず新しいコンテンツの探玢をどの皋床奚励すべきでしょうか ? どのメタデヌタずコンテキストフィヌルドが最も関連性が高いでしょうか ? パブリッシャヌは、パヌ゜ナラむズをナヌザヌに最高の䜓隓を提䟛するために、時間をかけお改善・調敎を重ねる反埩プロセスずしお扱うべきです。 パブリッシャヌずしお、パヌ゜ナラむズがどのように顧客満足床を高め、むノベヌションに぀ながり、コストを削枛し、効率を䞊げるかを決定したす。 Amazon Personalize の詳现に぀いおは、 サヌビスドキュメント をご芧いただくか、 AWS の担圓者にお問い合わせください。 翻蚳は ゜リュヌションアヌキテクト 玙谷が担圓したした。原文は こちら です。 Demian Hess Demian Hess は AWS のシニアパヌトナヌ゜リュヌションアヌキテクトであり、デゞタル出版に泚力しおいたす。出版業界で 18 幎以䞊の経隓を持ち、デミアンはデゞタルアセット管理、コンテンツ管理、および NoSQL ずセマンティック Web テクノロゞヌを䜿甚した柔軟なメタデヌタスキヌムに぀いお広く執筆しおいたす。
アバタヌ
この蚘事は Ameya Paldhikarパヌトナヌ゜リュヌションアヌキテクトず Marc Luescherシニア゜リュヌションアヌキテクトによっお執筆された内容を日本語化したものです。原文は「 Filter and Stream Logs from Amazon S3 Logging Buckets into Splunk Using AWS Lambda 」を参照しおください。 Splunk AWS のお客様 (スタヌトアップ䌁業から倧䌁業たで) は耇数の AWS アカりントを管理しおいたす。マルチアカりントの管理においお、AWS が提䟛する AWS Prescriptive GuidanceAWS芏範ガむダンス に埓っお、䞀般にお客様は耇数の AWS アカりントにたたがる AWS ログ゜ヌス (AWS CloudTrail ログ、VPC フロヌログ、AWS Config ログ) を専甚のログアヌカむブアカりントの Amazon Simple Storage Service (Amazon S3) バケットに䞀元化するこずを䞀般的に遞択しおいたす。 これらの䞀元化された S3 バケットに保存されるログの量は、AWS アカりントの数やワヌクロヌドの芏暡によっおは、非垞に倚くなる可胜性がありたす (1 日あたり数 TB) 。S3 バケットから Splunk にログを取り蟌むには、通垞、 Splunk add-on for AWS を䜿甚したす。これは Splunk Heavy Forwarder 䞊にデプロむされ、デヌタを S3 から取り蟌むために独立しおポヌリングを行いたす。 これらのサヌバヌは、ニアリアルタむムのログの取り蟌みをサポヌトするために、ログの取り蟌み量の増加に応じお氎平方向にスケヌルアりトする機胜も必芁です。この方法は、デプロむメントを管理するための远加のオヌバヌヘッドがあり、専甚のむンフラストラクチャを実行するためコストの増加も発生したす。 Splunk の取り蟌みデヌタ量ベヌスのラむセンスコストを最適化するため、S3 バケットからログのサブセットのみをフィルタリングしお Splunk に転送したい堎合も考えられたす。具䜓䟋ずしおは、VPC フロヌログのうちフィヌルド “action” == “REJECT” に合臎する、拒吊されたトラフィックのみを取り蟌むこずが挙げられたす。プルベヌスのログ取り蟌みアプロヌチでは、珟時点でそれを実珟する方法は提䟛されおいたせん。 この蚘事では、 AWS Lambda を掻甚したプッシュメカニズムによっお、䞀元化された Amazon S3 ログバケットから Splunk にログをフィルタリングしおストリヌミングする方法を玹介したす。プッシュメカニズムには、運甚オヌバヌヘッドが䜎く、コストが安く、自動スケヌリングが可胜ずいった利点がありたす。Virtual Private Cloud (VPC) フロヌログで “action” フラグが “REJECT” に蚭定されおいるものをフィルタリングし、 Splunk HTTP Event Collector (HEC) ゚ンドポむント経由で Splunk に送信するための手順ずサンプルの Lambda コヌドを提瀺したす。 Splunk はクラりドオペレヌション、デヌタず分析、DevOps など倚くの分野でコンピテンシヌを有する AWS スペシャラむれヌションパヌトナヌ であり、 AWS Marketplace セラヌ です。倧手組織では、デゞタルシステムをセキュアで信頌性の高いものにするために、Splunk の統合セキュリティずオブザヌバビリティプラットフォヌムを掻甚しおいたす。 アヌキテクチャ 図 1 のアヌキテクチャ図は、AWS Lambda を䜿甚しお VPC フロヌログを Splunk に取り蟌むプロセスを瀺しおいたす。 図 1 – AWS Lambda を䜿甚した Splunk ぞのログ取り蟌みのアヌキテクチャ 1 ぀たたは耇数の AWS アカりントの VPC フロヌログは、ログアヌカむブ甚 AWS アカりント内の S3 ログバケットに集玄されたす。 S3 バケットは、バケットに保存された各オブゞェクトに察しお “object create” むベント通知を Amazon Simple Queue Service (SQS) キュヌに送信したす。 Lambda 関数が䜜成され、関数の むベント゜ヌス ずしお Amazon SQS が蚭定されたす。この関数は SQS からのメッセヌゞをバッチでポヌリングし、各むベント通知の内容を読み取り、オブゞェクトキヌず察応する S3 バケット名を特定したす。 次に、この関数は S3 バケットに “GetObject” 呌び出しを実行し、オブゞェクトを取埗したす。Lambda 関数は、”action” フラグが “REJECT” ではないむベントをフィルタリングしお陀倖したす。 Lambda 関数は、フィルタリングされた VPC フロヌログを Splunk HTTP Event Collector にストリヌミングしたす。 VPC フロヌログが Splunk に取り蟌たれ、Splunk を䜿甚しお怜玢可胜になりたす。 Splunk が利甚できない堎合や、ログ転送䞭に゚ラヌが発生した堎合、Lambda 関数はそれらのむベントをバックアップ甚の S3 バケットに転送したす。 前提条件 次の前提条件を満たす必芁がありたす。 VPC フロヌログを Amazon S3 に出力する – AWS アカりント内の S3 バケットに VPC フロヌログを出力するように 蚭定 したす。 VPC フロヌログを取り蟌むための Splunk の むンデックスを䜜成 したす。 Step 1: Splunk HTTP Event Collector (HEC) の蚭定 たずはじめに、AWS サヌビスに察しお Splunk ぞデヌタを転送するための蚭定をする前に、Splunk HEC に察しおデヌタを受信するための蚭定をする必芁がありたす。 Splunk Web にアクセスし、 Settings をクリックし、 Data inputs を遞択したす。 図 2 – Splunk Data inputs HTTP Event Collector を遞択し、 New Token を遞択したす。 以䞋の 図 3 に瀺す詳现に埓っお新しいトヌクンを構成し、 Submit をクリックしたす。 Source Type が aws:cloudwatchlogs:vpcflow に蚭定されおいるこずを確認したす。 図 3 – Splunk HEC トヌクンの蚭定 トヌクンが䜜成されたら、 Global Settings を遞択し、 All Tokens が有効になっおいるこずを確認し、 Save をクリックしおください。 Step 2: Splunk の蚭定 次に、Splunk サヌバヌの props.conf 内に蚭定を远加しお、改行、タむムスタンプ、およびフィヌルド抜出が正しく蚭定されおいるこずを確認する必芁がありたす。$SPLUNK_HOME/etc/system/local/ の props.conf に以䞋の内容をコピヌしおください。これらの蚭定の詳现に぀いおは、Splunk の props.conf のドキュメント を参照しおください。 [aws:cloudwatchlogs:vpcflow] BREAK_ONLY_BEFORE_DATE = false CHARSET=UTF-8 disabled=false pulldown_type = true SHOULD_LINEMERGE=false LINE_BREAKER=\'\,(\s+) NO_BINARY_CHECK=true KV_MODE = json TIME_FORMAT = %s TIME_PREFIX = ^(?>\S+\s){10} MAX_TIMESTAMP_LOOKAHEAD = 10 # makes sure account_id is not used for timestamp ## Replace unrequired characters from the VPC Flow logs list with blank values SEDCMD-A = s/\'//g SEDCMD-B = s/\"|\,//g ## Extraction of fields within VPC Flow log events ## EXTRACT-vpcflowlog=^(?<version>2{1})\s+(?<account_id>[^\s]{7,12})\s+(?<interface_id>[^\s]+)\s+(?<src_ip>[^\s]+)\s+(?<dest_ip>[^\s]+)\s+(?<src_port>[^\s]+)\s+(?<dest_port>[^\s]+)\s+(?<protocol_code>[^\s]+)\s+(?P<packets>[^\s]+)\s+(?<bytes>[^\s]+)\s+(?<start_time>[^\s]+)\s+(?<end_time>[^\s]+)\s+(?<vpcflow_action>[^\s]+)\s+(?<log_status>[^\s]+) Step 3: むベント通知のための SQS キュヌの䜜成 新しいオブゞェクト (ログファむル) が Amazon S3 バケットに保存されるず、むベント通知が SQS キュヌに転送されたす。以䞋の手順に埓っお、SQS キュヌを䜜成し、䞀元化された S3 バケットのむベント通知蚭定を行いたす。 AWS アカりントで Amazon SQS コン゜ヌル にアクセスし、 キュヌを䜜成 を遞択したす。 暙準タむプ を遞択し、キュヌの 名前 を入力したす。 蚭定 内で、 可芖性タむムアりト を 5 分 に増やし、 メッセヌゞ保持期間 を 14 日に増やしたす。以䞋のスクリヌンショットを参照しおください。 図 4 – Amazon SQS の蚭定 キュヌの保存時の暗号化を有効化するには、 暗号化 を有効に蚭定しおください。 以䞋のように アクセスポリシヌ を蚭定しお、S3 バケットがこの SQS キュヌにメッセヌゞを送信できるようにしたす。<> 内のプレヌスホルダヌを環境に合わせた倀に眮き換えおください。 { "Version": "2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [ { "Sid": "Queue1_Send", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": "<arn_of_this_SQS>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your_AWS_Account_ID>" }, "ArnLike": { "aws:SourceArn": "<arn_of_the_log_centralization_S3_bucket>" } } } ] } デッドレタヌキュヌ を有効にするず、このキュヌから凊理されなかったメッセヌゞが、より詳しい怜査のためにデッドレタヌキュヌに転送されたす。 Step 4: Amazon S3 むベント通知を SQS に送信 SQS キュヌが䜜成されたので、次の手順に沿っお VPC フロヌログ保存甚の S3 バケットを構成し、すべおのオブゞェクト䜜成むベントの通知をキュヌに送信したす。 Amazon S3 コン゜ヌル から、VPC フロヌログが集玄された S3 バケットにアクセスしおください。 プロパティ タブを遞択し、 むベント通知 たでスクロヌルしお、 むベント通知を䜜成 を遞択しおください。 䞀般的な蚭定 で適切な むベント名 を入力しおください。 むベントタむプ の䞋で、 すべおのオブゞェクト䜜成むベント を遞択しおください。送信先の䞋で SQS キュヌ を遞択し、前の手順で䜜成した SQS キュヌを遞択しおください。 倉曎の保存 をクリックするず、構成はこのようになりたす。 図 5 – Amazon S3 のむベント通知 Step 5: バックアップ甚の Amazon S3 バケットの䜜成 ここでは、AWS Lambda 関数が Splunk にデヌタ配信できない堎合でも、フィルタリングされたデヌタが倱われないよう、バックアップ甚の S3 バケットを䜜成したす。Lambda 関数は、Splunk ぞの配信に倱敗した堎合、フィルタリングされたログをこのバケットに送信したす。 このドキュメント の手順に埓っお S3 バケットを䜜成しおください。 Step 6: Lambda 関数甚の AWS IAM ロヌルの䜜成 AWS IAM コン゜ヌル から、 ポリシヌ メニュヌにアクセスしお ポリシヌの䜜成 を遞択したす。 ポリシヌ゚ディタ オプションで JSON を遞択し、以䞋のポリシヌを貌り付けたす。<> 内のプレヌスホルダヌを環境に合わせた倀に眮き換えおください。完了したら 次ぞ をクリックしたす。 { "Version": "2012-10-17", "Statement": [ { "Sid": "lambdaPutObject", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::<your_backsplash_s3_name>/*" }, { "Sid": "lambdaGetObject", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<your_log_centralization_s3_name>/*" }, { "Sid": "lambdaSqsActions", "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes" ], "Resource": "<arn_of_the_SQS_Queue>" } ] } ポリシヌ名 ず 説明 を入力し、 ポリシヌの䜜成 を遞択したす。 IAM コン゜ヌル から、 ロヌル にアクセスし、 ロヌルを䜜成 を遞択したす。 ナヌスケヌス の䞋で Lambda を遞択し、 次ぞ をクリックしたす。 蚱可の远加 ペヌゞで、AWS 管理の AWSLambdaBasicExecutionRole ポリシヌ ず、このロヌルの䜜成前に䜜成したカスタムポリシヌを遞択したす。䞡方のポリシヌを遞択したら 次ぞ を遞択したす。 適切なロヌル名を入力し、 ロヌルを䜜成 を遞択したす。 Step 7: ログをフィルタリングしお Splunk に送信する Lambda 関数の䜜成 AWS Lambda コン゜ヌル にアクセスし、 関数の䜜成 を遞択しおください。 基本的な情報 の䞋で、適切な 関数名 を入力し、 ランタむム では Python でサポヌトされおいる最新のランタむムを遞択しおください。 デフォルトの実行ロヌルの倉曎オプション を展開し、 既存のロヌルを䜿甚する を遞択しお、前のセクションで䜜成したロヌルを遞択したす。 他の蚭定はすべお デフォルト のたたにしお、 関数の䜜成 を遞択しおください。 関数が䜜成されたら、関数内の 蚭定 タブを遞択し、 䞀般蚭定 を線集したす。 タむムアりト の倀を 5 分 に倉曎し、 保存 をクリックしおください。 環境倉数 を線集し、以䞋のキヌず倀のペアを远加しおください。<> 内のプレヌスホルダヌを、環境に基づいた適切な倀に眮き換えおください。環境倉数を远加したら、 保存 をクリックしおください。 backup_s3 = <backsplash_Amazon_S3_bucket_name_created_in_the earlier_section> splunk_hec_token = <your_splunk_hec_token> splunk_hec_url = <your_splunk_url> :8088/services/collector/raw 関数内の コヌド タブを遞択し、 lambda_function.py を以䞋の Python コヌドで曎新しおください。たた、Python コヌドは こちらの GitHub リポゞトリ 内の lambda_splunk_function.py ファむルからアクセスするこずもできたす。 import os import boto3 import json import gzip import urllib3 import logginglogger = logging.getLogger() logger.setLevel(logging.INFO) s3 = boto3.client('s3') splunk_hec_url = os.environ['splunk_hec_url'] splunk_hec_token = os.environ['splunk_hec_token'] s3_bucket_name = os.environ['backup_s3'] def write_to_backup_s3(data, key): data_bytes=bytes(json.dumps(data).encode()) compressed_data = gzip.compress(data_bytes) try: response = s3.put_object( Bucket = s3_bucket_name, Key = key, Body = compressed_data ) if response['ResponseMetadata']['HTTPStatusCode'] == 200: logger.info('Object written to S3 successfully') except Exception as e: logger.info(f"Error writing object to S3: {e}") return def send_to_splunk_hec(data_list): data = str(data_list)[1:-1] headers = { "Authorization": "Splunk " + splunk_hec_token } http = urllib3.PoolManager(timeout=20) try: response = http.request( "POST", splunk_hec_url, headers=headers, body=json.dumps(data) ) logger.info(f"Splunk HEC Response: {response.status} - {response.data}") return response.status except Exception as e: logger.info(f"HTTP POST error: {e}") return None def filter_data(obj): logs_to_send = [] content = gzip.decompress(obj['Body'].read()).decode('utf-8') flow_log_records = content.strip().split('\n') for record in flow_log_records: fields = record.strip().split() action = fields[12] logger.info(f"Action: {action}") if action == "REJECT": logs_to_send.append(record) logger.info(f"logs_to_send = {logs_to_send}") return logs_to_send def get_object(bucket, key): try: obj = s3.get_object(Bucket=bucket, Key=key) return obj except Exception as e: logger.info(f"Error retrieving S3 object: {e}") return None def lambda_handler(event, context): for record in event['Records']: body = record['body'] logger.info(f"received sqs message: {body}") #Parse the json message message = json.loads(body) try: #extract s3 key and bucket name from the message bucket = message['Records'][0]['s3']['bucket']['name'] s3_key = message['Records'][0]['s3']['object']['key'] #log the bucket and s3_key parameters logger.info(f"bucket: {bucket}") logger.info(f"s3 key: {s3_key}") except Exception as e: logger.info(f"Error retrieving S3 bucket name and/or object key from message: {e}") #if bucket and s3_key are not null, invoke get_object function if not (bucket or s3_key): continue obj = get_object(bucket, s3_key) if not obj: continue filtered_data = filter_data(obj) logger.info(f"filtered data = {filtered_data}") if filtered_data: status = send_to_splunk_hec(filtered_data) logger.info(f"status: {status}") if status != 200: write_to_backup_s3(filtered_data, s3_key) return 関数内の蚭定タブを遞択し、トリガヌを遞択したす。 トリガヌを远加 をクリックし、 SQS を遞択したす。 SQS queue のドロップダりンから、S3 オブゞェクト䜜成のむベント通知甚に構成した SQS を遞択したす。 Activate trigger を遞択したす。他の蚭定はすべおデフォルトのたたにしお、 远加 を遞択したす。 Step 8: Splunk での VPC フロヌログの怜玢 Lambda 関数が䜜成され、SQS トリガヌがアクティブ化されるず、関数はすぐに VPC フロヌログの Splunk ぞの転送を開始したす。 Splunk のコン゜ヌル を開き、 Searching and Reporting app 内の Search tab に移動したす。 次の SPL ク゚リを実行しお、取り蟌たれた VPC フロヌログレコヌドを衚瀺したす。<> 内のプレヌスホルダヌを適切な Splunk むンデックス名に眮き換えおください index = <insert_index_name> sourcetype = “aws:cloudwatchlogs:vpcflow” )。 図 6 – Splunk での VPC フロヌログの怜玢 たずめ 本蚘事では、AWS Lambda 関数を利甚しお、VPC フロヌログをフィルタリングしお Splunk に取り蟌む方法に぀いお詳しく説明したした。VPC フロヌログを䟋ずしお䜿甚したしたが、Amazon S3 バケットに保存されおいる耇数のログタむプに察しお同様のアヌキテクチャパタヌンの適甚を怜蚎できたす。 このコヌド䟋では、プッシュベヌスのメカニズムを䜿甚しお、Amazon S3 に䞀元化された AWS やそれ以倖のログを Splunk に取り蟌むための拡匵可胜なフレヌムワヌクを提䟛したす。Lambda 関数でフィルタリングを実装するこずで、関心のあるログのみを取り蟌むこずができるため、Splunk ラむセンスの䜿甚を最適化しおコストを削枛できたす。 Splunk の詳现に぀いおは、 AWS Marketplace で確認するこずもできたす。 . . Splunk – AWS Partner Spotlight Splunk は AWS スペシャラむれヌションパヌトナヌ であり、クラりドオペレヌション、デヌタず分析、DevOps など倚くの分野でコンピテンシヌを有しおいたす。倧手組織では、デゞタルシステムをセキュアで信頌性の高いものにするために、Splunk の統合セキュリティずオブザヌバビリティプラットフォヌムを掻甚しおいたす。 Contact Splunk | Partner Overview | AWS Marketplace | Case Studies 蚘事を読んでいただきありがずうございたした。 本蚘事はパヌトナヌセヌルス゜リュヌションアヌキテクトの宮城康暢が翻蚳したした。原文は「 Filter and Stream Logs from Amazon S3 Logging Buckets into Splunk Using AWS Lambda 」を参照しおください。
アバタヌ
本蚘事は、 Integrate Amazon Aurora MySQL and Amazon Bedrock using SQL を翻蚳したものです。翻蚳はSr. Database Solutions Architectの杉山が担圓したした。 組織は倧量のデヌタをリレヌショナルデヌタベヌスに保存しおいるため、゚ンドナヌザヌ゚クスペリ゚ンスを向䞊させるために生成AIの基盀モデルを䜿っおこれらのデヌタセットを補匷する明確な動機がありたす。この蚘事では、 Amazon Aurora Machine Learning を䜿甚しお、 Amazon Aurora MySQL互換゚ディション を生成AIモデルず統合する方法を探りたす。Amazon BedrockずのAmazon Aurora MySQLの統合に぀いお説明し、2぀のナヌスケヌスを玹介したす: サヌビス改善のためのデヌタベヌス情報の補完 – Amazon Bedrockで生成した補足情報をAuroraデヌタベヌスに保存し、リアルタむムにアクセス可胜にしたす 生産性の向䞊 – Auroraデヌタベヌスに保存された長い文曞をAmazon Bedrockで芁玄したす Amazon Aurora MySQLでMLを䜿甚する他の方法に぀いおは、「 Build a generative AI- powered agent assistance application using Amazon Aurora and Amazon SageMaker JumpStart 」を参照しおください。 Solution overview 生成人工知胜  (生成AI)は、䌚話、物語、画像、動画、音楜など、新しいコンテンツやアむデアを生成できるAIの䞀皮です。 基盀モデル (FM)は、幅広い䞀般化されたラベル付けされおいないデヌタで蚓緎された機械孊習(ML)モデルです。これらは様々な䞀般的なタスクを実行できたす。 倧芏暡蚀語モデル (LLM)はFMの䞀皮です。LLMは芁玄、テキスト生成、分類、オヌプン゚ンドの䌚話、情報抜出などの蚀語ベヌスのタスクに特化しおいたす。 この゜リュヌションは、以䞋の䞻芁コンポヌネントに基づいおいたす: Amazon Aurora – Amazon Aurora は、MySQL及びPostgreSQLず互換性のあるクラりド向けのリレヌショナルデヌタベヌス管理システム(RDBMS)です。Auroraは商甚デヌタベヌスに匹敵するパフォヌマンスず可甚性を、10分の1のコストで提䟛したす。Aurora MLを䜿えば、埓来のSQLプログラミング蚀語でさたざたなML アルゎリズム(MLベヌスの予枬、生成AI、感情分析など)を呌び出すこずができたす。Aurora MLを䜿うためにMLの経隓は必芁ありたせん。Aurora MLは、Aurora ずAWS ML サヌビスずの間で、カスタムむンテグレヌションを構築したりデヌタを移動させたりするこずなく、簡単で最適化され安党な統合を提䟛したす。AuroraはFMを含むさたざたなMLアルゎリズムのために Amazon SageMaker たたは Amazon Bedrock を、 感情分析 のために Amazon Comprehend を呌び出すので、アプリケヌションからはこれらのサヌビスを盎接呌び出す必芁はありたせん。 Amazon Bedrock – Amazon Bedrockは、AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazonなどの䞻芁AI䌁業から高性胜の基盀モデル(FM)を1぀のAPIで遞択できる、完党マネヌゞドサヌビスです。たた、セキュリティ、プラむバシヌ、責任あるAIが組み蟌たれた生成AIアプリケヌションを構築するための幅広い機胜セットも提䟛したす。Amazon Bedrockは、FMを䜿っお生成AIアプリケヌションを構築およびスケヌリングする簡単な方法を提䟛したす。Amazon Bedrockはサヌバヌレスなので、むンフラストラクチャを管理する必芁がなく、既に慣れ芪しんだAWS サヌビスを䜿っお、安党に生成AI機胜をアプリケヌションに統合およびデプロむできたす。 次の図は、Amazon Aurora MySQLでMLを䜿甚する䟋を瀺しおいたす 以䞋のセクションでは、Amazon Aurora MySQLからSQLク゚リを䜿っおAmazon Bedrockをリアルタむムで呌び出す方法を実挔しおいきたす。手順抂芁は以䞋の通りです: 1. 新しいクラスタヌを䜜成 2. デヌタベヌスずデヌタベヌスナヌザヌを䜜成 3. Auroraクラスタヌのための AWS Identity and Access Management (IAM) ロヌルずポリシヌを䜜成 4. IAMロヌルをAuroraクラスタヌに割り圓おる 5. Amazon Bedrockベヌスモデルを有効にしおAurora MLを䜿甚 6. Amazon Bedrockにアクセスする関数を䜜成 Prerequisites この投皿では、 AWS管理コン゜ヌル の操䜜に慣れおいる事を前提ずしおいたす。 たた、AWS アカりントで以䞋のリ゜ヌスずサヌビスが有効になっおいる必芁がありたす: Amazon Bedrockずの統合を䜿甚するには、Amazon Aurora MySQL 3.06.0以降のバヌゞョンが必芁です。 Aurora MySQLクラスタヌはカスタムDBクラスタヌパラメヌタグルヌプを䜿甚する必芁がありたす。 ロヌルず暩限を䜜成するには、IAMぞのアクセス暩が必芁です。 Amazon BedrockでFMを䜿甚するためのアクセス暩が必芁です。 この投皿では、 Amazon Titan Text G1 – Express (amazon.titan-text-express-v1)ず Anthropic Claude 3 Haiku (anthropic.claude-3-haiku-20240307-v1:0)を䜿甚しおいたす。各リヌゞョンでサポヌトされおいるModelに関しおは、 Model support by AWS Region を参照しおください。 MLサヌビスは、Aurora MySQLクラスタヌず同じAWS リヌゞョン で実行されおいる必芁がありたす。 Aurora MySQLクラスタヌの ネットワヌク構成 が、Amazon Bedrockの゚ンドポむントぞの接続を蚱可しおいる必芁がありたす。(Amazon Bedrock゚ンドポむントに察しお https アクセスを蚱可) Create an Aurora MySQL cluster 最初のステップは、Aurora MySQLクラスタヌを䜜成するこずです。完党な手順に぀いおは、「 Creating and connecting to an Aurora MySQL DB cluster 」ず「 Using Amazon Aurora machine learning with Aurora MySQL 」を参照しおください。この䟋で䜿甚する特定の構成オプションをいく぀か玹介したす: Auroraコン゜ヌルで、 Amazon Bedrock をサポヌトしおいるリヌゞョン に新しいクラスタヌを䜜成したす(䟋: us-east-1)。 補足: 2024幎5月珟圚、東京リヌゞョン(ap-northeast-1)ではAnthropic Claude v3 Haikuを サポヌトしおいたせん 。 ゚ンゞンオプション では、 Aurora(MySQL互換) を遞択したす。 ゚ンゞンバヌゞョン は、Amazon Bedrock統合を䜿甚するために Aurora MySQL 3.06.0 を䜿甚したす。 蚭定オプション では、 Auroraスタンダヌド たたは Aurora I/O最適化 のいずれかを遞択したす。 むンスタンスの蚭定では、 むンスタンスクラス を遞択したす。 Amazon Bedrockず統合するには、埌でパラメヌタグルヌプを倉曎する必芁があるため このタむミングで custom DB cluster parameter group を䜜成し適甚したす。 Auroraクラスタヌを䜜成したす。 クラスタヌがプロビゞョニングされた埌、Amazon Bedrockずの統合に向けおクラスタヌを準備するための䞀連のSQLコマンドを実行する必芁がありたす。 MySQLコマンドラむンクラむアント を䜿甚しお、 rds_superuser_role 暩限を持぀ナヌザヌ( マスタヌナヌザヌ など)ずしおAuroraクラスタヌにログむンし以䞋のコヌドを実行したす。Amazon Bedrock ML関数を䜿甚するには、 AWS_BEDROCK_ACCESS デヌタベヌスロヌルをナヌザヌに付䞎する必芁がありたす。 mysql> create database bedrockdb; /*** Sample Database ***/ Query OK, 1 row affected (0.03 sec) mysql> create user `bedrock_user`@`%` identified by 'password'; /*** Sample User ***/ Query OK, 0 rows affected (0.30 sec) mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON bedrockdb.* TO `bedrock_user`@`%`; Query OK, 0 rows affected (0.05 sec) mysql> GRANT AWS_BEDROCK_ACCESS TO `bedrock_user`@`%`; Query OK, 0 rows affected (0.01 sec) mysql> SHOW GRANTS FOR `bedrock_user`@`%`\G *************************** 1. row *************************** Grants for bedrock_user@%: GRANT USAGE ON *.* TO `bedrock_user`@`%` *************************** 2. row *************************** Grants for bedrock_user@%: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `bedrockdb`.* TO `bedrock_user`@`%` *************************** 3. row *************************** Grants for bedrock_user@%: GRANT `AWS_BEDROCK_ACCESS`@`%` TO `bedrock_user`@`%` これで、デヌタベヌスナヌザヌがAmazon Bedrockず統合する準備ができたした。次に、Aurora MySQL DBクラスタヌにAmazon Bedrockぞのアクセス暩を付䞎する為にIAMロヌルを䜜成したす。 Create an IAM role and policy for the Aurora cluster Aurora MLがAmazon Bedrockずうたく連携できるようにするには、たず Aurora クラスタヌがAmazon Bedrockモデルず通信できるようにするIAMポリシヌを䜜成する必芁がありたす。以䞋の手順を実行しおください: IAMコン゜ヌルで、ナビゲヌションペむンから「 ポリシヌ 」を遞択したす。 「 ポリシヌの䜜成 」を遞択したす。 「 アクセス蚱可を指定 」ペヌゞで、「 サヌビスを遞択 」から「 Bedrock 」を遞択したす。 ポリシヌ゚ディタで、「 Bedrock 」を展開し、「 読み取り 」の䞋にある「 InvokeModel 」を遞択しお、そのアクションを蚱可したす。 「リ゜ヌス」では、「 すべお 」たたは「 特定 」を遞択したす。チヌムが必芁ずするAmazon Bedrock内のモデルにのみアクセスを蚱可するこずがベストプラクティスです。(ここではデモ甚にすべおを遞択しおいたす) 「 次ぞ 」を遞択したす。 「 ポリシヌ名 」には、ポリシヌの名前(䟋: AuroraBedrockInvokeModel )を入力したす。 「 ポリシヌの䜜成 」を遞択したす。 IAMコン゜ヌルで、ナビゲヌションペむンから「 ロヌル 」を遞択したす。 「 ロヌルの䜜成 」を遞択したす。 「 信頌された゚ンティティタむプ 」では、「 AWSのサヌビス 」を遞択したす。 「サヌビス」たたは「ナヌスケヌス」では、「 RDS 」を遞択したす。 「 RDS – Add Role to Database 」を遞択したす。 「 次ぞ 」を遞択したす。 前の手順で䜜成したIAMポリシヌを、この䜜成䞭のIAMロヌルに割り圓おたす。 「 蚱可ポリシヌ 」で、䜜成した「 AuroraBedrockInvokeModel 」ポリシヌを怜玢しお遞択したす。 「 次ぞ 」を遞択したす。 「 ロヌルの詳现 」セクションで、ロヌル名(この䟋では AuroraBedrockRole )ず説明を入力したす。 䜜成するIAMロヌルを確認し、 AuroraBedrockInvokeModel ポリシヌが付䞎されおいるこずを確認したす。 「 ロヌルを䜜成 」を遞択しおロヌルを䜜成したす。 Assign the IAM role to the Aurora cluster 次に、䜜成した AuroraBedrockRole ずいうIAMロヌルをAmazon Aurora MySQLクラスタヌに割り圓おる必芁がありたす。以䞋の手順に埓っおください: Amazon RDSコン゜ヌルで、Aurora MySQLクラスタヌの詳现ペヌゞに移動したす。 「 接続ずセキュリティ 」タブで、「 IAMロヌルの管理 」セクションを探したす。 「 このクラスタヌに远加する IAM ロヌルを遞択 」で、䜜成した AuroraBedrockRole ロヌルを遞択。 「 ロヌルの远加 」を遞択したす。 䜜成したこのIAMロヌルのARNを、Aurora MySQLクラスタヌに関連付けられおいるカスタムDBクラスタヌパラメヌタグルヌプの aws_default_bedrock_role パラメヌタに远加したす。 「倉曎を保存」を遞択しお蚭定を保存したす。 パラメヌタの確認は、AWS マネゞメントコン゜ヌル、AWS コマンドラむンむンタヌフェむス (AWS CLI) のいずれかを䜿甚できたす。たた、次の䟋のように MySQL クラむアントツヌルを䜿甚しお確認するこずもできたす: mysql> show global variables like 'aws_default%'; +-----------------------------+--------------------------------------------------+ | Variable_name | Value | +-----------------------------+--------------------------------------------------+ | aws_default_bedrock_role | arn:aws:iam::012345678910:role/AuroraBedrockRole | | aws_default_comprehend_role | | | aws_default_lambda_role | | | aws_default_s3_role | | | aws_default_sagemaker_role | | +-----------------------------+--------------------------------------------------+ 5 rows in set (0.03 sec) これでクラスタヌは、Amazon Bedrock 内のモデルを呌び出すこずができるようになりたした。 Use Aurora ML Aurora MLは、Amazon Bedrock、SageMaker、Amazon Comprehendなど、SQL コマンドを䜿っおAWS MLサヌビスず盎接連携できるAuroraの機胜です。 Amazon Bedrock FMsの䞀芧は、AWS CLIで確認する事ができたす: $ aws bedrock list-foundation-models --query '*[].[modelName,modelId]' --out table ------------------------------------------------------------------------------- | ListFoundationModels | +---------------------------------+-------------------------------------------+ | Titan Text Large | amazon.titan-tg1-large | | Titan Image Generator G1 | amazon.titan-image-generator-v1:0 | | Titan Image Generator G1 | amazon.titan-image-generator-v1 | | Titan Text Embeddings v2 | amazon.titan-embed-g1-text-02 | | Titan Text G1 - Lite | amazon.titan-text-lite-v1:0:4k | | Titan Text G1 - Lite | amazon.titan-text-lite-v1 | ... | Claude | anthropic.claude-v2:1:200k | | Claude | anthropic.claude-v2:1 | | Claude | anthropic.claude-v2 | | Claude 3 Sonnet | anthropic.claude-3-sonnet-20240229-v1:0 | | Claude 3 Haiku | anthropic.claude-3-haiku-20240307-v1:0 | +---------------------------------+-------------------------------------------+ ベヌスモデルを䜿甚する前に、察象のモデルが Amazon Bedrockコン゜ヌル で有効になっおいるこずを確認しおください。 有効になっおいない堎合は、察象の モデルぞのアクセスを远加 しお䞋さい。 これで、Aurora から盎接Amazon Bedrockにアクセスできる関数を䜜成できるようになりたした。以䞋の䟋は、 Amazon Titan Text G1 – Express ず Anthropic Claude 3 Haiku モデルを䜿甚しおAmazon Bedrockを呌び出す関数を生成する方法を瀺しおいたす。これらのモデルはTEXTモダリティをサポヌトしおいたす。別のモデルIDを䜿甚したい堎合は、 ベヌスモデルID のモデルIDず、 Amazon Bedrockでサポヌトされおいるモデルのリスト を参照しおください。 1. ここでは、先皋䜜成した bedrock_user アカりントでログむンしたす。 2. デヌタベヌスを bedrockdb に切り替え、ロヌルを AWS_BEDROCK_ACCESS に蚭定した埌に関数を䜜成したす。関数の定矩は GitHubリポゞトリ に甚意されおいたす。 mysql> use bedrockdb Database changed mysql> SELECT CURRENT_ROLE(); +----------------+ | CURRENT_ROLE() | +----------------+ | NONE | +----------------+ 1 row in set (0.00 sec) mysql> SET ROLE AWS_BEDROCK_ACCESS; Query OK, 0 rows affected (0.00 sec) mysql> SELECT CURRENT_ROLE(); +--------------------------+ | CURRENT_ROLE() | +--------------------------+ | `AWS_BEDROCK_ACCESS`@`%` | +--------------------------+ 1 row in set (0.00 sec) 3, Amazon Titan Text G1 -Express を呌び出す関数を䜜成したす: CREATE FUNCTION invoke_titan (request_body TEXT) RETURNS TEXT ALIAS AWS_BEDROCK_INVOKE_MODEL MODEL ID 'amazon.titan-text-express-v1' /*** model ID ***/ CONTENT_TYPE 'application/json' ACCEPT 'application/json'; 4. Anthropic Claude 3 Haiku を呌び出す関数を䜜成したす: CREATE FUNCTION claude3_haiku (request_body TEXT) RETURNS TEXT ALIAS AWS_BEDROCK_INVOKE_MODEL MODEL ID 'anthropic.claude-3-haiku-20240307-v1:0' CONTENT_TYPE 'application/json' ACCEPT 'application/json'; 5. 「地球の陞地ず海の割合は䜕ですか?」ず質問し、Amazon Titanの関数を呌び出したす: select json_unquote(json_extract(invoke_titan( '{ "inputText": "What is the proportion of land and sea on Earth?", "textGenerationConfig": { "maxTokenCount": 1024, "stopSequences": [], "temperature":0, "topP":1 } }' ),"$.results[0].outputText")) as bedrock_response\G 6. Anthropic Claude 3の関数を呌び出したす: select json_unquote(json_extract(claude3_haiku( '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [{"role": "user","content": [{"type": "text", "text": "What is the proportion of land and sea on Earth?"}]}], "temperature": 0, "top_p": 0, "top_k":1, "stop_sequences": [] }' ),"$.content[0].text")) as response_from_bedrock\G Amazon Bedrockコン゜ヌルの Amazon Bedrock プレむグラりンド で質問の出力を確認するこずで、レスポンスの正確性を怜蚌できたす。詳现に぀いおは、「 Anthropic’s Claude 3 Haiku model is now available on Amazon Bedrock 」を参照しおください。 これで、Amazon Bedrockを䜿甚するためのAuroraクラスタヌの準備が完了したした。 次のセクションでは、統合されたAmazon Bedrockず既存のデヌタを䜿甚する2぀のナヌスケヌスを瀺したす。 Aurora クラスタヌが Amazon Bedrock ず通信できない堎合は 、 Aurora クラスタヌが Amazon Bedrock ず通信できるようにネットワヌク構成を調敎する必芁があるかもしれたせん。この蚭定方法の詳现に぀いおは、 Enabling network communication from Amazon Aurora MySQL to other AWS services , Create a VPC endpoint 及び Use AWS PrivateLink to set up private access to Amazon Bedrock を参照しおください。 この投皿では、VPC ず Amazon Bedrock 間のプラむベヌト接続を䜿甚するために、  bedrock-runtime endpoint  ã‚’遞択しおいたす。 Use case 1: Complement existing data with Amazon Bedrock 既存のデヌタをAmazon Bedrockずリンクさせるこずで、どのように情報を補完できるかを芋おみたしょう。この䟋では、ただデヌタベヌスにデヌタがないので、怜蚌目的で新しくテヌブルを䜜成しおデヌタを远加したす。テヌブル定矩は GitHubリポゞトリ で提䟛されおいたす。 サンプルテヌブル を䜜成したす: CREATE TABLE `t_bedrock` ( `id` int NOT NULL AUTO_INCREMENT, `country` varchar(52) NOT NULL DEFAULT '', `information` varchar(2048), `modify_user` varchar(255) NOT NULL DEFAULT (current_user()), `updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_update_time` (`updated_time`) ) ENGINE=InnoDB AUTO_INCREMENT=1; サンプルデヌタ を挿入したす(これは既にデヌタベヌスに栌玍されおいる既存のデヌタず想定しおください): insert into t_bedrock(country) values('India'),('China'),('United States'),('Indonesia'),('Brazil'),('Mexico'),('Japan'); デヌタがテヌブルに栌玍されおいるこずを確認したす。 テヌブルからデヌタを取埗するためのプロシヌゞャを䜜成し、そのデヌタに察しお関数を実行したす。プロシヌゞャの定矩は GitHubリポゞトリ で提䟛されおいたす: DROP PROCEDURE IF EXISTS get_bedrock_claude3_haiku; DELIMITER // Create Procedure get_bedrock_claude3_haiku() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE v_id INT; DECLARE v_country varchar(52); DECLARE cursor_bedrock CURSOR FOR SELECT id,country FROM t_bedrock order by id; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cursor_bedrock; loop_cursor: LOOP FETCH cursor_bedrock INTO v_id,v_country; IF done THEN LEAVE loop_cursor; END IF; set @question = concat('\"messages\": [{\"role\": \"user\",\"content\": [{\"type\": \"text\", \"text\": \"What is the most popular food in ', v_country,' ?\"}]}]}\'),\"$.content[0].text\")) as response_from_bedrock'); set @parameter = '(\'{\"anthropic_version\": \"bedrock-2023-05-31\",\"max_tokens\": 1024,\"temperature\": 0,\"top_p\": 0, \"top_k\":1, \"stop_sequences\": [],'; set @request = concat("update t_bedrock,(select json_unquote(json_extract(claude3_haiku",@parameter,@question,") response set information = response.response_from_bedrock where id =",v_id); PREPARE update_stmt FROM @request; EXECUTE update_stmt; DEALLOCATE PREPARE update_stmt; END LOOP; CLOSE cursor_bedrock; END// DELIMITER ; 既存のテヌブルからデヌタを取埗し、察象のデヌタに基づいおAmazon Bedrockにリク゚ストを送信し、コンテンツに応じおデヌタを取埗し、テヌブルの内容を曎新するプロシヌゞャを実行したす: mysql> call get_bedrock_claude3_haiku(); その結果、デヌタに察しお補完的な情報を取埗できおいるはずです。 次の䟋では、異なる囜々で人気の食べ物をリストアップした結果を確認しおいたす: mysql> select * from t_bedrock limit 1\G 䟋えば、あなたが旅行サむトを運営しおいお、自身のサむト䞊で京郜の芳光スポットを参考情報ずしお掲茉したい堎合、次の䟋のように質問内容を倉曎すればデヌタを取埗できたす。䜿甚䟋によっお必芁ずなるデヌタは異なりたすので、ニヌズに合わせお質問をカスタマむズしおみおください: select json_unquote(json_extract(claude3_haiku( '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024,"temperature": 0,"top_p": 0,"top_k":1,"stop_sequences": [], "messages": [{"role": "user","content": [{"type": "text", "text": "Please tell me 3 recommended sightseeing spots in Kyoto."}]}] }'),"$.content[0].text")) as response_from_bedrock\G Anthropic Claude 3 は、英語、スペむン語、日本語をはじめずする耇数の蚀語をサポヌトしおいたす。䟋えば、次のリク゚ストでは、京郜のおすすめ芳光スポット5か所を日本語で尋ねおいたす。 select json_unquote(json_extract(claude3_haiku( '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024,"temperature": 0,"top_p": 0,"top_k":1,"stop_sequences": [], "messages": [{"role": "user","content": [{"type": "text", "text": "京郜でお勧めの芳光地を教えお䞋さい"}]}] }'),"$.content[0].text")) as response_from_bedrock\G 次の䟋ずしお、デヌタベヌスに栌玍された長い文章をどのように芁玄するかも確認したしょう。 Use case 2: Summarize existing data with Amazon Bedrock デヌタベヌスに栌玍された長い文章を芁玄するために Amazon Bedrock を䜿うず、読みにくさが軜枛されたす。芁玄機胜を䜿えば、短時間で抂芁を把握する事ができたす。さらに詳现が必芁な堎合は、オリゞナルのデヌタを読むこずもできたす。この䜿甚䟋は、補品やサヌビスのレビュヌの芁玄や、サポヌト担圓者向けのケヌスノヌトの芁玄などに掻甚されおいたす。 この䜿甚䟋では、「 What’s New with AWS? 」からAWSサヌビスの最新リリヌスに関するニュヌスを取埗し、デヌタベヌスに保存したす。最初に保存されたデヌタから補品名のみを取埗する凊理を行いたす。次に、リリヌスノヌトの芁玄を行いたす。テヌブル定矩は、 GitHubリポゞトリ で提䟛されおいたす。 次の手順を完了しおください: 1. デヌタを保存するための サンプルテヌブル を䜜成したす: CREATE TABLE `t_feed` ( `id` int NOT NULL AUTO_INCREMENT, `title` varchar(1024) DEFAULT NULL, `link` varchar(2048) DEFAULT NULL, `product` varchar(512) DEFAULT NULL, `description` text, `summary` text, -- `modify_user` varchar(255) DEFAULT (current_user()) COMMENT 'optional column', `updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_update_time` (`updated_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 別のタヌミナルにお、次の スクリプト を実行しおサンプルデヌタを挿入したす (Python 3.7以降が必芁です。”python3 feed.py”で実行できたす): import pymysql import feedparser import re # if module is not installed, please install it. ex: pip install -r requirements.txt myfeed = feedparser.parse("https://aws.amazon.com/about-aws/whats-new/recent/feed/") db = pymysql.connect( host='<Aurora MySQL Writer Endpoint>', user='<user name>', password='<password>', database='<sample schema (ex: bedrockdb)>', cursorclass=pymysql.cursors.DictCursor) with db: with db.cursor() as cur: for item in myfeed['items']: title = item.title link = item.link description = re.sub(r'<[^>]+>', '', item.description).replace("'", "\\'").replace('"', '\\"').replace('\n', ' ') print (title) print (link) print (description) cur.execute("INSERT INTO t_feed (title, link, description) VALUES (%s, %s, %s)", (title, link, description)) db.commit() print ('Import rss Succesfull!') スクリプトを実行するず、ドキュメントが次のように保存されたす: mysql> select count(*) from t_feed; select * from t_feed limit 1\G これで、descriptionカラムから補品名を取埗し、productカラムに栌玍する準備ができたした。 descriptionカラムから補品名のみを远加するための プロシヌゞャ を䜜成したす: DROP PROCEDURE IF EXISTS get_rss_product_by_bedrock_claude3_haiku; DELIMITER // CREATE PROCEDURE `get_rss_product_by_bedrock_claude3_haiku`() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE v_id INT; DECLARE v_description text; DECLARE cursor_description CURSOR FOR SELECT id,description FROM t_feed order by id; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cursor_description; loop_cursor: LOOP FETCH cursor_description INTO v_id,v_description; IF done THEN LEAVE loop_cursor; END IF; set @question = concat('\"messages\": [{\"role\": \"user\",\"content\": [{\"type\": \"text\", \"text\": \"Please pick up product name only from the following description. ', v_description,' ?\"}]}]}\'),\"$.content[0].text\")) as response_from_bedrock'); set @parameter = '(\'{\"anthropic_version\": \"bedrock-2023-05-31\",\"max_tokens\": 1024,\"temperature\": 0,\"top_p\": 0, \"top_k\":1, \"stop_sequences\": [],'; set @request = concat("update t_feed,(select json_unquote(json_extract(claude3_haiku",@parameter,@question,") response set product = response.response_from_bedrock where id =",v_id); PREPARE summarize_stmt FROM @request; EXECUTE summarize_stmt; DEALLOCATE PREPARE summarize_stmt; END LOOP; CLOSE cursor_description; END// DELIMITER ; Amazon Bedrockを䜿っお、descriptionカラムから補品名を取埗するためにプロシヌゞャを実行したす: mysql> call get_rss_product_by_bedrock_claude3_haiku(); プロシヌゞャを実行した埌、productカラムにデヌタが远加されたこずを確認できたす。 これにより、コンテンツをより容易に理解する事ができたす。 mysql> select * from t_feed limit 1\G descriptionカラムを芁玄したい堎合は、質問を「次の説明を200文字以内で芁玄しおください」のようなものに倉曎し、曎新察象のカラムをsummaryに倉曎する必芁がありたす。これにより、各説明が玄200文字で芁玄されるため、䜜業効率が向䞊したす。 descriptionカラムの芁玄をsummaryカラムに远加するための プロシヌゞャ を䜜成したす: DROP PROCEDURE IF EXISTS get_rss_summary_by_bedrock_claude3_haiku; DELIMITER // CREATE PROCEDURE `get_rss_summary_by_bedrock_claude3_haiku`() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE v_id INT; DECLARE v_description text; DECLARE cursor_description CURSOR FOR SELECT id,description FROM t_feed order by id; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cursor_description; loop_cursor: LOOP FETCH cursor_description INTO v_id,v_description; IF done THEN LEAVE loop_cursor; END IF; set @question = concat('\"messages\": [{\"role\": \"user\",\"content\": [{\"type\": \"text\", \"text\": \"Please summarize the following description in 200 characters or less. ', v_description,' ?\"}]}]}\'),\"$.content[0].text\")) as response_from_bedrock'); set @parameter = '(\'{\"anthropic_version\": \"bedrock-2023-05-31\",\"max_tokens\": 1024,\"temperature\": 0,\"top_p\": 0, \"top_k\":1, \"stop_sequences\": [],'; set @request = concat("update t_feed,(select json_unquote(json_extract(claude3_haiku",@parameter,@question,") response set summary = response.response_from_bedrock where id =",v_id); PREPARE summarize_stmt FROM @request; EXECUTE summarize_stmt; DEALLOCATE PREPARE summarize_stmt; END LOOP; CLOSE cursor_description; END// DELIMITER ; Amazon Bedrockから芁玄デヌタを取埗するためにプロシヌゞャを実行したす: mysql> call get_rss_summary_by_bedrock_claude3_haiku(); プロシヌゞャを実行した埌、summaryカラムにデヌタが远加されたこずを確認できたす: mysql> select * from t_feed limit 1\G 次の䟋では、descriptionカラムずsummaryカラムの文字数をチェックしおいたす: mysql> select id,description,summary,length(description),length(summary) from t_feed limit 10; group_concatを䜿う事で、耇数のデヌタを組み合わせお芁玄を䜜成するこずも可胜です。次の出力は、20行からデヌタを取埗し、芁玄を䜜成した䟋です。サンプルコヌドは GitHubリポゞトリ で提䟛されおいたす。 set session group_concat_max_len = 1048576; set session aurora_ml_inference_timeout = 30000; -- If the data size is small, there is no particular need to limit it. However, if there is a large amount of data, it is limited because PREPARED STATEMENTS can cause errors. -- set @all = (select group_concat(description) from t_feed); set @all = (select group_concat(top20.description) from (select description from t_feed limit 20) top20); set @question = concat('\"messages\": [{\"role\": \"user\",\"content\": [{\"type\": \"text\", \"text\": \"Please categorize and tell me what kind of services improvement being talked about based on the following content. ', @all,' ?\"}]}]}\'),\"$.content[0].text\")) as response_from_bedrock'); set @parameter = '(\'{\"anthropic_version\": \"bedrock-2023-05-31\",\"max_tokens\": 1024,\"temperature\": 0,\"top_p\": 0, \"top_k\":1, \"stop_sequences\": [],'; set @request = concat("select json_unquote(json_extract(claude3_haiku",@parameter,@question); PREPARE select_stmt FROM @request; EXECUTE select_stmt\G DEALLOCATE PREPARE select_stmt; 日本語版の「 What’s New with AWS? 」からAWSサヌビスの最新リリヌスに関するニュヌスを取埗する事で、Use case 2で説明したように日本語で芁玄を䜜成する事も可胜です。 Considerations デモではSQLコマンドを実行するず1分以内に応答が返っおきたすが、これはコンテキストの现かさや量によっおも倉わりたす。本番環境に導入する前に、この抂念実蚌をご自身の実装に適応させるこずが重芁です。倧量の凊理を行う予定の堎合は、 Amazon Bedrockのクォヌタ ず、 Amazon Bedrockの䟡栌蚭定 に関しおも参照するこずをお勧めしたす。 Clean up 䜜成したリ゜ヌスを䜿甚する必芁がなくなった堎合は、終了時に削陀しおください: デヌタベヌスから䞍芁なオブゞェクトずナヌザヌを削陀したす。 Aurora MLを䜿甚する必芁がなくなったが、クラスタヌの䜿甚を続ける堎合は、ML関連のパラメヌタヌ( aws_default_bedrock_role )ずIAMロヌルをクラスタヌから削陀できたす。 Amazon Bedrockにアクセスするために䜜成したIAMロヌルが䞍芁になった堎合は、削陀できたす。たた、必芁に応じおネットワヌク蚭定を曎新する必芁がある堎合がありたす。 Auroraクラスタヌが䞍芁になった堎合は、「 Aurora DBクラスタヌずDBむンスタンスの削陀 」の手順に埓っお削陀しおください。 Conclusion 珟圚の䌁業は、゚ンドナヌザヌ゚クスペリ゚ンスや生産性の向䞊のために、リレヌショナルデヌタベヌスに栌玍されおいるデヌタに 生成AI の機胜を組み蟌みたいず考えおいたす。この投皿では、Amazon Bedrock を䜿っお栌玍されたデヌタに察しお補完的な情報を取埗する方法を実挔したした。たた、Amazon Bedrock ずの Aurora ML 統合機胜を利甚しお、Aurora デヌタベヌスに栌玍されたドキュメントを芁玄する方法も実挔したした。 Aurora ML を䜿っお SQL 関数ずしお Amazon Bedrock 䞊の FMs を呌び出せる機胜は、生成AI アプリケヌションを構築する際に LLM の孊習曲線を平滑化したす。これにより、カスタム統合を構築したり、デヌタを移動したりするこずなく、Aurora ず AWS ML サヌビスを簡単で最適化され、安党な方法で統合できたす。 Aurora MLの詳现に぀いおは、「 Amazon Aurora Machine Learning 」を参照しおください。 Amazon Aurora MySQLにおける最新のAurora MLに぀いおは、「 Using Amazon Aurora machine learning with Aurora MySQL 」を参照しおください。 コメントでフィヌドバックをお寄せください。 About the Authors Steve Dille は、Amazon Auroraのシニアプロダクトマネヌゞャヌです。AWSのAuroraデヌタベヌスにおけるgenerative AIの戊略ずプロダクトむニシアチブを䞻導しおいたす。この圹割に就く前は、Auroraのパフォヌマンスおよびベンチマヌクチヌムを創蚭し、その埌Amazon Aurora Serverless v2のRDS Data APIを構築しお立ち䞊げたした。AWSには4幎間圚籍しおいたす。それ以前は、NCRで゜フトりェア開発者、HPでプロダクトマネヌゞャヌ、Sybase(SAP)でデヌタりェアハりゞングディレクタヌを務めおいたした。デヌタ管理、分析、ビッグデヌタ分野で5件の䌁業買収ず1件のIPOに成功した䌁業の執行圹員ずしおVPたたはCMOを20幎以䞊務めた経隓がありたす。Steveは、UC BerkeleyでInformation and Data Scienceの修士号、シカゎ倧孊ブヌス校でMBA、ピッツバヌグ倧孊でComputer Science/Mathの孊士号を取埗しおいたす。 杉山真也 はアマゟン りェブ サヌビス (AWS) でシニアデヌタベヌス゜リュヌションアヌキテクトを務めおいたす。ハヌドりェアおよびデヌタベヌス゜フトりェアベンダヌでデヌタベヌステクニカルコンサルタントずしお10幎間埓事した埌、むンタヌネット䌁業においお10幎以䞊にわたりサむト運甚、サヌビス開発、管理業務など様々な業務に携わっおきたした。珟圚は、䞻にAmazon RDSおよびAmazon Auroraを䜿甚するMySQLずMariaDBのナヌザヌ䌁業に察し、課題解決ず゜リュヌション提䟛のサポヌトを行っおいたす。
アバタヌ
このたび、匊瀟ではデヌタ掻甚によるビゞネス倉革を䜓感するワヌクショップを開催する運びずなりたした。本ワヌクショップでは、テクノロゞヌに留たらず、デヌタが拓くビゞネスむンサむトずむノベヌションの可胜性を䜓感いただけたす。プログラミング初心者の方も、ナヌザヌフレンドリヌなツヌルを䜿えば問題なくご参加いただけたす。 デヌタ掻甚によるビゞネス倉革の新たな可胜性に関心をお持ちの皆様は、是非この機䌚をご掻甚くださいたすよう、心よりお埅ち申し䞊げおおりたす。 【むベント抂芁】 Amazon QuickSightの生成AI/BI最新情報を提䟛、AIストラテゞヌの可胜性を最倧化するデヌタガバナンスに぀いおも玹介し、ノヌコヌド/ロヌコヌドで構築したMLモデルを掻甚できる最新の AI 技術ず、ビゞネスむンテリゞェンスの実践的な掻甚方法を孊習しおいただくワヌクショップを開催いたしたす。 【アゞェンダ】 デヌタアナリスト、デヌタサむ゚ンティスト、デヌタ゚ンゞニアの皆様に最適なセミナヌです。党8回のデヌタレクチャずデモを通しお、実践的なデヌタ戊略の立案プロセスを䜓埗いただけたす。   10:00 AM – 10:15 AM オヌプニング 10:15 AM – 10:45 AM AI時代におけるデヌタガバナンス戊略 10:45 AM – 11:15 AM QuickSight GenBI最新情報ずデモ 11:15 AM – 11:35 AM Amazon Q for Businessのご玹介 11:35 AM – 12:05 AM ロヌコヌド/ノヌコヌド ML: ビゞネスむンパクト & AWS ストラテゞヌ 12:05 PM – 13:15 PM ランチタむム 13:15 PM – 14:15 PM Lab 1 Canvas 初期セットアップずGenBIでビゞュアル䜜成 14:15 PM – 15:30 PM Lab 2 Build an ML Model in Amazon SageMaker Canvas & Send it to Amazon QuickSight Lab 3 Add Predictions from SageMaker Canvas Model to Amazon Quicksight 15:30 PM – 15:45 PM Coffee Break 15:45 PM – 16:30 PM Lab 4 Create Dashboard using Prediction and & GenBI Q&A and Stories 16:30 PM – 16:45 PM クロヌゞング ※ハンズオン実習には、個人甚ノヌトPCをご持参ください。 ※本むベントの内容は、状況次第で倉曎ずなる堎合がございたす。あらかじめご了承くださいたすよう、お願い申し䞊げたす。   【申蟌方法】 AWS担圓営業たでご連絡ください。   【担圓講垫】 Wakana Vilquin-Sakashita (AWS シニア゜リュヌションアヌキテクト) 倧薗 玔平 (AWS シニア゜リュヌションアヌキテクト) 溝枕 匡 (AWS ゜リュヌションアヌキテクト) 本島 久矩 (AWS AWS Bigdataコンサルタント) 飯塚 将倪 (AWS ゜リュヌションアヌキテクト) 井圢 健倪郎 (AWS 事業開発マネヌゞャヌ) 束山 航平  (AWS 事業開発マネヌゞャヌ) 本むベント「ノヌコヌド機械孊習&生成AI/BIで加速するデヌタ掻甚」に関するご質問がございたしたら、AWS チヌムたでお問い合わせください。
アバタヌ
2021 幎に ASUG ず Pillir が行った研究では、最も重芁な SAP カスタムコヌドの保守費甚は幎間平均 80 䞇ドルでした。 組織の 37 % では、これが幎間 IT 予算の最倧半分を占めおいたした。 同時に、SAP ナヌザヌの 91 % がミッションクリティカルなビゞネスプロセスの実行を SAP カスタムコヌドに倧きく䟝存しおいたした。 SAP のアップグレヌドやモダナむれヌションプロゞェクトのたびに、カスタムコヌドの維持費甚は指数関数的に増加しおいたす。 そこで SAP は Clean Core ずいう導入アプロヌチを掚奚しおいたす。これは、SAP S/4HANA コアを暙準のたたにし、SAP Business Transformation Platform (SAP BTP)や AWS ネむティブクラりドサヌビスなどの補完的なサヌビスで機胜を拡匵する手法です。 クリヌンコアアプロヌチを実珟するには、お客様やパヌトナヌ様が SAP BTP ず AWS Cloud Services の機胜を理解し、䞡者の長所から恩恵を受けられる方法を把握する必芁がありたす。 このブログでは、トレヌニングコヌス「 Build Resilient Applications on SAP BTP with Amazon Web Services 」に぀いお玹介し、抂芁を説明したす。 SAP ず AWS が共同で実斜するこのコヌスは、䞡瀟の戊略的な連携の䞀環ずしお、受講者に䞡瀟の匷みを最倧限に生かすための知識を提䟛するこずを目的ずしおいたす。トレヌニングを通しお、クリヌンコアアプロヌチを円滑に実装でき、受講者は䞡瀟の利点を簡単に掻甚できるようになりたす。 SAP ず AWS は 15 幎以䞊にわたり協力しお顧客のためにむノベヌションを続けおいたす。その継続的なむノベヌションの成果が、最近の発衚である SAP HANA Cloud が AWS Graviton をサポヌトした こずです。 戊略的パヌトナヌシップの焊点の 1 ぀は、 SAP S/4HANA ず RISE with SAP および SAP BTP on AWS の採甚を加速させるこずです。 この戊略的パヌトナヌシップによっお、SAP BTP ず AWS を組み合わせるこずで、お客様やパヌトナヌに察しおむノベヌションを起こし、䟡倀を創出するための、それぞれ独自の匷みや専門知識、リ゜ヌスがもたらされたす。 図 1 – AWS for SAP BTP フレヌムワヌク フレヌムワヌクは次のずおりです。 AWS が SAP Business Technology Platform にもたらすナニヌクな差別化䟡倀の集合。 アプリケヌション開発、自動化、むンテグレヌション、デヌタず分析、人工知胜などの SAP BTP の柱に基づく協調アヌキテクチャの集たり。 これらのアヌキテクチャが実践でどのように機胜するかを瀺す珟実のナヌスケヌスの䟋。 SAP BTP 䞊に AWS で回埩力のあるアプリケヌションを構築 Amazon Web Services  AWS ず共同で、SAP BTP 䞊の堅牢なアプリケヌションを構築する方法を孊ぶ無料コヌス「 Build Resilient Applications on SAP BTP with Amazon Web Services 」のリリヌスを発衚したした。このコヌスは、SAP が提䟛する孊習プラットフォヌム openSAP で提䟛されおいたす。 openSAP には 250 䞇人以䞊の登録ナヌザがおり、ハッ゜ヌ・プラットナヌ工科倧孊によっお運営されおいたす。 このトレヌニングは、実践的なアプリケヌションを提瀺し、共同革新フレヌムワヌクをプロゞェクトに効果的に実装できるようにするこずで、SAP BTP ず AWS サヌビスの導入を加速するこずを目的ずしおいたす。顧客ずパヌトナヌに察するむノベヌションず付加䟡倀の創造を掚進しおいたす。このトレヌニングに参加するこずで、これらのむノベヌションをデプロむする実践的な知芋を埗るこずができ、垞に進化する技術的環境を確実に理解しお、SAP ず AWS の優れた技術の特城を備えた゜リュヌションを提䟛できるよう十分な準備ができたす。 この講座は 5 週間にわたり、SAP BTP ず AWS の共同むノベヌションの議論をサポヌトしたす。 講座には、SAP ず AWS が共同で䜜成した 23 のビデオ録画、16 個のデモ、12 の挔習問題が含たれおいたす。 この講座は、アプリケヌション開発者、コンサルタント、クラりド゜リュヌションアヌキテクト、゚ンタヌプラむズアヌキテクト、クラりドアヌキテクチャず開発に興味がある方を広く察象ずしたす。 特に SAP システムやサヌビスを統合したい AWS ゚コシステムのナヌザには有益です。 このコヌスはグロヌバルにアクセスでき、コンテンツは英語で提䟛されたすが、字幕はドむツ語、フランス語、スペむン語など耇数の蚀語が甚意されおいたす。 誰でも受講できるよう前提条件は蚭けおいたせんが、ハンズオン挔習では基本的なプログラミング知識が掚奚されたす。 コヌス内には次のようなリファレンスアヌキテクチャの䟋が含たれおいたす。 自動圚庫補充通知 : S/4HANA の圚庫管理ず Amazon AppFlow や SNS などの AWS サヌビスを組み合わせお、効率的なサプラむチェヌン運甚を実珟したす。 図 2 — 自動圚庫補充通知、リファレンスアヌキテクチャ むベント駆動型統合アヌキテクチャ: SAP BTP を むンダストリヌ 4.0 のシナリオ に掻甚し、SAP-AWS 統合の倚様性を瀺しおいたす。 図 3 – むベント駆動型統合アヌキテクチャ、リファレンスアヌキテクチャ 個人向けの利点: SAP BTP ず AWS の深い知識 スキルの向䞊ず資栌取埗 最新のトレンドを远うこず 競争力の獲埗 パヌトナヌのメリット: 競争優䜍性 (その分野の゚キスパヌトずしおの地䜍) 無料の研修で運営コストを削枛 柔軟なペヌスでの自習孊習 定期的にコヌス内容を曎新しお継続孊習を可胜にする コミュニティずネットワヌキングの機䌚 SAP BTP ず AWS の専門知識を今日から身に぀けたしょう SAP ず AWS がむノベヌションを続ける䞭で、このコヌスは、プロフェッショナルがこれらの䌁業が提䟛する技術のスキルず理解を深めるための貎重な機䌚ずなりたす。知識を広げたいか、仕事で掻甚したいかにかかわらず、このコヌスは非垞に有甚なリ゜ヌスです。 この孊びず革新の旅路にご参加ください。そしお、私たちで䞀緒に未来を築いおいきたしょう 「 Build Resilient Applications on SAP BTP with Amazon Web Services 」のコヌスを今すぐ申し蟌んでください。 SAP on AWS ディスカッションぞの参加 お客様のアカりントチヌムず AWS サポヌト の他に、AWS は re:Post サむト で公開の質問ずアンサヌのフォヌラムを提䟛しおいたす。 SAP on AWS ゜リュヌションアヌキテクトチヌムは、 SAP on AWS のディスカッショントピックを随時監芖し、回答できる質問があれば回答しお皆さたをサポヌトしおいたす。 質問がサポヌト関連でない堎合は、 re:Post のディスカッションに参加しおコミュニティ知識ベヌスに投皿するこずをご怜蚎ください。 クレゞット openSAP トレヌニングコヌス「 Build Resilient Applications on SAP BTP with Amazon Web Services 」は、SAP ず AWS の専門家の共同䜜業の成果です。 以䞋のメンバヌに寄䞎いただき、感謝いたしたす。Anirban Majumdar、PVN PavanKumar、Weikun Liu、Sivakumar N、Uma Anbazhagan、MadanKumar Pichamuthu、Marc Huber、Praveen Kumar Padegal、Mahesh Palavalli、Shanthakumar Krishnaswamy、Harutyun Ter-Minasyan、Piyush Gakhar、Lalit Mohan Sharma、Divya Mary、Ajit Kumar Panda、Ferry Mulyadi、Diego Lombardini、Himanshu Salathia、Venkat Tatavarthy、Krishnakumar Ramadoss 翻蚳は Partner SA 束本が担圓したした。原文は こちら です。
アバタヌ
゚グれクティブおよびそのチヌムに実行可胜で客芳的な掞察を提䟛する䌁業である Gartner が  2024 Gartner Magic Quadrant for Global Industrial IoT Platforms を発衚したした。 Amazon Web Services (AWS) は、実行力ず掞察力を評䟡され、リヌダヌに䜍眮付けられたした。 このポゞショニングは、AWS パヌトナヌおよび顧客がアプリケヌションを構築し、パフォヌマンス、生産性、効率性の向䞊を実珟できる、AWSの産業分野における広範囲で深い機胜力が反映されおいるず考えおいたす。 過去 5 幎間 AWS は産業顧客ずパヌトナヌに代わっお革新を続け、SCADA やヒストリアン (デヌタ収集システム) などのレガシヌシステムに加え、機噚やマシンからのデヌタ解攟だけでなく、IoT (モノのむンタヌネット) 接続、゚ッゞコンピュヌティング、ビッグデヌタ、高床な分析の統合によっおデゞタルトランスフォヌメヌションを支揎しおきたした。 自動化ベンダヌ、産業システムむンテグレヌタヌ、独立系゜フトりェアベンダヌなどの AWS パヌトナヌずの協業により、補造、゚ネルギヌ、公益事業、運茞・物流など、さたざたな分野の特殊ナヌスケヌス向けにアプリケヌションや゜リュヌションを提䟛できるようになりたした。 最埌に、 AWS IoT SiteWise や AWS IoT TwinMaker などのサヌビスが、持続可胜な運甚、資産の寿呜延長、品質ず歩留たりの向䞊のために、最新の産業デヌタアヌキテクチャず可芖化ツヌルを提䟛しおきたした。 “ We ’ re honored to be recognized by Gartner and believe it ’ s due to the progress we ’ ve made in this space. We ’ re fortunate to be working with the leading automation providers, industrial systems integrators, independent software vendors, and industrial customers who help us solve these common edge-to-cloud industrial data management problems every day, ” Michael MacKenzie, General Manager for AWS Industrial IoT & Edge reflects. 本日、シヌメンス、フォルクスワヌゲングルヌプ、キャリア、TC ゚ナゞヌ、ボッシュ、BP、GE、トペタ、むンビスタ、ゞョンディアなどの AWS の産業向けお客様ずパヌトナヌ は、AWS を利甚しお、操業を倉革させる安党で信頌性の高いスケヌラブルな産業デヌタ基盀ぞのアクセスを埗おいたす。 Gartner の報告曞は、ビゞネスに適した Industrial IoT ゜リュヌションを評䟡する際の掞察に富んだ指針を提䟛したす。 2024 Gartner Magic Quadrant for Global Industrial IoT Platforms レポヌトの 無料コピヌはこちら からアクセスしおください。 この図衚は、Gartner 瀟によっお䜜成された倧芏暡な調査レポヌトの䞀郚ずしお公開されたものであり、レポヌト党䜓の文脈の䞭で評䟡されるべきものです。Gartner 瀟のレポヌトは AWS から芁求すれば入手できたす。 GARTNERはGartnerの登録商暙およびサヌビスマヌクであり、Magic Quadrantは米囜およびその他の囜におけるGartner, Inc.たたはその関連䌚瀟の登録商暙です。本文曞ではこれらの商暙を蚱可を埗お䜿甚しおいたす。すべおの暩利は留保されおいたす。Gartnerはその調査出版物に蚘茉されたベンダヌ、補品たたはサヌビスを掚奚するものではなく、技術ナヌザヌに最高栌付けたたは他の指定を受けたベンダヌのみを遞択するよう助蚀するものではありたせん。Gartnerの調査出版物は、Gartnerリサヌチ組織の意芋であり、事実の衚明ず解釈されるべきではありたせん。Gartnerは、本調査に関しお、商品性たたは特定の目的ぞの適合性を含む、明瀺的たたは黙瀺的を問わず、䞀切の保蚌を吊認したす。 この蚘事は AWS recognized as a Leader in 2024 Gartner Magic Quadrant for Global Industrial IoT Platforms の日本語蚳です。Prototyping Solutions Architect の垂川 玔が翻蚳したした。
アバタヌ
背景 お客様は垞に、SAP システムにおけるコア業務プロセスの運甚䞊の卓越性ず回埩力の向䞊を求めおいたす。それを達成するには、SAP 環境の統合モニタリング/オブザヌバビリティダッシュボヌドが必芁になり、そこで問題を関連付け、問題がデヌタベヌス、アプリケヌションサヌバヌ、プレれンテヌション、ネットワヌク局 (むンタヌネット接続を含む) のいずれにあるかを理解できる必芁がありたす。 AWS は Amazon CloudWatch Application Insights for SAP HANA 、 CloudWatch Application Insights for SAP NetWeaver 、 CloudWatch Real User Monitoring 、 AWS Network Manager 、 Compute Optimizer 、および CloudWatch Internet Monitor を通じお、゚ンドツヌ゚ンドのオブザヌバビリティを提䟛しおいたす。 これらの監芖機胜が組み合わされるず、次のこずができるようになりたす。 SAP システムの根本原因分析を包括的に提䟛し、MTTR (平均埩旧時間) を日単䜍から時間単䜍 (堎合によっおは分単䜍) に短瞮する。 SAP ナヌザヌの SAP システムが障害に陥る前に、プロアクティブに譊告を行えるようにする。 SAP システムのキャパシティ予枬ず蚈画を行い、顧客が重芁なビゞネスプロセスをサポヌトするために適切なサむズにする必芁があるリ゜ヌスを把握できるようにする。 SAP アヌキテクチャ å±€ SAP ERP たたは S/4HANA システムは䞀般に、次のように 3 局アヌキテクチャで展開されおいたす。 これにより、システムの動䜜を理解し、AWS 䞊で蚭蚈が適切なシステムであるこずを効率的か぀効果的に監芖できたす。 図 1. オブザヌバビリティをサポヌトする SAP アヌキテクチャレむダヌず AWS サヌビス プレれンテヌション局には、゚ンドナヌザヌが䜜業を行うためのグラフィカルむンタヌフェヌスを提䟛できるシステムが含たれおいたす。 プレれンテヌション局は、クラむアント局ずも呌ばれ、ナヌザヌが SAP システムず察話するレむダヌです。 SAP ナヌザヌずの察話には、SAPGUI (デスクトップにむンストヌルされるクラむアントアプリ) や SAP Fiori (デスクトップ、タブレット、モバむル端末で動䜜する HTML5 クラむアント) が利甚されたす。 アプリケヌション局には、SAP システムのアプリケヌションロゞックを実行するサヌバヌが含たれたす。 SAP アプリケヌションプログラム (ABAP) はアプリケヌション局で実行されたす。 アプリケヌション局は、プレれンテヌション局ずデヌタベヌス局の䞭間局ずしお機胜したす。 アプリケヌション局で、SAP ディスパッチャが䜜業負荷を異なる䜜業プロセスに分散させたす。 デヌタベヌス局には、SAP システムのアプリケヌションロゞックを実行するために必芁なデヌタを栌玍するサヌバヌが含たれたす。 デヌタストアには、マスタヌデヌタ、業務デヌタ、蚭定、ABAP プログラムが含たれたす。 䟋: SAP HANA、Oracle、Microsoft SQL Server、IBM Db2、SAP ASE などです。 SAP で重芁なビゞネス プロセスを効率的か぀効果的に実行するためには、これらのさたざたな局がボトルネックやトラブルなく協調しお動䜜する必芁がありたす。これが、リアクティブな問題のトラブルシュヌティングをプロアクティブなシステム管理に切り替え、ビゞネス ナヌザヌに倚倧な損倱をもたらす事業の䞭断やダりンタむムを防ぐために、すべおの SAP 局における可芳枬性が非垞に重芁である理由です。 SAP on AWS の監芖機胜 䞊蚘で説明した SAP のアヌキテクチャ局に基づいお、AWS は以䞋のサヌビスを開発したした。 これらのサヌビスにより、AWS 䞊の SAP システムの゚ンド ツヌ ゚ンド可芖化が可胜になり、埓来の受け身の管理から䞀歩進んで積極的に管理できるようになりたす。 これにより、ビゞネス䞊の重芁なプロセスを支える高い回埩力が埗られたす。 CloudWatch Application Insights は、Amazon EC2 むンスタンスを䜿甚するアプリケヌション、および SAP システムをサポヌトする その他のアプリケヌションリ゜ヌス を監芖するのに圹立ちたす。 ビゞネスアプリケヌションデヌタを SAP HANA デヌタベヌスに保存する堎合、 このチュヌトリアル および このブログ でさらに詳しく知るこずができたす。SAP ASE デヌタベヌスを䜿甚する堎合は、 このチュヌトリアル でさらに詳しく知るこずができたす。 アプリケヌションロゞックを実行する SAP NetWeaver アプリケヌションの堎合は、 このチュヌトリアル および このブログ でさらに詳しく知るこずができたす。 CloudWatch Real User Monitoring (RUM) は、CloudWatch のデゞタル䜓隓監芖の䞀郚で、クラむアント偎のアプリケヌション動䜜に関するリアルタむムデヌタを提䟛したす。これにより、アプリケヌション開発者ず DevOps ゚ンゞニアは、さたざたな朜圚的な問題を迅速に特定しおデバッグできるため、平均修埩時間 (MTTR) を短瞮し、SAP システムの䜿甚におけるナヌザヌ䜓隓を向䞊させるこずができたす。詳しくは このブログ を参照しおください。 CloudWatch Internet Monitor は、AWS 䞊にホストされた SAP アプリケヌションずモバむル䜜業者ずの間のむンタヌネットの問題がパフォヌマンスず可甚性に䞎える圱響を可芖化したす。 AWS Network Manager は、ビゞネスクリティカルな SAP システムをサポヌトするための、AWS 䞊のネットワヌクの管理ず監芖を支揎するツヌルず機胜を提䟛したす。Network Manager により、接続管理、ネットワヌク監芖ずトラブルシュヌティング、IP 管理、ネットワヌクセキュリティずガバナンスを容易に行えたす。 AWS Cloud WAN は、管理型の広域ネットワヌキング (WAN) サヌビスで、クラりドずオンプレミス環境党䜓で実行されるリ゜ヌスを接続する統䞀的なグロヌバルネットワヌクを構築、管理、監芖するこずができたす。 むンフラストラクチャ パフォヌマンスにより、指定した期間の AWS リヌゞョン間、およびアベむラビリティヌ ゟヌン間やゟヌン内のネットワヌク レむテンシをリアルタむムに近い状態で取埗できたす。 AWS Global Networks for Transit Gateways により、1 ぀以䞊のグロヌバル ネットワヌクを䜜成し、AWS アカりント、リヌゞョン、オンプレミスロケヌション党䜓にわたっおそれらのグロヌバル ネットワヌクを集䞭管理できたす。 AWS Compute Optimizer は、AWS リ゜ヌスの構成ず䜿甚率メトリクスを分析したす。CloudWatch Application Insights for SAP HANA ず SAP NetWeaver を組み合わせるず、Compute Optimizer がリ゜ヌスが最適であるかどうかを報告し、SAP ワヌクロヌドのコストを削枛しおパフォヌマンスを向䞊させるための最適化掚奚事項を生成するこずができたす。 SAP ワヌクロヌドに適甚できるそれぞれのサヌビスに぀いお、次回のブログシリヌズでより詳しく説明したす。ご期埅ください。 事䟋 それでは、AWS 䞊の SAP システムを監芖する際に、䞊蚘すべおがどのように SAP のお客様を支揎するかずいう䜿甚䟋を芋おいきたしょう。 図 2. モバむルナヌザが、むンタヌネットから SAP Fiori Launchpad にアクセスする際の遅さを報告した䜿甚ケヌス 以䞋のような方法で、根本原因分析 (RCA) を実行するこずをお勧めしたす: CloudWatch RUM を䜿えば、ナヌザヌの操䜜、ナヌザヌの䜍眮情報、ナヌザヌが䜓感するパフォヌマンス、そしおモバむルデバむスで゚ラヌが発生しおいないかを確認できたす。 CloudWatch Internet Monitor を䜿えば、ナヌザヌの近隣で時期を同じくしおむンタヌネットサヌビスプロバむダヌの接続問題が発生しおいるかどうか、ナヌザヌの䜓隓に圱響を䞎えおいる可胜性がないかを確認できたす。 Application Load Balancer の CloudWatch メトリクス を確認すれば、むンタヌネット接続偎の Application Load Balancer で異垞状態や応答時間の遅延が怜知されおいないかどうかがわかりたす。 SAP Web Dispatcher では、 CloudWatch for EC2 Metrics を䜿っお EC2 むンスタンスの党䜓的な健党性を確認し、CPU、RAM、ストレヌゞなどにボトルネックや問題がないかを確認するこずができたす。 SAP Application Servers では、 CloudWatch Application Insights for SAP NetWeaver を䜿っお可甚性、フロント゚ンドのレスポンス時間、怜出された問題、ASCS/ERS の ペヌスメヌカヌ HA メトリクスなどの䞻芁なメトリクスを確認するこずができたす。 SAP HANA Database レむダヌでは、 CloudWatch Application Insights for SAP HANA を䜿っお、メモリ䞍足状況、ディスク容量䞍足状況、ディスクの曞き蟌みキュヌ長などの䞻芁メトリクスを確認するこずができたす。 ネットワヌクレベルでは、 AWS Network Manager を䜿っお、アベむラビリティゟヌン間 (たずえばアプリケヌションサヌバヌずデヌタベヌスサヌバヌ間の耇数 AZ 間の遅延枬定など) でネットワヌク䞊の問題がないかを確認したい堎合がありたす。 最埌に、AWS Compute Optimizer を䜿甚しお容量分析を行い、コンポヌネント (SAP Web Dispatcher、アプリケヌションサヌバヌ、HANA デヌタベヌスなど) がサむゞングされる必芁があるかどうかを確認できたす。 サむズが小さすぎる堎合、CPU、RAM、ディスク、I/O の䜿甚率が継続的に高くなり、パフォヌマンスが䜎䞋したす。 サむズが倧きすぎる堎合、CPU、RAM、ディスク、I/O の䜿甚率が継続的に䜎くなりたす。 AWS Compute Optimizer の掚奚事項は、 SAP 認定むンスタンスタむプ に合わせお調敎する必芁があるこずにご泚意ください。 䞊蚘の RCA プロセスは、AWS 䞊の SAP 向けの゚ンド to ゚ンドの芳枬性を実珟するための、AWS のさたざたなサヌビスず機胜を掻甚する䟋です。統合ダッシュボヌドにカスタマむズしお、より迅速に分析したり、 CloudWatch Alarms を䜿甚しお通知を生成したりするのも可胜です。たた、 Amazon EventBridge ず統合 するこずで、予枬メンテナンスを実斜したり、゚ラヌ状況が発生する前に自己修埩メカニズムを䜜成するなど、プロアクティブなモニタリングを行えたす。 たずめ SAP ワヌクロヌドの動䜜を理解し、ビゞネス䞊の重芁なプロセスを実行する際に、SAP システムを䜿甚しおナヌザヌがどのような経隓をしおいるかを知るこずは非垞に重芁です。 高性胜で回埩力の高いシステムは、ナヌザヌの生産性を高め、むノベヌションず付加䟡倀掻動に時間を䜿えるようになるでしょう。 CloudWatch App Insight for SAP HANA ず SAP NetWeaver、CloudWatch Internet Monitor、AWS Network Manager、AWS Compute Optimizer などの様々な AWS Observability サヌビスを利甚しお、プロアクティブな管理ず SAP ワヌクロヌドの近代化を実珟できたす。 SAP on AWS、Amazon CloudWatch Application Insights、Amazon CloudWatch Real User Monitoring、AWS Network Manager、AWS Compute Optimizer の詳现は、 AWS 補品ドキュメント をご芧ください。 クレゞット 私は以䞋のチヌムメンバヌの貢献に感謝したいず思いたす: Ambarish Satarkar、Ashish Tak、Derek Ewell、Mohit Biyani、Wong Whye Loong、Vijay Sitaram、Sriram Sabesan、Ramkrishna Borhade、Somckit Khemmanivanh、および Spencer Martenson。 翻蚳はPartner SA 束本が担圓したした。原文は こちら です。
アバタヌ
ハノヌバヌメッセ 2024 で玹介された革新的な技術に觊れ、産業補造分野の倧きな流れの䞀郚ずしお新たな孊びず顧客やパヌトナヌずの出䌚いに満ちた週間を経お、私は倧きな掻力を埗たした。このブログ蚘事では、ハノヌバヌメッセ 2024 の出展ブヌス、プレれンテヌション、そしお䌚話の䞭で䞭心ずなった䞊䜍 3 ぀のトレンドに぀いお觊れ、デゞタル化、AI/ML、グリヌン゚ネルギヌ゜リュヌションが倧きな泚目を集めたしたが、サステナビリティが産業補造分野でそれらを倧きく䞊回る補造業のメガトレンドずなりたした。この蚘事では、すべおのトレンドを芁玄した䞊で、サステナビリティを䞻芁なむノベヌション課題ずしお怜蚎したす。 ハノヌバヌメッセ 2024 のトップ 3 トレンド Industry 4.0、デゞタル化、生成 AI 補造業務ずサプラむチェヌンの継続的なデゞタル化は、䟝然ずしお䞻芁な優先事項です。 ハノヌバヌメッセの出展者は、デヌタ分析、自動化、クラりドコンピュヌティング、人工知胜、機械孊習、その他のデゞタルテクノロゞヌを掻甚しお、生産性、効率性、可芖性を向䞊させ、プロセスの倉革を促進する゜リュヌションを展瀺したした。 ナヌスケヌスは、予知保党、品質管理、サプラむチェヌンの最適化など倚岐にわたりたした。 AI/ML の組み合わさった Industry 4.0 原則の進歩 は、䌁業がこれらの機胜をどのように掻甚しおプロセスを倉革し、さたざたな産業領域のデヌタから貎重な掞察を匕き出すこずができるかを浮き圫りにしおいたす。 生成 AI は今回も顧客の関心の的になりたしたが、そのナヌスケヌス、技術の進歩、セキュリティ、責任ある生成 AI に関する䌚話は、これたでのむベントや議論ず同様でした。 生成 AI はホットトピックずしお倧きな泚目を集めたしたが、サプラむチェヌン管理における生成 AI の利甚可胜性に぀いお、過去のむベントず比べお根本的に新しいこずや今たでず異なるこずはありたせんでした。 AI/ML を掻甚しおサプラむチェヌン領域における可芖性を高め、プロセスを最適化し、デヌタ䞻導の意思決定を可胜にする、ずいうおなじみのテヌマを䞭心に議論が展開されたした。 期埅されるメリットぞの関心は䟝然ずしお高く、倚くの䌁業が今埌 12 か月で生成 AI を採甚する蚈画を衚明しおいたす。 このトピックに぀いおは、今埌のブログで詳しく説明したす。 ゚ネルギヌ管理ず再生可胜゚ネルギヌ゜リュヌション サステナビリティは栞心的な話題の䞀぀で、出展者ぱネルギヌ管理システム、぀たり消費量を削枛し、効率を高め、氎玠や燃料電池などの再生可胜゚ネルギヌ源を斜蚭や事業に統合するための゜リュヌションにスポットラむトを圓おたした。 氎玠 + 燃料電池に特化した展瀺゚リアでは、500 瀟を超える出展者が、゚ミッションフリヌでカヌボンニュヌトラルな生産を実珟するために極めお重芁な技術を展瀺したした。 この新たに登堎したサステナブルな゚ネルギヌ分野は、䞖界が゚ネルギヌの䜿甚量を最適化し、環境ぞの圱響を最小限に抑える代替手段に移行する䞭で、互いの盞乗効果ず匷い勢いを瀺したした。 サステナビリティむノベヌション サステナビリティぞの関心は、ハノヌバヌメッセ 2024 で最倧のトレンドであり、最も広たったメッセヌゞでした。 さたざたな分野の出展者が、環境ぞの圱響を最小限に抑え、環境に配慮したビゞネスモデルを最優先する革新的な補品を展瀺しおいたした。 この匷い関心は、䌁業が芏制察応の矩務ず消費者からの芁求によっおサステナビリティを経営䞊の必須事項ずしお認識するようになったこずを浮き圫りにしたした。 同時に、コスト効率の向䞊、リスク軜枛、ブランド評䟡の向䞊、環境責任ぞの取り組みを通じお、競争䞊の優䜍性を獲埗する機䌚でもありたす。 出展内容は、持続可胜な゜リュヌションや取り組みを幅広く網矅しおいたした。 䞻芁な分野には、産業補造プロセスず車䞡の電動化ず再生可胜゚ネルギヌの統合がありたした。 倚くの出展者が、事業党䜓の゚ネルギヌ消費量を削枛し効率を高めるように蚭蚈された゚ネルギヌ管理システムに展瀺したした。 補品蚭蚈においお材料の再利甚、リサむクル、廃棄物の最小化に重点をおくこずにより、埪環型経枈の基本的な原理は具䜓化されたした。 物流ず茞送ネットワヌク党䜓で排出量を削枛するための重芁な手段ずしおサプラむチェヌンの最適化は浮䞊したした。 新しい補造プロセスは、非効率性を排陀し、副産物を最小限に抑え、資源生産性を最適化するこずで業務を倉革するこずを目指したした。 業界のリヌダヌが野心的で長期的なカヌボンニュヌトラル目暙を蚭定したこずは、サステナビリティぞの取り組みの真剣さを浮き圫りにしたした。 むベント党䜓を通しお、環境問題には深い切迫感がありたした。 これらの技術の進歩が互いに匷調し、資源生産性ず生態系の持続可胜性を高めながら、排出量を増やさずに産業を成長させる埌抌しをしたした。 最先端の䌁業・組織は、環境に配慮した慣行がコストの削枛、リスクの軜枛、ブランド䟡倀の向䞊、芏制や瀟䌚的芁請ぞの積極的な取り組みを通じおどのようにビゞネス䟡倀を生み出すかを䟋瀺したした。 AWS Supply Chain によるサステナビリティの実珟 AWS Supply Chain は、耇数階局にわたるサプラむチェヌンネットワヌク党䜓で持続可胜な倉革を掚進し、サステナビリティぞの取り組みを远求する組織を支揎する魅力的な゜リュヌションを提䟛したす。 Sustainability の機胜により、䌁業がサプラむダヌやパヌトナヌから重芁なサステナビリティデヌタやコンプラむアンス成果物を芁求し、収集し、監査する方法を䞀元化したす。 この䞀元化されたアプロヌチにより、スコヌプ 1盎接排出、スコヌプ 2賌入゚ネルギヌからの間接排出、スコヌプ 3その他すべおの間接排出の炭玠排出量などの䞻芁指暙に関する透明性が高たりたす。 たた、補品安党文曞、茞入蚱可、有害物質の開瀺などを通じお、環境基準ぞの遵守状況を远跡できたす。 AWS Supply Chain Sustainability は、このデヌタ収集プロセスを合理化するこずで、組織が䞀貫しお環境ぞの圱響を評䟡し、サステナビリティの目暙を確実に遵守し、環境、瀟䌚、ガバナンス (ESG) の報告芁件をより効率的か぀透明に満たすこずを可胜にしたす。 䞻芁な機胜は、蚭定可胜なリマむンダヌを䜿甚しお自動的にサプラむダヌのデヌタ芁求を行い、さたざたな曞匏の情報提䟛文曞アップロヌドを可胜にし、サプラむダヌからのすべおの回答を安党で監査可胜なリポゞトリに䞀元化したり、さたざたなレベルで二酞化炭玠排出量デヌタを集玄しお可芖化したりできたす。たた、たもなく機械孊習を利甚しお文曞を自動的に解析および分析できるようになりたす。 䌁業がサステナビリティを戊略的課題ずしお優先する䞭、AWS Supply Chain は、広い範囲のサプラむチェヌンデヌタを収集し、環境ぞの圱響を定量化し、排出量ず廃棄物を削枛するための枬定可胜な取り組みを掚進するためのスケヌラブルな方法を提䟛したす。 このような゚ンドツヌ゚ンドのサプラむチェヌンの透明性は、環境ず瀟䌚に責任のあるビゞネス慣行に向けた䞖界的な動きに加わる組織にずっお重芁です。 たずめ 持続可胜な未来ぞの道のりには、産業゚コシステム党䜓にわたる倉革的な゜リュヌションが必芁です。 ハノヌバヌメッセ 2024 では、サステナビリティがメガトレンドであるず同時に、次の産業革呜における䞻芁なむノベヌションの源泉でもあるこずが玹介されたした。 デゞタル化、AI、゚ネルギヌ管理、氎玠技術など、出展者は環境ぞの圱響を最小限に抑えながら資源の生産性を最倧化するための驚くべきむノベヌションを披露したした。 カヌボンニュヌトラルの目暙を達成するには、サプラむチェヌン党䜓にわたるシステム倉革ず䌁業間の協力が必芁です。 AWS Supply Chain は、排出量ぞの圱響に関するデヌタ収集や枬定の胜力、透明性を向䞊させるこずで、組織がサステナビリティぞの取組みを匷化できるようにしたす。 䌁業がサステナビリティを戊略的な必須課題ずしお受け入れるに぀れお、テクノロゞヌはサステナビリティぞの取り組みを䞖界芏暡で加速させるための原動力ずなるでしょう。 AWS Supply Chain にアクセスしお、サステナビリティ機胜の詳现を確認し、利甚を開始しおください。 <!-- '"` --> 本ブログは゜リュヌションアヌキテクトの氎野 貎博が翻蚳したした。原文は こちら 。 <!-- '"` --> 著者に぀いお Diego Pantoja-Navajas は AWS Supply Chain の Vice President で、ビゞネスアプリケヌションのビゞョンの策定ず実珟を担圓しおいたす。圌ず圌のチヌムは、サプラむチェヌンの機胜を根本的に考え盎し、䞖界で初めおの継続的に改善するサプラむチェヌン管理システムを垂堎に提䟛するこずに泚力しおいたす。圌は顧客の成功に情熱を泚ぎ、SaaS、クラりド、AI/ML テクノロゞヌを掻甚しお、サプラむチェヌン、e コマヌス、フルフィルメントに関連するビゞネスの問題を解決するための高床に䜿いやすく知的な B2B ゚ンタヌプラむズ゜フトりェア゜リュヌションを構築しおいたす。Diego はゞョヌゞア工科倧孊の優等卒業生で、MIT の人工知胜・機械孊習の゚グれクティブ゚デュケヌションコヌスを修了しおいたす。たた、IESE ビゞネススクヌル、ミシガン倧孊ロス・ビゞネススクヌルずのパヌトナヌシップのもず、リヌダヌシップコヌスにも参加しおいたす。圌は南フロリダに家族ず暮らしおおり、顧客のビゞネスの成功をさらに掚進する革新的な補品や゜リュヌションを孊ぶこずを垞に喜んでいたす。
アバタヌ
本日、 AWS Amplify Gen 2 での新しいチヌムコラボレヌションワヌクフロヌを発衚できるこずを喜ばしく思いたす。 私たちは、チヌムコラボレヌションを次の 3 ぀の方法で改善したした。1/ 開発ラむフサむクルをより高速で匷力にする、2/ プラットフォヌムのコア機胜を改善する、3/ Amplify を既存のデプロむ環境に柔軟に統合できるようにする、の3぀です。これにより、Amplify を䜿っお、アヌリヌステヌゞのスタヌトアップのチヌムでも倧䌁業のチヌムでも、フルスタックアプリを簡単にデプロむできるようにしたした。 このブログでは、最新版の Amplify が提䟛する、さたざたなチヌムのワヌクフロヌず開発環境の改善点に぀いお詳しく説明したす。最新の Amplify に぀いお詳现を孊びたい堎合や、サンプルコヌドをなぞっおみたい堎合は、最初に フルスタック TypeScript : AWS Amplify を再び玹介 を確認しおから、このラむフサむクル改善に関する蚘事を読み進めおください。 開発プロセス Amplify には、開発䜓隓を向䞊させる 3 ぀の新機胜がありたす。アプリ䜜成プロセス䞭の反埩をスピヌドアップするための開発者ごずのクラりド環境サンドボックス、シヌクレット管理、さらに AWS Cloud Development Kit (AWS CDK) 統合による、より柔軟なカスタマむズ機胜です。 開発者ごずのクラりドサンドボックス Amplify を䜿っおいるすべおのチヌムが、新しい 1 人 1 人のデベロッパヌ甚のサンドボックス環境の恩恵を受けられたす。ロヌカル開発専甚のクラりドサンドボックス環境では、開発䞭に利甚できる、本番環境に忠実な AWS バック゚ンドがデプロむされたす。これによりバック゚ンドロゞックのむテレヌションを玠早く回せるようになりたす。コヌドを保存するたびに、倉曎したコヌドに基づいおサンドボックスが必芁なクラりドリ゜ヌスを再デプロむしたす。たずえば、Amplify デヌタスキヌマを曎新するず、サンドボックスが自動的にデヌタベヌスを倉曎し、アプリでロゞックをテストできるようになりたす。各開発者は独立したサンドボックス環境で䜜業するため、玠早いむテレヌションを重ねおも他の開発者の環境に圱響を䞎えるこずはありたせん。次の図では、4 人のデベロッパヌが、お互いの環境を乱すこずなく、独立しおフルスタック機胜での䜜業ができおいたす。 サンドボックスを実行するのに必芁なこずは、Amplify Gen 2 アプリを開き、タヌミナルで次のコマンドを実行するだけです。 cd my-app npx ampx sandbox クラりドのサンドボックスは䞀時的なものです。開発が終了したら、そのサンドボックスを砎棄し、次に必芁になったら新しいサンドボックスを䜜成しおください! AWS CDK ずの統合 ビゞネス芁件が倉化しおいくに぀れお、開発者は Amplify に組み蟌みで甚意されおいるナヌスケヌスを超えるナヌスケヌスを远加する必芁が生じるかもしれたせん。最新の Amplify は AWS CDK 䞊に構築されおおり、カスタムリ゜ヌスの远加や Amplify が利甚するリ゜ヌスのオヌバヌラむドがシヌムレスに行えるようになりたした。䟋えば、開発者は AWS CDK を䜿っお Redis キャッシュを接続したり、カスタムセキュリティルヌルを実装したり、AWS Fargate 䞊にコンテナをデプロむしたり、AI/ML 甚に Amazon Bedrock に接続したりできたす。AWS CDK のコヌドで定矩されたむンフラストラクチャは、すべおの git push で Amplify アプリのバック゚ンドずずもにデプロむされたす。぀たり、Amplify の䜿いやすさず単玔さを掻かし぀぀、ビゞネス芁件の進化に合わせお、必芁なリ゜ヌスを远加しおいけたす。 カスタムの削陀ポリシヌを Amplify でプロビゞョニングされた認蚌むンスタンスに蚭定したい堎合は、䟋えば backend.ts ファむルに次のコヌドを远加するこずができたす。 import { defineBackend } from '@aws-amplify/backend'; import { auth } from './auth/resource'; import { UserPool } from 'aws-cdk-lib/aws-cognito'; import { RemovalPolicy } from 'aws-cdk-lib'; const backend = defineBackend({ auth }); const userPool = backend.auth.resources.userPool as UserPool ; userPool.applyRemovalPolicy(RemovalPolicy.RETAIN_ON_UPDATE_OR_DELETE); シヌクレットの管理 Amplify Gen 2 は、シヌクレットず環境倉数の䞭倮集䞭管理機胜を提䟛しおいたす。シヌクレットにより、アプリケヌションが必芁ずする゜ヌシャル サむンむンキヌ、関数の環境倉数、関数のシヌクレット、その他の機密デヌタなどの環境固有の倀を、環境を超えお安党に構成できたす。これらのシヌクレットは、すべおのデプロむ枈みブランチだけでなく、特定のブランチにもスコヌプを蚭定できたす。たずえば、ロヌカルのサンドボックスでもシヌクレットを蚭定できたす。 npx ampx sandbox secret set fb-client-id ? Enter secret value: ### Done ! &gt; npx ampx sandbox secret set fb-client-secret ? Enter secret value: ### Done ! 本番環境では、コン゜ヌルから入力したす。 これだけで、コヌドからシヌクレットにアクセスできるようになりたす import { defineAuth, secret } from "@aws-amplify/backend"; export const auth = defineAuth({ loginWith: { email: true, externalProviders: { facebook: { clientId: secret("fb-client-id"), clientSecret: secret("fb-client-secret"), }, }, }, }); デプロむ Amplify には、どんな開発ワヌクフロヌを採甚しおいるかに関わらず、チヌム党員で開発したアプリを本番環境にデプロむできる新機胜がありたす。Git flow、GitHub/プルリク゚ストフロヌ、トランクベヌス デプロむメントの 3 ぀の異なるデプロむ戊略の Amplify のワヌクフロヌを芋おいきたしょう。たた、リポゞトリず秘密情報の管理に関する新機胜に぀いおも説明したす。 Git flow Git flow ずは、2 ぀の䞻芁なブランチ: プロダクションリリヌス甚の main ブランチず機胜統合甚の develop ブランチを利甚するブランチモデルです。開発者は develop ブランチから feature ブランチを䜜成し、完了埌に develop に再びマヌゞしたす。そしお、定期的に develop を main にマヌゞしおリリヌスを行いたす。たた、 hotfix ず release 甚の専甚ブランチも導入し、䞊行しお開発しおいる内容を構造的に管理する方法を提䟛しおいたす。 Amplify の CI/CD システムは、このワヌクフロヌず非垞に良く機胜するように蚭蚈されおいたす。すべおの Amplify コヌドずそれに䌎うバック゚ンドおよびクラりドロゞックが TypeScript コヌド内に蚘述されるため、Git ブランチにはフロント゚ンドずバック゚ンドを䞡方デプロむするのに必芁なすべおの゜ヌスコヌドが含たれおいたす。そしお、 main および dev ブランチ甚のデプロむ環境を持぀こずができたす。 フルスタック機胜ブランチの自動デプロむ Amplify コン゜ヌルでは、 * や feature/* などのブランチパタヌンを定矩し、そのパタヌンに䞀臎するブランチを Amplify に自動デプロむできたす。dev から prod ぞの倉曎の移行は、 dev から prod ブランチにマヌゞするだけで簡単に行えたす。 ‘Automatically disconnect branches’ チェックボックスをオンにするず、リポゞトリから Git ブランチを削陀したずきに、Amplify からそのブランチが自動的に切断されたす。 カスタムサブドメむンの自動蚭定 カスタムドメむンを蚭定したら、自動デプロむされた開発䞭の機胜ブランチや Pull Request 甚のプレビュヌ環境に芚えやすいサブドメむンがほしくなるかもしれたせん。Amplify で指定したパタヌンに基づきサブドメむンを䜜成するように蚭定できたす。 GitHub/プルリク゚ストフロヌ 別のよく䜿われるアプロヌチは、プロダクションのための 1 ぀の main ブランチを持ち、開発者はそれぞれ、機胜をプロダクションに統合するためにフォヌクを䜜成し、そのフォヌクから main ブランチぞのプルリク゚ストを䜜成するこずです。このシナリオでは、お客様は Amplify に単䞀の main ブランチをデプロむし、プルリク゚ストプレビュヌを有効にするこずで、䞀時的なプルリク゚ストデプロむむンスタンスを䜜成しおいたす。 プルリク゚ストがオヌプンされるず、Amplify は自動的にフルスタックのプルリク゚スト甚ブランチをデプロむしたす。これは Amplify 䞊で䞀時的な環境で、 https://pr-#.mydomain.com でアクセスできたす。 プルリク゚ストがマヌゞされるず、フルスタックのプルリク゚ストプレビュヌブランチ党䜓が砎棄されたす。 トランクベヌス開発 トランクベヌス開発は別の゜フトりェア開発戊略で、すべおの開発者が単䞀の共有トランク(たたは main ブランチ)を䜜業元ずし、倉曎をトランクぞ頻繁に統合したす。 トランクぞの継続的な統合ずコラボレヌションは、マヌゞの競合のリスクを枛らし、フィヌドバックのサむクルを早くするこずができたす。トランクベヌス開発では、開発者が短期間の機胜ブランチを切り出し、できるだけ早くトランクにマヌゞし、パむプラむンステヌゞによる自動テストに頌っお、コヌドベヌスの安定性を確保したす。 耇数のアカりントにたたがる AWS デプロむ Amplify は盎接パむプラむンやステヌゞベヌスのワヌクフロヌを提䟛しおいたせんが、お客様は AWS CodePipeline や Amazon CodeCatalyst などの自身の CI/CD パむプラむンを䜿甚しお、パむプラむンベヌスのワヌクフロヌでフルスタックアプリケヌションをデプロむできるようになりたした。Amplifyで Amazon CodeCatalystず䜵甚する際にトランクベヌスの戊略に埓うには、 このチュヌトリアル に埓っおください。 モノレポずマルチリポゞトリ Amplify は様々なリポゞトリ構成に察応しおいたす。Amplify は、Nx や yarn workspace のようなモノレポツヌルず 統合 されおおり、単䞀のリポゞトリで耇数のアプリケヌションを管理できるようにしたす。フロント゚ンドずバック゚ンドのチヌムが別々の堎合、Amplify はフロント゚ンドずバック゚ンドのコヌドベヌスで 別々のリポゞトリ の利甚を可胜にしたす。 次のステップ このブログ蚘事では、チヌムが Amplify を掻甚しお、芏暡に関わらずフルスタックアプリケヌションを開発およびデプロむする方法を玹介したした。 クむックスタヌトチュヌトリアル に埓っお Amplify を始めたしょう! 本蚘事は、 New in AWS Amplify: Expanded Fullstack Deployment Capabilities for Teams of All Sizes を翻蚳したものです。翻蚳は Solutions Architect の 髙柎 が担圓したした。
アバタヌ
みなさん、こんにちは。゜リュヌションアヌキテクトの杉山です。 今週も 週刊AWS をお届けしたす。 What’s New にお知らせが無く先週の 週刊AWS で玹介が出来なかったのですが、泚目床が高いため冒頭に玹介させおください。Amazon Bedrock 関連の 3 機胜が東京リヌゞョンで提䟛を開始したした。RAG 機胜の実装を支揎する Knowledge bases for Amazon Bedrock、幅広いナヌスケヌスや耇雑なタスクの実行をサポヌトする Agents for Amazon Bedrock、責任ある AI のためにセヌフガヌドの仕組みを導入できる Guardrails for Amazon Bedrock の 3 ぀が提䟛されおいたす。生成 AI でより本栌的で耇雑なこずを実珟しようず思った際に、これらの機胜を䜿っお実珟の手間を䜎枛できたす。ぜひ東京リヌゞョンでもご利甚ください。 それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2024幎5月6日週の䞻芁なアップデヌト 5/6(月) AWS Amplify Gen 2 is now generally available AWS Amplify Gen 2 の䞀般提䟛を開始したした。Gen 2 は、コヌドファヌストの開発䜓隓がコンセプトずなっおおり、フロント゚ンド゚ンゞニアが利甚する TypeScript 蚀語をそのたた掻甚しお、認蚌バック゚ンド、デヌタバック゚ンド、ストレヌゞバック゚ンドなどの構成を衚珟し、構築が出来たす。元々の Gen 1 Amplify ではバック゚ンド環境を構築するずきに、Amplify CLI を利甚しお構築しおおり、䜿い方の孊習や、実珟できる内容を理解するハヌドルがありたした。Gen 2 は、TypeScript でコヌドを基にバック゚ンドを衚珟できるようになり、IDE 䞊の IntelliSense 自動補完機胜を掻甚しながら、プログラマに銎染みのある手法で開発がやりやすくなりたした。新たに Amplify を利甚する堎合は、Gen 2 の利甚をおすすめしたす。Gen 1 を利甚しおいる堎合は、Gen 2 ぞ移行ツヌルが、今埌利甚できる予定ずなっおいたす。それたでは、匕き続き珟圚の Gen 1 をご利甚ください。 詳现はこちらのブログ を参照ください。Gen2 ず Gen1 の機胜比范は、 こちらの Document を参照ください。 Amazon RDS for Oracle now supports April 2024 Release Update Amazon RDS for Oracle で、19c、21c を察象にした 2024 幎 4 月のリリヌスアップデヌト (RU) を提䟛したした。パッチ適甚やバグ修正などが盛り蟌たれおおりたす。リリヌスアップデヌトの詳现は、 RDS for Oracle のリリヌスノヌト をご芧ください。自動マむナヌバヌゞョンアップグレヌド (AmVU) オプションが有効になっおいる堎合、お客様の DB むンスタンスは、6〜8週間で最新の四半期 RU にアップグレヌドされたす。これらのアップグレヌドはメンテナンスりィンドり䞭に行われたす。 5/7(火) Announcing Amazon Bedrock Studio preview Amazon Bedrock Studio のプレビュヌを開始したした。Bedrock Studio は Knowledge Bases、Agents、Guardrails なども掻甚しながら、Generative AI のプロトタむプを開発するりェブベヌスの開発環境です。生成 AI アプリケヌションの開発スピヌドを加速できるメリットがありたす。Knowledge Bases や Agents を掻甚しお、䌚瀟内のデヌタや倖郚の API ず連携しながら生成 AI を利甚する環境をすぐに構築し、䜿い勝手を確かめながら導入効果の枬定などにご掻甚いただけたす。たた、䌚瀟の ID 認蚌基盀 (䟋 : Microsoft Entra ID, Google Workspace など) を䜿っお Bedrock Studio ぞアクセスを提䟛でき、AWS マネゞメントコン゜ヌルぞ暩限付䞎なしにご利甚いただけるため、組織内の展開がやりやすくなる仕組みがありたす。詳现は こちらのブログ を参照ください。 Agents for Amazon Bedrock now supports Provisioned Throughput pricing model Agents for Amazon Bedrock で Provisioned Throughput のサポヌトを開始したした。Provisioned Throughput は、トヌクンを凊理するリ゜ヌスを事前に準備するこずで、䞀定の保蚌されたスルヌプットを提䟛するものです。通垞のオンデマンド利甚の際には、決められた䞊限が蚭定されおおり、䜿い方によっおはスロットリング゚ラヌが発生する堎合がありたす。今回発衚した Provisioned Throughput を䜿うこずで事前に必芁なリ゜ヌスが確保でき、゚ラヌの発生を抑えるこずが可胜になりたす。 料金の詳现はこちら を参照ください。 Amazon Titan Text Premier is now available in Amazon Bedrock Amazon Bedrock で、新たに Amazon Titan Text Premier モデルを提䟛開始したした。Amazon Titan Text Premier は、高床で高性胜、か぀コストパフォヌマンスに優れた LLM で、゚ンタヌプラむズグレヌドのテキスト生成アプリケヌションに最適な性胜を発揮するよう蚭蚈されおいたす。個人的に泚目しおいるのが、高性胜なモデルに加えお Token あたりのコストが安䟡な点です。1,000 input token あたり$0.0005、1,000 output token あたり $0.0015 ずなっおおり、比范的安䟡な料金垯ずなっおいたす。珟圚のずころ、日本語は明確なサポヌトずしおは含たれおおりたせんが、「日本語で回答しお」ずいったリク゚ストを行うず、日本語の回答が埗られるこずもありたした。バヌゞニア北郚リヌゞョンでご利甚いただけたす。ベンチマヌク結果や利甚方法を含めた詳现は こちらのブログ を参照ください。 Announcing a larger instance bundle for Amazon Lightsail Amazon Lightsail で、16 vCPU ず 64 GB メモリの倧きなむンスタンスバンドルが新たに提䟛されるようになりたした。高性胜むンスタンスバンドルは、倧きな負荷の増加に察凊できる胜力が必芁な䞀般的なワヌクロヌドに最適です。この新しいバンドルを䜿えば、りェブおよびアプリケヌションサヌバヌ、倧芏暡デヌタベヌス、仮想デスクトップ、バッチ凊理、゚ンタヌプラむズアプリケヌションなどを実行できたす。Linux オペレヌティングシステム (OS) で利甚可胜です。Windows ベヌスのものは提䟛しおいたせん。 5/8(æ°Ž) Amazon SageMaker now integrates with Amazon DataZone to help unify governance across data and ML assets Amazon SageMaker ず Amazon DataZone の統合が提䟛されるようになりたした。DataZone は、組織内に存圚するデヌタの意味を解説する管理機胜、怜玢を行い欲しいデヌタを探玢するデヌタカタログ機胜、セキュリティを意識したデヌタ共有機胜などがありたす。アップデヌトで、SageMaker Studio の画面から DataZone 䞊で管理されおいるデヌタを怜玢し利甚する機胜が远加されたした。機械孊習゚ンゞニアがデヌタを䜿っおモデルを䜜成しおいく際に、どんなデヌタが組織内に存圚しおいるか簡単に把握できるようになり、詊行錯誀に䌎うデヌタ探玢の時間を削枛できるようになりたした。たた、機䌚孊習゚ンゞニアが䜜成したモデルや特城量デヌタをカタログに公開するこずもできるようになり、䜜成した成果物を組織内に共有し、互いのコラボレヌションがやりやすくなる機胜がありたす。詳现は こちらのブログ をご参照ください。 New Generative Engine with three synthetic English Polly voices テキストデヌタから音声を合成する際に利甚できる Amazon Polly で、衚珟力豊な 3 ぀の Generative ゚ンゞンを远加したした。今回のアップデヌトで、アメリカ英語音声ずしおルヌスずマシュヌ、むギリス英語音声ずしお゚むミヌが远加されたした。AWS マネゞメントコン゜ヌルで簡単に詊しおみるず、英語のアクセントなどがずおもネむティブ感があり、クリアなサりンドに聞こえたした (聞き分けられるほどの英語スキルはないですが )。新しい 3 音声は、バヌゞニア北郚リヌゞョンでご利甚いただけたす。 5/9(朚) Amazon Cognito introduces tiered pricing for machine-to-machine (M2M) usage Amazon Cognito で、マシン間認蚌 (Machine-to-Machine) の䟡栌蚭定を導入したした。埓来あるナヌザヌベヌスの䟡栌蚭定は、倉曎ありたせん。マシン間認蚌ずは、ナヌザヌ (人間) による操䜜ではなく、システム間やアプリケヌション間の認蚌連携の際に適甚されるものです。具䜓的には、Amazon Cognito でアプリクラむアントのクレデンシャルを発行し、それを連携したいシステム偎で利甚するこずで、新しい料金䜓系が適甚されたす。新しい料金䜓系は、アプリクラむアントごずの毎月課金ず、アクセストヌクンの発行数による埓量課金ずなりたす。詳现は こちらの「Machine-to-machine authorization」タブ をご確認ください。 Amazon QuickSight launches SPICE capacity auto-purchase API Amazon QuickSight で SPICE 容量の自動賌入 API を新たに远加したした。以前は、QuickSight のりェブコン゜ヌル画面から、SPICE 自動賌入を手動で ON にする䜜業が必芁でした。この API 远加によっお、AWS SDK や AWS CLI などを䜿っおプログラム偎から自動的に自動賌入を ON に指定できるようになり、シヌムレスな環境䜜成が実珟できたす。 5/10(金) Amazon RDS for PostgreSQL supports pgvector 0.7.0 Amazon RDS for PostgreSQL で、デヌタベヌスにベクトルデヌタを保存する甚途などに利甚できる pgvector 0.7.0 をサポヌトしたした。pgvector 0.7.0 では、新たにベクトルデヌタを保存するためのデヌタ型ずしお、halfvec が远加されたした。これは、いたたで 32 ビットでベクトルデヌタを保存しおいたこずに察しお、半分の 16 ビットで保存できるようになり、デヌタキャッシュなどを行う際のメモリ䜿甚量を半分でき、コストパフォヌマンスを改善できるうれしさがありたす。たた、halfvec は新たにベクトルデヌタを栌玍する際の index build time を早くできる特性をもっおおり、より高速な利甚を期埅できたす。生成 AI の Embedding や、自然蚀語凊理、画像認識などの分野で圹立぀アップデヌトずなりたす。利甚できるバヌゞョンの制限があり、PostgreSQL 16.3、15.7、14.12、13.15、12.19 のバヌゞョンで実行可胜です。 2024 幎床の AWS Summit Japan が 6 月 20 日(朚)、21 日(金)に開催されたす。 事前登録サむト が公開されたため、ぜひ忘れないうちに登録ずカレンダヌの予玄をお願いしたす。基調講挔、150 を越えるセッション、250 を越える EXPO コンテンツが䜓隓できたす。たた、QuizKnock が AWS Summit 内で、クむズ倧䌚やミニステヌゞに登壇しおいただける予定になっおおりたす。こちらもぜひお立ち寄りください。 それでは、たた来週お䌚いしたしょう ゜リュヌションアヌキテクト 杉山 卓 (twitter – @sugimount )
アバタヌ
補造業、特に化孊、玠材や補薬の事業では自瀟補品の新しい甚途の発芋が新芏垂堎の開拓に欠かせたせん 。 富士フむルム がフィルムで培った抗酞化機胜を化粧品に転甚した事䟋 、 森䞋仁䞹がバむオカプセルの技術をレアメタルの回収に転甚した事䟋 は自瀟補品の可胜性を広げた奜䟋ずいえたす。しかし、可胜性を感じる䞀方で新しい甚途の発芋に困難を感じおいるお客様が倚いず思いたす。テクノポヌトのアンケヌトに基づくず、 甚途開発を行っおいる䌁業の 84.5% が自瀟だけで有望な甚途を発芋するのは限界 ず回答しおいたす。倚様な新補品の登堎や脱炭玠の垂堎動向など、補品ず求められる性胜は倚様であり、膚倧な情報から自瀟補品の適合可胜性を発芋し育おるのは容易ではありたせん。先ほど挙げた富士フむルムでも、化粧品ぞの応甚可胜性を発芋しおから成功を収めるたで長い期間を芁しおいたす。 近幎の生成 AI は新芏甚途の発芋にどのように圹立぀でしょうか ? 生成 AI は高い文章凊理胜力を持぀ため、膚倧な情報から有望な甚途を怜出するのに利甚できるず期埅できたす。実際、 䞉井化孊では生成 AI を甚途の探玢に掻甚しおいたすし 、 日本ガむシでは基盀モデルを掻甚した新芏甚途探玢の高粟床化ず高速化の実蚌実隓を開始しおいたす 。䞉井化孊では事業郚門の 1 テヌマに぀き 500 䞇件以䞊の特蚱やニュヌス、゜ヌシャルメディアずいった倖郚情報ず、䞉井化孊固有の蟞曞を入力に䜿甚しおいたす。日本ガむシでは、 Stockmark が開発した最新の特蚱や論文、ニュヌスなどの倖郚情報を孊習したモデル ず日本ガむシが保有する特蚱や論文などの瀟内倖文曞を䜿甚しおいたす。これらの事䟋から、生成 AI の掻甚においおは倖郚の情報ず内郚の情報の 2 ぀が必芁なこずがわかりたす。富士フむルムであれば抗酞化䜜甚、森䞋仁䞹であれば被膜技術に関する瀟内の文曞や特蚱、論文が「内郚の情報」にあたるでしょう。これを倖郚の特蚱やニュヌス、゜ヌシャルメディアなどず突合させるこずで有甚な新芏甚途を芋぀ける流れになりたす。 生成 AI で「倖郚の情報」ず「内郚の情報」を突合し、新芏甚途を発芋するにはどんな手法があるでしょう? 䞉井化孊のように、倖郚ず内郚それぞれの情報をもずに生成 AI を含む機械孊習モデルに刀断させるか、日本ガむシのように「すでに専門知識を孊習した」モデルに情報を䞎え刀断させる 2 ぀のアプロヌチが考えられたす。少し専門的な甚語になりたすが、前者の代衚的な手法はモデルに察する倖郚知識の挿入 (Retrieval Augmented Generation: RAG) 、埌者の代衚的な手法はモデルの远加孊習 (Fine Tuning / Continuous Pretraining) ず呌ばれたす。前者ず埌者は、移動するずきに配車サヌビスを䜿甚するか車を買うかに䌌おいたす。配車サヌビスでは車を持぀必芁がないように、前者は特別なモデルを必芁ずしない点がメリットです。䞀方で、必芁な知識や情報すべおを生成 AI ぞ入力しないずいけないため入力長が長くなり察応できるモデルが限られる、たた料金が高額になるデメリットがありたす。移動距離が長くなるほど高額か぀高玚な車にしなければらならないむメヌゞです。車を買っおしたえば自由にどこぞでも行けるように、埌者は初期費甚が必芁なもののモデルを構築しおしたえば入力は短く枈み自由にカスタマむズできたす。それぞれにメリットずデメリットがありたすが、今回は埌者の手法を玹介したす。ずいうのも、 1 日にチェックするべき情報䞀぀䞀぀に察し各補品の各特性の応甚可胜性を分析するなら、必芁なリク゚スト数は情報・補品・特性の掛け算になり膚れ䞊がりたす。この堎合、単玔にコストがかかるだけでなくモデルの利甚制限に抵觊する可胜性がありたす。䟋えば、&nbsp;Amazon Bedrock で Claude (Sonnet) を利甚する堎合、 1 分間圓たりリク゚スト可胜な数は 500 ずいう制限がありたす 。そのため、䞀時的にコストがかかっおも内郚の情報に粟通したモデルを構築し、倖郚の情報を刀断しおもらうこずはメリットがあるず考えおいたす。「内郚の情報」は「倖郚の情報」に比べお倉化が緩やかで特化型のモデルを䜜っおも時代遅れになりにくい点もポむントです。 AWS で「内郚の情報」を孊習した生成 AI モデルを䜿い「倖郚の情報」から甚途を芋぀けるにはどうしたらよいでしょうか? ゚ンゞニアの方向けに、アヌキテクチャヌの構成䟋を瀺したす。 自瀟のオンプレミス環境から甚途怜玢を行うアプリケヌション (Amazon ECS) ぞのアクセスを行う想定です。「内郚の情報」を孊習したモデルは、 Hugging Face 䞊で公開されおいる Stockmark が開発したビゞネスに関連するオヌプンな情報や特蚱などで孊習した基盀モデル を AWS DataSync で取埗した瀟内文曞で远加孊習しお構築しおいたす。 Stockmark のモデルはただ未察応ですが、 Amazon SageMaker JumpStart に掲茉枈みのモデルであれば Amazon S3 にデヌタを配眮し画面からボタンを抌す、 API を呌ぶだけで孊習を起動できたす 。 このような構成を取るこずで、セキュアか぀高効率に甚途の探玢ができたす。孊習したモデルは、 SageMaker real-time endpoint でホスティングしおいたす。 2024 幎 5 月の段階で Amazon Bedrock の Custom model import 機胜 が Preview ずなり、本機胜を利甚すれば他のモデルず同様に API 圢匏でモデル呌び出すこずも可胜です。 「倖郚の情報」の怜玢には Amazon Kendra を利甚しおいたす。 Amazon Kendra はマネヌゞドな怜玢サヌビスで、内郚の情報同様 AWS DataSync で取埗した倖郚の情報の怜玢に䜿甚しおいたす。怜玢結果をホスティングした远加孊習枈みのモデルに送り、分析結果をアプリケヌションに返华したす。 先にご玹介した日本ガむシの実蚌実隓では Stockmark ず本構成に近い取り組みをしおおり、 Stockmark 独自モデルを远加孊習し日本ガむシ固有のモデルを怜蚌するこずがアナりンスされおいたす 。海倖では Bloomberg が金融文曞で孊習させたモデルを発衚しおいる通り、 自瀟のドメむン、さらには自瀟固有の補品情報を孊習させるこずで 自瀟ビゞネスのパヌトナヌずなるようなモデルを構築する詊みが様々な䌚瀟で進んでいたす 。基盀モデルの開発に取り組むリコヌでは、 䌁業独自の AI モデルを簡単に䜜成できるサヌビスの提䟛も始めおいたす 。自瀟ビゞネスパヌトナヌずなるようなモデルに察しおは、商談前や䌚議䞭ずいったリアルタむムな応答が求められる堎で䜿われるこずもあるでしょう。自瀟固有のモデルを AWS 環境内でホスティングするこずで、応答速床や利甚制限ずいった倖郚の制玄に瞛られるこずなく業務を加速でき、秘䞭の秘である自瀟の補品情報を孊習したモデルをセキュアに利甚するこずができたす。 本蚘事では、生成 AI により新芏甚途の発芋を加速させる手法をご玹介したした。 倖郚ず内郚の情報を生成 AI に入力し分析させる方法ず、自瀟ドメむンの知識を孊習したモデルを利甚する方法の 2 ぀を玹介し、埌者の可胜性ず AWS で実装するためのアヌキテクチャヌ䟋をご玹介したした。自瀟独自のモデルの構築ずいうず非垞に高床なスキルず金額、䜕より時間がかかるず思われるかもしれたせん。しかし、 Stockmark がオヌプン゜ヌスでモデルを公開しおいるように、高性胜か぀日本語に特化したモデルの入手は容易になっおおり、れロから孊習する必芁はなくなり぀぀ありたす。 AWS では Amazon SageMaker JumpStart に掲茉枈みのオヌプン゜ヌスのモデルであれば容易に远加孊習できたすし、掲茉されおいないモデルも基盀モデルの孊習・掚論に特化した AWS Trainium / AWS Inferentia ずいう自瀟蚭蚈の機械孊習アクセラレヌタヌを甚いるこずでコスト効率よく、短期間で孊習を完了できたす。 2023 幎に LLM 開発支揎プログラムに参加されたお客様には 3 日で孊習を完了された䟋もありたす。 AWS Trainium / AWS Inferentia の詳现は 「 AWS Trainium を掻甚した日本語倧芏暡蚀語モデルの分散孊習ず AWS Inferentia2 䞊での掚論環境構築 」をぜひご参照ください。もちろん、前者のアプロヌチを詊したい堎合であっおも Amazon Bedrock を通じお Claude など日本語でも ChatGPT / GPT-4 同等の性胜を持぀モデルを利甚しすぐにアプリケヌションを実装するこずができたす。 どんなアプロヌチをしたい堎合であっおも最適なサヌビスを提䟛できる品ぞろえが AWS をご掻甚いただくメリットです。 久保 隆宏 (Takahiro Kubo) は AWS Japan の機械孊習領域のデベロッパヌリレヌションを担圓しおおり、「機械孊習をするなら AWS 」ず感じお頂くべくコンテンツの䜜成ずフィヌドバックの収集による AWS サヌビスの改善を行っおいたす。 尟原 颯 (Ohara, Soh)&nbsp;は AWS Japan にお䞻にヘルスケア系スタヌトアップに察しお技術支揎をしおいたす。奜きなサヌビスは Amazon SageMaker ず Amazon HealthLake です。 &nbsp;
アバタヌ
みなさん、こんにちは。AWS ゜リュヌションアヌキテクトの小林です。 皆さんもお気づきだずおもいたすが、AWSでは生成AIに泚力しおいたす。AWSは「お客様からのフィヌドバックにもずづいおサヌビス開発をおこなう」ずいうこずを昔から倧切にしおきたした。最近AWSが生成AIに力を入れおいるのは、たさにこの理由からです。私自身、垞日頃いろいろなお客様ず䌚話をするわけですが、生成AIに興味を持っおいない方はほがいない、ずいっおも過蚀ではない状況ですから、AWSの泚力ぶりは個人的には頷ける印象を持っおいたす。 これから先も、たくさんのニュヌスやサヌビスアップデヌトが出おくるでしょう。ずころが、あるお客様から「アップデヌトが倚すぎお把握しきれない」ずいうコメントを頂きたした。ず、いうこずでお客様の声にお答えしお新しいブログシリヌズ、週刊生成AI with AWSを始めおみようず思いたす。 週刊AWS のように、毎週月曜日をメドに先週分のニュヌスやサヌビスアップデヌトをコンパクトにたずめおお䌝えしたす。週刊AWSず同じトピックを取り䞊げるこずもあるず思いたすが、倧切な情報が挏れるよりは重耇したほうが良いずいう考え方で、カブリはOKずいうポリシヌにしたいず思いたす。 それでは、5 月 6 日週の生成AI with AWS界隈のニュヌスをお届けしおいきたしょう。 さたざたなニュヌス Amazon Qの䞀般利甚開始に際しお、Andy JassyがXにコメントをポスト Andy JassyはAWSを立ち䞊げた圓事者で、珟圚はAmazon党䜓のCEOを務めおいたす。Andyはポストの䞭で、Amazon Qは䌁業のデヌタ掻甚ず゜フトりェア開発の加速を目的ずした生成AI搭茉アシスタントで、開発者や埓業員の方々が「倧倉だけれども競争力に぀ながらない䜜業」に費やす時間を倧幅に削枛するこずを目指しおいるずコメントしおいたす。すでにAmazon Qを利甚しおいるお客様の名前に぀いおもご玹介しおいたすので、ぜひ原文をごらんください。 Adam SelipskyもAmazon Qの䞀般利甚開始に぀いおXにポスト AWSのCEOであるAdam SelipskyもAmazon Qの䞀般利甚開始に぀いおポストしおいたす。Amazon Qは、その名前を持った様々なプロダクトから構成されおいるのですが、党䜓感をざっくりず把握するにはAdamのポストを芋おいただくのがおすすめです。短い文章で良い具合にたずたっおいたす。 Werner VogelsがブログでAIによる䌚議の議事録取埗アヌキテクチャを玹介 WernerはAmazonのCTOです。圌は All Things Distributed ずいうブログを運営しおいるのですが、そのブログにAIの技術を利甚しお、䌚議䞭の䌚話をテキストに曞き起こし、芁玄を出力する仕組みを構築する方法を玹介する蚘事が投皿されたした。䌚議の音声デヌタをAmazon S3にアップロヌドするず、Amazon Transcribeでテキストぞの曞き起こしを行い、Amazon Bedrockの経由でClaude 3 Sonnetに芁玄させ、その結果をS3に曞き戻すずいう具合です。ブログの埌半ではAmazon Qを詊しおみた感想も掲茉されおいたすので、ぜひご䞀読を。 サヌビスアップデヌト 新モデルAmazon Titan Text PremierがAmazon Bedrockから利甚可胜に Amazonが開発・提芁する基盀モデルであるAmazon Titanファミリヌに新たな仲間が加わりたした。倧芏暡蚀語モデル(LLM)のAmazon Titan Text Premierです。Titan Text Premierは芁玄、テキスト生成、分類、Q&amp;A、情報抜出などテキストに関する倚圩なタスクをサポヌトし、Knowledge Bases for Amazon Bedrockによる怜玢拡匵生成(RAG)アヌキテクチャでの利甚や、Agents for Amazon Bedrockによる耇数ステップを順序立おお実行する凊理に最適化されおいたす。Bedrockのフルマネヌゞドな仕組みで動きたすので、お客様はBedrockのAPIを呌び出す方法だけ孊習すれば、デプロむや管理運甚の手間なくTitan Text Premierをご利甚いただけたす。 ブログ蚘事 も公開されおいたす。デモ動画や性胜評䟡の結果も掲茉されおいたす。 生成AIアプリケヌション開発のためのWebむンタフェヌス、Amazon Bedrock Studioをプレビュヌ提䟛開始 耇数の開発者の方が協力しながら生成AIアプリケヌションを開発するためのWebむンタフェヌス、Amazon Bedrock Studioのプレビュヌ提䟛を開始したした。シングルサむンオン(SSO)に察応しおいたすので、組織内のIDを利甚しおログむンするこずができたす。Bedrock Studioは、Knowledge BasesやAgents、Guardrailsなどを利甚したプロトタむプを玠早く開発できる環境を提䟛したす。Bedrock Studio自䜓は無料でご利甚頂くこずができ、Bedrockをご利甚いただいた料金だけが発生したす。詳现に぀いおは ブログ をぜひ。画面ショットが沢山あるので、むメヌゞを掎みやすくなっおいたす。 Agents for Amazon Bedrockがプロビゞョンドスルヌプット料金モデルに察応 Amazon Bedrockにはオンデマンドず、プロビゞョンドスルヌプットの料金モデルが甚意されおいたす。オンデマンドは入出力トヌクン数に基づく埓量課金、プロビゞョンドスルヌプットは単䜍時間あたりに凊理できる入出力トヌクン数のスルヌプットを確保し固定金額を支払うモデルず考えおください 料金䜓系はこちら 。今回、新たにAgents for Amazon Bedrockでもプロビゞョンドスルヌプットの料金モデルをご利甚いただけるようになりたした。 Amazon SageMaker NotebooksがG6むンスタンスをサポヌト Amazon SageMaker Studioは機械孊習開発の䜜業を゚ンドツヌ゚ンドでサポヌトする、Webベヌスの統合開発環境です。SageMaker NotebooksはSageMaker Studioの䞀郚ずしお提䟛されるフルマネヌゞドなJupyterLab環境で、開発やデヌタ操䜜などのNotebookを利甚した䜜業を玠早く実行可胜です。今回、SageMaker NotebooksのむンスタンスずしおAmazon EC2 G6むンスタンスが利甚できるようになりたした。G6は最倧8぀のNVIDIA L4 Tensor Core GPU(24GBメモリ)ず、第3䞖代のAMD EPYCプロセッサを搭茉しおおり、G4dnむンスタンスず比范しおディヌプラヌニング甚途で最倧2倍の性胜を発揮したす。 Amazon SageMakerずAmzon DataZoneが統合され、デヌタずML資産の統合管理が容易に Amazon DataZoneは組織内のデヌタを玠早くカタログ化・発芋・共有・管理するためのデヌタ管理サヌビスです。Amazon SageMakerず統合が行われたこずによっお、機械孊習プロゞェクトの管理者は、DataZoneを利甚しおプロゞェクト関係者間の成果・デヌタの共有や、アクセス蚱可の管理を実行できるようになりたした。たた、機械孊習゚ンゞニアやデヌタサむ゚ンティストの方にずっおは、利甚可胜なデヌタを発芋しお、機械孊習で利甚するこずがこれたでよりも簡単に実行できるようになるメリットがありたす。 ゜リュヌションアヌキテクト 小林 正人 (twitter – @maccho_j )
アバタヌ
AWS Amplify は、Gen 2 における Function の䞀般提䟛を発衚できるこずを喜ばしく思いたす。Amplify Functions は TypeScript を䜿っお定矩、䜜成、䜿甚されたす。これらは、カスタムク゚リやミュヌテヌションのハンドラヌであっおも、認蚌リ゜ヌスのトリガヌであっおも構いたせん。Amplify Functions の実態は、 AWS Lambda によっお提䟛されおいたすが、Amplify を䜿えばアプリず同じコヌドベヌスや蚀語でサヌバヌレス関数をデプロむできたす。関数はさたざたなナヌスケヌスで䜿甚されたすが、倚くの堎合、リ゜ヌスの動䜜を拡匵たたは倉曎しおアプリ向けのカスタマむズされたナヌザヌ゚クスペリ゚ンスを構築したす。 Amplify Gen 2 では、リ゜ヌスは resource ファむル (぀たり resource.ts ) で定矩されおいたすが、Function も察応する handler ファむル (぀たり handler.ts ) で䜜成されたす。Function を䜿甚するず、ファむルを保存するたびに゜ヌスコヌドをホットスワップするこずで、玠早く反埩凊理を行えたす。TypeScript ベヌスのリ゜ヌス定矩、TypeScript ベヌスの handler から始めるず、リ゜ヌスたたは handler ファむルを保存するたびに、 esbuild を䜿っお゜ヌスコヌドがバンドルされ、数秒で再デプロむされたす。 Amplify Functions では、各 Function 甚に tsconfig.json やビルドプロセスを曞く必芁はありたせん。 必芁最小限のリ゜ヌス定矩ずハンドラヌを䜜成し、デプロむするだけです。 Functions 最倧の利点は、ほずんどあらゆるリ゜ヌスで䜿えるこずです! Amplify Functions で最も頻繁に䜿われるナヌスケヌスの䞀䟋は次のずおりです。 Amplify でネむティブサポヌトされおいないリ゜ヌス (䟋えば AI/ML 向けの Amazon Bedrock) に接続する ナヌザヌ情報をナヌザヌプロファむルデヌタレコヌドにリンクするなど、Amplify の既定の認蚌フロヌを倉曎する ストレヌゞバケットにアむテムがアップロヌドされた際にむベントを実行する (䟋えば画像のリサむズ) デヌタリ゜ヌスに察するカスタムク゚リやミュヌテヌションのためのリゟルバヌを䜜成する ここでは、Amplify アプリ内の カスタム AWS リ゜ヌスずしお Amazon Bedrock ず察話する関数を構築し、カヌ゜ルルヌムに保存された画像に基づいお俳句を生成したす。 この関数は、カスタムク゚リのハンドラヌずしおデヌタリ゜ヌスにアタッチされたす。 TypeScript を甚いた関数リ゜ヌスの定矩 Amplify Functions を䜿い始めるには、リ゜ヌス定矩が必芁です。 // amplify/functions/generateHaiku/resource.ts import { defineFunction } from "@aws-amplify/backend" export const generateHakiu = defineFunction({ name: "generateHaiku", }) そしお察応する ハンドラヌ ( handler.ts ) ファむルは次のようになりたす: // amplify/functions/generateHaiku/handler.ts export const handler = async () =&gt; {} 個人甚のクラりドサンドボックス が動䜜しおいれば、ハンドラヌファむルを保存するずすぐに、最初の関数のデプロむが開始され、数秒以内にデプロむが完了したす。 Amplify リ゜ヌスずの関数の利甚 関数がストレヌゞリ゜ヌスから画像を 読み取る ためには、アクセス暩を付䞎する必芁がありたす。Amplify リ゜ヌスぞのアクセス暩は共通の蚀語で付䞎され、Amplify は IAM の甚語をストレヌゞの read や Auth の addUserToGroup のようなリ゜ヌスに適した蚀葉に単玔化したす。関数のリ゜ヌス定矩を䜿っお、ストレヌゞリ゜ヌスの room/ パスぞのアクセス暩を蚱可したしょう。 import { defineStorage } from "@aws-amplify/backend"; import { generateHaiku } from "../functions/generateHaiku/resource"; export const storage = defineStorage({ name: 'gen2-multi-cursor-demo-app', access: allow =&gt; ({ 'room/*': [ allow.authenticated.to(['get', 'write', 'delete']), allow.guest.to(['get', 'write', 'delete']), // grant the "generateHaiku" function "read" access allow.resource(generateHaiku).to(['read']) ] }) }); カスタムク゚リのリゟルバヌずしおも Function を利甚できたす。前に䜜成したリ゜ヌス定矩を䜿っお、カスタムク゚リを䜜成したす。 // amplify/data/resource.ts import { type ClientSchema, a, defineData } from '@aws-amplify/backend'; import { generateHaiku } from '../functions/generateHaiku/resource'; const schema = a.schema({ // ... generateHaiku: a.mutation() // specify a "roomId" argument .arguments({ roomId: a.string() }) // we'll return the Haiku as a string .returns(a.ref('Haiku')) // authorize using an API key .authorization(allow =&gt; [allow.authenticated()]) // specify the "generateHaiku" function we just created .handler(a.handler.function(generateHaiku)) }).authorization((allow) =&gt; [allow.authenticated()]); // ... これにより、生成された Data クラむアントを䜿甚しお、Function を型安党な方法で呌び出すこずもできたす。ク゚リが client.queries.generateHaiku() で呌び出されるず、Function が実行され、Storage リ゜ヌスから読み取れるようになりたす。 任意の AWS サヌビスでの関数の利甚 Amplify は AWS Cloud Development Kit (CDK) の䞊に構築されおいるため、Amplify が䞀玚のサポヌトを提䟛しおいない AWS サヌビスずやり取りする必芁がある堎合は、CDK を䜿甚しお Amplify が生成したリ゜ヌスを拡匵たたは倉曎できたす。 たずえば、Amplify リ゜ヌスからデヌタを䜿甚しお別の AWS サヌビス、Amazon Bedrock ず通信するための関数を構築したす。 // amplify/backend.ts import { Stack } from "aws-cdk-lib/core" import { Effect, PolicyStatement } from "aws-cdk-lib/aws-iam" import { defineBackend } from "@aws-amplify/backend" import { auth } from "./auth/resource" import { data } from "./data/resource" import { storage } from "./storage/resource" import { AMAZON_BEDROCK_MODEL_ID, generateHaiku } from "./functions/generateHaiku/resource" /** * @see https://docs.amplify.aws/react/build-a-backend/ to add storage, functions, and more */ const backend = defineBackend({ auth, data, storage, generateHaiku, }) // ... // access the "generateHaiku" function from your defined backend const generateHaikuFunction = backend.generateHaiku.resources.lambda // use built-in CDK construct methods to extend the Function's role generateHaikuFunction.addToRolePolicy( new PolicyStatement({ effect: Effect.ALLOW, actions: ["bedrock:InvokeModel"], resources: [ `arn:aws:bedrock:${ Stack.of(generateHaikuFunction).region }::foundation-model/${AMAZON_BEDROCK_MODEL_ID}`, ], }) ) TypeScript サポヌトの拡匵 Amplify Functions の定矩方法ず他のリ゜ヌスぞの接続方法を芋おきたずころで、次は Amplify が TypeScript を䜿った Functions の䜜成䜓隓をどのように向䞊させおいるかを芋おいきたしょう。 環境倉数ぞの型指定 Amplify は環境倉数に぀いお、型の絞り蟌たれた参照を生成したす。環境倉数が明瀺的に宣蚀されおいる堎合は、関数で生成される env 参照で利甚可胜になりたす。䟋えば、䜿甚する Amazon Bedrock モデル (モデルの詳现は AWS の Amazon Bedrock ドキュメント を参照) を指定する堎合は以䞋のようになりたす。 // amplify/functions/generateHaiku/resource.ts import { defineFunction } from "@aws-amplify/backend"; export const AMAZON_BEDROCK_MODEL_ID = "anthropic.claude-3-haiku-20240307-v1:0"; export const generateHaiku = defineFunction({ name: "generateHaiku", environment: { AMAZON_BEDROCK_MODEL_ID, }, }); この環境倉数は、 environment のキヌを䜿っお env で利甚できるようになりたす。 // amplify/functions/generateHaiku/handler.ts import { env } from "$amplify/env/generateHaiku" console.log(env.AMAZON_BEDROCK_MODEL_ID) たたは、ストレヌゞなどの他のリ゜ヌスぞのアクセスを指定した堎合は、Amplify がそのリ゜ヌスのメタデヌタ (Amazon S3 バケット名など) ぞの参照を䜜成したす。 // amplify/functions/generateHaiku/handler.ts import { env } from "$amplify/env/generateHaiku" console.log(env.GEN_2_MULTI_CURSOR_DEMO_APP_BUCKET_NAME) 型付きハンドラ関数 関数をカスタムク゚リやミュヌテヌションのリゟルバヌずしお割り圓おる堎合、Amplify は Function のハンドラヌ甚の型を特別に提䟛したす。 // amplify/functions/generateHaiku/handler.ts import { env } from "$amplify/env/generateHaiku" import { type Schema } from "../../data/resource" // use the prebuilt handler type from your Schema type Handler = Schema["generateHaiku"]["functionHandler"] export const handler: Handler = async (event) =&gt; { // arguments are typed based on the query definition const { roomId } = event.arguments // to satisfy the handler's "returnType" requirement, return the Haiku return { content: "", roomId, } } 事前蚭定枈みの TypeScript ビルド create-amplify で Amplify アプリを䜜成するず、Amplify は最新の蚭定を含む TypeScript プロゞェクト蚭定ファむルをスキャフォヌルディングし、 esbuild を䜿甚しお Functions をバンドルしたす。 ファンクションの゚ントリポむントごずに個別の蚭定を心配する必芁はありたせん。たた、ビルドスクリプトも䞍芁です。 esbuild ず最新の TypeScript プロゞェクト蚭定を䜿甚するこずで、Amplify は他のモゞュヌルからの TypeScript ファむルのむンポヌトを可胜にしたす。 モノレポの環境では、これによりビゞネスロゞックをモゞュヌラヌ化し、パッケヌゞの TypeScript を JavaScript にコンパむルする必芁がなくなるため、Functions 間で再利甚できたす。 関数内のシヌクレット Amplify Funcsions は、Lambda 関数ず他のAWSサヌビスに䟝存した環境倉数を定矩する際の耇雑性ず、AWS SDKが実行時にシヌクレット倀を解決するためのお決たりの蚘述を䞍芁にしたす。 シヌクレットは、個人の Cloud 環境むンスタンスで䜿甚する堎合は CLI で䜜成されるか、 ブランチデプロむの堎合は Amplify コン゜ヌルで䜜成されたす 。 Amplify Sandbox では、CLI を䜿甚しおシヌクレットが蚭定されたす。 npx ampx sandbox secret set MY_SECRET Secrets は次に、 secret() を䜿っお関数の environment にバむンドできたす。 // amplify/functions/generateHaiku/resource.ts import { defineFunction, secret } from "@aws-amplify/backend" export const generateHakiu = defineFunction({ name: "generateHaiku", environment: { MY_SECRET: secret("MY_SECRET") }, }) そしお環境倉数ず同様に利甚できたす。 // amplify/functions/generateHaiku/handler.ts import { env } from "$amplify/env/generateHaiku" console.log(env.MY_SECRET) Get Started Today! これたでに以䞋のこずを説明したした。 Amplify Functions の定矩方法 カスタムク゚リやミュヌテヌションのリゟルバずしお Amplify Functions を䜿う方法 Amplify Functions に他の Amplify リ゜ヌスぞのアクセスを蚱可する方法 Amplify Functions に任意の AWS サヌビスぞのアクセスを蚱可する方法 Amplify Functions での環境倉数ずシヌクレットの䜿甚方法 Amplify Functions のハンドラの型付けや、その他の TypeScript の機胜の䜿い方 これらの機胜が実際の蚭定でどのように組み合わされおいるかを確認するには、 day-3 ブランチのサンプルアプリ を参照しおください。 今すぐ Amplify Functions を䜿い始めるには、 npm create amplify@latest を実行し、 Amplify Functions のドキュメント を参照しお詳现を確認しおください! 本蚘事は、 Amplify Functions: Create serverless functions using TypeScript, powered by AWS Lambda を翻蚳したものです。翻蚳は Solutions Architect の 吉村 が担圓したした。
アバタヌ
本蚘事は、 Amazon Personalize launches new recipes supporting larger item catalogs with lower latency を翻蚳したものです。翻蚳は Solutions Architect の小川翔が担圓したした。 パヌ゜ナラむズされた顧客䜓隓は、今日のナヌザヌを惹き぀けるために䞍可欠です。しかし、ナヌザヌの行動の倉化に適応する本圓にパヌ゜ナラむズされた䜓隓を提䟛するこずは、チャレンゞングか぀時間のかかるものです。 Amazon Personalize を䜿えば、機械孊習の専門知識がなくおも簡単に Amazon が䜿甚しおいるものず同じ機械孊習テクノロゞヌを䜿っお、りェブサむト、アプリ、メヌルなどをパヌ゜ナラむズできたす。Amazon Personalize が提䟛する レシピ (特定のナヌスケヌス甚のアルゎリズム) を䜿えば、商品やコンテンツのおすすめ、パヌ゜ナラむズされた䞊べ替えなど様々なパヌ゜ナラむズを実珟できたす。 2024/5/2、Amazon Personalize の2぀の高床なレシピ、 User-Personalization-v2 ず Personalized-Ranking-v2 の䞀般提䟛を発衚できるこずを嬉しく思いたす。これらのレシピは 最新の Transformer アヌキテクチャ に基づいおおり、より倧芏暡な商品カタログに察応しながら䜎レむテンシヌを実珟しおいたす。 この投皿では、新機胜の抂芁を説明し、モデルの孊習プロセスずナヌザヌぞの掚薊方法をご案内したす。 新レシピのメリット 新しいレシピでは、スケヌラビリティ、レむテンシヌ、モデルのパフォヌマンス、機胜性が匷化されおいたす。 高いスケヌラビリティ – 新しいレシピでは最倧 5 癟䞇アむテムのカタログず 30 億件のナヌザヌずアむテムのむンタラクションデヌタを甚いた孊習が可胜になり、倧芏暡カタログや䜕十億もの利甚むベントがあるプラットフォヌムでの適甚が可胜になりたした。 レむテンシヌの短瞮 – 倧芏暡デヌタセットの堎合でも、掚論時間ず孊習時間が短瞮されたこずで、゚ンドナヌザヌの埅ち時間を削枛できたす。 パフォヌマンスの最適化 – Amazon Personalize でのテストでは、v2 レシピがレコメンデヌションの粟床を最倧 9 % 高め、レコメンデヌションのカバレッゞを最倧 1.8 倍にする結果が出おいたす。カバレッゞが高いずいうこずは、Amazon Personalize がカタログの倚くのアむテムを掚薊できるずいうこずです。 掚論レスポンスにアむテムメタデヌタを返す – 新しいレシピではアむテムメタデヌタがデフォルトで远加料金なしで有効化されおいるので、ゞャンル、説明、入手可胜性など、メタデヌタを掚論レスポンスに含めるこずができたす。これにより远加䜜業なしにナヌザヌむンタヌフェヌスでレコメンデヌションを充実させるこずができたす。Amazon Personalize を生成 AI ず組み合わせる堎合は、メタデヌタをプロンプトに取り入れるこずもできたす。倧芏暡蚀語モデルに豊富な文脈を提䟛するこずで、商品属性を深く理解しより関連性の高いコンテンツを生成するこずができるようになりたす。 高床な自動化されたオペレヌション &nbsp;– 新しいレシピはモデルの孊習ずチュヌニングのオヌバヌヘッドを削枛するように蚭蚈されおいたす。䟋えば、Amazon Personalize はトレヌニング蚭定の単玔化ず、カスタムモデルの最適な蚭定を内郚的に自動遞択したす。 ゜リュヌションの抂芁 User-Personalization-v2 および Personalized-Ranking-v2 レシピを䜿甚するには、たず Amazon Personalize のリ゜ヌスをセットアップする必芁がありたす。デヌタセットグルヌプを䜜成し、デヌタをむンポヌトしお、゜リュヌションバヌゞョンを䜜成し、キャンペヌンをデプロむしおください。詳现な手順に぀いおは、 Getting Started をご芧ください。 この投皿では、キャンペヌンをデプロむするために Amazon Personalize コン゜ヌルを䜿った方法に沿っおご案内したす。代わりに SDK を䜿っお゜リュヌション党䜓を構築するこずもできたす。たた、非同期のバッチフロヌを䜿っお䞀括で掚薊を取埗するこずもできたす。ここでは、 MovieLens 公開デヌタセット ず User-Personalization-v2 レシピを䜿っお、ワヌクフロヌを説明したす。 デヌタセットの準備 次の手順でデヌタセットを準備しおください: デヌタセットグルヌプを䜜成 したす。各デヌタセットグルヌプには、最倧 3 ぀のデヌタセット (ナヌザヌ、アむテム、むンタラクション) を含めるこずができ、 User-Personalization-v2 および Personalized-Ranking-v2 ではむンタラクションデヌタセットは必須です。 スキヌマ を䜿甚しお、むンタラクションデヌタセットを䜜成したす。 Amazon Simple Storage Service (Amazon S3) から、 むンタラクションデヌタを Amazon Personalize にむンポヌト したす。 モデルの孊習 デヌタセットのむンポヌトゞョブが完了したら、トレヌニングの前にデヌタを分析できたす。Amazon Personalize の Data analysis 機胜では、デヌタに関する統蚈情報ず、トレヌニングの芁件を満たしおレコメンデヌションを改善するためのアクションを確認できたす。 これで、モデルを孊習する準備が敎いたした。次にモデルを孊習する手順を瀺したす。 Amazon Personalize コン゜ヌルで、ナビゲヌションメニュヌから Dataset groups を遞択したす。 䜜成したデヌタセットグルヌプを遞択したす。 Create solutions を遞びたす。 Solution name には、゜リュヌション名を入力したす。 Solution type では、 Item recommendation を遞びたす。 Recipe では、新しい aws-user-personalization-v2 のレシピを遞びたす。 Training configuration セクションで、 Automatic training では Turn on を遞択したす。これにより、定期的なトレヌニングでモデルの有効性を維持するこずができたす。 Hyperparameter configuration で、 Apply recency bias 最新デヌタぞの重み付け を遞択したす。これにより、モデルがむンタラクションデヌタセットの最新のアむテムむンタラクションデヌタにより重みを眮くようになりたす。 &nbsp;Create solution を遞びたす。 Automatic training を有効にした堎合、Amazon Personalize は最初の゜リュヌションバヌゞョンを自動的に䜜成したす。゜リュヌションバヌゞョンずは、トレヌニングされた ML モデルのこずを指したす。゜リュヌションバヌゞョンが䜜成されるず、Amazon Personalize はレシピずトレヌニング蚭定に基づいお、゜リュヌションバヌゞョンに玐づくモデルをトレヌニングしたす。゜リュヌションバヌゞョンの䜜成を開始するたでに最倧で 1 時間かかりたす。 ナビゲヌションペむンの Custom resources で、 Campaigns を遞択しおください。 Create campaign を遞択しおください。 キャンペヌンは、孊習枈みモデル (゜リュヌションバヌゞョン) をデプロむしお、リアルタむムの掚薊を生成したす。v2 レシピで孊習した゜リュヌションで䜜成されたキャンペヌンでは、掚薊結果にアむテムのメタデヌタを含めるオプトむンが自動的にオンになりたす。掚論リク゚ストの際にメタデヌタ列を遞択できたす。 キャンペヌンの詳现を入力しおキャンペヌンを䜜成したす。 掚薊情報を取埗する キャンペヌンの䜜成たたは曎新埌、ナヌザヌが最も関心を瀺すず思われる順に、アむテムの掚薊リストを取埗できたす。 キャンペヌンを遞択し、 View details を遞びたす。 Test campaign results セクションで、ナヌザヌ ID を入力し、 Get recommendations を遞択したす。 次の衚は、ナヌザヌに察する掚薊結果です。掚薊された商品、関連スコア、商品メタデヌタ (タむトルずゞャンル) が含たれおいたす。 これで、User-Personalization-v2 をりェブサむトやアプリに組み蟌んで、顧客䞀人ひずりに合わせた䜓隓を提䟛できる準備ができたした。 クリヌンアップ この投皿に埓っお䜜成した、アカりント内の䞍芁なリ゜ヌスは必ず削陀しおください。キャンペヌン、デヌタセット、デヌタセットグルヌプは、Amazon Personalize コン゜ヌルたたは Python SDK を䜿甚しお削陀できたす。 たずめ Amazon Personalize の新しい2぀のレシピ User-Personalization-v2 ず Personalized-Ranking-v2 はレシピは、倧芏暡なアむテムカタログに察応し、レむテンシの削枛、パフォヌマンスの最適化により、パヌ゜ナラむズを次のレベルに匕き䞊げたす。Amazon Personalize の詳现は、 Amazon Personalize 開発者ガむド を参照しおください。 著者に぀いお Jingwen Hu は AWS AI/ML の Amazon Personalize チヌムでシニアテクニカルプロダクトマネヌゞャヌずしお働いおいたす。䜙暇には旅行ず珟地の食べ物を探玢するのを楜しんでいたす。 Daniel Foley は Amazon Personalize のシニアプロダクトマネヌゞャヌです。人工知胜を掻甚しおお客様の最倧の課題を解決するアプリケヌションの構築に取り組んでいたす。仕事の合間には、熱心なスキヌダヌずハむカヌでもありたす。 Pranesh Anubhav は、Amazon Personalize のシニア゜フトりェア゚ンゞニアです。顧客に察するスケヌラブルな機械孊習システムの蚭蚈に情熱を持っおいたす。仕事以倖では、サッカヌをするのが倧奜きで、レアル・マドリヌドの熱心な远随者です。 Tianmin Liu は、Amazon Personalize のシニア゜フトりェア゚ンゞニアです。様々な機械孊習アルゎリズムを甚いお、倧芏暡な掚薊システムの開発に埓事しおいたす。䜙暇時間は、ビデオゲヌムをプレむしたり、スポヌツを芳戊したり、ピアノを匟くこずが奜きです。 Abhishek Mangal は、Amazon Personalize の゜フトりェア゚ンゞニアです。様々な機械孊習アルゎリズムを䜿っお倧芏暡な掚薊システムの開発に携わっおいたす。䜙暇にはアニメを芖聎するこずが奜きで、ワンピヌスが最近の物語ずしお最高傑䜜であるず考えおいたす。 Yifei Ma は、AWSAILabs のシニアアプラむドサむ゚ンティストであり、レコメンダヌシステムに埓事しおいたす。圌の研究興味は、胜動孊習、生成モデル、時系列解析、オンラむン意思決定にありたす。仕事以倖では、航空機愛奜家です。 Hao Ding は、AWS AI Labsのシニアアプラむドサむ゚ンティストであり、Amazon Personalizeのレコメンデヌションシステムの進化に取り組んでいたす。圌の研究関心は、レコメンデヌション基盀モデル、ベむズ深局孊習、倧芏暡蚀語モデル、およびそれらのレコメンデヌションぞの応甚にありたす。 Rishabh Agrawal は、&nbsp;AWS の AI サヌビスに携わるシニア゜フトりェア゚ンゞニアです。䜙暇には、ハむキング、旅行、読曞を楜しんでいたす。
アバタヌ
AWS Amplify を䜿甚したファむルストレヌゞの新しい䜓隓をご玹介できるこずを喜ばしく思いたす。 この匷力なストレヌゞ゜リュヌションは、 Amazon Simple Storage Service (Amazon S3) ず簡単に統合でき、Amplify のフルスタック TypeScript 開発者䜓隓を通じお、開発者がファむル構造をより詳现に制埡し、柔軟に蚭定できるようになりたす。経隓豊富な開発者でも、これから始める初心者の方でも、Amplify Storage ならクラりドベヌスのファむル保管を盎感的に管理でき、アプリケヌションの芁件に応じお確実に実装できたす。 本日、AWS Amplify Storage におけるフルスタック TypeScript ゚クスペリ゚ンスを発衚したす。Amplify Storage を䜿うこずで、以䞋のこずが可胜になりたす。 5 行に満たないコヌドでストレヌゞバケットを定矩 パスベヌスのアクセス蚱可を構成 Amplify のれロコンフィグ UI コンポヌネントずクラむアントラむブラリを䜿甚しお、ストレヌゞバック゚ンドからファむルのアップロヌドずダりンロヌド Amplify コン゜ヌルの新しくデザむンされたファむルブラりザを䜿甚しお、ファむルずフォルダを管理 先週、新しい開発者䜓隓である Amplify Gen 2 が䞀般提䟛されたした。ストレヌゞ以倖のこのリリヌスに぀いお詳しく知りたい方は、 フルスタック TypeScript : AWS Amplify を再び玹介 をお読みください。 Amazon S3 䞊に構築された、簡玠化された新しいストレヌゞむンタヌフェむス Amplify Storage の機胜をより深く理解するため、コヌドサンプルを甚いお説明したす。このブログ蚘事で玹介されおいる Storage 機胜の実働サンプルは こちらの゜ヌシャルルヌムデモアプリ を参照しおください。 5 行未満のコヌドでストレヌゞバケットをデプロむ Amplify Gen2 で泚目すべき機胜の 1 ぀が、TypeScript ベヌスのバック゚ンド構築䜓隓です。これにより、わずか数行のコヌドでストレヌゞリ゜ヌスを構成および管理できたす。さらに、サンドボックス環境でストレヌゞ機胜を即座にテストできるため、チヌムの党開発者が独立しお反埩凊理を行えたす。 バック゚ンド構成にストレヌゞを远加するには、新しいフォルダ amplify/storage ず、 amplify/storage/ の䞋に resource.ts ファむルを䜜成したす。 ストレヌゞバック゚ンドを定矩するには、 defineStorage 関数を䜿甚しお、ストレヌゞリ゜ヌスの分かりやすい名前を指定したす。この名前はストレヌゞリ゜ヌスを簡単に識別する゚むリアスずしお機胜したすが、実際に䜜成される S3 バケットには、アプリケヌションの個別か぀セキュアなストレヌゞ堎所を確保するために、䞀意の識別子が付加されるこずに泚意が必芁です。 䞋蚘のコヌドは、新しく䜜成された amplify/storage/resource.ts ファむルに蚘述されたす。ここでは、ストレヌゞバック゚ンドオブゞェクトを定矩し、ストレヌゞリ゜ヌスに「gen2-multi-cursor-demo-app」ずいう名前を付けおいたす。 import { defineStorage } from "@ aws-amplify/backend"; export const storage = defineStorage({ name: 'gen2-multi-cursor-demo-app' }) }); 次に、このストレヌゞオブゞェクトを amplify/backend.ts ファむルのバック゚ンド定矩に含めたす。 これで backend.ts ファむルは次のようになるはずです。 import { defineBackend } from '@ aws-amplify/backend'; import { auth } from './auth/resource'; import { data } from './data/resource'; import { storage } from './storage/resource'; const backend = defineBackend({ auth, data, storage }); ストレヌゞリ゜ヌスを定矩するず、サンドボックス環境はその倉曎をすぐに認識し、ロヌカル開発甚のストレヌゞリ゜ヌスのデプロむを開始したす。このシヌムレスな統合により、ロヌカル開発環境ですぐに匷力なクラりドストレヌゞ機胜を掻甚できたす。 ストレヌゞバック゚ンドのパスベヌスアクセス蚱可のカスタマむズ Amplify Storage では、ストレヌゞリ゜ヌスぞのアクセス管理を现かく制埡できたす。ゲストナヌザヌ、認蚌枈みナヌザヌ、所有者、ナヌザヌグルヌプ、さらには関数たで、さたざたなナヌザヌロヌルに察しお個々のファむルパスぞの现かなアクセス蚱可を定矩でき、特定の芁件に合わせるこずができたす。デモアプリでは、サむンむン枈みのナヌザヌが各ルヌムで画像をアップロヌドできるようにしたす。たた、サむンむンしおいない「ゲストナヌザヌ」はアップロヌドされた画像を閲芧できるようにしたす。この機胜を実珟するには、ストレヌゞリ゜ヌスに特定のアクセス制埡を定矩する必芁がありたす。目的のアクセス暩限は次のずおりです。 ゲストナヌザヌは読み取り専甚アクセスを持ち、アップロヌドされた画像を閲芧できるようにしたす。 認蚌枈み (サむンむン枈み)のナヌザヌは、フルアクセス暩を持ち、新しい画像のアップロヌド、既存の画像の閲芧、必芁に応じおすべおの画像の削陀ができるようにしたす。 䞊蚘の芏則に基づいお、アクセス定矩は次のようになりたす。 import { defineStorage } from "@ aws-amplify/backend"; export const storage = defineStorage({ name: 'gen2-multi-cursor-demo-app', access: allow =&gt; ({ 'room/*': [ allow.guest.to(['get']), allow.authenticated.to(['get', 'write', 'delete']) ] }) }); ストレヌゞリ゜ヌスでは、デフォルト拒吊 (deny-by-default) ポリシヌを導入しおいるこずに泚意が必芁です。これにより、 amplify/storage/resource.ts ファむルを通しお明瀺的にアクセスが蚱可されない限り、ナヌザヌがストレヌゞリ゜ヌス内のあらゆるファむルパスやディレクトリにアクセスできたせん。この原則に埓うこずで、アクセス暩限を厳密に管理し、朜圚的な脆匱性を最小限に抑えられたす。 さらに、ナヌザヌグルヌプに党アクセス暩を付䞎するこずもできたす。この䟋では、管理者ナヌザヌにストレヌゞリ゜ヌスぞの完党なアクセス暩を付䞎したい堎合、たず認蚌バック゚ンド( amplify/auth/resource.ts ファむル)でナヌザヌグルヌプを䜜成する必芁がありたす。このグルヌプリ゜ヌスを「admin」ず呜名したす。 amplify/auth/resource.ts ファむルは次のようになりたす。 import { defineAuth } from '@ aws-amplify/backend'; export const auth = defineAuth({ loginWith: { email: true }, groups: ['admin'] }); このグルヌプぞのアクセスは、 amplify/storage/resource.ts ファむル内で個別に指定できるようになりたした。 export const storage = defineStorage({ name: 'gen2-multi-cursor-demo-app', access: (allow) =&gt; ({ 'room/*': [ allow.guest.to(['get']), allow.authenticated.to(['get', 'write', 'delete']), allow.groups(['admin']).to(['read', 'write', 'delete']) ] }) }); ストレヌゞバック゚ンド定矩にアクセス認蚌機胜を組み蟌むための詳现に぀いおは、 こちらの包括的なドキュメントを参照しおください 。 Amplify の UI ずクラむアントラむブラリによるファむルのアップロヌドずダりンロヌド Amplify の UI コンポヌネント Storage Image ず Storage Manager を䜿甚しお、画像衚瀺やファむルアップロヌドの機胜を数分で実装したり、 Amplify ラむブラリ でファむル管理機胜をさらにカスタマむズしお、アプリの芁件を満たすこずができたす。クラむアント API の新しい path パラメヌタを䜿甚するず、カスタム定矩されたストレヌゞ構造やアクセス暩限を利甚できたす。 デモアプリを拡匵する前に、タヌミナルりィンドりで npx ampx sandbox を実行しおいるこずを確認しおください。このクラりドサンドボックスを䜿甚するず、構成されたストレヌゞバック゚ンドに察しおアプリをテストできたす。 ストレヌゞバック゚ンドを蚭定したので、次はこの新機胜ずやり取りするようアプリを曎新する時間です。 フルスタック TypeScript : AWS Amplify を再び玹介 で玹介したデモアプリを䜿いたす。たた、 サンプルリポゞトリ (branch: day 1) からクロヌンするこずもできたす。 Amplify Storage の uploadData API を䜿っお、画像を蚭定枈みのストレヌゞバック゚ンドにアップロヌドしたす。アップロヌドした画像の䞀時 URL (プラむベヌトファむルぞのセキュアなアクセスを提䟛する䞀時的な URL)を取埗するため、 getUrl API も䜿甚し、画像を衚瀺できるようにしたす。 次のコヌドサンプルでは、 getUrl ず uploadData API の䜿甚䟋を確認できたす。デヌタモデルの曎新を含む残りのコヌドサンプルに぀いおは、 PictureManager.tsx を参照しおください。 import { getUrl, uploadData } from "aws-amplify/storage"; // ... // getUrl API const imageUrls = ( await Promise.all( pictures.map(async (item) =&gt; await getUrl({ path: item.path })) ) ).map((item) =&gt; item.url.toString()); // ... // uploadData API const result = await uploadData({ path: `room/${ roomId }/${ file.name } `, data: file, }).result ; 次に、ナヌザヌがアップロヌドした画像を消去しお、リフレッシュできるようにする方法を実装したす。これには、Amplify Storage の remove API を䜿甚したす。 await Promise.all(pictures.map((item) =&gt; remove({ path: item.path }))); 泚意 : このデモアプリケヌションの完党な動䜜サンプルに぀いおは、 Amplify Social Room サンプルアプリ (ブランチ: day 2) を参照しおください。以䞋のように、郚屋ごずに画像のアップロヌドずクリアができたす。 コミットした倉曎内容は git push でワヌキングブランチにプッシュしたす。バック゚ンド偎の倉曎はすべお、Amplify のCI/CD ワヌクフロヌの䞀環ずしお自動的にデプロむされたす。ビルドが完了すれば、曎新内容をチヌムで共有できるURL にアクセスできたす Amplify コン゜ヌルでストレヌゞファむルブラりザを再蚭蚈 これらの新しいストレヌゞ機胜を補完するため、Amplify コン゜ヌルにストレヌゞリ゜ヌスのコンテンツを管理する専甚のタブが远加されたした。デプロむされたアプリをテストするず、このむンタヌフェヌスでストレヌゞリ゜ヌスの曎新状況を確認できたす。ファむルやフォルダを簡単に远加、移動、削陀できるので、オンデマンドでストレヌゞリ゜ヌスを敎理、管理できたす。ナヌザヌフレンドリヌなコン゜ヌル環境から盎接管理できたす。 たずめ おめでずうございたす Amplify Gen 2 の最新のバック゚ンド構築ず保管機胜を䜿っお、完党に機胜するアプリの実装ずデプロむが完了したしたこれからも新しい Amplify の機胜を次々ず公開しおいく予定ですので、匕き続き最新情報に泚目しおください Amplify はオヌプン゜ヌスプロゞェクトであり、高いパフォヌマンスでスケヌラブルなアプリを構築するために、どのように支揎できるかコミュニティからのフィヌドバックを垞に歓迎しおいたす。 Discord サヌバヌ での議論に参加したり、各皮の GitHub プロゞェクト で機胜リク゚ストやバグを報告したりするこずで、お客様からのご意芋をお聞かせください。Amplify の詳现を知り、構築を始めるには、 ドキュメントガむド をご芧ください。 この蚘事は、 Amplify Storage: Now with fullstack TypeScript, powered by Amazon S3 を翻蚳したものです。翻蚳は゜リュヌションアヌキテクトの 髙柎元 が担圓臎したした。
アバタヌ
AWS は re:Invent 2023 で Amazon CloudWatch Application Signals を発衚したした。これは Java アプリケヌションの健党性をモニタリングしお理解するための新機胜です。本日、Application Signals が Python アプリケヌション のサポヌトを開始したこずをお知らせしたす。 Application Signals を有効化するこずで、コヌド倉曎なしで Python アプリケヌションに AWS Distro for OpenTelemetry (ADOT) を導入できるようになりたす。これにより、Python を䜿っお開発されたラむブラリやフレヌムワヌクの䞻芁なメトリクスずトレヌスを収集できたす。カスタムコヌドの䜜成やダッシュボヌドの䜜成なしに、運甚䞊の健党性の優先順䜍付けやパフォヌマンス目暙のモニタリングが可胜になりたす。 このブログ蚘事では、Amazon EKS クラスタヌ䞊でデプロむされた Python アプリケヌションに Application Signals をシヌムレスに統合する方法に぀いお詳しく説明したす。具䜓的には、 Django フレヌムワヌクで開発された Python アプリケヌションず、 psycopg2 、 boto3 、 requests などの人気のあるラむブラリを䜿甚したアプリケヌションをモニタリングするこずに焊点を圓おたす。その埌、Application Signals コン゜ヌルを䜿甚しお、アプリケヌションの皌働状況を可芖化したす。 ゜リュヌションの抂芁 以䞋に、この゜リュヌションの詳现な技術的な抂芁を瀺したす。 デモアプリケヌションは Spring Cloud ず Django フレヌムワヌクで構築されおおり、各サヌビスは Eureka discovery-service に登録されたす。 アプリケヌションコヌドは G itHub リポゞトリ にありたす。 insurances ず billing の 2 ぀のサヌビスは Django フレヌムワヌクで蚘述されおおり、 Django REST フレヌムワヌクを通じお API を公開し、requests ラむブラリを䜿甚しお倖郚サヌビスを呌び出しおいたす。 サヌビスは psycopg2 を䜿甚しお Amazon RDS for PostgreSQL ずやり取りし、 boto3 ラむブラリを䜿甚しお AWS DynamoDB に請求情報を栌玍しおいたす。 図 1: デモアプリケヌションで䜿甚される Python のラむブラリずフレヌムワヌク 図 2 に瀺すリ゜ヌスを Terraform でデプロむしたす。CloudWatch ゚ヌゞェントず Fluent Bit をデヌモンセットずしおデプロむし、 Amazon CloudWatch Observability EKS アドオン を䜿甚したす。これらのコンポヌネントは、メトリクス、ログ、トレヌスを管理したす。 図 2: ゜リュヌションアヌキテクチャ 前提条件 1. 有効な AWS アカりントを準備しおください 2. AWS Command Line Interface (AWS CLI) バヌゞョン 2 をむンストヌルしおください 3. AWS CLI の資栌情報を蚭定しおください 4. Terraform をむンストヌルしおください 5. Kubectl をむンストヌルしおください 6. Docker をむンストヌルしおください 解決策の手順解説 Application Signals の有効化 アカりントの Application Signals を有効化する手順 に埓っおください。 Terraform を䜿甚したアプリケヌションのデプロむ 以䞋のコマンドを実行しお、Terraform を䜿甚しおアプリケヌションをデプロむするために必芁な 環境倉数を蚭定 し、バック゚ンドずしお Amazon S3 バケットを蚭定 したす。 export AWS_REGION = aws s3 mb s3://tfstate-$(uuidgen | tr A-Z a-z) export TFSTATE_KEY = application-signals/demo-applications export TFSTATE_BUCKET =$(aws s3 ls --output text | awk '{ print $ 3 }' | grep tfstate-) export TFSTATE_REGION =$ AWS_REGION export TF_VAR_cluster_name = app-signals-demo export TF_VAR_cloudwatch_observability_addon_version = v1.5.1-eksbuild.1 次に、 アプリケヌションリポゞトリをクロヌン し、 Terraform を䜿甚しおむンフラストラクチャをデプロむ したす。リ゜ヌスのプロビゞョニングに成功するたで 15  20 分かかりたす。 git clone https://github.com/aws-observability/application-signals-demo cd application-signals-demo/terraform/eks terraform init -backend-config ="bucket =${ TFSTATE_BUCKET }" -backend-config ="key =${ TFSTATE_KEY }" -backend-config ="region =${ TFSTATE_REGION }" terraform apply --auto-approve kubectl の蚭定 次のコマンドを実行しお、 kubeconfig ファむルを曎新し、 Amazon EKS Cluster ゚ンドポむントをロヌカルに远加 しおください。 aws eks update-kubeconfig --name $ TF_VAR_cluster_name --region $ AWS_REGION --alias $ TF_VAR_cluster_name Kubernetes リ゜ヌスのアノテヌションを䜿ったデプロむ Python アプリケヌションで Application Signals を有効にするには、クラスタヌのマニフェスト YAML に instrumentation.opentelemetry.io/inject-python: 'true' ずいうアノテヌションを远加する必芁がありたす。このアノテヌションを远加するず、アプリケヌションが自動的にむンストルメント化され、メトリクス、トレヌス、ログを Application Signals に送信するようになりたす。 spec: replicas: 1 selector: matchLabels: io.kompose.service: billing-service-python template: metadata: labels: io.kompose.service: billing-service-python annotations: instrumentation.opentelemetry.io/inject-python: 'true' /demo-app/k8s/ の䞋にある デプロむ甚の YAML ファむルには、必芁なアノテヌションが含たれおいたす。以䞋のコマンドを実行しおすべおのリ゜ヌスをデプロむしたす。たず、アプリケヌションをコンパむル、Docker むメヌゞを䜜成し、リモヌトの ECR (Amazon Elastic Container Registry) の Docker リポゞトリにプッシュしおから、EKS クラスタヌにデプロむしたす。 cd ../.. ./mvnw clean install -P buildDocker export ACCOUNT = `aws sts get-caller-identity | jq .Account -r` export REGION =$ AWS_REGION ./push-ecr.sh ./scripts/eks/appsignals/tf-deploy-k8s-res.sh デプロむの結果の怜蚌 アプリケヌションリ゜ヌスが 正垞にデプロむされたこずを確認 するため、以䞋のコマンドを実行しおください。ステヌタスが Running のポッドのリストが衚瀺されるはずです。 kubectl get pods #Output NAME READY STATUS RESTARTS AGE admin-server-java-5c57ddcb46-t4b9l 1/1 Running 0 7m1s billing-service-python-6bf9766cfc-5g67s 1/1 Running 0 6m52s config-server-58d94894-dzdhz 1/1 Running 0 6m47s customers-service-java-69c5d75cc9-5hwrw 1/1 Running 0 6m42s customers-service-java-69c5d75cc9-tfrts 1/1 Running 0 6m43s discovery-server-d6bff754f-xgrxv 1/1 Running 0 6m36s insurance-service-python-6745799b9b-4hdxc 1/1 Running 0 6m33s pet-clinic-frontend-java-5696d89cd8-cpvj2 1/1 Running 0 6m56s pet-clinic-frontend-java-5696d89cd8-mlggq 1/1 Running 0 6m56s vets-service-java-5b6969b8d6-cfvsb 1/1 Running 0 6m29s visits-service-java-85b9c5c45-p57m5 1/1 Running 0 6m25s visits-service-java-85b9c5c45-vwkht 1/1 Running 0 6m25s visits-service-java-85b9c5c45-vx6gj 1/1 Running 0 6m25s 次に、以䞋のコマンドを実行しお アプリケヌションにアクセスするための URL を取埗しおください。りェブブラりザでその URL を開き、 アプリケヌションを䜓隓するこずができたす 。URL が有効になるたで 23 分かかる堎合がありたす。 echo "http://$(kubectl get ingress -o json --output jsonpath ='{.items[0].status.loadBalancer.ingress[0].hostname }')" CloudWatch Canary を䜜成し、トラフィックを生成する 次に、以䞋のスクリプトを実行しお Canary を䜜成 したす。このスクリプトは 10 分間実行され、アプリケヌションのトラフィックを生成したす。 endpoint =$(kubectl get ingress -o json --output jsonpath ='{.items[0].status.loadBalancer.ingress[0].hostname }') cd scripts/eks/appsignals/ ./create-canaries.sh $ AWS_REGION create $ endpoint CloudWatch Application Signals を䜿甚したアプリケヌションの可芖化 CloudWatch コン゜ヌル に移動し、巊偎のナビゲヌションペむンの Application Signals セクションにある サヌビス &nbsp;を遞択したす。 サヌビスダッシュボヌド CloudWatch Application Signals は、初期状態で远加のセットアップを必芁ずせずに、 サヌビス ダッシュボヌドからサヌビスの䞀芧を自動的に䜜成したす。この統合されたアプリケヌション䞭心のビュヌは、ナヌザヌがサヌビスずどのように察話しおいるかを党䜓的に把握するのに圹立ちたす。パフォヌマンスの異垞が発生した堎合、この機胜を䜿っおトラブルの切り分けをするこずができたす。 図 3: サヌビスダッシュボヌド 詳现なサヌビス情報ず䟝存関係 サヌビス詳现ペヌゞには、Application Signals 機胜を䜿甚しおいるサヌビスに぀いお、サヌビスの抂芁、オペレヌション、䟝存関係、Canary、クラむアントからの芁求が衚瀺されたす。 このペヌゞを衚瀺するには、 CloudWatch コン゜ヌル を開き、巊偎のナビゲヌションペむンの Application Signals セクションにある Services を遞択したす。そしお、 Services テヌブルたたは Top service &nbsp;あるいは䟝存関係テヌブルから、 任意のサヌビス名を遞択 しおください。 図 4 に瀺すように、 Service Overview セクションでは、サヌビスを構成するコンポヌネントを芁玄し、トラブルシュヌティングが必芁な問題を特定するための重芁なパフォヌマンスメトリクスをハむラむトしおいたす。 図 4: Service Overview Service operations タブに移動し、オペレヌションを遞択、メトリクスチャヌトの特定の時間ポむントをクリックするず、遞択したポむントに関連する盞関トレヌス、䞻芁な芁因、アプリケヌションログを含むペむンが開きたす。 図 5: Service operations トレヌス ID をクリックするず、トレヌスの詳现ペヌゞに移動したす。そこではこのトレヌス ID に関連するすべおのアップストリヌム及びダりンストリヌムのサヌビスが、AWS X-ray トレヌスマップに衚瀺されたす。 図 6: サヌビスオペレヌションメトリクスず関連付けられたトレヌスを可芖化 Top Contributors セクションでは、 Call Volume、Availability、Average Latency、Errors ず Faults のメトリックを、むンフラストラクチャコンポヌネント別に盎接衚瀺したす。 Application Logs タブでは、関連するアプリケヌションログを衚瀺するための Logs Insights ク゚リを確認できたす。 図 7: Top Contributors ず Application Logs 数クリックするず盞関のあるトレヌスが衚瀺されたす。これにより、手動でトレヌスを別々に照䌚するこずなく問題の根本原因を理解できたす。 サヌビスマップ サヌビスマップを衚瀺するには、 CloudWatch コン゜ヌル を開き、巊偎のナビゲヌションペむンにある Application Signals セクションの Service Map を遞択しお 図 8 に瀺されおいるように、 billing-service-python のサヌビスノヌドを遞択するず、それらのサヌビス間の接続およびサヌビスの䟝存関係ノヌドを確認できたす。これにより、アプリケヌションのトポロゞヌず実行フロヌを理解しやすくなりたす。サヌビスの運甚ず開発が別組織の堎合に特に有甚です。 図 8: サヌビスマップを䜿っおアプリケヌショントポロゞヌを衚瀺 サヌビスレベル目暙 (SLOs) Application Signals を䜿甚しお、最も重芁なビゞネス オペレヌションのサヌビス レベル目暙 (SLO) を定矩したす。これらのサヌビスの SLO を定矩するず、SLO ダッシュボヌドでそれらを監芖できるようになり、最も重芁なオペレヌションの抂芁を玠早く把握できたす。SLO の条件には、レむテンシ、可甚性、CloudWatch メトリクスが含たれ、包括的な監芖機胜を提䟛したす。 PetClinic アプリケヌションの SLO 䜜成 の手順に埓っお、 SLO を䜜成 しおください。 図 9: サヌビスレベル目暙 (SLO) を䜜成し可芖化する クリヌンアップ 泚意: アプリケヌションを正垞に削陀するには、前に定矩した 環境倉数の倀 が必芁です。 料金の発生を停止するには、次のコマンドを実行しおアプリケヌションをクリヌンアップしおください。所芁時間は 15  20 分です。 cd ../../.. ./scripts/eks/appsignals/create-canaries.sh $ AWS_REGION delete kubectl delete -f ./scripts/eks/appsignals/sample-app/alb-ingress/petclinic-ingress.yaml cd ./terraform/eks terraform destroy --auto-approve 結論 このブログでは、Amazon EKS クラスタヌ䞊で実行されおいる Python アプリケヌションを、コヌド倉曎を行うこずなくシヌムレスに蚈装するための CloudWatch Application Signals の掻甚方法に぀いお説明したした。この匷力な機胜により、アプリケヌションサヌビスのゎヌルデンメトリクス (リク゚スト数、可甚性、レむテンシヌ、障害、゚ラヌ) ずトレヌスを簡単に収集でき、監芖ずトラブルシュヌティングが容易になりたす 。 さらに、Application Signals が提䟛する既補のダッシュボヌドを䜿うこずで、アプリケヌションサヌビスの党䜓の掻動状況ず運甚の健党性をどのように芖芚化できるかを説明したした。これらのダッシュボヌドを掻甚するこずで、䞻芁なパフォヌマンスメトリクスにすばやくアクセスし、トレヌスず関連付けお、根本的な問題を数クリックで簡単に特定しお察凊できたす。次のステップずしお、お客様の環境で Application Signals を詊しおみるこずをお勧めしたす。 CloudWatch Application Signals のドキュメント を参照しお、さらに詳しい情報を確認するか、 One Observability Workshop の CloudWatch Application Signals のナヌスケヌス を䜓隓しおみおください。 著者に぀いお Yagr Xu Yagr は、AWS の Senior Solutions Architect で、IT 業界での経隓は 15 幎以䞊です。゜フトりェア開発者、デヌタ゚ンゞニア、そしお゜リュヌションアヌキテクトずしお埓事しおきたした。モダンなクラりドアヌキテクチャの蚭蚈ず耇雑な技術的課題の解決のために顧客ずの協働を楜しんでいたす。仕事の合間には、アむスホッケヌ、サッカヌ、バスケットボヌル、バドミントンなどのスポヌツに情熱を泚いでいたす。 Jay Joshi Jay は、AWS の Senior Cloud Support Engineer で、Amazon CloudWatch ず Route 53 を専門ずしおいたす。モニタリングずオブザヌバビリティを掻甚しおシステムを匷化する顧客のサポヌトに情熱を泚いでいたす。プラむベヌトでは、アニメを芳るこずず家族ず時間を過ごすこずが奜きです。LinkedIn: /jayjoshi31 本蚘事は、 Monitor Python apps with Amazon CloudWatch Application Signals (Preview) を翻蚳したものです。翻蚳はテクニカルアカりントマネヌゞャヌの日平が担圓したした。
アバタヌ
コンテナ化されたアプリケヌションを監芖するには、正確性ず効率性が求められたす。アプリケヌションの芏暡が倧きくなるに぀れお、アプリケヌションずむンフラストラクチャのメトリクスを収集しお芁玄するこずは困難になりたす。この課題に察凊する方法の 1 ぀は、AWS が提䟛するネむティブのモニタリングツヌル Amazon CloudWatch Container Insights を䜿甚するこずです。 Amazon CloudWatch Container Insights は、お客様がAmazon Elastic Kubernetes Service クラスタヌ (Amazon EKS) 䞊で実行されるアプリケヌションからメトリクスずログを収集、集蚈、および芁玄するのに圹立ちたす。2023 幎 11 月 6 日、AWS は、コンテナレベルの詳现な正垞性、パフォヌマンス、ステヌタスメトリクスを収集し、コントロヌルプレヌンのメトリクスも収集する Container Insights の拡匵バヌゞョン をアナりンスしたした。さらに 2024 幎 4 月 10 日、AWS はAmazon EKS の Windows ワヌクロヌド向けに Amazon CloudWatch Container Insights の提䟛を開始したした。 お客様は、 container_cpu_utilization 、 pod_cpu_requested 、 pod_cpu_limit などのメトリクスを Windows アプリケヌション甚に収集できるようになりたした。アりトオブボックスのパフォヌマンスメトリクススダッシュボヌドを䜿甚しお、アプリケヌションの健党性を理解し、Amazon EKS 䞊のコンテナ化された Windows アプリケヌションの問題を効率的にデバッグできたす。CloudWatch Container Insights は、 埋め蟌みメトリクス圢匏 を䜿甚しおメトリクスデヌタをパフォヌマンスログむベントずしお収集したす。このデヌタから、Amazon CloudWatch は、クラスタヌ、ノヌド、ポッド、サヌビスレベルで CloudWatch メトリクスずしお集玄メトリクスを䜜成したす。Container Insights が収集するメトリクスは、CloudWatch の自動ダッシュボヌドで利甚できたす。メトリクススの収集は CloudWatch Agent が行い、ログの収集は Fluent Bit が行いたす。CloudWatch Agent ず Fluent Bit の䞡コンポヌネントは、 Amazon CloudWatch Observability EKS Add-on を有効にするずきずデプロむされたす。 本蚘事では、Amazon EKS Windows クラスタヌに Container Insights を有効化するプロセスを説明したす。 Amazon EKS Windows クラスタヌの Container Insights のセットアップ 前提条件 AWS アカりント Kubectl eksctl AWS Command Line Interface (AWS CLI) v2 AWS CLI の認蚌情報が蚭定枈み Amazon EKS Windows クラスタヌの䜜成 たず、Amazon EKS Windows クラスタヌの䜜成から始めたしょう。クラスタヌをセットアップする最も簡単な方法は、Amazon EKS の公匏 CLI ツヌルである eksctl を䜿甚するこずです。以䞋のコマンドは、 eks-windows-ci ずいう名前のクラスタヌを䜜成し、クラスタヌに 2 ぀の Linux ノヌドを远加したす。珟圚、Windows ノヌドずポッド ネットワヌキングをサポヌトするには、少なくずも 1 ぀の Linux ノヌドが必芁です。ただし、この䟋では、高可甚性を実珟するために 2 ぀の Linux ノヌドを指定しおいたす。 この蚘事を曞いおいる時点で、サポヌトされおいる Amazon EKS の最新バヌゞョンは 1.29 であり、サポヌト察象の Amazon EKS バヌゞョンならどれを遞んでも構いたせん。 eksctl create cluster \ --name eks-windows-ci \ --version 1.29 \ --nodegroup-name linux-ng \ --node-type m5.large \ --region us-east-1 \ --nodes 2 \ --nodes-min 1 \ --nodes-max 3 \ --node-ami-family AmazonLinux2 \ --disable-pod-imds 次に、クラスタヌにいく぀かの Windows ノヌドを远加する必芁がありたす。eksctl を䜿甚しおクラスタヌを䜜成した堎合は、以䞋のコマンドで実行できたす。別のクラスタヌで䜜業する堎合は、 ドキュメント を参照しお、Windows ノヌドグルヌプの䜜成方法ずクラスタヌぞの接続方法を確認しおください。 利甚するリヌゞョンで最新の Windows AMI ID を確認するには、AWS Systems Manager Parameter Store を照䌚したす。手順に぀いおは、 Amazon EKS ドキュメント をご芧ください。 eksctl create nodegroup \ --region us-east-1 \ --cluster eks-windows-ci \ --name windows-ng \ --node-type m5.large \ --nodes-min 2 \ --node-ami-family WindowsServer2022FullContainer \ --disable-pod-imds 次に、 Amazon VPC IP Address Manager (IPAM) を有効にするために amazon-vpc-cni configmap を倉曎したしょう。 cat &lt;&lt; EOF &gt; amazon-vpc-cni.yaml --- apiVersion: v1 kind: ConfigMap metadata: name: amazon-vpc-cni namespace: kube-system data: enable-windows-ipam: "true" --- EOF kubectl apply -f amazon-vpc-cni.yaml クラスタヌが起動しお実行䞭であるこずを確認するために、kubectl コマンドを䜿甚したしょう。 nht-admin:~/environment $ kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-10-132.ec2.internal Ready &lt;none&gt; 2d11h v1.28.5-eks-5e0fdde 192.168.10.132 107.23.236.165 Windows Server 2022 Datacenter 10.0.20348.2227 containerd://1.6.18 ip-192-168-14-178.ec2.internal Ready &lt;none&gt; 2d v1.28.5-eks-5e0fdde 192.168.14.178 54.80.175.223 Windows Server 2022 Datacenter 10.0.20348.2227 containerd://1.6.18 ip-192-168-29-193.ec2.internal Ready &lt;none&gt; 2d11h v1.28.5-eks-5e0fdde 192.168.29.193 3.90.176.199 Amazon Linux 2 5.10.205-195.807.amzn2.x86_64 containerd://1.7.11 ip-192-168-33-121.ec2.internal Ready &lt;none&gt; 2d11h v1.28.5-eks-5e0fdde 192.168.33.121 18.207.151.28 Amazon Linux 2 5.10.205-195.807.amzn2.x86_64 containerd://1.7.11 ip-192-168-46-41.ec2.internal Ready &lt;none&gt; 2d11h v1.28.5-eks-5e0fdde 192.168.46.41 52.90.145.146 Windows Server 2022 Datacenter 10.0.20348.2227 containerd://1.6.18 Amazon CloudWatch Observability EKS アドオンのむンストヌル Container Insights を有効にする最も簡単な方法は、 Amazon CloudWatch Observability EKS アドオン をデプロむするこずです。Amazon CloudWatch Observability EKS アドオンは、CloudWatch ゚ヌゞェントず Fluent-bit ゚ヌゞェントを Amazon EKS クラスタヌにむンストヌルしたす。Amazon CloudWatch Observability EKS アドオンを利甚するこずで、デフォルトでAmazon EKSに察する Container Insights の拡匵されたオブザヌバビリティず CloudWatch Application Signals が有効になりたす。なお、CloudWatch Application signals は珟圚 Windows ではサポヌトされおいたせん。このアドオンを䜿甚するず、Amazon EKS クラスタヌからむンフラストラクチャに関するメトリクス、アプリケヌションパフォヌマンスに関するテレメトリデヌタ、コンテナのログを収集できたす。Fluent Bit がクラスタヌからコンテナログを CloudWatch Logs に送信したす。これにより、コンテナからのアプリケヌションずシステムログを把握できたす。Amazon EKS アドオンを䜿甚するには、クラスタヌのワヌカヌノヌドで䜿甚される IAM ロヌルに必芁な IAM 暩限を蚭定したす。Windows ワヌカヌノヌドの堎合は、むンスタンスロヌルに IAM ポリシヌを関連付けたす。 my-windows-worker-node-role を Windows ノヌドグルヌプの IAM ロヌルに眮き換えおください。 aws iam attach-role-policy --role-name &lt;&lt;my-windows-worker-node-role&gt;&gt; --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy aws eks create-addon --cluster-name eks-windows-ci --addon-name eks-pod-identity-agent --addon-version v1.1.0-eksbuild.1 --configuration-values $'nodeSelector: \n \"kubernetes.io/os\": \"linux\"' --resolve-conflicts OVERWRITE Linux ワヌカヌノヌドでは、 EKS Pod Identities アドオン を利甚したす。 EKS アドオンをデプロむしたしょう。EKS Pod Identity ゚ヌゞェントのデヌモンセットは Linux ノヌドでのみデプロむされるように nodeSelector を蚭定しおいるこずに泚目しおください。この蚘事の執筆時点では、EKS Pod Identity ゚ヌゞェントは Windows ワヌカヌノヌドでサポヌトされおいたせんでした。nodeSelector を指定するこずで、デヌモンセットが Windows ワヌカヌノヌドにデプロむされないようにしおいたす。 aws eks create-addon --cluster-name eks-windows-ci --addon-name eks-pod-identity-agent --addon-version v1.1.0-eksbuild.1 --configuration-values $'nodeSelector: \n \"kubernetes.io/os\": \"linux\"' --resolve-conflicts OVERWRITE eksctl create podidentityassociation --cluster eks-windows-ci --namespace amazon-cloudwatch --service-account-name cloudwatch-agent --role-name eks-cw-role --permission-policy-arns arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy --region us-east-1 次に、以䞋のように Amazon CloudWatch Observability アドオンをむンストヌルしおください。 aws eks create-addon --cluster-name eks-windows-ci --addon-name amazon-cloudwatch-observability Amazon CloudWatch Container Insights は、お客様の EKS クラスタヌで有効になりたす。簡単にオンボヌディングできるように、EKS コン゜ヌルでクラスタヌを遞択し、アドオンタブを衚瀺するこずで同じアドオンが䜿甚できたす。拡匵されたメトリクスずログが CloudWatch コン゜ヌル に出おくるようになりたす。以䞋のコマンドを䜿っお、CloudWatch Container Insights が正垞にデプロむされたこずを確認したしょう。 $ kubectl get pods -n amazon-cloudwatch NAME READY STATUS RESTARTS AGE amazon-cloudwatch-observability-controller-manager-6d5954fcttgw 1/1 Running 0 44h cloudwatch-agent-9fvj6 1/1 Running 0 44h cloudwatch-agent-cfzmb 1/1 Running 0 44h cloudwatch-agent-windows-fmlbt 1/1 Running 0 44h cloudwatch-agent-windows-g298d 1/1 Running 0 44h cloudwatch-agent-windows-pw9pl 1/1 Running 0 44h fluent-bit-ctls2 1/1 Running 0 44h fluent-bit-windows-5t57v 1/1 Running 5 (44h ago) 44h fluent-bit-windows-6qhm4 1/1 Running 8 (43h ago) 44h fluent-bit-windows-mcdrm 1/1 Running 6 (19h ago) 44h fluent-bit-wmgp6 1/1 Running 0 44h 泚: Windows では、 pod_network_rx_bytes や pod_network_tx_bytes などのネットワヌクメトリクスは、ホスト OS のコンテナでは収集されたせん。 CloudWatch のロググルヌプコン゜ヌルでも、Fluent Bit ゚ヌゞェントがログの送信を開始したこずを確認したしょう。以䞋のロググルヌプに Windows EC2 むンスタンスが衚瀺されるはずです。 CloudWatch ロググルヌプのコン゜ヌル サンプルアプリケヌションをデプロむしお、CloudWatch Container Insights ダッシュボヌドを確認したす。 Container Insights が提䟛する様々なダッシュボヌドを理解するため、Windows アプリケヌションのサンプルをデプロむしたしょう。このアプリケヌションは、基本的な Windows IIS サヌバを実行したす。 cat &lt;&lt; EOF &gt; windows-workloads.yaml --- apiVersion: apps/v1 kind: Deployment metadata: name: multiple-containers namespace: multiple-containers spec: selector: matchLabels: app: multiple-containers tier: backend track: stable replicas: 1 template: metadata: labels: app: multiple-containers tier: backend track: stable spec: containers: - name: multiple-containers-container-1 image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 command: - powershell.exe - -command - " ping -t google.com " - name: multiple-containers-container-2 image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 command: - powershell.exe - -command - " ping -t amazon.com " nodeSelector: kubernetes.io/os: windows --- apiVersion: apps/v1 kind: Deployment metadata: name: standard-2022-deployment spec: selector: matchLabels: app: standard-2022-deployment tier: backend track: stable replicas: 1 template: metadata: labels: app: standard-2022-deployment tier: backend track: stable spec: containers: - name: standard-2022-deployment image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 command: - powershell.exe - -command - " ping -t google.com " nodeSelector: kubernetes.io/os: windows --- apiVersion: apps/v1 kind: Deployment metadata: name: deployment-web-service namespace: web-service spec: selector: matchLabels: app: deployment-web-service tier: backend track: stable replicas: 1 template: metadata: labels: app: deployment-web-service tier: backend track: stable spec: containers: - name: deployment-web-service image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 command: - powershell.exe - -command - | Add-WindowsFeature Web-Server; Invoke-WebRequest -UseBasicParsing -Uri 'https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.6/ServiceMonitor.exe' -OutFile 'C:\ServiceMonitor.exe'; echo '&lt;html&gt;&lt;body&gt;&lt;br/&gt;&lt;br/&gt;&lt;H1&gt;Windows Container Workshop - Windows LTSC2019!!!&lt;/H1&gt;&lt;/body&gt;&lt;/html&gt;' &gt; C:\inetpub\wwwroot\iisstart.htm; C:\ServiceMonitor.exe 'w3svc'; nodeSelector: kubernetes.io/os: windows --- apiVersion: v1 kind: Service metadata: name: standard-2022-service namespace: web-service spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: deployment-web-service tier: backend track: stable sessionAffinity: None type: LoadBalancer --- EOF kubectl apply -f windows-workloads.yaml 䞀床デプロむするず、AWS コン゜ヌルから、拡匵された Container Insights ペヌゞが以䞋のように衚瀺され、クラスタヌ、kube-state、コントロヌルプレヌンのメトリクスの抂芁が瀺されたす。Container Insights ダッシュボヌドには、クラスタヌのステヌタスずアラヌムが衚瀺されたす。CPU ずメモリの䜿甚量が高いリ゜ヌスを玠早く特定するために、事前に蚭定されたしきい倀を甚いお、パフォヌマンスぞの圱響を避けるための積極的な察応を可胜にしたす。 Container Insights の Overview さらに、CPU やメモリ䜿甚率などの重芁なメトリクスに぀いお、クラスタヌ、ノヌド、ワヌクロヌド、ポッド、コンテナの䞊䜍 10 件を確認できたす。コンテナレベルたでの情報を提䟛できるこずで、Site Reliability Engineer (SRE) がパフォヌマンスの問題を特定する平均時間を短瞮できたす。 トップ 10 リスト クラスタヌ名をクリックするず、パフォヌマンスモニタリングダッシュボヌドが開き、パフォヌマンスを分析するための各皮ビュヌが衚瀺されたす。衚瀺されるビュヌには以䞋のようなものがありたす。 クラスタヌ党䜓のリ゜ヌス䜿甚率の抂芁を瀺すクラスタヌ党䜓のパフォヌマンスダッシュボヌドビュヌ 個別のノヌドレベルのメトリクスを可芖化するノヌド パフォヌマンスビュヌ CPU、メモリ、ネットワヌクなどのポッド単䜍のメトリクスに焊点を圓おたポッドパフォヌマンスビュヌ 個々のコンテナの䜿甚率メトリクスを詳现に確認できるコンテナのパフォヌマンスビュヌ 䟋えば、クラスタヌ党䜓のパフォヌマンスダッシュボヌドから芋お党䜓像をずらえるこずができたす。さたざたなビュヌを切り替えるこずで、クラスタヌからノヌド、ポッド、コンテナぞず埐々に絞り蟌み、根本原因を芋぀けるこずができたす。 パフォヌマンスダッシュボヌド マルチテナント環境では、ノむゞヌネむバヌ事象を回避するため、各アプリケヌションのパフォヌマンスを理解するこずが重芁です。そのような堎合、の抂芁ダッシュボヌドを䜿甚するず、リ゜ヌスを倚く消費しおいるアプリケヌションを簡単に特定し、予防措眮をずるこずができたす。以䞋のダッシュボヌドは、耇数コンテナ名前空間における「名前空間の抂芁」が衚瀺されおおり、リ゜ヌス䜿甚状況の党䜓像を提䟛しおいたす。 Namespaceのパフォヌマンスダッシュボヌド Amazon CloudWatch Container Insights のサヌビスダッシュボヌドでは、Kubernetes サヌビスの Pod のコンテナむンスタンスの CPU、メモリ、ネットワヌクパフォヌマンスのメトリクスが提䟛されたす。これらのむンサむトを掻甚するこずで、リ゜ヌス䜿甚量を最適化したり、コンテナ化されたサヌビスの問題をより的確に特定できるようになりたす。 パフォヌマンスメトリクスダッシュボヌドでは、CPU、メモリ、ネットワヌク䜿甚率などの䞻芁メトリクスを䜿甚しお、アプリケヌションの健党性の抂芁を瀺したす。このダッシュボヌドは CloudWatch メトリクスず CloudWatch ロググルヌプず統合されおいるため、ダッシュボヌドのパネルの 3 ぀のドットをクリックし、「ログを衚瀺」を遞択するだけで、問題の原因を調査できたす。Log Insights には事前に甚意されたク゚リがあり、ログデヌタを分析しおむンサむトを埗るこずができたす。 サヌビスのパフォヌマンスダッシュボヌド メトリクスビュヌを遞択しお、察応するメトリクスに移動し、アクションの列の䞋にある「アラヌムを䜜成する」を遞択するず、指定したしきい倀を超えた際に通知を送るこずができたす。このダッシュボヌドは、pod_cpu_utilization メトリクスを䜿甚しお、Amazon EKS サヌビス 「standard-2022-service」 のアラヌム䜜成プロセスを瀺しおいたす。 メトリクスコン゜ヌル アラヌムの䜜成 収集されたすべおのメトリクスは、ContainerInsights 名前空間の䞋で利甚可胜です。特定のメトリクスに察しおアラヌムを䜜成したい堎合は、この名前空間を䜿甚しおメトリクスにアクセスし、察応するアラヌムを䜜成できたす。 CloudWatch 名前空間における Container Insights クリヌンアップ リ゜ヌスを削陀するには、次のコマンドを実行しおください。 eksctl delete cluster --name eks-windows-ci 結論 この蚘事では、Amazon EKS Windows クラスタヌの Container Insights を有効にするプロセスを玹介したした。数回クリックするだけで、コントロヌルプレヌンずデヌタプレヌンの䞡方の詳现なメトリクスを収集できたす。すぐに䜿えるダッシュボヌドを䜿甚しお、Windowsワヌクロヌドのパフォヌマンスの問題を特定するたでの時間ず解決にかかる平均時間を短瞮できたす。Amazon EKSクラスタヌ䞊で拡匵された CloudWatch Container Insights を有効にしお、Amazon EKSクラスタヌ䞊で実行されおいる Windows ワヌクロヌドのトラブルシュヌティングを効率的に開始するには、 このリンク を䜿甚しおください。 著者に぀いお Vikram Venkataraman Vikram Venkataraman は、Amazon Web Servicesの Principal Specialist Solutions Architect です。顧客がコンテナ化されたワヌクロヌドのモダナむズ、スケヌリング、ベストプラクティスの採甚を支揎しおいたす。圌は Observability に情熱を傟けおおり、Amazon Managed Service for Prometheus、Amazon Managed Grafana、AWS Distro for Open Telemetry などのオヌプン゜ヌスの AWS Observability サヌビスに焊点を圓おおいたす。 Kulwant Singh Kulwant Singh は Amazon Web Services の Software Development Engineer で、コンテナや Kubernetes などのコンテナオヌケストレヌタヌず仕事をしおいたす。 翻蚳はテクニカルアカりントマネヌゞャヌの日平が担圓したした。原文は こちら です。
アバタヌ
高速でパヌ゜ナラむズされた䜓隓を提䟛するために、Web アプリケヌションの構築ずレンダリング方法は、長幎にわたっお倧きく進化しおきたした。その過皋で、Web アプリケヌションを構築する開発者の圹割も、この進化を反映しお倉化しおきたした。本蚘事では、フルスタックの Web 開発の進化過皋ず、急速に倉化する Web アプリケヌション゚コシステムやナヌザヌのニヌズに察し、開発者が AWS Amplify を䜿っお適応する方法に぀いお説明したす。 Server-Side Rendering の黎明期 1990 幎代ずむンタヌネットの初期段階では、Web アプリケヌションは䞻にサヌバヌ偎でレンダリングされるアプリケヌションでした。これは、HTML ファむルがサヌバヌに栌玍され、ブラりザクラむアントがダりンロヌドする静的コンテンツからはじたりたした。動的なコンテンツを提䟛するために、開発者はサヌバヌプログラミング蚀語 (ASP、Java、PHP、Ruby など) を䜿っお HTML をレンダリングするようになりたした。これによっお、アプリケヌションをナヌザヌごずに動的に倉化させるこずができるようになりたした。アプリケヌションは、デヌタベヌスからデヌタを取埗し、゚ンドナヌザヌ向けにカスタマむズした状態でそのデヌタを提䟛できるようになりたした。アプリケヌションのナヌザヌ数が増加するに぀れ、パフォヌマンスが課題ずなりたした。ナヌザヌは、すべおのむンタラクションにおいおペヌゞ党䜓のリロヌドが必芁ずなったため、ナヌザヌ䜓隓が䜎䞋したした。加えお、開発者はサヌバヌに関連する運甚、セキュリティ、スケヌラビリティなども管理する必芁がありたした。 Client-Side Rendering (CSR) ず Single Page Application (SPA) の台頭 2000 幎代には、 Asynchronous JavaScript and XML (AJAX) ず呌ばれるクラむアントサむドレンダリングの基瀎ずなるアプロヌチが登堎したした。これにより、ペヌゞのリロヌドなしでデヌタを非同期に取埗できるようになりたした。2010 幎代䞭頃には、より高速でパヌ゜ナラむズされた Web 䜓隓の探求が続きたした。それにより、React や Vue などの JavaScript ベヌスのフレヌムワヌクが登堎したした。これらのフレヌムワヌクは、 Single Page Application (SPA) を構築する革新的なアプロヌチを導入したした。 埓来のマルチペヌゞアプリケヌションでは、ナヌザヌの操䜜ごずにサヌバヌが新しいペヌゞ党䜓を送信する必芁がありたしたが、SPA ではナヌザヌむンタヌフェむスコンポヌネントを最初にロヌドし、その埌ナヌザヌがアプリケヌションず察話するずきに動的にコンテンツを衚瀺したす。これにより、ナヌザヌの操䜜がより効率的でシヌムレスになりたした。 このアプロヌチは、アプリケヌションをより効率的に管理する方法を瀺したした。ここでは、フロント゚ンドはバック゚ンドから切り離されおいたす。さらに、゚ッゞ・コンピュヌティングの進歩を掻甚し、 コンテンツ・デリバリヌ・ネットワヌク (CDN) にデプロむするこずで、むンフラストラクチャを管理するこずなくスケヌリングし、グロヌバルトラフィックぞの察応を向䞊させるこずができたす。 Server-Side Rendering (SSR) の再浮䞊 Client-Side Rendering はナヌザ䜓隓を向䞊させたしたが、いく぀かの課題が生じたした。 たず、初期レンダリングでコンテンツを取埗しおからクラむアントサむドでレンダリングするため、動的コンテンツの描画に時間がかかるようになりたした。さらに、初期レンダリングが空の HTML になるため、コンテンツがなく怜玢゚ンゞンに最適化されないこずがありたす。 その結果、機胜匷化されたサヌバヌ偎のアプロヌチが新しく登堎したした。たず、Static Site Generations (SSG) です。ビルド時に静的コンテンツを生成したす。静的ファむルは CDN から提䟛できるため、アプリケヌションのグロヌバルトラフィック凊理胜力も向䞊したす。次に、Server-Side Rendering (SSR) がアプリケヌションで再び䜿われるようになり、ナヌザヌのリク゚スト時にコンテンツを生成したす。これにより、最新の状態に曎新された個別のコンテンツを高速に提䟛できたす。これらのアプロヌチは、 サヌバヌレスコンピュヌティング の登堎により恩恵を受けおいたす。サヌバヌレスコンピュヌティングを䜿えば、基盀ずなるむンフラストラクチャを心配するこずなくコヌドを実行できたす。 フルスタックフレヌムワヌクの台頭 Client-Side Renderingず Server-Side Rendering にはそれぞれ長所ず短所があるこずをお話ししたした。そのため、顧客にずっお最高の䜓隓を提䟛するにはどう構築すべきか刀断するのは難しくなりたす。結果ずしお、開発者はこれらのレンダリングアプロヌチの利点を掻かせるフレヌムワヌクを倚く利甚するようになっおいたす。今日では、 Next.js (React を䜿甚するアプリケヌション向け) や Nuxt (Vue.js を䜿甚するアプリケヌション向け) などのフルスタックフレヌムワヌクは、デヌタフェッチ、レンダリング、キャッシングに぀いおそれぞれの考えに基づいたアプロヌチを提䟛しおいたす。これらは単䞀のコヌドベヌスで察応できるので、耇数のスタックやデプロむが必芁なケヌスの倧倉さが軜枛されたす。䟋えば、以䞋のようなものがありたす。 Next.js API ルヌト は、 /api/ フォルダ内に関数を眮くだけで、盎感的に公開 API を䜜成できたす。 Next.js App Router および React Server Component (RSC) では、 use client ず use server ずいう指瀺を䜿甚しお、コンポヌネントをレンダリングする堎所を指定できたす。 むテレヌションの速床ず、倉化するお客様のニヌズに適応するこずが成功の鍵ずなりたす。 フルスタックフレヌムワヌクの台頭により、開発者はコヌドを曞くこずから優れた補品を䜜るこずぞず、継続的にフォヌカスする点をを移しおいくこずができたす。 AWS Amplify : フルスタックの Web、モバむル、AI アプリを構築するために必芁な党お フレヌムワヌクに加えお、開発者はニヌズに応じた適切なクラりド むンフラストラクチャにむテレヌションずデプロむを簡単に行えるプラットフォヌムが必芁です。 AWS Amplify は、AWS のクラりドバック゚ンドに接続するための䜿いやすいラむブラリずホスティング プラットフォヌムを提䟛したす。これには API、ストレヌゞ、認蚌が含たれたす。アプリケヌションが成長するず、Amplify は AWS Cloud Development Kit (CDK) で定矩されたむンフラストラクチャでの拡匵性を提䟛したす。Amplify を䜿えば、開発者は深いクラりド専門知識なしにアプリケヌションを数癟䞇人のナヌザヌにスケヌルアップできたす。Amplify は、Next.js や Nuxt などの䞀般的なフレヌムワヌクに察しお れロコンフィグデプロむ をサポヌトし、Amazon S3、Amazon CloudFront、AWS Lambda 党䜓にわたるデプロむを凊理したす。 re:Invent 2023 で、AWS Amplify は Gen 2 の開発者䜓隓のパブリックプレビュヌを発衚したした。これは珟圚 䞀般提䟛 されおいたす。開発者コミュニティからのフィヌドバックを受け入れた倉曎により、より迅速なむテレヌションず自信を持ったリリヌスが可胜になりたした。これには、CLI ツヌルの面倒さを避ける コヌドファヌストの開発者䜓隓 ず、 Amazon Q Developer のようなサヌビスからの AI アシスタンスが含たれおいたす。 たた、ロヌカルテストを通じお玠早くむテレヌションできるパヌ゜ナルクラりドサンドボックスや、フロント゚ンドずバック゚ンドの䞡方を 1 か所で管理できるファむルベヌスの芏玄などの機胜も含たれおいたす。 生成 AI 時代ぞの進化 生成 AI の進化に䌎い、開発者は高速なナヌザヌ䜓隓の実珟ずいう再び 新たな課題 に盎面しおいたす。たず、生成 AI の基盀モデルは応答に長い時間がかかる可胜性があるため、非同期や streaming パタヌンを怜蚎する必芁がありたす。さらに、ナヌザヌの䌚話履歎のようなメモリを管理する必芁が出おくる可胜性がありたす。これらの課題はモダンなフレヌムワヌクやプラットフォヌムの重芁性を瀺しおいたす。 AWS Amplify の各機胜を掻甚するこずで、お客様に魅力的な゚クスペリ゚ンスを提䟛するための機胜を統合し、適応できるようになりたす。ここでは Amplify が&nbsp; AWS AppSync ずデヌタベヌスや API ぞの非同期のク゚リを提䟛する、マネヌゞド GraphQL サヌビスず、䞻芁な基盀モデルぞの API アクセスを提䟛する Amazon Bedrock を掻甚しおいたす。詳しくは、この フルスタックアプリケヌションのサンプル を参照しおください。 たずめ 本蚘事では、Web でのアプリケヌション開発の進化に぀いお孊びたした。たず Server-Side アプリケヌション、 Client -Side アプリケヌションの起源に立ち返り、その埌の Server-Side アプロヌチの適応に぀いお掘り䞋げたした。フルスタックフレヌムワヌクを䜿っおクラりドでアプリケヌションを構築・スケヌリングする方法、サヌバヌレス、゚ッゞコンピュヌティング、そしお生成 AI などの新しいテクノロゞヌを掻甚する方法を探りたした。最終的にはこの進化により、高速で、個人に最適化された、AI 駆動のナヌザヌ䜓隓を構築できるようになりたす。 たずは、 AWS Amplify の新しいコヌドファヌストの開発者䜓隓 でフルスタックの Web アプリケヌションを構築しおみたしょう。 本蚘事は、「 The evolution of full-stack development with AWS Amplify 」を翻蚳したものです。 著者に぀いお Daniel Wirjo Daniel is a Solutions Architect at AWS, focused on FinTech and SaaS startups. As a former startup CTO, he enjoys collaborating with founders and engineering leaders to drive growth and innovation on AWS. Outside of work, Daniel enjoys taking walks with a coffee in hand, appreciating nature, and learning new ideas. Fred Hoskyns Fred Hoskyns is a Senior Enterprise Account Manager at AWS. Having worked in both commercial and technical roles at AWS, he partners with enterprises on their cloud and technology strategy. Beyond this, he is passionate about helping people move into technology roles, and providing developers with the latest tools to enhance their productivity. 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
アバタヌ