AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

全3894件

AWS Health の新機能を発表し、AWS リソースの計画されたライフサイクルイベントを管理し、チームがリソースレベルで実行する完了アクションを動的に追跡して、アプリケーションの円滑な運用を継続できるようにします。計画されているライフサイクルイベントの例としては、 Amazon Elastic Kubernetes Service (Amazon EKS) の Kubernetes バージョンの標準サポート終了、 Amazon Relational Database Service (Amazon RDS) の証明書のローテーション、他のオープンソースソフトウェアのサポート終了などが挙げられます。 これらの機能には以下が含まれます。 アプリケーションの中断を最小限にするために、可能な限りリソースレベルでアクションの完了を動的に追跡する機能。 マイナーな変更については少なくとも90日前、メジャーな変更については可能な限り180日前に通知を使用し、今後予定されているライフサイクルイベントをタイムリーに可視化します。 準備とアクションの実行に役立つ標準化されたデータ形式。AWS Health API を使用して、AWS Health イベントをお好みの運用ツールとプログラムで統合します。 委任された管理者を持つ全社的なワークロードを管理するチームの 計画されたライフサイクルイベントを組織全体で可視化します 。これは、Cloud Center of Excellence (CCoE) チームなどの中央チームが、組織ビューにアクセスするために管理アカウントを使用する必要がなくなったことを意味します。 Amazon EventBridge 上の組織内のすべてのアカウントからの AWS Health イベント の単一のフィード。これは、EventBridge 上でルールを作成してアクションを実行することで、組織全体の AWS Health イベントの管理を自動化するための一元的な方法を提供します。イベントの種類に応じて、イベント情報の取得、追加イベントの開始、通知の送信、是正処置、その他のアクションを実行できます。例えば、 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなどのアップデートがスケジュールされている AWS リソースが AWS アカウントにある場合、AWS Health を使用して、AWS コンソールモバイルアプリケーションに メール、AWS Chatbot、またはプッシュ通知を受け取ること ができます。 仕組み 計画されたライフサイクルイベントは、AWS Health Dashboard、AWS Health API、EventBridge から利用できます。AWS Health 通知を受信したり、作成したルールに基づいてアクションを開始するために、 “source”: [“aws.health”] 値を含む EventBridge 上のルールを作成すること によって、組織全体の AWS Health イベントの管理を自動化できます。例えば、AWS Health が EC2 インスタンスに関するイベントをパブリッシュした場合、これらの通知を使用してアクションを起こし、必要に応じてリソースを更新または置き換えることができます。「 スケジュールされた変更 」タブで、AWS リソースの計画されたライフサイクルイベントを見ることができます。 テーブルビュー – 組織レベル イベントの優先順位をつけるために、予定されている変更をカレンダービューで確認できるようになりました。イベントには、変更がいつ開始されるかを示す開始時刻があります。ステータスは、変更が発生するか、影響を受けるすべてのリソースに処置が施されるまで、「 今後の予定 」のままです。イベントのステータスは、影響を受けるすべてのリソースのアクションが完了したときに「 完了 」に変わります。 注目したくないイベントステータスの選択を解除することもできます。より具体的なイベントの詳細を表示するには、イベントを選択して、画面の右または下に分割パネルビューを開きます。 選択されたカレンダーイベント – 組織レベル(影響を受けるリソース) イベントの詳細表示で「 影響を受けるリソース 」タブを選択すると、影響を受けるリソースを解決するために適切な人々に働きかけるのに役立つ関連アカウント情報を見ることができます。 影響を受けるリソースビュー – アカウントレベル 他の AWS サービスとの統合 AWS Health に既に存在する EventBridge 統合を使用すると、変更イベントとその完全に管理されたライフサイクルを、JIRA、ServiceNow、 AWS Systems Manager OpsCenter などの他のツールに送信できます。EventBridge は、イベントに対するすべての更新(例えば、タイムスタンプ、リソースステータスなど)をこれらのツールに送信し、お好みのツーリングでイベントのステータスを追跡できるようにします。 EventBridge 統合 今すぐご利用いただけます AWS Health の計画されたライフサイクルイベントは、中国と GovCloud リージョンを除く、AWS Health が利用可能なすべての AWS リージョン で利用可能です。 詳細については、 AWS Health ユーザーガイド にアクセスしてください。ご質問は AWS re:Post for AWS Health 、または通常の AWS サポート窓口までお送りください。 — Veliswa 原文は こちら です。
「 データは、あらゆるアプリケーション、プロセス、ビジネス上の意思決定の中心にあります 」と、AWS のデータベース、分析、機械学習担当バイスプレジデントである Swami Sivasubramanian は述べていますが、まったく同感です。お客様が現在使用している一般的なパターンは、データパイプラインを構築して Amazon Aurora から Amazon Redshift にデータを移動することです。これらのソリューションは、売上の増加、コストの削減、ビジネスの最適化に役立つインサイトを得るのに役立ちます。 分析用のデータを準備するのではなく、データから価値を創出することに集中していただけるように、AWS re:Invent 2022 で Amazon Redshift との Amazon Aurora ゼロ ETL 統合を発表し 、2023 年 6 月に Amazon Aurora MySQL 互換エディションの パブリックプレビュー を行うことを発表しました。 一般提供開始: Amazon Redshift との Amazon Aurora MySQL ゼロ ETL 統合 11月7日、Amazon Redshift との Amazon Aurora MySQL ゼロ ETL 統合が一般公開されたことを発表しました。このフルマネージドソリューションがあれば、トランザクションデータから時間的制約のあるインサイトを引き出して重要なビジネス上の意思決定を行うために、複雑なデータパイプラインを構築して維持する必要がなくなります。 Amazon Aurora と Amazon Redshift の ゼロ ETL 統合 により、Amazon Redshift のペタバイト単位のトランザクションデータに対して、ほぼリアルタイムの分析と機械学習 (ML) を実行できるようになります。このデータが Aurora に書き込まれると、数秒以内に Amazon Redshift で利用できるようになります。 また、Amazon Redshift の複数の Aurora MySQL データベースクラスターから統合分析を実行して、多くのアプリケーションやパーティションにわたる総合的なインサイトを引き出すこともできます。 Amazon Redshift との Amazon Aurora MySQL ゼロ ETL 統合により、複数の Aurora データベースからの 1 分あたり 100 万件を超えるトランザクション (1 分あたり 1,750 万件の行の挿入/更新/削除操作に相当) が処理され、それらを Amazon Redshift で 15 秒未満で利用できるようになります (レイテンシーラグ 50 倍)。 さらに、マテリアライズドビュー、リージョン間のデータ共有、複数のデータストアやデータレイクへのフェデレーションアクセスなど、Amazon Redshift の分析機能と組み込みの ML 機能を活用できます。 使用を開始しましょう この記事では、いくつかのステップと、簡単に始めるための情報について説明します。既存の Amazon Aurora MySQL サーバーレスデータベースと Amazon Redshift データウェアハウスを使用します。 まず、Amazon RDS に移動し、 ゼロ ETL 統合 ページで ゼロ ETL 統合を作成 を選択する必要があります。 ゼロ ETL 統合の作成 ページで、いくつかのステップに従って、Amazon Aurora データベースクラスターと Amazon Redshift データウェアハウスの統合を設定する必要があります。 まず、統合用の識別子を定義し、 次へ を選択します。 次のページで、 RDS データベースの参照 を選択してソースデータベースを選択する必要があります。 ここでは、既存のデータベースをソースとして選択できます。 次のステップでは、ターゲットの Amazon Redshift データウェアハウスを尋ねられます。ここでは、自分のアカウントまたは別のアカウントで Amazon Redshift Serverless または RA3 データウェアハウスを柔軟に選択できます。 Redshift データウェアハウスの参照 を選択します。 次に、ターゲットデータウェアハウスを選択します。 Amazon Aurora はデータウェアハウスに複製する必要があるため、リソースポリシーを追加し、Aurora データベースを Amazon Redshift データウェアハウスの承認された統合ソースとして追加する必要があります。 この問題は、Amazon Redshift コンソールで手動で更新するか、Amazon RDS に修正を任せることで解決できます。チェックボックスにチェックを入れます。 次のページでは、Amazon RDS が実行する変更が表示されます。 続行 を選択します。 次のページでは、タグと暗号化を設定できます。デフォルトでは、ゼロ ETL 統合は AWS Key Management Service (AWS KMS) を使用してデータを暗号化します。独自のキーを使用することもできます。 次に、すべての設定を確認し、 ゼロ ETL 統合の作成 を選択して統合を作成する必要があります。 数分後に、ゼロ ETL 統合が正常に作成されました。次に、Amazon Redshift に切り替えると、 ゼロ ETL 統合 ページに、最近作成したゼロ ETL 統合があることがわかります。 統合には、まだ Amazon Redshift 内にターゲットデータベースがないため、ターゲットデータベースを作成する必要があります。 これで統合設定は完了です。このページでは、統合ステータスがアクティブで、複製されたテーブルが 1 つあることがわかります。 テストのために、Amazon Aurora データベースに新しいテーブルを作成し、このテーブルにレコードを挿入します。 その後、Amazon Redshift 内部の Redshift クエリエディタ v2 に切り替えました。ここで、統合の一環として作成したデータベースに接続できます。簡単なクエリを実行すると、データが Amazon Redshift 内ですでに利用可能であることがわかります。 このゼロ ETL 統合は、2 つの理由で非常に便利だと思いました。まず、複数のデータベースクラスターのすべてのデータを統合し、集約して分析できました。次に、トランザクションデータが Amazon Aurora MySQL に書き込まれてから数秒以内に、このゼロ ETL 統合により、Amazon Redshift でシームレスにデータを使用できるようになりました。 留意点 可用性 – Amazon Redshift との Amazon Aurora ゼロ ETL 統合は、米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ストックホルム) でご利用いただけます。 サポートされているデータベースエンジン – Amazon Redshift との Amazon Aurora ゼロ ETL 統合は現在、Amazon Aurora の MySQL 互換エディションをサポートしています。Amazon Aurora PostgreSQL 互換エディションのサポートは現在進行中です。 価格 –  Amazon Redshift との Amazon Aurora ゼロ ETL 統合は追加料金なしで提供されます。ゼロ ETL 統合の一環として作成された変更データの作成と処理に使用された既存の Amazon Aurora および Amazon Redshift リソースに対してお支払いいただきます。 私たちは、お客様が分析用のデータを準備するのではなく、データから価値を創出することに集中していただけるよう、また一歩前進しています。開始方法の詳細については、 Amazon Redshift との Amazon Aurora MySQL ゼロ ETL 統合 ページをご覧ください。 統合おめでとうございます! —  Donnie 原文は こちら です。
Amazon Data Lifecycle Manager は、 AWS Systems Manager ドキュメントに埋め込まれたスナップショット前のスクリプトとスナップショット後のスクリプトの使用をサポートするようになりました。これらのスクリプトを使用して、 Data Lifecycle Manager によって作成された Amazon Elastic Block Store (Amazon EBS) スナップショットにアプリケーション整合性があることを確認できます。スクリプトは、I/O 操作の一時停止と再開、バッファリングされたデータの EBS ボリュームへのフラッシュなどを行えます。このリリースの一環として、セルフマネージドリレーショナルデータベースと Windows Volume Shadow Copy Service (VSS) でこの機能の使用方法を示す詳細なブログ記事も公開します。 Data Lifecycle Manager (DLM) のまとめ 簡単にまとめると、 Data Lifecycle Manager は、Amazon EBS ボリュームスナップショットの作成、保持、削除を自動化するのに役立ちます。EC2 インスタンスを AWS Systems Manager にオンボーディングする、DLM 用の IAM ロールをセットアップする、SSM ドキュメントにタグを付けるなどの前提条件となるステップを完了したら、ライフサイクルポリシーを作成し、該当する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを (タグで) 示し、保持モデルを設定して、残りは DLM に任せるだけです。ポリシーでは、スナップショットをいつ実行するか、何をバックアップするか、どれだけの期間スナップショットを保持するかを指定します。DLM の詳細な説明については、2018 年のブログ記事「 新規 – Amazon EBS スナップショットのライフサイクル管理 」をご覧ください。 アプリケーション整合性があるスナップショット EBS スナップショットは Crash-consistent です。つまり、スナップショットが作成された時点の関連付けられた EBS ボリュームの状態を表しています。アクティブなリレーショナルデータベースの状態をキャプチャするためにスナップショットを使用しないアプリケーションを含め、多くの種類のアプリケーションにはこれで十分です。 アプリケーション整合性 があるスナップショットを作成するには、保留中のトランザクション (処理が完了するのを待っている、またはトランザクションが失敗するのいずれか) を考慮し、それ以降の書き込み操作を一時的に停止し、スナップショットを作成して、通常の操作を再開する必要があります。 そして、それが今日のリリースが行われる場所です。DLM は、アプリケーション整合性があるバックアップの準備をするようインスタンスに指示できるようになりました。スナップショット前のスクリプトは、保留中のトランザクションを管理したり、メモリ内のデータを永続ストレージにフラッシュしたり、ファイルシステムを フリーズ させたり、アプリケーションやデータベースを停止させたりすることができます。その後、スナップショット後のスクリプトによって、アプリケーションやデータベースを元の状態に戻したり、永続ストレージからメモリ内キャッシュをリロードしたり、ファイルシステムを解凍したりすることができます。 カスタムスクリプトの基本レベルのサポートに加えて、この機能を使用して VSS Backup スナップショットの作成を自動化することもできます。 前および後のスクリプト 新しいスクリプトはインスタンスの DLM ポリシーに適用されます。スナップショット前のスクリプトとスナップショット後のスクリプトを含む SSM ドキュメントを参照するポリシーを作成し、それが単一のインスタンスに適用されると仮定します。ポリシーをスケジュールに従って実行すると、次のようになります。 スナップショット後のスクリプトは SSM ドキュメントから起動されます。 スクリプト内の各コマンドが実行され、スクリプトレベルのステータス (成功または失敗) がキャプチャされます。ポリシーで有効になっている場合、DLM は失敗したスクリプトを再試行します。 マルチボリューム EBS スナップショットは、インスタンスにアタッチされた EBS ボリュームに対して開始され、ポリシーによってさらに制御されます。 スナップショット後のスクリプトは SSM ドキュメントから起動されます。 スクリプト内の各コマンドが実行され、スクリプトレベルのステータス (成功または失敗) がキャプチャされます。 ポリシーには、いずれかのスクリプトがタイムアウトまたは失敗したときに実行されるアクション (再試行、続行、またはスキップ) を制御できるオプションが含まれています。ステータスはログに記録され、 Amazon CloudWatch メトリクスが公開され、 Amazon EventBridge イベントが発行されます。また、ステータスは各スナップショットに自動的に割り当てられるタグにエンコードされます。 スナップショット前のスクリプトとスナップショット後のスクリプトは、コマンドドキュメントで許可されている任意のアクション ( シェルスクリプトの実行 、 PowerShell スクリプトの実行 など) を実行できます。アクションは、ポリシーで指定されたタイムアウト (10 秒から 120 秒の許容範囲) 内に完了する必要があります。 開始方法 堅牢なスクリプトペアを構築するには、アプリケーションまたはデータベースを詳細に理解する必要があります。すべてがうまくいったときに「ハッピーパス」を処理することに加えて、スクリプトはいくつかの障害シナリオに備えて計画を立てる必要があります。例えば、スナップショット前のスクリプトは、スナップショット後のスクリプトが期待どおりに動作しない場合に備えて、フェイルセーフとして機能するバックグラウンドタスクをフォークする必要があります。各スクリプトは、 こちら で詳しく説明するように、シェルレベルのステータスコードを返す必要があります。 スクリプトを作成してテストし、SSM ドキュメントとしてパッケージ化したら、EC2 コンソールの Data Lifecycle Manager ページを開き、 EBS スナップショットポリシー を選択して、[ 次のステップ ] をクリックします。 本稼働 の モード でタグ付けされたすべてのインスタンスをターゲットにし、デフォルトの IAM ロールを使用し (別のロールを使用する場合は、SSM へのアクセスを有効にする必要があります)、残りの値はそのままにして、次に進みます。 次のページで、[ 前および後のスクリプト ] まで下にスクロールして、セクションを展開します。[ 前および後のスクリプトを有効にする ] をクリックし、[ カスタム SSM ドキュメント ] を選択して、メニューから [自分の SSM ドキュメント] を選択します。また、タイムアウトと再試行のオプションも設定し、スクリプトの 1 つが失敗した場合は Crash-consistent バックアップをデフォルトに設定しています。[ ポリシーをレビュー ] をクリックし、最後の確認をして、次のページの [ ポリシーを作成 ] をクリックします。 自分のポリシーが作成され、すぐに有効になります。少なくとも 1 回実行したら、CloudWatch メトリクスを調べて、開始、完了、失敗の有無を確認できます。 その他の参考資料 先ほどお約束した詳細なブログ投稿の最初の記事は次のとおりです。 MySQL と PostgreSQL のアプリケーション整合性があるスナップショットの作成を自動化する VSS バックアップの作成を自動化する 今年後半に向けてさらに多くの作業を進めており、公開されたら上記のリストを更新します。 また、 ドキュメント を読んで詳細を確認することもできます。 DLM ビデオ この機会に、有用なビデオをいくつかご紹介します。 ポリシーステータスの変化をモニタリングする CloudWatch イベントでポリシーをモニタリングする CloudWatch メトリクスでポリシーアクションをモニタリングする Amazon Data Lifecycle Manager で Amazon EBS スナップショットと AMI を管理する 新しい機能がすでに利用でき、今日からすぐに使用を開始できます。 – Jeff ; 原文は こちら です。
この記事は Backup and restore your Amazon EKS cluster resources using Velero (記事公開日: 2021 年 12 月 1 日) を翻訳したものです。 2023 年 9 月 9 日更新: この記事はもともと 2021 年 12 月 1 日に掲載されました。最新の EKS バージョンと Velero Helm チャートの変更をサポートするため、このブログ記事のウォークスルー手順を更新しました。 世界中の企業がマイクロサービスをカプセル化するためにコンテナを採用しており、その多くはコンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するために Kubernetes を選択しています。これらのマイクロサービスの数が増えるにつれて、以下を行うための一元的なバックアップのメカニズムを導入することがますます重要になります。 物理的および論理的なエラーが発生した場合のアプリケーションの保護 Kubernetes クラスター間のマイグレーションの実行 本番環境クラスターの開発環境やテスト環境へのレプリケーション Velero は、Kubernetes クラスターのディザスタリカバリ、データ移行、データ保護を提供する人気のあるオープンソースツールです。Velero は、Kubernetes のクラスターリソースと永続ボリューム (Persistent Volume) を、オンデマンドまたはスケジュールに従って、サポートされた外部のストレージバックエンドにバックアップできます。 Amazon Elastic Kubernetes Service (Amazon EKS) は、高可用かつ安全な Kubernetes クラスターを提供し、パッチ適用、ノードのプロビジョニング、アップデートなどの主要タスクを自動化にするのに役立つマネージドソリューションです。AWS のお客様は、このソリューションを活用して、Kubernetes オブジェクトとアプリケーションを Amazon EKS からバックアップ、および Amazon EKS にリストアできます。これは、お客様は Velero を使用して、セルフホスト型の Kubernetes から Amazon EKS に移行できることも意味します。 このブログ記事では、Velero を使用して Amazon EKS クラスターのリソースをバックアップ、リストア、移行する方法に焦点を当て、組織のユースケースに最適なアプローチを決定するために Velero が提供するバックアップオプションを紹介します。 Velero の概要 このセクションでは、Velero と Amazon EKS の統合方法、このツールがアプリケーションのバックアップとリストアのために提供するカスタマイズ、およびバックアップとリストアのワークフローについて説明します。 Velero と Amazon EKS Amazon EKS のアプリケーションレベルのバックアップは、次の 2 つのコンポーネントが対象となります。 etcd キーバリューストアに保存された Kubernetes オブジェクトとコンフィギュレーション Persistent Volume に保存されたアプリケーションデータ Amazon EKS では、etcd キーバリューストアは AWS によって管理され、Kubernetes API サーバーを介してのみアクセスできます。Velero は Kubernetes API を利用して、キーバリューストアに保存されているデータを取得します。API 呼び出しでは、名前空間 (Namespace)、リソースタイプ、またはラベルによってリソースを簡単にフィルタリングできるため、このアプローチは etcd に直接アクセスするよりも柔軟性があります。例えば、ラベルでフィルタリングしてバックアップの範囲を特定のアプリケーションに制限したり、オブジェクトタイプでフィルタリングして現在の RBAC 戦略を保存したりできます。 また、Velero はクラスターの Persistent Volume のスナップショットを取得し、クラスターのオブジェクトと一緒にリストアできます。詳細は次のセクションで説明します。 バックアップとリストア操作は Kubernetes の カスタムリソース定義 (CRD) オブジェクトとして宣言されます。CRD はこれらの新しい CRD オブジェクトを処理するコントローラーによって管理され、バックアップ、リストア、およびすべての関連操作が実行されます。これらのバックアップとリストアの CRD オブジェクトを作成する際は、以下のカスタマイズを指定できます。 リソースのフィルタリング : Namespace、オブジェクトタイプ、ラベルでフィルタリングして、バックアップやリストアの範囲を制限します。リストア時に、Namespace とオブジェクトタイプを除外してフィルタリングできます。 バックアップタイプの選択 : オンデマンドバックアップを作成するか、定期的にバックアップを自動的に開始するスケジュールを設定します。 保持時間の設定 : バックアップを保持する期間を指定します。 フックの指定 : バックアップまたはリストア操作の前後にコンテナ内でカスタムコマンドを実行するためのプレフックとポストフックを設定します。 バックアップとリストアのワークフロー Velero は 2 つのコンポーネントで構成されます。 Velero サーバー : Amazon EKS クラスター内で実行される Pod Velero CLI : ローカルで実行されるコマンドラインクライアント Amazon EKS クラスターに対してバックアップを発行するたびに、Velero は以下の方法でクラスターリソースのバックアップを実行します。 Velero CLI が Kubernetes API サーバーにアクセスし、バックアップ CRD オブジェクトを作成します。 バックアップコントローラーが以下を実施します。 バックアップ CRD オブジェクトのスコープ、すなわちフィルターが設定されているかどうかをチェックします。 バックアップが必要なリソースについて API サーバーにクエリを実行します。 取得した Kubernetes オブジェクトを .tar ファイルに圧縮し、 Amazon S3 に保存します。 同様に、リストア操作を発行するときは以下のようになります。 Velero CLI は Kubernetes API サーバーにアクセスし、既存のバックアップからリストアするリストア CRD オブジェクトを作成します。 リストアコントローラーが以下を実施します。 リストア CRD オブジェクトを検証します。 Amazon S3 にアクセスしてバックアップファイルを取得します。 リストア操作を開始します。 Velero は、スコープ内の Persistent Volume のバックアップとリストアも実行します。 Amazon Elastic Block Store (Amazon EBS) を使用している場合、Velero はスコープ内の Persistent Volume の Amazon EBS スナップショットを作成します。 その他のボリュームタイプ (hostPath を除く) の場合は、Velero の Restic 統合を使用して、ボリュームの内容のファイルレベルのバックアップを作成します。本記事執筆時点では、Restic はベータ版であるため、本番環境グレードのバックアップには推奨されません。 次のセクションでは、Amazon EKS 上のアプリケーションと関連する EBS ボリュームをバックアップする方法を紹介します。 ウォークスルー 以下のセクションでは、Velero を使用して、あるクラスター内のアプリケーションをバックアップし、そのアプリケーションを別のクラスター内にリストアする方法を説明します。ここでは、人気の高いオープンソースの Ghost パブリッシングプラットフォームを使用して、アプリケーション定義だけでなく、Persistent Volume Claim (PVC) を使用して EBS ボリュームに保存されているステートもバックアップおよびリストアする方法を示します。 前提条件 次のステップに進むためには、以下の前提条件が必要です。 eksctl v0.155.0 以降 : Installing or upgrading eksctl を参照してください。 同じ AWS アカウント内の 2 つの EKS クラスター : Creating an EKS Cluster を参照してください (このブログ記事は、Kubernetes バージョン 1.27 を実行する EKS でテストされました)。 この記事では、この 2 つのクラスターを Primary クラスターと Recovery クラスターと呼びます。 各クラスターは IAM OIDC プロバイダーを設定する必要があります。 Create an IAM OIDC provider for your cluster を参照してください。これは、 IAM Roles for Service Accounts (IRSA)を使用して Velero デプロイメントに必要な AWS アクセス許可を付与するため必要です。 各クラスターには Amazon EBS CSI ドライバー がインストールされている必要があります。 AWS CLI バージョン 2 : Installing, updating, and uninstalling the AWS CLI version 2 を参照してください。 Helm v3 : Installing Helm を参照してください。 kubectl : Installing kubectl を参照してください。 このチュートリアルで使用する 2 つの EKS クラスターは同じアカウントにありますが、これは Velero を使用するためのハード要件ではありません。このブログ記事をガイドラインとして使用し、必要に応じて IAM と S3 バケットのアクセス許可を調整することができます。 以下のセクションのコマンドは Bash を前提として書かれています。 Velero のインストール EKS のベストプラクティスを使用して Velero をインストールするには、いくつかのステップが必要です。まず、バックアップを保存するための S3 バケットを作成します。次に、 IAM Roles for Service Accounts (IRSA) を使用して、バックアップとリストア操作のために必要な AWS アクセス許可を Velero に付与します。最後に、このツールの操作方法を簡素化する Velero CLI をインストールします。 バックアップを保存するための S3 バケットの作成 Velero は、AWS で実行する場合、EKS のバックアップを保存するために S3 を使用します。以下のコマンドを実行して、Velero 用の S3 バケットを作成します。 <company-fqdn>-eks-velero-backups のような一意のバケット名を使用してください。 <BUCKETNAME> と <REGION> は自分の値に置き換えてください。 BUCKET=<BUCKETNAME> REGION=<REGION> aws s3 mb s3://$BUCKET --region $REGION Amazon S3 は、デフォルトで地理的に離れた複数の アベイラビリティーゾーン にデータを保存しますが、コンプライアンス要件により、さらに離れた場所にデータを保存することが求められる場合があります。 クロスリージョンレプリケーション を使用することで、これらの要件を満たすために、離れた AWS リージョン間でデータをレプリケーションすることができます。 IAM ポリシー Velero はスナップショットを実行し、バックアップを S3 バケットに保存するために、EC2 と S3 のリソースに対して多くの API 呼び出しを実行します。以下の IAM ポリシーは、Velero に必要なアクセス許可を付与します。 cat > velero_policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:CreateTags", "ec2:CreateVolume", "ec2:CreateSnapshot", "ec2:DeleteSnapshot" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::${BUCKET}/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${BUCKET}" ] } ] } EOF aws iam create-policy \ --policy-name VeleroAccessPolicy \ --policy-document file://velero_policy.json Velero の Service Account の作成 EKS クラスター上で実行されるアプリケーションに AWS ポリシーを提供するためのベストプラクティスは、 IAM Roles for Service Accounts (IRSA) を使用することです。eksctl は、必要な IAM ロールを作成し、信頼関係のスコープを velero-server Service Account に設定する簡単な方法を提供します。 <CLUSTERNAME> は Primary と Recovery の EKS クラスターの名前に置き換えてください。 PRIMARY_CLUSTER=<CLUSTERNAME> RECOVERY_CLUSTER=<CLUSTERNAME> ACCOUNT=$(aws sts get-caller-identity --query Account --output text) eksctl create iamserviceaccount \ --cluster=$PRIMARY_CLUSTER \ --name=velero-server \ --namespace=velero \ --role-name=eks-velero-backup \ --role-only \ --attach-policy-arn=arn:aws:iam::$ACCOUNT:policy/VeleroAccessPolicy \ --approve eksctl create iamserviceaccount \ --cluster=$RECOVERY_CLUSTER \ --name=velero-server \ --namespace=velero \ --role-name=eks-velero-recovery \ --role-only \ --attach-policy-arn=arn:aws:iam::$ACCOUNT:policy/VeleroAccessPolicy \ --approve --namespace=velero フラグによって、 velero Namespace で実行されているアプリケーションだけが、前のステップで作成した IAM ポリシーにアクセスできるようになります。 両方の EKS クラスターへの Velero のインストール 以下の手順には、Helm チャートを使用して Velero をインストールするために必要な手順が含まれています。この手順では、Velero バージョン v1.11.1 をインストールするチャートバージョン 5.0.2 を指定していることに注意してください。新しい Velero バージョンをインストールしたい場合は、 互換性マトリックス を使用して Velero AWS プラグインのバージョンを正しい Velero バージョンに合わせるなど、以下の values.yaml ファイルを必ず調整してください。 helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts cat > values.yaml <<EOF configuration: backupStorageLocation: - bucket: $BUCKET provider: aws volumeSnapshotLocation: - config: region: $REGION provider: aws initContainers: - name: velero-plugin-for-aws image: velero/velero-plugin-for-aws:v1.7.1 volumeMounts: - mountPath: /target name: plugins credentials: useSecret: false serviceAccount: server: annotations: eks.amazonaws.com/role-arn: "arn:aws:iam::${ACCOUNT}:role/eks-velero-backup" EOF cat > values_recovery.yaml <<EOF configuration: backupStorageLocation: - bucket: $BUCKET provider: aws volumeSnapshotLocation: - config: region: $REGION provider: aws initContainers: - name: velero-plugin-for-aws image: velero/velero-plugin-for-aws:v1.7.1 volumeMounts: - mountPath: /target name: plugins credentials: useSecret: false serviceAccount: server: annotations: eks.amazonaws.com/role-arn: "arn:aws:iam::${ACCOUNT}:role/eks-velero-recovery" EOF Velero サーバーを 2 回、 Primary クラスターと Recovery クラスターにインストールする必要があります。 kubectl config ( kubectl チートシート ) または kubectx を使用して、両方のクラスターのコンテキストを表示し、コンテキストを簡単に切り替えることができます。 kubectl config の管理を簡単にするために、エイリアスを使用してクラスターを kubeconfig に追加します。 PRIMARY_CONTEXT=primary RECOVERY_CONTEXT=recovery aws eks --region $REGION update-kubeconfig --name $PRIMARY_CLUSTER --alias $PRIMARY_CONTEXT aws eks --region $REGION update-kubeconfig --name $RECOVERY_CLUSTER --alias $RECOVERY_CONTEXT 次のコマンドを使用して、これらの新しいコンテキストがあることを確認できます。 kubectl config get-contexts 「*」が、どのコンテキストにいるかを示しています。 コンテキストを Primary クラスターに変更し、Velero をインストールしましょう。 kubectl config use-context $PRIMARY_CONTEXT helm install velero vmware-tanzu/velero --version 5.0.2 \ --create-namespace \ --namespace velero \ -f values.yaml 次に、コンテキストを Recovery クラスターに変更し、Velero をインストールしましょう。 kubectl config use-context $RECOVERY_CONTEXT helm install velero vmware-tanzu/velero --version 5.0.2 \ --create-namespace \ --namespace velero \ -f values_recovery.yaml 各コンテキストで以下のコマンドを実行することで、Velero サーバーが正常にインストールされたことを確認できます。 kubectl get pods -n velero Velero CLI のインストール Velero はコマンドを CRD としてを送信することで動作します。クラスターのバックアップを作成するには、クラスターにバックアップ CRD を送信します。これを手作業で作成するのは難しい場合があるため、Velero チームはバックアップとリストアを簡単に実行できる CLI を作成しました。ここでは、Velero CLI を使用して Primary クラスターのバックアップを作成し、 Recovery クラスターにリストアします。 インストール手順はオペレーティングシステムによって異なります。 こちら の手順に従って Velero をインストールしてください。 サンプルアプリケーションのバックアップとリストア Velero をインストールした状態で、 Primary クラスターにアプリケーションをインストールしてバックアップし、 Recovery クラスターにリストアを行います。お客様は、以下の手順に従って、自分の Amazon EKS クラスター内の自分のアプリケーションをバックアップおよびリストアすることもできます。 Ghost アプリケーションのインストール (および記事の作成) Ghost をサンプルアプリケーションとして Primary クラスターにバックアップし、 Recovery クラスターにリストアします。一般的にデプロイされ、十分にテストされている Bitnami Helm チャート を使用します。このチャートは、ブログアプリケーションのための永続的なデータストアとして機能する Bitnami MySQL チャート に依存しています。MySQL のデータは EBS ボリュームに保存され、バックアップ実行の一環として Velero によってスナップショットが作成されます。 それでは、 Primary クラスターにコンテキストに切り替え、Ghost をインストールしましょう (Ghost をインストールするときに表示される通知 ERROR: You did not provide an external host は無視してください。これは次のコマンドで解決されます)。 kubectl config use-context $PRIMARY_CONTEXT helm install ghost oci://registry-1.docker.io/bitnamicharts/ghost \ --create-namespace \ --namespace ghost export APP_HOST=$(kubectl get svc --namespace ghost ghost --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}") export GHOST_PASSWORD=$(kubectl get secret --namespace "ghost" ghost -o jsonpath="{.data.ghost-password}" | base64 -d) export MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace "ghost" ghost-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d) export MYSQL_PASSWORD=$(kubectl get secret --namespace "ghost" ghost-mysql -o jsonpath="{.data.mysql-password}" | base64 -d) helm upgrade ghost oci://registry-1.docker.io/bitnamicharts/ghost \ --namespace ghost \ --set service.type=LoadBalancer \ --set ghostHost=$APP_HOST \ --set ghostPassword=$GHOST_PASSWORD \ --set mysql.auth.rootPassword=$MYSQL_ROOT_PASSWORD \ --set mysql.auth.password=$MYSQL_PASSWORD 次のコマンドを実行することで、インストールが成功したことを確認できます。 kubectl get pods -n ghost Persistent Volume のバックアップとリストアをデモするブログ記事の作成 Helm チャートのインストールが完了すると、コンソールにチャートの README が表示されます。 これには次のものが含まれます。 ブログ URL 管理 URL デフォルトの管理者ユーザー名 kubectl を使用してパスワードを取得する手順 オプションで、(上に表示されている管理 URL を使用して) Ghost 管理コンソールにサインインし、バックアップとリストアのプロセスに含めるサンプルのブログ記事を作成することができます。これにより、バックアップにはアプリケーションのデプロイメント構成だけではなく、すべての記事を含むブログデータベースの状態も含まれることが確認できます。 記事を作成するには、まず左側のナビゲーションペインで Posts を選択します。 次に、ページの右上にある New post を選択します。 記事のタイトルを追加し、内容を書くことができます。サンプルのブログ記事を保存する準備ができたら、ページの右上にある Publish ドロップダウンメニュー項目を選択し、ドロップダウンメニューから Publish ボタンを選択します。 バックアップの作成 Primary クラスターのバックアップを作成しましょう。以下のコマンドを実行する前に、kubectl コンテキストが Primary クラスターに設定されていることを確認してください。 velero backup create ghost-backup -o フラグを使用することで、Velero のバックアップ CRD がどのように見えるかを確認できます。これは、実際にバックアップ作成を Velero サーバーに送信せずに、バックアップ CRD の YAML を出力します。 velero backup create test -o yaml バックアップ CRD では、 includedNamespaces 配列にワイルドカードが含まれているため、すべての Namespace をバックアップしていることがわかります。クラスター全体をバックアップしている場合でも、セレクターを使用してクラスターの個々のコンポーネントを選択できます。これにより、例えば単一のアプリケーションを含む単一の Namespace をバックアップできます。 バックアップが成功したことの検証 バックアップのステータスを確認し、バックアップが正常に完了したことを確認しましょう。 velero backup describe ghost-backup コマンドの出力で、 Phase: フィールドを探します。現在の Phase が InProgress の場合、しばらく待ってから Phase: Completed が表示されるまで再試行してください。開始時刻や完了時刻、バックアップされたアイテムの数などの情報を含む、バックアップの追加の詳細を確認できます。 以前に作成した Amazon S3バケット内に、Velero が作成したバックアップファイルを確認できます。 aws s3 ls $BUCKET/backups/ghost-backup/ アプリケーションの Recovery クラスターへのリストア kubectl コンテキストを Recovery クラスターに切り替えます。 kubectl config use-context $RECOVERY_CONTEXT 次のコマンドを使用して、Ghost アプリケーションのみを Recovery クラスターにリストアします。 velero restore create ghost-restore \ --from-backup ghost-backup \ --include-namespaces ghost リストアが成功したことの検証 リストアのステータスを確認し、リストアが正常に完了したことを確認しましょう。 velero restore describe ghost-restore 出力の Phase: Completed を探してください。 Phase: InProgress と表示された場合は、しばらく待ってからコマンドを再実行してください。次に、 Recovery クラスター内の Ghost ブログの LoadBalancer Service の URL を取得します。 kubectl -n ghost get svc ghost EXTERNAL-IP の URL にアクセスして、ブログがリストアされたことを確認します。Ghost ブログと、前のステップで作成したサンプルのブログ記事が表示されるはずです。 おめでとうございます! Primary クラスターのバックアップと、 Recovery クラスターへのアプリケーションのリストアに成功しました。 本番環境のバックアップ/リストア/DR 操作では、サービスが期待通りに動作していることを確認した後、本番の DNSレコードが Recovery クラスターを指すように移動する必要がある点に注意してください。 クリーンアップ 今後の課金が発生しないようにするために、リソースを削除してください。 eksctl を使ってクラスターを作成した場合は、 eksctl delete cluster <clustername> コマンドを使用してクラスターを削除できます。 バックアップを保存するために使用した S3 バケットと、Velero が使用している IAM ロールも削除する必要があります。 aws s3 rb s3://$BUCKET --force aws iam delete-policy --policy-arn arn:aws:iam::$ACCOUNT:policy/VeleroAccessPolicy まとめ ディザスタリカバリとマイグレーション戦略にはいくつかの種類があります。このブログ記事では、Velero が障害や災害イベントからの迅速なリカバリと、Amazon EKS のアプリケーションとクラスターリソースのシームレスな移行をどのように保証するかを紹介しました。このツールが提供するオプションをハイライトし、ステートフルアプリケーションをバックアップして新しいクラスターにリストアするプロセスを紹介しました。同様に、お客様は自分のアプリケーションと Kubernetes リソースを他の Amazon EKS クラスターにマイグレーション、レプリケーション、または以前のアプリケーション状態をリストアすることもできます。 このアプローチにより、単に CI/CD パイプラインをリダイレクトして新しい EKS クラスターにデプロイするのとは対照的に、ディザスタリカバリやマイグレーションイベントのためのオペレーションを一元化できます。これは、Kubernetes においてアプリケーションのデプロイやアップデートに使用される CI/CD パイプラインは、このような状況では必要のないアクションを実行する可能性があるためです。さらに、データの永続化に対処するためのアプローチを別途考える必要もあります。代わりに、このようなイベントのための特定の CI/CD パイプラインを作成することができます。 セルフマネージド型の Kubernetes クラスターの場合、お客様は Amazon EKS への移行にこのオープンソースツールを使用することもできます。このユースケースを深く掘り下げるには、 このブログ記事 で説明されているベストプラクティスに従うことをお勧めします。 翻訳はプロフェッショナルサービスの杉田が担当しました。原文は こちら です。
2023年も終わりを迎え、クリスマスまであと 50 日、AWS re:Invent まであと 21 日! ラスベガスにいるなら、私に挨拶しに来てください。私はほとんどの時間、Serverlesspresso のブースにいます。 10月30日週のリリース 10月30日週のリリースの中から、私の目に留まったリリースをいくつかご紹介します。 Amazon EC2 – Amazon EC2 は ML 向けキャパシティブロックを発表しました。これは、短時間の ML ワークロード用に GPU コンピュートキャパシティを予約できるようになったことを意味します。このリリースについての詳細は、 特集ページ と 発表ブログ記事 をご覧ください。 Finch – Finch の一般公開を開始しました。Finch は、macOS (Intel または Apple Silicon を使用) でローカルコンテナ開発を行うためのオープンソースツールです。macOS 上で Linux コンテナを構築、実行、公開するためのコマンドライン開発者ツールを提供します。Finch についての詳細は、 Phil Estes が書いたこのブログ記事 、または Finch のウェブサイトをご覧ください。 AWS X-Ray – AWS X-Ray が分散トレース用の W3C 形式のトレース ID をサポートしました 。AWS X-Ray は、OpenTelemetry または W3C Trace Context 仕様に準拠するその他のフレームワークを通して生成されたトレース ID をサポートします。 Amazon Translate – Amazon Translate は、翻訳出力の長さを短縮するための簡潔性のカスタマイズを導入しています 。これは、キャプションサイズの制限を満たすために短い翻訳が必要なリアルタイム翻訳で有効にできる新機能です。この翻訳は文字通りのものではありませんが、根本的なメッセージは保たれます。 AWS IAM – IAM は 最後にアクセスしたアクション を 60 のサービスに増やしました 。この機能は、ロールのパーミッションを微調整し、未使用のパーミッションを特定し、ロールが必要とする最小限のパーミッションを付与する場合に非常に便利です。 AWS IAM Access Analyzer – IAM Access Analyzer ポリシージェネレータは、AWS CloudTrail のアクセスアクティビティに基づいてきめ細かいポリシーを作成するために、 200 以上の AWS サービスを識別するためのサポートを拡張しました。 AWS のお知らせの完全なリストについては、 「AWS の最新情報」ページをご覧ください。 その他の AWS ニュース 見逃したかもしれない他のニュースやブログ記事: AWS Compute Blog – Daniel Wirjo と Justin Plock が、 様々な AWS サーバーレスサービスを使用して AWS 上で Webhook を送受信する方法について非常に興味深い記事を書いています。アプリケーションでウェブフックを使っているなら、これは良い読み物です。これは、これらのソリューションを構築する方法を示すだけでなく、構築する際にどのような配慮が必要かも示しています。 AWS Storage Blog – Bimal Gajjar と Andrew Peace が、 Amazon S3 Event Notifications でイベントの順序と重複イベントを処理する方法について、とても役に立つブログ記事を書いてくれました。これは多くの顧客に共通する課題です。 Amazon Science Blog – David Fan は、 映像表現のためのより良い基礎モデルを構築する方法についての記事を書きました。この記事は、Prime Video がこのトピックに関する会議で発表した論文に基づいています。 AWS の公式ポッドキャスト  – 最新の AWS ニュースや興味深いユースケースの詳細情報を毎週お届けします。AWS の公式ポッドキャストは、数か国語で配信されています。 フランス語 、 ドイツ語 、 イタリア語 、および スペイン語 のポッドキャストもぜひご利用ください。 AWS オープンソースに関するニュースと最新情報  – 私の同僚である Ricardo  が厳選した情報をお届けする ニュースレター では、最新のオープンソースプロジェクト、記事、イベントなどが取り上げられています。 近日開催される AWS イベント カレンダーを確認して、これらの AWS イベントにサインアップしてください。 AWS Community Days  – お住まいの地域で AWS ユーザーグループのリーダーが主催するコミュニティ主導のカンファレンスにぜひご参加ください: エクアドル (11 月 7 日)、 メキシコ (11 月 11 日)、 モンテビデオ (11 月 14 日)、 中央アジア (カザフスタン、ウズベキスタン、キルギス、モンゴル: 11 月 17~18 日)、 グアテマラ (11 月 18 日)。 AWS re:Invent (11 月 27 日~12 月 1 日) – AWS の最新情報を聞き、エキスパートから学び、グローバルクラウドコミュニティとつながるために ぜひご参加ください 。 セッションカタログ と 参加者ガイド を確認し、 生成系人工知能 (AI) のハイライト をご覧ください。 11月6日週はここまでです。11月13日週の Weekly Roundup もお楽しみに! –  Marcia この記事は、 Weekly Roundup  シリーズの一部です。毎週、AWS からの興味深いニュースや発表を簡単にまとめてお知らせします! 原文は こちら です。
2024 年半以降、新しくリリースされた Amazon EC2 インスタンスタイプは EC2 インスタンスメタデータサービス (IMDSv2) のバージョン 2 のみを使用します。また、IMDSv2 を AWS マネジメントコンソールのクイックスタートやその他の起動経路のデフォルト選択肢にするために一連のステップが実施されています。 背景 このサービスには、EC2 インスタンス内から固定 IP アドレス (IPv4 の 169.254.169.254 または Nitro インスタンス上の IPv6 の fd00:ec2::254 ) でアクセスできます。これにより、ユーザー (またはインスタンス上で実行しているコード) は、インスタンスの起動に使用された AMI の ID、ブロックデバイスマッピング、インスタンスにアタッチされたロールの一時的な IAM 認証情報、ネットワークインターフェイス情報、ユーザーデータを始めとする豊富な静的および動的データにアクセスできます。詳細については、「 インスタンスメタデータのカテゴリ 」を参照してください。 このブログ で詳細に説明されているように、v1 サービスはリクエスト/レスポンスのアクセス方式を使用し、v2 サービスはセッション指向の方法を使用します。どちらのサービスも完全に安全ですが、v2 では IMDS へのアクセスを試みる際に悪用される可能性のある 4 種類の脆弱性に対する追加の保護レイヤーが提供されます。 多くのアプリケーションやインスタンスが既に IMDSv2 を使用して、多くののメリットを活用していますが、完全なメリットは、AWS アカウントレベルで IMDSv1 が無効化されている場合にのみ利用できます。 移行計画 IMDSv2 を新しい AWS インフラストラクチャのデフォルトの選択肢にするために実施された重要なステップと今後予定されているステップを以下に示します (2023 年と 2024 年の日付に若干のずれがあります)。 2019 年 11 月 – IMDSv2 がローンチ され、これを使用して徹底的な防御を追加する方法が紹介されました。 2020 年 2 月 – AWS Marketplace の出品者と AWS パートナーから新たに公開されたすべての製品が IMDSv2 をサポートしていることの検証が開始されました。 2023 年 3 月 – すべてのローンチにおいてデフォルトで IMDSv2 を使用する Amazon Linux 2023 がローンチされました。 2023 年 9 月 – IMDSv2 のメリットを最大限に活用し、AWS インフラストラクチャ全体で IMDSv1 を無効にする方法 を紹介するブログ記事が公開されました。 2023 年 11 月 – 本日より、すべてのコンソールのクイックスタートローンチで IMDSv2 のみが使用されるようになります (Amazon とパートナークイックスタート AMI はすべてこれをサポートします)。次の図は、これをインスタンスの起動時に EC2 コンソールの 高度な詳細 で指定する方法を示しています。 2024 年 2 月 – アカウントレベルで IMDSv1 の使用をデフォルトとして制御できる新しい API 機能が導入される予定です。現在、IMDSv1 の使用は、IAM ポリシーでの制御 (既存のアクセス許可の取り消しと制限) に加えて、アカウント、組織単位 (OU)、または組織全体にグローバルに適用される SCP として制御することが可能です。IAM ポリシーの例については、「 インスタンスメタデータの使用 」を参照してください。 2024 年半ば – 新しくリリースされた Amazon EC2 インスタンスタイプは、デフォルトで IMDSv2 のみを使用します。移行をサポートするために、これまで同様に、インスタンス上での起動時または起動後に再起動や停止/開始を必要とせずに IMDSv1 を有効化できます。 対処 完全なメリットを取得 する方法を解説したブログ記事を参照して IMDSv1 から IMDSv2 への移行を開始できます。 IMDSv2 への移行に役立つツール 、および同じページで紹介されている推奨パスについても理解しておいてください。このページでは、ツールの推奨に加えて、IMDSv1 の使用を無効にする IAM ポリシーの設定方法、および MetadataNoToken CloudWatchメトリクスを使用して残りの使用量を検出する方法も示されています。 もう 1 つの便利なリソースが AWS re:Post にあります (「 Systems Manager オートメーションを使用して、Amazon EC2 インスタンスからインスタンスメタデータにアクセスするために IMDSv2 のみを使用するように強制するにはどうすればよいですか? 」)。 この移行がお客様とお客様の顧客にとって可能な限りスムーズなものとなることを望んでいます。追加のサポートが必要な場合は、 AWS サポート にお問い合わせください。 – Jeff ; 原文は こちら です。
機械学習 (ML) における最近の進歩は、あらゆる規模と業界にまたがる組織が新しい製品を考案し、ビジネスを変革する機会を生み出しました。しかし、これらの ML モデルのトレーニング、微調整、実験、および推論を行うための GPU 容量に対する需要の拡大に業界全体の供給が追いつかなくなっているため、GPU は希少なリソースになっています。取り組んでいる研究開発フェーズに応じて容量のニーズが変動するお客様にとって、GPU 容量へのアクセスは障害になります。 10月31日、AWS は Amazon Elastic Compute Cloud (Amazon EC2) の ML 向けキャパシティブロック を発表しました。これは、ML および 生成系 AI モデルをトレーニングしてデプロイするための GPU インスタンスに簡単にアクセスできるようにすることで、ML の民主化をさらに進める Amazon EC2 の新しい使用モデルです。EC2 キャパシティブロックを使用することで、高パフォーマンス ML ワークロード向けに設計された EC2 UltraClusters に配置されている何百もの GPU を予約することができます。これには、ペタバイト規模のノンブロッキングネットワーク内にある Elastic Fabric Adapter (EFA) ネットワーキングが使用され、Amazon EC2 で利用できる最高のネットワークパフォーマンスを提供します。 これは GPU インスタンスをスケジュールするための新しい革新的な方法で、後日に必要となる数のインスタンスを、必要な時間分だけ予約することができます。現在、EC2 キャパシティブロックは AWS 米国東部 (オハイオ) リージョン内にある NVIDIA H100 Tensor Core GPU 搭載の Amazon EC2 P5 インスタンス でご利用いただけます。EC2 キャパシティブロックでは、数回クリックするだけで GPU インスタンスを予約し、自信を持って ML 開発を計画できます。EC2 キャパシティブロックは、ML トレーニングに対して EC2 で最高のパフォーマンスを提供する EC2 P5 インスタンスへの予定どおりのアクセスを、誰もが簡単に実現できるようにします。 EC2 キャパシティブロックの予約は、ホテルの部屋を予約するしくみに似ています。ホテルの予約では、部屋を予約したい日付と期間、および希望するベッドのサイズ (クイーンサイズのベッドやキングサイズのベッドなど) を指定します。これと同様に、EC2 キャパシティブロック予約でも、 GPU インスタンスが必要になる日付と期間、および予約のサイズ (インスタンスの数) を選択します。予約の開始日になると、予約した EC2 キャパシティブロックにアクセスして P5 インスタンスを起動できるようになります。EC2 キャパシティブロックの期間終了時に実行中のインスタンスは、すべて終了されます。 EC2 キャパシティブロックは、ML モデルをトレーニングもしくは微調整する、実験を行う、または ML アプリケーションに対する需要の将来的な急増に備えるために、容量を保証しておく必要がある場合に使用できます。一方で、ビジネスクリティカルなアプリケーション、規制要件、またはディザスタリカバリなど、コンピューティング能力の保証が必要となるその他すべてのワークロードタイプには、引き続き オンデマンドキャパシティ予約 を使用することができます。 ML 向けの Amazon EC2 キャパシティブロックの使用を開始する キャパシティブロックを予約するには、米国東部 (オハイオ) リージョンの Amazon EC2 コンソール で、[ キャパシティーの予約 ] を選択します。2 つのキャパシティ予約オプションが表示されます。[ キャパシティブロックを購入 ] を選択してから、[ ご利用開始にあたって ] を選択して、EC2 キャパシティブロックの検索を開始します。 合計キャパシティを選択し、EC2 キャパシティブロックが必要になる期間を指定します。EC2 キャパシティブロックは、1、2、4、8、16、32、または 64 個の p5.48xlarge インスタンスのサイズで予約できます。EC2 キャパシティブロックを予約できる合計日数は 1~14 日で、1 日単位になっています。EC2 キャパシティブロックは最大 8 週間前に購入できます。 EC2 キャパシティブロックの料金は動的で、EC2 キャパシティブロックの購入時における利用可能な総供給量と需要に応じて変動します。仕様内のサイズ、期間、または日付範囲を調整することで、他の EC2 キャパシティブロックオプションを検索できます。[ キャパシティブロックを検索 ] を選択すると、AWS が、ユーザー指定の日付範囲内で仕様を満たす、利用可能な最低料金のオプションを返します。この時点で、EC2 キャパシティブロックの料金が表示されます。 EC2 キャパシティブロックの詳細、タグ、および合計料金情報を確認したら、[ 購入 ] を選択します。EC2 キャパシティブロックの合計料金は前払いで請求され、購入後に料金が変更されることはありません。支払いは、EC2 キャパシティブロックを購入してから 12 時間以内にお客様のアカウントに請求されます。 すべての EC2 キャパシティブロック予約は、協定世界時 (UTC) の午前 11 時 30 分に開始されます。購入後に EC2 キャパシティブロックを変更またはキャンセルすることはできません。 EC2 キャパシティブロックは、 AWS コマンドラインインターフェイス (AWS CLI) と AWS SDK を使用して購入することもできます。 describe-capacity-block-offerings API を使用してクラスター要件を指定し、購入可能な EC2 キャパシティブロックを見つけます。 $ aws ec2 describe-capacity-block-offerings \           --instance-type p5.48xlarge \           --instance-count 4 \           --start-date-range 2023-10-30T00:00:00Z \           --end-date-range 2023-11-01T00:00:00Z \           –-capacity-duration 48 上記コマンドからの CapacityBlockOfferingId とキャパシティ情報を使用して利用可能な EC2 キャパシティブロックを見つけたら、 purchase-capacity-block-reservation API を使用してキャパシティブロックを購入できます。 $ aws ec2 purchase-capacity-block-reservation \           --capacity-block-offering-id cbr-0123456789abcdefg \           –-instance-platform Linux/UNIX 新しい EC2 キャパシティブロック API の詳細については、 Amazon EC2 API ドキュメント を参照してください。 これで、EC2 キャパシティブロックが正常にスケジュールされました。スケジュールされた開始日になると、EC2 キャパシティブロックがアクティブになります。開始日にアクティブな EC2 キャパシティブロックを使用するには、その EC2 キャパシティブロックのキャパシティ予約 ID を選択します。[ キャパシティ予約の詳細 ] セクションにはリザーブドインスタンスキャパシティの内訳が表示されており、キャパシティが現在どのように使用されているかがわかります。 アクティブな EC2 キャパシティブロックにインスタンスを起動するには、[ インスタンスを起動 ] を選択し、EC2 インスタンスを起動して ML ワークロードを実行するための通常のプロセスに従います。 [ 高度な詳細 ] で、[ キャパシティブロック ] を購入オプションとして選択し、ターゲットにしようとしている EC2 キャパシティブロックのキャパシティ予約 ID を選択します。 EC2 キャパシティブロックの終了時間が近づくと、Amazon EC2 が Amazon EventBridge を通じてイベントを送信して予約が間もなく終了することを通知するので、ワークロードのチェックポイントを設定することができます。EC2 キャパシティブロックで実行中のインスタンスは、予約が終了する 30 分前にシャットダウン中状態になります。EC2 キャパシティブロックに対して請求された金額に、この 30 分間は含まれていません。EC2 キャパシティブロックの有効期間終了時に実行中のインスタンスは、すべて終了されます。 今すぐご利用いただけます Amazon EC2 キャパシティブロック は、AWS 米国東部 (オハイオ) リージョンの p5.48xlarge インスタンスで今すぐご利用いただけます。EC2 キャパシティブロックの料金は予約前に確認でき、EC2 キャパシティブロックの合計料金は購入時に前払いで請求されます。詳細については、 EC2 キャパシティブロックの料金 ページを参照してください。 EC2 キャパシティブロックの詳細については、 EC2 キャパシティブロックドキュメント を参照してください。フィードバックは、 AWS re:Post for EC2 、または通常の AWS サポート連絡先をとおして送信してください。 – Channy 原文は こちら です。
AWS re:Invent まであと 1 か月を切りましたが、その間も興味深いニュースが続々と発表されています。10月30日週は、私が皆様に最新情報をお知らせします! 先週のリリース 10月23日週、私の目に留まったリリースをいくつかご紹介します。 AWS re:Post – re:Post では、AWS を利用してさらなる成功を実現するのに役立つエキスパートのコミュニティにアクセスできます。 Selections では、コミュニティメンバーは集約ビューで知識を整理し、 学習パスや厳選されたコンテンツセットを作成できます。 Amazon SNS – FIFO (先入れ先出し) トピックが、別のアーカイブリソースのプロビジョニングを必要とせずに、 メッセージを保存および再生するオプションをサポートするようになりました 。これは、イベント駆動型アプリケーションの耐久性を向上させ、ダウンストリームの障害シナリオから回復するのに役立ちます。詳細については、AWS コンピューティングブログの記事「 Archiving and replaying messages with Amazon SNS FIFO 」をご覧ください。また、 カスタムデータ識別子 を使用して、一般的な機密データ (名前、住所、クレジットカード番号など) だけでなく、会社の従業員 ID などのドメイン固有の機密データも保護できるようになりました。この機能の詳細については、AWS セキュリティブログの記事「 Mask and redact sensitive data published to Amazon SNS using managed and custom data identifiers 」をご覧ください。 Amazon SQS – FIFO 高スループットモードのためのスループットクォータの引き上げ により、API アクションごとに 1 秒あたり最大 18,000 のトランザクションを処理できます。スループットクォータは AWS リージョンによって異なることにご留意ください。 Amazon OpenSearch Service – OpenSearch Serverless は、新しいインデックスライフサイクルポリシーにより、 時間ベースの自動データ削除 をサポートするようになりました。 正確で低レイテンシーのベクトル検索クエリを提供するための最適な戦略を決定 するために、OpenSearch は、 近似最近傍探索 (ANN) を使用した事前フィルタリングや、正確な k-最近傍 (k-NN) を使用したフィルタリングなど、 最適なフィルタリング戦略をインテリジェントに評価 できるようになりました。また、OpenSearch Service は、 インターネットプロトコルバージョン 6 (IPv6) をサポートするようになりました 。 Amazon EC2 – マルチ VPC ENI アタッチメント を使用すると、1 つの仮想プライベートクラウド (VPC) 内でプライマリ Elastic Network Interface (ENI) を使用してインスタンスを起動し、別の VPC からセカンダリ ENI をアタッチできます。これは、ネットワークレベルの分離を維持するのに役立ちますが、特定のワークロード (一元管理されたアプライアンスやデータベースなど) が相互に通信するのを引き続き許可します。 AWS CodePipeline – パラメータ化されたパイプライン を使用すると、入力パラメータをパイプライン実行に動的に渡すことができます。ソースリポジトリ内の コミットに特定の git タグが適用された際にパイプラインの実行を開始 できるようになりました。 Amazon MemoryDB – Graviton3 ベースの R7g ノードをサポート するようになりました。これは、R6g と比較して最大 28% 多いスループットを実現します。また、これらのノードは、より高いネットワーク帯域幅も提供します。 その他の AWS のニュース ここでは、私が注目している AWS およびクラウドに関する他のブログ記事をいくつかご紹介します。 ネットワーキングとコンテンツ配信のブログ – AWS ネットワークインフラストラクチャを構築する際に下す、技術管理とハードウェアに関する意思決定の一例:「 A Continuous Improvement Model for Interconnects within AWS Data Centers 」 DevOps ブログ – 企業のお客様が CodeWhisperer を利用しているデベロッパーの数、利用頻度、提案を受け入れる頻度を理解するのをサポートします:「 Introducing Amazon CodeWhisperer Dashboard and CloudWatch Metrics 」 フロントエンドウェブおよびモバイルブログ – GraphQL API へのアクセスをプライベートネットワーク内のコンシューマーに制限する方法:「 Architecture Patterns for AWS AppSync Private APIs 」 アーキテクチャブログ – この非常に興味深いシリーズの新しい記事:「 Let’s Architect! Designing systems for stream data processing 」 Community.AWS から:「 Load Testing WordPress Amazon Lightsail Instances 」および「 Future-proof Your .NET Apps With Foundation Model Choice and Amazon Bedrock 」。 私の同僚の Ricardo による AWS の最新のオープンソースに関するニュースレター もお見逃しなく。 今後の AWS イベント カレンダーを確認して、次の AWS イベントにぜひサインアップしてください。 AWS Community Days  – お住まいの地域で AWS ユーザーグループのリーダーが主催するコミュニティ主導のカンファレンスにぜひご参加ください: ジャイプル (11 月 4 日)、 ヴァドーダラー (11 月 4 日)、 ブラジル (11 月 4 日)、 中央アジア (カザフスタン、ウズベキスタン、キルギス、モンゴル: 11 月 17~18 日)、 グアテマラ (11 月 18 日)。 AWS re:Invent (11 月 27 日~12 月 1 日) – AWS の最新情報を聞き、エキスパートから学び、グローバルクラウドコミュニティとつながるために ぜひご参加ください 。 セッションカタログ と 参加者ガイド を確認し、 生成系 AI のハイライト をご覧ください。 こちらでは、今後のすべての AWS 主導の対面および仮想イベント と デベロッパー中心のイベント を確認できます。 10月30日週はここまでです。次回もお楽しみに! – Danilo この記事は、 Weekly Roundup シリーズの一部です。毎週、AWS からの興味深いニュースや発表を簡単にまとめてお知らせします! 原文は こちら です。
訳者注記: 原文記事 は 2019 年の記事となりますが、定期的にメンテナンスされており、且つ DNS 管理において有用であるため翻訳対象として選定しています。 前回の投稿 では、マルチアカウント環境にCentral DNS を実装するソリューションを紹介しました。これにより、クロスアカウントや AWS からオンプレミスへのドメイン解決を実装するときに必要なサーバーとフォワーダーの数が減り、DNS 管理が簡素化されます。 Amazon Route 53 Resolver サービスのリリースにより、ハイブリッド DNS 解決をさらに簡素化するネイティブの条件付きフォワーダーにアクセスできるようになりました。 この記事では、Route 53 Resolver を使用してマルチアカウント環境で DNS 管理を一元化する最新のソリューションを紹介します。このソリューションにより、AWS でドメインコントローラーを実行しなくても、複数のアカウントにわたって、また AWS とオンプレミスで実行されているワークロード間でドメインを解決できます。 ソリューションの概要 このソリューションでは、ドメイン解決の 3 つの主要なユースケースを解決する方法を示します。 VPC で実行されているワークロードからオンプレミスドメインの名前解決 オンプレミスで実行されているワークロードから AWS 環境内のプライベートドメインの名前解決 異なる AWS アカウントで実行されているワークロード間のプライベートドメインの名前解決 次の図は、大まかなアーキテクチャを示しています。 図 1: アーキテクチャ図 アーキテクチャ図中の 1 ~ 6 について説明します。 Central DNS VPC 用のAmazon が提供するデフォルト DNS サーバーです。ここでは、これを DNS-VPC と呼びます。これは VPC CIDR 範囲内の 2 番目の IP アドレスです (図に示されているように、 172.27.0.2 を持ちます)。このデフォルトの DNS サーバーは、参加している AWS アカウントで実行されるすべてのワークロードのプライマリドメインリゾルバーになります。 Route 53 Resolver Endpoint を示しています。インバウンドエンドポイントは、オンプレミスの DNS サーバーと、参加している AWS アカウントで実行されているワークロードから転送されたクエリを受信します。アウトバウンドエンドポイントは、ドメインクエリを AWS からオンプレミス DNS に転送するために使用されます。 条件付き転送ルールを示しています。このアーキテクチャでは、2 つのルールが必要です。1 つは onprem.private ゾーンのドメインクエリをアウトバウンドエンドポイント経由でオンプレミス DNS サーバーに転送するルール、もう 1 つは awscloud.private のドメインクエリを DNS-VPC のリゾルバーインバウンドエンドポイントに転送するルールです。 これら 2 つの転送ルールが AWS Resource Access Manager を介して他のすべての AWS アカウントと共有され、これらのアカウントのすべての VPC に関連付けられていることを示しています。 awscloud.private という固有のサブドメインを使用して各アカウントに作成されたプライベートホストゾーンを示しています。 awscloud.private ゾーンへのクエリを Resolver インバウンドエンドポイントの IP アドレスに転送するように設定された条件付きフォワーダーを備えたオンプレミスの DNS サーバーを示しています。 注:このソリューションでは、送信元/宛先の VPC と DNS-VPC 間の VPC ピアリングや接続は必要ありません。 仕組み 次に、このアーキテクチャのドメイン解決フローが、3 つのユースケースに従ってどのように機能するかを示します。 ユースケース ① 図 2: AWS で実行されているワークロードからオンプレミスドメインを解決するユースケース 最初に、AWS で実行されているワークロードからオンプレミスドメインを解決する方法を見ていきます。プライベートドメイン host1.acc1.awscloud.private のサーバーが host1.onprem.private というアドレスを解決しようとすると、次のようになります。 DNS クエリは、host1.acc1.awscloud.private をホストしている VPC のデフォルト DNS サーバーにルーティングされます。 VPC は Central DNS アカウントから共有される転送ルールに関連付けられているため、これらのルールは VPC 内の Amazon が提供するデフォルトの DNS によって評価されます。 この例では、ルールの 1 つが onprem.private のクエリをオンプレミス DNS サーバーに転送するように指示しています。このルールに従って、クエリはオンプレミスの DNS サーバーに転送されます。 転送ルールは Resolver アウトバウンドエンドポイントに関連付けられているため、クエリはこのエンドポイントを介してオンプレミスの DNS サーバーに転送されます。 このフローでは、参加しているアカウントの1つで開始されたDNSクエリが Central DNS サーバーに転送され、次にオンプレミス DNS に転送されます。 ユースケース ② 次に、オンプレミスのワークロードで AWS 環境のプライベートドメインを解決する方法は次のとおりです。 図 3: オンプレミスのワークロードで AWS 環境のプライベートドメインを解決する方法のユースケース この場合、host1.acc1.awscloud.private のクエリはオンプレミスホストから開始されます。次に何が起こるかは次のとおりです。 ドメインクエリはオンプレミスの DNS サーバーに転送されます。 その後、クエリはオンプレミスDNSサーバー上の条件付き転送ルールを介して Resolver インバウンドエンドポイントに転送されます。 クエリは、DNS-VPC のデフォルト DNS サーバーに到達します。 DNS-VPC はプライベートホストゾーン acc1.awscloud.private に関連付けられているため、デフォルトの DNS サーバーがこのドメインを解決できます。 この場合、DNS クエリはオンプレミスで開始され、インバウンドエンドポイントを通じて AWS 側の Central DNS に転送されています。 ユースケース③ 最後に、複数の AWS アカウントにまたがるドメインの解決が必要になる場合があります。これを実現する方法は次のとおりです。 図 4: 複数の AWS アカウントにまたがるドメインを解決する方法のユースケース host1.acc1.awscloud.private のホスト 1 が host2.acc2.awscloud.private というドメインを解決しようとしたとすると、次のことが起こります。 ドメインクエリは、VPC ホスティングソースマシン (host1) のデフォルト DNS サーバーに送信されます。 VPC は共有転送ルールに関連付けられているため、これらのルールは評価されます。 awscloud.private ゾーンのクエリは、DNS-VPC のインバウンドエンドポイントに (アウトバウンドエンドポイント経由で) 転送する必要があるというルールがあります。 次に、アウトバウンドエンドポイントは DNS クエリをターゲット IP に転送します。この例では、ターゲット IP は受信エンドポイントの IP アドレスです。 DNS-VPC は acc2.awscloud.private ホストゾーンに関連付けられているため、デフォルトの DNS は自動定義ルールを使用してこのドメインを解決します。 このユースケースでは、DNS クエリが 1 つの参加アカウントで開始され、別の AWS アカウントのドメイン解決のために Central DNS に転送される、AWS 間ケースについて説明します。次に、このソリューションをお客様の環境で構築するために何が必要かを見ていきます。 ソリューションの導入方法 このソリューションを 4 つのステップで構成する方法を説明します。 一元化された DNS アカウントを設定します。 各参加アカウントを設定します。 プライベートホストゾーンと Route 53 の関連付けを作成します。 オンプレミスの DNS フォワーダーを設定します。 ステップ 1: Central DNS アカウントを設定する このステップでは、一元管理された DNS アカウントにリソースを設定します。主に、DNS-VPC、リゾルバーエンドポイント、転送ルールが含まれます。 ウェブコンソール または AWS クイックスタート を使用して、ビジネスシナリオに応じて DNS-VPC として動作する VPC を作成します。 Amazon VPC ユーザーガイド で一般的なシナリオを確認できます。非常に一般的なシナリオの 1 つは、 パブリックサブネットとプライベートサブネットを持つ VPC です。 リゾルバーエンドポイントを作成 します。DNS クエリをオンプレミス DNS に転送するアウトバウンドエンドポイントと、オンプレミスのワークロードや他の AWS アカウントから転送された DNS クエリを受信するインバウンドエンドポイントを作成する必要があります。 2 つの 転送ルール を作成します。最初のルールは、ゾーン onprem.private の DNS クエリをオンプレミスの DNS サーバーの IP アドレスに転送することです。2 番目のルールは、ゾーン awscloud.private の DNS クエリをリゾルバーのインバウンドエンドポイントの IP アドレスに転送することです。 ルールを作成したら、ゾーン onprem.private のルールをステップ #1 で作成した DNS-VPC に関連付け ます(他の転送ルールを DNS-VPC に関連付ける必要はありません)。これにより、Route 53 リゾルバーはドメインクエリの転送をそれに応じて開始できます。 最後に、 2 つの転送ルールをすべての参加アカウントと共有する 必要があります。そのためには、AWS Resource Access Manager を使用し、ルールを AWS 組織全体または特定のアカウントと共有できます。 注:ドメインクエリをオンプレミスの DNS サーバーに転送するには、データセンターと DNS-VPC 間の接続が必要です。接続は、 Site-to-Site VPN または AWS Direct Connect を使用して確立できます。 ステップ 2: 参加アカウントを設定する 参加しているアカウントごとに、共有転送ルールを使用するように VPC を設定し、アカウントごとにプライベートホストゾーンを作成する必要があります。 AWS Resource Access Manager からの 共有ルールに同意 します。ルールが AWS 組織と共有されている場合、このステップは不要です。次に、転送ルールを各アカウントのワークロードをホストする VPC に関連付け ます。関連付けが完了すると、リゾルバーはルールに従ってDNSクエリの転送を開始します。 この時点で、共有転送ルールに関連付けられている任意の VPC で実行されているワークロードからオンプレミスドメインを解決できるはずです。AWS でプライベートドメインを作成するには、プライベートホストゾーンを作成する必要があります。 ステップ 3: プライベートホストゾーンを作成する このステップでは、awscloud.private のサブドメインを使用して各アカウントにプライベートホストゾーンを作成する必要があります。環境内でのドメインの競合を避けるため、プライベートホストゾーンごとに一意の名前を使用してください (たとえば、acc1.awscloud.private または dev.awscloud.privateなどです)。 awscloud.private のサブドメインを持つ各参加アカウントに プライベートホストゾーンを作成 し、そのアカウントで実行されている VPC に関連付けます。 プライベートホストゾーンを DNS-VPC に関連付け ます。これにより、集中管理された DNS-VPC はプライベートホストゾーンのドメインを解決し、AWS アカウント間の DNS リゾルバーとして機能できます。 プライベートホストゾーンと DNS-VPC は異なるアカウントにあるため、プライベートホストゾーンを DNS-VPC に関連付ける必要があります。そのためには、プライベートホストゾーンを所有するアカウントから認証を作成し、DNS-VPC を所有するアカウントからこの承認を受け入れる必要があります。これは AWS CLI を使用して行うことができます。 参加している各アカウントで、プライベートホストゾーン ID、リージョン、関連付ける VPC ID (DNS-VPC) を使用して認証を作成します。 aws route53 create-vpc-association-authorization --hosted-zone-id <hosted-zone-id> --vpc VPCRegion= <region> ,VPCId= <vpc-id> Text Central DNS アカウントで、参加している各アカウントのホストゾーンに DNS-VPC を関連付けます。 aws route53 associate-vpc-with-hosted-zone --hosted-zone-id <hosted-zone-id> --vpc VPCRegion= <region> ,VPCId= <vpc-id> Text ステップ 4: オンプレミス DNS フォワーダーを設定する オンプレミスで実行されているワークロードから awscloud.private ドメイン内のサブドメインを解決できるようにするには、Central DNS アカウントに作成されたリゾルバーインバウンドエンドポイントの 2 つの IP アドレスにドメインクエリを転送する条件付き転送ルールを設定する必要があります。これには、データセンターと DNS-VPC 間の接続が必要であることに注意してください。接続には、 Site-to-Site VPN または AWS Direct Connect を使うことができます。 その他の考慮事項と制限事項 Route 53 Resolverの柔軟性と条件付き転送ルールにより、どのクエリを Central DNSに送信し、どのクエリを同じアカウントでローカルに解決するかを制御できます。これは、AWS PrivateLink や Amazon Elastic File System (EFS) など一部の AWS サービスを使用する予定がある場合に特に重要です。これらのサービスに関連するドメイン名は、それらを所有するアカウントのローカルで解決する必要があるためです。 可能であれば、アカウントのローカルドメインを解決することをお勧めします。たとえば、同じアカウントのプライベートホストゾーンにあるプライベートドメインの場合です。そのためには、アカウントのローカルに条件付き転送ルールを作成し、ルールタイプに「system」を使用して、これらのルールを VPC に関連付けることができます。 ※訳者注記:ルールタイプについてのドキュメントは こちら を参照ください。 Route 53 リゾルバーの制限に関する注意:Route 53 リゾルバーには、エンドポイントの IP アドレスあたり 1 秒あたり 10,000 クエリという制限があります。より高い制限を必要とするワークロードがある場合は、EC2 インスタンス上で実行されている適切に設定されたローカル DNS サーバーにこれらのクエリを転送することを検討してください。サービスの制限について詳しくは、 こちら をご覧ください。 このセクションでは、追加の考慮事項が必要な 2 つのユースケースを挙げます。 インターフェイス VPC エンドポイント (AWS PrivateLink) AWS PrivateLink インターフェイスエンドポイント を作成すると、AWS はサービスとの通信に使用できるエンドポイント固有の DNS ホスト名を生成します。AWS サービスと AWS Marketplace パートナーサービスでは、オプションでエンドポイントのプライベート DNS を有効にできます。このオプションは、プライベートホストゾーンを VPC に関連付けます。ホストゾーンには、サービスのデフォルト DNS 名のレコードセット (たとえば 、ec2.us-east-1.amazonaws.com) が含まれています。このレコードセットは、VPC 内のエンドポイントネットワークインターフェイスのプライベート IP アドレスになります。これにより、エンドポイント固有の DNS ホスト名ではなく、デフォルトの DNS ホスト名を使用してサービスにリクエストを行うことができます。エンドポイントにプライベート DNS を使用する場合は、アカウントのローカルエンドポイントへの DNS クエリを解決し、AWS が提供するデフォルトの DNS を使用する必要があります。そのため、この場合は 、amazonaws.com のドメインクエリをローカルで解決し、これらのクエリを Central DNS に転送しないことをお勧めします。 DNS 名を使用して EFS をマウントする DNS 名を使用して Amazon EFS ファイルシステム Amazon EC2 インスタンスにマウントできます。ファイルシステム DNS 名は、接続している Amazon EC2 インスタンスのアベイラビリティーゾーンにあるマウントターゲットの IP アドレスに自動的に解決されます。そのためには、VPC は Amazon が提供するデフォルト DNS を使用して EFS DNS 名を解決する必要があります。ご使用の環境で EFS を使用する予定がある場合は、EFS DNS 名をローカルで解決し、これらのクエリを Central DNS に送信しないことをお勧めします。その場合、クライアントはアベイラビリティーゾーンに最適化された回答を受け取ることができず、オペレーションのレイテンシーが高くなり、耐久性が低下する可能性があります。 まとめ この記事では、マルチアカウントおよびハイブリッド環境で Central DNS 解決を実装するための簡単なソリューションを紹介しました。このソリューションでは、AWS Route 53 Resolver、AWS Resource Access Manager、および Route 53 のネイティブ機能が使用され、AWS 環境でカスタム DNS サーバーやフォワーダーが不要になるため、複雑さと運用の労力が軽減されます。 著者について Mahmoud Matouk Mahmoud は、世界各地の公共部門ソリューションアーキテクトの一員であり、高等教育機関のお客様がさまざまな AWS サービスを使用して、革新的で安全で可用性の高いソリューションを構築できるよう支援しています。 この記事の翻訳はソリューションアーキテクトの長屋が担当しました。原文は こちら です。
この記事は、 Commoditize connected mobility with WirelessCar on AWS を翻訳したものです。 WirelessCar は、スウェーデン、米国、中国に拠点を置き、12 社以上の自動車 OEM 、世界中の 100 を超える市場 に対して、 AWS の 99.99% の稼働率でコネクテッドモビリティサービスを提供しています。WirelessCar は、コネクテッドカーサービスの構築において 20 年以上の経験を持つ AWS パートナー です。WirelessCar は、API 製品、コストの最適化、フライホイールの構築、AWS によるスケールメリットにより、AWS 上のコネクテッドモビリティサービスをコモディティ化してきました。WirelessCar が AWS 上で展開するプラットフォームには、現在 1,000 万台以上の車両が接続しており、 1 億台の接続数であれば、年間の台あたりコストを 1 桁ドル台まで下げるに至っています。 このブログ記事では、WirelessCar が AWS を利用してモジュラー API 製品を構築し、コスト最適化を実現し、スケールメリットを構築してコネクテッドモビリティサービスをコモディティ化した方法に焦点を当てています。 背景 自動車 OEM がデジタルトランスフォーメーションを続けるにつれて、ソフトウェア開発組織になりつつあり、ソフトウェアサプライヤーからのサービスの利用方法も変化するでしょう。要件を指定してサプライヤーに機能を注文する組織から、社内で独自のソフトウェアを構築する開発チームへと変化しています。誰もが毎回すべてをゼロから構築することは持続可能ではないため、チームは差別化のない機能をサプライヤーから購入することに頼っています。このようなソースソフトウェアの消費者が OEM の社内開発チームに移るとき、彼らはパブリッククラウドサービスと同じようにソフトウェアを利用できることを期待しています。つまり、自分でインストールして運用する必要のあるソフトウェアパッケージを受け取ることは期待せず、 SaaS モデルでサプライヤーから提供された API ベースの製品を利用することになります。これにより、 OEM 開発チームはセルフサービスで製品のインスタンス化、統合のトラブルシューティング、使用状況と請求のフォローアップ、アクセスとデータの管理を行うことができます。その結果、ボトルネックが解消され、 OEM はイノベーションのスピードを上げることができます。 WirelessCar の API 製品 WirelessCar は、クラウドベースのフルマネージド型コネクテッドモビリティ API 製品を SaaS 方式で提供します。既製のマネージド API 製品を自社で構築して保守する代わりに利用することで、OEM は差別化機能の提供に注力し、総所有コストを削減し、スケールメリットを享受できます。カスタマイズやコンサルティングのニーズに合わせて、 WirelessCar はプロフェッショナルサービスとディスカバリーサービスを提供します。OEM は、顧客にコネクテッドモビリティサービスや、 API を使用して採用して既存のプラットフォームに統合したい製品を提供するために、WirelessCar 製品スイート全体を完全なソリューションとして採用することを選択します。そのため、既存のOEM プラットフォームと新しい OEM プラットフォームの両方が、 WirelessCar API 製品のすべてまたは一部を採用しています。 WirelessCar は、コネクテッドモビリティの6つの異なる分野で API 製品を提供しています。 接続性 : 車両とライフサイクル管理への接続を提供する製品。 ジャーニーインテリジェンス : この分野には、 位置と移動の統計情報 、 データレイク 、デジタルコンパニオン、ドライバーモニタリング、コーチングのユースケースを網羅した製品が含まれます。 安全とセキュリティ : これには、 コールセンターサービス 、盗難車追跡、車両セキュリティ警告サービスが含まれます。 電気自動車 ( EV ) : 自動車業界で信頼性の高い EV サービスの1つであるスマート EV ルーティング、スマート充電、デジタル EV コンパニオンサービス。 共有モビリティ : この分野では、WirelessCar が車両管理、車両データアクセス、デジタル管理サービスを提供します。 デジタルトランスフォーメーション : 物流追跡、社用車管理、遠隔診断、予知保全などがこの分野でカバーされる最新のサービスです。 WirelessCar と AWS は協力して、エッジ・ツー・クラウド、セキュリティ、データ、機械学習などの分野で新製品を開発しています。OEM は WirelessCar サービスを採用し、WirelessCar サービス API を使用してその上にサービスを構築しています。 WirelessCar 製品は、OEM が車両、工場、顧客関係管理システム、またはその他のエンドポイントからデータを安全に取り込むのに役立ちます。OEM は WirelessCar に連絡してこれらの API を購読します。WirelessCar には、API の使用方法に関する詳細なドキュメントが用意されています。OEM は、サービスの利用に何か月も何年もかかっていた API を数週間で使い始めています。 WirelessCar 製品は、AWS のマネージドサービスと Amazon API gateway 、 AWS Lambda 、 Amazon DynamoDB 、 AWS IoT Core などの Serverless サービスを使用して、インフラストラクチャをコスト効率よくスケーリングし、DevOps の労力を削減します。WirelessCar サービスをコードとしてのインフラストラクチャとして構築し、継続的インテグレーションと継続的デプロイ ( CI/CD ) パイプラインを構築することで、DevOps の労力が軽減されます。ロギング、モニタリング、アラートサービスは Amazon CloudWatch を使用して提供されます。セキュリティとアクセス管理を確保するために、AWS のセキュリティおよびアクセス管理サービスである Identity and Access Management (IAM) 、 AWS WAF 、 AWS Certificate Manager (ACM) 、 AWS security hub 、 AWS Shield 、およびその他のサービスが使用されています。このように、WirelessCar はコネクテッドモビリティサービスを利用するためのモジュール式 API 製品を OEM に提供しています。AWS と WirelessCar は、今後、これらのサービスを AWS マーケットプレイスで利用できるように取り組んでいます。これにより、誰でも既製の WirelessCar 製品を使い始めることができます。 コスト最適化 コスト最適化は一過性のものではなく、費用対効果の高いソリューションを開発するために企業文化の一部として DevOps チームに組み込まれます。モビリティワークロードにおけるコストは、車両の通信パターン、車両が使用するモビリティサービスの数、および車両が要求する応答によって異なります。これら 3 つのパラメータは OEM ごとに異なるため、各 OEM のコストは異なります。このためコスト最適化は、 OEM プログラム、 WirelessCar サービス、および AWS サービスごとのコストを特定することからスタートしました。 WirelessCar と AWS は、コストログと Amazon QuickSight を使用してコストを見える化し、1 台あたりの年間コスト、メッセージあたりのコストなどのマトリックスを作成しました。現在では WirelessCar は、コストをほぼリアルタイムで追跡し、結果を測定することが可能となりました。 WirelessCar では、コストの視覚化を可能にするために、すべての AWS リソースに対して一貫したタグ付け戦略を採用していることに注意してください。 WirelessCar は、2 つの方法でコスト削減を実現しました。 アーキテクチャ変更したり、多大な労力をかけたり、クラウド利用に関するガバナンスを設定したりすることのないような、容易な項目を特定しました。例えば、未使用のリソースやデータのクリーニング、コスト削減のための IO2 から IO3 への Amazon Elastic Block Store ( Amazon EBS ) ボリューム変更や、コンピューティングとデータベース用の AWS EC2 Graviton インスタンスの利用などです。 各 AWS サービスの使用方法を確認し、コスト最適化アクションとリファクタリングを特定しました。これらの取り組みは、 WirelessCar チームが各スプリントで計画し、機能の実装を優先しながら、時間をかけて実施してきました。 WirelessCar におけるコスト最適化キャンペーンにより、WirelessCar チームは自分たちの選択を意識するようになりました。現在、 WirelessCar チームは開発したサービスコストを QuickSight で追跡し、コストの最適化に取り組んでおり、また WirelessCar のお客様はこれらのコスト削減から直接メリットを得ることができます。このように、 WirelessCar はコスト効率の高い API 製品を OEM に提供しています。 スケールメリットの構築 20 年以上の経験、コストを最適化した優れた API 製品、 AWS とのパートナーシップ、市場開拓戦略により、 WirelessCar の製品を利用する OEM の数はますます増えています。 WirelessCar は、数か月や数年ではなく、数週間で顧客をプラットフォームに導入できるようになりました。既存のモビリティプラットフォームは、特に EV サービスの分野でギャップを埋めるために WirelessCar サービスを採用しています。 WirelessCar と AWS は協力して新しいサービスを市場に投入しています。 これにより、世界中で毎週何千台もの新しい車両が WirelessCar 製品に接続されています。これはフライホイールの構築とスケールメリットの向上に役立ち、ひいては車両1台あたりのコストを削減し、 WirelessCar のお客様にもメリットをもたらします。私たちは 1 億台の車両に搭載し、コネクテッドモビリティサービスを共同でコモディティ化することを目指しています。 最後に このブログ記事では、 WirelessCar と AWS がどのように協力して API 製品、コスト最適化、スケールメリットを利用してコネクテッドモビリティサービスをコモディティ化したかを学びました。詳細については、 WirelessCar まで お問い合わせ ください。AWS サービスの詳細については、 自動車向け AWS のページ をご覧ください。または、今すぐ AWS チームに お問い合わせ ください。 このブログは、ソリューションアーキテクトの丹羽と小野田が翻訳しました。 Sushant Dhamnekar Sushant Dhamnekar は AWS のシニアソリューションアーキテクトです。Sushant は、信頼できるアドバイザーとして、コネクテッドモビリティやソフトウェアデファインドビークルの分野で、拡張性、柔軟性、耐障害性に優れたクラウドアーキテクチャを構築する自動車業界のお客様を支援しています。仕事以外では、Sushantはハイキング、食事、旅行、HIT ワークアウトを楽しんでいます。 Tomas Carlfalk トーマスは、コネクテッドカーのパイオニアである WirelessCar の CTO であり、自動車メーカーと協力してデジタルトランスフォーメーション戦略を実現しています。スウェーデン西海岸のヨーテボリで生まれ育ったトーマスは、約20年前に WirelessCar のソフトウェア開発者として自動車業界でキャリアをスタートさせました。長年にわたり、さまざまな役職でコネクテッドカープログラムの立ち上げに携わってきたほか、 WirelessCar 全体のクラウド導入とサイバーセキュリティの取り組みを主導してきました。
最近は日本政府および多くの企業が「クラウド・ファースト」を宣言し、クラウドを最優先にシステム開発に取り組む事例が数多く出てきています。業界や規模を問わず多くの企業が、クラウド上でシステムを開発するプロジェクトに取り組んでいます。クラウドを活用する場合でも、プロジェクト管理のポイントは従来のプロジェクトと変わらず、PMBOK® Guide等のナレッジを最大限活用して進めることが重要です。一方で、クラウドの特性ゆえに陥りがちな問題もあり、回避策を知り正しく実践することでプロジェクトの成功率を高めることができます。 そこで、著者がカスタマーソリューションマネジャーとしてお客様を支援する中で得られた、クラウドを活用するプロジェクトを進める際の具体的な考慮点を、複数回に分けてお伝えいたします。初回となる本ブログでは、プロジェクトの立ち上げにフォーカスし、目標とするビジネス価値を明確にして関係者と合意することの重要性について記載します。クラウドを活用したプロジェクトの立ち上げをリードする方を主な読者と想定していますが、プロジェクトメンバとして実行に関わる方にも参考になる内容と考えています。 クラウドを活用するプロジェクトで起こりやすい問題 クラウドを活用するプロジェクトは「クラウドの活用」自体が目的となり、具体的なビジネス上の目標が不明確なまま開始されてしまうことがあります。それにより、以下のような問題が発生し、プロジェクトの減速・停滞につながってしまうケースが見られます。 想定外の問題が発生した時や、他の重要案件が発生した時にプロジェクトの優先度を正しく評価できず劣後・停滞してしまう システムのリリース後にコストの削減のみが注目され、「期待していた効果が出ていない」と評価される。またはそもそも効果の評価自体ができない状態となる このような状況を避けるためには、以下2点を注意してプロジェクトを立ち上げることが重要です。 考慮点① クラウド活用で得られる価値を正しく理解し、具体的なビジネス上の目標を設定する クラウドを活用することで得られる価値は多岐にわたります。以下にAWSがこれまで多数・多様なお客様のクラウド移行をご支援する経験に基づいて整理した、クラウドの活用により期待できる価値のフレームワーク( AWS Cloud Value Framework )を記載しています。もちろん実際に期待できる価値は各システムの特性や状況にもよりますが、システムの信頼性向上や俊敏性向上がコスト削減以上にビジネスに大きな価値をもたらすことも多くあります。 そのため、プロジェクト立ち上げの際に、これらを踏まえた広い視点で具体的なビジネス上の目標を定義し、検証できるよう準備をすることが非常に重要となります。そうすることで、想定外の問題が発生した時や、他の重要案件が発生した時に客観的な評価をすることが可能となり、プロジェクトの減速・停滞を防止することができます。また、システムリリース後に効果の計測・評価を適切に行うことも可能となります。 考慮点② ビジネス部門を含めたプロジェクトのステークホルダー全員で目標を合意する 具体的なビジネス上の目標を立てているものの、ステークホルダーの特定や重要度判断が不足することで、ビジネス部門との認識が合致していないケースが見られます。このような状態では、プロジェクトを進める中で、仕様変更の判断が正しくできない、テストや移行準備などで適切な協力が得られない、といった問題につながってしまいます。 そのため、設定した目標をプロジェクトのステークホルダー全体に共有し、合意しておくことが非常に重要です。プロジェクトマネージャーにはこの点を意識し、必要なコミュニケーションを丁寧に行うことが求められます。加えて、合意した内容は極力プロジェクト憲章等に文章化して残すことが推奨されます。それにより、認識相違の防止や、プロジェクトメンバへの共有の効果が高まります。 また、クラウド活用推進をミッションとした、ビジネス部門とIT部門が一体となった組織(CCoE:Cloud Center of Excellence)がプロジェクトの立ち上げを支援することも有効な方法となります。CCoEについてはその役割等を解説している ブログ を是非参考にしていただければと思います。 まとめ クラウド活用プロジェクトを成功に導くためには、プロジェクト立ち上げの時点で達成すべきビジネス価値を明確にし、関係者間で合意することが重要です。具体的には、以下の2点に注意しましょう。 クラウド活用の価値を広く理解し、具体的なプロジェクトの目標を設定する ビジネス部門を含めたステークホルダー全員で目標を合意する プロジェクト立ち上げ後の重要な考慮点については、次回以降のブログでお伝えいたしますので、そちらも是非ご覧ください。 参考リンク 第1回:プロジェクトの立ち上げ 第2回:柔軟なベースライン管理
第2回ではプロジェクトを成功させる3大要素である、スコープ、スケジュール、コストのベースラインに焦点を当てます。プロジェクトの成功に向けて成果物を明確に定義し、範囲を制御するスコープ管理、プロジェクトを所定の時期に完了するようマネジメントするスケジュール管理、プロジェクト予算内で運営するためのコスト管理は不可欠な管理領域です。これらの管理領域は密接に連携し、バランスを保ちながらプロジェクトを計画、実行し、監視する必要があります。また、開発アプローチについては、プロジェクトの要求事項や環境に応じて適切なアプローチ手法を選択する必要があります。本ブログでは、伝統的なウォーターフォール開発だけでなく、クラウドの特性を最大限に活用するために、アジャイル開発やハイブリッド開発などの柔軟な開発アプローチも考慮し、お客様へクラウド活用をご支援する中で得られた具体的な考慮点をご紹介します。 多様なサービスの活用や柔軟なスケーリングができるメリットを活かしたスコープ管理 スコープ管理はプロジェクトの範囲を明確に定義し、変更を管理する重要な要素です。クラウド導入プロジェクトにおけるスコープ管理では、以下の内容について考慮することが重要です。 柔軟なスコープ変更への対応 :クラウドの利点である多種多様なサービスを低コスト、短時間で利用できる特徴に注目し、ビジネスニーズや市場変化に適応するための柔軟なスコープ変更を可能にする対応策が求められます。これには、適切なスコープ変更プロセスの確立が必要であり、新しいサービスの追加や既存のサービスの削減などを戦略的かつ迅速に実現できるようになります。柔軟なスコープ変更は、競争力維持・向上やビジネスの成功に寄与し、クラウド導入プロジェクトの成果を最大限に活用する手段となります。 マネージドサービスの活用 : マネージドサービス を利用することで、スプリントごとにスコープ調整が行われる際などに、リソースの設定や運用、スケーリングにおいて柔軟性と効率性を提供することが可能になります。マネージドサービスは、セキュリティやパフォーマンスの向上を支援し、リソースの最適な利用を確保します。スコープの変更に伴う新たな要件に対応し、リソースを迅速かつ適切に調整する際に、貴重な時間とリソースを節約できます。これにより、システムやプロダクトの柔軟性を高め、効率性を向上させることが可能となります。 アジャイル開発およびPoCの早期実施を活用したスケジュール管理 スケジュール管理は、プロジェクトの進捗を計画し、タスクや活動を時間的に配置する重要な要素です。クラウド導入プロジェクトにおけるスケジュール管理では、以下の内容について考慮することが重要です。 アジャイル開発の活用 :クラウドは短期間で機能を構築できる特性を持ちます。開発手法としてウォーターフォール開発だけで進めるのではなく、 アジャイル開発 やハイブリッド開発を採用することで、スケジュールを柔軟に調整でき、ビジネス要件や市場の変化に素早く対応できます。アジャイルのイテレーションと迅速な反応性により、プロジェクトの進行状況を継続的に改善し、新たな要求事項を迎え入れる柔軟性が生まれます。これにより、プロジェクトの成功確率が向上し、リソースの最適活用とスケジュールの合理的な達成が実現できます。アジャイル開発は、クラウド導入プロジェクトの効果的なスケジュール管理はもちろんのこと、柔軟なベースライン管理全般に貢献します。 PoC(Proof of Concept)の早期実施 :クラウドの特性を活用し、実際の環境でのPoCは机上検証よりも有益です。早い段階で実環境を用いたPoCを行うことで、システムやアプリケーションの適合性やスケジュールの実現性をより早く、確実に確認できます。これにより、問題や課題を早期に発見し、修正できるため、プロジェクトの進行におけるリスクを最小化できます。PoCの早期実施は、クラウド導入プロジェクトの成功に向けたスケジュール管理戦略の重要な要素であり、計画の実現可能性を向上させます。 クラウドの特徴を活かす柔軟なコスト管理 コスト管理はプロジェクトにかかる費用が予算内に収まるよう効果的に管理する重要な要素です。クラウド導入プロジェクトにおけるコスト管理では、以下の内容について考慮することが重要です。 リソース配置の最適化と過剰なリソース割当の回避 :クラウドは必要なリソースを必要なタイミングで提供できる特性を備えています。このため、過剰なリソース割当を防ぐために、必要な時にのみリソースを起動し、利用しない時はリソースを停止するなど、クラウドの柔軟性を最大限に活用したコスト管理が肝要です。これにより、不必要なコストを削減し、プロジェクトのコスト効率を向上させることができます。また、リソースのモニタリングと適切なスケジュールの設定により、コストを最小限に抑えながら、プロジェクトの成功を支えることができます。 コストの柔軟な管理と関係者の合意 :クラウドを活用したプロジェクトでは、開発進捗、試行検証、仕様変更等によるコストの変動が予想されます。このため、厳密な予算遵守よりも柔軟なコスト管理が必要です。状況に応じて予算を調整し、 コスト最適化 に向けて、事前に関係者との合意を得ることが重要です。合意を得ることで、プロジェクトの進行への影響を回避するために、予算変更やリソースの調整がスムーズに実施できます。この柔軟なアプローチは、クラウド導入プロジェクトにおいて予測困難な状況に、迅速に対処するための重要な手段であり、関係者の協力と合意を得ることで、コスト管理の効果を高めます。 まとめ クラウド導入プロジェクトにおいて、クラウド活用の真価である価値創造により集中するために、柔軟なスコープ変更に対応可能なコスト管理、アジャイル開発やPoC等を積極的に活用したスケジュール管理、リソースの最適配置による柔軟なコスト管理を含んだ、柔軟なベースライン管理が重要です。これらの要素は、プロジェクトの効率化と成功に焦点を当て、価値を最大化します。本ブログで整理した考慮点を参考に、クラウド導入プロジェクトの成功につなげていただければ幸いです。 参考リンク 第1回:プロジェクトの立ち上げ 第2回:柔軟なベースライン管理
この記事は Serverless containers at AWS re:Invent 2023 (記事公開日: 2023 年 11 月 9 日) を翻訳したものです。 AWS re:Invent は、AWS によるクラウドコンピューティングに関する世界規模の「学習型」カンファレンスです。今年は、 Amazon Elastic Container Service (Amazon ECS) と AWS Fargate のサービスチームが、生産性の向上、コストの最適化、ビジネスの俊敏性の向上に役立つベストプラクティスやヒントを共有します。ぜひ 11 月 27 日から 12 月 1 日まで (PST: 米国太平洋標準時)、ラスベガスにてご参加ください。 Expo ホール の Amazon ECS キオスクまたは AWS モダンアプリケーションとオープンソースゾーン にいらしてください。AWS でのモダンアプリケーションの構築についてエキスパートに質問したり、デモンストレーションを見たり、またオープンソースチームと会うことができます。ぜひお立ち寄りいただき、挨拶を交わし、楽しんで、おやつを食べて、クレーンゲームマシンから賞品を獲得しましょう! 参加型セッション 例年同様、カンファレンスではさまざまな形式でのセッションが提供されます。 ブレイクアウトセッション:AWS のエキスパート、開発者、お客様による講義形式のプレゼンテーションです。 ワークショップ:新しいテクノロジーを学ぶのに役立つハンズオン形式での学習セッションです。参加には自身のラップトップを持参してください。 チョークトーク:さまざまなトピックのエキスパートによる対話形式のセッションです。ぜひ自分の経験やフィードバックを共有してください。 開発者向けセッション:AWS のエキスパートが主導する小規模なセッションで、自身のラップトップでプロジェクトを構築します。 ブレイクアウトセッション CON205 | Amazon ECS でビジネスアプリケーションを強化しよう 11 月 28 日 (火) 9:00 am JST | (Nov 27, 4:00 pm PST, Caesars Forum, Level 1, Summit 214) Amazon ECS はフルマネージドのコンテナオーケストレーションサービスで、安全性、信頼性、拡張性に優れたコンテナをよりシンプルに実行できます。Amazon ECS の GM であるNick Coult が、重要なビジネスアプリケーションを Amazon ECS を使用することでどのように強化できるかについて説明します。Amazon ECS と AWS Fargate の最新の進歩について学び、モダナイゼーションの目標をより迅速に達成するのにお役立てください。また、ユナイテッド航空が Amazon ECS を使用してどのようにモノリシックなアプリケーションをマイクロサービスに移行し、アプリケーションをモダナイズして目覚ましい成果を上げたかをご覧ください。 CON320 | AWS のサーバーレスサービスで未来を構築する 11 月 30 日 (木) 6:00 am JST | (Nov 29, 1:00 pm PST, Wynn, Level 1, Lafite 4) AWS のサーバーレスサービスは、企業がアイデアを本番環境に出すまでの道のりを短縮し、最新のアプリケーションを大規模に構築して実行できるようにすると同時に、コストを削減して俊敏性を高めるのに役立ちます。企業がビジネスで優れた成果を達成するのを支援するために、AWS がサーバーレスコンピューティングとコンテナで行っているイノベーションについて AWS のサーバーレスコンピューティングのバイスプレジデントである Holly Mesrobian が話します。 AWS Lambda 、 Amazon EventBridge 、 AWS Step Functions 、Amazon ECS on AWS Fargate などにおける新たな進歩や最近のリリースについて学んでください。企業が AWS の運用上の優位性を活用して、近代化の目標をより迅速に達成できる方法を学びましょう CON209 | AWS App Runnerによるコストとパフォーマンスの最適化 12 月 1日 (金) 09:00 am JST | (Nov 30, 4:00 pm PST, Wynn, Level 1, Lafite 9) コンピューティングコストは、企業がワークロードをどこにどのようにデプロイするかを評価する一般的な検討項目です。このセッションでは、 AWS App Runner のフルマネージド機能を使用して、総所有コストを削減し、アプリケーションの俊敏性を向上させる方法を紹介します。このセッションでは、自動スケーリング、継続的デプロイ、マネージドランタイムバージョンについて説明します。AWS App Runner が行うコードからのデプロイや、インフラストラクチャの管理、オーバーヘッドの削減方法の具体例をご覧ください。さらに、AWS App Runner によるパフォーマンスチューニングに関するエキスパートのガイダンスを受けて、アプリケーションの効率的な実行を支援します。 CON303 | サーバーレスコンテナを使用した生成系 AI アプリを大規模かつ効率的にデプロイ 11 月28 日(火) 10:30 am JST | (Nov 27, 5:30 pm PST, Caesars Forum, Level 1, Forum 113) さまざまなビジネスユースケースの課題を解決するために、LLM モデルの導入を検討する企業が増えています。このセッションでは Amazon ECS on AWS Fargate での CPU 推論、Amazon ECS on Amazon Elastic Compute Cloud (Amazon EC2) での GPU と Inf1 による高速推論、および関連するストレージとネットワーキングのオプションなど、Amazon ECS を使用して LLM モデルをデプロイするのに役立つさまざまなインフラストラクチャオプションと統合について説明します。 CON307 | コンテナイメージの遅延読み込みによる AWS Fargate の起動時間の短縮 11 月 29 日(水) 4:00 am JST | (Nov 28, 11:00 am PST, Mandalay Bay, Level 3, South, Jasmine H) このセッションでは、Seekable OCI (SOCI) について Dive Deep します。AWS Fargate で SOCI インデックスを使用することで、Amazon ECS タスクの起動にかかる時間を大幅に短縮する方法をご覧ください。SOCI のベストプラクティスについて学び、適切なワークロードに SOCI を利用する方法を学び、既存の OCI コンテナイメージの SOCI インデックス作成を自動化するさまざまな方法を検討します。 CON313 | Amazon ECS と AWS Fargate へのマルチテナント SaaS アプリケーションのデプロイ 11 月 28 日 (火) 07:30 am JST | (Nov 27, 2:30 pm PST, Caesars Forum, Level 1, Forum 121) Amazon ECS で SaaS ソリューションを構築する傾向が高まっています。マルチテナントの SaaS アプリケーションを開発する際には、テナントの分離、テナントのオンボーディング、テナント固有のメータリング、監視、その他 SaaS に必要な側面など、複数の問題に対処する必要があります。このセッションでは、AWS Fargate にソリューションをデプロイする際にマルチテナントをどのように管理するかを探ります。 CON315 | Data-Aware アプリケーションを大規模に展開するためのストレージオプションの進歩 12 月 1 日 (金) 07:00 am JST | (Nov 30, 2:00 pm PST, MGM Grand, Level 1, Grand 120) 企業がコンピューティングにコンテナを幅広く採用しようとしている中、ビッグデータや ETL ジョブなどの一部のワークロードでは、既存のデータを取得して処理を実行し、処理されたデータをダウンストリームで使用できるように保存する必要があります。コンピューティング効率を最大化するために、これらのワークロードには大量のトランザクションとスループットをサポートするストレージが必要です。このセッションでは、基盤となるストレージの管理について心配することなく、データ処理とストレージを大量に消費するワークロードを大規模に実行する方法を詳しく見ていきます。 CON318 | 効率性の向上: AWS Fargate で 70% のコスト削減を実現する方法 11 月 29 日 (水) 07:30 am JST | (Nov 28, 2:30 pm PST, Mandalay Bay, Level 3, South, South Seas E) このセッションでは、大手エンタープライズ SaaS 企業が AWS Fargate と AWS Graviton を使用して、データ集約型のグリッドサービスをどのように変革したかをご覧ください。6 か月以内に 70% のコスト削減を実現し、ピーク時のトラフィックを 1,000 RPS から 50,000 RPS に増やしました。また AWS CodePipeline を使用して、デプロイ速度を週 1 回から毎日 2 回に増やした方法をご覧ください。拡張性と効率を向上させるためのセルベースのアーキテクチャ戦略をご覧ください。 CON322 | AWS Fargate への移行による TCO とダウンタイムの削減 11 月 30 日(木) 10:30 am JST | (Nov 29, 5:30 pm PST, Wynn, Level 1, Lafite 4) 大規模な金融サービス企業を含む多くの企業が、大規模なアプリケーションのモダナイゼーションを通じてクラウド対応のイノベーションの真っ只中にいます。これらの企業は、アプリケーションの拡張性、セキュリティ、運用効率を犠牲にすることなく、総所有コスト (TCO) を削減したいと考えていることがよくあります。このセッションでは、複雑な組織が段階的にサーバーレスコンテナに移行し、コスト負担を徐々に軽減するために利用したさまざまな方法 (AWS Fargate など) について説明します。規制の厳しい環境で全体的なコストを削減するために使用できるアーキテクチャ上の重要な決定事項とベストプラクティスについて説明します。 CON325|Amazon ECS と AWS Fargateでコンテナ化されたワークロードを保護する 12 月 01 日 (金) 04:30 am JST | (Nov 30, 11:30 am PST, Wynn, Level 1, Lafleur 2) この本セッションでは、Amazon ECS と AWSクラウドの統合、AWS のセキュリティサービスの利用、AWS Fargate のシングルテナンシーアーキテクチャのメリットなど、コンテナ化されたワークロードを安全に実行するための概要を説明します。AWS Fargate のセキュリティに関する考慮事項に Dive Deep し、AWS Fargate の最新機能を使用して潜在的な脅威やイベントに対するセキュリティ体制を改善する方法を見つけてください。 CON401 | Amazon ECS のレジリエンスと可用性を深く掘り下げる 11 月 30 日 (木) 02:30 am JST | (Nov 29, 9:30 am PST, Mandalay Bay, Level 1, North, Islander G) すべてのアプリケーションのアーキテクチャは、基盤となるインフラストラクチャに依存しています。多くのアプリケーションアーキテクチャの基盤として Amazon ECS が選択されています。Amazon ECS がどのように構築されているか知っていますか? サービスを構築する際には、どのような設計上の考慮事項が必要ですか? Amazon ECS はシステム停止を最小限に抑えるのにどのように役立ちますか? このセッションでは、耐障害性と信頼性の高いアプリケーションをクラウドで実行するための要件に Amazon ECS がどのように対応できるかを学びます。Amazon ECS サービスのアーキテクチャ、設計、オペレーション方法が、アプリケーションの安全で回復力のある基盤をどのように提供しているかについて Dive Deep します。 ENT212 | Carrier Global が AWS 上の Windows コンテナで 40% の節約を実現した方法 12 月 1 日(金) 05:30 am JST | (Nov 30, 12:30 pm PST, MGM Grand, Level 3, Chairmans 370) このセッションでは、Carrier Global が AWS テクノロジーを使用して、レガシーな .NET コードをリファクタリングなしで最新のイベント駆動型アプリケーションに変換した方法について学びます。Amazon ECS 上の Windows コンテナを使用してアーキテクチャの最新化を実現し、機能提供の俊敏性を向上させた方法をご覧ください。また、Carrier Global がさまざまな AWS のサービスと機能を使用して Windows アプリケーションの実行コストを 40% 削減し、スケーリングのパフォーマンスを 70% 向上させた方法についても説明します。 チョークトーク (対話型セッション) CON314 | Amazon ECS によるモダンアプリケーション開発の高速化 11 月 29 日 (水) 07:30 am JST | 12 月 2日 (土) 03:30 am JST | (Nov 28, 2:30 pm PST, MGM Grand, Level 3, 301 | Dec 1, 10:30 am PST, Caesars Forum, Level 1, Forum 126) ベストプラクティスに基づいてアーキテクチャを構築することで、企業はパフォーマンスが高く、コスト効率が高く、安全なアプリケーションを構築できます。このチョークトークでは、 AWS Well-Architected Tool Framework に基づいた Amazon ECS のベストプラクティスについての洞察を提供します。Framework の各柱の重要なベストプラクティスを確認した後、ホワイトボードの例を通じて、これらのベストプラクティスが実際に Amazon ECS ワークロードにどのように適用されているかを確認してください。 CON316 | Amazon ECS オートスケーリング Deep Dive 11 月 28 日 (火) 07:30 am JST | 11 月 30 日 (木) 12:00 pm JST | (Nov 27, 2:30 pm PST, Caesars Forum, Level 1, Forum 104 | Nov 29, 7:00 pm PST, Caesars Forum, Level 1, Forum 123) オートスケーリングは、Amazon ECS サービス内の必要なタスク数を自動的に増減する機能を提供する Amazon ECS の強力な機能です。このチョークトークでは、キャパシティプロバイダーなどの Amazon ECS のオートスケーリングメカニズムと、Amazon EC2 と AWS Fargate を対象とした、ターゲット追跡ポリシーやステップスケーリングポリシーを含む Amazon ECS サービスのオートスケーリング について学びます。さまざまなワークロードに特化したさまざまなメトリクスを使用して、Amazon ECS のオートスケーリングオプションを指定する実際の使用例について説明します。 CON317 | Amazon ECS ネットワーキング Deep Dive 11 月 30 日 (木) 05:00 am JST | (Nov 29, 12:00 pm PST, MGM Grand, Level 3, Premier 320) このチョークトークでは、さまざまなネットワークモードや、Amazon ECS Service Connect と Amazon ECS サービスディスカバリーを使用した Amazon ECS サービス間のネットワーキングなど、Amazon ECS のネットワークメカニズムについて Dive Deep します。 Amazon ECS on Amazon EC2 と Amazon ECS on AWS Fargate を使用した ENI トランキングと、セカンダリ CIDR を使用した IP 枯渇のような実際のユースケースと一般的な問題、およびそれを解決するさまざまな方法を聞くことができます。この講演では、AWS PrivateLink を使用した接続の実装とその利点についても説明します。 CON319 | AWS Fargate と AWS Lambda による生成系 AI のデータパイプラインの構築 11 月 30 日 (木) 03:00 am JST | (Nov 29, 10:00 am PST, MGM Grand, Level 3, 304) 生成系 AI アプリケーションの人気が高まるにつれ、リアルタイムデータとスケーラブルな計算能力が基盤モデルの構築の中核となり、さまざまな業界のビジネスの急速な発展を後押ししています。このチョークトークでは、特にコンテナ、サーバーレス、統合されたサービスにおけるデータとコンピューティングに焦点を当てています。次世代アプリケーションを構築するためのユースケースとサーバーレスおよびコンテナサービスの効果的な活用方法を探ります。実際のユースケースについて聞き、イベント駆動型アーキテクチャやサーバーレスストリーム処理などのさまざまなパターンと、 Amazon EMR がどのようにアプリケーションの操作を大幅に簡素化および自動化できるかを確認してください。 CON321 | コンテナ化されたワークロードを AWS Fargate に移行する 11 月 29 日 (水) 06:00 am JST | (Nov 28, 1:00 pm PST, Caesars Forum, Level 1, Summit 221) AWS Fargate は、企業がコンテナワークロードのデプロイとモニタリングのオペレーション負担を軽減し、アプリケーションの構築とビジネスの運営に集中できるようにします。このチョークトークでは、Amazon EC2 から Amazon ECS 上で稼働する AWS Fargate サーバーレスコンピューティングにワークロードを移行する際の設計上の考慮事項について説明します。 CON323 | AWS Fargate サーバーレスアプリケーションのオブザーバビリティの実装 11 月 29 日 (水) 09:00 am JST | (Nov 28, 4:00 pm PST, MGM Grand, Level 3, Premier 320) AWS Fargate でコンテナ化されたワークロードが拡張するにつれて、効果的なオブザーバビリティを維持することはますます困難になっています。このチョークトークでは、AWS Fargate へのデプロイでオブザーバビリティをスケーリングするための戦略とベストプラクティスを検討します。メトリクスの収集、ログの集約、分析の最適化など、モニタリングとロギングを大規模に管理する方法をご紹介します。コンテナ中心のモニタリング手法、効率的なログ管理、および Amazon CloudWatch Logs、AWS Lambda、 AWS Glue などの AWS サービスの活用方法について詳しく説明します。 CON336 | AWS App Runner を使用して、ゼロから本番環境にアプリケーションを数分で作成する 12 月 1日 (金) 08:30 am JST | (Nov 30, 3:30 pm PST, Mandalay Bay, Level 1, North, South Pacific D) AWS App Runner を利用し、既存のアプリケーションを本番環境へ数分で変換する方法をご紹介します。このチョークトークでは、デプロイメント戦略、ネットワーク管理、秘密情報と設定の安全な取り扱いにおけるベストプラクティスを順守しながら、コンテナ化とデプロイのシームレスなプロセスをガイドします。AWS App Runner によって、アプリケーションを簡単に最新化し、AWS クラウドインフラストラクチャの潜在能力を最大限に活用して、市場投入までの時間と運用のオーバーヘッドを削減する方法をご覧ください。AWS App Runner を活用して、ゼロから本番環境に対応したアプリケーションへの移行を加速させましょう。 CON407 | Amazon ECS サービスのデプロイのベストプラクティス 11 月 29 日 (水) 06:00 am JST | (Nov 28, 1:00 pm PST, Caesars Forum, Level 1, Academy 411) Amazon ECS サービスを使用して、アプリケーションをコンテナ化されたマイクロサービスとして実行する組織が増えています。このチョークトークでは、Amazon ECS を使用して新しいアプリケーションバージョンを安全かつ迅速にロールアウトするためのベストプラクティスを共有することに重点を置いています。説明には、Amazon ECS のデプロイに使用できるさまざまなツール ( AWS CloudFormation 、AWS CDK、Terraform、AWS コマンドラインインターフェイス ( AWS CLI )、 AWS マネジメントコンソール など) と、アプリケーションのタイプ (負荷分散型またはイベント駆動型) とインフラストラクチャプロバイダー (Amazon EC2 または AWS Fargate) に応じて使用できる保護手段のベストプラクティスが含まれます。 CON408 | Amazon ECS と AWS Fargate を使用してワークロードのスピードとコストの最適化 11 月 29 日 (水) 10:30 am JST | 11 月 30 日 (木) 09:30 am JST | (Nov 28, 5:30 pm PST, Wynn, Level 1, Latour 5 | Nov 29, 4:30 pm PST, Wynn, Level 1, Montrachet 1) AWS Fargate は世界中のミッションクリティカルなワークロードの実行基盤として信頼され、サーバーレスコンテナワークロードの最適化とチューニングに役立つさまざまな機能を提供しています。このチョークトークに参加して、SOCI によるイメージの遅延読み込み、 AWS Compute Optimizer によるコンテナの適切なサイズ設定、代替圧縮メカニズム ZSTD の使用などの新機能の使用方法を聞いてください。 ワークショップ CON201 | Amazon ECS と AWS Fargate で生成系 AI の可能性を解き放とう 11 月 30 日 (木) 08:00 am JST | (Nov 29, 3:00 pm PST, MGM Grand, Level 3, Premier 311) 生成系 AI は、デジタルビジネスのさまざまな側面に影響を与える可能性があります。このワークショップでは、AWS の生成系 AI サービスとサーバーレスコンテナサービスの力を組み合わせて、サンプルアプリケーションをゼロから構築する方法を学びます。このワークショップで学習したアプローチは、例えばアプリケーションログ、ドキュメント、顧客メモなど、さまざまな非構造化データにインテリジェントな検索および検出機能を追加するために使用できます。参加には自身のラップトップを持参する必要があります。 CON202 | AWS Fargate と Amazon EC2: どちらの起動タイプを使用すべきですか? 11 月 28 日 (火) 10:00 am JST | 11 月 30 日 (木) 05:00 am JST | 12 月 1 日 (金) 4:30 am JST | (Nov 27, 5:00 pm PST, MGM – Grand 117 | Nov 29, 12:00 pm PST, Venetian, Level 3, Lido 3006 | Nov 30, 11:30 am, Mandalay Bay, Breakers I) 多くの企業が AWS Fargate を選ぶ理由は、Amazon EC2 インスタンスを管理するための運用上のオーバーヘッドを取り除くことができることや、そのシンプルさと使いやすさにあります。ただし、AWS Fargate への移行がワークロードにどのように影響するかを尋ねるユーザーもいます。このワークショップでは、Amazon EC2 の CPU、メモリリクエスト、制限の設定を AWS Fargate と比較して調べ、ワークロードに適した起動タイプを決定するのに役立ちます。ワークロードが要求されたリソースの外部で動作する場合の動作の違いについて説明します。合成負荷生成を通じて実際のアプリケーションの動作をシミュレートすることで、さらに深く掘り下げることができます。参加には自身のラップトップを持参する必要があります。 CON304 | Amazon ECS と AWS Fargate のサービスディスカバリーオプションについて 11 月 28 日 (火) 07:00 am JST | (Nov 27, 2:00 pm, Wynn, Upper Level, Cristal 1) サービスディスカバリは AWS Fargate 上で、回復力があるスケーラブルなマイクロサービスを構築する上で重要な役割を果たします。Amazon ECS on AWS Fargate には複数のサービスディスカバリのオプションがあり、それぞれに独自の機能とトレードオフがあります。このワークショップでは、利用可能なさまざまなサービスディスカバリのオプションについて詳しく説明します。これらのオプションを比較し、意思決定に必要な情報を提供します。Amazon ECS Service Connect、 AWS Cloud Map 、 Application Load Balancer について、それぞれの利点、制限、ユースケースを検討します。実践的な例とベストプラクティスを通じて、さまざまなサービスディスカバリのオプションが、ダイナミックでコンテナ化された環境の管理をどのように簡素化するかを学びます。参加には自身のラップトップを持参する必要があります。 CON403 | Amazon ECS でコンテナイメージの遅延読み込みを実現する Seekable OCI (SOCI) 11 月 29 日 (水) 07:00 am JST | (Nov 28, 2:00 pm PST, MGM Grand, Level 1, Grand 123) Seekable OCI (SOCI) は、AWS がオープンソースで提供しているテクノロジーです。コンテナイメージのロードを遅延させることでコンテナをより高速に起動できるようにします。このワークショップでは、SOCI を実際に体験します。既存のコンテナイメージの SOCI インデックスを作成する方法と、AWS 上ででインデックス生成を自動化する方法について説明します。次に Amazon ECS on AWS Fargate にワークロードをデプロイする方法を学びます。コンテナイメージを遅延ロードすることで、起動時間がどのように短縮されるかを体験してください。参加には自身のラップトップを持参する必要があります。 開発者向けセッション CON301 | Amazon ECS でコストを最適化したワークロードを構築 11 月 28 日 (火) 07:30 am JST | 11 月 30 日 (木) 03:30 am JST | 12 月 01 日 (金) 06:00 am JST | 12 月 01 日 (金) 08:30 am JST | (Nov 27, 2:30 pm PST, Caesars Forum, Level 1, Alliance 315 | Nov 29, 10:30 am PST , Caesars Forum, Level 1, Alliance 311 | Nov 30, 1:00 pm PST, MGM, 350 | Nov 30, 3:30 pm PST, MGM, 353) コストの最適化はワークロードの設計や改善を行う際の重要な考慮事項です。このセッションでは Amazon ECS での請求をきめ細かく可視化し、適切なサイズのワークロードの実現を目指します。オートスケーリング、AWS Graviton、スポットインスタンスを使用してコストをさらに最適化する方法を探ります。このセッションは Amazon ECS への移行を始めたばかりの企業だけでなく、すでに本番レベルで Amazon ECS ワークロードを利用している企業にも適用できます。これらの概念をワークロードに適用できるようにすることを目的としたハンズオンセッションです。参加には自身のラップトップを持参する必要があります。 CON324 | Amazon ECS ワークロードでのデータ保護とコンプライアンス設計 11 月 28 日 (火) 07:30 am JST | 11 月 29 日 (水) 08:30 am JST | 11 月 30 日 (木) 09:30 am JST | 12 月 2 日 (土) 02:00 am JST | (Nov 27, 2:30 pm PST , MGM Grand, Level 1, Terrace 151 | Nov 28, 3:30 pm PST, Mandalay Bay, Surf A | Nov 29, 4:30 pm PST, Wynn, Level 1, Latour 7 | Dec 1, 9:00 am, Caesars Forum, Level 1, Academy 416) コンテナ化されたワークロードを実行している多くの企業は、保護対象の医療情報 (PHI) データを保護するための HIPAA プライバシー、およびセキュリティルールに関連するものを含む厳格なデータ保護およびコンプライアンス要件を満たしていることを確認する必要があります。このセッションでは Amazon ECS やその他の AWS サービスを使用して、 PHI を含むコンテナアプリケーションを実行する方法に焦点を当てます。Amazon ECS、Amazon ECR、AWS Fargate、 Amazon GuardDuty に関するベストプラクティスを学びましょう。参加には自身のラップトップを持参する必要があります。 直接参加できない場合は、基調講演とリーダーシップセッションのライブストリームに参加できます。 イベントに登録 して、バーチャル参加専用パスを選択できます。ブレイクアウトセッションは、イベント終了後に YouTube チャンネルで視聴できます。 これらのセッションの詳細や、AWS のエキスパートとのディスカッションに興味がある場合は、AWS 担当者にお問い合わせください。 re:Invent 2023でお会いできるのを楽しみにしています!その他の学習リソースについては、 Amazon ECS にアクセスしてください。 翻訳はソリューションアーキテクトの加治が担当しました。原文は こちら です。
このブログは Kumar Kumaraguruparan による “ Learn to build, train, and iterate machine learning models faster with new AWS course ” を翻訳+加筆修正したものです。 機械学習(Machine Learning: ML)が、潜在的な COVID ワクチン候補の数を数万から 26 に減らす上で重要な役割を果たしたことをご存知ですか ( PMC )? ML によって生産性が向上することで、COVID ワクチンの開発においては多くの人々の命を救いました。 AWS クラウドでMLモデル構築のパフォーマンスを向上 パブリッククラウドにおける非構造化データ分析およびデータ管理市場は、2021年から2025年の間に41.9%の CAGR(年平均成長率)で成長すると予想されています ( IDC )。データは ML モデルを構築・チューニングするために必要です。ML モデル構築作業をクラウドに移行してデータの移動を減らすことで、モデル開発のスピードアップが期待できます。データや分析のワークロードがすでに AWS にある場合や、AWS クラウドサービスを検討している場合は、ML ワークロードを AWS クラウドに統合することでモデル構築のパフォーマンスを向上させることができます。 Amazon SageMaker Studio について Amazon SageMaker Studio は ML 専用の統合開発環境 (IDE) です。SageMaker Studio は、データの準備から、ML モデルのデプロイと監視まで、ML 開発のすべてのステップを実行でき、Web ベースのビジュアルインターフェイスで包括的なツールセットにアクセスできます。 2020 年の Anaconda 社によるデータサイエンスに関する調査 ( Anaconda Survey ) によると、回答者は仕事の時間の 66% がデータの読み込み、クレンジング、可視化に費やされていると答えています。データが指数関数的に増加し続ける中、データをより迅速に変換、分析、可視化するツールがさらに重要になっています。 SageMaker Studio と統合された SageMaker Data Wrangler では、300 種類以上の組み込み関数が利用でき、データ変換時間の短縮と、データに関するインサイトの生成を支援します。SageMaker Studio は、Amazon EMR クラスター上で実行されている Apache Spark と Studio ノートブックの統合による、大規模なデータ処理もサポートしています。また、AWS Glue Interactive Sessions が管理するサーバーレスの Apache Spark ランタイム環境を使用して、Studio ノートブックから、大規模データをインタラクティブに処理することもできます。 SageMaker Studio は、SageMaker Debugger によるモデルのデバッグとプロファイリングに役立つだけでなく、実験やトライアルに関連する詳細を自動的に追跡してグラフ化することで、データサイエンティストの生産性を向上させます。SageMaker Clarify を使用すると、データサイエンティストはデータやモデルのバイアスを特定し、特定の予測の理由(説明可能性)についてのインサイトを得ることができます。 これらの機能を活用するために必要なスキルを身に付けることは、オンプレミスの機械学習から AWS クラウドに移行する企業や、SageMaker を使用してクラウドネイティブソリューションを構築する企業にとって重要です。 3 日間の新クラスルームコースについて 「Amazon SageMaker Studio for Data Scientist」  は上級レベルの 3 日間のコースで、専門の AWS インストラクターと一緒にSageMaker Studio を使用して ML モデルをより迅速に構築、トレーニング、反復する方法を学習します。 トレーニングでは、ML タスクの時間を節約する 5 つの主要スキルを学ぶことができます。 SageMaker Data Wrangler の組み込み変換を使用して特徴量エンジニアリングを行い、SageMaker Feature Store を使用してそれらの特徴量を共有する方法 組み込みアルゴリズム、SageMaker AutoPilot、SageMaker Debugger、自動モデルチューニングを使用してモデルをより速く構築する方法 SageMaker Experiments を使用してモデルトレーニングに関連するさまざまなトライアルのパフォーマンスを比較し、SageMaker モデルレジストリでトラックする方法 SageMaker Clarify を使用してデータとモデル内のバイアスを特定する方法 SageMaker Pipelines を使用してモデル構築ワークフローを自動化する方法 このコースは、特徴量エンジニアリングからモデル構築、トレーニング、チューニング、そしてデプロイ、推論、モニタリングへと続く ML ライフサイクルをたどります。10 個のラボを通して、Amazon SageMaker Studio の 8 つの主要な機能について学びます。 さらに、AWS インストラクターのインタラクティブなセッションでは、SageMaker Studio ユーザーインターフェイス、SageMaker AutoPilot、および SageMaker Model Monitor などについても説明します。最後に、SageMaker Python SDK と SageMaker Studio についての理解度をテストするための 7 つのチャレンジを含んだハンズオンラボが用意されています。各課題の難易度を、ヒントなし、ヒントのみ、または詳細なガイド付きから選択できます。 このコースを最大限に活用するには、学習者に 1 年以上の ML の経験と Amazon SageMaker に関する基礎知識と、AWS の基礎知識があることをお勧めします。AWS Technical Essentials コースを修了することで、AWS の基礎知識の要件を満たすことができます。 ML の経験や Amazon SageMaker に関する基礎知識がない方は、事前に中級レベルの機械学習関連のコースを修了することもお勧めです。 中級レベルの機械学習関連コース The Machine Learning Pipeline on AWS このコースでは、機械学習 (ML) パイプラインを使用して、ビジネス上の問題を解決する方法を学びます。4日間のトレーニングは、機械学習の種類や、モデル・特徴量・アルゴリズムといった機械学習の基本の解説から始まり、問題の定式化、データの前処理、モデルトレーニングなどの機械学習パイプラインの各フェーズで発生するタスクと、タスクを実行するための Amazon SageMaker の機能を学ぶことができます。機械学習入門者や、Amazon SageMaker について詳しく学びたい方にお勧めのトレーニングです。本コースを受講することで、新コースの受講前提である ML の経験や Amazon SageMaker に関する基礎知識の習得が可能です。 Practical Data Science with Amazon SageMaker このコースは、顧客の解約を予測するというユースケースを題材に、Amazon SageMaker を使用したモデル構築、トレーニング、チューニング、およびデプロイの実践方法をハンズオン形式で学習します。コースの期間は1日で、既に機械学習の知識があり、Amazon SageMaker の機能を体験したい方や、機械学習モデルの開発を短時間で体験してみたい方にお勧めです。新コース受講の前提知識である SageMaker の基礎知識の習得にもお勧めです。 MLOps Engineering on AWS このコースは DevOps のプラクティスを機械学習に適用し、モデルの構築、トレーニング、およびデプロイを迅速化・効率化する方法を学習します。コースの期間は3日間です。新コースと比較すると、このコースの目標は MLOps に特化しており、MLOps が必要になる背景やメリットといった観点から、MLOps の組織・プラクティス・ツールに関するベストプラクティスをについて詳しく学ぶことができます。このコースには、オープンソースを含めた、複数の MLOps 自動化ソリューションについての比較も含まれています。 コース開催予定 本ブログの中で紹介している新コース「 Amazon SageMaker Studio for Data Scientists 」は、2024年2月から日本語クラスも提供開始予定です。Amazon SageMaker Studio を活用して、データサイエンスタスクの生産性を向上させる方法に興味がある方は、ぜひご受講を検討いただければと思います。AWS Training & Certification で開催日の検索とお申し込みが可能です ( 今後のコースの開催予定の検索 )。コースの期間は3日間、直近の開催は2024年2月、5 月で下記リンクからお申込みいただけます。お待ちしております。 2024/02/26 – 2024/02/28 2024/05/28 – 2024/05/30 この記事の執筆および翻訳は Technical Instructor の佐中晋が担当しました。
近年、世界中の機関や組織がランサムウェア攻撃の被害を受けています。医療機関も例外ではなく、ランサムウェアを用いた攻撃の標的となることがしばしばあります。 本ブログでは、医療機関でも被害が増えているランサムウェアとその被害からの復旧における重要な指標、バックアップを活用したデータ保護についてご紹介します。また、その中でバックアップや復旧において、ご活用いただける AWS のサービスや機能についてご紹介します。 ランサムウェアについて ランサムウェアとは、ビジネスに不可欠なデータへ不正にアクセスし、データの暗号化やアクセス遮断を行い、身代金を要求するようなマルウェアの一種です。 昨今では様々なタイプのランサムウェアが出てきており、ファイルを暗号化するだけでなくデバイス自体を暗号化するなど、ランサムウェアは継続的に変化する脅威として知られています。 デバイスやファイルを不正にロックされることにより、被害者はそれらのリソースへのアクセスが遮断されてしまいます。医療機関の場合、患者の診察履歴や投薬の記録といった、ミッションクリティカルなデータへのアクセスができなくなります。そのため、医療機関は、サイバー攻撃に備えた事業継続計画の策定が急務となっています。 また、攻撃者に対して身代金を支払う行為は、必ずしもデータが回復するとは限らず、攻撃者に対する支援につながるため、決して行ってはいけません。 ガイドラインに則ったソリューション構築におけるポイント整理 医療機関では電子カルテをはじめ、診療報酬請求のためのレセプトコンピューター、PACS (医用画像管理システム)、各種部門システム等多くの医療情報システムが稼働しています。日本におけるすべての医療行為は医療法等で医療機関等の管理者の責任で行うことが求められています。クラウドサービスを利用する場合も、医療情報システムの構築や運用に関連して、安全かつ適切な技術的及び運用管理方法を確立し、安全管理や e-文書法の要件等への対応を行っていく必要があります。具体的には 3 省 2 ガイドラインと称される、厚生労働省、総務省、経済産業省の 3 省が定めた医療情報システムに関する各ガイドラインに対して、関連事業者や責任者が要求事項を整理検討し、必要に応じて対策を施す必要があります。 医療機関及び医療情報システム事業者における 3 省 2 ガイドラインの位置付けについては、 医療情報ガイドラインの改定から読み解くクラウド化 | Amazon Web Services ブログ にて解説を行なっております。 医療情報の電子保存における要求事項の 3 基準 厚生労働省のガイドラインに記載されている医療情報の電子保存における要求事項の 3 基準には、「真正性」「見読性」「保存性」の 3 つがあります。各基準は以下のように定義されています。電子カルテのような医療情報を扱うシステムは、これらも考慮する必要があります。 真正性: 正当な権限で作成された記録に対し、虚偽入力、書き換え、消去及び混同が防止されており、かつ、第三者から見て作成の責任の所在が明確であること。 見読性 : 電子媒体に保存された対象を、「診療」「患者への説明」「監査」「訴訟」などの要求に応じて、それぞれの目的に対し支障のない応答時間やスループット、肉眼で見読可能な状態にできること。 保存性 : 記録された情報が法令などで定められた期間にわたって真正性を保ち、見読可能にできる状態で保存されること。 復旧における重要な指標 データの復旧には、目標復旧時点 (RPO) と目標復旧時間 (RTO) という 2 つの重要な指標が存在します。 RPO: データを過去のどの時点まで復旧させる必要があるかという指標です。例えば、ランサムウェアの被害においては、データの損失をどれだけ許容できるかに関連があります。 RTO: どれだけの時間で復旧を完了させるかを示す指標です。システムの停止時間やダウンタイムと関連があります。 バックアップ取得対象とするシステムの RPO や RTO を確認し、適切なバックアップ頻度で適切な復旧環境を検討できているかについて確認することが重要です。 ランサムウェア被害とRPO、RTOの関係性 バックアップと復旧戦略を考える上で、データ量とコストはトレードオフの関係であることに注意してください。優先すべき復旧対象データを特定し、RPO や RTO を明確にすることが、ビジネスの継続や復旧コストなどの観点から重要となってきます。 従来のバックアップ戦略 AWS サービスを紹介する前に、従来のバックアップ戦略について説明します。医療機関内で、各種のアプリケーションおよびデータベースサーバーが稼働しており、院内にある 1 次バックアップサーバーにバックアップが集約されることがよくあります。これらのバックアップを長期間テープストレージに書き出したり、遠隔地に 2 次バックアップサーバーを用意することで、物理的に隔離して保管されている場合もあります。しかし、このような仕組みは、増え続けるバックアップデータに対して、都度ストレージの追加が発生するなど、コスト効率の良いアプローチとは言えません。 これらの課題については、利用した分だけ料金が発生する従量課金という、クラウドならではの特徴を活かしたアプローチで解決することができます。 AWS ストレージサービスでの Immutable なデータ保護環境 ランサムウェア被害を受けた際のリカバリにおいては、保存されたデータは本当にランサムウェアの被害を受ける前の正しいデータかどうか疑われます。そのため、ランサムウェアに対応するためには、災害対策で考えられるような物理的な遠隔地に置かれるだけでなく、一度書いたら二度と上書きができないような、Immutable なストレージが必要です。Immutable とは、「変更不可能な」という意味で、一度作成したら、その状態を変えることができないということです。AWS のストレージサービスには Immutable を実現するための、Write Once Read Many (WORM) 機能を備えているものもあります。このように物理的に離して障壁(エアギャップ)を設けるだけでなく、Immutable な状態のように論理的な障壁 (ロジカルエアギャップ) を生じさせるような構成を、クラウドであれば容易に実装することが可能です。 ここからは、AWS のストレージサービスとその詳細を紹介します。 S3 Object Lock Amazon Simple Storage Service (Amazon S3) は、任意の量のデータの保存と取得をどこからでも行えるように設計されたオブジェクトストレージです。 S3 Object Lock は、WORM モデルを使用したオブジェクトの保存を可能にします。この機能を有効化することで、S3 上にアップロードされたオブジェクトに対する上書きや削除操作が行えなくなり、データの改ざん防止機能としてご利用いただくことができます。 医療機関の場合、例えば S3 上に保存している電子カルテのバックアップなどを、ランサムウェアによるデータ上書きや削除といった攻撃から保護することができます。 S3 バケットの作成時に詳細設定から S3 Object Lock を有効化するか、既存のバケットに対してはAWS サポートへの サポートケース の起票により有効化することができます。 Amazon S3 オブジェクトロックの設定画面 S3 Object Lock には、「ガバナンスモード」と「コンプライアンスモード」の2種類の保持モードが存在します。ガバナンスモードでは、特定の IAM アクセス許可を持つユーザー以外の上書きや削除操作から保護し、コンプライアンスモードでは、保持期間中はルートユーザーを含むすべてのユーザーの上書きや削除操作からオブジェクトを保護することができます。 ガバナンスモードとコンプライアンスモードの選択画面 また、デフォルトの保持期間を設定せずに、リーガルホールドの設定を行うことが可能です。リーガルホールドは、保持期間を設定していないので、上書きや削除操作から無期限に保護することができます。こちらを適用することで、IAM でリーガルホールドの権限が付与されたユーザーのみ、上書きや削除操作を許可するように設定することができます。 ガバナンスモードとコンプライアンスモードの場合、保持期間が終了した後は、リーガルホールドの設定を有効にしない限り、オブジェクトバージョンを上書きまたは削除することができます。 以上のように、S3 Object Lock を有効化することで、データを Immutable な状態で保存することができます。 より詳細な情報は、「 S3 オブジェクトロックの仕組み – Amazon Simple Storage Service 」や「 Amazon S3 オブジェクトロックによるデータの保護 | Amazon Web Services ブログ 」をご参照ください。 AWS Backup Vault Lock AWS Backup は、バックアップの一元管理と自動化を実現するフルマネージドサービスです。手動と自動スケジュールのバックアップを実施することができます。1 つのコンソールで、多岐にわたる AWS リソースのバックアップの設定と実行、復旧を実施することができ、一元管理することができます。暗号化した個別の Vault と呼ばれる単位でデータを格納することができるため、セキュリティを確保することもできます。Vault は、バックアップを保存および整理するためのコンテナです。 AWS Backup Vault Lock は AWS Backup のオプション機能で、対象の Valut を読み込み専用である WORM に設定することができます。この機能により、バックアップデータを変更できなくなるため、バックアップデータの暗号化といった、ランサムウェアによる悪意ある攻撃を防ぐことができます。また、不注意や誤操作によってバックアップが削除されることも防ぐことができるという利点もあります。 医療機関に限らず、ランサムウェア被害から復旧する際に利用するバックアップデータを、悪意ある上書きや削除から保護することができます。 AWS Buckup Vault の設定画面 AWS Backup Vault Lock 機能も、S3 Object Lock と同様に、特定の IAM 権限でのみ Vault に格納されたリカバリポイントを削除可能な「ガバナンスモード」と、ルートユーザーであったとしても Vault に格納されたリカバリポイントを削除できない「コンプライアンスモード」が用意されており、お客様の要件に合わせて選択することが可能です。また、リーガルホールドの機能も提供しており、保持期間が終了していても、明示的に解除されるまではバックアップの削除を防ぐことができます。 より詳細な情報は、「 AWS Backup Vault Lock – AWS Backup 」や「 AWS Backup | 一元管理型クラウドバックアップ | よくある質問 #Write-Once-Read-Many (WORM) 」をご参照ください。 EBS スナップショットゴミ箱機能のルールロック Amazon Elastic Block Store (Amazon EBS) は、EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。 EBS スナップショット とは、Amazon EBSボリュームのデータを Amazon S3 にバックアップできます。そして、 EBS スナップショットゴミ箱 は、EBS スナップショット を誤って削除した場合でも、スナップショットを復旧できる機能です。ゴミ箱からの手作業での削除インターフェースは存在せず、ゴミ箱ルールに入れたものはゴミ箱ルールで指定された保持期間を迎えるまでは削除できません。 しかし、ランサムウェアや悪意を持った攻撃者は、ゴミ箱ルールを削除してからスナップショットを復元してデータを不正に取得し、それを削除するという方法でゴミ箱の回避を試みることもあり得ます。それを阻止することができる機能が、 EBS スナップショットのゴミ箱のルールロック です。これは、EBS スナップショットゴミ箱機能のルールを編集、削除することを防ぐ機能です。「ロック解除の遅延期間」を設定すると、その期間中は遅延期間を変更や削除ができない状態になります。 ルールがロックされると、保持ルールの編集もできなくなるため、保持しているゴミ箱内の EBS スナップショット の削除保護が実現できます。ルール自体の変更や削除ができないため、攻撃者は前述の手法でスナップショットを削除することができなくなります。 例えば、医療機関で本番運用している AWS アカウントの権限が侵害された場合、ロック解除の遅延期間を設けているため、その期間中は EBS スナップショットからデータを復旧できなくなることを心配せず、セキュリティ脅威を検出して対応するための時間を確保することができます。 ルールロックの設定画面 より詳細な情報は、「 保持ルールの操作 – Amazon Elastic Compute Cloud 」をご参照ください。 Amazon FSx for NetAPP ONTAP の SnapLock Amazon FSx for NetApp ONTAP は、ONTAP ファイルシステムの一般的な機能、パフォーマンス、API を AWS のフルマネージドサービスとして利用でき、AWS の俊敏性、スケーラビリティ、セキュリティ、および耐障害性を享受することができます。 SnapLock は、WORM を備えたボリュームを作成する ONTAP 機能で、指定された期間内のファイルの変更や削除を防止することができます。そのため、ランサムウェアや悪意を持った攻撃者によるデータの改ざんや削除から、データを保護することができます。 現在オンプレミスで利用中のファイルシステムがあり、AWS クラウド上に移行する場合、ランサムウェア被害に対策できるファイルストレージの移行先として検討することができます。 SnapLock の設定画面 SnapLock では、「コンプライアンスモード」と「エンタープライズモード」の 2 つのモードが用意されています。 コンプライアンスモードでは、保持期間が終了するまで、全てのユーザーはファイルの名前変更や削除操作を行うことができなくなります。 エンタープライズモードでは、コンプライアンスモードでボリュームを作成する前に、組織のデータ保持ポリシーや、保存設定をテストするために使用されます。このモードでは、承認されたユーザーのみに削除操作を許可することができます。また、有効な保存期間内の WORM ファイルが含まれていても、そのボリュームを削除することができます。 この機能は、既存のボリュームに対して有効化することができませんが、SnapLock が有効なボリュームを新規作成して、そのボリュームにデータをコピーすることはできます。 より詳細な情報は、「 新着情報 – 規制コンプライアンスとランサムウェア対策を目的として Amazon FSx for NetAPP ONTAP が WORM 保護のサポート提供を開始 | Amazon Web Services ブログ 」をご参照ください。 各サービスの機能の比較 今回ご紹介した、4 つのサービスの機能の比較表を以下に示します。 Amazon S3 AWS Backup ゴミ箱機能(EBS スナップショット) Amazon FSx for NetAPP ONTAP 名称 Object Lock Vault Lock Rule Lock SnapLock 保護対象リソース バージョニングされたオブジェクト リカバリポイント ゴミ箱内の EBS スナップショット ファイルとボリューム 設定対象リソース オブジェクトまたはバケット Vault ゴミ箱機能のリテンションルール SnapLockの設定はボリューム単位、リテンションの設定はファイル単位 リソース削除のタイミングとロックのリテンションの関係 ロックのリテンションとオブジェクトの削除は独立 ロックのリテンションとリカバリポイントが削除されるタイミングが同じ ロックのリテンションとゴミ箱からスナップショットが削除されるタイミングが同じ ロックのリテンションとファイルの削除は独立 実際に保護対象リソースが削除できるタイミング ロック解除後のライフサイクルなどで指定したタイミング Backup plan でのリテンション次第 ゴミ箱機能のリテンションルール次第 ロック解除後のファイルの標準的な削除タイミング ユースケース オブジェクトストレージである S3 上に保存している電子カルテのバックアップなどを、ランサムウェアによるデータ上書きや削除といった攻撃から保護 AWS上の各種リソースや、オンプレミスのVMware 仮想環境のバックアップで利用でき、ランサムウェア被害から復旧する際に利用するバックアップデータを、悪意ある上書きや削除から保護 既に EC2 で稼働している医療情報システムがあり、AWS アカウントの権限が侵害された場合、ロック解除の遅延期間中に EBS スナップショットからデータを復旧できなくなることを心配せず、セキュリティ脅威を検出して対応するための時間を確保 医用画像や文書ファイルを、ランサムウェア被害から保護することができるファイルストレージ ランサムウェア被害を対策する上では、ロックの保持期間やロック解除の遅延期間を適切に設定することが重要です。適切に設定するためには、セキュリティ侵害の特定と対応にかかる時間を見積り、それよりも長くする必要があり、過去のセキュリティインシデントやアカウント侵害の特定と修復に必要な時間を確認しなければなりません。一方で、お客様自身が意思をもって削除を試みたい場合、ロックの保持期間やロック解除の遅延期間が終了するのを待つ必要があり、その後にリソースの削除やルールの変更、もしくはルールの削除する必要があります。 まとめ 本ブログでは、ランサムウェアの脅威に備えるためのガイドラインの要点、復旧戦略を検討する上でのポイントとなる目標復旧時点と目標復旧時間についてお話ししました。また、バックアップのストレージとして AWS では S3 の Object Lock や AWS Backup の Vault Lock、EBS スナップショットゴミ箱機能のルールロック、Amazon FSx for NetAPP ONTAP の SnapLock がランサムウェア対策において有効であることを説明しました。 内閣サイバーセキュリティーセンターの NICS や 厚生労働省 、 情報処理機構 、 医療機関向けセキュリティ教育支援ポータルサイト など、各組織よりランサムウェア対策の特設ページが設けられています。最新の情報をご確認の上、対策を検討いただければ幸いです。 著者について 吉村 弘明 (Yoshimura, Hiroaki) は AWS Japan のソリューションアーキテクトです。週末は料理をしたり、美味しいご飯を求めて都内を歩いています。       片山 洋平 (Katayama, Yohei) は AWS Japan のパブリックセクターのソリューションアーキテクトです。主に医療機関をはじめとしたヘルスケア業界のお客様のソリューション構築の支援を行なっています。週末は登山を嗜んでいます。
はじめに 日本の工作機械メーカー株式会社牧野フライス製作所(マキノ)は、5Gネットワークを介した自律走行搬送ロボット(Autonomous Mobile Robot, AMR)制御システムの立ち上げに5か月足らずで成功しました。マキノは、5GネットワークとAWS Wavelengthを使用して、移動するAMR と制御サーバー間の無線通信の安定性を向上させました。同社はパブリック 5G と AWS Wavelength を選択することで、プライベート 5G 環境を自社で構築する場合と比較して大幅なコスト削減を実現しました。 AWS Japan 主催の イベント にて、株式会社牧野フライス製作所 CIO 中野 義友 氏、情報システム部 志津里 淳 氏、開発本部 児玉 匠 氏 は、この先進的な取り組みのほぼ全てをマキノ社員による内製開発によって、わずか5ヶ月足らずの期間に実現したことを発表しました。このブログでは、マキノが取り組んだ課題と実装したソリューションについて説明します。 工場を走り働くロボット 一般的にマシニングセンタとして知られている装置では、さまざまな金属加工を実行するために、フライスやビットなどの重い工具を交換する必要があります。現在、これらの工具は人間の作業者によって手作業で置き換えられており、肉体的に厳しい労働を伴います。マキノは、工場内での工具の搬送や交換を自動化する AMR を自社で製造・販売しています。マキノのAMRにはLiDARセンサーが搭載されており、周囲の障害物を検知して自律的に移動することができます。作業現場の作業員や他のAMRと協力して作業できるように設計されています。 図1: マキノのAMR 図2:マキノのAMRはLiDARで周囲を認識できる 図 3: マキノの AMR ダッシュボードには LiDAR を使った自動マッピングが表示される 課題 マキノのAMRは制御サーバーから要求を受け取り、自律的に移動してその要求を処理します。これまで、マキノは AMR とサーバー間の通信に Wi-Fi を使用していました。サーバーは、HTTPSやWebRTCなどの複数のプロトコルを使用して要求メッセージをAMRに送信します。これには、安定した中断のない通信が必要でした。しかし、移動中の AMR とサーバー間の通信が不安定になることがありました。AMR が Wi-Fi アクセスポイントの圏外に移動して接続が切断されると、別のアクセスポイントへのハンドオーバーに時間がかかります。マキノは、Wi-Fiハンドオーバープロセスの遅延がこの不安定性の原因であると特定しました。これを解決するには、アクセスポイント間の安定したハンドオーバーが必要です。 図4: Wi-Fi アクセスポイント間ハンドオーバーの課題 5GはAMR制御アプリの安定した無線通信を実現する そこでマキノはWi-Fiの代わりに5Gネットワークを採用しました。5G通信は、移動中でもシームレスな接続を実現するように設計されているため、ロボットが動いているときでも基地局間の受け渡しがスムーズになります。 工場の屋内で5G通信を実現する方法はいくつかあります。たとえば、工場のオーナーは「ローカル5G」と呼ばれる独自のプライベート5Gネットワークを構築できます。マキノは、さまざまな無線通信方式の評価を行いました。具体的には、プライベート5Gとパブリック5Gの比較を行いました。 評価の末、マキノはパブリック5Gを選択した結果、コスト削減とリアルタイムでの安定した操作性の両方を実現しました。マキノは、5Gネットワークの導入に加えて、これまで工場にあったサーバーをパブリック5Gを用いたハイブリッドクラウドサービスであるAWS Wavelengthに移行しました。AWS のソリューションアーキテクトが マキノ の技術的課題の解決を支援しました。 図 5:  5G 通信を用いたソリューションの概要 マキノがパブリック 5G と AWS Wavelength を選んだ理由 AWS Wavelength は、モバイルキャリアが所有する 5G 基地局ネットワーク上の AWS リソースを使用して処理を行うサービスです。5G基地局のすぐ近くで処理を実行して応答できるため、AWS Wavelength は 5G 通信の低レイテンシー処理に最適です。日本の大手モバイルキャリアであるKDDIは、AWS Wavelengthをサポートしています。 図 6: AWS Wavelength マキノは以下の理由により、パブリック5GとAWS Wavelengthの組み合わせがWi-Fiやプライベート5Gよりも今回のユースケースに適した選択肢であると結論付けました。 ネットワークの安定性とパフォーマンス まず、マキノはモバイル接続における5G通信の優れたパフォーマンスに着目しました。同社は工場に5G基地局を設置し、ネットワークの安定性とパフォーマンスを評価し、移動するロボットが複数の5G基地局エリアで通信しても通信断が発生しないことを確認しました。その後、同社は通信パフォーマンスを測定しました。Wavelength Zone のインスタンスから AMR までのネットワークレイテンシーは 10 ~ 15 ミリ秒でした。また、VPN トンネル上で HTTPS を使用するアプリケーションで測定した場合でも、制御アプリケーションから AMR までの全体のレイテンシーは約 40 ミリ秒でした。これはマキノ の AMR を制御するメッセージを送信するに十分なレイテンシーの低さです。このAWS Wavelengthへの移行においてマキノはアプリケーションの最適化の効果よりも稼働開始までの期間を優先し、「リフト」アプローチ(大きな設計変更をしない移行戦略)を採用していますが、将来、アプリケーションを AWS Wavelength 用に最適化できれば、さらに通信レイテンシーを改善できる可能性があります。ネットワークスループットは、ダウンストリームの平均1.1 Gbps、アップストリームの平均140 Mbpsで測定され、マキノにとって満足のいく結果でした。 初期費用の削減 マキノは意思決定において特にコストを重視しました。パブリック5Gネットワークには、プライベート5Gネットワークの運用とは異なり、5G機器の構築と保守に費用をかける必要がない(通信事業者に任せられる)という利点があります。 保守性 パブリック5Gの場合、5G通信ネットワークを運用するためのライセンスを取得したり、専門家を雇ったりする必要はありません。パブリック5Gは一般的なスマートフォンでも使用できます。5G通信事業者は基地局を継続的にアップグレードしますが、プライベート5Gネットワークの所有者は自社の機器のアップグレードと修理に責任があります。 ロボットの遠隔監視と調査 これまで、AMRは工場内で監視および管理されていました。制御サーバーは工場内にあり、工場のLANに接続されていたため工場外からのAMR管理は不可能でした。しかし、パブリック5Gの活用により、マキノは遠隔管理が可能になり、AMRの運用をリモートで調査できるようになりました。AMRに問題が発生した場合、オペレーターはリモートで調査し、適切な措置を講じることができます。さらに、より詳細なログをリモートでリアルタイムに表示できるようになりました。 工場にサーバーを設置する必要がなくなる マキノは、AWS Wavelengthを使用することで、制御サーバーをAMRを納める工場に設置する必要をなくすことに成功しました。これにより、マキノからロボットを購入するお客様は、自社の工場内にサーバーインフラを設置する必要がなくなりました。これにより、マキノのお客様が高度なロボットを購入するプロセスが簡単になります。 AWS Wavelength によるネットワーク構成 図 7: ソリューションの AWS アーキテクチャ図 AMRの制御サーバーは Wavelength Zoneにあります。AMR とサーバーは、パブリック 5G ネットワークを介して通信します。制御用のタブレットとサーバーはインターネットを介して通信します。 マキノは AWS Wavelength を使用する際にいくつかの要素を考慮しました。 IPアドレス範囲 :通常、工場の機器はプライベートIPアドレスを使用します。マキノのAMRには、特定のプライベートなIPアドレス範囲が必要でした。一方、AWS Wavelengthによって付与されるIPアドレスの範囲は、キャリア固有のグローバルIPアドレスで構成されます。 デバイス認証:  AWS Wavelength は、AWS IoT Core などの AMR デバイス認証用のマネージドサービスをサポートしていません。 図8: マキノのAMRをAWS Wavelengthとパブリック5Gネットワークで使用する際の考慮点 同社は慎重に検討した結果、これらの問題の解決策を見つけました。同社は Wavelength Zoneに VPN ルーターインスタンスを作成しました。VPN ルーターは各 AMR への VPN トンネルを確立し、AMR のプライベート IP アドレス範囲からの通信を可能にします。デバイス認証は、VPN トンネルの接続時にVPNのクライアント証明書を使用して行うことができます。 図 9: マキノの AMR を AWS Wavelengthとパブリック 5G ネットワークで利用するためのソリューション その結果、マキノは AWS Wavelength を使用して AMR やサーバーと安全に通信できるようになりました。 おわりに マキノはAMR 制御システムをパブリック 5G ネットワークと AWS Wavelength 上にわずか 5 か月足らずで構築し、次のようなメリットを得ました。 ネットワークの安定性とネットワークパフォーマンス 初期費用の削減 保守性 ロボットの遠隔監視と調査 工場内のサーバーレスAMRシステム マキノは、この新たなシステムを顧客に販売する予定です。そのために同社は、AWS上のアーキテクチャを最適化し、保守性と運用性をより迅速かつ容易にすることで、さらなる運用改善とネットワークパフォーマンスの向上できると考えています。 詳細はこちら AWS Japan イベントでのマキノのセッション マキノは、2022年4月7日に開催されたAWSイベントで、5GネットワークとAWS Wavelengthを使用したAMRとユースケースについて説明しています。 このブログ にはスライドとビデオ(日本語)が含まれています。 AWS Wavelength など、 AWS が提供するさまざまなハイブリッドサービスについて学ぶことで、ユーザーに適したソリューションを選択できます。これらのAWS ハイブリッドサービスによるスマートプロダクトソリューションを検討する際は、最適なソリューションを見つけるお手伝いをする AWS のソリューションアーキテクトにご依頼ください。 牧野フライス製作所 株式会社について 牧野フライス製作所は日本を拠点とするフライス盤・マシニングセンタメーカーです。同社は世界中に工場と営業所を持ちます。また、ロボットや先端技術を積極的に活用しています。 吉川晃平(Kohei Yoshikawa) 吉川は AWS Japan のシニアソリューションアーキテクトです。北海道大学の修士課程を卒業後、ソフトウェア開発者およびシステムインテグレーターとして20年以上従事しました。2020 年 12 月に AWS に入社し、日本の多くの製造業のお客様を支援してきました。週末はサイクリング、冬はスキーを楽しんでいます。 このブログは吉川による” Makino improves performance of Autonomous Mobile Robots with AWS Wavelength and 5G network “を和訳したものです。
私たちは AWS Supply Chain のイノベーションにより、サプライチェーンの未来に備えています。 私たちは、お客様の声に耳を傾け、お客様の課題を理解し、フィードバックを収集することで、お客様の立場に立って取り組むことでイノベーションを起こします。 このアプローチにより、当社のイノベーションがお客様のあらたなニーズに確実に対応できるようになります。 AWS Supply Chain は、サプライチェーンのリーダーがサプライチェーンの回復力を高めるため、リスクを軽減し、コストを削減してするのに役立つクラウドベースのアプリケーションです。 AWS Supply Chain は、サプライチェーンデータを統合し、機械学習 (ML) を活用したコネクタとアクションに繋がるインサイトを提供し、コンテキストに応じたコラボレーションを組み込みます。 在庫切れを減らすことで顧客サービスのレベルを高め、過剰在庫によるコストを削減できるように設計されています。 このブログ記事は、最近の AWS Supply Chain のリリースをまとめたものです。 ブログで紹介する機能は、お客様のフィードバックに基づいています。 需要計画における製品系統を使用した予測 AWS Supply Chain Demand Planning では、製品を 製品系統 と呼ばれる以前のバージョンまたは代替バージョンとリンクして、予測の精度を高めることができるようになりました。 製品とその以前のバージョンまたは代替製品との間にリンクを確立することで、プランナーは以前のモデルまたは類似製品の過去の売上データを利用して予測に役立てることができます。 この「代理履歴」は、より正確な需要予測の基礎を形成し、製品系統を通じて生成される予測が本質的に正確であることを保証し、それによって手動調整の必要性を最小限に抑えます。 需要計画の強化 需要予測は効率的なサプライチェーンの中心であるため、このプロセスを強化するために複数の機能を導入しました。 需要予測に 複数のオーバーライド を適用できるため、複数の製品にまたがった調整を同時に実施できます。 AWS Supply Chain Demand Planning の直感的な ユーザーインターフェイス が刷新され、予測設定が簡単になり、ワークフローが効率化されました。 予測における手動のオーバーライドを自動的に 保持 し、計画サイクル全体にわたって保持する一貫性があり効率的な予測が可能になります。 ユーザーエクスペリエンスとコンプライアンスの向上 私たちはシームレスなユーザー体験を提供することに全力を注いでいます。 AWS CloudTrail を AWS Supply Chain Demand Planning と 統合 しました。これにより、ガバナンスを常に監視を行い正常稼動を確実にし、透明性とコンプライアンスを向上させることができます。 新しい地域への可用性の拡張 各地でAWS Supply Chain に対する関心は高まり続けているため、提供地域を拡大しています。 現在、AWS Supply Chain はオーストラリア ( シドニー )、ヨーロッパ ( アイルランド )、米国東部 (バージニア北部)、米国西部 (オレゴン)、ヨーロッパ (フランクフルト) でご利用いただけます。 結論 今後数か月以内に、さらにエキサイティングなアップデートを発表する予定です。 これらの強化は、イノベーションへの注力と、お客様に価値を提供するという当社の取り組みによって推進されています。 AWS Supply Chain にアクセスして、詳細を確認して利用を開始しましょう。 また、 AWS Workshop Studio にアクセスして、インスタンスの作成、データの取り込み、ユーザーインターフェイスの操作、インサイトの作成、需要計画の生成に関する技術的な概要を自分のペースで確認することもできます。 本ブログはソリューションアーキテクトの水野 貴博が翻訳しました。原文は こちら 。 著者について Harold Abell は AWS Supply Chain のシニアプロダクトマネージャーです。 Harold は AWS Supply Chain の創立者プロダクトマネージャーの 1 人で、アプリケーションのコンセプトと設計に携わっています。 Harold は、ゼネラル・エレクトリック (GE) とアマゾンウェブサービス (AWS) の両方で、サプライチェーンとソフトウェア開発において 10 年以上の業界経験があります。 Harold はブリガム・ヤング大学を卒業し、製造工学の学士号と修士号、デューク大学のフクア・スクール・オブ・ビジネスで経営学修士号を取得しています。 余暇には、Harold は妻と3人の女の子とのスノースキーやボートなど、アウトドアのあらゆるものが大好きです。 Harini Kidambi は AWS Supply Chain Demand Planning のプロダクトマネージャーです。 BlueYonderとアマゾンウェブサービス (AWS) の両方でサプライチェーンと分析の分野で5年以上の経験があります。 彼女は AWS Supply Chain のお客様と協力して、お客様のビジネスニーズを理解し、技術ソリューションとユーザーエクスペリエンスを調整し、最大のビジネス価値を実現できるよう支援しています。 Vita Grebeniuk は AWS Supply Chain のシニアテクニカルプログラムマネージャーです。 Vita は、ソフトウェア開発とプログラム管理の分野で 10 年以上の経験があります。 現在の役職では、AWS Supply Chain のさまざまなワークストリームと連携して、製品の拡張や、お客様のビジネスの成長と複雑なサプライチェーンの課題の解決に役立つ重要な機能の立ち上げに取り組んでいます。 Vita はサイクリングやスキー、アメリカやカナダの旅行、ロードトリップも好きです。基本的には外で過ごす時間を増やし、家族をアクティブに保つためなら何でも好きです。 <!-- '"` -->
背景 生成系 AI の応用の幅が広がる技術としてマルチモーダルなモデルがあります。マルチモーダルではモデルの入出力に複数の異なるデータ形式を用いることができます。例えば Amazon Bedrock の Stable Diffusion ではテキストを入力に画像を生成することができます。画像とテキストという異なるデータ形式の入出力をするためマルチモーダルなモデルといえます。他にも入力した画像の説明文章をテキストとして出力できる BLIP-2 (Bootstrapping Language-Image Pre-training) と呼ばれるモデルもあり、AWS では Amazon SageMaker の推論 Endpoint にデプロイすることで利用することができます。詳しくは こちらのブログ をご覧ください。さらに、BLIP-2 は画像に対しキャプションをつけるタイプのモデルでしたが、対話形式で画像に対する問い合わせをすることができる MiniGPT-4 が生まれました。MiniGPT-4 は BLIP-2 の ViT (Vision Transformer) 、 Q-Former (Querying Transformer) と LLM (Large Language Models) を線形結合層で繋ぐことで実現されます。LLM を切り替える場合はこの線形結合層のみを再学習するため BLIP-2 や LLM 自体の再学習をしない分少ないパラメータを対象に再学習できるメリットがあります。 これらのように画像を入力にテキストを生成するモデルを Image to Text と呼びます。Image to Text のモデルを使えば、画像に対して説明を求めたり、QA することができるようになります。これを応用して、画像にタグを付与したり、テキストを入力に画像を検索したりできるようになります。従来の物体検出のような Computer Vision 技術で取得できた画像情報とは異なる情報を柔軟に取得できる可能性があります。どれくらいの情報が取得できるのか是非試したいですよね。 画像へ対話形式の問合せを日本語で試したい!と思っても、MiniGPT-4 は英語のモデルのため日本語には難があるかもしれません。そこに、MiniGPT-4 の線形結合層を日本語データで再学習した OSS の 日本語 LLM が発表されました。それが rinna株式会社の bilingual-gpt-neox-4b-minigpt4 です。今回は無料の Jupyter ノートブックサービスである SageMaker Studio Lab から bilingual-gpt-neox-4b-minigpt4 を利用して画像に対する QA に日本語で挑戦してみたいと思います。 制限事項 執筆時点で SageMaker Studio Lab には CPU と GPU いずれも 1 日あたり利用時間上限が決められています。また、閉域接続ではなくインターネットでご利用いただくサービスになります。好評いただいているサービスのため、特に GPU の利用時に一度では Start runtime できず複数回トライいただく場合があります。これらの特徴と上手にお付き合いいただきご利用いただければ嬉しいです。 前準備 SageMaker Studio Lab は AWS アカウント不要の無料のノートブックサービスです。AWS アカウントがなくても利用でき、メールアドレスがあれば登録することができます。 こちらのブログ をご覧いただき登録を完了いただけると以降の手順がスムーズです。 SageMaker Studio Lab は 機械学習帳とも連携 しており、SageMaker Studio Lab を使ってすぐに機械学習のスキル獲得を始めていただく事ができます。 sagemaker-distribution を利用して永続化領域を節約 本ブログでは 公式の environment.yml ではなく、 sagemaker-distribution カーネルを利用する方法をお伝えします。これにより、SageMaker Studio Lab の永続化領域を有効利用することができ、SageMaker Studio への移行も簡単にすることができます。sagemaker-distribution は PyTorch、TensorFlow、Keras などの人気のあるライブラリがプリインストールされている環境を提供します。SageMaker Studio と SageMaker Stdio Lab の両方に互換性のある Pythonライブラリが 18 種類以上付属しています。この環境は永続的であり、SageMaker Studio Lab 利用者に割り当てられた 15 GB の空き容量を使用しません。詳しくは こちら をご覧ください。sagemaker-distribution カーネルは 2023 年 8 月に SageMaker Studio Lab で利用できるようになりました。 bilingual-gpt-neox-4b-minigpt4 のダウンロードと必要なライブラリのインストール こちらの作業は CPU モードで実行することで GPU 利用時間を節約しましょう。CPU と GPU の切り替えはログインページのラジオボタンからの切り替えになります。ノートブックの実行画面にはないため注意してください。 公式のダウンロード手順 に従い必要なファイルをダウンロードします。SageMaker Studio Lab から Terminal を起動し、以下を実行します。Terminal は画面左上のプラスボタンから Launch タブを開き、Terminal を選択することで起動できます。Blog 執筆時点では以下のコマンドとなっていました。最新のコマンドは こちらの URL からご確認ください。 git clone https://github.com/Vision-CAIR/MiniGPT-4.git cd ./MiniGPT-4 git checkout 22d8888 # latest version as of July 31, 2023. wget https://huggingface.co/rinna/bilingual-gpt-neox-4b-minigpt4/resolve/main/customized_mini_gpt4.py wget https://huggingface.co/rinna/bilingual-gpt-neox-4b-minigpt4/resolve/main/checkpoint.pth ダウンロードが終わったことを確認したら、元のモデルファイルを /tmp/model_data に保存するように customized_mini_gpt4.py に変更を加えます。元のままの場合、ユーザの永続化領域にモデルファイルが保存され容量を圧迫してしまうためです。111 行目以降の from_pretreined の引数に cache_dir = ‘/tmp/model_cache/’ を追加し、以下のように変更します。永続化領域を節約する効果は こちら をご覧ください。画面左側のファイル一覧からダブルクリックで customized_mini_gpt4.py の編集画面を開くことができます。 if self.low_resource: self.gpt_neox_model = CustomizedGPTNeoXForCausalLM.from_pretrained( gpt_neox_model, torch_dtype=torch.float16, load_in_8bit=True, device_map={'': device_8bit}, cache_dir = '/tmp/model_cache/' ) else: self.gpt_neox_model = CustomizedGPTNeoXForCausalLM.from_pretrained( gpt_neox_model, torch_dtype=torch.float16, cache_dir = '/tmp/model_cache/' ) それでは こちらのページ を参考にノートブックを作成していきましょう。作成された MiniGPT-4 ディレクトリに sample.ipynb を作成します。以降の作業は全て sample.ipynb に実装します。 画面左上のプラスボタンから sagemaker-distribution: Python を選択いただくとノートブックファイルを作成できます。ファイル名を sample.ipynb に変更してください。 作業中、sagemaker-distribution カーネルが選択されているかを確認する場合は、右上のカーネル選択にてsagemaker-distribution が選択されているかをご覧ください。 次に以下のコマンドをセルで実行してください。 !conda install -y -c conda-forge opencv !pip install omegaconf !pip install iopath !pip install timm !pip install webdataset !pip install transformers !pip install decord !pip install sentencepiece これで環境は整いました。 ノートブックで Image QA にトライ ここからは GPU モードで実行しましょう。移行の実装は公式の I/O Format と How to use the model のソースコードをセルに分割して書き下したものになります。 まずは、必要なモジュールを import します。以下のコードをセルに貼り付けて実行してください。 import torch import requests from PIL import Image from minigpt4.processors.blip_processors import Blip2ImageEvalProcessor from customized_mini_gpt4 import CustomizedMiniGPT4 GPU が利用可能かを以下のコマンドで確認しておきましょう。以下のコードをセルに貼り付けて実行してください。 torch.cuda.is_available() GPU モードで SageMaker Studio Lab を起動していても、torch の version と CUDA Driver が合わない場合、上記の結果は False が返ります。この場合、以降のコードは CPU で実行され期待動作しない場合がありますため注意が必要です。sagemaker-distribution カーネルを使えばこの問題は起きません。SageMaker-Distibution カーネルには SageMaker Studio Lab の GPU が使用できるバージョンの torch が予めプリインストールされているためです。もし False が返ってきた場合指定したカーネルが誤っている可能性がありますのでご確認ください。 次に、モデルを準備します。以下のコードをセルに貼り付けて実行してください。CustomizedMiniGPT4 はダウンロード手順で取得した customized_mini_gpt4.py の中に実装があります。興味がある方は是非確認してみてください。 checkpoint.pth は再学習した線型結合層のモデルファイルです。こちらも先ほどの手順でダウンロード済です。 model = CustomizedMiniGPT4(gpt_neox_model="rinna/bilingual-gpt-neox-4b") tokenizer = model.gpt_neox_tokenizer if torch.cuda.is_available(): model = model.to("cuda") ckpt_path = "./checkpoint.pth" if ckpt_path is not None: print("Load BLIP2-LLM Checkpoint: {}".format(ckpt_path)) ckpt = torch.load(ckpt_path, map_location="cpu") model.load_state_dict(ckpt['model'], strict=False) それでは、問合せ対象の画像を準備しましょう。以下のコードをセルに貼り付けて実行してください。ここでは huggingface にあるサンプル画像を利用します。猫が横たわっている画像が表示されれば成功です。 image_url = "https://huggingface.co/rinna/bilingual-gpt-neox-4b-minigpt4/resolve/main/sample.jpg" raw_image = Image.open(requests.get(image_url, stream=True).raw).convert('RGB') raw_image BLIP-2 を利用して画像をエンコードします。画像を数字列に変換する Embedding と呼ばれる手法です。この値とテキストを入力することで画像への問合せが可能となります。以下のコードをセルに貼り付けて実行してください。 vis_processor = Blip2ImageEvalProcessor() image = vis_processor(raw_image).unsqueeze(0).to(model.device) image_emb = model.encode_img(image) 以下は公式のサンプルプロンプトです。 に先ほどの Embedding した値が入ります。ユーザー/システムで話者を識別しています。以下のコードをセルに貼り付けて実行してください。 prompt の中身が表示されれば成功です。 prompt = [ { "speaker": "ユーザー", "text": "&lt;Img&gt;&lt;ImageHere&gt;&lt;/Img&gt; 何が写っていますか?" }, { "speaker": "システム", "text": "a cat on a table with a laptop" }, { "speaker": "ユーザー", "text": "猫はどんな体勢をしていますか?" }, ] prompt = [ f"{uttr['speaker']}: {uttr['text']}" for uttr in prompt ] prompt = "\n".join(prompt) prompt = ( prompt + "\n" + "システム: " ) print(prompt) 画像の Embedding に加えて、テキストも Embedding して、それらを組み合わせる処理をします。詳しくは、 customized_mini_gpt4.py の get_context_emb をご覧ください。以下のコードをセルに貼り付けて実行してください。 embs = model.get_context_emb(prompt, [image_emb]) さあ、最後に回答となるテキストを生成するコードです。 output に回答テキストが入ります。以下のコードをセルに貼り付けて実行してください。結果はどうなるでしょうか? output_ids = model.gpt_neox_model.generate( inputs_embeds=embs, max_new_tokens=512, do_sample=True, temperature=1.0, top_p=0.85, pad_token_id=tokenizer.pad_token_id, bos_token_id=tokenizer.bos_token_id, eos_token_id=tokenizer.eos_token_id ) output = tokenizer.decode(output_ids.tolist()[0], skip_special_tokens=True) print(output) 出力例: うつ伏せ 以下に、著者が試してみた画像に対する対話型での QA を記載します。是非、皆さんのアイデアで試してみてください。 ユーザー: &lt;Img&gt;&lt;ImageHere&gt;&lt;/Img&gt; 何が写っていますか? システム: 猫がテーブルの上のパソコンを眺めている ユーザー: 猫は何色? システム: 白 ユーザー: 茶色に見えますが、白ですか? システム: 茶色 ユーザー: 猫可愛いですね。この猫の隣にあるのは何ですか? システム: パソコン ユーザー: このシーンの次には何が起きると思いますか? システム: パソコンが壊れる 最後に いかがでしたか?本ブログでは、日本語対応の OSS のモデルを利用して、画像に対して対話型で QA することに挑戦してみました。画像を変えてみたり、プロンプトを変えてみたりして結果を確認してみてください。また、 bilingual-gpt-neox-4b-minigpt4 の登場によって、日本語 LLM と学習用データを準備すれば線形結合層の再学習のみで日本語対応できる MiniGPT-4 が作れることが示されました。今後、登場する日本語 LLM の OSS を利用して皆さん独自のデータで再学習したい場合にも適用できる方式になります。是非、そちらにも挑戦いただければ嬉しいです。著者もどこかで実験し Blog にできればと考えています。 著者 中島 佑樹 西日本のお客様をメインで担当するソリューションアーキテクト。社会人博士を修了したことをきっかけに AIML を得意分野としている。 システム一般のテーマや Amazon Bedrock を用いた生成系 AI のシステム開発、Amazon SageMaker Studio Lab を用いた AIML への入門まで幅広く活動。
みなさんこんにちは! アマゾンウェブサービスジャパン合同会社 ソリューションアーキテクトの Yuan です。 2023 年 10 月 26 日に「第三十五回 アップデート紹介とちょっぴり DiveDeep する AWS の時間」をオンラインで開催しました。本イベントは、AWS の数あるアップデートの中から「すぐ使える、運用に役立つ、あったらいいなと思ってた、おもしろい、重要」なものをピックアップし、ちょっぴり DiveDeep してカジュアルな雰囲気でお伝えするイベントです。 今回は「Serverless 編」ということで、 実際に AWS の Serverless 関連サービスをご利用いただいているお客様から事例やサービスの機能についてご紹介頂きました。 今回も非常に多くの方にご参加いただきました。ご参加いただいた皆様、誠にありがとうございました。 実施内容 今回はいつもの 5 分間アップデート以外に、ゲストスピーカーの株式会社ゼンリンデータコムの 新谷 亮人様、株式会社 Serverless Operations の 金 仙優 様、Ragate 株式会社 久保 翔太 から AWS の Serverless サービスを用いたサービス構築・運用の事例についてご紹介頂きました。合計 1 時間半の中で盛りだくさんの内容でお送りしました。 本記事の中に資料や動画のリンクを記載しておりますので、ぜひご活用ください! 当日参加したメンバー アジェンダ 今月のお勧め 5 分間アップデート (5 分) スピーカー : アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト 高橋 佑里子 今月の AWS のサービスアップデートを 5 分でご紹介しました。多くのアップデートの中から以下の 3 つをピックアップしました。 Amazon Bedrock が一般利用可能に ハンズオン (日本語) Generative AI Use Cases JP (日本語) AWS Lambda のバースト同時実行数のクォータが soft limit に Amazon OpenSearch Service が OpenSearch バージョン 2.9 をサポート開始 AWS の新着情報については 公式ページ のほか、毎週のアップデート情報をまとめて発信している 週刊 AWS を合わせてご覧頂くことがオススメです! 100 台のサーバー運用からの脱却を目指して:初めての AWS サーバレス環境構築の裏側 (15 分) スピーカー : 株式会社ゼンリンデータコム 新谷 亮人 様 ゼンリンデータコムが長年にわたり提供する月間数億 PV の「店舗案内パッケージ」サービスが、AWS サーバーレスアーキテクチャとマイクロサービス化によりマルチテナント型の SaaS として進化しました。本セッションでは、15 年間で肥大化したモノリシックな環境からマイクロサービス・サーバレス環境への移行について、AWS のサービス選定、疎結合構成のメリット、AWS Lambda リリースや構成管理の課題などを失敗談も含めてご紹介します。サーバレス環境に興味はあるけれど踏み出せない、サーバレス導入を検討している方向けのセッションです。 人気番組の新作配信を安定起動させた、サーバーレスな AWS 分散負荷試験ソリューション「Distributed Load Testing」を使った負荷試験の仕組み (15 分) スピーカー : 株式会社 Serverless Operations COO 金 仙優 様 サーバーレス構成における「負荷試験」は、アクセススパイク時のパフォーマンス面のみならず、安定性、コストなど様々な面において最適化を行うための手段になります。このセッションでは、某人気番組が配信される度に激しいアクセススパイクに見舞われ、毎回サーバーが落ちていた VOD サービスを完全リニューアル、その番組の新作エピソードを問題なく配信できるまでの対応についてご説明します。特に、負荷試験で利用した AWS の分散負荷試験ソリューション「Distributed Load Testing」に焦点を当てて解説いたします。アクセススパイク以外でも、サーバーレスにおいて負荷試験を行う目的とメリットは多々ありますので、その点も合わせてお伝えしていきます。 【RDB 開発者向け】Amazon DynamoDB 設計ベストプラクティス事例紹介 (15 分) スピーカー : Ragate 株式会社 開発部プロジェクトマネージャー 久保 翔太 様 Amazon RDS とAmazon DynamoDB はどちらを選択するのが最適なのか。また、Amazon DynamoDB の設計のベストプラクティスに悩んでいる方向けに、自社の事例を交えて解説致します。 AWS マルチアカウント戦略を採用したサーバーレスアプリケーションの管理と運用 (15 分) スピーカー : 木村情報技術株式会社 システム開発本部 第三開発部 徳山 鐘三 様 AWS Lambda にて Docker ランタイムが利用できるようになったことにより、アプリケーション開発の自由度がより高まりました。またマルチアカウント戦略を取り入れることにより柔軟で管理しやすいアーキテクチャを実現する事ができます。 本セッションではマルチアカウント戦略を取り入れた上での Docker on Lambda を利用したサーバーレスアプリケーションのアーキテクチャや運用方法について、具体的な事例を交えて紹介します。 当日の様子 当日の内容を抜粋してご紹介します。 100 台のサーバー運用からの脱却を目指して:初めての AWS サーバレス環境構築の裏側 [ 資料 、 動画 ] こちらのセッションは株式会社ゼンリンデータコムプロダクト第一開発部シニアエンジニア新谷 亮人様より、15年以上歴史を持つ「店舗案内パッケージ」をサーバーレス構成にリニューアルする道と課題を紹介いただきました。「店舗案内パッケージ」はお客様が持つ店舗情報をホームページ上で案内したり、社内業務に利用したりする可能なサービスで、ビジネスの成長につれて、サーバー台数が100台を超え、パッチ適応などの運用負荷が高くなっていました。そこで、フロントエンドを Angular で SPA 化して、Amazon S3 にホスティングさせ、バックエンドは Amazon API Gateway、AWS Lambda、Amazon DynamoDB 及び Amazon CloudSearch を利用してサーバレス構成にリニューアルしました。そこで得られたメリット及び新たの課題も紹介されました。サーバレス構成を始めたい方には是非おすすめする内容です。 人気番組の新作配信を安定起動させた、サーバーレスな AWS 分散負荷試験ソリューション「Distributed Load Testing」を使った負荷試験の仕組み [ 資料 、 動画 ] 2 つ目のセッションでは、株式会社 Serverless Operations COO 金 仙優様より、サーバーレスな AWS 分散負荷試験ソリューション「Distributed Load Testing」を使った負荷試験の仕組みを紹介いただきました。負荷試験の基本的な考え方、サーバーレスで負荷試験を行うメリットを解説した上、AWS 公式展開している Distributed Load Testing on AWS ソリューション を活用して、動画配信サービスのサービス品質を安定させた事例を紹介しました。Distributed Load Testing on AWS で負荷試験を実施したことで、スパイクなトラフィックが発生した際の DynamoDB のホットパーティションニング問題を特定して解決しました。サーバーレスで負荷試験を実施したい方はぜひご確認ください。 【RDB 開発者向け】Amazon DynamoDB 設計ベストプラクティス事例紹介 [ 資料 、 動画 ] 3 つ目のセッションでは、Ragate 株式会社開発部プロジェクトマネージャー久保 翔太様より、Amazon DynamoDB 設計ベストプラクティスを紹介いただきました。Amazon DynamoDB はサーバーレスの大規模で高速なキーバリューデータベースですが、テーブル設計の考えは従来のリレーショナルデータベースと異なります。こちらのセッションでは RDB 開発者視点から Amazon DynamoDB を扱う際のテクニックと事例を紹介しました。Amazon DynamoDB のインデックスを設計する際の注意事項、実際のサービスにはどうモデリングしたのかの説明など有用な情報も含まれているので、これから Amazon DynamoDB を始めたい方には非常におすすめです。ご興味のある方はぜひご確認ください。 AWS マルチアカウント戦略を採用したサーバーレスアプリケーションの管理と運用&nbsp; [ 資料 、 動画 ] 最後のセッションでは、木村情報技術株式会社 システム開発本部第三開発部徳山 鐘三様より、AWS マルチアカウント戦略を採用したサーバーレスアプリケーションの管理と運用を紹介いただきました。こちらのセッションでは、木村情報技術株式会社様の Biznar の事例を中心に、実際に Ruby on Rails のアプリケーションを Docker on Lambda でサーバレス化した際の管理・運用、マルチアカウント戦略をとっていた際の経験を紹介しました。事例では、安価に Rails アプリケーションと同じ感覚でサーバーレスアプリケーションを構築できました。また、各テナントに独自の AWS アカウントを用意して、高い隔離性やアカウント別の請求を実現することができ、AWS Control Tower、AWS Config、AWS Security Hub でアカウント統制を行いました。Ruby on Rails のアプリケーションのサーバーレス化、マルチアカウントの運用を検討している方におすすめの内容です。ご興味のある方はぜひご覧いただきたいです。 いただいたご質問とその回答 「5 分間アップデート」について Q. 東京リージョンの Bedrock で ELYZA (llama2ベースの日本語学習 モデル) は使用できますか? A. 東京リージョンの Bedrock で ELYZA は現在ご利用いただけません。ロードマップについて詳細はお伝えできませんが、llama 2 は近日公開予定となっております。 次回予告 次回は「Disaster Recovery 編」です。 ゲストスピーカーとして、株式会社マーズフラッグの 佐々木 崇之 様、エムオーテックス株式会社 の 立古 佳大 様、株式会社 Works Human Intelligence の 兒玉 拓也 様、株式会社ブイキューブの 岩上 蘭 様及び 中尾 真夕 様をお招きしまして、AWS での Disaster Recovery (DR) を中心に 4 セッションをご提供します。 次回も多くの方々のご参加を心よりお待ちしております! 『アップデート紹介とちょっぴり DiveDeep する AWS の時間』の視聴申し込みでは複数月分をまとめてご選択頂くことが可能です!また、イベント開催直前にリマインドメールをお送りいたします。下記リンクから参加ご希望月の申し込みをお願いいたします。 第三十六回「アップデート紹介とちょっぴり DiveDeep する AWS の時間」- Disaster Recovery 編- 開催日時:2023 年 11 月 16 日(木)16:00 – 17:30 オンライン開催 アジェンダ 16:00 – 16:10 オープニングセッション 16:10 – 16:25 BCP の改善へ向けた可用性向上 ~Amazon RDS 周りを中心に~ スピーカー: 株式会社マーズフラッグ サービスプラットフォーム部、シニアエンジニア 佐々木 崇之 氏 16:25 – 16:40 ある日「DR やって?」と言われたら – 開発・運用現場が始める DR の第一歩 スピーカー: エムオーテックス株式会社 開発本部 サービス開発1部 サービス開発1課 SREグループ 立古 佳大 氏 16:40 – 16:45 Q&amp;A 16:45 – 17:00 コールドスタンバイによる DR 対策とフェールオーバーやフェールバックの定義について スピーカー: 株式会社 Works Human Intelligence Engineer 兒玉 拓也 氏 17:00 – 17:15 AWS マルチアカウント戦略を採用したサーバーレスアプリケーションの管理と運用 スピーカー: 株式会社ブイキューブ 技術本部 新規開発グループ インフラチーム 岩上 蘭 氏 スピーカー: 株式会社ブイキューブ 技術本部 新規開発グループ 開発チーム 中尾 真夕 氏 17:15 – 17:20 Q&amp;A 17:20 – 17:30 クロージングセッション このブログの著者 袁 嘉希 ( Yuan Jiaxi ) ソリューションアーキテクトとして ISV/SaaS 系のお客様の技術支援を行っております。
みなさん、こんにちは。ソリューションアーキテクトの下佐粉です。 今週も 週刊AWS をお届けします。 最近急に寒くなってきましたね。近年はこの季節になると技術系のアドベントカレンダーが作られることが多くなっていますが、AWSに関連するアドベントカレンダーも色々とありますので、いくつか紹介します。 – Amazon Bedrock Advent Calendar 2023 – Anthropic Claude Advent Calendar 2023 – AWS Analytics Advent Calendar 2023 – AWS CDK Advent Calendar 2023 – AWS Lambda と Serverless Advent Calendar 2023 興味のあるジャンルにぜひ気軽に参加してみてください。 それでは、先週の主なアップデートについて振り返っていきましょう。今週は発表が多めでしたので、本稿で取り上げる数も少し多くなっています。そのため、説明はできるだけ簡素にしています。 2023年11月6日週の主要なアップデート 11/6(月) AWS Lambda supports faster polling scale-up rate for Amazon SQS as an event source Amazon SQSをイベントソースにした場合の AWS Lambda の同時実行数が最大で300まで増加可能になりました(旧来は60でした)。これにより、より大きいイベントのスパイクに対応できるようになりました。 Amazon MWAA now supports Apache Airflow version 2.7 and deferrable operators Amazon Managed Workflows for Apache Airflow (MWAA) で Apache Airflow version 2.7 環境が利用可能になりました。合わせて(Airflow 2.2から導入されていた) deferrable operatorもMWAAで利用可能になりました。deferrable operatorは、何か外部タスク等の完了を待つ必要がある際に、完了するまでの間ワーカースロットを開放して他のジョブにあてるための仕組です。 詳細はこちらのブログをご覧ください 。 AWS Fargate now enables Amazon ECS tasks to selectively leverage SOCI Amazon ECS + AWS Fargate の環境においてSOCIの利用がより柔軟になりました。これまでは(重い)コンテナイメージをLazy loadしたい場合はECSのタスク定義内のコンテナイメージすべてにSOCI(インデックス)を作成しておく必要がありましたが、この改善によりLazy LoadしたいコンテナイメージのみにSOCIを準備するだけで良くなりました。 11/7(火) Amazon ElastiCache now supports network-optimized C7gn Graviton3-based nodes Amazon ElastiCache で Graviton3 ベースの C7gn ノードを利用可能になりました。ElastiCache C7gn ノードは第5世代 AWS Nitro Card を活用してより高いネットワークバンド幅を提供します。 AWS announces general availability of Amazon Aurora MySQL zero-ETL integration with Amazon Redshift Amazon Aurora MySQL zero-ETL integration with Amazon Redshift&nbsp;がGA(一般提供開始)になりました。東京リージョンでも利用可能になっています。この機能は、Aurora MySQL の表の更新をニアリアルタイムでRedshiftにレプリケーションする仕組みで、ETLインフラの構築不要で利用できます。また、Zero-ETL機能自体の費用は無料です。 本機能が対応している Aurora は Amazon Aurora Serverless v2 (MySQL) もしくはプロビジョン型のAurora MySQLで、Redshift側は、Amazon Redshift Serverlessもしくはプロビジョン型のAmazon Redshift RA3インスタンスです。 詳細はこちらのブログをご覧ください 。 11/8(水) Amazon Kinesis Video Streams WebRTC Ingestion is now generally available Amazon Kinesis Video Streams のWebRTCインテグレーションがGA(一般提供開始)になりました。本機能を使うことで、WebRTCに準拠したIoT機器、ブラウザ等からのデータを容易にKinesis Video Streamsに渡すことが可能になります。 AWS announces Amazon Aurora PostgreSQL Optimized Reads Amazon Aurora PostgreSQLで、Optimized Reads機能が利用可能になりました。これは内蔵のNMVe SSDをキャッシュとして活用することで読み取り性能を改善するものです。db.r6gd、db.r6idインスタンスで利用可能です。 QuickSight launches FLOAT data type support for SPICE datasets BIサービスの Amazon QuickSight にFLOAT型が追加されました。これまでもDECIMAL(固定小数点)が提供されていましたが、これは小数点以下の桁が4桁まででした。FLOAT(浮動小数点)はより小さい桁を扱う場合に適した型です。 11/9(木) Amazon SNS increases default FIFO topic throughput by 10x to 3,000 messages per second Amazon SNS の FIFO (First-In-First-Out)トピックの最大スループットが、従来の300メッセージ/秒から、10倍の3,000メッセージ/秒まで引き上げられました。 Amazon RDS for Oracle now supports Oracle Multitenant Amazon RDS for Oracle で Oracle Multitenant 構成が利用可能になりました。 Oracle Database 19c, 21c で利用可能です。Oracle Multitenant 構成を利用することで、ベースとなる multitenant container database (CDB) の中に複数のpluggable database (PDB)がホストできるようになります。 Amazon RDS for MySQL delivers up to 3X higher write throughput at no additional charge Amazon RDS for MySQL で MySQL 8.0.35 が利用可能になりました。8.0.35では前バージョンの8.0.34と比較して最大で3倍の書き込みスループットを実現しています。 Amazon OpenSearch Service introduces Neural Search Amazon OpenSearch Service で、Neural Searchが利用可能になりました。OpenSearch 2.9 以降で利用可能です。Neural Search はこれまでの OpenSearch を活用したベクトル検索を更に進化させた機能で、これまで外部で実行する必要のあったモデルによる処理を OpenSearch 内部で実行することで、ベクトル検索をワンストップで実行可能にします。 Amazon FSx for OpenZFS is now available in ten additional AWS Regions Amazon FSx for OpenZFS を利用可能なリージョンが追加され、大阪リージョンを含む10のリージョンで新たに利用可能になりました。これにより、大阪リージョンでAmazon FSx for NetApp Ontap, for OpenZFS, for Windows File Server, for Lustre の4種類全てが利用可能になりました。 Amazon SQS announces support for JSON protocol Amazon SQS の通信プロトコルとしてJSON protocolが利用可能になりました。これにより旧来のAWS Query protocolと比較してより短いレイテンシでの通信が可能になります。AWS SDKを最新バージョンに更新することで、JSON protocolがデフォルトで利用されるようになりますので、アプリケーションコードの変更は不要です。 Amazon Aurora Global Database for PostgreSQL now supports write forwarding Amazon Aurora Global Database for PostgreSQL でwrite forwardingが利用可能になりました(for MySQLでは以前より利用可能です)。write forwardingは、secondaryリージョンにて書き込みSQLが実行された際に、primaryリージョンに転送して実行するというものです。 AWS Lambda adds support for Amazon Linux 2023 AWS Lambda のマネージドランタイム、およびコンテナベースイメージとして、 Amazon Linux 2023 が利用可能になりました。 11/10(金) Amazon CloudFront announces unified security dashboard Amazon CloudFront のコンソールに、統合セキュリティダッシュボードが追加されました。例えば、AWS WAF への攻撃の状況等を一元的に確認することが可能です。 詳細はこちらのブログをご覧ください 。 最後に1つハンズオン資料の紹介を。お問い合わせいただく事が多い Generative AI (生成系 AI) に関するAWSサービスを体験するハンズオンが公開されています。社内データを活用したチャットボットや要約、文章校正、画像生成などの構築を体験することができます。興味がある方はぜひトライしてみてください。 – 生成系 AI 体験ワークショップ それでは、また来週! ソリューションアーキテクト 下佐粉 昭 (twitter – @simosako )