TECH PLAY

AWS

AWS の技術ブログ

3297

本記事は 2024 年 10 月 8 日に公開された “ Amazon ElastiCache and Amazon MemoryDB announce support for Valkey ” を翻訳したものです。 AWS は設立以来、お客様がクラウドでオープンソースソフトウェアを構築・実行するための最適な場所となっています。AWS は、オープンソースプロジェクト、財団、パートナーを支援することを誇りにしています。私たちは、オープンソースが誰にとっても有益であると考えており、お客様にオープンソースの価値を、そしてオープンソースコミュニティに AWS の運用上の優秀性を提供することに尽力しています。 2024 年 3 月、Redis Inc. が Redis の将来のバージョンをオープンソースではなくする と発表してから 1 週間も経たないうちに、Linux Foundation、Redis OSS の開発者、およびコントリビューターが団結して Valkey プロジェクト を立ち上げました。Valkey は、オープンソースの高性能キーバリューデータストアです。Redis OSS の代替として設計されており、Linux Foundation が管理し、活発な開発者コミュニティからの貢献により急速に改善が進んでいます。Linux Foundation の下でプロジェクトをホストすることで、ベンダーの中立性が確保され、オープンソースライセンスが単一の組織の意向で取り消されたり変更されたりすることがないという安心感をコミュニティに提供しています。プロジェクト開始から 6 ヶ月で、50 万回以上のコンテナのダウンロード、数千件の貢献、40 社以上の企業からのサポートを得て、Valkey は急速に採用が進んでいます。 2024 年 10 月 8 日より、フルマネージド型インメモリサービスである Amazon ElastiCache と Amazon MemoryDB で Valkey 7.2 のサポートを開始しました。このブログでは、AWS の Valkey への貢献、ElastiCache と MemoryDB のお客様に Valkey をより利用しやすくするための AWS の取り組み、そしてお客様のアプリケーションでの Valkey の使用開始方法について説明します。 AWS の Valkey への貢献 AWS は Redis OSS への貢献の長い歴史を持っています。例えば、AWS は以前、Redis OSS 7 に キーとコマンドに対する細かなアクセス制御 、TLS セキュリティを可能にする クラスター構成のネイティブホスト名サポート 、そしてスケーラブルな pub/sub のための パーティション化されたチャネル など、いくつかの主要な機能を提供してきました。 今年初め、オープンソースの Valkey (および Redis OSS) 互換クライアントである Valkey General Language Independent Driver for the Enterprise (Valkey GLIDE) をリリースしました。Valkey GLIDE は、簡単に設定でき、Valkey および Redis OSS データストアに接続するための信頼性の高い方法です。GLIDE の立ち上げを決定したのは、お客様から、クライアントの設定ミス、不適切な接続管理、観測性の欠如により、オープンソースクライアントを使用する際にアプリケーションへの予期せぬ影響を軽減したいという声があったためです。GLIDE は、私たちの運用経験を活かしてお客様のワークロードの信頼性を向上させた一例です。アクティブな接続管理などの技術を使用することで、お客様は GLIDE をクライアントとして使用する際、予期せぬ障害時のアプリケーションの問題を減らすことができます。GLIDE は Java、Python、Node.js で利用可能で、また Go 実装についてもオープンソースコミュニティと協力して開発を進めています。 AWS は、パフォーマンスと信頼性の分野を含め、 オープンソースの Valkey 8.0 にも貢献しました。Valkey 8.0 の重要な機能の 1 つは、 新しい I/O スレッディングアーキテクチャ の導入で、これによりシステムの並列性が向上し、コマンドをより効率的に実行できるようになりました。この新しいアーキテクチャは、Redis OSS 7.2 のフォークである Valkey 7.2 と比較して、最大 230% 高いスループットと最大 70% 優れたレイテンシーを実現します。AWS はまた、 メモリオーバーヘッドを最大 20.6% 削減するメモリ最適化 にも貢献し、以前のバージョンと同じメモリ容量でより多くのデータを保存できるようになりました。 ElastiCache for Valkey 数十万のお客様が、アプリケーションのパフォーマンス向上、スケーラビリティの向上、コストの最適化を実現するために Amazon ElastiCache を使用しています。Prime Day 2024 では、 ElastiCache は 1 分あたり 1 兆リクエスト以上のピークを記録し、1 日で 1000 兆を超えるリクエストを処理しました 。ElastiCache for Valkey により、お客様はオープンソース技術に基づいたフルマネージド型のエクスペリエンスを活用しながら、ElastiCache が提供してきた 13 年以上の運用上の優秀性、セキュリティ、信頼性を活用できます。 本日( 訳註: 2024 年 10 月 8 日 )の発表により、AWS は Valkey をより多くのお客様にご利用いただけるようになりました。ElastiCache Serverless for Valkey の価格は、ElastiCache Serverless for Redis OSS と比べて 33% 低く、ノードベースの ElastiCache for Valkey は、他のノードベースの ElastiCache エンジンと比べて 20% 低く設定されています。ElastiCache Serverless for Valkey の最小キャッシュサイズは 100MB で、ElastiCache Serverless for Redis OSS の 1GB と比べて小さくなっています。これらの価格変更により、お客様はより低価格で Valkey の利用を迅速に開始できるようになりました。たとえば、お客様は ElastiCache Serverless for Valkey を使用して、1 分以内にキャッシュを作成でき、月額 6 ドルからご利用頂けます。さらに、ElastiCache のリザーブドノードをご利用のお客様は、ElastiCache for Redis OSS から ElastiCache for Valkey に簡単に切り替えることができ、同じファミリー内のすべてのノードサイズで既存の割引されたリザーブドノードレートを維持できます。 MemoryDB for Valkey Amazon MemoryDB は、Valkey および Redis OSS 互換の耐久性を持ったインメモリデータベースサービスで、超高速のパフォーマンスを提供します。MemoryDB では、データがメモリに格納されるため、マイクロ秒単位の読み取りと 1 桁ミリ秒の書き込みレイテンシー、高いスループットを実現できます。本日( 訳註: 2024 年 10 月 8 日 )より、MemoryDB でも Valkey 7.2 を利用できるようになりました。MemoryDB for Valkey は、MemoryDB for Redis OSS と比較して 30% 低価格です。ElastiCache と同様に、MemoryDB のリザーブドノードを使用しているお客様は、MemoryDB for Redis OSS から MemoryDB for Valkey に簡単に切り替えることができ、同じファミリー内のすべてのノードサイズで既存の割引されたリザーブドノードレートを維持できます。 今後の展望 Valkey プロジェクトのサポーターとして、私たちは Valkey 開発者の幅広いコミュニティと協力し、最も機能豊富なインメモリ型キーバリューデータストアを構築し、これらのイノベーションを ElastiCache と MemoryDB にもたらします。 ElastiCache for Valkey と MemoryDB for Valkey は、これらのサービスをサポートするすべての AWS リージョンで利用できるようになりました。ElastiCache for Valkey と MemoryDB for Valkey の使用開始方法については、 Amazon ElastiCache for Valkeyの開始方法 、 Amazon MemoryDB for Valkeyの開始方法 のステップバイステップガイドをご参照ください。 この記事の翻訳は Solutions Architect の堤 勇人が担当しました。 著者について Rashim Gupta は AWS のシニアマネージャー、プロダクトマネジメントで、Amazon ElastiCache と Amazon MemoryDB のプロダクト責任者を務めています。AWS で 6 年以上の経験を持ち、コンピュート、ストレージ、データベースの分野でプロダクトマネージャーとして活躍しています。
本記事は 2024 年 10 月 8 日に公開された “ Get started with Amazon MemoryDB for Valkey ” を翻訳したものです。 2024年10月8日、 Amazon MemoryDB は Valkey バージョン 7.2 のサポートを発表しました。これは、Amazon MemoryDB for Redis OSS と比較してインスタンス時間あたりの料金が 30% 低くなっています。MemoryDB for Valkey では、月間 10 TB までのデータ書き込みに対して料金は発生せず、10 TB を超えるデータ書き込みに対しては 1 GB あたり 0.04 ドルで課金されます。Valkey は、Linux Foundation が管理し、40 社以上の企業が支援するオープンソースの高性能キーバリューデータストアです。Valkey は Redis OSS の代替として、長年 Redis OSS のコントリビューターおよびメンテナーを務めてきた開発者によって開発されました。2024 年 3 月のプロジェクト開始以来、急速に採用が進んでいます。AWS は Valkey プロジェクトに 積極的に貢献 しています。この発表により、お客様はオープンソース技術に基づいて構築されたフルマネージド型のエクスペリエンスを享受しつつ、ElastiCache が提供してきた 13 年以上の運用の卓越性、セキュリティ、信頼性を活用できるようになります。 この記事では、MemoryDB for Valkey の概要、その利点、そして MemoryDB for Redis OSS データベースを MemoryDB for Valkey データベースにアップグレードする方法について説明します。 MemoryDB for Valkey の概要 Amazon MemoryDB は、Valkey および Redis OSS 互換の、耐久性のある、インメモリデータベースサービスで、超高速のパフォーマンスを提供します。MemoryDB は、分散トランザクションログを使用して複数のアベイラビリティーゾーン (AZ) にわたってデータを耐久性をもって保存し、高速なフェイルオーバー、データベースの復旧、ノードの再起動を可能にします。MemoryDB for Valkey は、ユーザーセッションデータ、メッセージストリーミング、ゲームのリーダーボードなど、耐久性のあるストレージと超高速のパフォーマンスを必要とするアプリケーションに使用できます。MemoryDB for Valkey は、AWS 上の一般的なベクトルデータベースの中で、最高の再現率で最速のベクトル検索パフォーマンスを提供します。MemoryDB は高可用性を提供し、データ階層化によってより低コストでスケーリングできます。AWS は MemoryDB を通じて Valkey をマネージドサービスとして提供することで、お客様自身で Valkey を管理する運用負荷なしに、その広範な機能を活用できるようにします。MemoryDB for Valkey は現在、MemoryDB がサポートされているすべての AWS リージョンで利用可能です。 MemoryDB for Valkey の利点 低価格: MemoryDB for Valkey では、MemoryDB for Redis OSS と比較してインスタンス時間あたりの価格が 30% 低く、月間 10 TB までのデータ書き込み料金が無料になり、コストを最適化できます。10 TB を超えるデータ書き込みについては、MemoryDB for Redis OSS と比較して 80% 低い 1 GB あたり 0.04 ドルの価格設定となっています。 パフォーマンス: MemoryDB は、読み取りにマイクロ秒単位の応答時間、書き込みに一桁ミリ秒の応答時間を必要とする高性能アプリケーション向けに構築されています。 運用の卓越性: MemoryDB for Valkey は、オープンソース技術を基盤とし、AWS のセキュリティ、運用の卓越性、99.99% の可用性、信頼性を活用したフルマネージド型のエクスペリエンスを提供します。 API 互換性: MemoryDB for Valkey は Redis OSS の API とデータ形式と互換性があり、顧客はコードの書き直しやアーキテクチャの変更なしにアプリケーションを移行できます。 ダウンタイムゼロの移行: 既存の MemoryDB for Redis OSS ユーザーは、ダウンタイムなしで MemoryDB for Valkey に迅速にアップグレードできます。 継続的なイノベーション: AWS の Valkey サポートへのコミットメントにより、顧客は安定したソリューションを採用するだけでなく、将来の成長とイノベーションに向けた準備も整えることができます。Valkey コミュニティがプロジェクトの開発と強化を続けるにつれ、AWS の顧客は継続的な改善と新機能の恩恵を受け、アプリケーションの競争力を維持できます。AWS も Valkey に積極的に貢献しており、詳細は Amazon ElastiCache と Amazon MemoryDB の Valkey サポートを発表 の記事でご覧いただけます。 ソリューションの概要 わずか数ステップで MemoryDB for Valkey を始めることができます: MemoryDB for Valkey データベースを作成します。 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成します。 valkey-cli ユーティリティをダウンロードしてセットアップします。 アプリケーションからデータベースに接続します。 以下のセクションでこれらのステップを順を追って説明します。その後、データベースでの基本的な操作の実行方法を示します。また、MemoryDB for Redis OSS から MemoryDB for Valkey へのアップグレード方法についても説明します。 MemoryDB for Valkey データベースの作成 Amazon MemoryDB for Valkey データベースは、AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、または MemoryDB API を使用して作成できます。以下のコードは、AWS CLI を使用して MemoryDB for Valkey データベースを作成する例です。MemoryDB で Valkey リソースを使用するには、CLI のバージョンが最新であることを確認してください。 aws memorydb create-cluster \ --cluster-name memorydb-valkey-cluster \ --node-type db.r6g.large \ --acl-name open-access \ --subnet-group-name basic-subnet-group \ --engine valkey \ --tls-enabled \ --region us-east-1 describe-clusters コマンドを使用して、MemoryDB データベースの作成プロセスのステータスを確認できます。 aws memorydb describe-clusters \ --cluster-name memorydb-valkey-cluster \ --region us-east-1 { "Clusters": [ { "Name": "memorydb-valkey-cluster", "Status": "available", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "Engine": "valkey", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "ParameterGroupName": "default.memorydb-valkey7", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "basic-subnet-group", "TLSEnabled": true, "ARN": "arn:aws:memorydb:xxx:xxx:cluster/memorydb-valkey-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "fri:05:00-fri:06:00", "SnapshotWindow": "03:00-04:00", "ACLName": "open-access", "AutoMinorVersionUpgrade": true, "DataTiering": "false" } ] } MemoryDB for Valkey データベースへの接続のための EC2 セットアップ MemoryDB には、同じ VPC 内の EC2 インスタンスから、または VPC ピアリングを使用して異なる VPC 内の EC2 インスタンスからアクセスできます。EC2 インスタンスの作成手順については、 Amazon EC2 の開始方法 をご覧ください。 MemoryDB for Valkey データベースは、ポート 6379 を使用します。EC2 インスタンスから正常に接続し、Valkey コマンドを実行するためには、セキュリティグループがこのポートへのアクセスを必要に応じて許可している必要があります。 valkey-cli ユーティリティのダウンロードとセットアップ EC2 インスタンスに接続し、以下のコマンドを実行して valkey-cli ユーティリティをダウンロードします。 sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.7.tar.gz tar xvzf 7.2.7.tar.gz cd valkey-7.2.7/ make BUILD_TLS=yes install Valkey エンジンに接続してコマンドを実行するための valkey-cli の使用方法の詳細な手順については、 Valkey CLI を参照してください。 MemoryDB for Valkey データベースへの接続 MemoryDB for Valkey データベースに接続するには、AWS CLI コマンド describe-clusters を使用して新しいデータベースのエンドポイントを取得します。以下のように memorydb クラスターの設定エンドポイントを見つけることができます: aws memorydb describe-clusters \ --cluster-name memorydb-valkey-cluster \ --region us-east-1 "ClusterEndpoint": { "Address": "clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com", "Port": 6379 } valkey-cli ユーティリティ を使用して MemoryDB for Valkey データベースに接続する valkey-cli -h clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com -p 6379 -c --tls -h = ホスト名 -p = ポート -c = クラスターモード –tls = TLS 有効クラスター これで、MemoryDB for Valkey データベースに対して基本的な GET および SET 操作を実行する準備が整いました。以下は、Valkey において HASH オブジェクトを作成するための HSET 操作の例です。Valkey のハッシュは、フィールドと値のペアのコレクションを格納するために使用されるデータ構造です。ハッシュは、複数の属性 (名前、年齢、メールアドレスなど) を持つユーザープロファイルのように、オブジェクトを表現したり、関連データを単一のエンティティに格納したりする必要がある場合に便利です。 clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com:6379> hset car:1 make ferrari model sf90spider year 2024 engine "4.0 L V8" horsepower 769hp transmission "8-speed auto" price 580000 (integer) 7 clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com:6379> 前述の操作により、make、model、year、engine、horsepower、transmission、price などの属性を持つ HASH オブジェクト car:1 が作成されます。 これで、HMGET または HGETALL 操作を使用して、個別または全てのフィールドと値のペアを取得できます。 clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com:6379> HMGET car:1 make model price 1) "ferrari" 2) "sf90spider" 3) "580000" clustercfg.memorydb-valkey-cluster.xxx.amazonaws.com:6379> MemoryDB for Redis OSS から MemoryDB for Valkey へのアップグレード わずか数回のクリックで、MemoryDB for Redis OSS の既存ユーザーはダウンタイムなしで MemoryDB for Valkey にアップグレードできます。以下の手順を実行してください: MemoryDB コンソールで、ナビゲーションペインの「クラスター」を選択します。 アップグレードの準備ができている MemoryDB for Redis OSS クラスターを選択します。 「修正」を選択します。 「エンジン」で、Valkey を選択します。「変更をプレビュー」を選択します。 変更の概要を確認できます。 「変更を保存」を選択して、エンジンを Redis OSS から Valkey に変更することを確認します。「クラスターは正常に変更されました。」という通知が表示されます。 既存の MemoryDB for Redis OSS データベースは Updating のステータスになります。 アップグレードが成功すると、 memorydb-redisoss-cluster は新しいエンジンタイプとして Valkey を表示し、ステータスは Available になります。 アプリケーションへの影響を最小限に抑えながら、エンジンを Redis OSS から Valkey にアップグレードしました。 クリーンアップ 最小権限の原則を維持し、将来の料金発生を避けるため、このポストの一部として作成したリソースを削除してください。MemoryDB クラスター (詳細については クラスターの削除 を参照) と EC2 インスタンス ( delete-instance ) を削除してください。 まとめ MemoryDB への Valkey サポートの追加は、アプリケーション向けの堅牢なオープンソースソリューションを提供するという AWS のコミットメントにおいて、大きな前進を表しています。まだサインアップしていない場合は、MemoryDB ページで「開始する」を選択し、サインアッププロセスを完了できます。サインアップ後、Valkey については MemoryDB の使用開始 ページを参照してください。その後、MemoryDB コンソール、AWS CLI、または MemoryDB API を使用して、数分でデータベースクラスターを作成できます。 この記事の翻訳は Solutions Architect の堤 勇人が担当しました。 著者について Madelyn Olson は Valkey プロジェクトのメンテナーであり、Amazon ElastiCache と Amazon MemoryDB のプリンシパルソフトウェア開発エンジニアとして、Valkey エンジンの安全で高信頼性の機能の構築に注力しています。プライベートでは、長時間のハイキングや穏やかなサイクリングを通じて、太平洋岸北西部の自然の美しさを楽しんでいます。 Goumi Viswanathan は、Amazon インメモリデータベースチームのシニアプロダクトマネージャーです。12 年以上の製品開発経験を持ち、データベースソリューションを提供するクロスファンクショナルチームのリーダーとして活躍しています。仕事以外では、旅行やアウトドア活動を楽しんでいます。 Siva Karuturi は、テキサス州ダラスを拠点とするインメモリデータベースのワールドワイド・スペシャリスト・ソリューションアーキテクトです。Siva はさまざまなデータベース技術 (リレーショナルと NoSQL の両方) を専門とし、複雑なアーキテクチャの実装を支援し、クラウドコンピューティング、ガバナンス、セキュリティ、アーキテクチャ、高可用性、災害復旧、パフォーマンス向上を含むインメモリデータベースおよび分析ソリューションのリーダーシップを提供しています。仕事以外では、アンソニー・ボーデイン風に旅行や様々な料理を味わうことが好きです!
この記事は、 Small Business, Big Tech: Why SaaS is Your Organization’s Secret Weapon を翻訳したものです。 ペースの速いデジタル主導のビジネスの世界では、ソフトウェアは 中小企業 (SMB) の成功の礎となっています。業務の合理化や顧客関係の管理から、イノベーションの推進や生産性の向上に至るまで、ソフトウェアはビジネスを前進させる基本的な原動力です。 幸いなことに、 Software as a Service (SaaS) は画期的な武器として登場し、中小企業の期待を上回る成果を上げて、かつては大企業に限られていた最先端の機能にアクセスできるようになりました。SaaS では、多額の先行投資、社内の IT インフラストラクチャ、時間のかかるソフトウェア更新が不要になり、顧客が強力なソリューションを手頃な価格で利用できるようになります。 このブログ記事では、SaaS 企業がどのようにして公平性を生み出し、すべての中小企業がデジタル時代に成功できるようになったのかを探ります。スケーラビリティや価値を創出するまでの時間の短縮、セキュリティの強化、シームレスなコラボレーションなど、クラウドベースのアプリケーションがもたらす利点について詳しく説明します。最後には、SaaS がどのようにしてビジネスに圧倒的な競争力をもたらし、競合他社を打ち負かして長期的な成功を収めることができるかがわかります。 中小企業のジレンマ 中小企業は、予算が少なく、リソースに制約があり、ブランド認知度が限られているため、大企業との競争において重大な課題に直面することがよくあります。多くの中小企業経営者にとって、複雑なソフトウェアソリューションを実装して維持することは大きな負担となります。迅速に適応し、効率的に運用する必要性は不可欠ですが、財務上および運用上の制約により、業界をリードするソリューションにアクセスすることは困難です。このテクノロジーギャップは大きな障害となり、小規模な組織が大規模な競合他社に追いつくのを妨げています。 SaaS が救いの手を差し伸べる 従来のオンプレミスソフトウェアアプリケーションをクラウドベースのモデルに移行できる SaaS の登場は、中小企業にとって画期的な武器となりました。 顧客関係管理 (CRM) 、プロジェクト管理、会計、 カスタマーエクスペリエンスサポート などのさまざまな機能のための独自のソフトウェアアプリケーションの開発と保守ではなく、差別化された価値とブランドの構築に集中できるようになりました。 AWS Marketplace では、中小企業のあらゆるビジネス機能に役立つ 100,000 を超える SaaS ソリューションを検索できます。これらのクラウドベースの SaaS ソリューションは、データ セキュリティ 、スケーラビリティ、レジリエンシーに対応し、社内に大規模な IT スタッフやインフラストラクチャを必要とせずに効率と生産性を高めます。SaaS プロバイダーは従量課金制のライセンスを提供しているため、手頃な価格で柔軟性があります。中小企業は、多額の初期費用や長期的なコミットメントなしで、必要なものだけをサブスクライブし、必要に応じて拡張し、最小限のリスクで新しいソリューションを試すことができます。 競争力 : SaaS が中小企業の成功にどのように役立つのか オンデマンドのスケーラビリティ : SaaS ソリューションはオンデマンドの容量と価格設定を提供するため、中小企業は費用のかかるインフラストラクチャへの投資や人員変更なしに、変化するビジネス需要に適応できます。この俊敏性により、中小企業は市場の変化に迅速に対応し、新たな成長機会が生じたときにそれを活用することができます。 価値創出までの時間の短縮 : SaaS ソリューションは、従来のソフトウェア実装に通常かかる期間である数か月ではなく、数日または数週間で導入および統合できます。このように価値創出までの時間が短縮されることで、競合他社を圧倒する重要な優位性が得られ、革新的な製品やサービスを迅速に市場に投入できるようになります。 シームレスなコラボレーション : SaaS ソリューションは、地理的な障壁を打ち破り、リモートチーム間のシームレスなコラボレーションを促進します。これは、従業員が分散している中小企業にとって特に有益であり、プロジェクトを調整し、情報を共有し、より効果的に顧客にサービスを提供できるようになります。 セキュリティの強化 : SaaS 企業はアプリケーションのセキュリティ、バックアップ、規制コンプライアンスを管理し、中小企業の負担を大幅に軽減します。このリスク軽減により、中小企業はデータ保護やコンプライアンスの複雑さを心配することなく、中核となる事業活動に集中できます。 継続的なイノベーション : SaaS ソリューションは最新の機能で継続的に更新されています。これらの定期的な更新により、コストのかかるソフトウェアアップグレードを必要とせずに最先端の機能を活用できるため、ペースの速い市場での競争力を維持できます。 直感的なユーザーエクスペリエンス : SaaS ソリューションは顧客中心の設計を採用し、直感的なユーザーインターフェイスと合理化されたオンボーディングプロセスを提供します。これにより、これらのソリューションの導入と拡張が容易になり、従業員の生産性が向上し、優れた顧客体験を提供できるようになります。 戦略的実装 中小企業が SaaS ソリューションを効果的に評価、選択、利用開始するためのステップは次のとおりです。 ビジネスニーズの特定 : このステップでは、ビジネス要件と直面している具体的な課題を十分に理解する必要があります。SaaS ソリューションに求める特定の特徴、機能、能力を判断してください。必須要件を特定し、事業運営における重要性に基づいて優先順位を付けます。要件をランク付けすることで、ビジネスに適したツールを評価して選択する際に、最も重要な機能に焦点を当てることができます。 オプションの調査と評価 : 徹底的な市場調査を実施して、業界とビジネスのニーズに応える SaaS ソリューションを特定します。AWS Marketplace は、ビジネスインテリジェンス、CRM、セキュリティ、ネットワーキング、プロジェクト管理など、さまざまなカテゴリにわたる製品の選択肢を提供しています。これにより、要件を満たすさまざまなソリューションを簡単に見つけて評価できます。各 SaaS プロバイダーの機能、価格設定、スケーラビリティ、データセキュリティ、およびカスタマーサポートを評価してください。他の中小企業からのレビュー、ケーススタディ、お客様の声を読みましょう。要件に最も適したプロバイダーの候補リストを用意してください。 技術的およびオペレーション影響の評価 : SaaS ソリューションと既存のシステムおよびプロセスとの統合機能を評価します。現在の IT インフラストラクチャやビジネスワークフローとシームレスに統合できることを検証してください。統合と継続的な管理に必要な IT サポートとリソースのレベルを決定します。事業運営への影響、ワークフローの変更、ユーザートレーニング、必要なデータ移行を評価します。 データセキュリティとコンプライアンス : 機密性の高いビジネスデータを保護するために、SaaS プロバイダーのセキュリティプロトコル、データ暗号化、アクセス制御、および障害復旧計画を評価してください。このソリューションが、 医療保険の相互運用性と説明責任に関する法律 (HIPAA) 、 ペイメントカード業界データセキュリティ基準 (PCI DSS) 、または 一般データ保護規則 (GDPR) の要件など、お客様のコンプライアンスニーズに対応しているかを確認してください。組織とプロバイダー間のデータセキュリティとコンプライアンスに関する 責任共有モデル を理解してください。データセキュリティとコンプライアンスを維持する上での両当事者の役割と責任を明確に定義して、協調的かつ効果的なアプローチを促進してください。AWS Marketplace には、掲載されている SaaS プロバイダー向けの厳しいセキュリティ基準とコンプライアンス基準があります。これは、規制の厳しい業界で事業を行っている企業や機密データを扱う企業にとって特に重要です。 財務 上および契約上の考慮事項の評価 : 目に見えないコストや手数料を含め、価格設定モデルを理解してください。ビジネスニーズに合致し、要件の変化に応じて拡張できる最適な価格プランを決定してください。成長率に応じてボリュームディスカウントを依頼してください。サービスレベルアグリーメント (SLA) を確認し、アップタイム、データセキュリティ、およびサポートに対するプロバイダーの取り組みを理解してください。お客様固有の要件に合った、有利な契約条件を交渉してください。AWS Marketplace は、SaaS ソリューションを発見、評価、購入するための一元化されたプラットフォームを提供することで、調達プロセスを簡素化します。一部の SaaS プロバイダーは、ボリュームディスカウントを提供するプライベートプライシング契約を提供しています。AWS Marketplace では、請求とレポートを一元管理できるので、企業は複数のベンダーやアプリケーションにまたがる SaaS 支出をより適切に管理および最適化できます。 SaaS ソリューションのパイロット : 少数のユーザーグループを対象にトライアルまたはパイロット実装を実施し、SaaS ソリューションの機能、使いやすさ、ビジネスへの適合性を評価します。パイロットユーザーからフィードバックを収集し、ソリューションのパフォーマンスと運用への影響を評価します。パイロットフェーズは、SaaS ソリューションを組織全体に展開する前に、潜在的な課題や障害を発見して対処するのに役立ちます。 利用開始 の計画と実行 : 導入を成功させるために必要なステップ、タイムライン、リソース、役割分担を概説した詳細な実装計画を作成します。シームレスな移行のために SaaS ソリューションを使用するすべての従業員に変更を伝え、包括的なトレーニングを提供します。実装プロセスを管理し、進捗状況を監視し、発生する可能性のある課題に対処するプロジェクトマネージャーまたは専任チームを指名してください。ソリューションのパフォーマンスを定期的に監視し、システムを維持し、ユーザーに継続的なサポートを提供するための構造化されたプロセスを実装します。AWS Marketplace には、SaaS ソリューションのデプロイと統合のさまざまな側面を支援できるコンサルティングパートナーと実装パートナーのパートナーエコシステムがあります。 AWS Marketplace パートナーディレクトリ でこれらのパートナーを検索し、交流することができます。 継続的な評価と最適化 : SaaS ソリューションのパフォーマンス、ユーザーによる運用、進化するビジネス要件との整合性を継続的に評価します。ユーザーからのフィードバックを収集して、SaaS ソリューションの機能、使いやすさ、またはビジネスプロセスとの統合を改善する機会を特定します。SaaS プロバイダーの製品ロードマップを定期的に見直し、事業運営をさらに最適化できるような新機能の導入を検討してください。SaaS プロバイダーとの継続的な対話を続けて、製品の更新、新機能、およびビジネスに影響を与える可能性のある変更について常に情報を入手してください。 次のステップ 結論として、中小企業が大規模な競合他社がもたらす課題を克服する上で、SaaS は大きな役割を果たすことができます。SaaS ソリューションはお客様のビジネスニーズに合わせて拡張でき、柔軟なオンデマンド価格設定が可能で、一般的なビジネス機能のために独自のソフトウェアを管理する手間が省けます。中小企業は、成長を促進し、生産性を高め、最終的には長期的な成功を達成するために、これらの革新的なテクノロジーを採用する必要があります。 SaaS への取り組みを始めるには、AWS Marketplace を検索してビジネスニーズに合った SaaS ソリューションを探し、 今すぐお問い合わせ いただくか、 AWS SaaS パートナー と直接相談してください。 翻訳はソリューションアーキテクト 江成 篤 が担当しました。原文は こちら です。
このブログは、大和総研様の商用データベースからの移行についてのシリーズ記事の第三回目になります。これ以前の記事については「大和総研が CRM システムを商用データベースから Amazon Aurora PostgreSQL に移行 Part 1 と Part 2 」をご参照ください。今回は、Aurora PostgreSQLへの移行後の効果や課題についてご紹介します。 本番リリース 2020 年 4 月に要件定義が開始し 2 年半後の 2022 年 10 月に当該システムがリリースされました。現時点で安定して稼働していますが、本番リリース直後に対処が必要な課題が発生しました。 AWS 移行後の課題 ・リリース直後の負荷高騰 本番リリース時の Aurora クラスターは、Writer インスタンス 1 台と Reader インスタンス 1 台の 2 台で構成していました。これは、システムの初期リリース時の想定負荷に合わせた設計でしたが、実際にはリリース後に予想以上の負荷によりデータベースサーバーの負荷が高騰し、パフォーマンス問題が発生しました。お客様はワークアラウンドとして Aurora インスタンスのスケールアップと Reader インスタンスを2台追加することでこのパフォーマンス問題を解消しました。 ・パフォーマンス遅延 特定の機能を実行した時に処理が遅延する事象が発生しました。事象について調査したところ、該当機能を実行した時の SQL で遅延が発生していました。さらに調査した結果、テスト環境と本番環境でデータの値に差異があり、テスト環境では本番とは異なる実行計画で実行されていることがわかりました。これにより、大量の読み込みが発生し SQL が遅延している状況でした。対処として、該当 SQL に対して読み込みを抑えるようなチューニングを実施することで、問題を改善しました。 AWS 移行による効果 AWS への移行がリリースされてから約 1 年半が経過し、移行による効果として以下 3 つを確認しています。 ・リソースの最適化 Aurora PostgreSQL への移行により、リソース管理の柔軟性が大幅に向上しました。従来のシステムでは数年先を見越してリソースを確保する必要がありましたが、Aurora PostgreSQL ではニーズに応じて迅速にリソースを調整できるようになりました。これにより、ビジネスの成長や変化に合わせて最適なリソース配分が可能となり、効率的なシステム運用が実現しました。 さらに、マネージドサービスの活用により、運用管理の効率が飛躍的に向上しました。多くの機能がマネージドサービスを通じて提供されるため、リリース後の運用管理が大幅に簡素化されました。これにより、開発部門は戦略的なプロジェクトにより多くの時間とリソースを割り当てることが可能になりました。また、移行前と比較してライセンスコストなど運用費用は、大幅な削減を実現しました。 ・柔軟なスケーリング リリース直後の負荷高騰に対して、柔軟なスケーリングで対処できたことはオンプレミスのデータベースではできなかった対応の一つであり移行による効果と言えます。また、先に紹介した問題の解消後、ワークロードの分析とチューニングを実施して負荷を軽減することで、Reader インスタンスの台数も減らすことができました。最終的には、Writer インスタンスと Reader インスタンスを本番リリース当初の 1 台ずつに戻すことができています。さらに、上記パフォーマンス問題の経験から、その後のリリースの時には事前のチューニングとモニタリングを強化し、必要に応じて Reader インスタンスの台数を増やすことで、問題発生を事前に防ぐような運用を実現することができました。 ・パフォーマンス管理 オンプレミスのデータベースでは、データベースのリソース状況を確認するためには問題発生時点のレポートを作成してそれを元に調査する運用でした。このため、リアルタイムの監視が難しく、パフォーマンス問題が発生した後に原因を調査するといったリアクティブな対応が多くなっていました。AWS への移行により Amazon RDS Performance Insights を使ってリソース状況をリアルタイムで確認できるようになりました。現在では、毎朝 Performance Insights のダッシュボードで主要なメトリクスを確認して、問題がありそうな事象があれば対応するといったプロアクティブな活動を行っています。このように、監視業務の効率化、リアルタイムでの問題発見、プロアクティブな対処が可能になった点も、AWS 移行による効果と言えます。 まとめ 大和総研様では、今回の AWS への移行で、単なるコスト削減を超えて、システムの柔軟性とプロアクティブな運用による安定したシステム運用を実現することができました。この結果、システムを利用している大和証券の担当者様からは満足度が高いシステムであるという評価が得られました。 データベースエンジンの変更は一般的に二の足を踏むことも多い中、大和総研様で今回のデータベースエンジン変更を実現できた要因については、お客様の理解と協力がありました。移行担当の責任者である久保様は、 「今回のデータベースエンジン変更について、お客様とは移行するメリットだけではなく移行した時のリスクやそのリスクに対する回避案についてディスカッションしました。結果としてリスクテイクが必要なケースもありましたが、お客様自体がクラウド移行に向けて前向きに検討したことで、AWS 移行を進めることができたと考えています。」 と述べられています。 今後、さらに柔軟で付加価値の高いサービスを迅速に提供するために、AWS のサービスを活用していく予定です。 終わりに 三回にわたって、大和総研様の商用データベース移行についてご紹介しました。今回、事例化に当たりまして、大和総研の小野寺様、岩波様、久保様、プラ様、守屋様には、多大なご協力をいただき心より感謝申し上げます。 今回のデータベース移行の実績を契機に、大和総研様では他社へのデータベース移行支援も積極的に展開される予定です。データベース移行を検討中の方は、以下の問い合わせフォームからご相談ください。 https://it-solution.dir.co.jp/inquiry_seminar (写真左から) 株式会社大和総研 クラウドソリューション部 部長 守屋 史明様 株式会社大和総研 リテールフロントシステム部 データサイエンティスト プラスティ バンダラ バラッマネ様 株式会社大和総研 リテールフロントシステム部 部長 久保 諭史様 株式会社大和総研 システムインフラ設計部 小野寺 正樹様 株式会社大和総研 システムインフラ設計部 岩波 祥平様 また、ブログ掲載にあたり、 株式会社大和総研 クラウドソリューション部 石川 真由美様 ご多用の中、ご調整ならびにご対応・協力いただきありがとうございました。改めて感謝申し上げます。
この連載の最初の記事「 大和総研が CRM システムを商用データベースから Amazon Aurora PostgreSQL に移行 Part 1 」では、大和証券様の CRM システムを商用データベースから Aurora PostgreSQL に移行した際の移行検討段階について、アセスメントや検証の内容などをご紹介しました。 このアセスメント結果を踏まえ、商用データベースから Aurora PostgreSQL への移行プロジェクトが開始されました。 移行プロジェクト開始 移行プロジェクトは、2020 年 4 月に開始され、2022 年 10 月にリリースされました。 移行作業では AWS Schema Conversion Tool(以下SCT)を使用してDDL 文を Aurora PostgreSQL に変換しました。アプリケーションについては、MyBatis 形式のソースコードが SCT に対応していなかったため(現在は対応済)、手作業での SQL の書き換え作業を実施しました。移行を担当した大和総研様では、商用データベースについての経験は豊富でしたが、PostgreSQL についての経験が少なく、データベースエンジンの移行に対するノウハウも不足していましたが、PostgreSQL が商用データベースに近いアーキテクチャーであった為、商用データベースの知識やノウハウをベースに移行開発を進めることができました。また、AWS のプロフェッショナルサービスによるバックエンドの移行支援もありました。プロジェクトとしては順調に進んでいましたが、データベースの移行に伴ういくつかの課題も発生しました。 課題1:パフォーマンス PostgreSQL に書き換えた SQL の一部で、パフォーマンスが低下する事象が発生しました。遅延した原因を調査した結果、2 つの事象が発生していました。 1. 実行計画の差異 事象:当該システムで作成された SQL はサブクエリを多用しており、ネストが深いサブクエリもあるなど複雑な構造の SQL がありました。このような SQL に対して、商用データベースでは実行計画をコントロールするためにサブクエリ内でのヒント句を使用するなど、パフォーマンスチューニングが施されていました。 一方、PostgreSQL に変換した SQL の中には、PostgreSQL 用に最適化が必要な SQL もありました。特にサブクエリに指定されていたヒント句は PostgreSQL ではクエリ全体に適用されてしまう仕様であったため、対処が必要な状況でした。 対処:基本的には、pg_hint_planという拡張オプションを採用して実行計画をコントロールすることで対処しました。サブクエリに指定されていたヒント句については、テーブル構成の変更やSQL自体を一部書き換えるなど、PostgreSQL に最適なパフォーマンスが得られるよう試行錯誤を繰り返しながら、SQL のチューニングを実施しました。 2. 不要な読み込みの改善 事象:SQL の変換やチューニングを実施する中で、商用データベースで実行されていたSQLに改善の余地があることがわかりました。具体的には、商用データベースではデータ取得用の SELECT 文とデータ件数を取得する SQL を2 回実行していて、1 回あたりの処理時間やデータベースの負荷が高い状況でした。 対処:PostgreSQL の SELECT に変換する際に、OVER 句を使用したウィンドウ関数を使用することでデータ取得と件数を1 回で実行できるよう変更しました。 このようなチューニングを実施した結果、パフォーマンスについては商用データベースの時と同程度の状態に改善されました。 課題2:エラー時の結果差異 アプリケーションの異常系テスト中に、エラー発生時の結果に差異が生じました。商用データベースの場合、トランザクションを rollback する際、トランザクションの一部のみが rollback されますが、PostgreSQL の場合、すべてが rollback されるという仕様の違いがあります。例えば、以下のようにトランザクション内で INSERT 処理が一意制約違反でエラーになった場合、商用データベースではエラーのみが例外処理されますが、PostgreSQL の場合はトランザクション内で実行されたすべての INSERT 文が rollback されます。 この仕様差異により、異常時の結果が商用データベースと PostgreSQL で異なる状態になっていました。この問題に対しては、エラー後のリトライ処理でトランザクション内の全ての更新処理が rollback されることを前提にアプリケーションを修正することで対処しました。 このように、発生した課題を一つずつ解決していくことで、移行プロジェクトは無事カットオーバーを迎えることができました。 Part 3 に続く。
大和総研は、長年培ってきたIT分野における多くの実績とノウハウを基盤として、証券会社、銀行等の金融機関に加え、事業会社、官庁および地方自治体、健康保険組合といった公共団体等の幅広いお客様に向けて、戦略的かつ効率的な業務改革に資するコンサルティング、ならびに安全性の高い情報システムサービスを展開している AWS のパートナーです。大和総研では、大和証券の顧客情報管理システム(以下「CRM システム」)を 2022 年に全面更改しました。この更改のタイミングで、データベースエンジンを商用データベースから Aurora PostgreSQL に移行しています。本ブログでは、商用データベースから Amazon Aurora PostgreSQL に移行した時の検討から移行作業の詳細、移行したことで得られた効果や、そのときに直面した課題とその解決方法について、お客様の現場の声を交えてご紹介します。 CRM システム概要 今回移行を実現した CRM システムは、2 ノードで構築された商用データベースが 2 セットあり、1 ノードあたり 7CPU で 2 ノード合計 14CPU のサーバー上に構築されていました。500 を超えるデータベースのオブジェクトがあり、そのうち約半分がテーブルで、プロシージャなどの PL/SQL の使用はなく、アプリケーション側に数千以上の SQL がありました。 移行前システムにおける課題 この CRM システムは初期構築から 10 年以上が経過して、サーバー側ソフトウェアのサポートの問題が発生しており、これに伴うシステムの全面更改が必要な状況でした。また、10 年という期間の中でシステムに求められる要件もかわり、BCP 環境の構築など新しい要件への対応も必要でした。そして、最も重要な課題が商用データベースに関するもので、ライセンス費や保守費はシステム運用における大きな課題となっていました。 移行先の検討 このような現行システムの課題を踏まえ、システムの移行検討がスタートしました。システムの移行先は、AWS が第一候補として検討されました。大和総研では、増大するクラウド案件の増加に対応するため、2021 年に CCoE(Cloud Center of Excellence)を設置し、2023 年 7 月には AWS の認定資格取得数が 1,000 を超えて「AWS 1000 APN Certification Distinction」にも認定されるなど人材の育成も進めていました。また、会社の方針としてシステム更改時の移行先はパブリッククラウドファーストが原則とされており、このような背景から今回の CRM システム更改でも AWS が第一候補となりました。ここで課題になったのは、商用データベースの移行です。AWS へそのまま移行した場合、移行に伴うライセンス費や保守費が増加しコストがかさむことも判明しました。また、スケーリングの柔軟性も重要な要素でした。AWS の RDS や Aurora は、ユーザー数や機能の増減に合わせた柔軟なスケーリングが可能で、クラウド移行によるメリットの一つであり、システムの要求を満たすのに十分なレベルでした。一方、商用データベースのまま AWS に移行した場合、スケールアップやスケールアウトするためには追加ライセンスが必要で、タイムリーな対応が難しく、コスト面でも問題が生じます。このような背景から今回の CRM 更改プロジェクトにおいては、商用データベースからの移行を本格的に検討することになりました。 移行先決定に向けたアセスメント データベースエンジンの変更については、AWS が提供している Database Freedom Workshop を利用しました。Database Freedom Workshop はデータベースエンジンの移行を検討しているお客様に AWS の Database Specialist が無償で提供するワークショップで、データベースエンジンの移行に対するアセスメントや商用データベースのパフォーマンス分析によるサイジングなどを実施するワークショップです。大和総研では、データベースエンジンの移行に対するアセスメントとパフォーマンス分析を行いました。 データベースエンジンの移行に対するアセスメントは、AWS が提供する無償ツールであります AWS Schema Conversion Tool(SCT)を使いました。その結果、対象のシステムでは Aurora PostgreSQL への移行難易度が低く、オブジェクトの 98% が最小限の変更で移行が容易であることがわかりました。 このアセスメント結果を踏まえ、机上検証と実機検証を実施しました。 机上検証 机上検証では、可用性、拡張性、性能、運用保守性、セキュリティの技術的な項目とコストについて調査を実施しました。移行対象としては、オンプレミスの商用データベースに対して商用の PostgreSQL と Aurora PostgreSQL を比較検証しました。 机上検証の結果、コストや可用性の観点から Aurora PostgreSQL が最適であるという結論に至りました。 実機検証 実機検証では、SCT で変換された PostgreSQL のオブジェクトを使用して動作検証を実施しました。動作検証では SCT で移行したオブジェクトを使用してアプリケーションで実行されるような SQL を Aurora PostgreSQL で実行し、その挙動や性能などを確認しました。検証の結果、移行前と移行後で基本的な動作や性能で大きな差異がないことを確認することができました。ただし、一点、パーティションについて課題があることがわかりました。移行前のデータベースではパーティションを跨ったインデックスを使用していましたが、Aurora PostgreSQL には同等の機能がなく、複数のパーティションを検索する場合パフォーマンスが数十秒程度劣化することがわかりました。 もう一つの観点として、アプリケーションの移行性についても検証しました。本システムでは、フレームワークとして MyBatis を採用しており、SQL が XML ファイルに定義されています。このSQLは条件によって動的に組み替えて実行する仕組みであった為、SCTを使っての変換が難しく、変換方法の検討が必要な状況でした(現在は対応済み)。 実機検証での課題に対する解決案 課題となっていたパーティションの遅延について、改善案を検討しました。その結果、今回のシステムではパーティションと通常テーブルの 2 つを用意して、参照処理を実行する際に効率の良いテーブルを参照するように変更することにしました。該当テーブルへの更新は、すべての更新処理で両方のテーブルに更新するよう変更することで、移行前と同等のパフォーマンスで動作することを確認することができました。 アプリケーションの移行性については、XML ファイルにある SQL を実行できる形で整形して、SCT で変換することで、SQL 自体の変換工数を効率化することが可能であることが確認されました。 これらの机上検証と実機検証により商用データベースを移行することによるリスクは低く、コストメリットがあると判断され、Aurora PostgreSQL へのデータベース移行が決定されました。 Part 2 に続く。
当社はお客様、規制当局、利害関係者の声に継続的に傾聴し、 Amazon Web Services (AWS)  における監査、保証、認定、認証プログラムに関するそれぞれのニーズを理解に努めています。この度、AWS System and Organization Controls (SOC) 1 レポートが、日本語、韓国語、スペイン語で利用可能になりました。この翻訳版のレポートは、日本、韓国、ラテンアメリカ、スペインのお客様および規制要件との連携と協力体制を強化するためのものです。 本レポートの日本語、韓国語、スペイン語版には監査人による独立した第三者の意見は含まれていませんが、英語版には含まれています。利害関係者は、日本語、韓国語、スペイン語版の補足として英語版を参照する必要があります。 今後、四半期ごとの以下のレポートで翻訳版が提供されます。SOC 1 統制は、Spring および Fall SOC 2 レポートに含まれるため、英語版と合わせ、1 年間のレポートの翻訳版すべてがこのスケジュールで網羅されることになります。 レポート 対象期間 春季SOC 2 4 月 1 日〜3 月 31 日 夏季SOC 1 7 月 1 日〜6 月 30 日 秋季SOC 2 10 月 1 日〜9 月 30 日 冬季SOC 1 1 月 1 日〜12 月 31 日 Summer 2024 SOC 1 レポートの日本語、韓国語、スペイン語版は AWS Artifact (AWS のコンプライアンスレポートをオンデマンドで入手するためのセルフサービスポータル) を使用してダウンロードできます。 AWS マネジメントコンソール内の AWS Artifact  にサインインするか、 AWS Artifact の開始方法ページ で詳細をご覧ください。 Summer 2024 SOC 1 レポートの対象範囲には合計 177 のサービスが含まれます。その他のサービスが追加される時期など、最新の情報については、 コンプライアンスプログラムによる対象範囲内の AWS のサービス で [SOC] を選択してご覧いただけます。 AWS では、アーキテクチャおよび規制に関するお客様のニーズを支援するため、コンプライアンスプログラムの対象範囲に継続的にサービスを追加するよう努めています。SOC コンプライアンスに関するご質問やご意見については、担当の AWS アカウントチームまでお問い合わせください。 コンプライアンスおよびセキュリティプログラムに関する詳細については、 AWS コンプライアンスプログラム をご覧ください。当社ではお客様のご意見・ご質問を重視しています。お問い合わせページより AWS コンプライアンスチーム にお問い合わせください。
みなさん、こんにちは。ソリューションアーキテクトの杉山です。今週も 週刊AWS をお届けします。 10 月 31 日 (木) 14:00 – 18:00 に AWS AI Day が開催されます。ザ・プリンス パークタワー東京の物理開催に加えて、ライブ配信も行います。現地の展示ブースでは、私を含む AWS Japan のスタッフが展示員として立つ予定です。ぜひ皆様ご参加いただき、イベントを楽しみながら、新しい学びを持ち帰っていただけますと幸いです。事前登録制になっておりますので、ぜひご登録の上ご参加ください。 それでは、先週の主なアップデートについて振り返っていきましょう。 2024 年 10 月 21 日週の主要なアップデート 10/21(月) AWS Console Mobile Application でシームレスリンク体験の提供 AWS Console Mobile Applicaton は、iOS や Android などのモバイルデバイスにインストールできるアプリケーションで、プッシュ通知によるお知らせを確認、専用ダッシュボードでリソースのモニタリング、サポートされている AWS サービスの詳細確認などができます。今回のアップデートで、AWS リソースに関する URL をモバイルデバイスで開く際に、AWS Console Mobile Applicaton の画面が直接開くシームレスリンク体験を提供するようになりました。ラップトップを開けない時などで利用体験が向上するアップデートです。 RDS Custom for SQL Server で Windows 認証をサポート RDS Custom for SQL Server で WIndows 認証をサポートするようになり、既存の Active Directory を利用してアクセスを管理できるようになりました。AWS Managed Microsoft AD や、お客様がセルフで管理している Active Directory のいずれかで連携可能です。RDS Custom for SQL Server を提供しているすべてのリージョンで利用可能です。 10/22(火) Amazon Bedrock で Claude 3.5 Sonnet v2 モデルの提供開始と、Computer Use 機能のパブリックベータ提供 Amazon Bedrock で、アップグレードされた Claude 3.5 Sonnet v2 モデルを提供開始しました。前のバージョンから全面的に改善されており、特にコーディング分野で大きく進化しています。Anthropic によると、公開されているすべてのモデルの中で最高のスコアを記録されています。料金については、従来の Claude 3.5 Sonnet と同じ価格で利用ができます。また、Computer Use 機能のパブリックベータを提供開始しました。Claude がコンピューターの画面を認識し操作できるようになり、人間の指示を基にして、画面を識別、マウスの操作、ボタンのクリック、テキストの入力などを行ってくれる機能となります。この機能はまだ初期段階であるため、リスクの低いタスクから検証を行うことをお勧めします。Claude 3.5 Sonnet v2 は、オレゴンリージョンで利用可能です。詳細は こちらのブログ を参照ください。 AWS Lambda で Code-OSS (VS Code – Open Source) ベースのコードエディター機能の提供開始 AWS Lambda のマネジメントコンソール画面に、コードを直接編集する機能があります。今回のアップデートで、Code-OSS (VS Code – Open Source) ベースのインターフェースにアップデートされました。VS Code に慣れている方は、デスクトップ版の VS Code と同様なインターフェースで利用いただけます。また、Amazon Q Developer の拡張機能を有効化することができ、コード生成やインサイト提供など開発者の生産性向上のメリットがあります。詳細は こちらのブログ を参照ください。 Amazon Redshift でクエリー監視と診断を行う Query Profiler の提供開始 Aamzon Redshift でクエリーの可視性向上や問題発生時の分析作業を強化する Query Profiler 機能を提供開始しました。AWS マネジメントコンソールで、Redshift に投げられた SQL クエリーに対して、実行計画や、統計情報を視覚的に確認ができるようになり、クエリーパフォーマンスを改善するための分析作業やトラブルシュートなどに利用できる機能です。Redshift Serverless 、Redshift provisioned Cluster の両方で利用可能です。 Amazon Aurora の Global Database writer endpoint の提供開始 Amazon Aurora で、Global Database writer ednpoint の提供を開始しました。Amazon Aurora の Global Database は、Aurora クラスターを複数の AWS リージョンにまたがって構成でき、リージョン単位の障害に対する耐障害性向上や、各リージョンでの高速な読み取りを利用できる仕組みです。このアップデートで、異なるリージョン間のフェールオーバーやスイッチオーバーを行ったときに、writer endpoint の名前をそのまま保持するようになりました。writer endpoint の裏側で切換を行うため、アプリケーション側の接続先を変更する負担を軽減できます。なお、DNS キャッシュなどの考慮点があり、詳細は こちらのドキュメント をご覧ください。 10/23(水) Bottlerocket で NVIDIA GPU Time-slicing をサポートし AI/ML の利用効率を向上 コンテナのホスティング用途で設計されている Linux ベースの OS である Bottlerocket で、NVIDIA GPU Time-slicing をサポートしました。Bottlerocket はセキュリティ、最小限のフットプリント、安全なアップデートを重視されて設計されています。NVIDIA GPU Time-slicing は、コンテナ上で実行する複数の AI/ML 処理のために、GPU リソースを共有する仕組みを提供するものです。例えば、マルチテナントの環境があり、複数の機械学習のタスクで GPU が必要になった際に、GPU の処理時間をより小さな間隔 (スライス) に分割することで、1 つの GPU に同時にアクセスできるようになります。詳細は Bottlerocket の Document をご覧ください。 AWS Billing Conductor でリザーブドインスタンスと Savings Plans のカバレッジや使用率レポートをサポート AWS Billing Conductor (ABC) は、組織内の複数の部門にまたがって、事前に指定したルールに基づき費用の按分を行う用途などに利用できる、カスタム請求サービスです。たとえば、AWS を管理している組織 (CCoE, Cloud Center of Excellence など) が、複数の利用部門に AWS 環境を提供する場合、一定の管理費を追加して請求する、といったカスタム請求管理ができます。今回のアップデートで、リザーブドインスタンスと Savings Plans の利用率レポートにより、プロフォーマデータ (請求額) を調整しやすくなりました。各部門の Saving Plans などの利用割合に基いて、請求額をコントロールすることがやりやすくなるアップデートです。 Amazon Timestream for LiveAnalytics で Query Insights を提供開始 大量の時系列データを取り込み、分析する用途に利用できる Amazon Timestream for LiveAnalytics で Query Insights の提供を開始しました。クエリを実行した際にレスポンス内に、詳細を確認するためのデータが含まれており、パフォーマンス最適化のための改善点を深ぼる際に便利に活用できます。データ取得効率、非効率なテーブル、その他メトリクスなどの詳細情報を提供します。 10/24(木) AWS Lambda で Java ランタイムを利用した際のカスタムシリアライザーの利用をサポート AWS Lambda で Java の関数を起動する際に、invoke リクエストに含まれる入力データを Java の Object として扱うために、デシリアライズがされます。また、関数の実行結果を返却する際に、Lambda サービスにデータを送信するためのシリアライズ処理がされます。今回のアップデートで、シリアライザーを独自にカスタムすることが出来るようになりました。たとえば、「vehicleType」というデータがリクエストに含まれる想定だったが、実際には「vehicle-type」というデータが来た場合、デフォルトのシリアライザーではエラーになります。これに対して、カスタムシリアライザーを独自に実装することで、エラーにせずに正常に扱うための制御が可能になります。詳細は こちらの Document をご覧ください。 Elastic Fabric Adapter (EFA) を Elastic Network Adapter (ENA) から切り離す新しいインターフェースタイプの提供開始 ENA は高性能ネットワーキングを提供するハードウェアインターフェースで、EC2 インスタンスの基盤となるハードウェアレベルで動作するコンポーネントです。EFA は HPC や 機械学習のワークロードに最適化されているネットワークインターフェースです。これまで、EFA インターフェースは、ENA デバイスと合わせて提供され IP アドレスを消費する動作となり、VPC 内で利用できる IP アドレスの不足などで、スケーリングの制限が生じる可能性がありました。今回のアップデートで、ENA から切り離された「EFA のみ」のインターフェースが提供されました。「EFA のみ」では、IP アドレスは利用せず、Mac アドレスを基にした SRD プロトコルを利用するため、IP アドレスに起因する制限を緩和できるメリットがあります。 10/25(金) AWS でクレジットカードやデビットカードで支払う際に、一部支払いに対応 クレジットカードやデビットカードで AWS 利用料金をお支払いしている場合は、毎月の請求に対して、「一部支払い」が可能になりました。「一部支払い」は、AWS の請求額を複数に分割して、異なるカードで決済を可能にするものです。これまで AWS カスタマーサービスの問い合わせ窓口経由で利用ができましたが、AWS マネジメントコンソール上で、「一部支払い」が設定できるようになりました。例えば、部門やプロジェクトごとに異なるカードを利用したいときに、柔軟な支払いがしやすくなります。 CloudWatch Logs で異常検知やパターン分析における機能改善とService Quota の緩和 CloudWatch Logs Insights は、機械学習を利用してログをいくつかの共通的なパターンに集約し、数千行のログを数行に要約することで分析をやりやすくできます。今回のアップデートで、Logs Insights で pattern や diff コマンドを含めたクエリーを実行する際に、フィールドを解析し名前を付けることで、ログデータの分析をより簡単にできるようになりました。例えば、ARN 値を含むフィールドは「ARN-1」、IP アドレスを含むフィールドは「IPV4-1」といった名前に名付けられます。この名前付きパターンを使用することで、リクエスト ID、HTTP レスポンスコードなど、ログに出現する共通フィールドを容易に特定し検査することができます。 11 月 7 日 (木) に、AWS オンラインセミナーの データガバナンス事例祭り を開催します。組織横断でデータ利活用を促進するデータガバナンスに関して、AWS サービスと最新のアプローチを活用しているお客様より、その具体的な取り組みの背景とソリューションについてお話いただきます。ぜひ事前登録の上ご参加ください。 それでは、また来週お会いしましょう! 著者について 杉山 卓(Suguru Sugiyama) / @sugimount AWS Japan のソリューションアーキテクトとして、幅広い業種のお客様を担当しています。最近は生成 AI をお客様のビジネスに活かすためにアイデア出しやデモンストレーションなどを多く行っています。好きなサービスは仮想サーバーを意識しないもの全般です。趣味はゲームや楽器演奏です
2024/9/25 より、 AWS Transit Gateway にてセキュリティグループ参照のサポートを開始しました。この新機能により、同一 Amazon Web Services (AWS) リージョン 内の Transit Gateway に接続した他の Amazon Virtual Private Cloud (Amazon VPC) で定義された、セキュリティグループを参照するインバウンドセキュリティルールを作成できるようになりました。Transit Gateway を介したアウトバウンドセキュリティルールの参照は、現時点ではサポートされていません。 Transit Gateway は、サードパーティの仮想アプライアンスをプロビジョニングすることなく、複数の Amazon VPC とオンプレミスネットワークを接続するハブアンドスポークネットワークの構築を支援するネットワークトランジットハブです。これにより、アーキテクチャの合理化や制御、セキュリティの向上が可能です。Transit Gateway は、高可用性で拡張性が高く、シームレスに設定でき、リージョン内の Transit Gateway ごとに数千の VPC アタッチメントをサポートできるフルマネージド型サービスです。詳細については、 クォータに関するドキュメント を参照してください。 Transit Gateway の新しいセキュリティグループ参照機能により、セキュリティグループの管理が効率化されます。これを実現するために、IPv6 や IPv4 アドレス、CIDR の代わりにセキュリティグループ参照を使用してルールを作成します。これにより、特にセキュリティグループ参照に大きく依存している場合、VPC ピアリングから Transit Gateway への移行が容易になります。また、この機能は何千もの VPC にわたる大規模なネットワーキングをサポートし、効率化されたセキュリティグループ管理を通じてセキュリティ体制の向上を提供します。 本稿では、Transit Gateway 間でのセキュリティグループ参照の有効化 / 無効化する方法や一般的なシナリオでの使用方法を示します。 開始方法: Transit Gateway を通じてセキュリティグループ参照を使用する方法 AWS マネジメントコンソール や AWS SDK 、 AWS API を使用して、新しい Transit Gateway または Transit Gateway VPC アタッチメントを作成する際、あるいは既存のものを編集する際に、 セキュリティグループ参照サポートオプション を有効または無効にすることができます。 Transit Gateway レベルでのセキュリティグループ参照サポート設定と、Transit Gateway VPC アタッチメントレベルでの設定の違いを理解することが重要です。これにより、ネットワークアーキテクチャのセキュリティ要件に合わせたアクセス制御セットを選択することができます。 この機能を使用するには、Transit Gateway と Transit Gateway VPC アタッチメントの両方でセキュリティグループ参照サポートを有効にする必要があります。 この図では、Transit Gateway を介して接続された 3 つの VPC を示しています。 図1. Transit Gateway を介して接続された 3 つの VPC 図1 に示されたアーキテクチャを考えてみましょう。 Transit Gateway とその 3 つのアタッチメント (VPC 1、VPC 2、VPC 3) でセキュリティグループ参照が有効になっている場合、Transit Gateway を介して 3 つの VPC でセキュリティグループ参照が可能になります。 Transit Gateway と VPC 1 および VPC 2 のアタッチメントでセキュリティグループ参照が有効になっている場合 (VPC 3では無効)、Transit Gateway を介して VPC 1 と VPC 2 間でセキュリティグループ参照が可能ですが、VPC 3 とは不可能です。 Transit Gateway でセキュリティグループ参照が無効になっている場合、個々の Transit Gateway VPC アタッチメントでオプションが有効になっているかどうかに関係なく、Transit Gateway を介したセキュリティグループ参照はできません。 1. Transit Gateway レベルのセキュリティグループ参照サポート Transit Gateway レベルの セキュリティグループ参照サポート は、デフォルトで全ての Transit Gateway で無効になっています。 この機能の導入以前に作成された Transit Gateway も含まれます。 この機能を Transit Gateway レベルで有効化するには、コンソール上の セキュリティグループ参照サポート オプションをチェックします (図 2)。本稿執筆時点では、Transit Gateway を介して VPC を AWS Local Zones または AWS Outposts に拡張する場合、この機能はサポートされていません。 セキュリティグループ参照に関する詳細は、 セキュリティグループ参照ドキュメント を参照してください。 この図では、コンソール上での Transit Gateway レベルのセキュリティグループ参照サポートオプションを示しています。 図2. コンソール内の Transit Gateway レベルでのセキュリティグループ参照サポートオプション この機能を無効化するには、 セキュリティグループ参照サポート オプションのチェックを外してください。 無効化すると、Transit Gateway 全体でセキュリティグループ参照機能が動作しなくなります。 その結果、参照されたセキュリティグループのみに依存するインスタンス間のトラフィックは、Transit Gateway のセキュリティグループ参照に依存しないIPv4 または IPv6 アドレス / CIDR を使用する別のルールに一致しない限り、ドロップされます。 この機能は、API または CLI で SecurityGroupReferencingSupport オプションを使用して有効または無効にすることもできます。次に例をいくつか示します。 新しい Transit Gateway ( MyTransitGateway ) で有効化: aws ec2 create-transit-gateway --description MyTransitGateway --options SecurityGroupReferencingSupport=enable 既存の Transit Gateway (Transit Gateway ID tgw-1234abcd ) で有効化: aws ec2 modify-transit-gateway --transit-gateway-id tgw-1234abcd --options SecurityGroupReferencingSupport=enable 既存の Transit Gateway (Transit Gateway ID tgw-1234abcd ) で無効化: aws ec2 modify-transit-gateway --transit-gateway-id tgw-1234abcd --options SecurityGroupReferencingSupport=disable Transit Gateway レベルの設定を変更しても、個々の Transit Gateway アタッチメントの設定には影響しません。各アタッチメントは、この機能に対して個別の設定を保持しています。 2. Transit Gateway VPC アタッチメントレベルのセキュリティグループ参照サポート Transit Gateway VPC アタッチメントレベルの セキュリティグループ参照サポート は、この機能の導入以前に作成されたものも含み、デフォルトで全ての Transit Gateway VPC アタッチメントで有効になっています。 コンソールでこのオプションをコントロールするには、 セキュリティグループ参照サポート オプションを見つけてください (図3)。この機能を有効化するにはチェックを入れ、無効化する場合はチェックを外します。 この図では、コンソール上での Transit Gateway VPC アタッチメントレベルのセキュリティグループ参照サポートオプションを示しています。 図3. コンソール内の Transit Gateway VPC アタッチメントレベルでのセキュリティグループ参照サポートオプション VPC アタッチメントレベルでのセキュリティグループ参照サポート設定の変更は、Transit Gateway レベルの設定とは独立して動作します。ただし、この機能が正しく動作するためには、Transit Gateway と個々の VPC アタッチメントの両方で有効にする必要があります。 この二重構成アプローチにより、管理者は Transit Gateway レベルでセキュリティグループ参照機能を有効にしながら、特定の VPC アタッチメントに対してこの機能を無効化またはオプトアウトすることができるようなきめ細かな制御が可能になります。 このオプションは、API や CLI を用いても有効化あるいは無効化できます。以下の例では、セキュリティグループの参照が有効化された新しい Transit Gateway VPC アタッチメントを作成します: aws ec2  create-transit-gateway-vpc-attachment  --transit-gateway-id tgw-0262a0e521EXAMPLE  --vpc-id vpc-07e8ffd50f49335df  --subnet-id subnet-0752213d59EXAMPLE  --options SecurityGroupReferencingSupport=enable API/CLI コールで SecurityGroupReferencingSupport を定義しなかった場合、デフォルト設定は有効になっています。 以下の例では、Transit Gateway レベルの設定が異なる場合でも、Transit Gateway VPC アタッチメント ID tgw-attach-09fbd47ddf に対してこの機能を無効にしています: aws ec2 modify-transit-gateway-vpc-attachment --transit-gateway-attachment-id tgw-attach-09fbd47ddf --options SecurityGroupReferencingSupport=disable VPC アタッチメントレベルでセキュリティグループ参照を無効化すると、新しいインバウンドセキュリティグループの参照を設定できなくなります。以前まで参照されたルールで許可されていたインスタンス間のトラフィックは、この機能のみに依存していた場合、ドロップされます。 セキュリティグループ参照が有効化された VPC アタッチメントを削除する際、セキュリティグループの参照が無効になります。この操作を行う前に、 describe-security-group-references と describe-stale-security-groups の API または CLI コールをお勧めします。 最後に、別のセキュリティグループで参照されているセキュリティグループを削除すると、セキュリティグループ参照を使用しているルールが無効になります。 セキュリティグループ参照のユースケース 以下の一般的な例は、あるリージョン内の Transit Gateway に接続された複数の VPC にまたがるリソースへの厳密なアクセス制御を行う際に、セキュリティグループ参照がどのように役立つかを示しています。 1. Transit Gateway で接続された異なる VPC 間に展開された異なるアプリケーション層間のリソース共有 以下のアーキテクチャ (図4) は、3 つのVPC (VPC 1、VPC 2、VPC 3) にまたがるウェブ、アプリケーション、データベースの各層で構成されており、Transit Gateway によって VPC 同士の相互接続が可能となっています。目的は、VPC 1 のウェブ層インスタンスが VPC 2 のアプリケーション層インスタンスにアクセスできるようにすることです。また、VPC 2 のアプリケーション層インスタンスは、VPC 3 のデータベース層インスタンスへのアクセスが必要です。 セキュリティグループは VPC の IP アドレスファミリー (IPv4 または IPv6) とは独立しているため、デュアルスタック (IPv4 または IPv6) VPC や IPv6 専用サブネットにまたがるインスタンス間のトラフィックを許可できます。したがって、ウェブ、アプリケーション、データベースインスタンスは、IPv4 アドレス、IPv6 アドレス、またはその両方の組み合わせを使用することができます。 この図では、ウェブ層、アプリケーション層、データベース層の Transit Gateway を介した通信を示しています。 図4. Transit Gateway を介してウェブ層、アプリケーション層、データベース層が通信している ウェブ層インスタンスがアプリケーション層インスタンスにポート 443 (HTTPS) でアクセスすることを許可するために、VPC 2 のアプリケーション層のセキュリティグループのインバウンドルールで、VPC 1 で定義されたウェブ層のセキュリティグループを参照できます: aws ec2 authorize-security-group-ingress —group-name SG-App-Tier —protocol tcp —port 443 —source-group SG-Web-Tier —groupowner vpc1-web-tier-owner 同様に、アプリケーション層インスタンスがデータベース層インスタンスにポート 3306 でアクセスすることを許可するために、VPC 3 のデータベース層のセキュリティグループのインバウンドルールで、VPC 2 で定義されたアプリケーション層のセキュリティグループを参照できます: aws ec2 authorize-security-group-ingress —group-name SG-DB-Tier —protocol tcp —port 3306 —source-group SG-App-Tier —groupowner vpc2-app-tier-owner 2. 集中型共有サービス VPC への安全なアクセスを強化および効率化する ファイアウォールを使用せず、セキュリティグループ管理の複雑さを心配することなく、共有サービス VPC に対するセキュリティアクセスを特定のアプリケーションのみに強化したい場合があります。 以下のアーキテクチャ (図5) では、VPC 1 内の複数のアプリケーション層インスタンスが、共有サービス VPC の AWS Directory Service にアクセスする必要があります。2 つの VPC は、Transit Gateway を介して接続しています。 VPC 1 のアプリケーション層インスタンスがディレクトリにアクセスできるようにするため、共有サービス VPC のディレクトリサービス層のセキュリティグループのインバウンドルールに、VPC 1 のアプリケーション層のセキュリティグループを追加できます。これにより、VPC 1 のインスタンスはセキュリティグループ参照を通して Directory Service と通信できるようになります。 この図では、アプリケーション層インスタンスが Transit Gateway を介して Directory Service に接続している様子を示しています。 図5. Transit Gateway を介して Directory Service に接続されたアプリケーション層インスタンス 検査用VPC がある場合、AWS Gateway Load Balancer やAWS Network Firewall を介した Transit Gateway によるセキュリティグループ参照は機能しません。 3. 共有 VPC モデルにおけるリソース共有 共有 VPC モデル (前述のユースケースで説明した共有サービス VPC とは異なる) では、アプリケーションは Transit Gatewayを通じて、複数の共有 VPC にまたがることができます。セキュリティを強化しつつ、セキュリティアクセス制御を効率化するために、Transit Gateway を介したセキュリティグループの参照を使用することができます。 以下の例 (図 6) では、共有 VPC 1 内の AWS アカウント 1 のプライベートサブネットにあるアプリケーションインスタンスが、共有 VPC 2 内の AWS アカウント 5 のプライベートサブネットにある別のアプリケーションにアクセスする必要があります。Transit Gateway を通じて異なる AWS アカウントの VPC 間でセキュリティグループを相互参照することが可能になりました。そのため、AWS アカウント 1 の共有 VPC 1 で定義されたアプリケーション層インスタンスのセキュリティグループを、AWS アカウント 5 の共有 VPC 2 にあるアプリケーション層のセキュリティグループのインバウンドルールで参照できます。 この図では、共有 VPC モデルを通じて、1 つの共有 VPC 内のアプリケーション層インスタンスが、トランジットゲートウェイを介して別の共有 VPC 内の別のアプリケーション層に接続されている様子を示しています。 図6. Transit Gateway を介して接続されたアプリケーション層インスタンス 考慮事項 本稿執筆時点では、セキュリティグループ参照は Outposts および一部のタイプの Local Zones ではサポートされていません。サービスの中断を避けるため、一部のタイプの Local Zones と Outposts で拡張された VPC では、セキュリティグループ参照のフラグを無効にしておく必要があります。詳細については、 ドキュメント を参照してください。 本稿執筆時点では、異なる AWS リージョンのセキュリティグループを参照することはできません。2 つの VPC を接続するには、両方の VPC が同じ Transit Gateway に接続され、同じリージョンに存在する必要があります。 セキュリティグループ参照は、サードパーティのミドルボックスや Bump-in-the-Wire (BITM) アプライアンスを介しては機能しません。サードパーティのミドルボックスや BITM アプライアンスを介したインスタンス間のトラフィックは、セキュリティグループの参照を使用して許可することはできません。 本稿執筆時点では、Transit Gateway 上のマルチキャストではセキュリティグループの参照はサポートされていません。 本稿執筆時点では、アウトバウンドセキュリティグループに対するセキュリティグループの参照はサポートされていません。 詳細な考慮事項については、ドキュメント内の Reference security groups across a transit gateway の項目で言及されています。 Transit Gateway の動作は次の表にまとめられています。 Transit gateway レベルの制御 VPC attachment レベルの制御 セキュリティグループの参照結果 新規または既存の Transit Gateway の動作 有効 有効 有効 無効 (デフォルト) 有効 (デフォルト) 無効 (デフォルト) 有効 無効 無効 無効 無効 無効 まとめ Transit Gateway を介したセキュリティグループの参照の導入により、Transit Gateway 間のリソースへのセキュリティアクセス制御を直接的かつ便利に強化できるようになりました。この新機能は、VPC ピアリングから Transit Gateway への直接的な移行経路を提供します。特に、多くのセキュリティグループの参照を本番環境に展開している場合に有効です。 本稿では、Transit Gateway を介したセキュリティグループの参照の有効化と無効化、およびこの機能の利点について説明しました。 この機能は、AWS 商用リージョン、 AWS GovCloud (US) リージョン、およびAWS China リージョンで利用可能です。 Transit Gateway について詳しく知りたい際は、 Transit Gateway のドキュメント を参照してください。本稿に関する質問がある場合は、 AWS re:Post で新しいスレッドを開始するか、 AWS サポート にお問い合わせください。 本稿は、2024年9月25日に Networking & Content Delivery で公開された “ Introducing security group referencing for AWS Transit Gateway ” を翻訳したものです。翻訳は Solutions Architect の武松が担当しました。
GoPro は、イマーシブかつエキサイティングな方法で画像のキャプチャや共有をサポートしています。2002年の設立以来、GoPro は、お客様がコンテンツから最大限の価値と楽しみを得られるように、多用途のカメラとソフトウェアツールをリリースしてきました。Amazon Web Services (AWS) がサポートする GoPro サブスクリプション は、カメラ、マウント、アクセサリー、ライフスタイルグッズなどの GoPro のラインナップに加えて、無制限のクラウドストレージ、自動ハイライトビデオ、デバイス間で同期される便利な編集機能、ライブストリーミングプラットフォーム、ソーシャルメディアプラットフォームと直接コンテンツを共有する機能など、GoPro 体験を結びつけます。現在、GoPro は毎月大量の動画データを処理し、 約250万人の加入者にサービスを提供 しています。 図 1: GoPro でのメディア処理 GoPro は独自のトランスコーディングとメディア処理パイプラインを使用しており、さまざまなデバイス、ビットレート、コーデック、帯域幅をサポートしています。コンテンツが Amazon Simple Storage Service (Amazon S3) に取り込まれると、前処理を行うジョブが実行されてメタデータ、解像度、コーデック情報が収集され、動画のサムネイルが作成されます。さまざまなクラスのトランスコーディングジョブが、Amazon EC2 上の FFmpeg を使用して、 Amazon Elastic Container Service (Amazon ECS) クラスター、Docker コンテナ、カスタム設定ビルドで実行されます。また、動画と音声、 GPMF (GoPro Metadata Format/General Purpose Metadata Format) 、デマルチプレクサ、マルチプレクサのトランスコーディングを組み合わせるために、Amazon EC2 上で他の独自のツールを使用しています。 GoPro は当初、エンドユーザーがコンテンツを取り込み、処理、保存、共有できるようにするために、AWS を使用してサブスクリプションサービスを展開していました。しかし、加入者数とユーザーが生成するコンテンツの量が増加するにつれて、GoPro は柔軟でスケーラブルなインフラストラクチャを備えた、より適応性の高いコンテンツ処理パイプラインを必要とするようになりました。 一時的にピークが高くなる季節的なトラフィックに対して、インスタンスのオートスケーリングは弾力性とスケーラビリティを提供し、トランスコーディング中のEC2 キャパシティの増減を管理します。トランスコーディングワークフローは非同期で、メッセージとイベント駆動型であるため、複数のジョブを並行して実行することで効率を高め、ワークロードは中断に耐えることができます。GoPro は Amazon ECS クラスターを Amazon EC2 スポットインスタンス にデプロイして、より費用対効果の高いコンピューティングを実現し、オンデマンドコストを約 50% ~ 70% 削減しました。Amazon EC2 スポットインスタンスは、オンデマンド価格と比較して最大 90% 割引で利用できることを特徴としています。 GoPro は EC2 スポットインスタンスのベストプラクティス を活用しています。可能な限り幅広く多くのキャパシティプールを分散して利用することで、終了したスポットインスタンスを他のスポットインスタンスで置き換え、ピーク時のトラフィックを処理しています。スポットインスタンスの中断の頻度を最小限に抑えるため、GoPro はキャパシティ最適化配分戦略を採用しています。また、Terraform スクリプトによる自動化で、中断されたスポットインスタンスの自動ドレインを実行する機能も実装しています。 Auto Scaling グループにおいては 属性ベースのインスタンスタイプ選択 を使用することで、Amazon ECS クラスターではCPU インスタンスと GPU インスタンスの両方を使用しています。 instance_requirements = { memory_mib_min = 32768 memory_mib_max = 131072 vcpu_count_min = 32 vcpu_count_max = 64 cpu_manufacturers = ["amd", "intel"] excluded_instance_types = (["a*", "t*", "m6g*", "c6g*", "c7g*", "d*", "h*", "i*", "g*", "p*", "inf1*", "dl*", "vt*", "x*", "r6g*", "z1*", "f1*"]) } 他のすべての Auto Scaling グループでは、次の例のようなインスタンスタイプを使用しています。 (訳者注)以下の例では以前の世代のインスタンスタイプが多く見られますが、なるべくより新しい世代のものも含めることも選択肢として重要です。 spot-instance-type = [ { instance_type = "r5b.4xlarge" }, { instance_type = "r4.4xlarge" }, . . . ] spot-instance-type = [{ instance_type = "g4dn.xlarge" }] spot-instance-type = [{ instance_type = "c3.4xlarge" }, { instance_type = "c3.8xlarge" }, { instance_type = "c4.4xlarge" }, { instance_type = "c4.8xlarge" }, . . . ] Auto Scaling グループ (ASG) は配分戦略としてキャパシティ最適化を行うように設定されています。これにより、起動するインスタンスの数に最適なキャパシティを持つプールからスポットインスタンスをリクエストします。 spot-allocation-strategy = "capacity-optimized" (訳者注)配分戦略は価格とキャパシティの両方を考慮する price-capacity-optimized (料金キャパシティ最適化) をより推奨していますが、GoPro ではキャパシティのみを考慮し中断の可能性を最も下げることができる capacity-optimized を利用しています。 ワークフローのレジリエンスは、一連の AWS Lambda 関数の実行で高められています。 Auto Scaling グループスケールイン CloudWatch イベントは、終了中のインスタンスのドレインを実行する Lambda 関数 (General Drain と呼んでいる) をトリガーします。 もう 1 つの Lambda 関数 (Spot Drain と呼んでいる) はスポット ASG に特化したもので、EC2 スポットインスタンス中断通知が発生するとトリガーされます。 スポットインスタンスにかんするメトリクスの収集にはさらに別の Lambda 関数が使用され、これはインスタンス終了時、起動時、およびスポットインスタンスの中断時にトリガーされます。 図 2: EC2 Auto Scaling を使ったトランスコードワークフロー ワークフロー全体は、AWS Lambda を利用した GoPro 用のカスタムビルドのダッシュボードで監視されています。このダッシュボードは、Amazon ECS を使用してスポットインスタンスをモニタリングおよび可視化し、中断率、インスタンスタイプ、およびスポットインスタンスに関連するその他の統計情報を表示します (図3)。 図3: スポットインスタンス関連の統計情報を表示するダッシュボード Amazon EC2 スポットインスタンスを追加し、潜在的な中断に備えて設計した結果、GoPro はコンテナ化された全ワークロードの 70% 以上をスポットインスタンスで実行し、大幅なコスト削減を実現しています。 この記事では、Amazon EC2 スポットインスタンスによって GoPro がコンピューティングリソースをよりコスト効率よく活用し、メディアサプライチェーンにおけるトランスコーディングプロセスを大規模に改善する方法について説明しました。スポットインスタンスの詳細については、 EC2 スポットインスタンスのベストプラクティスのドキュメント をご覧ください。 このブログは、GoPro DevOpsエンジニアのVlad-Alexandru Voineaと、GoProのDevOpsマネージャーであるZaven Boniが執筆し、テクニカルアカウントマネージャーのJenny Oshimaが公開したものを、ソリューションアーキテクトの石神靖弘が翻訳しました。原文は こちら です。
本記事は 2024 年 10 月 8 日に公開された “ Get started with Amazon ElastiCache for Valkey ” を翻訳したものです。 2024 年 10 月 8 日、 Amazon ElastiCache は、Serverless の価格が他のサポートされているエンジンより 33% 低く、セルフデザインの (ノードベースの) クラスターが 20% 低い Valkey バージョン 7.2 のサポートを発表しました。ElastiCache Serverless for Valkey を使えば、お客様は 1 分以内にキャッシュを作成でき、月額 $6 から利用を開始できます。Valkey は、40 社以上に支持されている Linux Foundation が運営するオープンソース、高性能のキーバリューデータストアです。Valkey は Redis OSS の代替製品で、長年 Redis OSS に貢献してきた開発者とメンテナが開発し、2024 年 3 月のプロジェクト開始以来、急速に採用が広がっています。AWS は Valkey プロジェクトに積極的に貢献 しています。今回のリリースにより、お客様はオープンソーステクノロジーに基づくフルマネージド環境の恩恵を受けながら、ElastiCache が提供する 13 年以上の運用の卓越性、セキュリティ、信頼性の利点を活用できます。 この記事では、ElastiCache for Valkey の概要、その利点、および ElastiCache for Redis OSS キャッシュから ElastiCache for Valkey キャッシュへのアップグレード方法をご紹介します。 ElastiCache for Valkey の概要 Amazon ElastiCache は、フルマネージド型の Valkey、Memcached、Redis OSS 互換のキャッシュサービスで、モダンアプリケーションに対してリアルタイムでコスト最適化されたパフォーマンスを提供します。ElastiCache は、マイクロ秒のレスポンスタイムで毎秒数百万のオペレーションにスケールでき、エンタープライズグレードのセキュリティと信頼性を備えています。ElastiCache for Valkey では、セルフデザインの (ノードベースの) クラスターとサーバーレスキャッシュのデプロイオプションを選択できます。自動スケーリング、マルチ AZ デプロイによる高可用性、リージョン間レプリケーションなどの機能を活用でき、ビジネス継続性とディザスタリカバリが確保されます。ElastiCache を通して Valkey をマネージドサービスとして提供することで、AWS はお客様が Valkey の豊富な機能を運用オーバーヘッドなしに活用できるようにしています。 ElastiCache for Valkey の利点: 価格の引き下げ: ElastiCache Serverless for Valkey では、33%の価格引き下げと、最低 100MB の最小データストレージ容量で月額 6 ドルからの低価格を実現しています。ElastiCache for Valkey のセルフデザイン(ノードベース)クラスターでは、他のエンジンと比べて最大 20%のコスト削減が可能です。さらに、 ElastiCache では、インスタンスファミリーと AWS リージョン内でリザーブドノードのサイズの柔軟性がサポートされています 。ElastiCache のリザーブドノードを使用している場合、ElastiCache for Redis OSS から ElastiCache for Valkey に切り替えても、同じファミリー内のすべてのノードサイズで既存のリザーブドノード割引料金が維持され、リザーブドノード割引のさらなる価値を得られます。 運用の卓越性: ElastiCache for Valkey は、オープンソーステクノロジーに基づいて構築されたフルマネージド型の体験を提供し、AWS のセキュリティ、運用の卓越性、99.99%の可用性、信頼性を活用しています。 パフォーマンス: お客様は、最も高いパフォーマンスが求められるリアルタイムアプリケーションの基盤として ElastiCache を選択しています。マイクロ秒単位の読み書き待ち時間を実現でき、単一のセルフデザイン(ノードベース)クラスターで 5億リクエスト/秒(RPS)までスケールできます。 API 互換性: ElastiCache for Valkey は、Redis OSS の API とデータフォーマットに互換性があり、お客様はコードを書き換えたり、アーキテクチャを変更する必要なくアプリケーションを移行できます。 ダウンタイムゼロの移行: ElastiCache for Redis OSS の既存ユーザーは、ダウンタイムゼロで ElastiCache for Valkey にすばやく移行できます。 継続的なイノベーション: AWS が Valkey をサポートすることで、お客様は安定したソリューションを採用するだけでなく、将来の成長とイノベーションに備えることができます。Valkey コミュニティがプロジェクトの開発と強化を続けるにつれ、AWS のお客様は継続的な改善と新機能の恩恵を受け、アプリケーションの競争力を維持できます。AWS も Valkey に積極的に貢献しており、 Amazon ElastiCache and Amazon MemoryDB announce support for Valkey でさらに詳しく読むことができます。 ソリューションの概要 Amazon ElastiCache for Valkey を使い始めるには、わずか数ステップで行えます: ElastiCache Serverless for Valkey キャッシュを作成します。 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成します。 valkey-cli ユーティリティをダウンロードし、セットアップします。 アプリケーションからキャッシュに接続します。 これらの手順については、次のセクションで説明します。その後、データベースに対する基本的な操作を実演します。また、ElastiCache for Redis OSS から ElastiCache for Valkey へのアップグレード方法についても説明します。 ElastiCache Serverless for Valkey キャッシュの作成 AWS Management Console 、 AWS Command Line Interface (AWS CLI)、または ElastiCache API を使用して、ElastiCache Serverless for Valkey キャッシュを作成できます。以下は、AWS CLI を使用して ElastiCache Serverless for Valkey キャッシュを作成する例です。ElastiCache で Valkey リソースを使用するには、CLI のバージョンが最新であることを確認してください。 aws elasticache create-serverless-cache \ --serverless-cache-name ec-valkey-serverless \ --engine valkey \ --region us-east-1 これにより、デフォルトの VPC 内に ElastiCache Serverless for Valkey キャッシュが作成され、デフォルトのセキュリティグループが使用されます。 ElastiCache Serverless キャッシュの作成ステータスは、 describe-serverless-caches コマンドで確認できます。 aws elasticache describe-serverless-caches \ --serverless-cache-name ec-valkey-serverless \ --region us-east-1 { "ServerlessCaches": [ { "ServerlessCacheName": "ec-valkey-serverless", "Description": " ", "CreateTime": "2024-08-14T21:28:11.116000 + 00:00", "Status": "available", "Engine": "valkey", "MajorEngineVersion": "7", "FullEngineVersion": "7.2", "SecurityGroupIds": [ "sg-bba254aa" ], "Endpoint": { "Address": "ec-valkey-serverless-xxx.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "ec-valkey-serverless-xxx.cache.amazonaws.com", "Port": 6380 }, "ARN": "arn:aws:elasticache:xxx:ec-valkey-serverless", "SubnetIds": [ "subnet-x", "subnet-y", "subnet-z" ], "SnapshotRetentionLimit": 0, "DailySnapshotTime": "03:00" } ] } EC2 から ElastiCache Serverless for Valkey キャッシュへの接続設定 ElastiCache は、同じ Amazon Virtual Private Cloud (Amazon VPC) 内の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから、または VPC ピアリングを使用して別の Amazon VPC 内の EC2 インスタンスからアクセスできます。 EC2 の開始方法 を使用して EC2 インスタンスを作成します。ElastiCache Serverless for Valkey キャッシュは、ポート 6379 とポート 6380 の両方を使用します。EC2 インスタンスから Valkey コマンドを正常に実行してキャッシュに接続するには、必要に応じてこれらのポートへのアクセスをセキュリティグループで許可する必要があります。 valkey-cli のダウンロードとセットアップ EC2 インスタンスに接続し、次のコマンドを実行して valkey-cli ユーティリティをダウンロードしてください。 sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.7.tar.gz tar xvzf 7.2.7.tar.gz cd valkey-7.2.7/ make BUILD_TLS=yes install valkey-cli を使用して Valkey エンジンに接続しコマンドを実行する詳細な手順については、 valkey-cli のドキュメント を参照してください。valkey-cli をインストールする際は、TLS のサポートを構築することが重要です。ElastiCache Serverless for Valkey キャッシュは、TLS が有効になっている場合にのみアクセスできます。 Valkey キャッシュへの読み書き接続 ElastiCache Serverless for Valkey キャッシュに接続するには、describe-serverless-caches AWS CLI コマンドを使用して、新しいサーバーレスキャッシュのエンドポイントを取得します。2 つのエンドポイントが表示されます。 aws elasticache describe-serverless-caches \ --serverless-cache-name ec-valkey-serverless \ --region us-east-1 "Endpoint": { "Address": "ec-valkey-serverless-xxx.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "ec-valkey-serverless-xxx.cache.amazonaws.com", "Port": 6380 } Valkey キャッシュに接続するには、valkey-cli ユーティリティを使用して ElastiCache Serverless に接続してください。 valkey-cli -h ec-valkey-serverless-xxx.cache.amazonaws.com -p 6379 -c --tls -h = ホスト名 -p = ポート -c = クラスターモード –tls = TLS 有効化クラスター これで、Valkey キャッシュに対して基本的な GET と SET 操作を実行する準備ができました。以下は、Valkey で HASH オブジェクトを作成するための HSET 操作の例です。Valkey のハッシュは、フィールド値のペアのコレクションを格納するためのデータ構造です。ハッシュは、複数の属性 (例えば、名前、年齢、メールアドレス) を持つユーザープロファイルなど、オブジェクトを表現したり、関連するデータを単一のエンティティに格納する必要がある場合に便利です。 ec-valkey-serverless-xxx.cache.amazonaws.com:6379> hset car:1 make ferrari model sf90spider year 2024 engine "4.0 L V8" horsepower 769hp transmission "8-speed auto" price 580000 (integer) 7 ec-valkey-serverless-xxx.cache.amazonaws.com:6379> これにより、make、model、year、engine、horsepower、transmission、price などの属性を持つ Hash オブジェクト car:1 が作成されます。 今度は、HMGET または HGETALL 操作を使用して、個々のフィールド値のペアまたはすべてのフィールド値のペアを取得できます。 ec-valkey-serverless-xxx.cache.amazonaws.com:6379> HMGET car:1 make model price 1) "ferrari" 2) "sf90spider" 3) "580000" ec-valkey-serverless-xxx.cache.amazonaws.com:6379> ElastiCache for Redis OSS から ElastiCache for Valkey へのアップグレード ElastiCache for Redis OSS の既存ユーザーの場合、ダウンタイムなしで ElastiCache for Valkey にすばやくアップグレードできます。次の例は、ElastiCache for Redis OSS キャッシュが ElastiCache for Valkey キャッシュにアップグレード準備ができている状態を示しています。 ElastiCache コンソールで、ナビゲーションペインから Redis OSS キャッシュ を選択し、 変更 を選択して、アップグレードプロセスを開始します。 ElastiCache の変更ウィンドウのクラスター設定で、Redis OSS と Valkey を含む複数の エンジンオプションが表示されます。エンジンオプションとして Valkey を選択し、 変更をプレビュー を選択します。 次の画面では変更の概要が表示されます。 すぐに適用 で はい を選択して、Redis OSS から Valkey へのエンジン変更を確認し、 変更 を選択します。 変更 を選択すると、 クラスターを変更するアクションが正常に開始されました。 という通知が表示されます。 既存の ElastiCache for Redis OSS キャッシュのステータスは “Modifying” になります。 アップグレードが正常に完了すると、 elasticache-redisoss-cache-cluster は Redis OSS キャッシュの下に表示されなくなり、代わりに Valkey キャッシュ の下に表示されます。 アプリケーションへの影響を最小限に抑えながら、Redis OSS から Valkey へのエンジンアップグレードが完了しました。 クリーンアップ 最小特権の原則を維持し、将来の課金を避けるために、この記事の一環として作成したリソースを削除してください。ElastiCache クラスター (詳細は クラスターの削除 を参照) と EC2 インスタンス ( delete-instance ) を削除してください。 結論 この投稿では、ElastiCache for Valkey キャッシュを作成する方法、ElastiCache Serverless for Valkey キャッシュに接続するための Elastic Compute Cloud (EC2) インスタンスのセットアップ方法、ElastiCache Serverless for Valkey キャッシュへの読み書き接続方法を説明しました。また、ElastiCache for Redis OSS キャッシュから ElastiCache for Valkey キャッシュへのアップグレードの例も示しました。 Valkey サポートの追加により、Amazon ElastiCache は、AWS がデータベースアプリケーション向けに堅牢なオープンソースソリューションを提供するという取り組みにおいて、大きな前進を遂げました。まだサインアップしていない場合は、 ElastiCache ページで 使用を開始する を選択し、サインアッププロセスを完了してください。サインアップ後は、Amazon ElastiCache for Valkey の入門ガイドを含む ElastiCache ドキュメントを参照してください。ElastiCache for Valkey に慣れた後は、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、数分でサーバーレスクラスターを作成できます。 この記事の翻訳は Solutions Architect の堤 勇人が担当しました。 著者について Madelyn Olson は Valkey プロジェクトのメンテナーであり、Amazon ElastiCache と Amazon MemoryDB のプリンシパルソフトウェア開発エンジニアです。Valkey エンジンのセキュアで高信頼性の機能を構築することに注力しています。余暇には、太平洋北西部の自然の美しさを長い散歩やのんびりした自転車に乗って楽しんでいます。 Goumi Viswanathan は、Amazon In-Memory Databases チームのシニアプロダクトマネージャーです。12 年以上のプロダクト経験があり、データベースソリューションを提供するクロスファンクショナルチームをリードしています。仕事以外では、旅行と屋外での時間を楽しんでいます。 Siva Karuturi はテキサス州ダラスを拠点とする、インメモリデータベースのワールドワイドスペシャリストソリューションアーキテクトです。Siva は、さまざまなデータベーステクノロジー (リレーショナルおよび NoSQL の両方) に精通しており、クラウドコンピューティング、ガバナンス、セキュリティ、アーキテクチャ、高可用性、ディザスターリカバリ、パフォーマンス強化を含むインメモリデータベースおよび分析ソリューションの複雑なアーキテクチャの実装と、リーダーシップの提供をお客様に支援しています。仕事以外では、Anthony Bourdain スタイルで旅行や様々な料理を味わうのが好きです。
本稿は 「 Aramark launches first Just Walk Out store in a US corporate headquarters 」(記事公開日: 2024 年 7 月 22 日)の翻訳記事です。 従業員がオフィスに戻るにつれ、ビジネスリーダーは進化するニーズを持った変化する労働力に直面しています。多くの人が、オフィスで食べ物や飲み物を購入する際の利便性を重視し、目的を持った買い物をしていることを認識しています。彼らは、出社、昼食や休憩、帰宅の際、移動中に買い物をし、素早く商品を選びます。 フォーチュン 200 企業で世界的な食品・施設管理のリーダー企業である Aramark は、便利で 24 時間 365 日利用可能な職場での栄養補給の需要の高まりに対応することを目指しています。6月、Aramark はフィラデルフィアのセンターシティにあるグローバル本社に「The Market」を開設しました。The Market は、米国の企業本社に開設された最初の Just Walk Out テクノロジー 店舗です。 Aramark の The Market、出典:Aramark 最適化された The Market Aramark は、世界 15 か国で食品サービスと施設管理を提供しています。その顧客には、教育機関、フォーチュン 500 企業、スポーツチーム、医療提供者、観光地や文化施設、多数の自治体などがあります。フィラデルフィアのリバーフロントにある Aramark の本社には、1,200 人以上の管理およびサポート担当者が勤務し、魅力的なアメニティを備えた活気のある職場環境が提供されています。The Market には、テイクアウトの食品、スイーツやスナック、ソフトドリンク、水、ジュースが入った冷蔵庫など、幅広い商品が揃っています。 Aramark の The Market、出典:Aramark 「フィラデルフィアの Aramark 本社にある LifeWorks café は、私たちにとってゲストの体験が常に最優先されている素晴らしい例です」と LifeWorks レストラングループの地域副社長である Greta Patel は述べています。「ジャーニーの全てが計画され、シームレスで効率的な体験を生み出しています。Just Walk Out テクノロジーを備えた The Market は、従業員の体験をさらに向上させ、店内をスムーズに移動し、日々の業務に戻ることを可能にします。」 手間のないショッピング Just Walk Out テクノロジーは、チェックアウト不要のショッピング体験です。お客様はクレジットカードをスキャンして The Market に入店し、必要な商品を手に取り、列に並ぶことなく、そのまま退店できます。Just Walk Out テクノロジーは、ディープラーニング、センサーフュージョン、AI、コンピュータービジョン( RFID テクノロジー)を使用して、お客様が商品を手に取ったり戻したりしたことを自動的に検知します。取得した商品は仮想カートで追跡されます。お客様が退店すると、手に取った商品の代金が請求されます。このテクノロジーは、一緒にショッピングをするグループも追跡できます。グループが 1 枚のクレジットカードで入店すると、システムは個人を追跡しつつ、そのグループを同じ支払い方法に関連付けます。これは、 Aramark 社員が会議用の商品を購入する際の、グループのショッピングツアーで特に便利です。グループが退店すると、システムは一緒にショッピングをした人々を認識し、その取引全体で1つの領収書を発行します。 商品を手に取って出るだけ オフィス環境における Just Walk Out ストアは、企業の売上増加、盗難減少、そしてイノベーションの紹介に役立ちます。 Aramark の The Market では営業時間の延長とスタッフの最適化が可能になり、店舗スタッフがピーク時間でもより価値の高い業務に専念できるようになり、売上を犠牲にすることなく運営コストを削減できます。 「人々が忙しかったり、急いでいるところでは、Just Walk Out テクノロジーの価値が見えてきます」とアマゾンの Just Walk Out テクノロジーのVP である Jon Jenkins は述べています。「オフィスにいる場合、会議と会議の間の数分間で軽食と飲み物を手に入れ、机に戻らなければならないかもしれません。The Market by Aramark は、従業員に高速で手間のかからない買い物体験を提供します。」 Aramark の The Market、出典:Aramark Aramark とのパートナーシップによる他の Just Walk Out の場所 には、シカゴのノースパーク大学の the Viking Market 、レズリー大学の Lesley on the Go ( Aramark Collegiate Hospitalityと共同)、Minute Maid Park とCoors Field ( Aramark Sports + Entertainment と共同) があります。 詳細は justwalkout.com をご覧いただき、 LinkedIn でも当社をフォローしてください。 著者について Sarah Yacoub Sarah Yacoub は、AWS のマーケティングシニアマネージャーで、アマゾンの Just Walk Out テクノロジーのマーケティングを担当しています。彼女はワシントン DC に拠点を置いています。   本稿はソリューションアーキテクトの齋藤が翻訳を担当しました。原文は こちら 。
EC2 Image Builder での macOS サポートを発表できることを嬉しく思います。この新機能により、Windows と Linux の既存のサポートに加えて、macOS ワークロード用のマシンイメージを作成および管理できます。 ゴールデンイメージは、 Amazon マシンイメージ (AMI) とも呼ばれる起動可能なディスクイメージで、オペレーティングシステムとワークロードに必要なすべてのツールがあらかじめインストールされています。継続的インテグレーションと継続的デプロイ(CI/CD)パイプラインのコンテキストでは、ゴールデンイメージにはほとんどの場合、特定のバージョンのオペレーティングシステム(macOS)と、アプリケーションのビルドとテストに必要なすべての開発ツールとライブラリ( Xcode 、 Fastlane など)が含まれています。 macOS のゴールデンイメージを構築するためのパイプラインを開発して手動で管理するのは時間がかかり、有能なリソースを他のタスクからそらしてしまいます。また、Linux または Windows イメージを構築するための既存のパイプラインがある場合は、macOS イメージの作成にさまざまなツールを使用する必要があるため、ワークフローがばらばらになります。 このような理由から、EC2 Image Builder を使用して macOS イメージを管理できる機能を求める声が多く寄せられています。複数のオペレーティングシステム間でイメージパイプラインを統合し、EC2 Image Builder が提供する自動化とクラウド中心の統合を活用したい。 EC2 Image Builder に macOS サポートを追加することで、イメージ管理プロセスを合理化し、macOS イメージを維持するための運用オーバーヘッドを削減できるようになりました。EC2 Image Builder は、ベースイメージを大規模にテスト、バージョニング、検証するので、お好みの macOS バージョンを維持するためのコストを節約できます。 実際の動作を見てみましょう Xcode 16 で macOS AMI を作成するためのパイプラインを作成しましょう。同様の手順で AMI に Fastlane をインストールできます。 高いレベルでは、4 つの主要なステップがあります。 私はインストールしたいツールごとにコンポーネントを定義します。コンポーネントは、インストールするアプリケーションとその方法を EC2 Image Builder に指示する YAML ドキュメント です。この例では、Xcode をインストールするためのカスタムコンポーネントを作成します。Fastlane をインストールする場合は、2 つ目のコンポーネントを作成します。 ExecuteBash アクションを使用して、Xcode のインストールに必要なシェルコマンドを入力します。 レシピ を定義します。レシピはベースイメージから始まり、そこにインストールするコンポーネントが一覧表示されます。 イメージを構築するために使用する インフラストラクチャ構成 を定義します。これにより、イメージを構築するための Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのプールが定義されます。私の場合は、アカウントに EC2 Mac 専有ホストを割り当て、それをインフラストラクチャ設定で参照します。 与えられたレシピと イメージワークフロー を使って、インフラストラクチャ上で実行するパイプラインとスケジュールを作成します。出力 AMI をテストし、選択した宛先(自分のアカウントまたは別のアカウント)に配信します 思ったよりずっと簡単です。 AWS マネジメントコンソール の手順を紹介します。また、 AWS コマンドラインインターフェイス (AWS CLI) を使用して EC2 Image Builder を設定したり、 AWS SDK のいずれかを使用してコードを記述したりすることもできます。 ステップ 1: コンポーネントの作成 コンソールを開き、「 EC2 Image Builder 」、「 コンポーネント 」、「 コンポーネントの作成 」の順に選択します。 ベース イメージオペレーティングシステム と 互換性のある OS バージョン を選択します。次に、 コンポーネント名 と コンポーネントバージョン を入力します。「 ドキュメントコンテンツを定義 」を選択し、この YAML を コンテンツ として入力します。 name: Xcode ドキュメントをインストール description: Xcode をダウンロードしてインストールします。まず、必ずラップトップから「xcodeinstall authenticate -s us-east-1」を実行してください。 schemaVersion: 1.0 phases: - name: ビルド steps: - name: Xcode をインストール action: Bash を実行 inputs: commands: - sudo -u ec2-user /opt/homebrew/bin/brew tap sebsto/macos - sudo -u ec2-user /opt/homebrew/bin/brew install xcodeinstall - sudo -u ec2-user /opt/homebrew/bin/xcodeinstall download -s us-east-1 --name "Xcode 16.xip" - sudo -u ec2-user /opt/homebrew/bin/xcodeinstall install --name "Xcode 16.xip" - name: 検証 steps: - name: Xcode をテスト action: Bash を実行 inputs: commands: - xcodebuild -version && xcode-select -p 私が書いたツールを使って、コマンドラインから Xcode をダウンロードしてインストールします。 xcodeinstall は AWS Secrets Manager と統合され、認証ウェブトークンを安全に保存します。パイプラインを実行する前に、 ラップトップから xcodeinstall authenticate -s us-east-1 コマンドを使用して認証します。このコマンドは Apple サーバーとのセッションを開始し、セッショントークンを Secrets Manager に保存します。xcodeinstall は、イメージ作成パイプライン中にこのトークンを使用して Xcode をダウンロードします。 Secrets Manager で xcodeinstall を使用する場合、シークレットにアクセスするための権限をパイプラインに付与する必要があります。これは、EC2 Image Builder が使用する EC2 インスタンスにアタッチされたロールに追加したポリシードキュメントです (以下のインフラストラクチャ構成)。 { "Sid": "xcodeinstall", "Effect": "Allow", "Action": [  "secretsmanager:GetSecretValue" "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:<アカウントID>:secret:xcodeinstall*" } EC2 Mac インスタンスの起動とリサイクルを長時間待たずに、これらのコンポーネントをローカルでテストおよびデバッグするには、 AWS Task Orchestrator and Executor (AWSTOE) コマンドを使用できます。 ステップ 2: レシピの作成 次のステップはレシピを作成することです。コンソールで「 イメージレシピ 」と「 イメージレシピの作成 」を選択します。 ベース イメージオペレーティングシステム として macOS を選択します。 イメージ名 として macOS Sonoma ARM64 を選択します。 「 ビルドコンポーネント 」セクションで、ステップ 1 で作成した Xcode 16 コンポーネントを選択します。 最後に、ボリュームがオペレーティングシステム、Xcode、およびビルドを保存するのに十分な大きさであることを確認します。私は通常 500 Gb gp3 ボリュームを選択します。 ステップ 3 と 4: パイプライン (およびインフラストラクチャ構成) の作成 EC2 Image Builder ページで、「 イメージパイプライン 」と「 イメージパイプラインの作成 」を選択します。パイプラインに名前を付け、 ビルドスケジュール を選択します。このデモでは、手動トリガーを選択します。 次に、先ほど作成したレシピ (Sonoma-Xcode) を選択します。 イメージ作成プロセスの定義 に デフォルトワークフロー を選択しました(簡潔にするために示していません)。 既存の インフラストラクチャ構成 を作成または選択します。macOS イメージを構築する場合、最初に Amazon EC2 専有ホスト を割り当てる必要があります。ここで、EC2 Image Builder が AMI の作成に使用するインスタンスタイプを選択します。仮想プライベートクラウド (VPC)、セキュリティグループ、 AWS Identity and Access Management (IAM) ロール、イメージの準備中に必要な権限、キーペア、EC2 インスタンスの起動時に通常選択するすべてのパラメータをオプションで選択することもできます。 最後に、出力 AMI を配信する場所を選択します。デフォルトでは、私のアカウントに残ります。ただし、他のアカウントと共有またはコピーすることもできます。 パイプラインを実行 これで、パイプラインを実行する準備ができました。 イメージパイプライン を選択し、次に作成したパイプライン( Sonoma-Xcode )を選択します。 アクション メニューから「 パイプラインを実行 」を選択します。 Amazon CloudWatch から進捗状況と詳細なログを確認できます。 しばらくすると、AMI が作成され、使用できる状態になります。 AMI をテスト デモを終了するために、先ほど作成した AMI で EC2 Mac インスタンスを起動します (最初に専有ホストを割り当てるか、EC2 Image Builder で使用したホストを再利用することを忘れないでください)。 インスタンスが起動したら、Secure Shell (SSH) を使用してインスタンスに接続し、Xcode が正しくインストールされていることを確認します。 料金と利用可能なリージョン EC2 Mac インスタンスが利用可能なすべての AWS リージョンで、EC2 Image Builder for macOS が利用可能になりました:米国東部 (オハイオ、バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (ムンバイ、ソウル、シンガポール、シドニー、東京)、ヨーロッパ (フランクフルト、アイルランド、ロンドン、ストックホルム) (すべてのリージョンですべての Mac インスタンスタイプを利用できるわけではありません )。 追加コストは発生せず、パイプラインの実行中に使用されたリソース、つまり EC2 Mac 専有ホストが割り当てられた時間に対してのみ課金されます (最低 24 時間)。 EC2 Image Builder の macOS サポートのプレビューでは、イメージパイプラインを統合し、ゴールデンイメージ作成プロセスを自動化し、AWS でのクラウド重視の統合のメリットを活用できます。EC2 Mac プラットフォームがインスタンスタイプを増やして拡大し続けるにつれて、この新機能により EC2 Image Builder は Windows、Linux、macOS にわたるイメージ管理のための包括的なソリューションとしての地位を確立しています。 最初のパイプラインを今すぐ作成しましょう! — seb 原文は こちら です。
4 か月前、AWS は Amazon Bedrock に Anthropic の Claude 3.5 を導入 して、 Claude 3 Sonnet のスピードとコストを維持しながら、AI モデルインテリジェンスの業界水準を引き上げました。 10 月 22 日は、 Amazon Bedrock で利用できる Claude 3.5 モデルファミリー の 3 つの新しい機能をご紹介したいと思います。 アップグレードされた Claude 3.5 Sonnet – 前バージョンの長所をさらに強化し、より優れたインテリジェンスを同じコストで提供する、アップグレードされた Claude 3.5 Sonnet モデルにアクセスできるようになりました。Claude 3.5 Sonnet は、現実世界のソフトウェアエンジニアリングタスクを解決し、複雑なエージェント型ワークフローに従う能力を絶えず向上させています。アップグレードされた Claude 3.5 Sonnet は、初期設計からバグ修正、メンテナンス、そして最適化まで、ソフトウェア開発ライフサイクルの全体を支援します。これらの機能でアップグレードされた Claude 3.5 Sonnet モデルは、温かみのある人間のような口調で話す、より高度なチャットボットの構築に役立ちます。アップグレードされたモデルが能力を発揮するその他のユースケースには、ナレッジ Q&A プラットフォーム、グラフや図などの視覚的素材からのデータ抽出、反復的なタスクや操作の自動化などがあります。 Computer Use 機能 – アップグレードされた Claude 3.5 Sonnet は、Amazon Bedrock でパブリックベータ版の Computer Use を提供するようになりました。これは、Claude がコンピュータインターフェイスを認識し、やり取りすることを可能にします。開発者は、人間と同じ方法 (画面を見る、カーソルを動かす、ボタンをクリックする、テキストを入力する) でコンピュータを使用するよう Claude に指示できます。これは、キーストロークやマウスクリック、テキストファイルの編集、シェルコマンドの実行といったコンピュータアクションを返すことができる、統合されたツールへのアクセスをモデルに提供することによって機能します。ソフトウェア開発者は、アクション実行レイヤーを構築することで Computer Use をソリューションに統合し、画面にアクセスする許可を Claude 3.5 Sonnet に付与することができます。そうすることで、ソフトウェア開発者は、コンピュータアクションを実行し、複数のステップに従って、結果を確認する能力を備えたアプリケーションを構築できます。Computer Use は、AI 駆動のアプリケーションに新たな可能性を生み出します。例えば、この機能はソフトウェアのテストやバックオフィスタスクの自動化と、アプリケーションとやり取りできるより高度なソフトウェアアシスタントの実装に役立ちます。このテクノロジーは初期段階にあるため、開発者には、リスクの低いタスクの検討と、サンドボックス環境での使用が推奨されます。 Claude 3.5 Haiku – 新しい Claude 3.5 Haiku の提供が間もなく開始されます。これは、すばやい応答時間と改善された推論機能を兼ね備えているため、スピードとインテリジェンスの両方が必要になるタスクに最適です。Claude 3.5 Haiku は前バージョンの改良版であり、Claude 3 Haiku のスピードとコストで Claude 3 Opus (Claude の旧最大モデル) に匹敵するパフォーマンスを実現します。Claude 3.5 Haiku は、迅速で正確なコード提案、すばやい応答時間を必要とするカスタマーサービス向けの高度にインタラクティブなチャットボット、e コマースソリューション、教育プラットフォームなどのユースケースに役立ちます。金融、ヘルスケア、研究などの分野で大量の非構造化データを扱うお客様の場合は、Claude 3.5 Haiku が情報の効率的な処理と分類に役立ちます。 Anthropic によると、アップグレードされた Claude 3.5 Sonnet は前バージョンを全面的に改善したものであり、既に抜きん出ていた領域であるコーディングが大幅に向上されています。アップグレードされた Claude 3.5 Sonnet は、複数の業界ベンチマークで幅広い改善を示しています。コーディングでは、SWE-Bench Verified のパフォーマンスが 33% から 49% に向上しており、一般公開されているすべてのモデルを上回るスコアを獲得しています。エージェント型ツールを使用するタスクに関する TAU-bench のパフォーマンスも、小売業界では 62.6% から 69.2%、航空業界では 36.0% から 46.0% に向上しています。以下は、Anthropic 提供のモデル評価表です。 AI インタラクションにおける新境地、Computer Use Claude では、API を使用するようにモデルを制限するのではなく、一般的なコンピュータスキルでトレーニングを行っていることから、幅広い標準ツールとソフトウェアプログラムを使用することが可能です。そのため、アプリケーションは Claude を使用してコンピュータインターフェイスを認識し、それらとやり取りすることができます。ソフトウェア開発者はこの API を統合して、Claude がプロンプト (「ローマのホテルを探して」など) を特定のコンピュータコマンド (ブラウザを開く、ウェブサイトを操作するなど) に変換できるようにすることが可能です。 具体的には、ソフトウェア開発者がこのモデルを呼び出すときに、コンピュータを操作するための仮想的な手を提供する 3 つの新しい統合ツールにアクセスできるようになります。 コンピュータツール – このツールは、スクリーンショットやゴールを入力として受け取り、そのゴールを達成するために実行する必要があるマウスとキーボードのアクションの説明を返します。例えば、このツールは、カーソルを特定の位置に移動させる、クリックする、入力する、およびスクリーンショットを撮るように要求できます。 テキストエディタツール – このツールを使用すると、モデルがファイルコンテンツの表示、新しいファイルの作成、テキストの置き換え、編集の取り消しといった操作の実行を要求できます。 Bash ツール – このツールは、ユーザーによるターミナルへの入力に応じて下位レベルでやり取りするために、コンピュータシステムで実行できるコマンドを返します。 これらのツールは、データ分析やソフトウェアのテストから、コンテンツ作成やシステム管理まで、複雑なタスクの自動化に大きな可能性をもたらします。Claude 3.5 Sonnet 駆動のアプリケーションが人間と同じようにコンピュータとやり取りし、ターミナル、テキストエディタ、インターネットブラウザなどの複数のデスクトップツールを操作して、フォームへの入力やコードのデバッグにも対応できることを想像してみてください。 AWS は、ソフトウェア開発者が Amazon Bedrock でこれらの新機能を追求できるようにすることをとても楽しみにしています。この機能は今後数か月で急速に改善されることが予想されますが、コンピュータの使用における Claude の現在の能力には限界があります。アクションには、スクロール、ドラッグ、ズームなど、Claude には処理が困難なものもあるため、リスクの低いタスクの検討をお勧めします。 実際のコンピュータ環境内にあるマルチモーダルエージェントのベンチマーク、 OSWorld を見てみると、アップグレードされた Claude 3.5 Sonnet のスコアは現在 14.9% です。人間レベルのスキルは、これをはるかに上回る約 70〜75% になっていますが、14.9% という結果は、同じカテゴリーで Claude 3.5 Sonnet に次ぐモデルが得た 7.7% よりも大幅に優れています。 Amazon Bedrock コンソールでのアップグレードされた Claude 3.5 Sonnet の使用 アップグレードされた Claude 3.5 Sonnet の使用を開始するには、 Amazon Bedrock コンソール に移動して、ナビゲーションペインで [モデルアクセス] を選択します。そこから、新しい [Claude 3.5 Sonnet V2] へのアクセスをリクエストします。 新しいビジョン機能をテストするため、別のブラウザタブを開いて、 Our World in Data ウェブサイト から Wind power generation グラフを PNG 形式でダウンロードしました。 Amazon Bedrock コンソールに戻り、ナビゲーションペインの [プレイグラウンド] で [チャット/テキスト] を選択します。モデルには、モデルプロバイダーとして [Anthropic] を選択してから、 [Claude 3.5 Sonnet V2] を選択します。 チャットの入力セクションにある縦に並んだ 3 つの点を使用して、コンピュータから画像ファイルをアップロードします。その後、以下のプロンプトを入力します。 Which are the top countries for wind power generation? Answer only in JSON. 結果は、私の指示に従って、画像から抽出した情報のリストを返します。 AWS CLI と SDK でのアップグレードされた Claude 3.5 Sonnet の使用 以下は、 Amazon Bedrock Converse API を使用する AWS コマンドラインインターフェイス (AWS CLI) コマンドの例です。CLI の --query パラメータを使用して結果をフィルタリングし、出力メッセージのテキストコンテンツのみを表示します。 aws bedrock-runtime converse \ --model-id anthropic.claude-3-5-sonnet-20241022-v2:0 \ --messages '[{ "role": "user", "content": [ { "text": "What do you throw out when you want to use it, but take in when you do not want to use it?" } ] }]' \ --query 'output.message.content[*].text' \ --output text 出力では、このテキストが応答に表示されます。 An anchor! You throw an anchor out when you want to use it to stop a boat, but you take it in (pull it up) when you don't want to use it and want to move the boat. AWS SDK も同じようなインターフェイスを実装します。例えば、 AWS SDK for Python (Boto3) を使用して、コンソールの例と同じ画像を分析することができます。 import boto3 MODEL_ID = "anthropic.claude-3-5-sonnet-20241022-v2:0" IMAGE_NAME = "wind-generation.png" bedrock_runtime = boto3.client("bedrock-runtime") with open(IMAGE_NAME, "rb") as f: image = f.read() user_message = "Which are the top countries for wind power generation? Answer only in JSON." messages = [ { "role": "user", "content": [ {"image": {"format": "png", "source": {"bytes": image}}}, {"text": user_message}, ], } ] response = bedrock_runtime.converse( modelId=MODEL_ID, messages=messages, ) response_text = response["output"]["message"]["content"][0]["text"] print(response_text) アプリケーションとの Computer Use の統合 Computer Use が実際にどのように機能するのかを見てみましょう。まず、Ubuntu システムのデスクトップのスナップショットを撮ります。 このスクリーンショットは、Computer Use が実装するステップの出発点になります。その仕組みを確認するため、モデルに対する入力でスクリーンショットの画像と以下のプロンプトを渡す Python スクリプトを実行します。 Find me a hotel in Rome. このスクリプトは、Computer Use に必要な新しい構文を使用して、Amazon Bedrock 内のアップグレードされた Claude 3.5 Sonnet を呼び出します。 import base64 import json import boto3 MODEL_ID = "anthropic.claude-3-5-sonnet-20241022-v2:0" IMAGE_NAME = "ubuntu-screenshot.png" bedrock_runtime = boto3.client( "bedrock-runtime", region_name="us-east-1", ) with open(IMAGE_NAME, "rb") as f: image = f.read() image_base64 = base64.b64encode(image).decode("utf-8") prompt = "Find me a hotel in Rome." body = { "anthropic_version": "bedrock-2023-05-31", "max_tokens": 512, "temperature": 0.5, "messages": [ { "role": "user", "content": [ {"type": "text", "text": prompt}, { "type": "image", "source": { "type": "base64", "media_type": "image/jpeg", "data": image_base64, }, }, ], } ], "tools": [ { # new "type": "computer_20241022", # literal / constant "name": "computer", # literal / constant "display_height_px": 1280, # min=1, no max "display_width_px": 800, # min=1, no max "display_number": 0 # min=0, max=N, default=None }, { # new "type": "bash_20241022", # literal / constant "name": "bash", # literal / constant }, { # new "type": "text_editor_20241022", # literal / constant "name": "str_replace_editor", # literal / constant } ], "anthropic_beta": ["computer-use-2024-10-22"], } # Convert the native request to JSON. request = json.dumps(body) try: # Invoke the model with the request. response = bedrock_runtime.invoke_model(modelId=MODEL_ID, body=request) except Exception as e: print(f"ERROR: {e}") exit(1) # Decode the response body. model_response = json.loads(response["body"].read()) print(model_response) リクエストの本文には、以下の新しいオプションが含まれています。 Computer Use を有効化するために、値が ["computer-use-2024-10-22"] に設定された anthropic_beta 。 新しい type オプションをサポートする tools セクション (設定するツールのために custom になっています)。 コンピュータツールは、画面の解像度を認識する必要があることに注意してください ( display_height_px および display_width_px )。 モデルは、Computer Use での私の指示に従うために、デスクトップ (入力スクリーンショットによって説明されているもの) で実行するアクションを提供します。 モデルからの応答には、最初のステップを提供する computer ツールからの tool_use セクションが含まれています。モデルは、スクリーンショットにある Firefox ブラウザのアイコンとマウスカーソル (矢印) の位置を把握しているため、今度はマウスを特定の座標に移動して、ブラウザを起動するように要求します。 { "id": "msg_bdrk_01WjPCKnd2LCvVeiV6wJ4mm3", "type": "message", "role": "assistant", "model": "claude-3-5-sonnet-20241022", "content": [ { "type": "text", "text": "I'll help you search for a hotel in Rome.I see Firefox browser on the desktop, so I'll use that to access a travel website.", }, { "type": "tool_use", "id": "toolu_bdrk_01CgfQ2bmQsPFMaqxXtYuyiJ", "name": "computer", "input": {"action": "mouse_move", "coordinate": [35, 65]}, }, ], "stop_reason": "tool_use", "stop_sequence": None, "usage": {"input_tokens": 3443, "output_tokens": 106}, } これは最初の一歩に過ぎません。通常のツール使用リクエストと同様に、このスクリプトはツールの使用結果 (今回はマウスを動かす) で応答する必要があります。ホテルを予約するという最初のリクエストに基づいて、ホテルの予約が完了するまでは、アイコンのクリックや、ブラウザへの URL の入力などを要求するツール使用インタラクションが繰り返されます。 より詳細な例は、 Anthropic が共有したこちらのリポジトリ で確認できます。 知っておくべきこと アップグレードされた Claude 3.5 Sonnet は、米国西部 (オレゴン) AWS リージョン にある Amazon Bedrock で本日から利用可能になり、アップグレード前の Claude 3.5 Sonnet と同じコストで提供されます。リージョンごとの利用可能性に関する最新情報については、 Amazon Bedrock ドキュメント を参照してください。各 Claude モデルのコストに関する詳細は、 Amazon Bedrock の料金ページ をご覧ください。 アップグレードされたモデルのより優れたインテリジェンスに加えて、ソフトウェア開発者は Computer Use (パブリックベータ版で利用可能) をアプリケーションに統合することで、複雑なデスクトップワークフローを自動化し、ソフトウェアのテストプロセスを強化して、より高度な AI 駆動のアプリケーションを作成できるようになります。 Claude 3.5 Haiku は数週間以内にリリースされる予定で、最初はテキストのみのモデルとしてリリースされ、後ほど画像入力が追加されます。 Computer Use がコーディングにどのように役立つかについては、Anthropic の Head of Developer Relations である Alex Albert 氏 の動画でご覧いただけます。 こちらの もうひとつの動画は、操作を自動化するための Computer Use について説明しています 。 これらの新しい機能の詳細については、 Amazon Bedrock ドキュメントの Claude モデルセクション をお読みください。 Amazon Bedrock コンソール でアップグレードされた Claude 3.5 Sonnet を今すぐお試しいただき、 AWS re:Post for Amazon Bedrock までフィードバックをお寄せください。 community.aws では、詳しい技術コンテンツを検索し、ビルダーコミュニティが Amazon Bedrock を使用する方法を見出すことができます。これらの新機能で何を構築するのか教えてくださいね! – Danilo 原文は こちら です。
エージェント型ワークフローは急速に AI イノベーションの基盤となりつつあり、インテリジェントなシステムが人間による問題解決と同じ方法で複雑なタスクを自律的に処理し、改良することを可能にしています。10 月 14 日週、AWS は Serverless Agentic Workflows with Amazon Bedrock の提供を開始しました。これは、 Andrew Ng 博士 および DeepLearning.AI と共同で開発された新しい短時間のコースです。 私の同僚である Mike Chambers が教えるこの実践的なコースでは、インフラストラクチャを管理する手間をかけずに、複雑なタスクを処理できるサーバレスエージェントを構築する方法を学ぶことができます。 Amazon Bedrock を使用して、 Amazon Web Services (AWS) でツールの統合、ワークフローの自動化、および組み込みガードレールを用いた責任あるエージェントのデプロイを実行するために必要なすべての事柄を学びます。 コースで提供されるハンズオンラボでは、AWS パートナーである Vocareum がホストする AWS 環境で知識を直接応用することができます。 DeepLearning.AI コースページ で詳細を確認して、無料で登録しましょう。 それでは、AWS に関する 10 月 14 日週のエキサイティングなニュースを見ていきましょう。 10 月 14 日週のリリース 私が注目したいくつかのリリースをご紹介します。 Amazon Transcribe が 30 の追加言語でのストリーミングトランスクリプションをサポート – Amazon Transcribe が 30 言語を追加してサポートを拡大し、サポートされる言語が合計で 54 言語になりました。この機能強化は、より広範なグローバルオーディエンスへのアクセスに役立ち、コンタクトセンター、放送、e ラーニングを含めたさまざまな業界全体でアクセシビリティを向上させます。拡張された言語サポートは、より効率的なコンテンツモデレーション、エージェント生産性の向上、およびライブイベントや会議の自動字幕作成を可能にします。 AWS Lambda コンソール が主要関数のインサイトの表面化と リアルタイムのログ分析をサポート – AWS Lambda コンソールに組み込みの Amazon CloudWatch Metrics Insights ダッシュボードが搭載され、CloudWatch Logs Live Tail をサポートするようになりました。これらは、重要な関数メトリクスとリアルタイムのログストリーミングを瞬時に可視化します。これからは、コンソールを離れることなく Lambda 関数のエラーやパフォーマンス問題を特定してトラブルシューティングするとともに、ログが利用可能になると同時にリアルタイムで表示して分析することが可能になります。コンテキストの切り替え頻度を減らして、サーバーレスアプリケーションの開発プロセスとトラブルシューティングプロセスを迅速化することができます。詳細については、 ローンチ記事 をお読みください。 Amazon Bedrock のモデル評価 がカスタムモデルのインポートモデル評価をサポート – モデル評価 機能を使用して、 Amazon Bedrock にインポートされたカスタムモデルを評価できるようになりました。この機能は、モデルをデプロイする前に、それらの選択、カスタマイズ、評価の全サイクルを完了するために役立ちます。インポートされたモデルを評価するには、評価ジョブを作成するときに、モデルセレクターツールで評価対象モデルのリストからカスタムモデルを選択します。 Amazon Q in AWS Supply Chain – インタラクティブな AI アシスタントである Amazon Q を使用して、 AWS Supply Chain でサプライチェーンデータの分析を行い、サプライチェーンをより効率的に運用するためのインサイトを取得できるようになりました。Amazon Q は、データを詳しく調査することによってサプライチェーン関連の質問に答えることができます。この機能は、情報の検索に費やす時間を減らし、回答の取得を合理化して、サプライチェーン運用を改善します。 AWS のお知らせの詳細なリストについては、「AWS の最新情報」ページをご覧ください。 AWS のその他のニュース 以下は、皆さんが関心を持つと思われるその他のニュース項目と記事です。 新しい Amazon OpenSearch Service YouTube チャンネル – このチャンネルは、簡単なチュートリアルや厳選されたコンテンツに加えて、ログ分析、セマンティック検索、ベクトルデータベース、運用上のベストプラクティスなどのトピック別に分類されたプレイリストを提供します。また、今後のチャンネルコンテンツや OpenSearch Service ロードマップの方向性を左右するフィードバックを提供することもできます。 ローンチ記事 で詳細を確認して、 Amazon OpenSearch Service YouTube チャンネルにサブスクライブ しましょう。 Deploying Generative AI Applications with NVIDIA NIM Microservices on Amazon Elastic Kubernetes Service (Amazon EKS)  – この記事では、 Amazon EKS  を使用して  NVIDIA NIM マイクロサービス が含まれるポッドのデプロイをオーケストレーションし、すばやくセットアップできる最適化された大規模言語モデル (LLM) 推論を Amazon EC2 G5 インスタンス で実現する方法を説明します。また、Prometheus 経由でカスタムメトリクスを監視することによってポッドとクラスターの両方をスケールする方法と、 Application Load Balancer を使用して負荷を分散する方法のデモも行います。 Instant Well-Architected CDK Resources with Solutions Constructs Factories – 新しい AWS Solutions Constructs ファクトリ を使用して関数コールを一度実行するだけで、 Amazon Simple Storage Service (Amazon S3)  バケットや AWS Step Functions などの適切に設計された AWS リソースを作成できるようになりました。これらのファクトリは、カスタマイズすることを可能にしながら、ユーザーに代わってすべてのベストプラクティス設定に対応します。サポートされているリソースのいずれかをデプロイする必要が生じたときは、Constructs ファクトリを使用してみてください。 今後の AWS イベント カレンダーを確認して、これらの AWS イベントにサインアップしましょう。 AWS GenAI Loft – AWS GenAI Loft は、テクノロジーを紹介するだけに留まらず、スタートアップ、開発者、投資者、および業界エキスパートが一堂に集まって交流する場も提供します。深いインサイトを得たい、または 生成 AI の専門家から質問の回答を得たいと考えているかにかかわらず、GenAI Loft は皆さんのニーズに対応し、次のイノベーションの構築を開始するために必要な事柄のすべてを提供します。 ロンドン (10 月 25 日まで)、 ソウル (10 月 30 日~11 月 6 日)、 サンパウロ (11 月 20 日まで)、および パリ (11 月 25 日まで) で開催されるイベントにご参加ください。 AWS Community Day – 世界中のエキスパート AWS ユーザーと業界リーダーがリードするテクニカルディスカッション、ワークショップ、ハンズオンラボが盛り込まれたコミュニティ主導のカンファレンスに参加しましょう。日程は、 マルタ (11 月 8 日)、 チリ (11 月 9 日)、および インド、コーチ (12 月 14 日) です。 AWS re:Invent – 12 月 2 日から 6 日にかけてラスベガスで開催される、毎年恒例のテクノロジーイベントの 登録 が開始されました。re: Invent 2024 では、生成 AI などの喫緊のトピックへの対応に関するお客様や AWS リーダーからの体験談を間近で聞くことができます。話題になること間違いなしの 5 つの基調講演で、新製品のローンチについて学び、デモを見て、舞台裏のインサイトを入手してください。 近日開催されるすべての対面イベントと仮想イベントを閲覧できます。 10 月 21 日週はここまでです。10 月 28 日週に再びアクセスして、新たな Weekly Roundup をぜひお読みください。 –  Antje この記事は、 Weekly Roundup  シリーズの一部です。毎週、AWS からの興味深いニュースや発表を簡単にまとめてお知らせします! 原文は こちら です。
本ブログは 株式会社 PURPOM MEDIA LAB 様と Amazon Web Services Japan 合同会社が共同で執筆いたしました。 みなさん、こんにちは。AWS ソリューションアーキテクトの呉です 。 私が日々お客様と会話をしている中で、ビジネスモデルの構築に課題感があり、外部の専門家やコンサルタントを活用するケースも多い印象です。新しい収益源を確保したい、あるいは市場の変化に対応するためにこれから新規事業開発を考えている企業においてビジネスモデルの構築は重要な課題ではないでしょうか? 本記事では、生成 AI を活用して前述した企業の課題解決を手助けするソリューションを開発された株式会社 PURPOM MEDIA LAB 様の事例をご紹介します。同社は Amazon Bedrock や AWS Amplify などサーバーレス構成を採用し、3 人体制で 3 ヶ月という短期間でビジネスモデルを自動生成するソリューションを開発されています。 お客様の状況とソリューション開発に至る経緯 株式会社 PURPOM MEDIA LAB 様はリーン開発と呼ばれる手法を用いて、お客様の新規事業開発をスモールスタートで育てていくことを得意とされています。同社はシステム開発についてお客様と会話する中で以下の共通課題があることに気づきました。 新規事業のビジネスモデルはタスクや検証項目の洗い出しに時間を要している スタートアップ企業のビジネスモデルや、それを試行錯誤したプロセスが可視化できていない ビジネスモデルを投資家などのステークホルダーに共有するコミュニケーションコストが高い 収益化に向けた戦略の具体化、最適化ができていない こうした課題の解決を手助けするために、Amazon Bedrock を利用して「 ビジネスモデルジェネレータ 」を開発しました。 ソリューション/構成 「 ビジネスモデルジェネレータ 」は以下のサービスで構成されています。サーバーレスでインフラ管理が不要であることに加え、IAM ユーザーによるセキュリティ管理ができること、また AppSync のリゾルバー経由で呼び出しができて Amplify Gen2 と親和性が高いことから Amazon Bedrock を採用されました。同ソリューションは Amazon Bedrock の出力をシステム側で適切に処理してからユーザーへ提供するよう設計されており、ユーザーへ提供する情報の一貫性と信頼性の向上を図っています。 (出展 : 株式会社 PURPOM MEDIA LAB ) ユーザーが同サービスを利用する流れは以下です。 ユーザーがビジネスモデルを新規作成し、ビジネスアイデアを書き込む ビジネスアイデアの内容を元にプロンプトを生成する 2 のプロンプトを利用し、Amazon Bedrock でビジネスモデルキャンバスの内容を生成する 以下が生成されたビジネスモデルキャンバスの例です。こちらの例でビジネスアイデアは、「農家の野菜をパーキングエリアに出展できるようにサービスを始めたい」です。「ビジネスモデルジェネレータ」は、同ビジネスが提供する価値は何か、どんなリソースが必要か、コストの構造と収益の流れなどがまとめられています。ビジネスモデルキャンバスの作成者は、内容を編集したり、社内外へ共有してコメントをもらったりすることができます。 次に、ビジネスモデルキャンバスは、ビジネスアイデアから仮説(課題)と何を重要業績評価指標(KPI)にしてビジネス課題の実現に向けて取り組むか、提案します。 (出展 : 株式会社 PURPOM MEDIA LAB ) 導入効果と今後について Amazon Bedrock を活用した「ビジネスモデルジェネレータ」により以下の効果が得られると考えています。 新規事業のビジネスモデル検討時に必要なタスクや検証項目の洗い出しに所要される時間を短縮できる スタートアップ企業がステークホルダーへビジネスモデルを説明するコニュニケーションコストが削減できる ビジネスモデルやそれを試行錯誤したプロセスの可視化により、現状を関係者に周知することで安心感を与えることができる コスト構造や収益化に向けた戦略を具体化、最適化できる Amazon Bedrock を利用すると、入出力データが学習されることがないため、安心して生成 AI を利用できる 「ビジネスモデルジェネレータ」は β 版をリリースしたばかりです。今後、株式会社 PURPOM MEDIA LAB 様は、RAG (Retrieval Augmented Generation) を活用してユーザーの体験向上が見込まれる新機能を追加開発する予定です。具体的には、過去のビジネス事例、競合企業の情報に加え、対象の企業情報(規模、業種、経営課題、顧客セグメントなど)を基にビジネスモデルを生成し、精度向上を図ります。また、アクターやシステム整理、ユースケース作成、UI モデリングなど、開発プロセスにおいても生成 AI の活用を検証予定です。 まとめ このように、株式会社 PURPOM MEDIA LAB 様は Amazon Bedrock を活用することで、企業の新規事業開発における課題を解決するソリューションを短期間で実現しています。また、サーバーレスサービスの活用により、インフラ保守運用負荷の低減も見込まれます。今回ご紹介した「ビジネスモデルジェネレータ」は、 クローズドβ 参加社を募集中です。ご興味のある方は、 こちら からお問い合わせください。 今後さらにビジネスシーンでの生成 AI の応用が広がっていくことが期待されます。生成 AI の活用にご関心のあるお客様は、ぜひ AWS までお問い合わせいただければと思います。 株式会社 PURPOM MEDIA LAB 様 : 代表取締役 青木 光平様 (左から 2 番目)、川島 壮生様 (左から 3 番目)、岡本 隆也様 (左から 4 番目)、北村 優佳様 (右から 3 番目)、テックリード 北見 海貴様 (右から 2 番目) Amazon Web Services Japan : アカウントマネージャー 木下 由梨(左端)、ソリューションアーキテクト 呉 敏禎(右端) ソリューションアーキテクト 呉 敏禎 ( X – @kkam0907 )
はじめに 産業・製造業のお客様は、大規模に産業用機器からデータを収集、保存、整理、監視するために、&nbsp; AWS IoT SiteWise &nbsp;をより活用いただけます。 AWS IoT SiteWise は、リモートでの機器監視、性能追跡、異常な機器動作の検出、高度な分析ユースケースに役立つ産業データ基盤を提供します。 このようなデータ基盤を構築するには、通常、アセットのモデリングと、リアルタイムデータおよび履歴テレメトリデータの取り込みが必要になります。 このような処理を効率よく実現するためには、数万台の機器と常に変化する操作に取り組む際、多大な労力が必要になる可能性があります。 re:Invent 2023 で、アセットモデリング作業を改善するために AWS IoT SiteWise に 3 つの新機能をリリースしました。お客様は、 アセットモデルコンポーネント を使用して機器コンポーネントを表現できるようになり、再利用性が高まります。 メタデータの一括操作 により、機器をモデル化し、変更を一括管理できます。 ユーザー定義の一意の識別子 を使用することで、お客様は組織全体で一貫性を保てます。 このブログ記事では、アセットモデリングに関連する実際のお客様のシナリオ 11 件を検討します。各シナリオに関連する新しい AWS IoT SiteWise の機能を学ぶのに役立つコード例を共有します。 前提条件 AWS IoT SiteWise での アセットモデリング に関する知識 AWS アカウント Python の基本的な知識 環境のセットアップ まず、本環境をセットアップするワークステーションに AWS の認証情報を設定し、Python がインストールされていることを確認します。 次に Git をインストールし、コード例のプロジェクトをワークステーションにクローンして、プロジェクトを設定します。 最後に、AWS Identity and Access Management (IAM) ポリシーを作成します。 Cloud9 環境 を Amazon Linux 2 プラットフォーム (推奨) で作成するか、オンプレミスマシンをワークステーションとして使用します AWS 認証情報 を設定します python3 --version または python --version (Windows の場合) を実行して、システムに Python 3.x がインストールされていることを確認します ターミナルを使用して、 Git をインストールし、 AWS Samples ライブラリから Metadata Bulk Operations Sample for AWS IoT SiteWise リポジトリを clone します。 sudo yum install git git --version git clone https://github.com/aws-samples/metadata-bulk-operations-sample-for-aws-iot-sitewise.git pip3 install -r requirements.txt を実行して、必要な Python パッケージをインストールします config/project_config.yml を更新して、ジョブに必要な情報を提供します s3_bucket_name : バルク定義を保存する S3 バケット名 job_name_prefix : バルク操作ジョブに使用するプレフィックス Amazon S3 、AWS IoT SiteWise 、ローカルマシンの間で AWS リソースをやり取りできるように、 アクセス許可 を持つ AWS Identity and Access Management (IAM) ポリシーを作成します。 これにより、バルク操作を実行できるようになります。 大規模にアセットを一括操作および管理する AWS IoT SiteWise は、大規模なモデリングのための 産業機器メタデータの一括インポート、エクスポート、更新をサポート するようになりました。これらの一括操作は、新しい API エンドポイント CreateMetadataTransferJob 、 ListMetadataTransferJobs 、 GetMetadataTransferJob 、 CancelMetadataTransferJob を通じてアクセス可能です。 この新機能により、ユーザーは AWS IoT SiteWise でアセットとアセットモデルを一括で登録および更新できます。 また、別の AWS IoT SiteWise アカウント間でアセットとアセットモデルを移行することもできます。 本ブログでは主に、メタデータの 一括インポート ジョブを使用します。 次の図と手順は、メタデータの一括インポートジョブの作業フローを説明しています。 メタデータ一括インポートフローの手順 AWS IoT SiteWise リソース用の Job スキーマで構成した JSON ファイルを準備します。このファイルには、 AWS IoT SiteWise メタデータ転送ジョブスキーマ に従った形式で記述されたアセットモデルとアセットが含まれます。このファイルを Amazon S3 バケットにアップロードします。 アップロードした JSON ファイルを参照して、AWS IoT SiteWise へのメタデータ一括インポート呼び出しを行います AWS IoT SiteWise は、JSON ファイルで指定されたすべてのリソースをインポートします 完了すると、AWS IoT SiteWise はステータスと、発生したエラーの事前署名付き Amazon S3 URL を返します エラーがある場合、提供されたレポートにアクセスして、原因を調査し理解します コンソールで Build → Bulk Operations に移動することで、一括操作を実行することもできます。 メタデータの一括操作の動作を理解できたところで、この機能が実世界のシナリオでどのように役立つかを見てみましょう。 シナリオ1 初期アセットモデルおよびアセットの構成 概念実証 (POC) の際、お客様は通常、産業機器の情報の一部を AWS IoT SiteWise に構成する必要があります。 この時、メタデータ一括操作を使用すると、単一のインポートジョブで数千個のアセットモデルやアセットを AWS IoT SiteWise にインポートできます。 ある自動車製造会社を例に挙げると、製造工場の溶接ラインに関連するアセットモデルとアセットをインポートするということに利用できます。以下のJSONファイルを利用したコマンドによりインポートすることができます。 python3 src/import/main.py --bulk-definitions-file 1_onboard_models_assets.json シナリオ2 アセット階層の定義 一度、AWS IoT SiteWise でアセットモデルとアセットを作成すると、アセットの関係を定義してアセット階層を作成できます。 この階層により、ユーザーは産業機器単位から作業機器のメーカ単位までの様々なレベルで性能を追跡できるようになります。 以下JSONファイルを利用したコマンドでは、 Sample_AnyCompany モーター製造会社のアセット階層を作成することができます。 python3 src/import/main.py --bulk-definitions-file 2_define_asset_hierarchy.json シナリオ3 アセットプロパティにデータストリームを関連付ける OPC UA サーバーなどのデータソースからデータを取り込む際、通常はアセットのモデリングが完了する前から取り込み作業を開始します。この場合、AWS IoT SiteWise に取り込まれたデータは、 データストリーム に保存されますが、どのアセットプロパティとも関連付けられていません。モデリングの作業が完了したら、データストリームを特定のアセットプロパティに関連付ける必要があります。 以下のJSONファイルを利用したコマンドでは、&nbsp; Sample_Welding Robot 1 および Sample_Welding Robot 2 のデータストリームを、対応するアセットプロパティに関連付けることができます。 python3 src/import/main.py --bulk-definitions-file&nbsp; 3_associate_data_streams_with_assets.json このブログでは、メタデータの一括インポートジョブを 3 つ別々に作成しました。これらのジョブは、アセットモデルとアセットの作成、アセット階層の定義、データストリームのアセットプロパティとの関連付けを行うためのものです。これらのすべての作業は、1 つのメタデータの一括インポートジョブで実行することもできます。 シナリオ4 既存アセットに加えてアセットを追加する PoC 段階でビジネス価値を実証した後の次のステップは、ソリューションを複数工場への拡大することです。 これには、同じ工場内の残りの資産や、他の工場の新しい資産を含めることができます。 同じシカゴの工場から追加の溶接ロボット ( Sample_Welding Robot 3 と Sample_Welding Robot 4 ) と新しい生産ライン (Sample_Welding Robot 2 ) を追加する場合、以下JSONファイルを利用したコマンドを実行します。 python3 src/import/main.py --bulk-definitions-file 4_onboard_additional_assets.json シナリオ5 新しいプロパティの作成 アセットモデルを拡充し、データ取得の変更に対応できます。 たとえば、新しいセンサーを設置して追加のデータを取得できるようになった場合、対応するアセットモデルを更新してこれらの変更を反映できます。以下JSONファイルを利用したコマンドを実行することで&nbsp; Sample_Welding Robot&nbsp; アセットモデルに新しいプロパティ&nbsp; Joint 1 Temperature&nbsp; を追加することができます。 python3 src/import/main.py --bulk-definitions-file 5_onboard_new_properties.json シナリオ6 手動でのエラー修正 アセットモデル化をしている最中にエラーが発生する可能性があります。特に、ユーザーが手動で情報を入力する場合、アセットのシリアル番号、説明、測定単位などの入力ミスが発生する可能性があります 。これらのエラーを正しい情報でアップデートできます。以下JSONファイルを利用したコマンドを実行することで&nbsp; Sample_Welding Robot 1 アセットの旧シリアル番号 S1000 を S1001 に置き換えてシリアル番号を修正することができます。 python3 src/import/main.py --bulk-definitions-file 6_fix_incorrect_datastreams.json シナリオ7 アセットの移動 生産ラインの設備は、プロセスの最適化、技術の進歩、設備のメンテナンスなどの理由で変更されることがあります。 そのため、ある設備が 1 つの生産ラインから別の生産ラインに移動することがあります。 メタデータの一括操作を使用すると、ライン運用の変更に合わせて、アセットツリーの階層を更新できます。以下JSONファイルを利用したコマンドを実行することで&nbsp; Sample_Welding Robot 3 アセットを Sample_Welding Line 1 から Sample_Welding Line 2 に移動することができます。 python3 src/import/main.py --bulk-definitions-file 7_relocate_assets.json シナリオ8 アセットモデルとアセットのバックアップ AWS はアセットモデルとアセットの定期的なバックアップを推奨しています。これらのバックアップは、災害復旧やバージョンロールバックに使えます。バックアップを作成するには、 一括エクスポート 操作を使用できます。エクスポート時に、JSON ファイルにエクスポートするアセットモデルやアセットを絞り込むことができます。 溶接ライン 1 の全溶接ロボットの定義をバックアップします。 6_backup_models_assets.json 内の 環境構築した &lt;YOUR_ASSET_ID&gt; &nbsp;を&nbsp; Sample_Welding Line 1 の Asset ID に置き換えた後、以下のコマンドを実行してください。 python3 src/export/main.py --job-config-file 8_backup_models_assets.json シナリオ9 異なる環境間でアセットモデルとアセットを移行する メタデータの一括エクスポート操作と一括インポート操作を組み合わせることで、アセットモデルとアセットの一群を環境間で移行できます。 例えば、開発環境からテスト環境へ、全てのアセットモデルとアセットを移行するときにも利用できます。以下JSONファイルを利用したコマンドを実行することで実現できます。 python3 src/import/main.py --bulk-definitions-file 9_promote_to_another_environment.json 組織全体の一貫性維持 多くの産業企業では、資産管理システムやデータ履歴システムなど、複数のシステムで、産業機器の一部または大部分をモデリングしている可能性があります。 組織全体で一貫性を保つためには、共通の識別子を使用することが重要です。 AWS IoT SiteWise では、アセットとアセットモデルについて外部 ID とユーザー定義の UUID を使用できるようになりました。 外部 ID 機能により、既存の識別子を AWS IoT SiteWise の UUID にマッピングできます。 これらの外部 ID を使用して、アセットモデルやアセットを操作できます。 また、ユーザー定義 UUID 機能により、開発、テスト、本番などの異なる環境でも同じ UUID を再利用できます。 外部 ID と UUID の違いについて学ぶには、 外部 ID を参照してください。 シナリオ10 外部識別子の適用 AWS IoT SiteWise の コンソール 、 API 、またはメタデータ 一括インポート ジョブを使用して、外部 ID を適用できます。 これは、既存のアセットモデルに対しても行えますし、AWS IoT SiteWise で外部 ID が割り当てられていないアセットに対しても行えます。 例えば、既存アセットである&nbsp; Sample_Welding Robot 4 に外部 ID を適用します。適用するためのコマンドは以下JSONファイルを参照したコマンドを実行します。 python3 src/import/main.py --bulk-definitions-file 10_apply_external_identifier.json モデル構成を利用した標準化と再利用性の促進 AWS IoT SiteWise で、コンポーネントモデルのサポートが導入されました。これは、産業企業が機器の小さな部分をモデル化し、アセットモデル全体で再利用できるようにするアセットモデルタイプです。 モーターなどの一般的な機器コンポーネントの標準化と再利用が容易になります。 たとえば、CNC 旋盤 (アセットモデル) は、サーボモーターなどのコンポーネントで構成されています。 この機能を利用すると、サーボモーターを独立したコンポーネントとしてモデル化し、CNC 工作機械などの別のアセットモデルで再利用できます。 シナリオ11 アセットモデルの構成 AWS IoT SiteWise の コンソール 、 API 、またはメタデータの バルクインポート ジョブを使用して、アセットモデルを構成できます。 Sample_Welding Robot アセットモデルを構成するために、溶接ロボットの関節などのコンポーネントを個別にモデリングします。以下のJSONファイルを利用したコマンドで実現できます。 python3 src/import/main.py --bulk-definitions-file 11_compose_models.json クリーンアップ サンプルソリューションが不要になった場合は、リソースの削除を実施してください。 このサンプルリポジトリを使って作成したすべてのアセットモデルとアセットを削除するには、次のコマンドを実行してください。 python3 src/remove_sitewise_resources.py --asset-external-id External_Id_Company_AnyCompany まとめ この投稿では、 メタデータの一括操作 、 ユーザー定義の一意の識別子 、 アセットモデルコンポーネント などの新しい AWS IoT SiteWise の機能を紹介しました。 これらの機能により、組織全体で標準化、再利用性、一貫性が促進され、アセットモデリングの取り組みのスケーリングと強化が支援されます。 この記事は ソリューションアーキテクトの川﨑 裕希が&nbsp;Raju Gottumukkala&nbsp;による記事 Modeling your industrial assets at scale using AWS IoT SiteWise &nbsp;を翻訳したものです。 著者について Raju Gottumukkala &nbsp;は AWS のシニアワールドワイド IoT スペシャリストソリューションアーキテクトで、工業メーカーのスマートマニュファクチャリングへの取り組みを支援しています。Rajuは、IoTデータの真の可能性を引き出すことで、エネルギー、ライフサイエンス、自動車業界の主要企業がオペレーション効率と収益成長を向上させるのを支援してきました。AWS に入社する前は、シーメンスに勤務し、インダストリー 4.0 データプラットフォーム企業である dDriven を共同設立しました。 <!-- '"` -->
Amazon DynamoDB と Amazon Redshift のゼロ ETL 統合の一般提供(GA)を発表できることをうれしく思います。これにより、DynamoDB 上の本番ワークロードへの影響をほとんどまたはまったく与えることなく、Amazon Redshift で DynamoDB データに対して高パフォーマンスな分析を実行できます。データが DynamoDB テーブルに書き込まれると、Amazon Redshift でシームレスに利用できるようになるため、複雑なデータパイプラインを構築およびメンテナンスする必要がなくなります。 ゼロ ETL 統合は、データパイプラインの作成と管理の必要なく、ポイントツーポイントのデータ移動を容易にします。 Amazon Redshift Serverless ワークグループまたは RA3 インスタンスタイプを使用した Amazon Redshift プロビジョニングクラスター上で、ゼロ ETL 統合を作成できます。その後、高パフォーマンス SQL、ビルトイン機械学習(ML) と Spark インテグレーション、自動および増分リフレッシュによるマテリアライズドビュー(MV)、データ共有、複数のデータストアとデータレイク間でのデータ結合など、Amazon Redshift の高度な分析機能を使って、この DynamoDB データで拡張分析を実行できます。 Amazon Redshift との DynamoDB のゼロ ETL 統合は、お客様の抽出、変換、ロード(ETL)パイプラインを簡素化するのに役立ちます。 以下は、自社開発のソリューションに代わって DynamoDB とのゼロ ETL 統合を利用したシームレスなレプリケーションを利用し、業務を改善したお客様である Verisk Analytics の DevOps ディレクター、Keith McDuffee 氏のコメントです: “Amazon Redshift のトランザクションデータを基にダッシュボードが構築されています。 以前は、自社開発のソリューションを使用して DynamoDB から Amazon Redshift にデータを移動しましたが、それらのジョブはタイムアウトすることが多く、運用上の負担が大きくなり、Amazon Redshift に関するインサイトを見逃していました。 Amazon Redshift と DynamoDB ゼロ ETL インテグレーションを使用することで、このような問題に遭遇することはなくなり、インテグレーションによってシームレスかつ継続的にデータが Amazon Redshift にレプリケートされます。” この投稿では、EC サイトのアプリケーションにおいて、この ETL 不要の統合を使って、位置情報や登録日などの属性ごとの顧客分布を分析する方法を紹介します。 また、異なる期間でのアクティブなプロファイル数を比較することによって維持率を計算し、維持率や離反率の分析にもこの統合を利用できます。 ソリューションの概要 ゼロ ETL 統合は、DynamoDB テーブルから Amazon Redshift へデータをシームレスに移動できる、エンドツーエンドの完全マネージドプロセスを提供します。これにより、手動の ETL プロセスが不要となり、Amazon Redshift 環境で効率的かつ増分的な更新が保証されます。このインテグレーションは、DynamoDB エクスポートを利用して、DynamoDB から Amazon Redshift へ 15-30 分ごとにデータの変更を増分的にレプリケートします。初期データロードはフルロードで、データ容量に応じて時間がかかる場合があります。また、複数の DynamoDB テーブルから単一の Amazon Redshift プロビジョンドクラスタやサーバーレスワークグループへデータをレプリケートできるため、さまざまなアプリケーションにまたがるデータを一元的に参照できます。 このレプリケーションは、DynamoDB テーブルのパフォーマンスや可用性への影響がほとんどまたはまったくなく、DynamoDB の読み取り容量ユニット(RCU)を消費することなく行われます。アプリケーションは引き続き DynamoDB を使用する一方で、これらのテーブルからのデータはシームレスに Amazon Redshift にレプリケートされ、レポートやダッシュボードなどの分析ワークロードに使用されます。 次の図はこのアーキテクチャの説明です。 以下のセクションでは、Amazon Redshift との DynamoDB ゼロ ETL 統合の使用を開始する方法を示します。 この一般提供リリースでは、 AWS Command Line Interface (AWS CLI)、AWS SDK、API、および AWS Management Console を使用して、ゼロ ETL 統合の作成と管理をサポートしています。この投稿では、コンソール操作による使用方法を紹介します。 前提条件 次の前提条件ステップを完了してください: DynamoDB テーブルで ポイントインタイムリカバリー(PITR) を有効にします。 ターゲットの Redshift データウェアハウスで 大文字と小文字の区別 を有効にします。 DynamoDB と Amazon Redshift の両方に、 こちら に記載されているリソースベースのポリシーをアタッチします。 統合を作成する AWS Identity and Access Management (IAM) ユーザーまたはロールが、 こちら にリストされているアクションを承認するアイデンティティベースのポリシーを持つことを確認します。 DynamoDB のゼロ ETL 統合の作成 DynamoDB コンソールまたは Amazon Redshift コンソールのいずれかでインテグレーションを作成できます。 次の手順では、Amazon Redshift コンソールを使用します。 Amazon Redshift コンソールで、ナビゲーションペインの ゼロ ETL 統合 を選択します。 Create zero-ETL Integration を選択します。 DynamoDB コンソールでインテグレーションを作成する場合は、ナビゲーションペインで インテグレーション を選択し、次に 統合を作成 と Amazon Redshift を選択してください。 Integration name に名前を入力してください。(例として ddb-rs-customerprofiles-zetl-integration ). 次へ を選択します. DynamoDB テーブルを参照 を選択し、このインテグレーションのソースとなるテーブルを選択します。 次へ を選択します。 Redshift クラスタ内の単一のテーブルからのみデータを選択できます。 複数のテーブルからデータが必要な場合は、各テーブルについて個別にインテグレーションを作成する必要があります。 ソースの DynamoDB テーブルで PITR が有効になっていない場合、ソースの選択中にエラーが表示されます。 この場合、ソーステーブルで PITR を有効にするために DynamoDB の Fix it for me を選択できます。 変更を確認し、 Continue を選択してください。 次へ を選択します. 移行先の Redshift データウェアハウスを選択します。同じアカウント内にある場合は、ブラウズして移行先を選択できます。移行先が別のアカウントにある場合は、移行先の Redshift クラスタの Amazon リソースネーム(ARN)を指定できます。 リソースポリシーに関するエラーが発生した場合は、この作成プロセスの一環としてポリシーを修正するために Amazon Redshift の Fix it for me を選択してください。 あるいは、ゼロ ETL 統合を作成する前に、 Amazon Redshift のリソースポリシーを手動で追加 することもできます。 変更を確認し、 Reboot and continue を選択してください。 次へ を選択し、インテグレーション設定を完了します。 ゼロ ETL 統合の作成は、ステータスが 作成中 と表示されるはずです。ステータスが アクティブ に変わるのを待ちます。 Redshift データベースの統合からの作成 Redshift データベースを作成するには、次のステップを完了します: Amazon Redshift コンソールから, 新しく作成されたゼロ ETL 統合を選択します。 統合からデータベースを作成 を選択します。 データベース名 に名前を入力します(例として ddb_rs_customerprofiles_zetl_db )。 データベースの作成 を選択します。 データベースの作成後、データベースの状態が 作成中 から アクティブ に変わる必要があります。 これにより、ソース DynamoDB テーブルから、デスティネーションデータベース( ddb_rs_customerprofiles_zetl_db ) のパブリックスキーマ下に作成されるターゲット Redshift テーブルへのデータのレプリケーションが開始されます。 これで Amazon Redshift と DynamoDB の統合を使用して、データをクエリできるようになりました。 データの構成を把握する DynamoDB から Amazon Redshift にエクスポートされたデータは、ゼロ ETL 統合から作成した Redshift データベース( ddb_rs_customerprofiles_zetl_db )に格納されます。DynamoDB ソーステーブルと同じ名前のテーブルがデフォルト(パブリック)の Redshift スキーマの下に作成されます。DynamoDB はプライマリキーの属性(パーティションキーと省略可能なソートキー)に対してのみスキーマを適用します。このため、DynamoDB テーブル構造は Amazon Redshift に 3 つのカラムとしてレプリケートされます: パーティションキー、ソートキー、およびすべての属性を含む SUPER データ型のカラム value です。この value カラム内のデータは、DynamoDB JSON 形式です。データ形式の詳細については、 DynamoDB テーブルのエクスポート出力形式 を参照してください。 DynamoDB のパーティションキーは Redshift テーブルの分散キーとして使用され、DynamoDB のパーティションキーとソートキーの組み合わせが Redshift テーブルのソートキーとして使用されます。 Amazon Redshift では、ゼロ ETL 統合レプリケートテーブルのソートキーを ALTER SORT KEY コマンドを使用して変更することもできます。 Amazon Redshift の DynamoDB データは読み取り専用データです。 Amazon Redshift テーブルでデータが利用可能になった後、PartiQL SQL を使用して value 列を SUPER データ型としてクエリしたり、自動的に増分更新されるマテリアライズドビューを作成してクエリすることが可能です。 SUPER データ型の詳細については、 Amazon Redshift のセミストラクチャデータ を参照してください。 データのクエリ インジェストされたレコードを検証するには、Amazon Redshift クエリエディタを使用して PartiQL SQL で Amazon Redshift のターゲットテーブルをクエリできます。 たとえば、次のクエリを使用して email を選択し、 value 列のデータをアンネストして、顧客名と住所を取得できます: select email, value.custname."S"::text custname, value.address."S"::text custaddress, value from "ddb_rs_customerprofiles_zetl_db".public."customerprofiles" インクリメンタルな変更のレプリケーションがどのように機能するかを示すために、ソース DynamoDB テーブルに次の更新を行います: DynamoDB テーブルに 2 つの新しいアイテムを追加: ##Incremental changes ##add 2 items aws dynamodb put-item --table-name customerprofiles --item '{ "email": { "S": "sarah.wilson @ example.com" }, "custname": { "S": "Sarah Wilson" }, "username": { "S": "swilson789" }, "phone": { "S": "555-012-3456" }, "address": { "S": "789 Oak St, Chicago, IL 60601" }, "custcreatedt": { "S": "2023-04-01T09:00:00Z" }, "custupddt": { "S": "2023-04-01T09:00:00Z" }, "status": { "S": "active" } }' aws dynamodb put-item --table-name customerprofiles --item '{ "email": { "S": "michael.taylor @ example.com" }, "custname": { "S": "Michael Taylor" }, "username": { "S": "mtaylor123" }, "phone": { "S": "555-246-8024" }, "address": { "S": "246 Maple Ave, Los Angeles, CA 90001" }, "custcreatedt": { "S": "2022-11-01T08:00:00Z" }, "custupddt": { "S": "2022-11-01T08:00:00Z" }, "status": { "S": "active" } }' DynamoDB テーブル内のアイテムの住所を 1 つ更新: ##update an item aws dynamodb update-item --table-name customerprofiles --key '{"email": {"S": "sarahjones @ example.com"}}' --update-expression "SET address = :a" --expression-attribute-values '{":a":{"S":"124 Main St, Somewhereville USA"}}' email が michaelwilson@example.com のアイテムを削除: # # delete an item aws dynamodb delete-item --table-name customerprofiles --key '{"email": {"S": "michaelwilson @ example.com"}}' これらの変更により、DynamoDB テーブル customerprofiles には、次のスクリーンショットに示すように、4 つのアイテム(既存の 3 つ、新規の 2 つ、削除の 1 つ)が含まれます。 次に、クエリエディタに移動して、これらの変更を検証できます。この時点で、Redshift テーブルに増分変更が反映されているはずです(テーブル内の 4 つのレコード)。 ゼロ ETL でレプリケーションしたテーブルに対するマテリアライズドビューの作成 一般的な分析のユースケースでは、複数のソーステーブルにまたがるデータを集計するために、複雑なクエリを使用してレポートやダッシュボードを生成し、ダウンストリームのアプリケーションで使用することが多いです。お客様は通常、このようなユースケースを満たすために遅延バインドビューを作成しますが、ビューを表示するためのクエリに長い実行時間がかかるため、厳格にクエリの SLA を満たすように常に最適化されているわけではありません。別の選択肢は、複数のソーステーブルにまたがるデータを格納するテーブルを作成することですが、ソーステーブルの変更に基づいてデータを増分更新およびリフレッシュする必要があるという課題があります。 このようなユースケースに対応し、従来のオプションに関連する課題を回避するために、Amazon Redshift のゼロ ETL でレプリケーションしたテーブルに対してマテリアライズドビューを作成できます。これにより、元となるデータが変更されるにつれて、インクリメンタルに自動更新されます。マテリアライズドビューは、ゼロ ETL 統合によって SUPER 列の value に格納されたデータをアンネストおよび分割することで、頻繁にアクセスされるデータを格納するのにも便利です。 たとえば、次のクエリを使用して、 customerprofiles テーブル上にマテリアライズドビューを作成し、顧客データを分析できます。 CREATE MATERIALIZED VIEW dev . public . customer_mv AUTO REFRESH YES AS SELECT value . "custname" . "S" :: varchar ( 30 ) as cust_name , value . "username" . "S" :: varchar ( 100 ) as user_name , value . "email" . "S" :: varchar ( 60 ) as cust_email , value . "address" . "S" :: varchar ( 100 ) as cust_addres , value . "phone" . "S" :: varchar ( 100 ) as cust_phone_nbr , value . "status" . "S" :: varchar ( 10 ) as cust_status , value . "custcreatedt" . "S" :: varchar ( 10 ) as cust_create_dt , value . "custupddt" . "S" :: varchar ( 10 ) as cust_update_dt FROM "ddb_rs_customerprofiles_zetl_db" . "public" . "customerprofiles" group by 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ; SQL このビューは AUTO REFRESH に設定されているため、元になるソーステーブル customerprofiles に新しいデータが到着すると、自動的かつ増分的に更新されます。 次に、さまざまなステータスカテゴリにわたる顧客の分布を理解したいとします。ゼロ ETL DynamoDB テーブルから作成されたマテリアライズドビュー customer_mv に対して、次のようにクエリを実行できます: -- Customer count by status select cust_status,count(distinct user_name) cust_status_count from dev.public.customer_mv group by 1 ; 次に、異なる期間におけるアクティブな顧客プロファイル数を比較したいとします。 このデータを取得するために、 customer_mv で以下のクエリを実行できます: -- Customer active count by date select cust_create_dt,count(distinct user_name) cust_count from dev.public.customer_mv where cust_status ='active' group by 1 ; いくつかの増分変更を試してみましょう。次の AWS CLI コマンドを使用して、ソース DynamoDB テーブルに 2 つの新しいアイテムを追加し、1 つ削除します。 aws dynamodb put-item --table-name customerprofiles --item '{ "email": { "S": "robert.davis @ example.com" }, "custname": { "S": "Robert Davis" }, "username": { "S": "rdavis789" }, "phone": { "S": "555-012-3456" }, "address": { "S": "789 Pine St, Seattle, WA 98101" }, "custcreatedt": { "S": "2022-07-01T14:00:00Z" }, "custupddt": { "S": "2023-04-01T11:30:00Z" }, "status": { "S": "inactive" } }' aws dynamodb put-item --table-name customerprofiles --item '{ "email": { "S": "william.jones @ example.com" }, "custname": { "S": "William Jones" }, "username": { "S": "wjones456" }, "phone": { "S": "555-789-0123" }, "address": { "S": "456 Elm St, Atlanta, GA 30301" }, "custcreatedt": { "S": "2022-09-15T12:30:00Z" }, "custupddt": { "S": "2022-09-15T12:30:00Z" }, "status": { "S": "active" } }' aws dynamodb delete-item --table-name customerprofiles --key '{"email": {"S": "emily.brown @ example.com"}}' マテリアライズドビューの増分リフレッシュの検証 マテリアライズドビューの更新履歴を監視するには、 SYS_MV_REFRESH_HISTORY システムビューを使用できます。次の出力でわかるように、マテリアライズドビュー customer_mv が増分更新されました。 それでは、ゼロ ETL テーブルから作成されたマテリアライズドビューをクエリしてみましょう。2 つの新しいレコードが表示されます。変更は増分更新によってマテリアライズドビューに反映されました。 ゼロ ETL 統合のモニタリング Amazon Redshift との DynamoDB ゼロ ETL 統合のパフォーマンスとステータスに関するメトリクスを入手するオプションがいくつかあります。 Amazon Redshift コンソールで、ナビゲーションペインの Zero-ETL 統合 を選択します。 希望の ゼロ ETL 統合を選択し、そのインテグレーションに関連する Amazon CloudWatch メトリクスを表示できます。 これらのメトリクスは、CloudWatch で直接利用できます。 インテグレーションごとに、利用できる情報が含まれる 2 つのタブがあります: 統合メトリクス – ラグ (分単位)やデータ転送量 (KBps 単位) のようなメトリクスを表示します。 テーブルの統計情報 – DynamoDB から Amazon Redshift にレプリケートされたテーブルの詳細を示します。ステータス、最終更新時刻、テーブルの行数、テーブルサイズなどが含まれます ソース DynamoDB テーブルで行の挿入、削除、更新を行った後、次のスクリーンショットに示すように、 テーブルの統計情報 セクションに詳細が表示されます。 CloudWatch メトリクスに加えて、インテグレーションに関する情報を提供する次のシステムビューをクエリできます: SVV_INTEGRATION – 統合の設定詳細を提供します SYS_INTEGRATION_ACTIVITY – 完了した統合実行に関する情報を提供します SVV_INTEGRATION_TABLE_STATE – テーブルレベルの統合情報を記述します 料金設定 AWS はゼロ ETL 統合に追加料金を請求しません。DynamoDB と Amazon Redshift の既存のリソースを使用して変更データを作成および処理するために発生する料金のみが請求されます。これには、DynamoDB PITR、DynamoDB からのエクスポート(DynamoDB の初期データおよび継続的なデータ変更)、レプリケートされたデータの保存に使用される追加の Amazon Redshift ストレージ、ターゲット上の Amazon Redshift コンピューティング料金が含まれます。DynamoDB PITR と DynamoDB エクスポートの料金については、 Amazon DynamoDB の料金 を参照してください。Redshift クラスターの料金については、 Amazon Redshift の料金 を参照してください。 クリーンアップ ゼロ ETL 統合を削除すると、DynamoDB テーブルや Redshift からデータは削除されませんが、その時点以降に発生するデータの変更は Amazon Redshift に送信されなくなります。 ゼロ ETL 統合を削除するには、次のステップを完了します: Amazon Redshift コンソールから, ナビゲーションペインにある ゼロ ETL 統合 を選択します。 削除したいゼロ ETL 統合を アクション メニューから選択して 削除 をクリックします。 削除を確認するために、 削除 と入力し、 削除 を選択してください。 まとめ この投稿では、DynamoDB から Amazon Redshift へのゼロ ETL 統合を設定することで、複数のアプリケーションにまたがる包括的なインサイトを得たり、組織内のデータサイロをなくしたり、大幅なコスト削減と運用効率化を実現できる方法を説明しました。 ゼロ ETL 統合の詳細については、 ドキュメント を参照してください。 著者について Ekta Ahuja は AWS の Amazon Redshift スペシャリストソリューションアーキテクトです。 彼女は、お客様がスケーラブルで堅牢なデータおよび分析ソリューションを構築できるよう支援することに情熱を注いでいます。 AWS に入社する前は、データエンジニアリングと分析のさまざまな職務に携わっていました。 仕事以外では、風景写真、旅行、ボードゲームを楽しんでいます。 Raghu Kuppala は、データベース、データウェアハウス、分析分野での経験が豊富なアナリティクススペシャリストソリューションアーキテクトです。 仕事以外では、さまざまな料理を試したり、家族や友人と時間を過ごしたりしています。 Veerendra Nayak は、カリフォルニア州ベイエリアを拠点とするプリンシパルデータベースソリューションアーキテクトです。 データベース移行、レジリエンシー、運用データ分析やAIサービスとの統合に関するベストプラクティスをお客様と共有しています。 翻訳はソリューションアーキテクトの小役丸が担当しました。原文は こちら です。
まえがき みなさん、こんにちは。カスタマーソリューションマネージャー (CSM) の上原です。お客様がクラウドサービスの導入や利用拡大を進める中で、日々直面する様々な課題の解決をご支援しています。本ブログでは、過去にクラウド移行の経験がなく、どのように進めたらよいかお悩みを感じているお客様に対し、まず第一歩を踏みだしていただくことの重要性や、それをご支援するプログラムを紹介していきます。なお、AWS のクラウド移行およびクラウド活用の全体の道のりについては、「 クラウドジャーニーの歩み方 (前編) 」でも紹介していますので、全体感を把握されたい方はご参照ください。 まずはクラウドジャーニーにおける10のハードルに関して振返ってみましょう。 クラウドジャーニーにおける10のハードル クラウド移行には、4つのフェーズがあります。 Assess (評価) から始まり、Mobilize (移行準備) に入り、Migration (移行) へと進みます。さらに、クラウド利用によるビジネスの価値を高めるため、Modernization (最適化) へ取り組む流れとなります。 本ブログは、 Mobilize (移行準備)フェーズ において「5.移行の経験不足のため不安があり移行がすすまない」に関して、課題の深堀りと解決策についてお話します。 Mobilize (移行準備) フェーズでの課題 「5.移行の経験不足のため不安があり移行が進まない」 実際に、これまでご利用の環境からクラウドへ移行を進めるためには、プロジェクト全体計画や、移行パスに応じたシステム毎の移行計画、更にそれら実行に必要な人材や作業手順(システム移行手順・アプリ正常性確認手順)等を整える必要があります。 しかし、これまでクラウド移行を進めた経験が不足していると、例えば以下のような不安や課題により、具体的な実行計画、手順作成への歩みが止まってしまうことが多いようです。 クラウド移行の進め方自体がイメージできない 社内のどの部門、関係者と調整を進める必要があるかわからない 移行準備として、何をいつまでに、どのような責任分担で進めればよいかわからない クラウドに移行することによる、システムへの影響範囲がイメージできない 社内で移行プロジェクトが認知されておらず、協力が得づらい 前段の評価 (Assess) フェーズを通して想定された、クラウド移⾏による期待効果 (例︓ビジネスの俊敏性やスタッフの生産性向上、コスト削減など) が実際にどれだけ⾃社ケースで享受できるのか、実感がない状態では社内でプロジェクトの優先度を⾼めることが難しく、関係者が特定できたとしても協⼒が得ら れずに、全社プロジェクトとして推進することが難しくなってしまいます。 数多くのお客様の現場でこのような課題に時間を費やし、移行に向けた一歩が踏み出せずに、効果を得る機会損失につながってしまうケースを見てきました。 このような状況で我々が常々お伝えすることの1つとして、”小規模でもまずは実際にやってみる事”が何よりも重要である、ということです。自社環境でトライアルアンドエラーの気持ちをもって一歩目を踏み出し、そこから多くの学びを得て軌道修正するアプローチが、クラウドの利活用を進める上では最も効率的だと考えます。その結果、得られた経験・知見をベースに、例えば机上の想定効果の確からしさを確認する、移行の各種手順やステークホルダーを明確にする、また手を動かしてみて、初めて見えてくる懸念や問題も多くあることから、大規模に移行を進めるための課題の洗出しの機会にもつながると考えています。 ただし、例え小規模であっても実際に業務で使われるシステムを、AWSに詳しい人材が少ない状態で移行するには不安がある、というのもその通りだと思います。AWS では、まず移行の第一歩目を不安なく進めていただく為に、移行スペシャリストが事前準備の段階からお客様と併走することで、Lift &amp; Shift で移行する一連の工程を体験いただけるプログラム ”Migration EBA” をご用意しています。 Migration EBA とは? AWSの移行スペシャリストが事前準備の段階からお客様のシステム移行作業に伴走、実際の移行はワークショップ形式 (2-3日間) で作業をお手伝いする、短期集中型の無償支援プログラムです。 本プログラムは、移行作業全体を AWS メンバーと体験できる機会を通して、お客様ご自身で作業を行うためのノウハウを獲得、その後の作業に活かしていただくことをコンセプトとしています。特徴としては、デモやトレーニング環境ではなく、お客様ご自身の環境、かつ実際に業務利用されるシステムの移行を通して、より実践的な経験が得られることだと考えます。それにより、固有環境に依存する要件 (ロケーションや通信経路、スループット等) や、詳細な移行手順やカットオーバーのお作法に至るまで、お客様環境に応じて最適な移行方法をアウトプットとして確立することが可能です。 また、あくまでもお客様主体のプログラムとなり、AWS の移行スペシャリスト支援の元で、お客様ご自身で手を動かして頂く構成としていますので、移行作業全体を通して求められるスキルを認識、ご習得いただく機会としても有効です。 本プログラムを通して移行の全体像を把握、お客様実環境での手順を確立いただく事に加え、移行完了後、数週~1カ月程度の運用実績をベースに、事前に想定した期待効果が本当に得られるか、分析・評価を行うことも非常に重要です。クラウド移行により得られる効果が実績として可視化できれば、社内で協力者も増え、全社規模での円滑なプロジェクト推進の実現につなげることができます。 まとめ 今回はクラウド移行の経験不足といったテーマで、まず第一歩目を踏み出すことの重要性や、それをご支援する無償プログラムについてお話してきました。例え小規模システムであっても、まずは進めてみる中で得られる気づきや学びはとても多く、後続作業の解像度をあげると共に、全体進捗のスピードアップにもつながります。また、移行が失敗したとしても、そこから学びを得て早期に修正し、正しい活動や手順につなげていただく事が何より重要です。クラウド移行に向けた一歩が踏み出せないお客様のきっかけ作りとして、是非本プログラムをご活用頂ければ幸いです。 カスタマーソリューションマネージメント統括本部 カスタマーソリューションマネージャー (CSM) 上原 研太、安部 俊作 参考リンク クラウドジャーニーの歩み方 (前編) クラウドジャーニーの歩み方 – Assess (評価) フェーズ – #1 クラウドジャーニーの歩み方 – Assess (評価) フェーズ – #2 クラウドジャーニーの歩み方 – Mobilize (移行準備) フェーズ – #3 クラウドジャーニーの歩み方 – Mobilize (移行準備) フェーズ – #4 &nbsp;
こんにちは、カスタマーソリューションマネージャーの桑原です。 カスタマーソリューションマネージャーは、クラウド導入を進めようとしているお客様のクラウドジャーニー全般を支援する活動をしています。 この記事ではエンジニアの方やプロジェクト/プロダクトマネージャー向けにクラウド移行を加速するためのスキルが足りず、なかなかクラウドに移行することができない、クラウドスキルの向上をするためにはどうすればよいかというお悩みに対して、クラウド移行を加速するためのスキルを向上させるためのアプローチについてご紹介していきます。なお、AWS のクラウド移行およびクラウド活用の全体の道のりについては、「 クラウドジャーニーの歩み方 (前編) 」でも紹介していますので、全体感を把握されたい方はご参照ください。まずはクラウド移行を阻害する 10 のハードルに関して振り返ってみましょう。 クラウド移行を阻害する 10 のハードル クラウド移行には、4 つのフェーズがあります。Assess (評価) から始まり、移行に向けた課題に取り組む Mobilize (移行準備) 、そして実際の Migration (移行) へと進みます。さらに、クラウド利用によるビジネス価値をより高める取り組みを Modernization (最適化) で実行する流れとなります。それら各フェーズで AWS がご支援する中で、多くのお客様で共通するハードルがあることがわかっています。詳細は下図「クラウドジャーニーにおける10 のハードル」 をご参照下さい。本記事では、 Mobilize (移行準備) フェーズにおいて、クラウド移行を加速・推進するためのスキルが足りないというよくある課題に対しての解決策についてご紹介いたします。 「 4.移行を加速・推進するためのスキルが足りない」 移行を加速・推進するためには、根本的なクラウドスキル自体が無いとクラウド移行を進めることができません。そのため計画的なクラウドスキルの獲得が大切ですが、どのようなステップでクラウドスキルを獲得すればよいのかという悩みが生まれます。 そのため、移行を加速・推進するためのスキルが足りないという課題に対して、クラウドスキル向上のための4つのステップをご紹介します。 1. 机上でクラウドを学習する まずは机上でクラウドに関する知識を学習します。クラウドを初めて利用される方やクラウド初心者であればクラウドの体系的な知識を理解することによって、効率的な学習をすることが望ましいです。具体的には AWS Skill Builder によるオンラインでの自学習や クラスルームトレーニング による AWS 認定講師からの講義を受けて理解を深める方法があります。どのコンテンツを受講したらよいかを迷われる場合は、 AWS Ramp-Up Guides にて ロール別/ ソリューション別/ 業種別の学習コンテンツをご紹介しておりますので、ご確認ください。また、アマゾン ウェブ サービス ジャパン合同会社が主催する AWS Black Belt Online Seminar では、製品・サービス別、ソリューション別、業種別のそれぞれのテーマに対して解説している動画もございますので、個別テーマの理解を深めたい場合はぜひご活用ください。( 過去アーカイブ | YouTube Playlist ) なお、AWS Black Belt Online Seminarにおけるマイグレーションやモダナイゼーションに関するテーマについては、こちらの ブログ に纏められておりますのでご確認ください。一方で、普段 AWS サービスのアップデート情報を把握するためにはどうすればいいかというご質問をいただくことがあります。方法としては、 AWS の最新情報 または AWS が週次で発刊する 週刊 AWS による主要機能のアップデートを確認することでキャッチアップすることができます。また AWS パートナー様が発刊する技術メディア、Qiita や Zenn を代表される技術コミュニティメディアを参考に最新のアップデートサービス/機能を実際に活用された有識者の情報を確認してキャッチアップすることも非常に有効です。なお、これらは自分で情報を取りに行くのは大変なので、Slack 等のチャットツールに RSS フィードを追加することで最新情報を通知させると比較的楽に情報のキャッチアップが可能です。 2. 実際に構築してサービスを知る 机上での学習によって概要知識は把握できるものの、実際に各種サービスを使わないと深い理解には繋がりません。そのため、実際に構築してサービスを知ることが次のステップとなります。各種サービスを構築する際、闇雲に手を動かすよりはまず初めに基本的な構築手順に沿って構築してみて触ってみることで、サービスに関する知識獲得が可能です。AWS からは無償、有償を含めて実際に構築してみる様々なトレーニングコンテンツをご用意していますが、いつでも AWS が無料で提供している JP Contents hub を活用することで気軽に始めることができるのでお薦めしています。AWS に関する日本語のハンズオン・ワークショップ情報を一覧化して掲載されており、構築してみたいサービスのワークショップを選択すると、手順に沿って実際に構築することが可能となりますので、これらを参考に構築してみてください。 注)JP Contents Hub 自体は、料金の制限なくご覧いただけます。なお、実際のハンズオンでは、AWS リソースの作成を行うため料金が発生します。 3. PoC 、プロトタイピングで試す 実際に手順に沿って構築してみて各種サービスの機能を確認できたら、次にチャレンジすることは実際に小さく開発してみることです。皆さんが従事されているシステム開発において、新規事業のシステム開発や既存システムでの課題を解決するためにクラウドを活用して PoC やプロトタイピングを実施してみてください。実際にモノを作ってみることで、エンジニア視点では構築イメージが付きやすく理解が格段と深まりますし、ビジネス視点においては実際に構築したものをデモとして見せられるようにすることによって、実現イメージや効果、実際の構築コストが分かるようになるため、業務で活用するイメージが湧きます。すぐに始めてみて検証が終わったらすぐに止めることができることがクラウドの大きなメリットですので、色々検証してみてください。 4. 業務で本格的に実装する PoC 、プロトタイピングで試した後は、最終的に業務で本格的に実装することです。「業務で本格的に実装するために何を参考にすればいいのか。」という問いにお答えすると、クラウド上での設計および実行するための主要な概念、設計原則、アーキテクチャのベストプラクティスのガイダンスである AWS Well-Architected Framework を参考にすることをお薦めします。検討するべき観点や考え方が養われるため、クラウド設計および運用に関する全般の知見獲得に繋がります。また実際に構築してみるとうまくいかないことばかりですが、「1. 机上でクラウドを学習する」でもご紹介させていただいた技術メディアを参考に調査しつつ、不明点があれば AWS サポート を活用して一つ一つクリアにしていくと、システムを構築できた暁にはクラウドスキルと経験値が格段に上がっています。やはり実際のシステム開発での経験を積むのが一番だと考えています。ただし、実際に開発する段階で自身で調査して試行錯誤をして開発するのは非常に大変です。そこで重要なのがチーム体制を強化することだと考えます。クラウドスキルが高い社内のチームメンバーとともに開発する体制を構築し、一緒に開発することが最も推奨する方法です。ただ、現実にはそのような体制を構築することが難しい場合が多いと思います。そこで活用すべきなのが AWS パートナーとの連携 です。自社の開発チーム体制として、自社メンバーと AWS パートナーのクラウドスキルがあるメンバーが1つのチームで開発体制を構築することによってクラウドスキルやノウハウが共有され、より実践的なクラウドスキルを身に着けることができ、クラウドスキル向上を図ることができるでしょう。 まとめ 本記事 は、Mobilize (移行準備) フェーズにおいて、クラウド移行を加速するためのスキルを向上させるためのアプローチについてご紹介いたしました。#5 では、Mobilize (移行準備) フェーズの「移行の経験不足のため不安があり移行が進まない」という課題に対して深堀いたします。お楽しみに! カスタマーソリューションマネージメント統括本部 カスタマーソリューションマネージャー (CSM) 桑原 直哉、服部 昌克 参考リンク クラウドジャーニーの歩み方 (前編) クラウドジャーニーの歩み方 – Assess (評価) フェーズ – #1 クラウドジャーニーの歩み方 – Assess (評価) フェーズ – #2 クラウドジャーニーの歩み方 – Mobilize (移行準備) フェーズ – #3 AWS Skill Builder クラスルームトレーニング AWS Ramp-Up Guides AWS Black Belt Online Seminar (過去アーカイブ) AWS Black Belt Online Seminar (YouTube Playlist) AWS Black Belt マイグレーション &amp; モダナイゼーション シリーズのあるきかた AWS の最新情報 週刊 AWS JP Contents hub AWS Well-Architected Framework AWS サポート AWS パートナーとの連携