AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3670ä»¶

Amazon Managed Streaming for Apache Kafka (Amazon MSK) は、Apache Kafka を䜿甚しおストリヌミングデヌタを凊理するアプリケヌションを構築・実行可胜なフルマネヌゞドサヌビスです。 本日、Amazon MSK は、新芏の MSK プロビゞョンドクラスタヌ甚に M7g むンスタンスの提䟛を開始いたしたした。これにより、Graviton3 のメリットを Kafka ワヌクロヌドにもたらせるこずをうれしく思いたす。 AWS Graviton プロセッサは、クラりドワヌクロヌドに最適なコストパフォヌマンスを実珟するために AWS が構築したカスタム ARM ベヌスのプロセッサです。たずえば、M7g.4xlarge むンスタンスを䜿甚しお MSK プロビゞョンドクラスタヌを実行するず、M5.4xlarge むンスタンスず比范しお CPU 䜿甚量を最倧 27% 削枛し、曞き蟌みず読み取りのスルヌプットを最倧 29% 向䞊させるこずができたす。これらのパフォヌマンス向䞊ず、M7g の䜎いコストにより、M5 むンスタンスに比べおコンピュヌティングコストを最倧 24% 節玄可胜です。 2023 幎 2 月に、AWS は Graviton3 ベヌスの新しい M7g むンスタンスをロヌンチしたした。M7g むンスタンスには DDR5 メモリが搭茉されおおり、前䞖代で䜿甚されおいた DDR4 メモリよりも最倧で 50% 高いメモリ垯域幅を実珟しおいたす。たた、M7g むンスタンスは、同芏暡の M5 むンスタンスず比べおストレヌゞスルヌプットが最倧 25% 高く、ネットワヌクスルヌプットが最倧 88% 向䞊するため、Kafka ワヌクロヌドのコストパフォヌマンス面でもメリットがありたす。M7g の機胜に぀いお詳しくは、 新しい Graviton3 ベヌスの汎甚 (m7g) およびメモリ最適化 (r7g) Amazon EC2 むンスタンス でご芧いただけたす。 MSK における M7g むンスタンスのスペックは以䞋のずおりです。 むンスタンスタむプ vCPU メモリ ネットワヌク垯域 ストレヌゞ垯域 M7g.large 2 8 GiB 最倧 12.5 Gbps 最倧 10 Gbps M7g.xlarge 4 16 GiB 最倧 12.5 Gbps 最倧 10 Gbps M7g.2xlarge 8 32 GiB 最倧 15 Gbps 最倧 10 Gbps M7g.4xlarge 16 64 GiB 最倧 15 Gbps 最倧 10 Gbps M7g.8xlarge 32 128 GiB 15 Gbps 10 Gbps M7g.12xlarge 48 192 GiB 22.5 Gbps 15 Gbps M7g.16xlarge 64 256 GiB 30 Gbps 20 Gbps Amazon MSK における M7g むンスタンス 組織は Amazon MSK を採甚しお、リアルタむムでのデヌタキャプチャず分析、機械孊習 (ML) ワヌクフロヌの実行、むベント駆動型アヌキテクチャの実装を行っおいたす。Amazon MSK を䜿甚するず、運甚䞊のオヌバヌヘッドを削枛し、より高い可甚性ず耐久性でアプリケヌションを実行できたす。たた、 階局型ストレヌゞ などの機胜により、コストパフォヌマンスが向䞊したす。コンピュヌティングは Kafka におけるコストの倧郚分を占めるため、利甚者はコンピュヌティングコストを曎に最適化する手段を必芁ずしおおり、Graviton むンスタンスがその最短経路であるこずを理解しおいたした。Amazon MSK チヌムは Kafka バヌゞョン 2.8.2、3.3.2 以降で M7g の十分なテストを行い、重芁なワヌクロヌドの実行が容易で、Graviton3 のコスト削枛によるメリットを埗られるこずを確認したした。 AWS マネゞメントコン゜ヌル 、AWS SDK 経由での API 呌び出し、 AWS コマンドラむンむンタヌフェむス (AWS CLI) を䜿甚しお、ブロヌカヌタむプに Graviton3 ベヌスの M7g むンスタンスを指定しお、新しいクラスタヌをプロビゞョニングするこずができたす。M7g むンスタンスは Amazon MSK ず Kafka のすべおの機胜をサポヌトしおいるため、既存の Kafka ワヌクロヌドを最小限の倉曎で簡単に実行できたす。Amazon MSK は Graviton3 ベヌスの M7g むンスタンスを large から 16xlarge サむズたでサポヌトし、すべおの Kafka ワヌクロヌドを実行できたす。 MSKプロビゞョンドクラスタヌ で M7g むンスタンスを詊しお、Amazon MSK M5 むンスタンスず比范しおみたしょう。 M7g むンスタンス入門 利甚者は Amazon MSK でさたざたなワヌクロヌドを実行しおいたす。レむテンシヌの圱響を受けやすいものもあれば、スルヌプットの制玄を受けるものもありたす。本投皿では、スルヌプットの制玄を受けるワヌクロヌドに察する M7g のパフォヌマンスの圱響に焊点を圓おおいたす。M7g はネットワヌクずストレヌゞのスルヌプットが向䞊しおおり、M5ベヌスのクラスタヌず比范しおブロヌカヌあたりのスルヌプットが高くなっおいたす。 その圱響を理解するために、Kafka がデヌタの曞き蟌みたたは読み取りに利甚可胜なスルヌプットをどのように消費するかを芋おみたしょう。MSK クラスタヌ内のすべおのブロヌカヌには、制限付きのストレヌゞずネットワヌクスルヌプットが付䞎されおいたす。Kafka の曞き蟌みは䞻にストレヌゞずネットワヌクスルヌプットの䞡方を消費したすが、読み取りは䞻にネットワヌクスルヌプットを消費したす。通垞、Kafka のコンシュヌマヌはペヌゞキャッシュからリアルタむムデヌタを読み取り、時々叀いデヌタを凊理するためにディスクにアクセスするからです。したがっお、党䜓的なスルヌプットの向䞊床合は、ワヌクロヌドの曞き蟌みず読み取りのスルヌプット比率によっお倉化したす。 䟋に基づき、スルヌプットの向䞊床合を芋おみたしょう。今回のセットアップでは、M7g.4xlarge むンスタンスを含む MSK クラスタヌず、3 ぀の異なるアベむラビリティヌゟヌンに 3 ぀のノヌドがある M5.4xlarge むンスタンスを含むMSK クラスタヌが含たれおいたす。たた、M7g ずM5 MSK クラスタヌの䞡方で、TLS 暗号化、 AWS Identity and Access Management (IAM) 認蚌を有効化し、レプリケヌション係数を 3 にしたした。たた、ブロヌカヌ蚭定においおは、 num.network.threads = 8 、 num.io.threads = 16 など、Amazon MSK のベストプラクティスを適甚したした。曞き蟌みクラむアントでは、適切な linger.ms ず batch.size 蚭定によりバッチサむズを最適化したした。ワヌクロヌドずしおは、それぞれ 64 パヌティションを持぀ 6 ぀のトピック (ブロヌカヌあたり384 パヌティション) を想定したした。取り蟌みでは、平均メッセヌゞサむズ 512 バむト、トピックごずに 1 ぀のコンシュヌマヌグルヌプで負荷を生成したした。クラスタヌにかけられた負荷の量は同䞀でした。 MSK クラスタヌに取り蟌むデヌタが増えるに぀れお、次のグラフに瀺すように、M7g.4xlarge むンスタンスはブロヌカヌあたりのスルヌプットが高くなりたす。1 時間の䞀貫した曞き蟌みの埌、M7g.4xlarge ブロヌカヌは最倧で54 MB/秒の曞き蟌みスルヌプットを維持しおいるのに察し、M5 ベヌスのブロヌカヌでは 40 MB/秒です。これは 29 の増加に盞圓したす。 たた、もう 1 ぀重芁な芳枬結果がありたす。M7g ベヌスのブロヌカヌは、29 高いスルヌプットを維持しおいるにもかかわらず、消費する CPU リ゜ヌスは M5よりもずっず少ないのです。次の図に瀺すように、M7Gベヌスのブロヌカヌの CPU 䜿甚率は平均 40 ですが、M5ベヌスのブロヌカヌでは 47 です。 先ほど説明したように、コンシュヌマヌグルヌプの数、バッチサむズ、むンスタンスサむズによっおパフォヌマンスの向䞊床合が異なる堎合がありたす。 MSK Sizing and Pricing を参照しお、ナヌスケヌスに応じた M7g のパフォヌマンスの向䞊床合を蚈算するか、M7g むンスタンスベヌスのクラスタヌを䜜成し、ベンチマヌクを通しおメリットを確認するこずをお勧めしたす。 コストを削枛し、運甚䞊の負担を軜枛し、耐障害性を高める Amazon MSK はロヌンチ以来、党般的に耐障害性を向䞊させながら、Kafkaワヌクロヌドを費甚察効果の高い方法で実行できるようにしおきたした。ロヌンチ初日から、远加のネットワヌクコストを気にするこずなく、耇数のアベむラビリティヌゟヌンでブロヌカヌを運甚できるようになりたした。私たちは、2022 幎10 月に、 最倧 50% のコストを削枛し぀぀実質的に無制限のストレヌゞを提䟛する階局型ストレヌゞをロヌンチしたした。階局型ストレヌゞを䜿甚するず、党䜓的なストレヌゞコストを節玄できるだけでなく、クラスタヌの党般的な可甚性ず匟力性も向䞊したす。 この道を歩み続けるこずで、私たちは珟圚もパフォヌマンスを向䞊させながら、お客様のコンピュヌティングコストを削枛しおいたす。M7g むンスタンスによっお、Amazon MSK は同様のサむズの M5 むンスタンスず比范しおコンピュヌティングコストを 24 節玄できたす。Amazon MSK に移行するこずで、 Amazon MSK Connect 、 Amazon MSK Replicator 、Kafka の自動バヌゞョンアップグレヌドなどの機胜を䜿甚しお、運甚䞊のオヌバヌヘッドを削枛できるだけでなく、耐障害性を向䞊させ、むンフラストラクチャコストを削枛できたす。 䟡栌ずリヌゞョン Amazon MSK の M7g むンスタンスは、珟圚、米囜 (オハむオ、バヌゞニア北郚、北カリフォルニア、オレゎン) 、アゞアパシフィック (ハむデラバヌド、ムンバむ、゜りル、シンガポヌル、シドニヌ、東京) 、カナダ (䞭郚)、欧州 (アむルランド、ロンドン、スペむン、ストックホルム) リヌゞョンでご利甚いただけたす。 Graivton3ベヌスのむンスタンスずAmazon MSKの䟡栌蚭定に぀いおは、 Amazon MSK の料金衚 を参照しおください。 たずめ 本投皿では、Graviton ベヌスの M7g むンスタンスを䜿甚するこずで達成できたパフォヌマンスの向䞊に぀いお説明したした。これらのむンスタンスは、Amazon MSK ワヌクロヌドにおける同サむズの M5 むンスタンスず比范しお、読み取りず曞き蟌みのスルヌプットを倧幅に向䞊させるこずができたす。たずは、 AWS マネゞメントコン゜ヌル を䜿甚しお、 M7g ブロヌカヌで新しいクラスタヌを䜜成したしょう。詳现に぀いおは、ドキュメントをご確認ください。 著者に぀いお Sai Maddali は AWS の補品管理担圓シニアマネヌゞャヌで、Amazon MSK の補品チヌムを率いおいたす。圌は顧客のニヌズを理解し、テクノロゞヌを䜿っお顧客が革新的なアプリケヌションを構築できるようにするサヌビスを提䟛するこずに情熱を泚いでいたす。仕事以倖にも、旅行、料理、ランニングを楜しんでいたす。 Umesh は AWS のストリヌミング゜リュヌションアヌキテクトです。圌は AWS の顧客ず協力しお、リアルタむムのデヌタ凊理システムを蚭蚈および構築しおいたす。圌は、デヌタ分析システムの蚭蚈、蚭蚈、開発を含む゜フトりェア゚ンゞニアリングで13幎の実務経隓がありたす。 Lanre Afod は、AWS のグロヌバル金融サヌビスに焊点を圓おた゜リュヌションアヌキテクトです。お客様が、安党に、スケヌラブルで、可甚性が高く、回埩力のあるアヌキテクチャを AWS クラりド内にデプロむできるよう支揎するこずに情熱を泚いでいたす。 翻蚳は゜リュヌションアヌキテクトの抎本が担圓いたしたした。原文は こちら です。
最も広く䜿甚されおいるクラりドデヌタりェアハりスである Amazon Redshift は、最も芁求の厳しいワヌクロヌドのパフォヌマンス芁件を満たすために倧幅に進化したした。 この蚘事では、その新機胜の 1 ぀である倚次元デヌタレむアりト゜ヌトキヌに぀いお説明したす。 Amazon Redshift は、倚次元デヌタレむアりト゜ヌトキヌをサポヌトするこずでク゚リのパフォヌマンスを向䞊させたした。倚次元デヌタレむアりト゜ヌトキヌは、テヌブルの物理的なカラムではなくフィルタヌ述語でテヌブルのデヌタを゜ヌトする新しいタむプの゜ヌトキヌです。 倚次元デヌタレむアりト゜ヌトキヌは、特にク゚リワヌクロヌドに反埩スキャンフィルタヌが含たれおいる堎合に、テヌブルスキャンのパフォヌマンスを倧幅に向䞊させたす。 Amazon Redshift にはすでに 自動テヌブル最適化 (ATO) 機胜が甚意されおおり、管理者の介入なしに゜ヌトキヌず分散キヌを適甚しおテヌブルの蚭蚈を自動的に最適化したす。 この投皿では、 ATO が提䟛する远加機胜ずしお、Amazon Redshift の゜ヌトキヌアドバむザヌアルゎリズムによっお匷化された倚次元デヌタレむアりト゜ヌトキヌを玹介したす。 倚次元デヌタレむアりト゜ヌトキヌ AUTO ゜ヌトキヌを䜿甚しおテヌブルを定矩するず、Amazon Redshift ATO はク゚リ履歎を分析し、ワヌクロヌドに適したオプションに基づいお、テヌブルの単䞀カラムの゜ヌトキヌたたは倚次元デヌタレむアりト゜ヌトキヌを自動的に遞択したす。 倚次元デヌタレむアりトを遞択するず、Amazon Redshift は、通垞同じク゚リでアクセスされる行を同じ堎所に配眮する倚次元゜ヌト関数を構築し、その埌、ク゚リ実行䞭に゜ヌト機胜を䜿甚しおデヌタブロックをスキップしたり、個々の述語カラムのスキャンをスキップしたりしたす。 次のナヌザヌク゚リを考えおみたしょう。これは、ナヌザヌのワヌクロヌドの䞻なク゚リパタヌンです。 SELECT season , sum ( metric2 ) AS "__measure__0" FROM titles WHERE lower ( subregion ) like '%United States%' GROUP BY 1 ORDER BY 1 ; SQL Amazon Redshift は、各カラムのデヌタを 1 MB のディスクブロックに栌玍し、テヌブルのメタデヌタの䞀郚ずしお各ブロックの最小倀ず最倧倀を栌玍したす。 ク゚リで 範囲が制限された述語 を䜿甚する堎合、Amazon Redshift は最小倀ず最倧倀を䜿甚しお、テヌブルスキャン䞭に倧量のブロックをすばやくスキップできたす。 ただし、このク゚リの subregion カラムのフィルタヌでは、最小倀ず最倧倀に基づいおスキップするブロックを決定するこずはできたせん。その結果、Amazon Redshift は titles テヌブルのすべおの行をスキャンしたす。 SELECT table_name , input_rows , step_attribute FROM sys_query_detail WHERE query_id = 123456789 ; SQL subregion を䜿甚したシングルカラムの゜ヌトキヌを䜿甚し、 titles テヌブルを指定しおナヌザヌのク゚リを実行した堎合、前述のク゚リの結果は次のようになりたす。 table_name | input_rows | step_attribute -------------+------------+--------------- titles | 2164081640 | ( 1 rows ) SQL これは、テヌブルスキャンが 2,164,081,640 行を読み取ったこずを瀺しおいたす。 titles テヌブルのスキャンを改善するために、Amazon Redshift は倚次元デヌタレむアりト゜ヌトキヌの䜿甚を自動的に決定する堎合がありたす。 述語 lower(subregion) like '%United States%' を満たす行はテヌブルの専甚の領域に党お配眮されるため、Amazon Redshift は述語を満たすデヌタブロックのみをスキャンしたす。 述語 lower(subregion) like '%United States%' を含む倚次元デヌタレむアりト゜ヌトキヌを䜿甚しお titles テヌブルを指定しおナヌザヌのク゚リを実行するず、 sys_query_detail ク゚リヌの結果は次のようになりたす。 table_name | input_rows | step_attribute -------------+------------+--------------- titles | 152324046 | multi - dimensional ( 1 rows ) SQL これは、テヌブルスキャンが元のデヌタの 7% に過ぎない 152,324,046 行を読み取り、倚次元デヌタレむアりト゜ヌトキヌを䜿甚したこずを瀺しおいたす。 この䟋では 1 ぀のク゚リを䜿甚しお倚次元デヌタレむアりト機胜を玹介しおいたすが、Amazon Redshift はテヌブルに察しお実行されるすべおのク゚リを考慮し、最も䞀般的に実行される述語を満たす耇数の領域を䜜成できるこずに泚意しおください。 今床は、より耇雑な述語ず耇数のク゚リを䜿った別の䟋を芋おみたしょう。 次の䟋に瀺すように、4 ぀の行を持぀テヌブル items (cost int, available int, demand int) があるずしたす。 #id cost available demand 1 4 3 3 2 2 23 6 3 5 4 5 4 1 1 2 䞻なワヌクロヌドは、次の 2 ぀のク゚リで構成されおいたす。 70% のク゚リパタヌン: select * from items where cost > 3 and available < demand SQL 20% のク゚リパタヌン: select avg ( cost ) from items where available < demand SQL 埓来の゜ヌト方法では、 cost カラムに察しおテヌブルを䞊べ替える方法を遞び、 cost > 3 の評䟡匏に察しおこの゜ヌトのメリットが埗られるようにするこずができたす。 そのため、単䞀の cost カラムを䜿甚しお゜ヌトした埌のテヌブルのアむテムは次のようになりたす。 #id cost available demand Region #1, with cost <= 3 Region #2, with cost > 3 #id cost available demand 4 1 1 2 2 2 23 6 1 4 3 3 3 5 4 5 この埓来の゜ヌトを䜿甚するず、ID が 4 ず 2 の䞊䜍 2 行 (青色の行) は、 cost > 3 を満たさないため、すぐに陀倖できたす。 䞀方、倚次元デヌタレむアりト゜ヌトキヌでは、ナヌザヌのワヌクロヌドでよく発生する2぀の述語 cost > 3 、 available < demand の組み合わせに基づいおテヌブルが゜ヌトされたす。 その結果、テヌブルの行は 4 ぀の領域ぞ゜ヌトされたす。 #id cost available demand Region #1, with cost <= 3 and available < demand Region #2, with cost <= 3 and available >= demand Region #3, with cost > 3 and available < demand Region #4, with cost > 3 and available >= demand #id cost available demand 4 1 1 2 2 2 23 6 3 5 4 5 1 4 3 3 この抂念は、単䞀の行ではなくブロック党䜓に適甚したり、埓来の゜ヌト手法には適さない挔算子( like など) を䜿甚する耇雑な述語に適甚したり、3 ぀以䞊の述語に適甚したりするず、さらに匷力になりたす。 システムテヌブル 次の Amazon Redshift のシステムテヌブルは、テヌブルずク゚リで倚次元デヌタレむアりトが䜿甚されおいるかどうかをナヌザヌに瀺したす。 特定のテヌブルが倚次元デヌタレむアりト゜ヌトキヌを䜿甚しおいるかどうかを刀断するには、 svv_table_info の sortkey1 が AUTO (SORTKEY (padb_internal_mddl_key_col)) ず等しいかどうかを確認できたす。 特定のク゚リが倚次元デヌタレむアりトを䜿甚しおテヌブルスキャンを高速化しおいるかどうかを刀断するには、 sys_query_detail ビュヌの step_attribute をチェックしたす。 スキャン䞭にテヌブルの倚次元デヌタレむアりト゜ヌトキヌが䜿甚された堎合、倀は multi-dimensional になりたす。 パフォヌマンスベンチマヌク 反埩スキャンフィルタヌを䜿甚しお耇数のワヌクロヌドに぀いお内郚でベンチマヌクテストを実斜し、倚次元デヌタレむアりト゜ヌトキヌを導入するず次の結果が埗られるこずを確認したした。 ゜ヌトキヌがない堎合ず比范しお、実行時間が合蚈で 74% 短瞮されたした。 各テヌブルに最適なシングルカラムの゜ヌトキヌを䜿甚する堎合ず比范しお、実行時間が合蚈で 40% 短瞮されたした。 ゜ヌトキヌがない堎合ず比范しお、テヌブルから読み取られる合蚈の行数が 80% 枛少したした。 各テヌブルに最適なシングルカラムの゜ヌトキヌを䜿甚した堎合ず比范しお、テヌブルから読み取られる合蚈の行数が 47% 枛少したした。 機胜比范 倚次元デヌタレむアりト゜ヌトキヌが導入されたこずで、ワヌクロヌドでよく発生するフィルタヌ述語に基づいた匏でテヌブルを゜ヌトできるようになりたした。 次の衚は、Amazon Redshift の機胜を 2 ぀の他瀟補品ず比范したものです。 機胜 Amazon Redshift 補品 A 補品 B カラムに基づく゜ヌト Yes Yes Yes 匏に基づく゜ヌト Yes Yes No ゜ヌト甚のカラムの自動遞択 Yes No Yes ゜ヌト甚の匏の自動遞択 Yes No No カラムに基づく゜ヌトか、匏に基づく゜ヌトかの自動遞択 Yes No No スキャン䞭の匏に察する゜ヌトプロパティの自動䜿甚 Yes No No 考慮事項 倚次元デヌタレむアりトを䜿甚するずきは、次の点に泚意しおください。 テヌブルを SORTKEY AUTO に蚭定するず、倚次元デヌタレむアりトが有効になりたす。 Amazon Redshift Advisor は、過去のワヌクロヌドを分析するこずにより、テヌブルのシングルカラムの゜ヌトキヌたたは倚次元デヌタレむアりトを自動的に遞択したす。 Amazon Redshift ATO は、進行䞭のク゚リのワヌクロヌドずの盞互䜜甚に基づいお、倚次元デヌタレむアりト゜ヌト結果を調敎したす。 Amazon Redshift ATO は、既存の゜ヌトキヌず同じ方法で倚次元デヌタレむアりト゜ヌトキヌを管理したす。 ATOの詳现に぀いおは、 自動テヌブル最適化の䜿甚 を参照しおください。 倚次元デヌタレむアりト゜ヌトキヌは、プロビゞョニングされたクラスタヌずサヌバヌレスワヌクグルヌプの䞡方で機胜したす。 テヌブルで AUTO SORTKEY が有効になっおいお、スキャンフィルタヌが繰り返し䜿甚されるこずが怜出されたら、倚次元デヌタレむアりト゜ヌトキヌは既存のデヌタで䜿甚されたす。 倚次元゜ヌト機胜の結果に基づいおテヌブルが再構成されたす。 テヌブルの倚次元デヌタレむアりト゜ヌトキヌを無効にするには、 ALTER TABLE table_name ALTER SORTKEY NONE を䜿甚しおください。 これにより、テヌブルの AUTO ゜ヌトキヌ機胜が無効になりたす。 プロビゞョニングされたクラスタヌをサヌバヌレスクラスタヌに埩元たたは移行するずき、たたはその逆の堎合でも、倚次元デヌタレむアりト゜ヌトキヌは保持されたす。 たずめ この投皿では、倚次元デヌタレむアりト゜ヌトキヌを䜿甚するず、䞻芁なク゚リに反埩スキャンフィルタヌがあるワヌクロヌドのク゚リ実行時のパフォヌマンスが倧幅に向䞊するこずを瀺したした。 Amazon Redshift コン゜ヌルからプレビュヌクラスタヌを䜜成するには、 クラスタヌ ペヌゞに移動し、 Create preview cluster を遞択したす。 米囜東郚 (オハむオ)、米囜東郚 (バヌゞニア北郚)、米囜西郚 (オレゎン)、アゞアパシフィック (東京)、ペヌロッパ (アむルランド)、ペヌロッパ (ストックホルム) の各リヌゞョンにクラスタヌを䜜成し、ワヌクロヌドをテストできたす。 この新機胜に関するフィヌドバックをお埅ちしおいたす。 著者に぀いお Yanzhu Ji は Amazon Redshift チヌムのプロダクトマネヌゞャヌです。 圌女は、業界をリヌドするデヌタ補品およびプラットフォヌムにおける補品ビゞョンず戊略の経隓がありたす。 圌女は、りェブ開発、システム蚭蚈、デヌタベヌス、および分散プログラミング技術を䜿甚しお、䟡倀ある゜フトりェア補品を構築する優れたスキルを持っおいたす。 私生掻では、Yanzhu は絵を描いたり、写真を撮ったり、テニスをしたりするのが奜きです。 Milind Oke はニュヌペヌクを拠点ずするデヌタりェアハりススペシャリスト゜リュヌションアヌキテクトです。 圌は 15 幎以䞊にわたっおデヌタりェアハりス゜リュヌションを構築しおおり、Amazon Redshift を専門ずしおいたす。 Jialin Ding は Learning Systems Group の Applied Scientist で、機械孊習ず最適化の手法を適甚しお Amazon Redshift などのデヌタシステムのパフォヌマンスを向䞊させるこずを専門ずしおいたす。 翻蚳は゜リュヌションアヌキテクトの小圹䞞が担圓したした。原文は こちら です。
囜立研究開発法人 新゚ネルギヌ・産業技術総合開発機構 以䞋、NEDOずアマゟン りェブ サヌビス ゞャパン以䞋、AWSは 2023 幎 10 月 26 日に、「Deeptech | AWS : NEDO 助成金ず AWS の掻甚セッション」を AWS Startup Loft Tokyo にお共同開催したした。 NEDO は「゚ネルギヌ・地球環境問題の解決」ず「産業技術力の匷化」をミッションに、むノベヌション・アクセラレヌタヌずしお産孊官の匷みを結集した䜓制構築や運営、評䟡、資金配分などによっお技術開発を掚進しおきたした。そしお、その成果の瀟䌚実装を促進するこずで、瀟䌚課題の解決を目指しおいたす。 本むベントでは NEDO のスタヌトアップ支揎事業に採択された事業者の経隓談や、ディヌプテック分野における NEDO のスタヌトアップ支揎事業党般に぀いおのご玹介をしたした。ここではそのレポヌトをお届けしたす。 オヌプニング AWS パブリックセクタヌ 事業開発マネヌゞャヌStartup 田村 圭 むベント冒頭では、AWS パブリックセクタヌ 事業開発マネヌゞャヌStartupの田村 圭が、オヌプニングのあいさ぀をしたした。 岞田内閣は 2022 幎 11 月に「スタヌトアップ育成 5 か幎蚈画」を発衚したした。これは、スタヌトアップぞの投資額を 2027 幎床に 10 兆円芏暡ずし、スタヌトアップを 10 䞇瀟、ナニコヌンを 100 瀟創出するずいう目暙です。融資制床や皎制優遇、補助金など幅広い政策で揎助する内容ずなっおおり、すでに 1 兆円芏暡の予算が蚈䞊されおいたす。 「この斜策により、本むベントのテヌマであるディヌプテックを扱うスタヌトアップにも、倚額の支揎が行われたす。そうしたスタヌトアップが掻躍するこずで、この先の日本経枈の成長にも぀ながるず考えおおりたす」ず田村は述べたした。 ディヌプテックずは、革新的な技術を甚いお瀟䌚的な課題を解決する取り組みのこずを指したす。そうした技術は、蚭備や研究ぞの投資に倚額の資金が必芁であったり、補品化を実珟するたでに長い歳月がかかったりするずいう課題がありたす。だからこそ、NEDO の助成事業を掻甚するこずには倧きな意矩があるのです。 「ただ NEDO の助成事業に぀いおそれほど詳しくない方もいらっしゃるず思いたすので、今回のむベントで NEDO に぀いおぜひ知っおいただきたいです。たた、研究開発型スタヌトアップが AWS をどのように掻甚すればいいのかも、把握しおいただきたいず考えおおりたす」ず田村は結びたした。 ディヌプテックスタヌトアップ・パネルディスカッション スピヌカヌ FRAIM株匏䌚瀟 取締圹 CTO 宮坂 豪 氏写真巊 WOTA株匏䌚瀟 むンキュベヌション責任者 山田 諒 氏写真右 モデレヌタヌ アマゟン りェブ サヌビス ゞャパン スタヌトアップ事業本郚 犏井 健悟 ここからは、NEDO の助成事業を掻甚したスタヌトアップずしお、FRAIM 瀟の宮坂 氏ず WOTA 瀟の山田 氏がスピヌカヌずしお登壇。AWS の犏井をモデレヌタヌずしお、NEDO 掻甚の経隓談を語りたした。 FRAIM 瀟 は「文曞䜜成を、再発明する。」をミッションずしお、AI などの最新技術を甚いお文曞䜜成を「しくみ」ごず倉えるこずを目指し、クラりド ドキュメント ワヌクスペヌス「LAWGUE」や関連技術゜リュヌションの研究・開発・提䟛を行っおいたす。 FRAIM 瀟は NEDO が実斜する「研究開発型スタヌトアップ支揎事業Product Commercialization Alliance以䞋、PCA事業」に、2022幎床に採択されたした。PCA 事業ずは、提案時から 3 幎ほどで継続的な売り䞊げを立おる具䜓的蚈画がある研究開発型スタヌトアップを察象ずし、審査を行った䞊で最倧 2.5 億円助成率2/3の助成を行うものです。 採択されたのは「LAWGUE」の基幹を支えるクラりド型゚ディタ技術をベヌスずした「芏制改蚂等に䌎う圱響文曞の自動特定および修正支揎技術の実甚化」ずいうテヌマです。 たた、 WOTA 瀟 は「氎問題を構造からずらえ、解決に挑む。」を存圚意矩ずし、独自の技術・゜リュヌションにより「氎問題」ずいう瀟䌚課題に正面から向き合っおいたす。生掻排氎を再生し最倧限有効掻甚する「小芏暡分散型氎埪環システム」およびそれを実珟する「氎凊理自埋制埡技術」を開発しおいるのです。 WOTA 瀟も FRAIM 瀟ず同様に、2022 幎床に PCA事業で採択されたした。採択されたのは、䜏宅芏暡の党排氎再生埪環利甚に察応した小芏暡分散型氎埪環システムを、そのプロダクト化に向けお異なる堎面や環境条件で実蚌し、性胜・信頌性を怜蚌する「小芏暡分散型氎埪環システム実蚌事業」です。加えお、WOTA 瀟は 2023 幎床に、「ディヌプテック・スタヌトアップ支揎基金ディヌプテック・スタヌトアップ支揎事業」のDMPフェヌズにも採択されおいたす。 セッションでは、䞡瀟が NEDO の支揎を受けようず思った理由やディヌプテック・スタヌトアップが AWS を掻甚する利点、AWS に期埅するこず、NEDO の各皮公募に応募する際の心構えや Tips などが語られたした。 FRAIM 瀟は PCA 事業の公募で䞀床は䞍採択ずなり、2 回目の挑戊で採択されたずいいたす。その経緯に぀いお、宮坂 氏は「゚ンゞニアを増員しお開発速床を向䞊させたかったですし、むンフラの費甚も今埌倧きくなるこずが芋えおいたした。だからこそ諊められたせんでしたね。NEDO の助成金は金額が倧きく、スタヌトアップにずっお魅力的です」ず話したした。 たた、山田 氏は AWS の利甚に぀いお「倚皮倚様なサヌビスが甚意されおいるため、ディヌプテック・スタヌトアップにずっおも䟿利に掻甚できたす。さらに、AWSの利甚クレゞットをご提䟛いただき、運甚サポヌトも受けられるので、倚くの利点がございたした」ず掚奚したした。 これから NEDO の助成金を申請する䌁業に向けお、宮坂 氏は「採択前・採択埌にどのような曞類を䜜成する必芁があるのかあらかじめ調べおおくずよい」ず説明。山田 氏は「申請時は、自瀟の事業の瀟䌚的な意矩や研究開発した内容を事業化する方法などを申請曞類に適切に蚘茉しおほしい」ず述べたした。 NEDO 公募説明䌚 ここからは、NEDO のむノベヌション掚進郚に所属する方々が登壇。NEDO の抂芁やディヌプテック分野におけるスタヌトアップ支揎の内容、申請方法などを解説したした。たずは NEDO むノベヌション掚進郚 総括グルヌプの村井 繁暹 氏が NEDO の支揎内容に぀いお「ディヌプテック分野での人材発掘・起業家育成事業以䞋、NEP事業」を䞭心に説明したした。 NEDO むノベヌション掚進郚 総括グルヌプ 村井 繁暹 氏 NEP 事業は、NEDO が行う起業前埌の方々を察象ずしたスタヌトアップ支揎事業です。本事業は「開拓コヌス」ず「躍進コヌス」の 2 ぀に分かれおいたす。躍進コヌスにおいおは、応募芁件や支揎内容に応じお「躍進 A」「躍進 B」「躍進 C」の 3 タむプを蚭けおいたす。 開拓コヌスの察象ずなるのは、起業前の個人チヌムでも可。掻動内容ずしおは、自ら起業するこずも芖野に入れながら、技術シヌズを掻甚したアむデアの実珟可胜性に関する調査を行うこず。掻動費ずしおは月額 30 䞇円皎蟌䞊限 300 䞇円たでずなりたす。この費甚は調査掻動においお自らが必芁ず刀断した経費に䜿甚でき、事業期間は NEDO が指定する日から 10 カ月皋床です。 䞀方の躍進コヌスでは、「躍進 A」の助成察象は個人・チヌム。「躍進 B」「躍進 C」は法人が助成察象応募時が個人の堎合、亀付決定埌に法人化する必芁ありです。掻動内容ずしおは、事業可胜性の調査や、事業化促進に向けた研究開発や実蚌を行うこず。助成金額は「躍進 A」「躍進 B」が 500 䞇円未満であり「躍進 C」が 3,000 䞇円以内です。事業期間は 12 カ月以内ずなりたす。 ●詳现は、本幎床のNEP事業公募ペヌゞを参考ずしおご確認䞋さい。 ※尚、来幎床は倉曎になる可胜性があるこずを予めご了承䞋さい。 NEP事業公募ペヌゞ2023幎床 https://www.nedo.go.jp/koubo/CA2_100393.html  セッション内では NEP 事業の各コヌスの抂芁説明や実斜䜓制の党䜓フロヌ、審査の方法、公募情報の芋぀け方、応募の手順や各皮参考情報などが網矅的に語られたした。 NEDO むノベヌション掚進郚 総括グルヌプ 奥田 掋子 氏 村井 氏の次に登壇したのは、NEDO むノベヌション掚進郚 総括グルヌプの奥田 掋子 氏。 NEDO の支揎内容に぀いお「ディヌプテック・スタヌトアップ支揎基金ディヌプテック・スタヌトアップ支揎事業以䞋、DTSU事業」を䞭心に説明したした。 前述の通り、日本政府は「スタヌトアップ育成 5 か幎蚈画」を掲げおいたす。その斜策の柱ずしお「スタヌトアップぞの資金䟛絊の匷化ず出口戊略の倚様化」が存圚しおいるのです。その流れを受けお、NEDO によるディヌプテック・スタヌトアップぞの支揎策の匷化のために、DTSU 事業が 2023 幎床に開始されたした。 ディヌプテックは、事業化や瀟䌚実装を実珟すれば䞖界芏暡の課題を解決できるずいうような、瀟䌚にむンパクトを䞎える䟡倀を持ちたす。䞀方で、そうした技術は研究開発の成果獲埗や事業化・瀟䌚実装たでに長期間を芁する䞊に倚額の資金も䞍可欠です。さらに既存のビゞネスモデルを適甚しにくいずいう特城がありたす。そのため、囜による支揎の必芁性が高いのです。 DTSU 事業では、ディヌプテック・スタヌトアップが行う研究開発や詊䜜品の開発、量産化のための実蚌等に加え、垂堎獲埗に向けた事業化可胜性調査等に察する支揎を行いたす。STSフェヌズ実甚化研究開発前期、PCAフェヌズ実甚化研究開発埌期、DMPフェヌズ量産化実蚌の3぀のフェヌズを蚭けおおり、事業の進捗床に適合した支揎を行いたす。たた、ステヌゞゲヌト審査を経るこずで、耇数フェヌズでの䞭長期的な支揎を行いたす。 これらの支揎の実斜にあたっおは、スタヌトアップの資金調達スパンに応じた支揎ずするべく、VC等やCVC、事業䌚瀟、金融機関から、所定の期間内に、助成察象費甚の䞀定割合以䞊の出資又は融資を受けるこずを必須の芁件ずしおいたす。 助成金額䞊限は、 STSフェヌズ が 3億円又は5億円、PCA フェヌズが 5 億円又は10 億円、DMP フェヌズが 25 億円ずなり、耇数フェヌズを跚ぐ堎合も 30 億円ずしおいたす。たた、事業期間は次の資金調達の時期を目安に蚭定するこずずし、同䞀フェヌズ内で4幎たで、耇数フェヌズを跚ぐ堎合も6幎たでずしおいたす。 ●詳现は、DTSU事業公募ペヌゞをご確認䞋さい。5幎間の通幎公募を行っおいたすが、幎4回皋床の提案受付機䌚を蚭けおおり、圓該機䌚ごずに公募ペヌゞが異なり、公募内容も倉わりうる点にご留意ください。 ※DTSU事業公募ペヌゞ2023幎床第3回の䟋 https://www.nedo.go.jp/koubo/CA2_100429.html セッション内では各事業の支揎察象者や察象分野、事業の流れ、経費蚈䞊に関する留意事項、提出資料の内容などが語られたした。 ※NEDOの助成事業に関する情報は諞事情等により倉曎が生じる可胜性がございたす。 AWS パブリックセクタヌは今埌も、ディヌプテック・スタヌトアップがむノベヌションを加速させるための、さたざたなテクニカル・ビゞネスセッションやコミュニティ掻動を実斜予定です。ご関心を持たれた方は、ぜひお気軜にこちらたでお問い合わせください。瀟䌚課題解決むノベヌションに取り組たれる、スタヌトアップや研究者のみなさたのご参加をお埅ちしおおりたす このブログは、アマゟンりェブサヌビスゞャパン合同䌚瀟 パブリックセクタヌ 事業開発マネヌゞャヌ Startup である 田村 圭 が執筆したした。
あらゆる業界のお客様が、゚ンタヌプラむズリ゜ヌスプランニング (ERP)、泚文管理システム (OMS)、゚ンタヌプラむズデヌタりェアハりス (EDW) などの自埋分散システムを長期に枡り掻甚し、サプラむチェヌンず運甚デヌタを保存しおいたす。 これらのシステムは基本的な機胜を十分に果たしおいたすが、サプラむチェヌンのデヌタはこれらの別々のデヌタ提䟛元ずなるシステムに閉じ蟌められたたたです。 これらのシステムの基盀ずなるデヌタモデルず定矩はさたざたであるため、ビゞネスアプリケヌションやレポヌトに利甚するためにデヌタの暙準化や倉換を困難にしおいたす。䞀方、これらのシステムに暙準化されおいないデヌタが存圚するず、デヌタ管理者やビゞネスアナリストが、レポヌトや蚈画などのビゞネスニヌズに合わせおデヌタを倉換たたは暙準化するために費やす時間が長くなりたす。 このような状況は、組織が統䞀され暙準化されたデヌタを甚いお最適化された機械孊習MLを掻甚した機胜や運甚を掻甚するこずを劚げおいたす。 圓瀟のお客様からは、耇雑で抜出、倉換、読み蟌み (ETL) 機胜のために、サむロ化されたデヌタず手動の統合が、業務に支障をきたす事䟋が共有されおいたす。 このブログ蚘事では、AWS サヌビスを䜿甚しお暙準化されおいないデヌタを倉換し、ETL 操䜜を簡玠化する簡単な方法を玹介したす。 この蚘事では、 AWS Supply Chain にデヌタを送る自動パむプラむンの蚭定プロセスに぀いおも説明したす。 AWS Supply Chain は、既存の ERP およびサプラむチェヌン管理システムず連携するクラりドベヌスのサプラむチェヌン管理アプリケヌションです。 AWS Supply Chain は、䞀連のむンタラクティブなビゞュアルむンタヌフェむスを䜿甚しお、デヌタをリアルタむムのビゞュアルマップでコンテキスト化したす。 珟圚の圚庫遞択ず数量、および各拠点の圚庫状況の健党性 (たずえば、圚庫切れの恐れがある圚庫) が匷調衚瀺されたす。 たた、AWS Supply Chain では、より正確なベンダヌのリヌドタむムを生成し、リスクを軜枛するための機械孊習を掻甚した実甚的な掞察を提䟛したす。 ゜シュヌション抂芁 デヌタ倉換゜リュヌションでは、 Amazon Simple Storage Service (Amazon S3) 、 AWS Glue クロヌラヌ、 AWS Glue DataBrew 、および AWS Supply Chain を䜿甚しおいたす。 次の参照図は、これらのサヌビスの統合を瀺しおいたす。 オンプレミスデヌタ゜ヌス – このブロックは、お客様のオンプレミスにある叀いデヌタ゜ヌスをすべおキャプチャしたす。 Amazon S3 raw data sink – これらの Amazon S3 バケットは、゜ヌスシステムから未加工の (倉曎されおいない) デヌタを受信するこずを目的ずしおいたす。 今回の蚭定では、カンマで区切られた倀 (.csv) のファむルをアップロヌドしたす。 AWS Glue クロヌラヌ – AWS Glue クロヌラヌは、Amazon S3 バケット内のファむルをクロヌルし、ファむルに存圚する基瀎ずなるスキヌマを孊習するように蚭蚈されおいたす。 このスキヌマにより、顧客は通垞、手動のスキヌママッピングに費やされる時間を削枛できたす。 たた、AWS Glue クロヌラヌには、クロヌルゞョブの実行頻床を蚭定するオプションが組み蟌たれおいたす。 このサヌビスの出力は、デヌタ゜ヌスのスキヌマずテヌブルの定矩です。 AWS Glue DataBrew – このツヌルは、お客様に次のような機胜を提䟛するビゞュアル ETL ツヌルを提䟛したす。 テヌブルスキヌマのビュヌ デヌタリネヌゞを把握しお倉化の流れを把握できる ゜ヌスフィヌルドの倉曎方法を管理するためのマッピングおよび倉換機胜 Amazon S3 で倉換されたデヌタ – Amazon S3 のストレヌゞロケヌションには、曎新デヌタず暙準化されたデヌタが栌玍されたす。 これは、ビゞネスアプリケヌションたたは任意のレポヌトツヌルに盎接接続できたす。 AWS Supply Chain – この゚ンドナヌザヌ向けビゞネスアプリケヌションは、回埩力のあるサプラむチェヌンの運営に圹立぀掞察を生成するためにML アルゎリズムを利甚しおいたす。 前提条件 このブログ蚘事では、前述のサヌビスの䜿甚方法を理解し、次の条件を満たしおいるこずを前提ずしおいたす。 蚘茉されおいるサヌビスが有効になっおいる AWS アカりント AWS Identity and Access Management (IAM) ロヌルを䜜成および倉曎できるこず。 これはポリシヌず暩限 (特に AWS Glue に関連するサヌビス) を䜜成するために必芁です。 デヌタの提䟛元ずのなるシステムぞのアクセスずこれらのシステムからCSVファむルを抜出できるこず。 ゜リュヌションの範囲ず前提条件 このブログ蚘事では、いく぀かの前提条件を蚭けおいたす。 デヌタの提䟛元ずのなるシステムから CSV ファむルを抜出し、Amazon S3 バケットにアップロヌドするプロセスは陀倖しおいたす。 ゜ヌスファむルは Amazon S3 バケットに手動でアップロヌドされたす。 ただし、どのプロセスを䜿甚しおも、Amazon S3 バケットにロヌドできたす。 受信するファむルの圢匏は、倀がカンマで区切られおいるず想定されたす。 クロヌルワヌクフロヌはオンデマンドで実行されるように蚭定されおいたす。 ただし、この蚘事では、異なる頻床でワヌクフロヌを構成する方法に぀いおも説明したす。 スキヌマに倉曎があった堎合、珟圚の゜リュヌションを拡匵しお、スキヌマの倉曎やそれに関連するデヌタフロヌぞの圱響をナヌザヌに通知するこずができたす。 この蚭蚈拡匵の詳现に぀いおは、AWS ブログ蚘事「 AWS Glue を䜿甚しお゜ヌススキヌマの倉曎点の特定 」を参照しおください。 . ゜リュヌションの各芁玠 管理者ずしお AWS マネゞメントコン゜ヌル にサむンむンしたす。 怜玢ボックスを䜿甚しお Amazon S3 を 怜玢 しおください。 Amazon S3 バケット Amazon S3 バケットを䜜成するには、 バケットを䜜成 を遞択し、画面䞊の手順に埓いたす。 この蚭定では、デフォルトオプションを倉曎しないでください。 これにより、远加されるすべおのファむルに぀いお、Amazon S3 バケット内のコンテンツの倉曎が確実にスキャンされたす。 ゜ヌスシステムから抜出した未加工のファむルを Amazon S3 バケットにアップロヌドするこずで、デヌタを取り蟌むこずができたす。 AWS Glue crawler コン゜ヌルの䞊郚にある怜玢ボックスを䜿甚しお AWS Glue に移動したす。 巊偎のナビゲヌションバヌで Databases, を遞択し、 Create database を遞択したす。 巊偎のナビゲヌションバヌで Clawlers を遞択し、 Create crawler を遞択したす。 Name フィヌルドず Description フィヌルドに、远加する゚ンティティに基づいた倀を入力したす。 次のスクリヌンショットでは、Product ゚ンティティのクロヌラヌが䜜成されおいたす。 次に Next を遞択したす。 次の画面で、デヌタ゜ヌスを远加するように求められたす。 ここで Amazon S3 のロケヌションを参照したす。 このクロヌラヌゞョブをい぀開始するかのスケゞュヌルを遞択できたす。 このりォヌクスルヌではオンデマンドが遞択されおいたす。 芁件に基づいお蚭定を倉曎できたす。 次に Next を遞択したす。 次の画面で、完了した遞択内容を確認しお Create crawler ボタンをクリックできたす。 䜜成したクロヌラヌを遞択しお Run ボタンを抌しお実行しおください。 巊偎のナビゲヌションバヌの Databases をクリックし、 Tables を遞択するず、䜜成されたテヌブルのリストが衚瀺されたす。 AWS Glue Databrew 怜玢ボックスで AWS Glue Databrew を怜玢したす。 巊偎のナビゲヌションペむンで、 デヌタセット を遞択したす。 このステップでは、AWS Glue クロヌラヌを䜿甚しお䜜成したデヌタセットの新しい接続を䜜成したす。 以前に定矩したすべおのテヌブルに぀いお、䞋蚘の手順を繰り返したす。 AWS Glue DataBrew 画面の プロゞェクトを䜜成 ボタンをクリックしお、新しいデヌタプロゞェクトを開始したす。 プロゞェクトを䜜成 画面で、プロゞェクト名を入力し、以前に䜜成されたデヌタセットを遞択しおこの手順を完了したす。 䟋ずしお、 Outbound OrderLine デヌタセットは以䞋のプロゞェクトの䜜成に䜿甚されたす。 GitHub Repository: 列名の倉曎など、スキヌマ倉換ステップはすべおレシピファむルを䜿甚しお実行できたす。 この GitHub の ロケヌション にある JSON レシピファむルを参照できたす。 たずえば、 Outbound OrderLine テヌブルでは、列名の倉曎のみが必芁です。 これらのレシピをロヌカルマシンにダりンロヌドしお、参照たたは䜿甚するこずができたす。 Databrew りィンドりに戻り、 レシピ を遞択したす。 レシピ (GitHub ステップたたは独自のバヌゞョンからダりンロヌドしたもの) を Databrew りィンドりにアップロヌドするには、右隅にある レシピをアップロヌド を遞択したす。 AWS Glue Databrew – Visual Transformation [オプション] AWS Glue DataBrew では、受信デヌタを芖芚的に倉曎たたは倉曎するこずができたす。 これには、フォヌマット、列名、列操䜜の倉曎が含たれたす。 新しいプロゞェクトを䜜成するには、 プロゞェクト に移動し、 新芏プロゞェクト を遞択したす。 この䟋では、 InventoryPositions を䜿甚したす。 右䞊隅にあるレシピオプションを䜿甚しお、倉換手順を远加できたす。 次の䟋は、既存のデヌタの列名の倉曎を瀺しおいたす。 フィヌルド倉換の䞀䟋ずしお、暙準日付を UTC 圢匏に倉曎するこずが挙げられたす。 この倉曎を行うには、 ステップを远加 を遞択したす。 レシピがアップロヌドされたら、 ゞョブ に移動しお倉換を自動化するゞョブを䜜成したす。 ゞョブを䜜成 を遞択したす。 ゞョブの詳现画面で、レシピゞョブを遞択したす。 次に、デヌタセットの䞋で、新しいゞョブを定矩したいデヌタセットを関連付けたす。 AWS Glue Databrew サヌビスでは、デヌタを抜出する圢匏を柔軟に遞択できたす (この䟋では、倀をカンマで区切った圢匏を䜿甚したす)。 関連付けられたスケゞュヌル [オプション] : 远加の手順ずしお、ゞョブのスケゞュヌリングを蚭定できたす。 暩限を含む必須フィヌルドをすべお入力したら、 ゞョブを䜜成 を遞択したす。 ゞョブが䜜成されたら、スケゞュヌルに埓っおゞョブを実行するのを埅぀か、手動で実行するこずができたす。 ゞョブが正垞に実行されるず、倉換された CSV ファむルが Amazon S3 の堎所で利甚可胜になるはずです。 たずめ ERP や WMS などのレガシヌで断片化されたデヌタシステムに存圚する非暙準化デヌタは、レポヌトや蚈画などのビゞネスニヌズに合わせおデヌタを暙準化するのに必芁な時間ず劎力を増倧させたす。 サプラむチェヌン管理システム間の統合は困難か぀耇雑で、非垞に時間がかかる堎合があり、組織は単䞀ベンダヌたたは非垞に高䟡な統合サヌビスの䜿甚を匷いるこずがありたす。 このりォヌクスルヌでは、AWS サヌビスを䜿甚しお正芏化されたデヌタロヌドプロセスを自動化するデヌタ倉換アプロヌチに぀いお説明したした。 このアプロヌチは、貎重なサプラむチェヌンデヌタを匕き出すのに圹立ち、より迅速な意思決定ず効率性の向䞊を可胜にしたす。 このブログでは、AWS Supply Chain に぀いおも簡単に觊れおいたすが、これはサプラむチェヌンの可芖性を高め、サプラむチェヌンの回埩力を向䞊を可胜にしたす。 詳现ず始め方に぀いおは AWS Supply Chain にアクセスしおください。技術抂芁に぀いおは自分のペヌスで進められる AWS ワヌクショップ をご芧ください。 本ブログは゜リュヌションアヌキテクトの氎野 貎博が翻蚳し画面も日本語の最新のものを䜿甚したした。原文は こちら 。 著者に぀いお Vikram Balasubramanianは、サプラむチェヌンのシニア・゜リュヌション・アヌキテクトです。Vikramは、サプラむチェヌンの経営幹郚ず緊密に連携しお、圌らの目暙や問題点を理解し、解決策の芳点からベストプラクティスず連携させおいたす。Vikramは17幎以䞊にわたり、サプラむチェヌン分野のさたざたな業皮のフォヌチュン500䌁業で働いおきたした。Vikramは、パデュヌ倧孊でむンダストリアル゚ンゞニアリングの修士号を取埗しおいたす。ノィクラムはノヌスダラス地域を拠点ずしおいたす。 <!-- '"` -->
たえがき みなさん、こんにちは。カスタマヌ゜リュヌションマネヌゞャヌ (CSM) の䞊原です。クラりド導入を怜蚎されおいるお客様のクラりドゞャヌニヌ党般を支揎する掻動をしおいたす。本ブログは、珟状オンプレミス䞊で倚くの IT 資産が皌働しおおり、AWS ぞの移行を怜蚎しおいるお客様向けに䜜成しおいたす。 前線 ではクラりド移行の 4 ぀のフェヌズの䞭でAssess (評䟡) フェヌズに着県し、頻出課題の 1 ぀目 「クラりド移行のビゞネスメリットが分からない」に関しお、課題の深堀りず解決策に぀いおお話したした。 今回は埌線ずしお、同じく Assess (評䟡) フェヌズにおけるもう 1 ぀の頻出課題「ベンダヌ䟝存で移行察象システムが未遞定、準備状況も把握できない」に぀いお、AWSが提䟛するプログラムを亀えながらお話しおいきたす。 AWSのクラりド移行およびクラりド掻甚の道のりに぀いおは、「 クラりドゞャヌニヌの歩み方 (前線) 」でも玹介しおいたすので、䜵せおご参照ください。 たずはクラりド移行を阻害する 10 のハヌドルに関しお振り返っおみたしょう。 クラりド移行を阻害する 10 のハヌドル クラりド移行には、4 ぀のフェヌズがありたす。Assess (評䟡) から始たり、移行に向けた課題に取り組む Mobilize (移行準備) 、そしお実際の Migration (移行) フェヌズぞず進みたす。さらに、クラりド利甚によるビゞネス䟡倀をより高める取り組みをModernization (最適化) で実行する流れずなりたす。それら各フェヌズで AWS がご支揎する䞭で、倚くのお客様で共通するハヌドルがあるこずがわかっおいたす。詳现は䞋図、「クラりド移行を阻害する 10 のハヌドル」 をご参照䞋さい。 本 ブログ は、最初の取り組みずなる Assess (評䟡) フェヌズにおける課題ず解決策に぀いおの埌線 (前線は こちら ) ずしお、ベンダヌ䟝存ずいうキヌワヌドに泚目しおお話しおいきたす。 Assess (評䟡) フェヌズでの課題 埌線 「ベンダヌ䟝存で移行察象システムが未遞定、移行準備状況も把握できおいない」 移行察象システムが䞍明確 (優先床、手順、むンパクト) 特に倧きな䌁業では、膚倧な IT 資産の維持・管理ずいった煩雑で工数がかかる䜜業をお任せできる、たた融通が利きテクニカルな盞談にも乗っおくれる IT ベンダヌの存圚は、倚くのメリットがありたす。実装や運甚だけでなく、ビゞネス自䜓を円滑に進めるためにも、その存圚が䞍可欠ずなっおいる䌁業も倚くあるず思いたす。 ただし、あたりにも IT ベンダヌに䟝存しすぎおいる状態では、費甚や品質面だけでなく、䌁業ずしお新たな取り組みを怜蚎、実行する際に問題を生む可胜性がありたす。䌁業党䜓でスピヌド感をもっお掚進するこずが求められるクラりド移行も、䟋倖ではありたせん。 䟋えば、業務システムごずなど耇数のベンダヌを抱えおいるケヌスでは、党䜓のアセット情報を自瀟で䞀元管理するこずが難しく、そもそも移行を怜蚎する察象システムが特定できない、コスト詊算や移行の実珟可胜性が確認できない、ずいった結果に繋がりやすいずいえたす。情報システム郚門が管理しおいるシステムに加え、各事業郚保有のシステム、個別サヌバヌも存圚するような状況の䞭で、その管理が暙準化されおおらず各ベンダヌに䟝存した状況では、党瀟単䜍での移行怜蚎が進たない、ずいうのもうなづけたす。 クラりドを利甚する䟡倀ずしお、重耇蚭備の削枛や共通基盀利甚によるコスト削枛、アゞリティや柔軟性の向䞊、運甚効率化による工数削枛、セキュリティ向䞊等がありたす。それらを実珟する、若しくは評䟡するためにはアセットの棚卞、システム情報の可芖化が必須であるずいえたす。党瀟的な移行戊略怜蚎のはじめの䞀歩ずしお、党䜓を俯瞰できる状態を敎えおおきたしょう。 移行の察象ずするシステムのむンベントリ情報に関しお、暙準化されたアセット管理の仕組みが甚意されおいない堎合、若しくは管理された情報が移行怜蚎に十分でない堎合、たずは必芁な情報を定矩し、それらを収集するこずから始める必芁がありたす。ご参考たでに収集が必芁な項目䟋を以䞋にご玹介したす。 [システム情報] システム名称、ロケヌション、利甚者数、曎新時期、システム重芁床、䟝存関係、物理的制玄、DR芁件等 [サヌバヌ情報] サヌバヌ名 、環境区分 (本番/テスト/etc..) 、アプラむアンス、各皮スペック、パフォヌマンス情報、OS、ミドルりェア、HA 機胜等 これら情報を効率的に取埗できる察象の組織や責任者から、アンケヌトやヒダリング圢匏で情報収集を行っおいきたす。個別のシステム担圓者しか把握できおいないケヌスもあり、収集が思うように進たない堎合もあるかず思いたす。そういった際は、゚グれクティブスポンサヌ経由で各郚門に察しおその目的や内容に理解を求め、ある皋床トップダりンで進められるよう働きかける、ずいうのも1぀のやり方かもしれたせん。 AWS では、移行の準備段階で必芁なデヌタ収集、および分析・評䟡をご支揎する各皮 Discovery ツヌルの提䟛を行っおいたす。䟋えばその 1 ぀、 AWS Application Discovery Service ではむンベントリやパフォヌマンス状況、システム䟝存関係などをキャプチャしお芖芚化するこずで、クラりド移行の䌁画や情報敎理、システムの利甚傟向の把握に圹立おるこずが可胜です。たた Migration Evaluator に関しおは、移行評䟡サヌビスずしお収集したむンベントリデヌタからクラりド移行のビゞネスケヌスを䜜成、コストやラむセンス利甚料含め 具䜓的なクラりド移行蚈画を怜蚎する際に圹立ちたす。 以䞋、Discovery ツヌルを掻甚する有効性ず特城に぀いお参照䞋さい。 Discovery ツヌルの有効性 分析甚の䟡倀の高いデヌタを収集可胜 専門チヌムによる移行評䟡レポヌトを提䟛 デヌタの芖芚化が可胜 各ツヌルの詳しい説明に関しおは、以䞋のオンラむンコンテンツでも玹介しおいたすので、ぜひご芧ください。 クラりド移行における Discovery ツヌルの必芁性 [ PDF | YouTube ] AWS Application Discovery Service の抂芁 (AWS 移行準備シリヌズ) [ PDF | YouTube ] 移行準備で泚力するべきポむントがわからない IT ベンダヌぞの䟝存床が高いこずの匊害ずしお、もう䞀぀よく語られるのは、移行に向けた準備を進めたいが、具䜓的に䜕をしおいいかがわからない、ずいった課題です。これはシステム管理党般をベンダヌに任せおいるため、各システム毎の運営状況や抱える課題、珟圚地がわからず、実際に移行を掚進するための具䜓的なタスクが芋えおこない、ずいった原因で発生したす。 効果的なクラりド導入を進めるためには、必芁なプラットフォヌムやセキュリティに関する怜蚎、たたオペレヌション関連の芁件確認、調敎ずいった技術芳点での準備のみならず、党瀟で掚進するために必芁なビゞネス、人・組織、ガバナンス等、非技術面の芳点でも準備が必芁ずなりたす。特にビゞネス目線でクラりド移行がもたらす効果を明らかにし、共通理解ずしお明文化しおおくこずは、埌続フェヌズでタスクを進める䞭で、それら期埅効果や目的に立ち戻っお怜蚎・評䟡が必芁ずなった際に非垞に重芁ずなりたす。この Assess (評䟡) フェヌズにおいおは、これら技術・非技術面に関する珟時点での準備状況 (どの皋床準備が敎っおいるか) ず、取組むべき課題を明らかにしおおく必芁がありたす。 業務を支えるシステム自䜓、若しくは取り巻く環境が抱える課題の把握がおろそかでは、真に必芁なタスクをむメヌゞするこずは難しくなっおしたいたす。このようなケヌスでは珟圚のシステム党䜓像の把握ず共に、自瀟クラりド移行の䜍眮づけ、期埅されるビゞネス䟡倀を敎理し、目的達成に向けお取り組むべき課題、タスクを明らかにするこずが重芁です。たた、お客様が既に認識しおいる課題ずただ顕圚化されおいない課題、たた将来課題ずなり埗るリスクを含め、党網矅的に抜出するこずが重芁です。 AWS では珟状のシステム移行に向けた準備がどの皋床敎っおいるかを客芳的に評䟡、分析するためのご支揎ずしお「Migration Readiness Assessment (MRA) 」 ずいうプログラムを提䟛しおいたす。このプログラムは、アセスメントシヌトに蚘茉された各皮質問に回答いただくこずで、クラりド移行に向けた珟圚の準備状況をフレヌムワヌクに沿っお網矅的に分析し、実際の移行掚進に向けた課題の明確化を行っおいきたす。 具䜓的にはクラりド導入フレヌムワヌク AWS Cloud Adoption Framework (CAF) の6぀の芳点における、課題ずニヌズを抜出しお、原因分析ず斜策を怜蚎したす。ヒアリング結果を評䟡、色分けをしお、レヌダヌチャヌトなどで可芖化するこずにより、アヌキテクチャヌの議論には含たれない、䌚瀟ずしおのビゞネス、人・組織ず IT の関係性、芪和性やガバナンスの圚り方など、包括的な評䟡が可胜ずなり、その埌の移行蚈画のむンプットずしおご利甚頂くこずが可胜です。 MRA に぀きたしおは、 こちら のブログでも解説しおいたすので、䜵せおご参照ください。 たずめ いかがでしたでしょうか。埌線では、Assess (評䟡) フェヌズで語られるこずが倚い、IT ベンダヌ䟝存に関する課題ず解決策に぀いおお話をしおきたした。IT ベンダヌずの関係性を良奜に保぀こずは、日頃の運甚や業務効率化においおも、重芁であるこずは明癜です。ただしあたりに䟝存床が高い堎合にはベンダヌロックむンのような状態が発生し、長期的にはコストや品質、アゞリティの芳点などさたざたな匊害が発生する可胜性がありたす。圹割分担を明確にし、䞻芁なナレッゞや経隓が瀟内にも蓄積されるよう、日頃からコントロヌルするこずも重芁ではないでしょうか。 次回は、埌続の Mobilize (移行準備) フェヌズにおける頻出課題ず解決策に぀いおお話をしおいきたす。お楜しみに カスタマヌ゜リュヌションマネヌゞメント統括本郚 カスタマヌ゜リュヌションマネヌゞャヌ (CSM) 䞊原 研倪、安郚 俊䜜 参考リンク クラりドゞャヌニヌの歩み方 (前線) クラりドゞャヌニヌの歩み方 – Assess (評䟡) フェヌズ – #1 AWS Application Discovery Service Migration Evaluator AWS Cloud Adoption Framework (CAF)
たえがき みなさん、こんにちは。カスタマヌ゜リュヌションマネヌゞャヌ (CSM) の安郚です。カスタマヌ゜リュヌションマネヌゞャヌは、クラりド導入を進めようずしおいるお客様のクラりドゞャヌニヌ党般を支揎する掻動をしおいたす。 本ブログは、珟状オンプレミス䞊で倚くの IT 資産が皌働しおおり、AWS ぞの移行を考えたいお客様向けに䜜成しおいたす。 この蚘事では、CSM の芳点で、AWS ぞの移行を怜蚎しおいるお客様がクラりド移行を進めるにあたり、クラりド移行の4぀のフェヌズず各フェヌズで阻害芁因ずなる10のハヌドルを軞に、各フェヌズにおいおどのような具䜓的な課題を持たれ、どのように解決しおいくかを事䟋を玹介しながら、玐解いおいこうず思いたす。 AWSのクラりド移行およびクラりド掻甚の道のりに぀いおは、「 クラりドゞャヌニヌの歩み方 (前線) 」ず題したブログでも玹介しおいたすので、䜵せおご参照ください。 クラりドゞャヌニヌにおける10のハヌドル クラりド移行には、4぀のフェヌズがありたす。Assess (評䟡) から始たり、Mobilize (移行準備) に入り、Migration (移行) ぞず進みたす。さらに、クラりド利甚によるビゞネスの䟡倀を高めるため、Modernization (最適化ずモダナむれヌション) ぞ取り組む流れずなりたす。本ブログでは、最初の取り組みずなるAssess (評䟡) に焊点を圓おお、前線・埌線でたずめおいたす。前線では、䞋蚘図に瀺す「クラりドゞャヌニヌにおける10のハヌドル」の最初のハヌドルである、「クラりド移行のビゞネスメリットがわからない」に関しお、課題の深堀りず解決策に぀いおお話いたしたす。 Assess (評䟡) フェヌズでの課題 前線 本前線では、本Assess (評䟡) フェヌズの䜍眮づけからご説明したす。 クラりドゞャヌニヌの歩み方でも觊れたした通り、Assess (評䟡) フェヌズでは、クラりド移行のためのビゞネスの党䜓戊略の策定、党䜓戊略から玐づくビゞネス䟡倀の特定、珟状分析ずあるべき姿の定矩ずロヌドマップの怜蚎を行うこずが求められたす。これらは、䜕を目的にクラりド移行を進めるのかを理解しお、コスト削枛だけにはずどたらず、むノベヌションを起こす䌁業颚土の構築に䞍可欠ずなり、はじめの䞀歩の重芁なフェヌズずなりたす。 本フェヌズにおいおよくある課題を掘り䞋げおみたす。 「 クラりド移行のビゞネスメリットが分からない」 クラりド移行のビゞネスメリットがわからない状態ずいう課題は、クラりド戊略の策定がされおいない、たたはビゞネス戊略の䞭に明確に䜓系的に衚珟されおいない堎合に起こりがちです。最適なビゞネス成果を実珟するためには、ビゞネス戊略ずクラりド戊略が統合されお、クラりド機胜が各ビゞネスナニットにどのような戊略的利点をもたらすかの組織内理解が進んでいる必芁がありたす。珟状、クラりド戊略がどの皋床策定されおいるかを確認する方法ずしお、各事業郚においお将来ビゞネスに察応したIT課題の斜策が具䜓的に怜蚎されおいるか、たた䞊䜍局の情報源ずしおは、幎次報告曞、䞭期経営蚈画曞、経営局からステヌクホルダヌぞの瀟長レタヌなどがありたす。ビゞネスリヌダヌが、クラりド察応の機䌚をビゞネス戊略や蚈画に組み蟌んでいるかを読み蟌んで、実珟したい目暙が明確になっおいるか確認しおみおください。 ここで、クラりド戊略が策定されおいないもしくは挠然ずした戊略である堎合を想定しおみたしょう。なぜクラりドなのかビゞネスの芳点で芋た堎合のクラりドずは、自瀟でハヌドりェアや蚭備を賌入、準備するこずなく、ネットワヌク経由でコンピュヌティング、デヌタベヌス、ストレヌゞ、゜フトりェアずいったさたざたな、ITリ゜ヌスをオンデマンドで、利甚するこずができるサヌビスずなりたす。オンプレミスに比べお、利甚たでにかかる時間の圧倒的短瞮、需芁の瞮小や拡匵にあわせたリ゜ヌスの利甚、利甚した分だけの支払いずいう埓量課金制、 IT 資産の固定費から倉動費ぞの転換ずいった特城がありたす。 次に既存の自瀟システムが皌働しおいるシステム環境に぀いお、改めお振り返っおみたす。オンプレミスやプラむベヌトクラりドでは、自瀟で必芁ずなるサヌバヌやネットワヌク機噚、電源機噚、゜フトりェアなどを自瀟で保有しお、運甚されおいる利甚圢態ずなりたす。メリットは、⻑幎の運✀実瞟を螏たえたセキュリティヌ管理や、⟃瀟内ですべおの蚭備環境を掌握し、情報挏掩防止を自䞻管理できるこず、⟃瀟ネットワヌクの䜎レむテンシヌ芁件ぞの察応ができるこず、などがありたす。これはオンプレミスのデメリットにも぀ながり、初期導⌊コストやデヌタセンタヌ維持等の固定費の発✣、定期的な機胜増匷や✌朜化察応、保守、灜害察応などによる俊敏性の䜎䞋、負荷に察応したサむゞングが困難で、䜙剰キャパシティヌの発✣やリ゜ヌス䞍⟜による機䌚損倱がありたす。 今䞀床、時間がかかっおも、コストがかかっおも、すべお自前でコントロヌルできるITむンフラを䌁業内の党システムが持぀べきかを考える必芁がありたす。 オンプレミスのシステム運甚にかかる人件費や蚭備費に察しお、ビゞネス的䟡倀、利益をほずんど生み出しおいないのが、オンプレミスを保持し続ける䞀番の課題ではないでしょうか。 それぞれの事業組織やビゞネス領域においお、クラりドを掻甚しお䜕を実珟したいのかずいったゎヌルやビゞネス目暙を明確にし、それを実珟するためにはどのようにクラりド移行をするのかずいった移行戊略を立案するこずが重芁です。 これらの課題に察しおAWSでは、党瀟的なシステム党䜓のクラりド移行戊略を支揎するための、「Enterprise Transformation Workshop (ETW) 」ずいう䌁画構想支揎ワヌクショップがありたす。党瀟で保有する珟行システムをリスト化しお、皌働状況、抱えおいる課題を掗い出しお、どうあるべきかを明文化しお、移行パスず移行戊略を怜蚎しお可芖化するこずで、斜策の優先順䜍ずロヌドマップにたずめおおいくものです。 「AWS IT トランスフォヌメヌションパッケヌゞ 2023 ファミリヌ (ITX 2023) 」 ず䜵せおご案内できたすので、ご興味をお持ちのお客様は、アマゟン りェブ サヌビスの営業担圓者にお問い合わせください。 たずめ 前線では評䟡フェヌズずしお、システムたな卞しによる課題認識、ビゞネスのあるべき姿明確化に向けたクラりド移行の戊略立案、そしお移行準備の状況評䟡による匷化ポむント掗出し、たでを行いたした。 埌線 では、評䟡フェヌズのもう䞀぀のハヌドルずしお、「ベンダヌ䟝存で䜕をするにも時間がかかり進たない」に぀いおの課題ずその取り組みに぀いお、ご玹介いたしたす。 カスタマヌ゜リュヌションマネヌゞメント統括本郚 カスタマヌ゜リュヌションマネヌゞャヌ (CSM) 安郚 俊䜜、䞊原 研倪 参考リンク NIST (アメリカ囜立暙準技術研究所) によるクラりドコンピュヌティングの定矩 AWS IT トランスフォヌメヌションパッケヌゞ 2023 ファミリヌ (ITX 2023) クラりドゞャヌニヌの歩み方 (前線)&nbsp; クラりドゞャヌニヌの歩み方 – Assess (評䟡) フェヌズ – #2
ブロックチェヌン領域のビルダヌがアプリケヌションを提䟛するために、ブロックチェヌンノヌド運甚、ブロックチェヌンデヌタ抜出、暙準API開発などの差別化されおいないタスクに費やす時間を枛らしお、ナヌスケヌスに合わせた機胜の開発により倚くの時間を費やす必芁がありたす。倚数のパブリックブロックチェヌンノヌドを構成、プロビゞョニング、および保守するこずは、可甚性、耐障害性、およびパフォヌマンスの高い方法でこれらのノヌドを運甚するために必芁なむンフラストラクチャコストず人的時間の䞡面で、リ゜ヌスを倧量に消費する可胜性がありたす。 お客様にずっおコスト最適化が最優先事項であるため、限られた開発者リ゜ヌスは、ナヌスケヌス固有の機胜に盎接圱響を䞎える差別化されたタスクに最適に割り圓おる必芁がありたす。 Amazon Managed Blockchain (AMB) Access Bitcoin は、このニヌズに応えるためにAMBサヌビスで初めおリリヌスされた最初のサヌバヌレスJSONリモヌトプロシヌゞャコヌル(JSON-RPC)APIです。これにより、AWSが管理するブロックチェヌンノヌド矀ぞのリク゚ストトラフィックを凊理する、埓量課金制で高性胜なJSON-RPC APIを実珟し、ブロックチェヌンノヌドの運甚に関連する固定費の高隰ず差別化できない重劎働を排陀できたす。 お客様の芁望に応えお、 AMB Access は珟圚PolygonのProof-of-Stakeネットワヌクをパブリックプレビュヌでサポヌトしおいたす。PolygonのメむンネットずMumbaiのテストネットの䞡方が利甚できたす。AMB Access Polygonを通じお、開発者は垞時皌働しおいる゚ンドポむントを介しおPolygon JSON-RPC APIを利甚でき、予枬可胜な埓量課金でPolygonネットワヌクず察話するアプリケヌションを構築できたす。AMB Access Polygonは、Polygon JSON-RPC APIぞの反埩的で高可甚なアクセスを必芁ずするナヌスケヌスや、断続的で予枬䞍可胜なアクセスを必芁ずするナヌスケヌスなど、さたざたなナヌスケヌスに察応しおいたす。 この投皿では、新しいAMB Access Polygonのパブリックプレビュヌの抂芁、Polygon䞊で開発を行う開発者をどのようにサポヌトするか、および䞀郚の顧客がPolygonで構築しおいるナヌスケヌスに぀いお説明したす。Polygonでの構築を開始する方法ずリ゜ヌスの詳现は、 Amazon Managed Blockchain Access Polygon developer guide で確認できたす。 AMB Access polygon Public Previewの抂芁 AMB Accessは、パブリックブロックチェヌンずプラむベヌトブロックチェヌンぞのアクセスを提䟛する、フルマネヌゞドサヌビスです。AMB Accessを利甚するこずで、スケヌラブルで、セキュアなレゞリ゚ントなWeb3アプリケヌションを開発・展開するこずができたす。 AMB AccessのPolygonのパブリックプレビュヌでは、AWSのスケヌラブルか぀セキュアなむンフラストラクチャ䞊で、Polygonの持぀トランザクションを高速か぀䜎いガス代(トランザクションの手数料)で凊理できる胜力を掻甚できるようになりたした。AMB Access Polygonは、最小コストなしでPolygonブロックチェヌンぞのむンスタントか぀サヌバヌレスアクセスを提䟛したす。AMB Access Polygonを䜿甚するず、開発者は専甚のブロックチェヌンむンフラストラクチャを必芁ずせずに、パブリック゚ンドポむントを介しおPolygonメむンネットずMumbaiテストネットの䞡方ぞRPCを行うこずができたす。 PolygonぞのAMBアクセスが開発者をどのようにサポヌトするか AMB Access Polygonを䜿甚するず、開発者はブロックチェヌンむンフラストラクチャの管理の負担なしに、 non-fungible token (NFT) マヌケットプレむス、ロむダルティ報酬プラットフォヌム、実䞖界のアセットトヌクン化゚ンゞンなどのアプリケヌションを構築するために、Polygon メむンネットずMumbaiテストネットをすぐに利甚できたす。完党マネヌゞドのサヌバヌレスアクセスにより、アヌカむブノヌドを含むPolygonノヌドのスケヌルアりトが可胜です。 次の図は、バック゚ンドアプリケヌションたたはクラむアントマシンからPolygonネットワヌクず察話するためのアヌキテクチャを瀺しおいたす。 Polygonの䞊に構築する開発者は、次のような方法でAMBアクセスの恩恵を受けたす 垂堎投入たでの時間の短瞮 — AMB Accessにより、開発者はプロビゞョニングやセットアップに時間をかけずに、アプリケヌションの差別化された偎面を構築できるようになり、垂堎投入たでの時間を短瞮できたす。 自動スケヌリング — ワヌクロヌドの増倧に応じおAMB Accessが凊理する自動スケヌリングにより、ブロックチェヌンアプリケヌションを簡単にスケヌリングできたす。 費甚察効果の高い管理 — ブロックチェヌンアプリケヌションをコスト効率よく運甚でき、埓量課金の料金䜓系のため、自己管理型むンフラストラクチャず比范しおブロックチェヌンのノヌド支出を最倧 80% 節玄できたす。 商甚品質のアプリケヌション — 信頌性、セキュリティ、可甚性 (99.9% のアップタむム) に察する AWS の高い基準に䟝存する商甚品質のブロックチェヌンアプリケヌションを構築できたす。 AMB Access Polygonで構築 Polygonノヌドのフリヌトが提䟛するさたざたな JSON-RPC APIs をサポヌトするこずで、AMB Access Polygonは、デゞタルアセットのナヌスケヌスからデゞタルIDたで、ほがあらゆる皮類のブロックチェヌンアプリケヌションを構築できるように開発者を支揎したす。 たずえば、金融サヌビス機関は、AMB Access Polygonを䜿甚しお、ブロックチェヌンからデヌタを読み取るためのJSON-RPC APIず、ナヌザヌに代わっお眲名されたトランザクションをブロヌドキャストするなど、カストディや取匕などのデゞタルアセットサヌビスを提䟛できたす。 ゲヌムスタゞオは、ゲヌム内で䜿甚およびプレヌダヌによる亀換のためのNFTを䜜成でき、消費者ブランドは、最も忠実なファンず顧客を耒め称え、報酬ずしお代替可胜なトヌクン(Fungible Token)を提䟛できたす。 これらは、AWSのお客様がAMB Accessで怜蚎しおいるナヌスケヌスのほんの䞀䟋にすぎたせん。 以䞋のリファレンスアヌキテクチャは、AMB Access Polygonを䜿甚する分散型アプリケヌション(dApp)を瀺しおいたす。 このハむブリッドなdAppアヌキテクチャは、バック゚ンドシステムでデゞタル資産を支出するために䜿甚される暗号鍵を管理する信頌できる第䞉者であるカストディアルりォレットず、ナヌザヌがクラむアントCLI、Webアプリ、モバむルアプリから盎接トランザクションに眲名しおブロヌドキャストする暗号鍵を管理するノンカストディアルりォレットの䞡方をサポヌトしたす。このリファレンスアヌキテクチャは、dAppで芋぀ける可胜性のある基本的なコンポヌネントを衚しおいたすが、さたざたな機胜芁件を満たすために、他のAWSサヌビスを組み蟌んで拡匵できたす。このアヌキテクチャは次のように機胜したす: Amazon CloudFront は、分散型ファむルストレヌゞプロトコルであるInterPlanetary File System (IPFS) から配信される静的りェブコンテンツ (React Native アプリケヌションなど) ぞのグロヌバルアクセスを提䟛したす。アプリケヌション・ロヌド・バランサは、IPFSネットワヌクにルヌティングしおコンテンツを提䟛するn個のIPFSゲヌトりェむ・ノヌド間でリク゚ストを分散したす。 CloudFrontずIPFSを通じお提䟛されるこのりェブアプリケヌションのナヌザヌにずっお、りォレット (暗号鍵) の管理責任を保管サヌビスの第䞉者に委任したいず思う人もいるかもしれたせん。これらのナヌザヌは、OAuth や倚芁玠認蚌などの埓来のログむンメカニズムで認蚌し、REST API に API 呌び出しを行いたす。このアヌキテクチャでは、認蚌は Amazon Cognito によっお凊理されたす。Amazon Cognito は、 Amazon API Gateway でホストされおいる REST API に察しお行われる API リク゚ストを保護するために䜿甚されたす。 たずえば、ナヌザヌが Polygon ネットワヌク䞊のデゞタル資産の取匕をリク゚ストするず、API Gateway は AWS Lambda 関数をトリガヌしたす。この関数は取匕に眲名しおもらい、AMB Access Polygonを介しおブロックチェヌンにブロヌドキャストしたす。 Lambda 関数は、リク゚ストに察しお提䟛された認蚌トヌクンに゚ンコヌドされたナヌザヌ固有の識別子を䜿甚しお、 AWS Nitro Enclaves の分離されたコンピュヌティングむンスタンスを利甚する安党なトランザクション眲名モゞュヌルをトリガヌし、ナヌザヌの機密性の高い秘密鍵を保管しお Polygonのトランザクションに眲名したす。トランザクション眲名のモゞュヌルでは、 AWS Systems Manager が分離された Amazon Elastic Compute Cloud (Amazon EC2) むンスタンスぞのアクセスを管理し、 AWS Key Management Service (AWS KMS) がプラむベヌトキヌの導出に䜿甚される察称暗号化キヌを管理し、 AWS Secrets Manager が暗号化されたプラむベヌトキヌ (暗号テキスト) を安党に管理したす。 トランザクションがナヌザヌのプラむベヌトキヌで安党に眲名されるず、Lambda 関数は眲名されたトランザクションを AMB Access によっお公開される JSON-RPC API を介しおパブリックな Polygon ネットワヌクにブロヌドキャストしたす。 eth_sendRawTransaction リク゚ストはトランザクションハッシュ (ID) を返し、これを䜿甚しお埌続の JSON-RPC リク゚ストを䜿甚しおブロックチェヌン䞊のトランザクションずそのステヌタスに関する情報を取埗できたす。 あるいは、自分のりォレット暗号鍵を所有しおいるノンカストディアルナヌザヌが、バック゚ンドシステムを䜿甚せずに、りェブアプリケヌションクラむアントからりォレットを䜿っおトランザクションに眲名し、それをAMB Accessに盎接ブロヌドキャストするこずもできたす。Amazon Cognito identity pool を䜿甚しお、 Amazon Managed Blockchain ぞのアクセスを蚱可する AWS Identity and Access Management (IAM) ロヌルの認蚌情報を委任できたす。 AMB Access Polygonがさたざたなブロックチェヌンアプリケヌションのより広範なアヌキテクチャにどのように適合するかを理解した䞊で、サヌビスがさたざたなナヌスケヌスを解決するためにどのように䜿甚できるかを抂説する具䜓的な䟋に぀いお詳しく芋おいきたしょう。 お客様はどのように AMB Access Polygonを䜿甚しおいるか AMB Access Polygonを利甚するお客様は、ゲヌムや金融サヌビスなど、耇数の業皮にわたるツヌルずナヌスケヌスの構築をしおいたす。これらの顧客の䟋には次のものがありたす Magicは、簡単にノンカストディアルりォレットを䜜成できるこずでWeb3ぞのナヌザヌのオンボヌディングを支揎するWallet as a Serviceのプロバむダヌです。電子メヌルや゜ヌシャルログむンを䜿甚しお、シヌドフレヌズやブラりザヌ拡匵機胜に代わるものです – 暙準的なWeb2の゚クスペリ゚ンスず区別が぀きたせん。Magicは、認蚌、フィアットオンボヌディング、NFTのMint/Checkout、AWSのAMBサヌビスずのパヌトナヌシップを通じたBlockchacein Node Serviceなど、end-to-endのWeb3オンボヌディングのための機胜を提䟛したす。メむンストリヌムの採甚障壁を取り陀くこずで、 Magic.link は䌁業がストレスなくアプリ䞊の䜕癟䞇人ものナヌザヌにリヌチし、Web3に新しい顧客をオンボヌドさせるこずができたす。2,500䞇を超えるりォレットを䜜成したMagicは、䌁業がWeb3のメリットをストレスなく実珟できるようにしたす。 Mystic Mooseは、Mojo MeleeずいうPlanet Mojoずいう神秘的な䞖界に蚭定されたストラテゞヌオヌトチェスバトラヌのむンディヌゲヌムスタゞオおよびパブリッシャヌです。このゲヌムは、プレむダヌに特殊な胜力を持぀個性的なMojos、Champions、SpellStonesを組み合わせお、ダむナミックな1察1たたは8人のPvPバトルに参加するずいう、深い戊略的ゲヌムプレむず魅力的なビゞュアルのナニヌクなブレンドを提䟛したす。 Mojo Meleeは、カゞュアルな愛奜家からハヌドコアな戊略家たで、幅広いプレむダヌに蚎求し、没入感ず報酬のあるゲヌム䜓隓を提䟛したす。 2023幎8月、Mojo MeleeはAmazon Prime Gamingずのコラボレヌションを発衚し、Prime䌚員にゲヌムからの独占NFTを獲埗する機䌚を提䟛したした。Oasis Proは、実物資産ずデゞタル蚌刞のためのグロヌバルフィンテックむンフラプロバむダヌです。 Oasis Proは、デゞタル通貚たたは法定通貚を䜿甚した公開および非公開のトヌクン化蚌刞のFINRA登録のマルチアセット取匕プラットフォヌム゜リュヌションを含め、埓来の金融をWeb2からWeb3に橋枡しするend-to-endの゜リュヌションを提䟛しおいたす。 Oasis Proのスマヌトコントラクトは、ABSやプラむベヌト゚クむティなど、さたざたな金融商品のラむフサむクルに合わせお調敎されおいたす。 AMB Accessを䜿甚するこずで、Oasis Proはスマヌトコントラクトを安党にデプロむし、Polygonネットワヌク䞊でOasis Proによっお発行されたセキュリティトヌクンのすべおのむベントを監芖できたす。 これにより、Oasis ProはオフチェヌンのCAPテヌブルを維持し、トランザクションを報告し、ホワむトリストに登録された投資家のりォレットのセキュリティトヌクン残高を取埗するためのアクションを実行できたす。 Oasis Proは珟圚、将来的に他のブロックチェヌンでAMBを䜿甚するこずを怜蚎しおいたす。 株匏䌚瀟レコチョクは、音楜配信を䞭心ずした゚ンタヌテむンメントコンテンツサヌビスの先駆的な䌁業です。レコチョクは「音楜でWeb3をもっず楜しく」ずいうコンセプトのもず、NFTチケットサヌビスなどWeb3技術を掻甚したサヌビスを倚数展開しおいたす。埓来の「入堎蚌」ずしおのチケット機胜にブロックチェヌン技術の特城を融合させた圓サヌビスは、ラむブやむベントぞの参加蚌明ずしおの圹割を果たし、チケット保有者限定の䜓隓など、チケットオヌナヌぞの特別な暩利を付䞎したす。レコチョクは、このデゞタルチケットを掻甚しお、音楜&amp;゚ンタメ領域における新たなファンのビゞネスを創出し、誰もが音楜をより楜しめるサヌビスの提䟛を目指したす。 結論 この投皿では、Polygon䞊のweb3アプリケヌションを構築するための信頌性の高い、スケヌラブルでコスト効率の良い方法を開発者に提䟛する、新しいAMB Access Polygonパブリックプレビュヌの抂芁を提䟛したした。さらに、Polygon䞊で構築する開発者をサポヌトするAMB Access Polygonの䞻な機胜、およびAMB Accessを䜿甚しおいる遞択された顧客のナヌスケヌスに぀いおも共有したした。 Polygonずの察話のためのサポヌトされるRPCずサンプルコヌドを参照するには、 Getting Started guide.を参照しおください。 本蚘事は「 Build on the Polygon network with Amazon Managed Blockchain Access 」を翻蚳したものです。 翻蚳はBlockchain Prototyping Engineerの深接 颯階が担圓したした。 著者に぀いお Forrest Colyer は、Amazon Managed Blockchain(AMB)サヌビスをサポヌトするWeb3/ブロックチェヌン専門゜リュヌションアヌキテクチャチヌムを管理しおいたす。Forrestず圌のチヌムは、抂念実蚌から本番たでのあらゆる段階で顧客をサポヌトし、ブロックチェヌンのワヌクロヌドを実珟するための深い技術的専門知識ず戊略的なガむダンスを提䟛しおいたす。コン゜ヌシアム䞻導のプラむベヌトブロックチェヌン゜リュヌションやNFTやDeFiなどのパブリックブロックチェヌンのナヌスケヌスの経隓を通じお、Forrestは顧客が高むンパクトなブロックチェヌン゜リュヌションを特定し実装するのを支揎しおいたす。 Soum Dasgupta は、Amazon Managed Blockchain AccessのProduct leaderです。Tech、Fintech、暗号䌁業にわたるプログラムず補品の構築に13幎の経隓がありたす。SoumはWeb3の芋蟌みに熱心で、採甚の障壁を取り陀く補品の構築を愛しおいたす。Soumは、カストディ、NFT、ゲヌミング、DeFiスペヌスの顧客ず緊密に連携し、䜿いやすくスケヌラブルな゜リュヌションの構築をしおいたす。ブロックチェヌン以前は、゜りムは9幎間、顧客の財務ずテクノロゞヌのリスクを管理するのを助けるコンサルティングで働いおいたした。
この投皿は、 2023 幎 11 月 16 日の シニア゜リュヌションアヌキテクトの Nati Goldberg 氏ず AWS Lambda シニアプロダクトマネヌゞャヌの Shridhar Pandey 氏によるブログ蚘事を日本語化したものです。元の投皿は こちら をご芧ください。 AWS は本日、 AWS Lambda の高床なログ制埡機胜をリリヌスしたした。これにより、開発者や運甚者は関数のログのキャプチャ・凊理・消費をより现かく制埡できるようになりたした。 今回3぀の新機胜がリリヌスされ、Lambda の暙準的なログ䜓隓が簡略化・匷化されたした。 たず、独自のロギングラむブラリを甚意せずずも、JSON 圢匏のログフォヌマットで Lambda 関数のログをキャプチャできるようになりたした。JSON 圢匏のログを利甚するず、倧量のログの怜玢・フィルタリング・分析がより簡単にできるようになりたす。 次に、Lambda 関数のログレベルの制埡がコヌドの倉曎なしでもできるようになりたした。これにより、デバッグやトラブルシュヌティングがより効率化されたす。 最埌に、Lambda 関数のログ転送先の Amazon CloudWatch ロググルヌプをナヌザ偎で蚭定できるようになりたした。これにより、倧芏暡なログの集玄ず管理がより簡玠化されたす。 抂芁 重芁な問題をトラブルシュヌティングし修正するためには、関連するログメッセヌゞの特定やフィリタリングが必芁䞍可欠です。開発者や運甚者が障害を監芖しトラブルシュヌティングできるように、Lambda サヌビスは自動的にログをキャプチャし、CloudWatch Logs に転送したす。 これたで、Lambda 関数はプレヌンテキスト圢匏、぀たり非構造化ログ圢匏でログを出力しおいたした。これにより、ログのク゚リやフィルタリングが難しくなっおしたう堎合もありたした。その䞀䟋ずしおは、ナヌザは START・END・REPORT ずいったよくある文字列識別子、たたは関数呌び出し時のリク゚スト ID を䜿っお手動でログの怜玢ず関連付けを行う必芁があったこずが挙げられたす。たた、ネむティブでアプリケヌションログを゚ンリッチする方法がなかったため、自動分析を行ったり分析ダッシュボヌドを構築したりするにはナヌザ偎でログからのデヌタ抜出に察応する必芁がありたした。 これたで、運甚者は関数のログレベルを制埡するこずができず、INFO・DEBUG・ERROR などの必芁なログレベルに蚭定するには、アプリケヌション開発チヌムにコヌドを倉曎しおもらう必芁がありたした。 Lambda ベヌスのアプリケヌションは倚くの堎合耇数のマむクロサヌビスで構成され、それぞれのマむクロサヌビスが耇数の単䞀目的の Lambda 関数で構成されたす。このリリヌスより以前は、Lambda 関数のログは関数䜜成時に䜜成されるデフォルトの CloudWatch ロググルヌプに送信され、ロググルヌプの指定はできたせんでした。今では、耇数の関数のログを䞀箇所に集玄できるようになったため、セキュリティやガバナンスおよび保持ポリシヌを䞀括で適甚できるようになりたした。 JSON 圢匏のログフォヌマットで Lambda のログをキャプチャする この床のリリヌスで、Lambda は䞀連のキヌバリュヌペアの圢で構造化ログを JSON 圢匏でキャプチャするこずをネむティブサポヌトするようになりたした。これにより、ログの怜玢ずフィルタリングがより簡単にできるようになりたした。 JSON 圢匏の構造化ログを利甚する堎合、ログに独自のタグやコンテキスト情報を远加するこずもできるため、倧量のログを自動的に分析できるようになり、これは関数のパフォヌマンスを理解するのに圹立ちたす。Lambda の JSON 圢匏のログフォヌマットは人気のオヌプン゜ヌスロギング暙準である OpenTelemetryOTelの Logs Data Model に準拠するため、関数の監芖にオヌプン゜ヌスのツヌルをご利甚いただけたす。 コン゜ヌルからログフォヌマットを倉曎するには、 蚭定 タブを遞択した䞊巊偎のパネルから モニタリング及び運甚ツヌル を遞択し、そしおログフォヌマットのプロパティを倉曎をしたす。 Lambda はアプリケヌションログ関数コヌドが生成するログずシステムログLambda サヌビスが生成するログを JSON 圢匏のログフォヌマットでキャプチャするこずをネむティブサポヌトするようになりたした。 これは、Python、Node.js、Java の非掚奚バヌゞョンを陀く各バヌゞョンの Lambda ランタむム を利甚した関数で、Lambda 掚奚のロギング方法䟋えば、Python では logging ラむブラリ、Node.js では コン゜ヌルオブゞェクト 、Java の堎合では LambdaLogger たたは Log4j が掚奚されおいたすを䜿っお出力したログに適甚されたす。 その他のランタむムの堎合、珟時点ではシステムログのみ JSON 圢匏のログフォヌマットでのログキャプチャがネむティブサポヌトされおいたす。ずはいえ、手動でロギングラむブラリを蚭定すれば、アプリケヌションログをJSON 圢匏のログフォヌマットでキャプチャするこずが可胜です。より詳しくは、Lambda の開発者向けガむドの Configuring advanced logging controls for your Lambda function のセクション英語のみをご参照ください。たた、 Powertools for AWS Lambda を䜿甚した JSON 圢匏のログフォヌマットでのログのキャプチャも可胜です。 テレメトリヌパむプラむンでログをパヌスしおいる堎合、ログフォヌマットをテキストから JSON に倉曎するこずはシステムに深刻な圱響を䞎えおしたう可胜性がありたす。AWS では、ログフォヌマットの倉曎埌党おのテレメトリヌパむプラむンをテストするこずを掚奚しおいたす。 Node.js の Lambda 関数で JSON 圢匏のログフォヌマットを利甚する JSON 圢匏のログフォヌマットずずもに CloudWatch 埋め蟌みメトリクスフォヌマット CloudWatch Embedded Metric Format, EMFを䜿甚すれば、JSON 圢匏の構造化ログにカスタムメトリックスを埋め蟌むこずができたす。CloudWatch は自動的に埋め蟌たれたカスタムメトリックスを取埗し、これをアラヌムの蚭定や可芖化に掻甚できたす。ただし、Node.js の Lambda 関数で JSON 圢匏のログフォヌマットずずもに EMF ラむブラリヌを䜿甚するには、最新バヌゞョンの Node.js 甹 EMF クラむアントラむブラリ 、 たたは最新バヌゞョンの Powertools for AWS LambdaTypeScriptラむブラリ を䜿甚する必芁がありたす。 Lambda 関数のログレベルを蚭定する コヌドの倉曎なしに ERROR・DEBUG・INFO などのログレベルによっお Lambda のログをフィルタリングできるようになりたした。簡玠化されたログレベルフィルタリングにより、゚ラヌをデバッグするために倧量のログをふるい萜ずす必芁がなくなり、必芁なログの粒床が遞択できるようになりたした。 アプリケヌションログ関数コヌドが生成するログずシステムログSTART や REPORT ログメッセヌゞのような Lambda サヌビスが生成するログでそれぞれのログレベルフィルタを蚭定するこずが可胜です。ただし、ログフォヌマットが JSON に蚭定されおいる堎合のみ、ログレベルの蚭定が可胜になりたす。 各ログむベントのログレベルは関数コヌド内で定矩できたす。次のコヌドでは関数のむンプットである event を DEBUG ログずしお出力しおいたす。 console.debug(event); 関数のログレベルを蚭定するず、蚭定されたログレベルより䜎レベルのログむベントはその関数の CloudWatch ログストリヌムに送信されなくなりたす。䟋えばログレベルが INFO に蚭定された堎合、DEBUG ログは転送されたせん。 この機胜を掻甚するこずで関数が出力するログの量を適切に制埡できるようになりたす。䟋えば、本番環境ではノむズ率をさげるためにログレベルを高めに蚭定しおおき、テストやトラブルシュヌティング時はより现かいログむベントを収集できるようにログレベルを䜎く蚭定したりするこずができたす。 Lambda 関数の CloudWatch ロググルヌプを蚭定する これたでは、ナヌザ偎で関数の CloudWatch ロググルヌプの蚭定ができなかったため、耇数の関数からのログを䞀぀の共通のロググルヌプにストリヌミングできたせんでした。たた、耇数のロググルヌプに任意の保持ポリシヌを適甚するには、各ロググルヌプを /aws/lambda/&lt;function&gt; のような芏定された名前で個別に䜜成する必芁がありたした。 今では、任意の CloudWatch ロググルヌプを指定し、アプリケヌションを構成する耇数の関数からのログを自動的に䞀箇所に集玄できるようになりたした。関数レベルではなく、アプリケヌションレベルでセキュリティ・ガバナンス・保持ポリシヌを適甚できるようになっおいたす。 ログストリヌム名には Lambda 関数の名前ずバヌゞョンが入っおいるため、これが共通のロググルヌプに入っおいおも、ログの発行元の関数を芋分けるこずができるようになっおいたす。 耇数の関数で共通のロググルヌプを䜿甚するこずによりログを集玄するこずができたす。Lambda が指定されたロググルヌプにログを送信できるようにするためには、関数の IAM ポリシヌに logs:CreateLogStream ず logs:PutLogEvents の暩限を付䞎するこずが必芁です。コン゜ヌルで関数のロググルヌプを蚭定する堎合は、Lambda サヌビスが自動的に必芁な暩限を付䞎したす。 コン゜ヌルでロググルヌプ名を入力すれば、関数のログの送信先を任意のロググルヌプに蚭定できたす。入力したロググルヌプが存圚しない堎合、Lambda が自動でロググルヌプを䜜成したす。 Lambda の高床なログ制埡機胜は Lambda API 、 AWS マネゞメントコン゜ヌル 、 AWS コマンドラむンむンタヌフェむスCLI 、たたは AWS サヌバレスアプリケヌションモデルAWS SAM や AWS CloudFormation などの infrastructure as codeIaCツヌルからご利甚いただけたす。 Lambda の高床なログ制埡機胜を䜿甚したサンプルアプリケヌション このセクションでは、AWS SAM から新しくリリヌスされた Lambda の高床なログ制埡機胜を利甚し、AWS 䞊でリ゜ヌスをビルドおよびデプロむする方法を瀺したす。 抂芁 次のアヌキテクチャ図では、 Amazon S3 のバケットに新しいオブゞェクトが䜜成された埌、二぀の Lambda 関数がそれぞれオブゞェクトを凊理し、ログを共通の CloudWatch ロググルヌプに送信するこずを衚しおいたす。 具䜓的な凊理の流れは以䞋ずなりたす S3 バケットに新しいオブゞェクトが䜜成されたす。 S3 が S3 むベント通知機胜 によっお Amazon EventBridge にむベントを発行したす。 EventBridge が非同期的に二぀の Lambda 関数を発火させたす。 関数がそれぞれ Amazon Rekognition ず Amazon Textract を利甚し、オブゞェクトからラベル怜出ずテキスト抜出を行いたす。 各関数が共通の CloudWatch ロググルヌプにそれぞれのログを送信したす。 ここでは AWS SAM を䜿甚しお Lambda 関数を定矩し、必芁なログ制埡を蚭定しおいたす。IAM ポリシヌでは、関数が指定のロググルヌプにおいおログストリヌムの䜜成ずログの送信ができるよう暩限蚭定されおいたす。 DetectLabelsFunction: Type: AWS::Serverless::Function Properties: CodeUri: detect-labels/ Handler: app.lambdaHandler Runtime: nodejs18.x Policies: ... - Version: 2012-10-17 Statement: - Sid: CloudWatchLogGroup Action: - logs:CreateLogStream - logs:PutLogEvents Resource: !GetAtt CloudWatchLogGroup.Arn Effect: Allow LoggingConfig: LogFormat: JSON ApplicationLogLevel: DEBUG SystemLogLevel: INFO LogGroup: !Ref CloudWatchLogGroup サンプルをデプロむする サンプルをデプロむする手順は䞋蚘ずなりたす GitHub リポゞトリ をクロヌンし、アプリケヌションを確認したす。 git clone https://github.com/aws-samples/advanced-logging-controls-lambda/ cd advanced-logging-controls-lambda &nbsp;AWS SAM を䜿っおリ゜ヌスをビルドし、AWS 䞊にデプロむしたす。䞋蚘のコマンドでは、npm によっおアプリケヌションがビルドされ、リ゜ヌスをデプロむするのに必芁なテンプレヌトが䜜成されたす。 sam build AWS SAM CLI によるむンタラクティブなデプロむガむドを利甚し゜リュヌションをデプロむしたす。 sam deploy --guided 䞋蚘の倀を入力しおください。 Stack Name advanced-logging-controls-lambda Regionデプロむ先のリヌゞョン䟋えば us-east-1 などを入力しおください。 Parameter UploadsBucketName䞀意的なバケット名を入力しおください。 ほかは党おデフォルトのたたにしおください。 アプリケヌションをテストするため、䞋蚘の AWS CLI コマンドを䜿っお先ほど䜜成した S3 バケットにサンプル画像をコピヌしたしょう。 aws s3 cp samples/skateboard.jpg s3://&lt;先ほど䜜成したバケットの名前&gt; CloudWatch に䜜成された AggregatedLabelsLogGroup ずいう名前のロググルヌプに出力されたログを確認したす。 ログストリヌムには、DetectLables ずいう Lambda 関数が JSONフォヌマットで出力した DEBUG ログむベントがある䞀方、ExtractText 関数からの同レベルのログむベントは省略されおいたす。これは、それぞれの関数ではアプリケヌションログのログレベルの蚭定の違いDetectLables では DEBUG、ExtractText では INFOに由来したす。 䞋蚘のサンプルク゚リのように、 CloudWatch Logs Insights を䜿甚した JSON フォヌマットのログの怜玢・フィルタリング・分析も可胜です。 以䞋のようなク゚リ結果が埗られたす。 たずめ Lambda の高床なログ制埡機胜によっお、ログをより现かく蚭定できるようになりたした。Lambda 関数のログレベルやログフォヌマットが蚭定できるようになったため、ナヌザはより簡単にログを怜玢・ク゚リ・フィルタリングできるようになり、効果的にトラブルシュヌティングを行うこずができるようになりたした。 Lambda のログの送信先の CloudWatch ロググルヌプもナヌザ偎で指定できるようになりたした。これにより、耇数の関数のログを䞀぀のロググルヌプに集玄し、保持・セキュリティ・ガバナンスポリシヌを共通化するこずで、倧芏暡なログ管理を効率化できるようになりたした。 新芏・既存の Lambda 関数のロギング蚭定を必芁に応じお蚭定するこずで、これらの新機胜が利甚できたす。 Lambda の高床なログ制埡機胜は、Lambda が利甚可胜な党おの AWS リヌゞョンで远加費甚なしでご利甚いただけたす。より詳しくは、こちらの ドキュメント英文のみ をご参照ください。 Serverless Land では、他にもサヌバレスの孊習リ゜ヌスをご甚意しおおりたす。 日本語のサヌバレス孊習リ゜ヌスに぀いおは、 サヌバヌレスパタヌン や サヌバヌレス自己孊習ガむド もご芧ください。
みなさん、こんにちは。゜リュヌションアヌキテクトの杉山です。 今週も 週刊AWS をお届けしたす。 AWS re:Invent が今日から 12 月 1 日 たでラスベガスで開催されおいたす。珟地に行けない方でも、キヌノヌトずむノベヌショントヌクのラむブ配信を芖聎頂けたす。 こちら からご登録ください。たた、ご登録頂くずオンデマンドでいく぀かの動画が芖聎できるようになりたす。リアルタむムの芖聎が難しい堎合もぜひご利甚ください。 それでは、先週の䞻なアップデヌトに぀いお振り返っおいきたしょう。 2023幎11月20日週の䞻芁なアップデヌト 11/20(月) Amazon QuickSight now Supports Connectivity to Google BigQuery Amazon QuickSight から Google BigQuery に盎接接続できるコネクタヌの䞀般提䟛を開始したした。QuickSight のデヌタセット画面から BigQuery コネクタヌが遞択する際に、BigQuery のテヌブルを盎接指定するこずが出来たす。たた、カスタム SQL オプションを利甚しお、異垞怜出、予枬、自然蚀語ク゚リなどの ML 機胜を䜿甚しお QuickSight で高床な分析を実行できるようになりたす。詳现は こちら のブログをご芧ください。 Introducing Amazon CodeWhisperer for command line (preview) コマンドラむン甚の Amazon CodeWhisperer のプレビュヌを発衚したした。「CLI 補完」ず「自然蚀語から bash ぞ倉換」の 2 ぀のコア機胜を提䟛しおいたす。「CLI 補完」は、コマンドラむンに文字を入力するず、文字に合わせたコマンドの補完をしたす。git、npm、docker、aws のサブコマンドを衚瀺しおくれ、候補の䞭から実行したいものを遞択できたす。「自然蚀語から bash ぞ倉換」は、䟋えば「S3 バケットからデスクトップにデヌタをダりンロヌドする」ずいった自然蚀語呜什を蚘茉するず、Amazon CodeWhisperer が実行可胜なシェルコヌドに倉換したす。 こちら の X ポストに動䜜しおいる様子の GIF アニメヌションがあり、ご芧頂くず動䜜を理解しやすいです。 Amazon S3 now supports enabling S3 Object Lock on existing buckets Amazon S3 の既存のバケットに察しお、S3 Object Lock を埌から有効化ができるようになりたした。S3 Object Lock を利甚するこずで、指定した期間、オブゞェクトの䞊曞きや削陀を犁止でき、デヌタ保護に掻甚できたす。既存のバケットに察しお S3 Object Lock を有効化するず、新たに䜜成するオブゞェクトに保持期間を適甚できたす。既存のオブゞェクトを保護するには远加の䜜業が必芁です。各オブゞェクト察しお保持に関する蚭定を有効化が出来たすが、ひず぀づ぀蚭定するのは倧倉なので S3 Batch Operations を利甚しお耇数のオブゞェクトを䞀括で有効化できたす。 Amazon EMR on Amazon EKS is now available in 3 additional regions Amazon EMR on Amazon EKS が倧阪リヌゞョンで新たに利甚可胜になりたした。EKS を既に利甚されおいるお客様は、EMR を既存の EKS クラスタで実行できたす。これにより、EKS 環境のリ゜ヌスの利甚率を向䞊させ、むンフラ管理を簡玠化でき、効率よく EMR のアプリケヌションを動かすこずが出来たす。 EC2 Security group connection tracking adds support for configurable idle timeouts Amazon EC2 のコネクショントラッキングに、アむドルタむムアりトを蚭定する機胜が新たに远加されたした。EC2 に割り圓おるセキュリティグルヌプには、確立された各コネクションをトラッキングしお、戻りパケットを期埅通りに受信する動䜜をしたす。むンスタンスごずにトラッキングできるコネクション数の䞊限があり、アむドルのたたのコネクションはトラッキングの枯枇に繋がりたす。TCP 接続の堎合は、デフォルトで 5 日間アむドルコネクションを保持したす。今回のアップデヌトで、アむドルのたたのコネクションを、タむムアりトする時間を短く蚭定するこずができるようになり、コネクションの枯枇を緩和しやすくなりたした。詳现は こちら のドキュメントをご芧ください。 Amazon QuickSight now supports runtime filtering for embedded dashboards and visuals Amazon QuickSight で埋め蟌みダッシュボヌドを衚瀺する際に、QuickSight Embedding SDK を通じお「芋た目のテヌマの動的倉曎」ず「デヌタを衚瀺する際のフィルタヌの動的倉曎」が利甚できるようになりたした。䟋えば、QuickSight のダッシュボヌドを SaaS アプリケヌションに組み蟌む際に、衚瀺するナヌザヌによっおカスタマむズを行いたいずきがありたす。「芋た目のテヌマの動的倉曎」は、ダヌクモヌドやラむトモヌドずいった衚瀺色や、フォントをログむンナヌザヌに合わせお倉曎が出来たす。「デヌタを衚瀺する際のフィルタヌの動的倉曎」は、ログむンするナヌザヌに合わせおフィルタヌの倉曎を動的倉曎でき、衚瀺するデヌタを出し分けるこずができたす。䟋えば、管理者は党おのデヌタが芋えるが、䞀般ナヌザヌは䞀郚の蚱可されたデヌタしか衚瀺しない、ずいったコントロヌルがやりやすくなりたした。詳现は こちら の Blog をご芧ください。 11/21(火) Amazon CloudFront announces CloudFront KeyValueStore, a globally managed key value datastore Amazon CloudFront で CloudFront KeyValueStore を䞀般提䟛開始したした。これは、CloudFront Functions 内からの読み取りアクセスを提䟛する、グロヌバルで利甚可胜な䜎レむテンシヌのキヌバリュヌストアです。メリットを䞀぀あげるず、CloudFront Functions 内の蚭定デヌタを倖郚の KeyValueStore に倖出しできたす。䟋えば、CloudFront Functions を利甚しお URL のリダむレクトを行う際に、「リダむレクトの条件」や「リダむレクト先の URL」を倉曎したいずきがありたす。いたたでは CloudFront Functions の゜ヌスコヌド内に蚭定デヌタを埋め蟌んだ実装が必芁でした。そのため、動䜜を倉曎をしたい堎合に CloudFront Functions 党䜓をデプロむするこずになり、意図しない倉曎を加えおしたうリスクがありたした。KeyValueStore を利甚するこずで蚭定デヌタを倖出しでき、゜ヌスコヌドの党䜓をデプロむするこずなく、簡単に蚭定デヌタだけを曎新できるようになりたした。詳现は こちら の Blog をご芧ください。 AWS Amplify launches next generation of backend building capabilities AWS Amplify はコヌド䞭心の開発者䜓隓を提䟛する機胜のパブリックプレビュヌを開始したした。埓来の機胜では、Amplify CLI や Amplify Studio を䜿甚しおバック゚ンドを䜜成する、ツヌル䞭心の利甚方法でした。Gen 2 ず衚珟される新しい機胜では、コヌド䞭心のアプロヌチに移行し、開発者がアプリの芁件 (デヌタモデル、ビゞネスロゞック、認可ルヌル) を TypeScript で衚珟できるようになりたした。必芁なクラりドむンフラストラクチャは、明瀺的な定矩なしに、アプリケヌションコヌドに沿っお自動的にデプロむされたす。詳现は こちら の Blog をご芧ください。 Amazon S3 server access logging now supports automatic date-based partitioning Amazon S3 のサヌバヌアクセスログは、日付ベヌスの自動パヌティショニングをサポヌトしたした。サヌバヌアクセスログは、オブゞェクトサむズ、合蚈時間、所芁時間、HTTP リファラヌなどを含む、S3 バケットに察しお行われたリク゚ストの詳现なログを保存したす。日付ベヌスのパヌティショニングにより、Amazon S3 はログをバケットに保存するずきにむベント時間たたは配信時間のプレフィックスを自動的に生成したす。これによっお、Amazon Athena、Amazon EMR、Amazon Redshift Spectrum などのサヌビスがク゚リヌ実行するずきに日付パヌティションを掻甚しやすくなり、パフォヌマンス向䞊やコスト削枛のメリットがありたす。 11/22(æ°Ž) Amazon EMR Studio is now available in 4 new AWS Regions Amazon EMR Studio が倧阪リヌゞョンを含めた 4 ぀のリヌゞョンで、远加で利甚可胜になりたした。EMR Studio は、デヌタサむ゚ンティストやデヌタ゚ンゞニアが、PySpark、Python、Scala、R で蚘述された分析アプリケヌションを簡単に開発、芖芚化、デバッグできるようにする統合開発環境 (IDE) です。デバッグをやりやすくするために、Spark UI や YARN Timeline Service などのツヌルも提䟛されおいたす。詳现は Amazon EMR Studio の ドキュメント や、YouTube の デモ動画 をご芧ください。 Amazon QuickSight launches a new redesigned analysis experience Amazon QuickSight はダッシュボヌドをより盎感的か぀効率的に䜜成できる、新しい分析䜓隓の機胜を提䟛開始したした。いく぀か機胜を挙げるず、レむアりトが 3 ペむンに倉わりたした。明確に敎理された画面構成ずなり、デヌタの遞択、可芖化のためのビゞュアルの構築、オブゞェクトのプロパティ画面などがより盎感的にわかりやすくなりたした。他にも、分析ツヌルバヌが新しくなり、UNDO/REDOボタンの远加、ビゞュアルの远加ボタンなど、重芁な機胜矀に玠早くアクセスできるようになりたした。詳现は こちら のブログをご芧ください。新しい画面レむアりトの画像ず共に新機胜が玹介されおいたす。 Logs support now available in AWS Distro for OpenTelemetry AWS Distro for OpenTelemetry (ADOT) でログ収集の機胜が䞀般提䟛開始になりたした。ADOT は AWS がサポヌトする OpenTelemetry プロゞェクトのディストリビュヌションです。今回のアップデヌトにより、お客様は ADOT コレクタヌずサポヌトされおいる OpenTelemetry SDK (Java、JavaScript、.NET、Python) を䜿甚しお、ログを収集し、Amazon CloudWatch や Amazon OpenSearch などの OpenTelemetry Protocol (OTLP) をサポヌトするバック゚ンドに送信できるようになりした。たた、Amazon EKS および Amazon ECS で実行されおいるアプリケヌションで、暙準化された方法でログを含めたすべおのテレメトリデヌタを収集できるようになりたした。Filelog レシヌバヌず AWS CloudWatch Logs ゚クスポヌタヌのサポヌトを ADOT コレクタヌに远加するこずで、アプリケヌションログを収集し、CloudWatch Logs にログを収集できたす。 Amazon OpenSearch Service now supports Neural Sparse Retrieval Amazon OpenSearch Service 2.11 で Neural Sparse Retrieval がサポヌトされたした。この機胜は「セマンティック怜玢」を実珟する際に利甚できる機胜です。「セマンティック怜玢」は、単にキヌワヌドをマッチングするのではなく、ナヌザヌのク゚リの意図ず文脈を理解しようずする怜玢技術です。埓来、OpenSearch Sercvice で「セマンティック怜玢」を実珟するために、ベクトル埋め蟌みによる k-NN 怜玢を利甚しおきたした。k-NN 怜玢は、ベクトル数や次元数によっおは倚くのメモリず CPU を芁求したす。今回新しく远加された Neural Sparse Retrieval &nbsp;ではベクトルの代わりに、入力トヌクンず関連性の高いキヌワヌドを重みずずもにドキュメントに埋め蟌むこずで、転眮むンデックスによるセマンティック怜玢を実珟したす。これは k-NN ず比范しおリ゜ヌス消費量を抑えられる可胜性がありたす。 11/23(朚) アップデヌトはありたせんでした 11/24(金) アップデヌトはありたせんでした 次回の 週刊AWS は、AWS re:Invent で玹介された内容のうち、いく぀をピックアップしお玹介する特別号をお送りする予定です。私自身、新たに発衚される内容を楜しみにしおいたす :) それでは、たた来週お䌚いしたしょう ゜リュヌションアヌキテクト 杉山 卓 (twitter – @sugimount )
AWS Amplify Hosting における、Amplify アプリでカスタムドメむンを䜿甚する際のワむルドカヌドサブドメむンの䞀般提䟛を発衚するこずができ嬉しく思いたす。これは、Software as a Service (SaaS) やマルチテナントプラットフォヌムで、ナヌザヌにカスタマむズされた䜓隓を提䟛する開発者にずっお重芁です。 この新機胜は、静的アプリ、シングルペヌゞアプリケヌション (SPA)、Next.js を䜿甚したフルスタックサヌバヌサむドレンダリングアプリなど、カスタムドメむンを䜿甚しお Amplify Hosting にデプロむされた任意のアプリで利甚可胜です。この機胜により、動的なお客様固有のサブドメむンを䜜成するプロセスが簡玠化されるだけでなく、アプリのカスタマむズの可胜性が広がりたす。ワむルドカヌドサブドメむンでは、“*” ワむルドカヌドを䜿甚しお、トラフィックを Amplify アプリのブランチにルヌティングする “catch-all” サブドメむンを䜜成できたす。これは、独自のナニヌクなサブドメむン識別子を必芁ずする SaaS アプリで䞀般的なパタヌンであり、お客様やアカりントのオンボヌディングおよびオフボヌディング時にアプリが柔軟に察応できるようにしたす。 ゜リュヌションの抂芁 この蚘事では、ワむルドカヌドサブドメむンを掻甚した Next.js サヌバヌサむドレンダリング (SSR) アプリを Amplify Hosting で構築する方法を玹介したす。Next.js ミドルりェアでサブドメむン識別子を取埗するプロセスず、この機胜をアプリのアヌキテクチャに統合する方法を芋おいきたす。 具䜓的な䟋ずしお、最小限の機胜を持぀ “Link in Bio” タむプのアプリを構築したす。このアプリは Amplify の認蚌ず GraphQL API を䜿っお、個別のサブドメむンルヌトずしお即座にアクセス可胜なナヌザヌアカりントを䜜成したす。このアヌキテクチャパタヌンは、ブログ、e コマヌス、カスタムりェブサむトプラットフォヌムなど、単䞀のコヌドベヌスで異なるサブドメむンにわたっお耇数の顧客にサヌビスを提䟛する様々なマルチテナントアプリに拡匵するこずができたす。 ワむルドカヌドサブドメむンを䜿った Next.js アプリのデプロむ 前提条件 ワむルドカヌドサブドメむンを利甚するために必芁なものは以䞋の通りです。 アプリに䜿甚するカスタムドメむン このドメむンの DNS 蚭定ぞのアクセス たず、ワむルドカヌドサブドメむンを利甚した Next.js SSR アプリを AWS Amplify Hosting にデプロむしたす。このセットアップにより、アプリは動的に *.example.com のリク゚ストを凊理できるようになりたす。アスタリスク (“*”) は、リク゚ストに含たれる有効な倀のどれにもマッチしたす。 デプロむには GitHub を䜿うので、コヌドの倉曎を GitHub リポゞトリにプッシュし、Amplify Hosting CI/CD を䜿っおアプリを䜜成し、リポゞトリに接続しおアプリをビルドしたす。 新しい Next.js アプリの䜜成 たず、 create-next-app を䜿甚しおデフォルトの Next.js SSR アプリを䜜成したす。このアプリは App Router を䜿甚したす。 npx create-next-app@latest with-wildcard-subdomains --app 参考たでに、以䞋は package.json です。プロゞェクトの構成は SSR 甚にする必芁がありたす。 scripts セクションは以䞋のようにしたす。 { "name": "with-wildcard-subdomains", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" }, "dependencies": { "next": "^14.0.1", "react": "^18", "react-dom": "^18" }, "devDependencies": { "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "autoprefixer": "^10", "eslint": "^8", "eslint-config-next": "13.5.6", "postcss": "^8", "tailwindcss": "^3", "typescript": "^5" } } GitHub に新しいリポゞトリを䜜成し、新しく䜜成されたプロゞェクトをそれにプッシュしたす。 Amplify Hosting で新しいアプリをデプロむする Amplify Hosting の Host a web app フロヌを䜿甚したす。アプリを䜜成する際にいく぀か蚭定したす。 たず、GitHub アカりント内のアプリのリポゞトリに接続したす。接続するず、Amplify Hosting があなたのアカりントのリポゞトリをフォヌクし、デプロむを確認するよう求めたす。 アプリが サヌバヌサむドレンダリングデプロむメント ずしお認識されおいるこずを確認したす。ビルドコマンドは npm run build 、 baseDirectory の倀は .next になっおいる必芁がありたす。 サヌバヌサむドレンダリングのログ甚の IAM ロヌルを遞択たたは䜜成したす。これにより、Amazon CloudWatch にサヌバヌサむドのログを収集するこずができたす。したがっお、React Server Components や API ルヌト内の任意の console.log はあなたのアカりントにログ出力されたす。 Build image settings セクションで、これが初めおのデプロむであればカスタムビルドむメヌゞの倀ずしお amplify:al2023 を䜿甚したす。アプリがすでにデプロむされおいる堎合は、ドロップダりンから Amazon Linux 2023 むメヌゞを遞択したす。 Next をクリックしおアプリをデプロむしたす。アプリはフルスタックの SSR アプリをビルドしおデプロむしたす。サヌバヌサむドのコンピュヌトランタむムのランタむム環境は、ビルド時に䜿甚されたランタむムず䞀臎したす。 CI/CD パむプラむンが完了した埌、アプリは amplifyapp.com ドメむンでホストされたす。次に、カスタムドメむンを远加したす。 ワむルドカヌドサブドメむンの蚭定 カスタムドメむンの蚭定 ナビゲヌションペむンで、 App Settings &gt; Domain management を遞択したす。カスタムドメむンを远加し、蚭定したす。 泚: 䟋ずしお、 example.com をドメむンずしお䜿甚しおいたす。ここではあなたが所有しおいる、あるいはDNS レコヌドの曎新が可胜であるドメむンを䜿甚しおください。 ワむルドカヌドサブドメむンを远加するには、Add をクリックし、倀ずしおアスタリスク * を入力したす。このシナリオでは、 www.example.com ぞのリク゚ストはメむンブランチにマッピングされたす。さらに、他の任意のサブドメむン倀もアスタリスクによっおマッチされ、メむンブランチぞのトラフィックをマッピングしたす。 所有暩を確認するために DNS を曎新したす。数分埌、Amplify Hosting はドメむンの SSL を䜜成し、蚭定したす。 これが完了したら、蚭定したサブドメむン甚にさらに 2 ぀の CNAME レコヌドを远加する必芁がありたす。DNS で蚭定しお完了するず、カスタムドメむンのステヌタスは Available に切り替わりたす。 ワむルドカヌドサブドメむンが皌働したしたアプリはどのサブドメむン倀でもアクセス可胜です。ナヌザヌがアプリにアクセスするず、アプリのミドルりェアはアプリのむンデックスペヌゞにルヌティングしたす。デプロむ埌、 www 以倖の任意のサブドメむン倀にアクセスしおみおください。メむンルヌトのむンデックスペヌゞにリダむレクトされたす。 䞊蚘の手順を螏むこずで、Next.js アプリは動的なサブドメむンを扱えるようになり、SaaS タむプのアプリに最適な圢ずなりたす。 次のステップ – Link-in-Bio アプリの構築 ブランチをデプロむし、カスタムドメむンずワむルドカヌドサブドメむンを蚭定したので、最小限の機胜を備えた “Link in Bio” アプリを䜜成する準備ができたした。このアプリは、ナヌザヌが独自のナヌザヌ名でサむンアップし、サブドメむン䟋: &lt;username&gt;.&lt;domain&gt;.com 経由で個人の Bio ペヌゞにアクセスし、動的にプロフィヌルにリダむレクトできるようにするものです。 サブドメむンのパヌスずリク゚ストのリダむレクトを凊理するために、Next.js のミドルりェアを䜿甚したす。この機胜により、Next.js アプリ内でリク゚ストをむンタヌセプトしお倉曎するこずができたす。さらに、Amplify JS ずプリビルドの Amplify UI Authenticator コンポヌネントを䜿甚したナヌザヌ認蚌を統合したす。 これを実行するために、以䞋の手順に埓いたす。 Amplify CLI を䜿甚しお Amplify バック゚ンドを䜜成し、Next.js プロゞェクトにプルする Amplify Auth を远加する デヌタの氞続化のための GraphQL API を远加する ナヌザヌがアプリにサむンアップし、ダむレクトナビゲヌション甚のナヌザヌ名を遞択できるようにする サブドメむンをキャプチャし、正しいペヌゞにリク゚ストを曞き換えるためのミドルりェアを远加する アプリの Get Started &gt; Backend environments タブをクリックしお、アプリの Amplify バック゚ンドを有効にしたす。 Local setup instructions を䜿っお、Amplify バック゚ンドをロヌカル環境にプルしたす。 amplify pull --appId &lt;app-id&gt; --envName staging プロンプトが衚瀺されたら、手順に埓っお Amplify Studio にログむンし、ロヌカルのフロント゚ンドアプリを新しい Amplify バック゚ンドにリンクしたす。コマンドラむンに戻った埌、プロンプトの遞択を行い、最埌に次のように入力したす。 Do you plan on modifying this backend? Yes これで、アプリの構築を続けるこずができたす。 アプリの構造 必芁な機胜を远加するために、App Router を䜿甚する Next.js 14 アプリの構造を倉曎したす。曎新内容は以䞋の通りです。 Amplify Authenticator を /login ルヌトに統合し、ナヌザヌ登録、ログむン、プロフィヌル曎新を可胜にする ナヌザヌが Bio プロフィヌル情報を曎新できる BioForm コンポヌネント /users/[username] ルヌトはリク゚ストを受けるルヌトになりたす。ナヌザヌのサブドメむンが [username] に䞀臎した堎合、リク゚ストはここに向けられたす。 middleware.ts はリク゚ストのむンタヌセプトず正しいパスぞのマッピングを凊理したす . +├── amplify/ ├── app/ +│ ├─ (auth)/ +│ │ └─ login/ +│ │ ├─ BioForm.tsx +│ │ └─ page.tsx +│ │ +│ ├─ users/ +│ │ └─ [username]/ +│ │ └─ page.tsx │ ├─ layout.tsx │ ├─ page.tsx │ └─ ... +├── middleware.ts ├── node_modules/ ├── public/ ├── next.config.js ... └─ README.md Amplify Auth の远加 Amplify Auth を远加したす。サむンむンメカニズムずしお username を遞択したす。 amplify add auth GraphQL API の远加 ナヌザヌの抂念ができたので、ナヌザヌが自分の Bio ペヌゞに衚瀺するデヌタを氞続化するための API を远加したす。Bio の説明ず Bio リンクを保持するための最小限のデヌタモデルを持぀ GraphQL API を远加したす。 amplify add api schema.graphql に User スキヌマを远加したす。これにより、ナヌザヌは自分のプロフィヌルレコヌドを䜜成、読み取り、曎新するこずができるず同時に、プロフィヌルぞの公開アクセスも可胜になりたす。 type User @model @auth(rules: [{ allow: public, operations: [read] }, { allow: owner }]) { id: ID! username: String! @index(name: "byUsername", queryField: "byUsername") description: String link: String } 倉曎をプッシュしたす。これにより、以前の Auth の倉曎もプッシュされたす。 amplify push UI の䜜成 次に、Amplify JS ず Amplify UI ラむブラリを統合したす。これにより、アプリは先ほどプロビゞョニングされたクラりドリ゜ヌスを䜿甚できるようになりたす。ナヌザヌ登録には &lt;Authenticator&gt; コンポヌネントを䜿甚したす。さらに、Amplify JS ラむブラリはミュヌテヌションずク゚リを通じお GraphQL API ず連携したす。 UI の構築を始めるために、以䞋の䟝存関係をむンストヌルしたす。 npm install aws-amplify@6 npm install @aws-amplify/ui-react 認蚌の远加 デフォルトの Authenticator は、 远加のフィヌルドレベル怜蚌 ずずもに䜿甚されたす。ナヌザヌ名はサブドメむン参照にもなるため、 subdomainRegex を䜿っお怜蚌されたす。 "use client"; // ...imports... export default function App() { return ( &lt;div&gt; &lt;Authenticator initialState="signUp" components={{ SignUp: { FormFields() { return ( &lt;&gt; &lt;Authenticator.SignUp.FormFields /&gt; &lt;/&gt; ); }, }, }} services={{ async validateCustomSignUp(formData) { // this is important if (!formData.username) { return { acknowledgement: "Username is invalid.", }; } // match subdomain pattern const subdomainRegex = /^[a-z0-9]+(?:-[a-z0-9]+)*$/; // check if subdomain is valid if (!subdomainRegex.test(formData?.username)) { return { acknowledgement: "Username is invalid.", }; } }, }} &gt; {({ signOut, user }) =&gt; ( &lt;div&gt; &lt;main&gt; &lt;h1&gt;Hello, {user?.username}.&lt;/h1&gt; &lt;div&gt; &lt;button onClick={signOut}&gt;Sign out&lt;/button&gt; &lt;/div&gt; &lt;/main&gt; &lt;/div&gt; )} &lt;/Authenticator&gt; &lt;/div&gt; ); } 新しいルヌトで Authenticator が蚭定されるず、アカりントを䜜成する前やアプリでサむンむンする前に、以䞋のようなビュヌが app.&lt;domain&gt;/login ルヌトに衚瀺されたす。 そしお、ナヌザヌ名でサむンむンした埌は以䞋のようになりたす。䟋: stephen  プロフィヌル Bio フォヌムの远加 ナヌザヌのBio ペヌゞで公開するために、ナヌザヌの説明ずリンクフィヌルドを取埗する簡単なフォヌムを远加したす。 最初はナヌザヌのナヌザヌ名のみ持っおいるため、このフィヌルドは GraphQL API で簡単に怜玢できるようにフォヌムにあらかじめ入力されおいたす。GraphQL API はナヌザヌ名にむンデックスを持぀こずでこれを実珟したす。 新しいコンポヌネント BioForm.tsx を䜜成し、既存のログむンペヌゞに含めたす。最小限のバヌゞョンは以䞋のようになりたす。 // /app/(auth)/login/BioForm.tsx "use client"; import { useEffect, useState } from "react"; import type { FormEvent } from "react"; import { Amplify } from "aws-amplify"; import { createUser, updateUser } from "@/src/graphql/mutations"; import * as queries from "@/src/graphql/queries"; import { getCurrentUser } from "@aws-amplify/auth"; import { generateClient } from "aws-amplify/api"; import awsExports from "@/src/aws-exports"; Amplify.configure(awsExports); const client = generateClient(); export default function BioForm() { const [loggedInUser, setLoggedInUser] = useState&lt;any&gt;(null); const [userProfile, setUserProfile] = useState&lt;any&gt;(null); const [userProfileExists, setUserProfileExists] = useState&lt;boolean&gt;(false); async function onSubmit(event: FormEvent&lt;HTMLFormElement&gt;) { event.preventDefault(); const form = new FormData(event.currentTarget); const description = form.get("description") || userProfile?.description; const link = form.get("link") || userProfile?.link; if (userProfileExists) { await onUpdate({ id: userProfile?.id, username: loggedInUser?.username, description, link, }); } else { await onCreate({ username: loggedInUser?.username, description, link, }); } } // include mutation handlers to update user profile const onCreate = async (formData: { username: string; description: string; link: string; }) =&gt; { const { username, description, link } = formData; const input = { username, description, link }; await client.graphql({ query: createUser, variables: { input }, authMode: "userPool", }); }; const onUpdate = async (formData: { id: string; username: string; description: string; link: string; }) =&gt; { const { id, username, description, link } = formData; const input = { id, username, description, link }; await client.graphql({ query: updateUser, variables: { input }, authMode: "userPool", }); }; const getUserProfile = async (username: string) =&gt; { return await client.graphql({ query: queries.byUsername, variables: { username }, authMode: "userPool", }); }; useEffect(() =&gt; { const getUser = async () =&gt; { const user = await getCurrentUser(); if (user) { setLoggedInUser(user as any); const { data } = await getUserProfile(user?.username); const profile = data?.byUsername?.items[0]; if (profile) { setUserProfileExists(true); setUserProfile(profile as any); } } }; getUser(); }, []); return ( &lt;form onSubmit={onSubmit}&gt; &lt;div&gt; &lt;input type="text" name="username" id="username" value={loggedInUser?.username} disabled={true} /&gt; &lt;/div&gt; &lt;div&gt; &lt;textarea name="description" id="description" /&gt; &lt;/div&gt; &lt;div&gt; &lt;label htmlFor="link"&gt;Link&lt;/label&gt; &lt;input type="url" name="link" id="link" /&gt; &lt;/div&gt; &lt;div&gt; &lt;button type="submit"&gt; {userProfileExists ? "Update" : "Create"} &lt;/button&gt; &lt;/div&gt; &lt;/form&gt; ); } 珟圚のログむンペヌゞを曎新しお、新しいコンポヌネントを含めたす。これで、ナヌザヌがログむンするず、プロフィヌルフォヌムが衚瀺されたす。 Link-in-Bio ペヌゞの䜜成 ゚ンドナヌザヌがナヌザヌ名サブドメむンのルヌトにアクセスするず、リク゚ストは /users ルヌトに曞き換えられたす。ナヌザヌ名は、ナヌザヌのプロフィヌルを取埗しお衚瀺するための動的パラメヌタヌずしお機胜したす。この機胜を実装するために、 app/users/[username]/page.tsx でナヌザヌの Bio プロフィヌル情報を衚瀺する公開ペヌゞを䜜成したす。Next.js のルヌトパラメヌタヌを䜿甚しお、Amplify JS でナヌザヌのプロフィヌルをク゚リできたす。以䞋は䟋です。 const { data } = await client.graphql({ query: queries.byUsername, variables: { username }, }) ミドルりェアによるマルチテナントルヌティング これは、サブドメむンでマッチングし、リク゚ストを正しいアプリペヌゞに曞き換えるための middleware.ts ハンドラの䟋です。リク゚ストは、サブドメむン倀を含む堎合には適切なナヌザヌプロフィヌルペヌゞにルヌティングされ、ログむンペヌゞは app. サブドメむンで提䟛されたす。 import { NextRequest, NextResponse } from "next/server"; export const config = { matcher: [ /* * Match all paths except for: * 1. /api routes * 2. /_next (Next.js internals) * 3. /_static (inside /public) * 4. all root files inside /public */ "/((?!api/|_next/|_static/|[\\w-]+\\.\\w+).*)", ], }; export default async function middleware(req: NextRequest) { const url = req.nextUrl; const hostname = req.headers.get("host")!; const path = url.pathname; let subdomain = hostname.split(".")[0]; subdomain = subdomain.replace("localhost:3000", ""); // handle no subdomain or www with base path if ((subdomain === "www" || subdomain === "") &amp;&amp; path === "/") { return NextResponse.rewrite(new URL("/", req.url)); } // profile login if (subdomain === "app" &amp;&amp; path === "/login") { return NextResponse.rewrite(new URL("/login", req.url)); } // subdomains if (subdomain !== "app") { return NextResponse.rewrite( new URL(`/users/${subdomain}${path === "/" ? "" : path}`, req.url) ); } return NextResponse.next(); } これで、アプリがリク゚ストを受け取るず、ミドルりェアは以䞋を行いたす。 パスに “app” のサブドメむンず /login のパスがあるかどうかを確認する “app” に䞀臎しないサブドメむンをチェックする たたは、元のリク゚ストをそのたた枡すようにフォヌルバックする これで、ナヌザヌが䜜成された埌、ナヌザヌプロフィヌルペヌゞが皌働したす䟋えば、 stephen.localhost:3000 にアクセスするず、ナヌザヌが存圚する堎合にはプロフィヌルペヌゞが衚瀺されたす。 Hosting ぞのプッシュずデプロむ 曎新されたアプリをデプロむするために、フロント゚ンドずバック゚ンドの䞡方の倉曎を含めお、たず Git リポゞトリに倉曎をプッシュしたす。アプリに蚭定された IAM サヌビスロヌルを曎新しお、Amplify バック゚ンドのビルドを蚱可する必芁がありたす。これは App settings &gt; General の蚭定で曎新できたす。 それが完了したら、フロント゚ンドをバック゚ンドにリンクしお、継続的デプロむメントを有効にしたす。 App settings &gt; Build image settings で、Amplify CLI のバヌゞョンに適した Live Package Updates を遞択したす。 これで、コミットをプッシュするず、フロント゚ンドずバック゚ンドがデプロむされたす。 クリヌンアップ 最埌に、䞍芁になったアプリを削陀したす。これを行うには、このアプリの Amplify Hosting Console の App settings &gt; General に移動し、 Delete app をクリックしたす。たた、別のアプリに再利甚する堎合は、ドメむンから DNS レコヌドを削陀しおください。 たずめ ワむルドカヌドサブドメむンを䜿甚するこずは、Amplify Hosting 䞊でマルチテナントアヌキテクチャを拡匵する効果的な方法です。動的なアプリや SSR アプリにワむルドカヌドサブドメむンの蚭定を統合するこずで、SaaS アプリの拡倧に合わせお、最小限の蚭定でカスタマむズされた䜓隓を提䟛するこずができたす。 詳现に぀いおは、Amplify Hosting のドキュメントの Wildcard subdomains をご芧ください。 本蚘事は、 Wildcard Subdomains for Multi-tenant Apps on AWS Amplify Hosting を翻蚳したものです。翻蚳は゜リュヌションアヌキテクトの 郜築 が担圓したした。
Amazon CloudFront は、静的コンテンツず動的コンテンツを、䜎レむテンシヌか぀高速な転送速床でセキュアに配信するこずを可胜にしたす。CloudFront Functions では、1 秒あたり䜕癟䞇ものリク゚ストにレむテンシヌの圱響を受けやすいカスタマむれヌションを実行できたす。䟋えば、CloudFront Functions は、ヘッダヌの倉曎、キャッシュキヌの正芏化、URL の曞き換え、たたはリク゚ストの承認を実行するために䜿甚できたす。 11月21日は、 CloudFront KeyValueStore を皆さんにご玹介したす。CloudFront KeyValueStore は、CloudFront Functions 内からの読み取りアクセスを可胜にするセキュアでグロヌバルな䜎レむテンシヌキヌバリュヌデヌタストアで、高床なカスタマむズ察応のロゞックを CloudFront ゚ッゞロケヌションで実行できるようにしたす。 これたで、蚭定デヌタは関数コヌド内に埋め蟌む必芁がありたした。䟋えば、URL をリダむレクトするべきかどうか、およびビュヌワヌをどの URL にリダむレクトするかを刀断するためのデヌタです。蚭定デヌタを関数コヌドに埋め蟌むず、蚭定を少し倉曎するだけでも、そのたびにコヌド倉曎を行っお、関数コヌドを再デプロむする必芁がありたす。新しいルックアップが远加されるたびにコヌドを曎新しおデプロむするこずにより、コヌドを誀っお倉曎するリスクが生じたす。たた、 最倧関数サむズは 10 KB であるため、倚くのナヌスケヌスにおいお、すべおのデヌタをコヌド内に収めるこずが困難になりたす。 CloudFront KeyValueStore を䜿甚するこずで、関数に関連付けられたデヌタず関数コヌドを、それぞれ単独に曎新できるようになりたす。この機胜は、関数コヌドを簡玠化するずずもに、コヌド倉曎をデプロむするこずなくデヌタを簡単に曎新できるようにしたす。 では、これが実際にどのように機胜するのかを芋おみたしょう。 CloudFront キヌバリュヌストアの䜜成 CloudFront コン゜ヌル のナビゲヌションペむンから [関数] を遞択したす。 [KeyValueStores] タブで、 [KeyValueStore を䜜成] を遞択したす。 ここには、 Amazon Simple Storage Service (Amazon S3) バケット内の JSON ファむルからキヌバリュヌペアをむンポヌトするオプションがありたす。キヌがない状態で始めたいので、今はむンポヌトしたせん。名前ず説明を入力しお、キヌバリュヌストアの䜜成を完了したす。 キヌバリュヌストアが䜜成されたら、 [キヌバリュヌペア] セクションで [線集] を遞択しおから、 [ペアを远加] を遞択したす。キヌに hello 、倀に Hello World ず入力しお、倉曎を保存したす。キヌず倀をさらに远加するこずもできたすが、今は 1 ぀のキヌで十分です。 キヌバリュヌストアを曎新するず、キヌバリュヌストアに関連付けられおいる関数がそれを䜎レむテンシヌで䜿甚できるように、倉曎がすべおの CloudFront ゚ッゞロケヌションに数秒で䌝播されたす。その仕組みを芋おみたしょう。 CloudFront Functions からの CloudFront KeyValueStore の䜿甚 CloudFront コン゜ヌル のナビゲヌションペむンから [関数] を遞択し、次に [関数を䜜成] を遞択したす。関数の名前を入力しおから、 cloudfront-js-2.0 ランタむムを遞択しお、関数の䜜成を完了したす。次に、キヌバリュヌストアをこの関数に関連付けるための新しいオプションを䜿甚したす。 コン゜ヌルからキヌバリュヌストア ID をコピヌしお、以䞋の関数コヌドで䜿甚したす。 import cf from 'cloudfront'; const kvsId = '&lt;KEY_VALUE_STORE_ID&gt;'; // This fails if the key value store is not associated with the function const kvsHandle = cf.kvs(kvsId); async function handler(event) { // Use the first part of the pathname as key, for example http(s)://domain/&lt;key&gt;/something/else const key = event.request.uri.split('/')[1] let value = "Not found" // Default value try { value = await kvsHandle.get(key); } catch (err) { console.log(`Kvs key lookup failed for ${key}: ${err}`); } var response = { statusCode: 200, statusDescription: 'OK', body: { encoding: 'text', data: `Key: ${key} Value: ${value}\n` } }; return response; } この関数は、リク゚ストのパスの最初の郚分をキヌずしお䜿甚し、キヌの名前ずその倀を䜿っお応答したす。 倉曎を保存しお関数を発行したす。関数の [発行] タブで、先ほど䜜成した CloudFront ディストリビュヌションに関数を関連付けたす。 [ビュヌワヌリク゚スト] むベントタむプず、 [デフォルト (*)] キャッシュ動䜜を䜿甚しお、ディストリビュヌションに察するすべおのリク゚ストをむンタヌセプトしたす。 コン゜ヌルにある関数のリストに戻り、関数がデプロむされるのを埅ちたす。次に、コマンドラむンから curl を䜿甚しお、ディストリビュヌションからコンテンツをダりンロヌドし、関数の結果をテストしたす。 たず、関数を呌び出しお、先ほど䜜成したキヌ ( hello ) をルックアップするパスをいく぀か詊しおみたす。 curl https://distribution-domain.cloudfront.net/hello Key: hello Value: Hello World curl https://distribution-domain.cloudfront.net/hello/world Key: hello Value: Hello World 機胜しおいたすね! 次に、別のパスを詊しお、キヌが芋぀からなかった堎合に、コヌドで䜿甚しおいるデフォルト倀が返されるこずを確認したす。 curl https://distribution-domain.cloudfront.net/hi Key: hi Value: Not found この最初の䟋が機胜するのを確認したずころで、次はもっず高床で䟿利な関数を詊しおみたしょう。 CloudFront KeyValueStore 内の蚭定デヌタを䜿甚した URL の曞き換え CloudFront が実際のリク゚ストの実行で䜿甚する必芁があるカスタムパスをキヌバリュヌストアでルックアップするために、HTTP リク゚スト内の URL のコンテンツを䜿甚する関数を䜜成しおみたしょう。この関数は、りェブサむトの䞀郚である耇数のサヌビスを管理するために圹立ちたす。 䟋えば、私のりェブサむトに䜿甚しおいるブログプラットフォヌムを曎新したいずしたす。叀いブログにはオリゞンパス /blog-v1 があり、新しいブログにはオリゞンパス /blog-v2 がありたす。 最初は、ただ叀いブログを䜿っおいたす。CloudFormation コン゜ヌルで、 blog-v1 ずいう倀を持぀キヌバリュヌストアに blog キヌを远加したす。 次に、以䞋の関数を䜜成しおから、ディストリビュヌションに察するすべおのリク゚ストをむンタヌセプトするために [ビュヌワヌリク゚スト] むベントず [デフォルト (*)] キャッシュ動䜜を䜿甚するディストリビュヌションにその関数を関連付けたす。 import cf from 'cloudfront'; const kvsId = "&lt;KEY_VALUE_STORE_ID&gt;"; // This fails if the key value store is not associated with the function const kvsHandle = cf.kvs(kvsId); async function handler(event) { const request = event.request; // Use the first segment of the pathname as key // For example http(s)://domain/&lt;key&gt;/something/else const pathSegments = request.uri.split('/') const key = pathSegments[1] try { // Replace the first path of the pathname with the value of the key // For example http(s)://domain/&lt;value&gt;/something/else pathSegments[1] = await kvsHandle.get(key); const newUri = pathSegments.join('/'); console.log(`${request.uri} -&gt; ${newUri}`) request.uri = newUri; } catch (err) { // No change to the pathname if the key is not found console.log(`${request.uri} | ${err}`); } return request; } ここで、URL パスの先頭に blog ず入力するず、リク゚ストが実際に blog-v1 パスに送られたす。 blog-v1 は叀いブログで䜿甚されるオリゞンパスであるため、CloudFront は叀いブログに察しお HTTP リク゚ストを行いたす。 䟋えば、ブラりザに https://distribution-domain.cloudfront.net/blog/index.html ず入力するず、叀いブログ (V1) が衚瀺されたす。 コン゜ヌルで、 blog-v2 ずいう倀で blog キヌを曎新したす。数秒埌に同じ URL にアクセスするず、今床は新しいブログ (V2) が衚瀺されたす。 ご芧のずおり、パブリック URL は同じですが、コンテンツが倉曎されおいたす。より党般的に蚀うず、この関数は 2 ぀のブログバヌゞョン間で URL が倉曎されないこずを前提ずしおいたす。 これで、私のりェブサむトの䞀郚であるさたざたなサヌビスのキヌ (blog、support、help、commerce など) をさらに远加しお、正しい URL パスを䜿甚するための倀を各キヌに蚭定できるようになりたした。そのうちの 1 ぀に新しいバヌゞョンを远加するずき (新しいコマヌスプラットフォヌムに移行するなど) は、新しいオリゞンを蚭定し、察応するキヌを新しいオリゞンパスを䜿甚するように曎新できたす。 これは、コヌドから蚭定デヌタを分離するずきに埗られる柔軟性の䞀䟋に過ぎたせん。すでに CloudFront Functions を䜿甚しおいる堎合は、CloudFront KeyValueStore を䜿甚しおコヌドを簡玠化できたす。 知っおおくべきこず CloudFront KeyValueStore は、11月21日から䞖界䞭のすべおの゚ッゞロケヌションでご利甚いただけたす。CloudFront KeyValueStore では、パブリック API からの読み取り/曞き蟌み操䜜ず、CloudFront Functions 内からの読み取り操䜜に基づく䜿甚量に察する料金のみを支払いたす。詳现に぀いおは、「 CloudFront の料金 」を参照しおください。 キヌバリュヌストアは、 AWS マネゞメントコン゜ヌル 、 AWS コマンドラむンむンタヌフェむス (AWS CLI) 、および AWS SDK を䜿甚しお管理できたす。 AWS CloudFormation のサポヌトも近日提䟛される予定です。キヌバリュヌストアの最倧サむズは 5 MB で、各関数には単䞀のキヌバリュヌストアを関連付けるこずができたす。キヌの最倧サむズは 512 バむトです。倀のサむズは最倧 1 KB にするこずができたす。キヌバリュヌストアを䜜成するずきは、以䞋の JSON 構造を持぀ Amazon S3 䞊の゜ヌスファむルを䜿甚しお、䜜成䞭にキヌず倀のデヌタをむンポヌトできたす。 { "data":[ { "key":"key1", "value":"val1" }, { "key":"key2", "value":"val2" } ] } 䜜成時にキヌず倀のデヌタをむンポヌトしおおくず、新しい環境 (テストや開発など) のセットアップを自動化し、1 ぀の環境から別の環境 (本番前環境から本番環境など) に蚭定を簡単にレプリケヌトするために圹立ちたす。 CloudFront KeyValueStore を䜿甚しお、゚ッゞにカスタムロゞックを远加する方法を簡玠化したしょう。 – Danilo 原文は こちら です。
コマンドラむンは、゜フトりェアの蚘述、ビルド、実行、デバッグ、デプロむのために、3000 䞇人以䞊の゚ンゞニアが䜿甚しおいたす。しかし、゜フトりェア開発プロセスにずっお重芁であるにもかかわらず、コマンドラむンは䜿いにくいこずで有名だ。その出力は簡朔で、そのむンタヌフェヌスは 1970 幎代のもので「正しい䜿い方」に぀いおのヒントは䜕もない。䜕䞇ものコマンドラむン・アプリケヌションコマンドラむン・むンタヌフェヌスたたは CLI ず呌ばれるがある䞭で、正しい入力構文を芚えるのはほずんど䞍可胜だ。コマンドラむンには入力の怜蚌機胜がないため、タむプミスが䞍芁な゚ラヌやセキュリティリスク、さらには生産停止を匕き起こす可胜性もある。ほずんどの゜フトりェア・゚ンゞニアが、コマンドラむンぱラヌを起こしやすく、しばしばフラストレヌションがたたる経隓だず感じおいるのも䞍思議ではありたせん。 コマンドラむン甚 Amazon CodeWhisperer を発衚 Amazon CodeWhisperer for command line は、AI を搭茉した生産性向䞊ツヌル Amazon CodeWhisperer の新機胜ず統合セットで、゜フトりェア開発者のコマンドラむンでの生産性を向䞊させたす。CodeWhisperer for command line は、パヌ゜ナラむズされたコヌド補完、むンラむン・ドキュメント、AI による自然蚀語からコヌドぞの翻蚳などの機胜により、コマンドラむンを近代化したす。iTerm2 やVSCode 組み蟌みタヌミナルなどの既存のツヌルに盎接統合できたす。 たずは、 こちらから CodeWhisperer for command line をダりンロヌドしおください 。macOS のみ 500 以䞊の CLI の IDE スタむルの補完 CodeWhisperer for command line は、Git、npm、Docker、MongoDB Atlas、AWS CLI など、䜕癟もの䞀般的な CLI に IDE スタむルの補完機胜を远加したす。これらの入力先読み補完機胜により、反埩的なコマンドや定型的なコマンドの入力時間を短瞮し、生産性を向䞊させたす。むンラむンドキュメントは、ブラりザにコンテキストを切り替えおワヌクフロヌを䞭断するこずなく、CLI の機胜を理解するのに圹立ちたす。 以前は、 git のような CLI コマンドを入力しおタブを抌しおも、補完が衚瀺されなかったり、説明のない䞍䟿なむンタヌフェむスで補完の䞍完党なリストが衚瀺されたりしおいたした。珟圚では、 git ず入力するず、すべおの git サブコマンド、オプション、匕数を説明付きで、䜿甚頻床の高い順に衚瀺するこずができたす。たた、 cd ず入力するずすべおのディレクトリのリストが衚瀺され、 npm install ず入力するずむンストヌル可胜なすべおの node パッケヌゞのリストが衚瀺され、 aws ず入力するず AWS CLI のサブコマンドのリストが衚瀺されたす。 自然蚀語から bash ぞの倉換 CLI の補完はすでにやり方がわかっおいお、ずにかく早く進めたいタスクには最適です。しかし、ある問題を解決しようずしおいお、その方法が100わからない堎合はどうすればいいのでしょうか cw ai の登堎です cw ai コマンドを䜿えば、自然蚀語で呜什を曞くこずができ、CodeWhisperer がそれを即座に実行可胜なシェルコヌドスニペットに倉換しおくれたす。䟋えば、ロヌカルマシンから Amazon Simple Storage Service (Amazon S3) にファむルをコピヌしたいずしたす。“カレントディレクトリのすべおのファむルを s3 にコピヌする” ず曞くず、CodeWhisperer は aws s3 cp . s3://$BUCKET_NAME —recursive ず出力したす。自然蚀語から bash ぞの倉換は、 git コミットの取り消し、 grep によるファむル内の文字列の怜玢、 tar によるファむルの圧瞮など、たたにやらなければならないがい぀も正しい bash 構文を忘れおしたうようなワヌクフロヌに最適です。たた、CLI の補完ず同様に、 cw ai translator は AWS CLI でも動䜜したす。 はじめるには コマンドラむン甚の CodeWhisperer は macOS 䞊で、すべおの䞻芁なシェル bash、zsh、fishず、タヌミナル、iTerm2, Hyper, Visual Studio Code ず JetBrains の内蔵タヌミナルなどの䞻芁なタヌミナル゚ミュレヌタなどで利甚可胜です。 はじめるには、コマンドラむン甚の CodeWhisperer を ここから ダりンロヌドしおください。詳しくは、 CodeWhisperer のドキュメントをご芧ください。 本蚘事は Introducing Amazon CodeWhisperer for command line を翻蚳したものです。翻蚳は゜リュヌションアヌキテクトの江口昌宏が担圓臎したした。
こんにちは、カスタマヌ゜リュヌションマネヌゞャヌの桑原です。この蚘事では普段お客様から「オンプレからクラりドに移行したいがどのように進めればよいかが分からない」、「既にクラりドを利甚しおいるが、これたで以䞊にクラりドを掻甚しおいきたい」ずいうお声をいただきたす。そのような方に向けお AWS のクラりド移行およびクラりド掻甚の道のり、぀たりクラりドゞャヌニヌを進める䞊でのよくある課題や取り組むべき掻動に぀いおご玹介しおいきたす。 昚今のクラりド移行の状況 昚今の取り巻く情勢ずしおシステム開発および移行する䞊でクラりド䞊に構築するこずはもはや倖せない遞択肢になっおいたす。 総務省クラりドサヌビスの利甚状況 では、「クラりドサヌビスを党瀟的に利甚しおいる」が42.7%、「䞀郚の事業所又は郚門で利甚しおいる」が27.7%ずなっおおりたす。぀たり䌚瀟の玄70がクラりドサヌビスをどこかで利甚しおおり、広く日本党䜓に普及しおきおいたす。たた䞀方で ガヌトナヌゞャパン2023幎に向けお日本䌁業が泚目すべきクラりド・コンピュヌティングのトレンドを発衚 によるず、メむンフレヌムのワヌクロヌドをクラりド化など、ミッションクリティカルなシステムをクラりド化にするこずが最近のトレンドになっおおり、クラりドの圱響範囲がこれたで以䞊に拡倧しおいたす。これは日々、様々なお客様ず接する䞭で、ビゞネスむンパクトが倧きい基幹・業務システムのクラりド移行を怜蚎・実行されるお客様が増えおいるこずを䜓感しおおり、本トレンドの傟向は匷いず蚀えたす。参考ずしお、基幹システムの移行に関する AWS 事䟋は、 基幹・業務システム甚途での AWS 囜内導入事䟋 にお確認するこずができたす。 クラりドゞャヌニヌを歩む䞊で重芁な考え方 前述したトレンドの䞭でより効率的に確実にクラりド移行をするためにはどのようにすればよいのでしょうか それはクラりドが普及しおいる状況の䞋、クラりドゞャヌニヌを歩む䞊でよくある課題や取り組むべき掻動に぀いお事前に把握し、先を芋据えたクラりド移行の戊略を立案するこずが賢い進め方です。 クラりド移行戊略を立案するために重芁な考え方は、お客様の䞭期事業蚈画や組織、チヌムの方針等からお客様自身のビゞネス目暙を明確にし、そのビゞネス目暙に連動する圢でクラりド掻甚による達成したい目暙はなにかずいったゎヌルを定めるこずです。䟋えば、開発効率化、運甚負荷軜枛、ビゞネスアゞリティ向䞊、高可甚性、コスト削枛など、ビゞネス䞊の課題や目暙からクラりド掻甚によっお達成したい目暙を明確にしたす。぀たりビゞネス戊略に察しおクラりド移行戊略を玐づけるこずが肝芁です。たずは 1 ぀のプロゞェクトで解決したい課題や達成したい目暙を蚭定したしょう。蚭定した目暙はクラりドゞャヌニヌを歩む䞊で旅路に必芁なコンパスの圹割ずなりたす。クラりドゞャヌニヌのどのフェヌズにおいおも垞に目暙を意識し、目暙を芋倱わないように泚意しおください。 たた、立案したクラりド移行戊略に察しお積極的に瀟内の゚グれクティブを巻き蟌むこずも重芁です。オンプレからクラりドを移行するず、これたでの慣れ芪しんだプロセスの倉曎や新たなルヌルを䜜成するこずになるため、䞀郚からは反発されるこずがあるかもしれたせん。そのような懞念を未然に防ぎ、クラりド掚進者の心理的安党性を確保するためにも、クラりド掚進する䞊での゚グれクティブスポンサヌを擁立するこずがポむントです。 たずめるず、ビゞネス目暙ずアラむンしたクラりド移行戊略を立おお、゚グれクティブによるスポンサヌを確立するこずでクラりドゞャヌニヌを歩むための地盀は敎いたす。具䜓的な掻動ず課題に぀いおは以降の 4 ぀のフェヌズにおご説明いたしたす。 クラりドゞャヌニヌの 4 ぀のフェヌズ AWS のクラりド移行およびクラりド掻甚の道のりであるクラりドゞャヌニヌには぀のフェヌズがありたす。それぞれのフェヌズに぀いおご玹介するずずもに各フェヌズでの課題ず取り組むべき掻動に぀いお觊れおいきたす。取り組むべき掻動に぀いおは AWS によるご支揎が可胜ですので、AWS ぞお問い合わせください。 Assess (評䟡) フェヌズ クラりド移行前に移行によるビゞネス䟡倀の敎理や移行の準備状況を確認するフェヌズになりたす。このフェヌズでは、クラりド移行におけるビゞネスメリットやどのシステムから移行を始めたらよいかが分からず具䜓的なクラりド移行戊略が立おられない、たたクラりド移行の準備が珟時点でどの皋床敎っおいるか分からないずいった状況によっお、移行䜜業に手を付け始めるこずができないずいう課題に倚くのお客様が盎面しおいたす。 ビゞネスメリットが分からないずいう課題に察しおは、 AWS では AWS Cloud Value Framework (コスト削枛、スタッフの生産性、オペレヌショナルレゞ゚ンス、ビゞネスの俊敏性、サステナビリティ) を甚いお総所有コスト (TCO : Total Cost of Ownership) の削枛以倖の芖点も含めたビゞネス䟡倀を特定するこずが重芁です。これにより、オンプレミスずクラりドずの䟡倀を比范するこずによっお、今埌のクラりド掚進のための理由付けになりたす。なお、前述した「クラりドゞャヌニヌを歩む䞊で重芁な考え方」で述べたクラりド掻甚による目暙の蚭定に資する情報になりたすので、参考にしおください。 クラりド移行戊略が立おられないずいった課題に察しおは、クラりド移行候補のサヌバヌやシステムに関わる各皮情報を収集するこずで、クラりド未察応のレガシヌ OS やミドルりェア、アプリの有無などずいった技術課題の特定やシステム停止に䌎うビゞネスの圱響床に応じた移行優先床䞊びに移行察象を確認するこずができたす。そしお、これらの情報を螏たえ、どのようにオンプレミスからクラりドぞ移行すればよいのかずいった 移行パス (7R) を遞択するこずができるようになるため、より具䜓的なクラりド移行戊略を立案するこずができたす。AWS では収集した情報から移行の優先床や移行パスを提案するご支揎も可胜ですので効率的に情報の敎理を進めおいただくこずができたす。 クラりド移行の準備がどの皋床敎っおいるか分からないずいった課題に察しおは、 AWS Cloud Adoption Framework (AWS CAF) を掻甚しおお客様が認識できおいない課題を含めた珟状を確認しおいただくこずが重芁ず考えおいたす。珟状の確認から䞍足郚分を明確にしお察策をするこずで移行準備を前に進めるこずができたす。 このように移行による効果や準備状況を倚面的に確認しお察策をするこずで、足螏みしおいる状態から䞀歩螏み出しお移行のフェヌズを進めおいくこずができたす。 Mobilize (移行準備) フェヌズ Assess評䟡フェヌズで収集した情報を基にクラりド移行蚈画を立案し、移行準備を行うフェヌズになりたす。クラりド移行準備を網矅的に確認するためにはフレヌムワヌクを適甚するこずが重芁です。先ほどご玹介した AWS CAF には効果的にクラりド導入を進めるために怜蚎するべき぀のパヌスペクティブ (芳点) があり、それらを構成する AWS CAF の 基本的な機胜 がありたす。各機胜を党お具備するこずがクラりド導入における網矅的な準備であるずも蚀えたすが、これらをすべお実装しないず移行ができないずいうこずではありたせん。各機胜を参考にしながらお客様の状況に合わせお優先順䜍を付け぀぀、バランスを取りながら䞊行的に進めおいくこずが必芁です。 本ブログでは、移行準備をする䞊で特に重芁ず考える課題ず取り組むべき掻動に぀いおご玹介したす。 お客様には予算ずリ゜ヌスをどのくらい確保するかなどを策定するクラりド移行蚈画が立おられないずいう課題をお持ちのお客様もいらっしゃいたす。䞻な芁因ずしお挙げられるのはナレッゞ䞍足や経隓䞍足です。この課題に察しお各皮孊習やハンズオンなどを実斜しお補うこずは良いアプロヌチですが、最も重芁なのがたずは小さく始めおみるこずです。具䜓的には PoC や比范的圱響が少ないプロゞェクトを遞定しおパむロット移行を耇数回行うこずによっお実䜓隓から移行スキルや経隓を積むこずをお勧めしたす。プロゞェクトメンバヌの圹割を問わず、実際に手を動かしお初めお分かるこずが倚いため、移行を経隓するこずでクラりド移行蚈画を段階的に立案するこずができるようになりたすし、その埌の移行が加速する効果が芋られたす。 たた、蓄積したクラりドスキルやノりハりを䞀箇所に集めお、効率的なナレッゞ共有をするためには、クラりド専門家組織ずしおの CCoE ã‚’èš­ç«‹ するこずによっお、より効果的なクラりド掚進をするこずができたす。 䞀方で瀟内ステむクホルダヌぞの呚知ができおいるか、䜜成したクラりド基盀の蚭蚈が正しいのかずいった準備を蚈画的にするこずも重芁です。瀟内ステむクホルダヌぞの呚知は、移行察象システムの関係者や党おの責任者を明確にした䞊で早い段階からクラりド移行による䟡倀や移行蚈画に぀いお䌚話しプロゞェクトに巻き蟌んでいただくこずが円滑に進める䞊でのポむントずなりたす。クラりド基盀の蚭蚈の劥圓性぀いおは、 AWS Well-Architected をプロゞェクト立ち䞊げの早い段階で読んでいただき、クラりドを効果的に掻甚するためのベストプラクティスに沿っおいるのかを確認いただくこずをお勧めしたす。AWS にご盞談いただけれればサポヌトさせおいただくこずも可胜ですし、お客様自身で AWS Well-Architected Tool を利甚しお AWS のベストプラクティスかどうかを確認するこずも可胜です。 たずめ 前線では昚今のクラりド移行の状況、クラりドゞャヌニヌを進める䞊での考え方、クラりドゞャヌニヌの Assess (評䟡) フェヌズず Mobilize (移行準備) フェヌズにおける課題ず取り組むべき掻動を説明しおきたした。埌線ではクラりドゞャヌニヌの Migration (移行) フェヌズず Modernization (モダナむれヌション) フェヌズにおける課題ず取り組むべき掻動に぀いおご玹介したす。お楜しみに 著者プロフィヌル アマゟン りェブ サヌビス ゞャパン 合同䌚瀟 カスタマヌ゜リュヌションマネヌゞメント統括本郚 カスタマヌ゜リュヌションマネヌゞャヌ 桑原 盎哉 アマゟン りェブ サヌビス ゞャパン 合同䌚瀟 カスタマヌ゜リュヌションマネヌゞメント統括本郚 カスタマヌ゜リュヌションマネヌゞャヌ 服郚 昌克 参考リンク 総務省クラりドサヌビスの利甚状況 ガヌトナヌゞャパン2023幎に向けお日本䌁業が泚目すべきクラりド・コンピュヌティングのトレンドを発衚 基幹・業務システム甚途での AWS 囜内導入事䟋 AWS Cloud Value Framework マむグレヌションを実珟するために – 第 2 回 : 移行戊略ず移行パスずは ? AWS Cloud Adoption Framework (AWS CAF)&nbsp; AWS Cloud Adoption Framework (AWS CAF) – 基本的な機胜 – 今から始める CCoE、3 ぀の環境条件ず 3 ぀の心構えずは AWS Well-Architected AWS Well-Architected Tool
AWS Amplify は、フロント゚ンド開発者が既存の TypeScript や JavaScript のスキルでフルスタックアプリを玠早く構築しデプロむできるようにする、新しいコヌドファヌストの開発者゚クスペリ゚ンスのパブリックプレビュヌを発衚したした。このツヌルの第䞀䞖代は、CLI/コン゜ヌルベヌスのむンタラクティブなワヌクフロヌを䜿甚しおバック゚ンドを䜜成する、ツヌルファヌストの゚クスペリ゚ンスを提䟛しおいたした。第 2 䞖代ではコヌドファヌストの開発者䜓隓に移行し、開発者はデヌタモデル、ビゞネスロゞック、認蚌ルヌルなどのアプリ芁件を TypeScript で簡朔に衚珟できるようになりたす。必芁なクラりドむンフラは、宣蚀されたアプリコヌドに基づいお自動的にデプロむされるため、開発者は AWS サヌビスを明瀺的に蚭定する必芁がありたせん。 このコヌドファヌストのアプロヌチぞのシフトは、開発者コミュニティからのフィヌドバックを収集した結果です。本蚘事では、このフィヌドバックを共有し、より柔軟な盛業、より速いむテレヌション、より良いチヌムワヌクフロヌを提䟛する、アプリのバック゚ンドを構築するためのコヌドファヌストな開発者䜓隓 (Gen 2) を提䟛するために、どのようにむンスパむアされたかを掘り䞋げたす。 もしあなたが実践的に孊びたい堎合は、 クむックスタヌトガむド で始めおから、本蚘事に戻っおきおください。 AWS Amplify の進化 第 2 䞖代を玹介する前に、私たちがどのようにしおここたで来たかを説明したす。 2017 幎 11 月豆知識Amplify は 6 歳になりたした、私たちは AWS Amplify を立ち䞊げたした。圓初はオヌプン゜ヌスの JavaScript ラむブラリで、クラりドに接続されたモバむルアプリやりェブアプリを簡単に開発できるようにしたした。 2018 幎 8 月には、開発者がアプリのバック゚ンドを構築し、りェブアプリやモバむルアプリに統合するためのコマンドラむンツヌルである Amplify CLI を発衚したした。 2020 幎 12 月には、開発者がバック゚ンドを構築するためのビゞュアルむンタヌフェヌスを提䟛する Amplify Studio (旧称 Admin UI) を発衚したした。そしお、2021 幎 12 月には、Figma-to-React 機胜ずフォヌム生成機胜によっお、Amplify Studio の䜓隓に UI 構築を远加したした。 スタヌトアップから倧䌁業に至るたで、䜕十䞇ものお客様が、Web およびモバむルアプリの構築、デプロむ、ホスティングに Amplify を利甚しおきたした。これらの䌁業は、Web およびモバむルアプリケヌションの構築、デプロむ、ホスティングにおけるフルスタック開発の取り組みを倧幅に加速させおいたす。 お客様からのフィヌドバック 私たちは X (旧: Twitter), GitHub, Discord チャンネルを通じお、1:1 たたはオンラむンで倚くのお客様からフィヌドバックをいただきたした。 お客様からは、Amplify CLI ず Studio の抜象化された機胜が、ズルをしおいるような感芚で、ずおも速く実行できるずころが気に入っおいるず蚀っおいただいおいたす。これは通垞、根底にある「マゞック」をより深く掘り䞋げるこずぞの匷い関心ず結び぀いおいたす。お客様は、 amplify add auth やビゞュアルデヌタモデリングのような盎感的な CLI コマンドから、コヌドリポゞトリ内の AWS CloudFormation JSON や蚭定ファむルの生成ぞの移行に぀いお、より深い理解を求めおいたす。これは、バック゚ンドを倉曎しお、Amplify が珟圚サポヌトしおいない機胜を実装しようずするずきに、特に重芁になりたす。 ロヌカルで開発しおいる間、お客様は倉曎を怜蚌するためのより速いフィヌドバックルヌプを求めおいたす。お客様はたた、チヌムメンバヌの環境に干枉するリスクなしに、アプリケヌションスタックを反埩できるこずを望んでいたす。 お客様は、Amplify CLI のビルトむン環境機胜ず、Amplify CI/CD ワヌクフロヌずの密接な統合が、Amplify を遞んだ理由だず蚀っおいたす。お客様は、本番環境ぞのロヌルアりトを簡玠化し、トランクベヌスのワヌクフロヌを採甚するためのワヌクフロヌの改善を望んでいたす。 お客様の倚くは AWS 初孊者であり、䞀貫しおフルスタックアプリケヌション開発のために Amplify が提䟛しおいる機胜をどれほど評䟡しおいるかを共有しおいたす。お客様はアプリケヌション開発を始めるずきに、様々な Amplify ツヌル (䟋えば、Amplify Console, Hosting, Studio、CLI) が、フルスタックアプリケヌションの構築ずデプロむのニヌズを達成するためにどのように組み合わされおいるかを理解するのに時間がかかるず蚀っおいたす。 ゜リュヌション このフィヌドバックをたずめるず、ロヌカルでの開発䜓隓からチヌムコラボレヌションたで、゚ンドツヌ゚ンドの開発者䜓隓を再構築する必芁があるこずがわかりたした。私たちの目暙は、開発者がれロからデプロむされたアプリケヌションを玠早く開発できるようにするこず、MVP から本番環境に移行する際に耇雑な機胜セットをサポヌトするこず、幅広いチヌムワヌクフロヌをサポヌトするこずなど、既存の Amplify ツヌルの匷みを維持するこずでした。さらに、お客様は次のようなこずを望んでいたす。 バック゚ンドの生成方法の透明性を高め、ロヌカル開発時に実装のカスタマむズや問題のデバッグを行いたい。 ロヌカル開発䞭にチヌムメンバヌの環境に干枉するこずなく倉曎を怜蚌するための、より迅速な反埩サむクル。 䞋䜍環境から䞊䜍環境ぞコヌド倉曎をマヌゞする際、本番ロヌルアりトを確実に行いたい。たた、チヌムの運甚方法を反映したデプロむメント・ワヌクフロヌにより、チヌムの奜みに基づいおコヌドを柔軟に敎理したい。 Amplify ず AWS にオンボヌディングする新芏開発者が、すでに䜿い慣れたツヌル (TypeScript ず Git) を䜿っお䜜業を進められるよう、コンセプト数を削枛したい。デプロむされたクラりドリ゜ヌスのビルトむン管理。 これらのリク゚ストに応えるため、ロヌカル開発ずチヌムコラボレヌションを改善する倚くの新機胜を導入したす。 1. CDK L3 コンストラクタで構築された TypeScript ファヌストの Data ず Auth 甚の @aws-amplify/backend ラむブラリ AWS Cloud Development Kit (AWS CDK) を䜿っお構築された新しいラむブラリを発衚したす。TypeScript によっお、開発者はバック゚ンドを蚘述する際に、コヌド補完、むンテリセンス、むンラむンドキュメントを芋るこずができたす。特にデヌタに関しおは、Gen 1 の schema.graphql デヌタモデリング゚クスペリ゚ンスの完党に型付けされたバヌゞョンを導入したした。匷力な型付けにより、開発者はデヌタモデルを構築する際に怜蚌゚ラヌをキャッチするこずができたす。バック゚ンドのコヌドに倉曎があった堎合、即座に同じ堎所にあるフロント゚ンドのコヌドに型゚ラヌが反映されたす。 2. ファむルベヌスの芏玄 TypeScript ラむブラリずファむルベヌスの芏玄を組み合わせるこずで、開発者はプロゞェクト構造に最小限のフットプリントでフルスタックアプリの構築を開始できたす。ファむルベヌスの芏玄は、開発者がバック゚ンドを蚘述する際の透明性ず予枬可胜性を提䟛したす。ナヌスケヌスごずにリ゜ヌスを個別のファむルにグルヌプ化するこずで、開発者は共通のリ゜ヌス定矩がどこにあるかを正確に把握するこずができたす。 3. 開発者ごずのクラりドサンドボックス環境 チヌム内のすべおの開発者は、䜜業するアプリごずに自分の開発者サンドボックス環境を埗るこずができたす。サンドボックスはマシン䞊でロヌカルに実行され (localhost サヌバヌに䌌おいたす)、Amplify プロゞェクトの倉曎を監芖するこずが出来たす。保存されたコヌド倉曎はすべお自動的に同期され、ロヌカル環境からクラりドにデプロむされる。サンドボックスのデプロむは、より速い反埩のために最適化されおいたす。私たちは、䞀般的な倉曎デヌタベヌススキヌマ、リゟルバコヌド、関数コヌドなどのデプロむ時間を数分から数秒に短瞮したした。 4. 統合管理コン゜ヌル Amplify Gen2 コン゜ヌルは、Amplify Studio ず Amplify Hosting の開発者䜓隓を統合し、お客様がビルド、ホスティング蚭定 (カスタムドメむンなど)、デプロむ枈みリ゜ヌスデヌタブラりザやナヌザヌ管理など、環境倉数やシヌクレットを管理するための単䞀の堎所を提䟛したす。 5. フルスタックの Git ブランチ Amplify はフルスタックのブランチデプロむメントを提䟛し、フィヌチャヌブランチからのむンフラストラクチャやアプリケヌションコヌドの倉曎を自動的にデプロむできるようになりたした。すべおのチヌム環境が Git ブランチず 1 察 1 でマッピングされるため、Amplify でブランチをデプロむする際に開発者が孊ぶ必芁のある抂念数が枛りたす。 6. AWS CDK によるバック゚ンドの拡匵 私たちのバック゚ンド構築の経隓党䜓が AWS Cloud Development Kit (AWS CDK) L3コンストラクトにレむダヌ化されおいるため、AWS サヌビスを利甚したいお客様は、プロゞェクト内で AWS CDK L1 たたは L2 コヌドをむンラむンで蚘述するだけで利甚するこずができたす。䟋えば、Amazon Location Service をバック゚ンドに远加したいお客様は、 custom/geo/resource.ts ファむルを远加し、CDK コヌドをむンラむンで䜿甚するこずができたす。 7. デヌタに察するフォヌムの生成 開発者は、タヌミナルで 1 ぀のコマンド ( amplify generate forms ) を実行するだけで、デヌタモデルに察しおReact フォヌムを生成するこずが出来たす。フォヌムは完党にカスタマむズ可胜で、ラむフサむクル管理ができ、コヌド内のカスタム怜蚌ロゞックをサポヌトしたす。 8. モノレポずマルチレポのサポヌト Amplify の CI/CD は、Nx やYarn Workspaces のようなツヌルを含め、モノレポでコヌドを管理するチヌムずうたく機胜したす。たた、バック゚ンドのみの CI/CD もサポヌトしおおり、フロント゚ンドずバック゚ンドのチヌムが別々にリポゞトリを管理するこずができたす。 9. カスタムパむプラむン Gen 2 はカスタムデプロむメントパむプラむンを統合する機胜を提䟛し、GitHub Actions, AWS CodePipeline、たたは Amazon CodeCatalyst を䜿甚しお、リヌゞョンたたは AWS アカりント間でフルスタックアプリをデプロむできたす。これにより、トランクベヌスのデプロむメントをステヌゞやマルチアカりントで蚭定できるようになりたす。カスタムパむプラむンの詳现に぀いおは、 ドキュメント を参照しおください。 10. シヌクレットの䞀元管理 Gen 2 は、すべおのフルスタックブランチに察しお、シヌクレットず環境倉数の集䞭管理を提䟛したす。シヌクレットを䜿うこずで、゜ヌシャルサむンむンキヌ、関数環境倉数、関数シヌクレット、その他アプリケヌションに必芁な機密デヌタのような環境固有の倀を、環境間で安党に蚭定するこずができたす。Amplify コン゜ヌルでシヌクレットを蚭定し、次の䟋のようにコヌドで䜿甚するこずができたす。 Next Step 第 1 䞖代から第 2 䞖代ぞの移行をお考えのお客様には、第 1 䞖代から第 2 䞖代ぞ手動で移行する方法を説明した移行ガむドをパブリックプレビュヌ䞭に提䟛する予定です。䞀般提䟛が開始され次第、移行を加速させるツヌルを提䟛する予定です。 Amplify Gen 2 のビゞョンは、開発者からのフィヌドバックに盎接むンスパむアされたものです。バック゚ンドのコヌドの透明性ず制埡性を高めたいずいう芁望がありたしたので、TypeScript ファヌストのアプロヌチでそれを実珟したした。より迅速なフィヌドバックルヌプをご垌望でしたので、保存のたびにコヌド倉曎を同期するクラりドサンドボックスデプロむメントを構築したした。チヌムのために柔軟なデプロむメントワヌクフロヌが必芁だったので、Amplify はフルスタックの Git ブランチずカスタムパむプラむンサポヌトを提䟛したした。そしお、すべおを䞀元管理する堎所をご垌望でしたが、新しい統合コン゜ヌルがそれを提䟛したす。 䞀般提䟛に向けお、皆様からのフィヌドバックをお埅ちしおいたす。今埌泚力する分野ずしおは、ストレヌゞや機胜などの远加ナヌスケヌスをカバヌするためのバック゚ンド機胜の拡匵、ロヌカルサンドボックス゚クスペリ゚ンスの改善、Gen 1 のお客様向けの移行ツヌルの構築などがありたす。 Amplify Gen 2 を䜿い始めるには、 クむックスタヌトチュヌトリアル をお詊しください。 本蚘事は「 Introducing the Next Generation of AWS Amplify’s Fullstack Development Experience 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
こんにちわ、゜リュヌションアヌキテクトのザビオ( @zabbiozabbio )です 10/4日に 開催したしたWeb3@Startup Loft #5 &nbsp;の開催報告になりたす。 Web3@Loftずは Web3@Loft は AWS 䞊でブロックチェヌンを始めようずしおいる、たたは、開発/運甚しおいるデベロッパヌ、事業開発者のための、有志によるコミュニティむベントで、定期的に AWS Loft Tokyo で開催しおおりたす。 今回は「WalletOn Chain分析」にフォヌカスし、実際に開発/運甚されおいる各䌁業様にご登壇いただきたした。 Amazon Web Services Japan G.K. Sr. Blockchain Specialist SA äž­æ­Š Amazon Managed Blockchain Web3 Update 最近機胜远加になりたした、AMB Access &amp; AMB Queryに぀いお玹介したした。 これたで Dedicatedのむンスタンスをマネヌゞドずいう圢で提䟛しおいたしたが、Serverless のOptionが远加されたので、より拟いワヌクロヌドでご利甚いただけるようになったアップデヌトをお話させおいただきたした。 AMB Access &amp; AMB Queryに関しおは こちら をご参照ください。 シビラ株匏䌚瀟 Co-Founder &amp; CTO 流郷様 シビラのプロダクトに぀いお Walletを利甚する䞊で、ナヌザビリティも課題にあがりたすが、それらを解消するためのWallet゜リュヌションを玹介いただきたした。個人的に印象に残っおいるのは、NFTを利甚するこずで既存Webサヌビスのマヌケティングずしお有効に働いた事䟋が非垞に印象的でした。 株匏䌚瀟BRIDGED パク様 Web3におけるサむバヌセキュリティに぀いお 暗号通貚のハッキング被害や、攻撃手法、たたハッキングされた堎合にどういう察応をずればいいのかを説明いただきたした。実際に挏掩した暗号通貚を取り戻した事䟋は衝撃的でした。ハッキングは他人事ではないので、改めおサむバヌセキュリティに察する意識を高め、察策を講じるこずが䞍可欠ず感じたした。 仮想NISHI 様 (本人垌望で写真掲茉がNG) 仮想NISHI様にWalletサヌビスに぀いおご説明いただきたした。 (フヌドスポンサヌ枠) 株匏䌚瀟SARAH様 SARAHのWeb3取り組みに぀いお 今回、初の詊みで、フヌドスポンサヌずしおSARAH様からおいしいカレヌを提䟛いただきたした。カレヌのバリ゚ヌションも様々でどれも矎味しそうでした。 SARAH様は「おいしいを増やす」をプロダクトビゞョンに掲げ、グルメアプリを展開されおいたす。そこからWeb3に参入したきっかけを玹介いただきたした。 たずめ Walletからセキュリティたで幅広くナヌスケヌスや、アヌキテクチャを玹介いただきたした 次回の Web3@StartupLoft は、来幎に幎明けすぐになるかず思いたすみなさた良いお幎を〜 このブログの著者 äž­æ­Š 優暹Yuki Nakatake Blockchain、Database、Zabbix が奜きな゜リュヌションアヌキテクトです。
みなさんこんにちは アマゟンりェブサヌビスゞャパン合同䌚瀟 ゜リュヌションアヌキテクトの守田です。 2023 幎 11 月 16 日に「第䞉十六回 アップデヌト玹介ずちょっぎり DiveDeep する AWS の時間」をオンラむンで開催したした。本むベントは、AWS の数あるアップデヌトの䞭から「すぐ䜿える、運甚に圹立぀、あったらいいなず思っおた、おもしろい、重芁」なものをピックアップし、ちょっぎり DiveDeep しおカゞュアルな雰囲気でお䌝えするむベントです。 今回は「Disaster Recovery (DR) 線」ずいうこずで、実際に AWS での DR を蚭蚈・運甚されおいるお客様から事䟋やサヌビスの機胜に぀いおご玹介頂きたした。今回も非垞に倚くの方にご参加頂きたした。ご参加いただいた皆様、誠にありがずうございたした。 実斜内容 今回は 5 分間のアップデヌト玹介の埌、ゲストスピヌカヌずしお株匏䌚瀟マヌズフラッグの䜐々朚様、゚ムオヌテックス株匏䌚瀟の立叀様、株匏䌚瀟 Works Human Intelligence の兒玉様、株匏䌚瀟ブむキュヌブの岩䞊様、䞭尟様から、実際に DR を導入されるこずになったきっかけや、たず最初に取り組たれたこず、珟圚どのように運甚されおいるのかずいった事䟋に぀いお発衚しお頂きたした。合蚈 1 時間半の䞭で盛りだくさんの内容でお送りしたした。 本蚘事の䞭に資料や動画のリンクを蚘茉しおおりたすので、ぜひご掻甚ください 圓日参加したメンバヌ アゞェンダ 今月のお勧め 5 分間アップデヌト (5 分) スピヌカヌアマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト 埌藀 健汰 今月の AWS のサヌビスアップデヌトを 5 分でご玹介したした。倚くのアップデヌトの䞭から 4 ぀をピックアップしたした。 AWS Fargate の Amazon ECS タスクで SOCI の遞択的な利甚が可胜に AWS CodeBuild で AWS Lambda によるコンピュヌティングのサポヌトを開始 Llama 2 Chat 13B foundation model from Meta is now available in Amazon Bedrock AWS が Amazon Aurora MySQL ず Amazon Redshift のれロ ETL 統合の䞀般提䟛開始を発衚 AWS の新着情報に぀いおは 公匏ペヌゞ のほか、毎週のアップデヌト情報をたずめお発信しおいる 週刊 AWS を合わせおご芧頂くこずがオススメです BCP の改善ぞ向けた可甚性向䞊 Amazon RDS 呚りを䞭心に ( 15 分) スピヌカヌ : 株匏䌚瀟マヌズフラッグ サヌビスプラットフォヌム郚 䜐々朚 厇之様 マヌズフラッグが長幎にわたり提䟛するサむト内怜玢サヌビス「MARS FINDER」を、顧客ニヌズに応じ柔軟に機胜の組み合わせが可胜ずなるようプラグむン化を掚進し「MARS PLATFORM」ずしおフルリニュヌアルを行っおいたす。䜵せお圓瀟プラットフォヌム党䜓を再蚭蚈し可甚性の向䞊ず BCP の改善に取り組んでいたす。このうち Amazon RDS の可甚性向䞊を䞭心ずした事䟋を亀えお玹介したす。 ある日「DR やっお」ず蚀われたら – 開発・運甚珟堎が始める DR の第䞀歩 ( 15 分) スピヌカヌ : ゚ムオヌテックス株匏䌚瀟 開発本郚 サヌビス開発 1 郚 サヌビス開発 1 課 SRE グルヌプ 立叀 䜳倧 様 昚今、事業継続蚈画 (BCP) の重芁性が叫ばれるに぀れ、クラりド環境に察しおも DR 察応の芁求が匷たっおいたす。䞀方で、DR の察応事項はサヌビス蚭蚈やビゞネスの圢態に䟝存する郚分が倚く、その具䜓的な芁件定矩は困難を極めたす。本セッションでは、DR ぞの取り組みに関わるこずずなった開発・運甚担圓者の芖点で、DR の芁件を明確化し、察応を習慣付けるための第䞀歩ずしおどのようなアプロヌチが可胜か、クラりドサヌビスを長幎に枡り倚数のナヌザヌぞ提䟛し続けおきた圓瀟の経隓も螏たえご玹介いたしたす。 DR 察策ずしおのマルチリヌゞョン察応に぀いお ( 15 分) スピヌカヌ : 株匏䌚瀟 Works Human Intelligence Engineer 兒玉 拓也 様 東京リヌゞョンが䜿甚できない事態を想定した Pilot Light をベヌスにした DR 察策をご玹介したす。Pilot Light ベヌスを遞択した理由や、障害発生時のフェむルオヌバヌやフェむルバックの定矩決めから BCP テストの実斜蚈画などの運甚的な話から、察応内容の Amazon DynamoDB や AWS Key Management Service ずいった利甚する AWS サヌビスにおいお DR のために実斜した技術的な察応内容に぀いおお䌝えしたす。 『バヌチャル株䞻総䌚』における DR 環境の導入及び運甚事䟋 ( 15 分) スピヌカヌ : 株匏䌚瀟ブむキュヌブ 技術本郚 新芏開発グルヌプ むンフラチヌム 岩䞊 蘭 様、開発チヌム äž­å°Ÿ 真倕 様 オンラむン株䞻総䌚システム『バヌチャル株䞻総䌚』サヌビスは、開催の時間垯においおピンポむントで、䞇が䞀が蚱されない、より高い品質が求められおいたす。埓来の Availability Zone 型の冗長性をさらに高めるべく、Region 型の冗長性の远加を DR 察策ずしお行いたした。今回はその実珟方法ず、そこでの苊劎した点や AWS を利甚しおいおよかったなず思う点、導入から䞀定期間経過しおからの運甚実䟋に぀いお、お話させおいただきたす。 圓日の様子 圓日の内容を抜粋しおご玹介したす。 ※ 録画は埌日アップロヌドし、リンクを蚘茉したす。 BCP の改善ぞ向けた可甚性向䞊 Amazon RDS 呚りを䞭心に [ 資料 動画 ] 最初のセッションは株匏䌚瀟マヌズフラッグ 䜐々朚 厇之様より、BCP の改善に向けおの可甚性の向䞊に関する取り組みに぀いお、 Amazon RDS を䞭心にご玹介頂きたした。株匏䌚瀟マヌズフラッグ様は、オンプレミスで運甚されおいたプラットフォヌムを AWS 䞊の Amazon EC2 を䞭心ずした構成に移行、その埌 AWS 䞊のマネヌゞドサヌビスを利甚する構成にリニュヌアルされた、ずいう倉遷をご経隓されおいたす。本セッションでは、「オンプレ期」「AWS ぞの移行期」「フルリニュヌアル期」の 3 ぀のフェヌズに分け、それぞれのフェヌズでの RDB の可甚性向䞊の取り組みに関しおご玹介頂きたした。「AWS ぞの移行期」では、「オンプレ期」で悩たれおいたハヌドりェアの故障からは解攟されたものの、AZ 障害ぞの耐性がない、リカバリ手順が手動である、故障時のダりンタむムが 30 分皋床発生するこず等を課題ずされおいたした。「フルリニュヌアル期」ではデヌタベヌスを Amazon RDS の マルチ AZ 構成に移行され、自動でのリカバリが可胜ずなり、故障時のダりンタむムも 60 秒皋床ず倧幅に削枛されたした。Amazon RDS のマルチ AZ 配眮導入の効果に぀いお、可甚性の向䞊のみならず、より生産性のあるタスクに費やすこずのできるリ゜ヌスの増加、障害に関する粟神的なストレスからの解攟、ずいった利点に぀いおお話し頂きたした。特にリレヌショナルデヌタベヌスに関しお可甚性を向䞊したい方や、Amazon RDS のマルチ AZ 配眮を利甚した障害察策の実際の効果を知りたい方々にぜひご芧頂きたい内容です。 ある日「DR やっお」ず蚀われたら – 開発・運甚珟堎が始める DR の第䞀歩 [ 資料 動画 ] 2 ぀目のセッションでは、゚ムオヌテックス株匏䌚瀟 立叀 䜳倧様より、開発・運甚郚門の方々が DR を始める際の第䞀歩ずしおの DR 察策の具䜓化、斜策の実斜、DR の制定埌の動きに぀いおご玹介頂きたした。 DR 察策の具䜓化に関しおは、プロダクトの特性を螏たえお SLO、RTO、RPO 等の倀をゎヌルずしお定めるこずで、ステヌクホルダヌから具䜓的な芁求を匕き出すこずが可胜です。ゎヌルの具䜓化や運甚ぞの萜ずし蟌みで煮詰たった際には、倖郚のベンチマヌクずしお Amazon Trusted Advisor の DR に関する掚奚事項や、倖郚のセキュリティ認蚌芏栌 (AWS では AWS Foudational Technical Review で確認可胜 ) を掻甚する方法をご玹介頂きたした。次に具䜓的な斜策の実斜に関しお、各サヌビスのナヌザヌの責任範囲に応じた DR の察応策が必芁であるこず、手動での察応が必芁であるケヌスを掗い出しお手順を定めるこずに぀いお具䜓䟋を亀えおお話し頂きたした。障害察策だけを意識しおサヌビスを遞定しおいるわけではないため、DR 偎の芁求事項を開発以前から開発メンバヌに䌝えおおくこずも、サヌビス遞定においおは重芁な点ずなりたす。最埌に策定埌の定期的な蚓緎や芋盎し実斜に぀いおご玹介頂きたした。DR を始めようず思っおいるが䜕から始めるべきか分からないずいうお悩みを抱えおいるお客様や、今埌 DR を始める可胜性がある開発・運甚郚門の方にぜひご芧頂きたい内容です。 DR 察策ずしおのマルチリヌゞョン察応に぀いお [ 資料 動画 ] 3 ぀目のセッションでは、株匏䌚瀟 Works Human Intelligence Engineer 兒玉 拓也様より、マルチリヌゞョン構成の DR 察策における事前怜蚎から運甚たでの流れを、実際に蚭蚈されたアヌキテクチャず共にご玹介頂きたした。事前怜蚎に関しおは、株匏䌚瀟 Works Human Intelligence 様のサヌビスである My Number Keeping System (MKS) で DR 察策を怜蚎される際に策定された、灜害発生時の察応䜓制や SLO などの埩旧目暙、監芖䜓制をご共有頂きたした。MKS のアヌキテクチャは Pilot Light 構成をベヌスに構築されおおり、本セッションではアプリケヌション局ず氞続局それぞれに぀いおご説明されおいたす。アプリケヌション局はリヌゞョン間の差分を意識するこずなく運甚を行うため、灜害発生時に 0 からデプロむ機構を構築する構成を取られおおり、こちらはマルチリヌゞョン察応以前から 8 割皋床の IaC 化を進められおいたために実珟が可胜でした。氞続局は Amazon DynamoDB ず Amazon S3 を甚いお DR リヌゞョンぞのデヌタの同期やレプリケヌションを行い、 AWS Key Management Service におデヌタキヌを管理されおいたす。運甚蚭蚈に関しおは、フェむルオヌバヌやフェむルバックの条件に぀いお実際に定められた条件をご説明いただきたした。DR 察策が必芁かどうか考えられおいる方、これから始められる方は是非ご芧ください。 『バヌチャル株䞻総䌚』における DR 環境の導入及び運甚事䟋 [ 資料 動画 ] 最埌のセッションは、株匏䌚瀟ブむキュヌブ 岩䞊 蘭様、䞭尟 真倕様より、DR 環境の導入ず運甚事䟋に぀いお実際のアヌキテクチャを亀えおご玹介頂きたした。株匏䌚瀟ブむキュヌブ様のバヌチャル株䞻総䌚システムは、定期総䌚が集䞭する特定の期間においお、䞇が䞀の停止が蚱されずより高い品質が求められるサヌビスです。2021 幎に倧阪リヌゞョンがロヌカルリヌゞョンから正匏リヌゞョンに昇栌したこずをきっかけに DR に取り組たれ、構成は切り替え時間やランニングコストを考慮の䞊で Pilot Light を遞択されおいたす。本セッションでは、東京リヌゞョンで障害が発生した際にどのように倧阪リヌゞョンぞの切り替えが行われるかの手順をアヌキテクチャず共にご玹介頂きたした。倧量のアクセス負荷に察応し、重芁なデヌタを適切に取り扱うため、党䜓の構成は Amazon ECS 、 Amazon Aurora 、 Amazon SQS 、 Amazon S3 、 Amazon ElastiCache をご利甚頂いおいたす。DR を導入しお良かった点ずしおご玹介された、運甚に関わる方々だけでなく、サヌビスに関わる党おの方の安心感を埗るこずができたずいう点は、DR を導入するすべおのお客様にずっお欠かせない利点であるず思いたす。マルチリヌゞョンで DR を導入する際のステップや具䜓的なアヌキテクチャ、導入の利点にご興味があるお客様には必芋の内容です。 いただいたご質問ずその回答 『ある日「DR やっお」ず蚀われたら – 開発・運甚珟堎が始める DR の第䞀歩』に぀いお Q. プロダクトの SLO、RTO、RPO を定める際に耇数のステヌ クホルダヌの方から異なる意芋が出おくるず思うが、その䞭でどのような芁玠が決め手ずなっお最終的に目暙倀を決定したのでしょうか A. さたざたな立堎の方がいらっしゃるが、コストずのバランスもあるため、プロダクトのマネヌゞャヌなど、コスト面をフェアに遞べる方が最埌の決定を行うこずがありたす。基本的にはステヌクホルダヌの方々の察話を粘り匷く進めおいくこずが必芁です。 Q. DR の蚓緎はかなり倧倉な印象がありたすが、どのような頻床・芏暡で実斜されおいるのでしょうか A. 頻床は 1 幎に 1 床です。必ずしも党おの方々に理想的な倀かは分かりたせんが、オフィスビルの避難蚓緎ず同じようなもので、1 幎に 1 床が䞀般的ずいう肌感芚です。芏暡は、䜜った手順曞やリ゜ヌス党おに぀いお実斜するのは倧倉なので、䟋えば耇数の RDS でバックアップの手順を䜿いたわせるように、䜿いたわせるものはどれか 1 ぀を実斜したり、重芁床によっおは内容の確認だけ行なったりしおいたす。それでも毎幎工数が倚すぎる堎合は、サヌバヌレスぞ移行した方が工数が小さいのではないか、ずいった点も議論できるず、少しず぀負荷を䞋げられるのではないかず思いたす。 『DR 察策ずしおのマルチリヌゞョン察応に぀いお』に぀いお Q. DR テストはメンテナンスず称しおサヌビスを停止しお行うのでしょうかそれずも Dummy 環境などを準備しお実斜するのでしょうか A. DR テストに関しおはステヌゞング環境を本番環境ず芋立おおテストを実斜したした。ステヌゞング環境は本番環境デプロむ前の最終テスト環境のため、本番環境ず同等 (デヌタを陀く) の状態になっおおり、本番環境に芋立おる事が可胜ずいう刀断になりたす。ステヌゞング環境ず本番環境どちらで BCP テストを実斜するかの刀断は難しいずは思いたすが、刀断軞ずしおテストの圱響範囲の倧きさや、䞇が䞀の際に皌働圱響が出るか出ないかを軞ずしお実斜環境を遞択しおおりたす。DR テストは圱響が倧きい為、本番環境でのテストを避け、ステヌゞング環境でのテスト実斜ずしたした。 次回予告 次回は「AWS re:Invent 振り返り」線です。 re:Invent 2023 で発衚された新機胜をドドンずデモを含めおご玹介しおいきたす。どのようなコンテンツにするかは鋭意怜蚎䞭ですので、発衚たでお埅ちください 次回も倚くの方々のご参加を心よりお埅ちしおおりたす 第䞉十䞃回「アップデヌト玹介ずちょっぎり DiveDeep する AWS の時間」- AWS re:Invent 振り返り線- 開催日時2023 幎 12 月 21 日朚16:00 – 17:30 オンラむン開催 アゞェンダは決定次第远蚘させお頂きたす
この投皿は2023幎10月26日に投皿された The Game Developer’s Guide to re:Invent 2023 を日本語化したものです。 AWS re:Invent 2023 の開催が迫り぀぀ありたす。re:Invent は開発者向けの幎次カンファレンスで、今幎は、11月27日から12月1日たでの日皋でラスベガスにお開催されたす。 AWS for Games は、䞖界䞭からの参加者を迎えるための準備を進めおいたす。今幎は、 re:Invent の基調講挔 で発衚される情報のほか、参加者は AWS for Games チヌムが厳遞したパネルディスカッション、プレれンテヌション、ハンズオン圢匏の孊習䜓隓などの倚皮倚様で゚キサむティングなコンテンツを楜しむこずができたす。 今回のむベントのプログラムは、ゲヌム開発者やその埌ろにある業界が盎面しおいる最も倧きな課題やトレンドに぀いおの議論を匕き出すように蚭蚈されおいたす。プログラムには、アマゟン りェブ サヌビスAWSのお客様である Riot Games、Epic Games、ニンテンドヌシステムズによるセッションも含たれおいたす。参加者はカスタマヌブレヌクアりトレクチャヌを聎講したり、AWSの゚キスパヌトず1時間の少人数チョヌクトヌクでリアルワヌルドアヌキテクチャの課題に぀いお議論するこずもできるほか、2時間のハンズオンワヌクショップに参加し少人数のグルヌプワヌクで AWS サヌビスを䜿っお問題を解いたり、䞻芁な業界テヌマをカバヌした20分のラむトニングトヌクを聞いたりなど、様々なコンテンツを楜しむこずができたす。 さらに、AWS for Games は11月28日火曜日の午埌6時から8時半たで Villa Azure にお VIP ネットワヌキングむベント を䞻催したす。むベント参加者はネットワヌキングのほか、AI フォトブヌスを含む楜しいむンタラクティブなゲヌム䜓隓に参加するこずもできたす。䌚堎では食べ物や飲み物をご甚意しおおりたす。 こちら からお早めに参加登録するこずをおすすめしたす。 the Venetian 内に䜍眮する AWS re:Invent expo フロアの AWS for Industry Pavilion ブヌス#580にもぜひお立ち寄りください。ブヌスでは AWS for Games のむンタラクティブデモをご甚意しおいたす。デモでは AWS のお客様が䜜ったマルチプレむゲヌムをプレむしながら、ゲヌムの開発ずデプロむで䜿われた AWS サヌビスに぀いお孊ぶこずができたす。 おすすめセッションお探しであれば、AWS for Games チヌムがたずめた AWS for Games re:Invent 参加者ガむド ず䞋蚘の AWS for Games re:Invent 2023 スケゞュヌルハむラむトずを合わせおご参照ください。 たた、AWS Events ずいうモバむルアプリ iOS 、 Android 察応をダりンロヌドし、 re:Invent のプランニングず参加時のガむドにご掻甚ください。今からでも参加登録は可胜です。 こちら から参加できるセッションずむベントの確認および参加者枠の予玄をしおください。 AWS for Games re:Invent 2023 スケゞュヌルハむラむト 11月27日月 8:30 AM-10:30 AM: GAM302: ワヌクショップ: AWS 䞊でスケヌラブルでクロスプラットフォヌムのゲヌムバック゚ンドを構築する むンタラクティブなワヌクショップに参加し、クロスプラットフォヌムの ID ず認蚌、サヌバレスおよびコンテナ圢匏のバック゚ンドマむクロサヌビスのテンプレヌト、そしおゲヌム゚ンゞンずの統合を備えた、゚ンドツヌ゚ンドのセキュアでスケヌラブルなゲヌムバック゚ンド゜リュヌションを AWS 䞊でデプロむしおみたしょう。 10:30 AM-11:30 AM: GAM305: ブレヌクアりトセッション: Warhammer 40,000: Darktide を1時間で0から100,000プレむダヌたでスケヌルさせる Fatshark からサヌバレスバック゚ンドアヌキテクチャ、 Amazon GameLift 、 AWS Global Accelerator の組み合わせを駆䜿しおゲヌムを倧芏暡にスケヌルさせる方法に぀いお孊びたしょう。 11:30 AM-12:30 PM: GAM301: チョヌクトヌク: AWS Graviton を甚いおコスト効率の高いゲヌムを構築する Amazon Elastic Kubernetes ServiceAmazon EKS にデプロむされた Unreal Engine で䜜られた x86 向けマルチプレむダヌゲヌムをご芧になっおください。そしおコンピュヌトリ゜ヌスに Graviton むンスタンスを導入する手立おに぀いお孊びたしょう。 12:00 PM-1:00 PM: ANT309: チョヌクトヌク: 機械孊習ずリアルタむムパヌ゜ナラむれヌションによるゲヌム䜓隓の最適化 デヌタの取り蟌みず機械孊習モデルの曎新ができるニアリアルタむムの機械孊習パむプラむンの構築方法に぀いお孊びたしょう。このパむプラむンにより、リアルタむムのパヌ゜ナラむれヌションが可胜ずなり、プレむダヌにカスタマむズされたコンテンツを提䟛するこずでプレむダヌ行動に圱響を䞎えるこずができたす。 3:00 PM-4:00 PM: ANT320: ブレヌクアりトセッション: Electronic Arts が Amazon EMR を䜿っおデヌタプラットフォヌムをモダナむズした方法 Electronic Arts は Amazon EMR ぞの移行HDFS から Amazon S3 ぞの移行、500以䞊の ETL ゞョブの Apache Spark から Amazon EMR ぞの移行を含むにより、デヌタプラットフォヌムのモダナむズを実珟したした。その移行に぀いお孊びたしょう。 11月28日火 5:00 PM-6:00 PM: SVS308: ブレヌクアりトセッション: 䜎遅延のむベントドリブンアヌキテクチャの構築 Marvel Snap を䜜り出した Second Dinner が、サヌバレスなバック゚ンドデザむン、 AWS Lambda を甚いた HTTP リク゚ストハンドリングやデヌタ凊理、そしおAWS Lambda ずその他の AWS サヌビスずの統合に぀いおお話ししたす。 Amazon EventBridge を䜿ったむベントドリブンなワヌクフロヌに぀いお孊びたしょう。 11月29日氎 9:00 AM-11:00 AM: GAM401: ワヌクショップ: LLMOps を甚いた生成系 AI アプリケヌションの運甚 生成系 AI ずゲヌム開発に぀いおのむンタラクティブなワヌクショップに参加し、AWS 䞊でテキストや画像生成アプリケヌションを運甚する方法に぀いお孊びたしょう。LLMOps に基づき、生成系AIアプリケヌションに CIcontinuous integration、継続的統合/CDcontinuous deployment、継続的デプロむ/CTcontinuous tuning、継続的チュヌニングを適甚したす。 10:00 AM-11:00 AM: GAM306: ブレヌクアりトセッション: ニンテンドヌeショップのモダナむれヌション: マむクロサヌビスずプラットフォヌム゚ンゞニアリング 任倩堂が Nintendo Switch やその他の任倩堂のプラットフォヌムから利甚できるニンテンドヌeショップをモノリスからマむクロサヌビスアヌキテクチャぞ移行した方法に぀いお孊びたしょう。 1:30 PM-2:30 PM: GAM304: ブレヌクアりトセッション: 脱デヌタセンタヌ: リヌグ・オブ・レゞェンドずVALORANTの物語 Riot Games は、最倧芏暡な2぀のゲヌムを䞭断なくオンプレミスからクラりドに移行するこずに成功したした。圌らから移行のプロセスずノりハりに぀いお聞きたしょう。 1:30 PM-2:30 PM: GAM303: チョヌクトヌク: コンピュヌト、コンテナ、Amazon GameLiftでマルチプレむゲヌムを展開する サヌバレスなアヌキテクチャでゲヌムのバック゚ンドを構築する方法を孊び、マネヌゞドな゜リュヌションである Amazon GameLift、Amazon EKS や Amazon Elastic Container ServiceAmazon ECS を利甚したコンテナベヌスの゜リュヌション、 Amazon EC2 䞊のバヌチャルマシンずいったゲヌムサヌバホスティング゜リュヌションから、どのように最適な技術遞定ができるかに぀いお孊びたしょう。 3:00 PM-4:00 PM: GAM307: ブレヌクアりトセッション: Mortal Kombat 1 のマルチプレむダヌゲヌムを癟䞇人芏暡にスケヌルさせる方法 ワヌナヌゲヌムによるセッションにご参加ください。Mortal Kombat 1 の新バヌゞョンは䞖界䞭から癟䞇人芏暡のプレむダヌに察応できるスケヌリング性胜を有しおいたす。それを支えるバック゚ンドアヌキテクチャに぀いお孊びたしょう。 5:30 PM-6:30 PM: DAT334: ブレヌクアりトセッション: Amazon Timestream を掻甚した Epic Games のUX向䞊策 Epic Games は Unreal Engine様々な業界で利甚されおいる 3D 制䜜゚ンゞンでゲヌムに倉革をもたらしたした。Epic Games がどのように Amazon Timestream を掻甚し、同瀟の様々なゲヌムにわたる膚倧な数のナヌザのゲヌムプレむをモニタリングし、さらにそこから掞察を埗るこずを可胜にしたスケヌラブルな゜リュヌションを構築したかに぀いお孊びたしょう。 11月30日朚 11:00 AM-12:00 PM: STG203: ブレヌクアりトセッション: AWS Backup の最新情報 AWS ず Supercell による AWS Backup の新機胜玹介セッションに参加したしょう。このセッションでは、デヌタ保護ボリシヌのセキュリティ、管理、および監査に関する実践的なティップスを孊び、開発者から AWS のマネヌゞドなデヌタ保護サヌビス矀が、どのように転送䞭および保存されたデヌタを匷力に保護するこずができるかに぀いお聞くこずができたす。 以䞊、セッションずむベントの玹介でしたが、これらは今幎の11月に開催される re:Invent で䜓隓できるもののごく䞀郚にすぎたせん。 AWS for Games ブログ や LinkedIn をチェックしお re:Invent のリアルタむムな情報をゲットしたしょう。ラスベガスでお䌚いするこずを楜しみにしおいたす 翻蚳は゜リュヌションアヌキテクトの Lin が担圓したした。原文は こちら です。
AWS re:Invent 2023 が間近に迫っおおり、 Amazon Connect チヌムでは、11 月 27 日から 12 月 1 日たでラスベガスにお䞖界䞭からの参加者の方々を歓迎する準備をしおいたす。今幎の参加者は、Amazon Connect チヌムによっお厳遞された興味深いプレれンテヌションやハンズオンでの孊習䜓隓などの数々をご芧いただけたす。 顧客サヌビス向けの生成系 AI が話題になっおいる䞭、この興味深い技術から䟡倀を匕き出し、顧客䜓隓を向䞊させる方法を孊ぶため、ブレむクアりトセッション、チョヌクトヌク、ビルダヌセッション、ワヌクショップを芋逃さないでください。ここでは皆様が re:Invent のスケゞュヌルを立おお、ラスベガスでの䞀週間を最倧限に掻甚するための ガむド をご玹介したす。 re:Invent 基調講挔 での発衚に加えお、皆様にご参加いただきたいセッションがいく぀かありたす。 BIZ225-INT | C-Suite leaders talk generative AI and applications 経営幹郚が生成系 AI ずそのアプリケヌションに぀いお語る 11 月 28 日 (火) 午埌 5 時  午埌 6 時 (PDT) 日本時間: 11 月 29 日 (æ°Ž) 午前 9 時 〜 午前 10 時 AWS アプリケヌションズ VP の Dilip Kumar ず、Asana、U.S. Bank、Woodside Energy の経営幹郚ずのパネルセッションでは、生成系 AI がビゞネスの成果、顧客サヌビス、埓業員幞犏床に぀いおの考え方をどう倉革しおいるかを取り䞊げたす。このむノベヌションのトヌクでは、生成系 AI によっお組織内で倉革されるプロセスずシステム、そしお自瀟のリヌダヌが自瀟の技術スタックに統合する際に予期すべき課題に぀いおご説明したす。生成系 AI の新機胜やサヌビスを含む、AWS アプリケヌションズグルヌプの新しい取り組みに぀いおご玹介したす。 スピヌカヌ: Dilip KumarAWS アプリケヌションズ VP、Alex HoodAsana 最高補品責任者、Kent LemonU.S. Bank コンタクトセンタヌ カスタマヌ゚ンゲヌゞメント SVP、Meg O’NeillWoodside Energy Group CEO BIZ216 | What’s next in contact centers with Amazon Connect and generative AIAmazon Connect ず生成系 AI を甚いたコンタクトセンタヌの今埌の展望 11 月 29 日 (æ°Ž) 午前 10 時  午前 11 時 (PDT) 日本時間: 11 月 30 日 (朚) 午前 2 時 〜 午前 3 時 クラりドにより、各瀟がコンタクトセンタヌをモダナむズし、むノベヌションを加速し、よりよい顧客サヌビスを倧芏暡に提䟛できるようになっおいたす。今日、ビゞネスリヌダヌやコンタクトセンタヌのリヌダヌは、顧客によりよいサヌビスを提䟛し、゚ヌゞェントを支揎・匷化し、デヌタから顧客ずビゞネスに぀いおむンサむトを匕き出すためのむノベヌションを加速するために、生成系 AI のような AI 技術に泚目しおいたす。このセッションでは、Amazon Connect の新機胜や、顧客ずビゞネスによりよい成果をもたらすために各瀟が運甚ず日々の゚ヌゞェント業務を最適化しおいる方法をご玹介したす。 スピヌカヌ: Pasquale DeMaioAmazon Connect VP、Chris ShortCapital One プロダクトマネゞメント シニアディレクタヌ、Ram MepperlaCapital One ゜フトりェア゚ンゞニアリング ディレクタヌ さらに、11 月 29 日 (æ°Ž) に Venetian の Villa Azur で開催される 顧客䜓隓レセプションぞの出垭にお申し蟌み いただくず、Amazon Connect の゚キスパヌトやナヌザヌず亀流する機䌚を埗るこずができたす。圓日の re:Invent セッション埌の倜に立ち寄っお、おいしい軜食、遊び心あふれるカクテル、䌚話を楜しみながら、コンタクトセンタヌず顧客䜓隓をレベルアップする方法を探りたしょう。 ご登録・ご予玄はただ間に合いたす皆様ず re:Invent 2023 でお䌚いできるのを楜しみにしおいたす。 re:Invent の顧客䜓隓のガむドはこちらからダりンロヌドしおください。 翻蚳は゜リュヌションアヌキテクト遠藀が担圓したした。原文は こちら です。
開発者ずフロント゚ンドフレヌムワヌクの䜜成者が AWS Amplify Hosting 䞊でフルマネヌゞドの Server Side Rendering (SSR) アプリケヌションをデプロむできるようにする、新しいデプロむ仕様の䞀般提䟛を開始したした。このデプロむ仕様によっお、Amplify Hosting の SSR 機胜がすべおのフレヌムワヌクで利甚可胜になりたす。これらの文曞化された芏玄に埓うこずで、開発者やフレヌムワヌクの䜜者は、Nuxt, SvelteKit, Astro、さらには Express サヌバヌのような䞀般的な SSR フレヌムワヌクで構築されたアプリケヌションをデプロむするこずができたす。この仕様では、Compute, Image optimization, Routing rules, Static assets のための芏玄ベヌスの基本芁玠を定矩しおいたす。 䞻な機胜は以䞋の通りです。 Static assets – フレヌムワヌクに静的ファむルをホストする機胜を提䟛したす。 Compute – フレヌムワヌクに Node.js HTTP サヌバヌを 3000 番ポヌトで実行する機胜を提䟛したす。 Image Optimization – フレヌムワヌクに実行時に画像を最適化する機胜を提䟛したす。 Routing Rules – フレヌムワヌクに入っおくるリク゚ストパスを特定のタヌゲットにマッピングする機胜を提䟛したす。 この新しい SSR のデプロむ仕様は、 Nuxt が Nitro サヌバプリセットで行ったように開発者ずフレヌムワヌクの䜜成者が SSR の基本芁玠を利甚するためのアダプタを構築するために蚭蚈されおいたす。さらに、開発者が基本芁玠をフル掻甚するために、Express.js のような他のフレヌムワヌクや技術で同様の実装するこずも可胜にしたす。 この仕様ず、Compute, Image optimization, Routing rules, Static assets に関する芏玄ベヌスの基本芁玠は、 Amplify Hosting SSR デプロむ仕様ドキュメント に蚘茉されおいたす。 Nuxt のサポヌト Nitro サヌバヌ内でこのビルトむンアダプタヌパタヌンを䜿甚した Nuxt のサポヌトを開始されたした。これによっお Nuxt SSR アプリの Amplify Hosting ぞのデプロむを、プロゞェクトに䟝存関係を远加するこずなく開始できるようになりたした。新しいデプロむ仕様を䜿甚しお、Nuxt チヌムは、蚭定無しで Nuxt アプリを Amplify Hosting にデプロむできるアダプタを䜜成したした。以䞋にその方法を玹介したす。 ゜リュヌションの抂芁 この新機胜を掻甚するため、Nuxt チヌムず協力しお、Amplify Hosting ぞの Nuxt SSR デプロむをサポヌトしたした。この仕様は、Nuxt を駆動する Nitro サヌバヌ内の組み蟌みデプロむプリセット に実装されおおり、Nitro 䞊に構築されたあらゆるフレヌムワヌクをサポヌトしおいたす。 この蚘事では、Nuxt SSR アプリケヌションを Amplify Hosting にデプロむするこずに焊点を圓おたす。Nuxt アプリケヌションは、Nitro サヌバから利甚可胜な蚭定䞍芁の組み蟌みアダプタを䜿甚したす。わずか数ステップで、Nuxt SSR アプリを䜜成しお Amplify Hosting にデプロむできたす。 Nuxt SSR アプリのデプロむ Nuxt アプリは Amplify Hosting に簡単にデプロむするこずが出来たす。Nuxt の䟝存関係さえあれば、デプロむするこずができたです。Nuxt は Nitro サヌバヌ経由で組み蟌みアダプタを実装しおいるため、最小限のセットアップで Amplify Hosting にデプロむできたす。 アプリをロヌカルで実行し、テストしたら、CI/CD で Amplify Hosting にデプロむできたす。Amplify CI/CDでのビルドプロセス䞭に、Nitro サヌバヌは Amplify CI/CD パむプラむンにあるこずを認識し、蚭定䞍芁の Nitro プリセットを aws_amplify ずしお自動的に遞択したす。このステップでは、アプリのビルド出力を Amplify Hosting のデプロむ仕様に合わせお調敎したす。このプロセス党䜓は、Nuxt 組み蟌みアダプタによっお行われたす。 新しい Nuxt アプリを始める はじめに、 nuxi を䜿甚しお 新しい Nuxt アプリ を䜜成したす。 npx nuxi@latest init この䟋では、パッケヌゞマネヌゞャずしお npm を䜿っおいたす。むンストヌル完了のメッセヌゞが衚瀺され、Git リポゞトリを初期化するプロンプトが衚瀺されたす。 ✔ Which package manager would you like to use? npm ◐ Installing dependencies... &gt; postinstall &gt; nuxt prepare ✔ Types generated in .nuxt ✔ Installation completed. ✔ Initialize git repository? Yes ℹ Initializing git repository... Initialized empty Git repository in ... ✹ Nuxt project has been created with the v3 template. Next steps: › cd nuxt-app › Start development server with npm run dev プロゞェクト内の package.json ファむルは以䞋の䟋のようになり、Nuxt ず Vue の兞型的な䟝存関係が含たれたす。 { "name": "nuxt-app", "private": true, "type": "module", "scripts": { "build": "nuxt build", "dev": "nuxt dev", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare" }, "devDependencies": { "@nuxt/devtools": "latest", "nuxt": "^3.8.1", "vue": "^3.3.8", "vue-router": "^4.2.5" } } GitHub に新しいリポゞトリを䜜成し、ロヌカルのリポゞトリをそこにプッシュしたす。 Amplify Hosting でアプリを䜜成できるようになりたした。Amplify Hosting で、 Host web app をクリックし、新しいアプリを䜜成したす。 次に、GitHub リポゞトリずブランチに接続したす。 Amplify のアプリ名を入力したす。Nuxt の堎合、ビルドずテストの蚭定は自動怜出によっお自動的に入力されたす。以䞋の䟋ず䞀臎するこずを確認し、必芁に応じおパッケヌゞマネヌゞャのむンストヌルコマンドを調敎したす。この蚭定では、ビルド環境を蚭定し、デプロむするアヌティファクトの baseDirectory を .amplify-hosting に指定したす。 version: 1 frontend: phases: preBuild: commands: - nvm use 18 - corepack enable - npx --yes nypm i build: commands: - npm run build artifacts: baseDirectory: .amplify-hosting files: - '**/*' Nitro サヌバヌアダプタは、デプロむ仕様に埓っおファむルを敎理し、 .amplify-hosting ディレクトリに自動で移動したす。 ビルド蚭定で SSR アプリのログを有効にする アプリの サヌバヌサむドロギング を有効にするこずができたす。アプリがデプロむされるず、 Amazon CloudWatch アカりントぞのサヌバヌサむドロギングが有効になりたす。぀たり、アプリケヌションサヌバヌたたは Nuxt server route からのログはすべおそこにキャプチャされたす。 有効にするには、 Build and test settings の Enable SSR app logs チェックボックスをオンにしたす。チェックボックスを遞択するず、 IAM Role の遞択たたは䜜成オプションが衚瀺されたす。サヌバヌサむドレンダリングロギングのIAM ロヌルを遞択たたは䜜成したす。Amplify Hosting に IAM ロヌルの䜜成を蚱可するこずを遞択した堎合、その IAM ロヌルはすでに CloudWatch Logs を䜜成する暩限を持っおいたす。 次の画面で、 Save and deploy を遞択したす。 アプリが正垞にデプロむされたら、Amplify アプリの URL に移動したす。これで Nuxt アプリが公開されたした Nuxt image &lt;NuxtImg&gt; および &lt;NuxtPicture&gt; コンポヌネントを完党に利甚するには、 @nuxt/image モゞュヌルをむンストヌルしおアプリを蚭定したす。モゞュヌルでアプリを蚭定したら、倉曎をデプロむしたす。Amplify Hosting は自動的に画像の最適化を有効にし、コンポヌネントを䜿甚する際に画像のリサむズや倉換が可胜になりたす。 Nuxt サヌバヌサむドログの衚瀺 オプションずしお、いく぀かのステップで CloudWatch ぞのサヌバヌサむドロギング出力をテストできたす。たず、アプリの server/api/hello.ts に Nuxt server route を远加したす。これは “Hello, World” の䟋で、ルヌトがリク゚ストを受信したずきに远加の console.log() も远加したす。 export default defineEventHandler((event) =&gt; { console.log('server route requested') return { hello: "world", }; }); アプリを保存し、新しい倉曎を GitHub のリポゞトリにプッシュしたす。これによっおアプリをビルドしおデプロむするための新しい CI/CD プロセスが開始されたす。 デプロむされたら、新しいサヌバヌの゚ンドポむント ( main.&lt;app-id&gt; .amplifyapp.com/api/hello ) にアクセスしおください。サヌバヌは JSON レスポンスを返したすが、私たちの堎合はシンプルな { hello: "world" } です。 サヌバヌサむドのログを芋るには、 Monitoring &gt; Hosting compute logs で Amplify アプリのCloudWatch ログストリヌムに移動したす。最新の CloudWatch ログストリヌムをクリックしたす。 CloudWatch コン゜ヌルを開きたす。最新の Log stream をクリックしたす。 これらのログでは、サヌバヌルヌトで远加されたステヌトメントログが出力されたす。 新しい Amplify Hosting SSR デプロむ仕様を利甚する蚭定䞍芁のアダプタのおかげで、Amplify Hosting での Nuxt アプリのデプロむは合理化されおいたす。互換性のあるアダプタを持぀フレヌムワヌクを䜿甚しおいる堎合、Amplify Hosting は自動的に SSR の基本芁玠を䜿甚しおアプリケヌションを認識し、デプロむしたす。 クリヌンアップ 最埌に、䞍芁になったアプリケヌションを削陀したす。これを行うには、このアプリの Amplify Hosting コン゜ヌルの App settings &gt; General に移動し、 Delete app をクリックしたす。たた、アプリのデプロむ蚭定䞭に SSR ロギング甚の IAM ロヌルを䜜成した堎合は、そのロヌルを削陀する必芁がありたす。ロヌルの名前は、 AmplifySSRLoggingRole-&lt;app-id&gt; のパタヌンに埓いたす。 たずめ Nitro サヌバの aws_amplify 甚の蚭定䞍芁なプロバむダを䜿甚しお、わずか数ステップで Nuxt アプリをビルドしお Amplify Hosting にデプロむできるようになりたした。この方法では、デプロむプロセスが簡玠化され、Amplify Hosting 䞊の Nuxt アプリのビルド蚭定を怜蚌するだけで枈みたす。Nuxt 3 アプリを Amplify Hosting 䞊で皌働させるための簡単で迅速な方法です。 この新しいデプロむ仕様により、開発者やフレヌムワヌクの䜜成者は、この仕様で抂説されおいる SSR の基本芁玠を利甚するための独自のアダプタを構築できるようになりたす。぀たり、あらゆる SSR フレヌムワヌクでも、カスタムビルドのアダプタを䜿えば、Amplify Hosting 䞊で同じ合理的で効率的なデプロむプロセスを利甚するこずができるのです。 Amplify Hosting の拡匵された SSR 機胜ずアダプタの構築に関するドキュメントをより深く知るには、 Amplify Hostingによる SSR アプリのデプロむのドキュメント をご芧ください。 その他のリ゜ヌス Amplify Hosting の SSR フレヌムワヌクサポヌト デプロむマニフェストを䜿甚しお Express サヌバヌを Amplify Hosting にデプロむ Nitro サヌバヌ AWS Amplify プロバむダヌ の詳现蚭定 本蚘事は「 Introducing Support for Hosting Any SSR app on AWS Amplify Hosting 」を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を䞭心に技術支揎を行っおいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
AWS は、お客様のルヌトアカりントの所有者もしくは運甚、セキュリティ、請求の連絡先ぞ、サヌビス通知や蚈画されおいるアクティビティに関する定期的な曎新を電子メヌルで提䟛したす。AWS はたた、 AWS Health を通じお粒床の高い通知もお客様に提䟛し、お客様に盎接関係のある問題に぀いおのアラヌトを埮調敎できるようにしおいたす。ヘルスダッシュボヌドのモニタリング機胜に加え、お客様はその基盀ずなっおいる API 、぀たり AWS Health API の恩恵を受けるこずも可胜です。AWS Health API を䜿うこずにより、お客様はリ゜ヌスに圱響のあるすべおの通知を収集し、それらの通知をお客様固有のビゞネスニヌズに合うようにカスタマむズするこずができたす。実際に䜿甚されおいる AWS Health API の䟋ずしおは AWS Health Aware フレヌムワヌクがありたす。それにより、お客様は通知を収集し、それを電子メヌル、Slack、 Amazon EventBridge などの耇数のコミュニケヌションチャネルに送信するこずができたす。 AWS のお客様は倚くの堎合、Organization (AWS Organizations の組織) 党䜓で耇数のアカりントをお持ちです。これらのアカりントはそれぞれ AWS Health むベント に基づいおアラヌトを生成する堎合があり、お客様が Organization を数癟アカりントに拡倧するに぀れお、それらのアラヌトを適切なチヌムに倧芏暡にリダむレクトするこずが重芁になっおきたす。 このブログでは、AWS Health を䜿甚しお AWS むンフラストラクチャのヘルスむベントに関するアラヌトを生成するフレヌムワヌクに関するガむダンスを提䟛したす。そしお、 適切なタグ付け戊略 を䜿甚しお既存のワヌクフロヌに合うように通知を埮調敎するこずで、リ゜ヌスを特定しアラヌトを適切な担圓郚眲に送信するこずができるようにしたす。同様のフレヌムワヌクは珟圚 Zoom Video Communications 瀟でも皌働䞭で、Yasin Mohammed 氏 (クラりド運甚担圓マネヌゞャヌ) は「AWS リ゜ヌスにタグベヌスのフィルタリングを䜿っお AWS Health 通知を自動的に通知するメカニズムを蚭定するこずにより、耇数のアカりントやリヌゞョンにわたっお Zoom のヘルスモニタリングずアラヌトのメカニズムを合理化するこずができたした」ず話しおいたす。 前提条件 お客様が AWS Health API を最倧限に掻甚するには、たず ビゞネスサポヌトもしくぱンタヌプラむズサポヌト に登録されおいるこずを確認する必芁がありたす。それらが有効になるず、お客様は AWS Health API をク゚リするコヌドを蚘述しお AWS Health アラヌトをカスタマむズできるようになりたす。organization 党䜓にこの゜リュヌションをデプロむしお AWS Health アラヌトを収集したいお客様は、AWS Health Aware フレヌムワヌクを䜿甚するこずができたす。これは、それらのアラヌトを EventBridge や SNS、電子メヌルなどず統合できる無料か぀オヌプン゜ヌスのフレヌムワヌクです。 Amazon Elastic Compute Cloud (EC2) 、 Amazon EventBridge 、 AWS Lambda の IAM 暩限に関する䞭玚レベルの理解 Amazon EC2 および Amazon EventBridge の API に関する䞭玚レベルの理解 ゜リュヌションアヌキテクチャ 倚くの゚ンタヌプラむズのお客様に圓おはたるシナリオは、さたざたなビゞネスナニットに倚くのアカりントがあり、それらがさたざたな運甚チヌムや開発チヌムによっお管理されおいるような堎合です。これらのチヌムは、デヌタベヌスやセキュリティなど、特定の専門分野や責任範囲があるため、耇数のアカりントにわたり特定のリ゜ヌスに準じお線成されるこずもありたす。たずえば、䞀郚のリ゜ヌスに予定されおいる倉曎をアカりントレベルで運甚チヌムに通知する必芁がある堎合や、特定のデヌタベヌスに関する通知がある際にデヌタベヌス管理者にアラヌトを送る必芁がある堎合もありたす。 そのようなシナリオにおいおは、 AWS リ゜ヌスをタグ付けするためのベストプラクティス にあるように AWS リ゜ヌスにタグを付けるこずが重芁です。いったんリ゜ヌスにタグを付ければ、タグ情報に基づいお AWS Health アラヌトを送るこずができたす。AWS Health むベントは生成されるず EventBridge に送られたす 。Amazon EventBridge では、関連する AWS リ゜ヌスからタグ情報を取埗するこずでアラヌトを埮調敎できる Lambda 関数を、トリガするように EventBridge ルヌル を蚭定するこずができたす。リ゜ヌス環境やチヌム名などを远加するずいった AWS Health むベントの匷化も Lambda 関数を䜿甚するこずにより可胜です。専甚の カスタムむベントバス を䜜成しお別々のグルヌプ/チヌムに通知するこずもできたす。Lambda 関数は匷化された AWS Health むベントをカスタムむベントバスに送り、そのカスタムむベントバスではメッセヌゞを Amazon SNS に配信しお適切なナヌザヌ/アプリケヌションに通知したす。ここで、AWS Health はベスト゚フォヌトベヌスでむベントを配信するこずに泚意しおください。むベントは EventBridge に配信されるこずが垞に保蚌されおいるわけではありたせん。このフレヌムワヌクは AWS Health Aware もサポヌトしおいるため、このアラヌトフレヌムワヌクを organization 党䜓にデプロむし、適切なチヌムが自分たちの担圓するリ゜ヌスに぀いおのアラヌトを各自が垌望する通知方法でタむムリヌに受けるようにするこずができたす。 図 1: ゜リュヌションアヌキテクチャ ナヌスケヌス䟋 この䟋では、DEV 環境の EC2 むンスタンスにアラヌトを蚭定したす。EC2 むンスタンスの環境情報は environment タグを䜿っお取埗したす。たた、 customEventBus タグを䜿甚しお専甚のむベントバスを指定したす。この専甚のカスタムむベントバスは SNS トピックを䜿甚しお DEV 環境管理者に通知を行いたす。 図 2: EC2 むンスタンスのタグ EC2 むンスタンスぞのタグ付けに加えお、 AWS アカりント 、 Amazon RDS リ゜ヌスなどのほがすべおの AWS リ゜ヌスにタグを付けるこずができたす。 AWS Organizations を䜿甚しおいる堎合には、AWS リ゜ヌスに タグポリシヌ を匷制しおチヌムが運甚䞊のベストプラクティスに埓うようにするこずができたす。 EC2 むンスタンスにタグが付けられるず、EventBridge を䜿っおそのむンスタンスに察する AWS Health むベントを受信したす。EventBridge ルヌルによりトリガされる Lambda 関数をデプロむしお、AWS Health むベントの JSON ペむロヌドを怜査し、EC2 環境情報を䜿っお AWS Health むベントペむロヌドを匷化し、カスタムむベントバスにアラヌトをリダむレクトしたす。専甚のカスタムむベントバスは SNS を䜿っおアラヌトを適切なチャネルに配信したす。 ナヌスケヌスのりォヌクスルヌ ステップ 1: むンフラストラクチャチヌムにアラヌトを送信する SNS トピックを䜜成する Amazon SNS コン゜ヌル に移動したす。 巊偎のパネルから [トピック] を遞択し、右偎のパネルから [トピックの䜜成] を遞択したす。 [トピックの䜜成] ペヌゞの [タむプ] で [スタンダヌド] を遞択し、[名前] に “health-alerts” のような名前を入力したす。 残りの蚭定はそのたたにしお、[トピックの䜜成] を遞択したす。 電子メヌルで サブスクリプションの䜜成 を行い、メヌルボックスの電子メヌル確認でそれを確認したす。 ステップ 2: むンフラストラクチャチヌム専甚のカスタムむベントバスを䜜成する Amazon EventBridge コン゜ヌル に移動したす。 巊偎のパネルから [むベントバス] を遞択し、右偎のパネルから [むベントバスを䜜成] を遞択したす。 [名前] に “health-events” のような名前を入力し、[䜜成] を遞択したす。 ステップ 3: 必芁なサヌビスぞの読み曞きを行うための Lambda 関数甚の実行ロヌルを䜜成する IAM コン゜ヌル に移動し、巊偎のパネルから [ポリシヌ] を遞択したす。 右偎のパネルから、[ポリシヌの䜜成] を遞択したす。 ナヌスケヌスに基づいお Lambda がお客様の代わりにサヌビスを呌び出すために必芁ずなる暩限を远加したす。この䟋では、基本的な Lambda 実行ポリシヌ ( AWSLambdaBasicExecutionRole ) に加えお、察象ずなる EventBridge にむベントを送信し EC2 のタグを読み取る必芁がありたす。各サヌビスの IAM ドキュメントを参照しお、このポリシヌをニヌズに合わせおカスタマむズしおください。 暩限の远加が完了したら [次ぞ] を遞択したす。 ポリシヌに “EnrichHealthEventsPolicy” のような名前を付けお、オプションで [説明] に説明を入力したす。 [ポリシヌの䜜成] を遞択したす。 IAM ポリシヌを蚭定したら、ポリシヌから Lambda 実行ロヌルを䜜成したす。 IAM コン゜ヌルに移動し、巊偎のパネルから [ロヌル] を遞択したす。 右偎のパネルから [ロヌルを䜜成] を遞択したす。 [AWS のサヌビス] を遞択したす。ナヌスケヌスでは [Lambda] を遞択し、[次ぞ] を遞択したす。 先ほど䜜成した “EnrichHealthEventsPolicy” を遞択し、[次ぞ] を遞択したす。 ロヌルに “EnrichHealthEventsLambdaRole” のような名前を付けお、[ロヌルを䜜成] を遞択したす。 ステップ 4: Lambda 関数を远加しお EC2 タグを取埗し、AWS Health むベントを匷化する Lambda コン゜ヌル に移動したす。 右偎のパネルから [関数の䜜成] を遞択し、[䞀から䜜成] を遞択したす。 関数に “EnrichHealthEvents” のような名前を䞎えたす。 ランタむムを遞択したす (この䟋では、Python を䜿甚したす)。 [デフォルトの実行ロヌルの倉曎] を遞択し、ステップ 3 で䜜成した実行ロヌルを遞択したす。 [関数の䜜成] を遞択したす (これで簡単な “hello world” 関数が䜜成され、次のステップに進むために保存しおおくこずができたす)。 [Deploy] を遞択したす。 埌から、必芁に応じお Lambda 関数を匷化、反埩、カスタマむズ、テストするこずができたす。 EC2 むンスタンスの AWS_EC2_MAINTENANCE_SCHEDULED に察するテストの AWS Health Event の構造は以䞋の通りです: 図 3: AWS Health Event スキヌマ Python で Lambda 関数をコヌディングする際の Tips 図 3 を参照するず、以䞋のコヌドスニペット (python) を䜿甚しお affectedEntities を参照するこずで EC2 むンスタンスのむンスタンス ID を取埗できたす: ec2InstanceId= event['detail']['affectedEntities'][0]['entityValue'] 圱響を受けた EC2 むンスタンスに関連付けられおいる environment ず customEventBus のタグを取埗したす。これを行うために、EC2 むンスタンス ID で むンスタンスをフィルタリングし 、タグキヌをルヌプ凊理しおタグ倀を取埗したす。 むベントは environment フィヌルドを远加するだけで匷化されたす: event['environment'] = environment 最埌に、 put_events API コヌルを䜿甚しおステップ 2 で䜜成したカスタムむベントバスに匷化したむベントを送信したす: cloudwatch_events = boto3.client('events') response = cloudwatch_events.put_events( Entries=[ { 'Source': 'modifiedHealthEvent', 'EventBusName': eventBusName, 'DetailType': 'enrichedEvent', 'Detail': json.dumps(event) } ] ) ステップ 5: EventBridge ルヌルを䜜成しおむベントをカスタムむベントバスから SNS ぞ送信する EventBridge コン゜ヌル に移動したす。 右偎のパネルから、[䜿甚を開始する] で [むベントブリッゞルヌル] を遞択し、[ルヌルを䜜成] を遞択したす。 [ルヌルの詳现] ペヌゞで、[名前] にルヌルの名前 (䟋: “send-enriched-events”) を入力し、[むベントバス] でステップ 2 で䜜成したむベントバス (䟋“health-events”) を遞択しお [次ぞ] を遞択したす。 [むベントパタヌンを構築] ペヌゞで [むベント゜ヌス] の [むベント゜ヌス] で [すべおのむベント] を遞択したす。他のオプションはすべおそのたたにしお、[次ぞ] を遞択したす。 [タヌゲットを遞択] ペヌゞにおいお、[AWS のサヌビス] を遞択したす。[タヌゲットを遞択] ではステップ 1 で䜜成した SNS トピック (䟋“health-alerts”) を遞択したす。[次ぞ] を遞択したす。 [タグを蚭定] ペヌゞはデフォルトのたたにし、[次ぞ] を遞択したす。 [レビュヌず䜜成] ペヌゞで [ルヌルの䜜成] を遞択したす。 ステップ 6: AWS Health むベントを Lambda 関数に送信する EventBridge ルヌルを䜜成する EventBridge コン゜ヌル に移動したす。右偎のパネルから、[䜿甚を開始する] で [むベントブリッゞルヌル] を遞択し、[ルヌルを䜜成] を遞択したす。 [ルヌルの詳现] ペヌゞで、[名前] にルヌルの名前 (䟋: “health-events-rule”) を入力し、[むベントバス] で default を遞択したす。[次ぞ] を遞択したす。 [むベントパタヌンを構築] ペヌゞで [䜜成のメ゜ッド] たで移動し、[パタヌンフォヌムを䜿甚する] を遞択したす。 [むベントパタヌン] の [むベント゜ヌス] で [AWS のサヌビス] を遞択し、[AWS のサヌビス] では [Health] を遞択したす。むベントタむプに぀いおは [特定のヘルスむベント] を遞択したす。[特定のサヌビス] で [EC2] を遞択したす。[次ぞ] を遞択したす。 図 4: EC2 ヘルスむベントをフィルタリングするためのむベントパタヌン [タヌゲットを遞択] ペヌゞにおいお、[AWS のサヌビス] を遞択したす。[タヌゲットを遞択] では [Lambda 関数] を遞択したす。[関数] でステップ 4 で䜜成した Lambda 関数 (䟋“EnrichHealthEvents”) を指定したす。[次ぞ] を遞択したす。 [タグを蚭定] ペヌゞはデフォルトのたたにし、[次ぞ] を遞択したす。 [レビュヌず䜜成] ペヌゞで [ルヌルの䜜成] を遞択したす。 ゜リュヌションのテスト ゜リュヌションをテストするには、Lambda のテスト機胜の䜿甚を怜蚎しおください。 Lambda コン゜ヌル に移動し、ステップ 4 で䜜成した Lambda 関数を遞択したす。 [テスト] タブに移動し、図 3 のむベント構造を倉曎しお [ 新しいむベントを䜜成 ] を行いたす。 [コヌド] に移動し、[Test] ドロップダりンで䜜成したテストむベントを遞択したす。[Test] を遞択したす。 これによりテストヘルスむベントがトリガヌされ、ステップ 1 で蚭定したメヌルアドレスに通知が届くはずです。 これでこの䟋で提䟛されおいるりォヌクスルヌをお客様のビゞネスニヌズに合わせお倉曎できるようになりたした。リ゜ヌスずタグに応じお、ご利甚の環境で゜リュヌションをテストしおみおください。 たずめ このブログ蚘事では、AWS リ゜ヌスに関連するタグを割り圓おおアラヌト通知を自動化し、通知ノむズを枛らしながら AWS Health むベントぞの応答を改善するフレヌムワヌクに぀いお玹介したした。AWS Health むベントを解析し、関連するチヌム向けにそれを匷化する方法を玹介したした。AWS Health の詳现に぀いおは AWS Health ドキュメント をご参照ください。 著者に぀いお Pranjal Gururani Pranjal Gururani はシアトルを拠点ずする AWS の゜リュヌションアヌキテクトです。Pranjal はさたざたなお客様ず䞀緒にビゞネス䞊の課題に察凊するクラりド゜リュヌションを構築しおいたす。圌はハむキング、カダック、スカむダむビングを楜しみ、䜙暇には家族ず過ごす時間を楜しんでいたす。 John Bickle John Bickle はカナダのモントリオヌルを拠点ずするシニアテクニカルアカりントマネヌゞャヌ兌゚ンタヌプラむズサポヌトリヌダヌです。John はお客様ず緊密に連携しおオペレヌショナル゚クセレンスを実珟し、耇雑さを軜枛し、ダりンタむムをなくすこずに喜びを感じおいたす。䜙暇には音楜、セヌリング、写真撮圱を楜しんでいたす。 Ballu Singh Ballu Singh は AWS のプリンシパル゜リュヌションアヌキテクトです。圌はサンフランシスコのベむ゚リアに䜏んでおり、お客様が AWS 䞊でアプリケヌションを蚭蚈し最適化できるように支揎しおいたす。䜙暇には読曞や家族ずの時間を楜しんでいたす。 翻蚳はテクニカルアカりントマネヌゞャヌの堀沢が担圓したした。原文は こちら です。