TECH PLAY

AWS

AWS の技術ブログ

2961

5 月 6 日、 Amazon Elastic Block Store (Amazon EBS) のボリューム初期化のプロビジョンドレートの一般提供の開始を発表しました。これは、 Amazon Simple Storage Service (Amazon S3) に保存されたボリュームの耐久性の高いバックアップである EBS スナップショットから新しい EBS ボリュームへのデータ転送を高速化する機能です。 Amazon EBS のボリューム初期化のプロビジョンドレートを使用すると、予測可能な時間内に、完全にパフォーマンスを発揮できる状態になった EBS ボリュームを作成できます。この機能を使用すると、数百の同時ボリュームとインスタンスの初期化を高速化できます。また、既存の EBS スナップショットから復旧する必要があり、EBS ボリュームを可能な限り迅速に作成して初期化する必要がある場合にも、この機能を使用できます。この機能を使用すると、別のアベイラビリティーゾーン、AWS リージョン、または AWS アカウントで、EBS スナップショットを含む EBS ボリュームのコピーを迅速に作成できます。ボリュームごとのボリューム初期化のプロビジョンドレートは、スナップショット全体のサイズと、指定されたボリューム初期化レートに基づいて課金されます。 この新機能は、100 MiB/秒から 300 MiB/秒の間で指定した一定のレートで、EBS スナップショットから EBS ボリュームにデータを取得することで、ボリューム初期化プロセスを高速化します。このボリューム初期化レートは指定可能であり、スナップショットブロックはこのレートで Amazon S3 からボリュームにダウンロードされます。 ボリューム初期化レートを指定することで、予測可能な時間内に、完全にパフォーマンスを発揮できる状態になったボリュームを作成できるため、運用効率を高め、想定完了時刻を明確化できます。アプリケーションのリカバリやテストおよび開発用のボリュームコピーなどのワークフローで、 fio / dd などのユーティリティを実行してボリューム初期化を高速化することで、ワークフローの一貫性と予測可能性を維持しながら、そのようなスクリプトの管理に伴う運用上の負担を軽減できます。 ボリューム初期化レートの指定を開始する 開始するには、EC2 インスタンスを起動するとき、またはスナップショットからボリュームを作成するときに、ボリューム初期化レートを選択できます。 1.EC2 起動ウィザードでボリュームを作成する EC2 コンソール の起動ウィザードで新しい EC2 インスタンスを起動する際に、 [ストレージ (ボリューム)] セクションで希望する [ボリューム初期化レート] を入力できます。 また、 EC2 起動テンプレート を作成および変更する際にも、ボリューム初期化レートを設定できます。 AWS コマンドラインインターフェイス (AWS CLI) では、 run-instances コマンドを呼び出す際に、ブロックデバイスマッピングに VolumeInitializationRate パラメータを追加できます。 aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t2.micro \ --subnet-id subnet-08fc749671b2d077c \ --security-group-ids sg-0b0384b66d7d692f9 \ --key-name MyKeyPair \ --block-device-mappings file://mapping.json mapping.json の内容。この例では、サイズが 8 GiB の空の EBS ボリューム ( /dev/sdh ) を追加します。 [ { "DeviceName": "/dev/sdh", "Ebs": { "VolumeSize": 8 "VolumeType": "gp3", "VolumeInitializationRate": 300 } } ] 詳細については、 ブロックデバイスマッピングのオプション にアクセスしてください。これは、インスタンスの起動時にアタッチする EBS ボリュームとインスタンスストアボリュームを定義します。 2.スナップショットからボリュームを作成する スナップショットからボリュームを作成する場合は、 EC2 コンソール で [ボリュームを作成] を選択し、 [ボリューム初期化レート] を指定することもできます。 初期化レートで新しいボリュームを確認します。 AWS CLI では、 create-volume コマンドを呼び出す際に、 VolumeInitializationRate パラメータを使用できます。 aws ec2 create-volume --region us-east-1 --cli-input-json '{ "AvailabilityZone": "us-east-1a", "VolumeType": "gp3", "SnapshotId": "snap-07f411eed12ef613a", "VolumeInitializationRate": 300 }' コマンドが正常に実行されると、以下の結果が表示されます。 { "AvailabilityZone": "us-east-1a", "CreateTime": "2025-01-03T21:44:53.000Z", "Encrypted": false, "Size": 100, "SnapshotId": "snap-07f411eed12ef613a", "State": "creating", "VolumeId": "vol-0ba4ed2a280fab5f9", "Iops": 300, "Tags": [], "VolumeType": "gp2", "MultiAttachEnabled": false, "VolumeInitializationRate": 300 } EC2 インスタンスのルートボリュームを置き換えたり、 EBS コンテナストレージインターフェイス (CSI) ドライバー を使用して EBS ボリュームをプロビジョニングしたりする際に、ボリューム初期化レートを設定することもできます。 ボリュームの作成後、EBS はハイドレーションの進行状況を追跡し、ハイドレーションが完了するとアカウントに EBS についての Amazon EventBridge 通知 を発行します。これにより、ボリュームが完全にパフォーマンスを発揮できる状態になったことを確認できます。 詳細については、「Amazon EBS ユーザーガイド」の「 Create an Amazon EBS volume 」と「 Initialize Amazon EBS volumes 」にアクセスしてください。 今すぐご利用いただけます Amazon EBS のボリューム初期化のプロビジョンドレートが、本日からすべての EBS ボリュームタイプでご利用可能になり、サポートされるようになりました。スナップショット全体のサイズと、指定されたボリューム初期化レートに基づいて課金されます。 詳細については、「 Amazon EBS の料金 」のページにアクセスしてください。 この機能を含む Amazon EBS の詳細については、AWS Skill Builder ポータルで無料のデジタルコースを受講してください。コースには、ユースケース、アーキテクチャ図、デモが含まれています。 今すぐ Amazon EC2 コンソール でこの機能をお試しいただき、 AWS re:Post for Amazon EBS に、または通常の AWS サポート担当者を通じて、フィードバックをぜひお寄せください。 – Channy 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載されているとおりにお客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
この記事は A deep dive into Amazon EKS Hybrid Nodes (記事公開日: 2024 年 1 月 27 日) を翻訳したものです。 この記事は、AWS の Kubernetes Principal Product Manager である Chris Splinter、AWS の Sr. Container Specialist Solutions Architect である Elamaran Shanmugam、AWS の Containers Specialist Solutions Architect である Re Alvarez Parmar が執筆しました。 Amazon Elastic Kubernetes Service (Amazon EKS) の新機能である Amazon EKS Hybrid Nodes の一般提供を re:Invent 2024 で発表できることをうれしく思います。EKS Hybrid Nodes を使用すると、ユーザーはオンプレミスとエッジのインフラを Amazon EKS クラスターのノードとして使用できるため、クラウド・オンプレミス・エッジ環境にわたって統一された Kubernetes の管理体験を実現できます。これは、モダナイゼーション・機械学習(ML)・メディアストリーミング・製造ワークロードなど、さまざまなユースケースで使用できます。 AWS クラウドで、新規開発あるいはモダナイズされたアプリケーションのために Kubernetes を利用しているユーザーは、しばしばこれらの機能をオンプレミスおよびエッジ環境で実行されているアプリケーションの管理にまで拡張したいと考えています。これは、レイテンシーの低減、データ依存性、データ主権、規制、ポリシー上の理由からです。 これまで、オンプレミスのデータセンターやエッジ環境で Kubernetes を実行しようとするユーザーは、オープンソースの Kubernetes やそれに似たセルフマネージド Kubernetes ソリューションを実行および運用する必要がありました。 オンプレミスでの Kubernetes を自身で運用することは複雑で、運用上のオーバーヘッドを追加することになり、最終的にはイノベーションとモダナイゼーションの計画を遅らせることになります。 EKS Hybrid Nodes は、ユーザーがオンプレミスおよびエッジの既存のキャパシティをマネージドな Amazon EKS コントロールプレーンにノードとして接続できるようにすることで、その複雑さとオーバーヘッドを削減します。 これにより、オンプレミスでの Kubernetes の運用を効率化し、クラウドでワークロードを実行するためにユーザーが慣れ親しんだ EKS クラスター、機能、インテグレーション、ツールを使用して、オンプレミスでの一貫した運用体験が可能になります。 オーバービュー EKS Hybrid Nodes を使用するには、オンプレミスのネットワークと EKS クラスターのある Amazon Virtual Private Cloud (Amazon VPC) 間の接続が必要です。 AWS Direct Connect 、 AWS Site-to-Site VPN 、独自の VPN ソリューションを使用して、EKS クラスターとハイブリッドノード間のプライベート接続を作成できます。EKS Hybrid Nodes は、Amazon EKS のコントロールプレーンからワーカーノードへの通信に使用されている 既存の仕組み を再利用します。 したがって、 AWS リージョン 上の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスとオンプレミス環境で実行されているハイブリッドノードの両方を、同じ EKS クラスター内で実行できます。 EKS Hybrid Nodes は「Bring Your Own Infrastructure」のアプローチを使用しており、ハイブリッドノードとして使用するインフラストラクチャとオペレーティングシステムのプロビジョニングと管理はお客様の責任となります。 既存のベアメタルサーバーまたは仮想化されたインフラストラクチャをハイブリッドノードのコンピューティングとして使用できます。現在、Amazon Linux 2023、Ubuntu、Red Hat Enterprise Linux (RHEL) が、ハイブリッドノードとの互換性のため AWS でサポートされているオペレーティングシステムです。 EKS Hybrid Nodes は、オンプレミスの各ホストで実行する EKS Hybrid Nodes CLI (nodeadm) を使用してインストールされ、EKS クラスターに接続できます。 あるいは、ハイブリッドノードのブートストラップの自動化のために、ゴールデン OS イメージに nodeadm とハイブリッドノードの依存関係を含めることができます。これは、クラウドの EC2 インスタンスの Amazon EKS 最適化 Amazon Machine Images (AMI) で使用される仕組みと同様です。 ハイブリッドノードが EKS クラスターへの接続を試みると、 AWS Systems Manager ハイブリッドアクティベーションまたは IAM Roles Anywhere によってプロビジョニングされた一時的な AWS Identity and Access Management (IAM) 認証情報を使用して、ハイブリッドノードを EKS コントロールプレーンに安全に接続します。 EKS Hybrid Nodes は、CoreDNS・kube-proxy・ Amazon Managed Service for Prometheus エージェントレススクレイパー・ AWS Distro for Open Telemetry ・CloudWatch Observability Agent・IAM Roles for Service Accounts (IRSA)・EKS Pod Identity など、クラスターネットワーキング、可観測性、Pod 認証のためのいくつかの Amazon EKS アドオンと機能もサポートしています。 Pod ネットワーキングの場合、ハイブリッドノードで使用するために Cilium と Calico Container Networking Interface (CNI) がサポートされています。 EKS Hybrid Nodes の仕組みの詳細については、 EKS Hybrid Nodes ユーザーガイド を参照してください。 アーキテクチャ EKS Hybrid Nodes を使用する前に、クラウドにホストされた Amazon EKS コントロールプレーンとお客様の環境で実行されているハイブリッドノード間のネットワークフローを理解する必要があります。ハイブリッドノードとそれらで実行されるリソースに使用するノードと Pod のネットワークは、IPv4 RFC-1918 Classless Inter-Domain Routing (CIDR) を使用する必要があります。 ハイブリッドノード対応の EKS クラスターを作成するときに、これらのオンプレミスのノードと Pod ネットワークの CIDR を渡します。VPC とオンプレミスのルーティングテーブルは、エンドツーエンドのハイブリッドノードのトラフィックフローのために、このようなネットワークで構成する必要があります。 ハイブリッドノードのネットワーキング要件の詳細については、Amazon EKS ユーザーガイドの「 ハイブリッドノード用のネットワークを準備する 」を参照してください。 図 1 : EKS Hybrid Nodes のハイブリッドネットワーキングアーキテクチャ 次の表は、ハイブリッドノードのネットワーキングアーキテクチャの主要な部分をまとめたものです。 環境 コンポーネント 説明 AWS リージョン EKS クラスター設定 ログ、kubectl exec、ポートフォワードなどの Kubernetes 操作のため、EKS コントロールプレーンと kubelet 間の通信に EKS クラスター RemoteNodeNetwork 設定が必要です。 AWS リージョン EKS クラスター設定 EKS コントロールプレーンと Webhook 間の通信には、 EKS クラスター設定 の RemotePodNetwork が必要です。 RemotePodNetwork は設定することをおすすめしますが、もしハイブリッドノードで Webhook を実行していない場合、厳密には必要ありません。 AWS リージョン EKS クラスター VPC VPC のルーティングテーブルには、VPC からのトラフィックの出口として使用しているゲートウェイをターゲットとして、 RemoteNodeNetwork および RemotePodNetwork を送信先とするルートが必要です。ゲートウェイは通常、 AWS Transit Gateway または Virtual Private Gateway (VGW) になります。 AWS リージョン EKS クラスター セキュリティグループ EKS コントロールプレーンへのインバウンドアクセスと、 RemoteNodeNetwork および RemotePodNetwork へのアウトバウンドアクセスを許可する必要があります。 オンプレミス オンプレミス ファイヤウォール EKS コントロールプレーンへのインバウンドアクセスと、 RemoteNodeNetwork および RemotePodNetwork へのアウトバウンドアクセスを許可する必要があります。 オンプレミス オンプレミス ルーター オンプレミスルーターは RemoteNodeNetwork および RemotePodNetwork へのトラフィックをルーティングできなければなりません。 オンプレミス Container Networking Interface (CNI) CNI で設定するオーバーレイネットワーク CIDR は、 RemotePodNetwork と同じでなければなりません。ホストネットワーキングを使用している場合は、ノード CIDR が RemoteNodeNetwork と同じである必要があります。 ウォークスルー このウォークスルーでは、Systems Manager ハイブリッドアクティベーションを使用してハイブリッドノードの IAM 認証情報を設定し、ハイブリッドノード対応の EKS クラスターを作成し、ハイブリッドノードを EKS クラスターに接続し、アプリケーションの実行準備が整うように Cilium CNI をインストールします。このウォークスルーでは、EKS クラスターの作成に AWS Command Line Interface (AWS CLI) と AWS CloudFormation を使用していますが、 AWS マネジメントコンソール 、eksctl CLI、 Terraform などの他のインターフェースを代わりに使用することもできます。 前提条件 このソリューションを完了するには、以下の前提条件が必要になります。 オンプレミス環境と AWS 間のハイブリッドネットワーク接続 物理マシンや仮想マシンなどのインフラストラクチャ ハイブリッドノードと互換性のあるオペレーティングシステム AWS CLI バージョン 2.22.8 以降、または適切な認証情報を持つ 1.36.13 以降 eksctl CLI このウォークスルーの手順を実行する IAM ユーザーは、次のアクションの IAM アクセス許可を持っている必要があります: iam:CreatePolicy 、 iam:CreateRole 、 iam:AttachRolePolicy 、 ssm:CreateActivation 、 eks:CreateCluster ハイブリッドノードのための認証情報の準備 クラウド上の EC2 インスタンスで動作している EKS ノードと同様に、ハイブリッドノードは EKS コントロールプレーンに接続するために IAM ロールを必要とします。次に、ハイブリッドノードの IAM ロールは、Systems Manager ハイブリッドアクティベーションまたは IAM Roles Anywhere とともに使用され、一時的な IAM 認証情報がプロビジョニングされます。一般的に、オンプレミス環境に既存の公開鍵基盤(PKI)と証明書がない場合は、Systems Manager ハイブリッドアクティベーションを推奨します。既存の PKI と証明書がある場合は、これらを IAM Roles Anywhere で使用できます。 ハイブリッドノードに使用する IAM ロールには、以下のアクセス許可が必要です。 ハイブリッドノードが EKS クラスターに接続する際に、EKS クラスターの情報を収集する必要があります。そのためには、ハイブリッドノード CLI ( nodeadm ) が eks:DescribeCluster アクションを実行するためのアクセス許可が必要です。 eks:DescribeCluster アクションを有効にしない場合は、 nodeadm init を実行するときに nodeadm に渡すノードの設定に、Kubernetes API エンドポイント、クラスター CA バンドル、サービス IPv4 CIDR を指定する必要があります。 AmazonEC2ContainerRegistryPullOnly ポリシーで定義されているような、 Amazon Elastic Container Registry (Amazon ECR) からコンテナイメージを取得する kubelet のためのアクセス許可が必要です。 Systems Manager を使用する場合は、 AmazonSSMManagedInstanceCore ポリシーで定義されているような nodeadm init が Systems Manager ハイブリッドアクティベーションを使用するためのアクセス許可と、 nodeadm uninstall でインスタンスの登録を解除するための ssm:DeregisterManagedInstance アクションと ssm:DescribeInstanceInformation アクションを使用するアクセス許可が必要です。 これらのステップでは、AWS CLI と CloudFormation を使用して、前述のアクセス許可を持つハイブリッドノードの IAM ロールを作成します。次に、AWS CLI を使用して、ハイブリッドノードの IAM ロールを使用して Systems Manager ハイブリッドアクティベーションを作成します。 まず最初に、CloudFormation テンプレートを AWS CLI を実行するマシンにダウンロードします。 curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ssm-cfn.yaml' Bash デフォルトでは、CloudFormation テンプレートは ssm:DeregisterManagedInstance のアクセス許可を、ハイブリッドノードの IAM ロールがクラスター用に作成したハイブリッドアクティベーションに関連付けられたインスタンスのみ登録解除できるよう制限しています。ハイブリッドノードの IAM ロールのアクセス許可で使用される SSMDeregisterConditionTagKey と SSMDeregisterConditionTagValue は、後のステップで示す Systems Manager ハイブリッドアクティベーションの作成時に適用するタグと対応している必要があります。 # Define environment variables EKS_CLUSTER_NAME = my-hybrid-cluster AWS_ACCOUNT_ID = $( aws sts get-caller-identity --query 'Account' --output text ) AWS_REGION = ${AWS_REGION := us-west-2} EKS_CLUSTER_ARN = arn:aws:eks: ${AWS_REGION} : ${AWS_ACCOUNT_ID} :cluster/ ${EKS_CLUSTER_NAME} ROLE_NAME = AmazonEKSHybridNodesRole # Create cfn-ssm-parameters.json cat << EOF > cfn-ssm-parameters.json { "Parameters": { "RoleName": " $ROLE_NAME ", "SSMDeregisterConditionTagKey": "EKSClusterARN", "SSMDeregisterConditionTagValue": " $EKS_CLUSTER_ARN " } } EOF Bash CloudFormation スタックをデプロイします。 AWS_REGION をハイブリッドアクティベーションを作成する希望の AWS リージョンに置き換えます。 ハイブリッドアクティベーションのリージョンは、EKS クラスターのリージョンと同じである必要があります。 aws cloudformation deploy \ --stack-name EKSHybridRoleSSM \ --region ${AWS_REGION} \ --template-file hybrid-ssm-cfn.yaml \ --parameter-overrides file://cfn-ssm-parameters.json \ --capabilities CAPABILITY_NAMED_IAM Bash ハイブリッドノードの IAM ロールを作成した後、次のステップはその IAM ロールを使用して Systems Manager ハイブリッドアクティベーションを作成することです。 デフォルトでは、Systems Manager ハイブリッドアクティベーションは 24 時間有効で、最大有効期限は 30 日です。 ハイブリッドアクティベーションを作成するときに、 2024-08-01T00:00:00 のようなタイムスタンプ形式で --expiration-date を指定できます。 Systems Manager を認証情報プロバイダーとして使用する場合、ハイブリッドノードのノード名は設定できず、 mi-012345678abcdefgh という形式で Systems Manager によって自動生成されます。Systems Manager コンソールのFleet Manager 下で、Systems Manager マネージドインスタンスを表示および管理できます。 次のコマンドを使用して、前のステップで作成した IAM ロールを --iam-role フラグで渡して、Systems Manager のハイブリッドアクティベーションを作成します。 前のステップで作成したハイブリッドノードの IAM ロールに設定された信頼ポリシーに対応するハイブリッドアクティベーションを作成するときに適用するタグに注意してください。Systems Manager の create-activation コマンドの出力は、後のステップで EKS クラスターにハイブリッドノードを接続するときに使用するアクティベーションコードとアクティベーション ID が含まれているので、必ず保存してください。 # Define environment variables EKS_CLUSTER_NAME = my-hybrid-cluster AWS_ACCOUNT_ID = $( aws sts get-caller-identity --query 'Account' --output text ) AWS_REGION = ${AWS_REGION := us-west-2} EKS_CLUSTER_ARN = arn:aws:eks: ${AWS_REGION} : ${AWS_ACCOUNT_ID} :cluster/ ${EKS_CLUSTER_NAME} ROLE_NAME = AmazonEKSHybridNodesRole # Create SSM hybrid activation aws ssm create-activation \ --region ${AWS_REGION} \ --default-instance-name eks-hybrid-nodes \ --description "Activation for EKS hybrid nodes" \ --iam-role ${ROLE_NAME} \ --tags Key = EKSClusterARN,Value = ${EKS_CLUSTER_ARN} \ --registration-limit 5 Bash ハイブリッドノードのための EKS クラスターを作成する これらのステップでは、AWS CLI と CloudFormation を使用して、EKS クラスターの IAM ロールとハイブリッドノード対応の EKS クラスターを作成します。 まず最初に、CloudFormation テンプレートを AWS CLI を実行するマシンにダウンロードします。 curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-eks-cfn.yaml' Bash デフォルトでは、CloudFormation テンプレートは EKS クラスターをプライベートエンドポイント接続で作成します。これは、Kubernetes API エンドポイントに VPC 内からのみアクセスできることを意味します。 パブリックエンドポイント接続が必要な場合は、CloudFormation パラメータファイルで ClusterEndpointConnectivity を Public に設定できます。 次の CloudFormation パラメータファイルの例では、ハイブリッドノードの要件を満たす既存のサブネットを使用しています。 これは、Direct Connect を介してオンプレミス環境に接続された Transit Gateway にアタッチされた VPC 内のサブネットです。 Amazon EKS は、EKS コントロールプレーンから VPC への接続性のために、提供されたサブネットに Elastic Network Interfaces (ENI) をアタッチします。 CloudFormation テンプレートは、 RemoteNodeCIDR 、 RemotePodCIDR 、EKS コントロールプレーンからのトラフィックを許可するセキュリティグループも作成します。 cfn-eks-parameters.json ファイル内の値を、ご自身の環境の値に置き換えてください。 cat << EOF > cfn-eks-parameters.json { "Parameters": { "ClusterName": "my-hybrid-cluster", "ClusterRoleName": "EKSHybridClusterRole", "SubnetId1": "subnet-0b65cdc4812345678", "SubnetId2": "subnet-02f526cd012345678", "VpcId": "vpc-0a5f3bee960d6ec71", "RemoteNodeCIDR": "10.80.150.0/24", "RemotePodCIDR": "10.80.2.0/23", "K8sVersion": "1.31" } } EOF Bash CloudFormation スタックをデプロイします。クラスターが作成される希望の AWS リージョンで AWS_REGION を置き換えます。 aws cloudformation deploy \ --stack-name EKSHybridCluster \ --region ${AWS_REGION} \ --template-file hybrid-eks-cfn.yaml \ --parameter-overrides file://cfn-eks-parameters.json \ --capabilities CAPABILITY_NAMED_IAM Bash クラスターのプロビジョニングには数分かかります。次のコマンドで CloudFormation スタックのステータスを確認できます。 aws cloudformation describe-stacks \ --stack-name EKSHybridCluster \ --region ${AWS_REGION} \ --query 'Stacks[].StackStatus' Bash EKS クラスターを作成したら、ハイブリッドノードの IAM ロールを使用して Amazon EKS アクセスエントリを作成します。これにより、ノードがクラスターに参加できるようになります。 詳細については、Amazon EKS ユーザーガイドの「 ハイブリッドノードのクラスターアクセスを準備する 」を参照してください。 # Define environment variables EKS_CLUSTER_NAME = my-hybrid-cluster ROLE_NAME = AmazonEKSHybridNodesRole # Create access entry with type HYBRID_LINUX aws eks create-access-entry \ --cluster-name ${EKS_CLUSTER_NAME} \ --principal-arn ${ROLE_NAME} \ --type HYBRID_LINUX Bash EKS クラスターへのハイブリッドノードのインストールと接続 ハイブリッドノードの IAM ロール、Systems Manager ハイブリッドアクティベーション、EKS Hybrid Nodes が有効化された EKS クラスターを作成した後に、EKS クラスターにハイブリッドノードを作成、アタッチする準備が整います。 x86_64 または ARM の物理マシンや仮想マシンで前提条件を満たしていれば、ハイブリッドノードとして使用できます。 インストール、設定、登録など、ハイブリッドノードのライフサイクル管理を簡略化するために設計された nodeadm と呼ばれる ハイブリッドノード CLI があります。AL2023 Amazon EKS 最適化 AMI に基づいて Amazon EKS 用のカスタム AMI を構築したことがある場合、 nodeadm にすでに慣れているかもしれません。 AL2023 Amazon EKS 最適化 AMI で使用されているクラウドバージョンの nodeadm は、ハイブリッドノードの nodeadm バージョンとは異なるため、デプロイしたい対象に基づいて適切なバージョンを使用する必要があることに注意してください。 ハイブリッドノード CLI はブートストラッププロセスで 2 つのステップを実行します。まず、ホスト上に必要な依存関係(kubelet、containerd、Systems Manager エージェント/IAM Roles Anywhere ツールなど) をインストールします。 次に、依存関係を構成し開始することで、ノードが EKS クラスターに参加できるようにします。Amazon EKS は Packer テンプレート を提供しており、これを使用して Ubuntu と RHEL のハイブリッドノード用のイメージを作成できます。ハイブリッドノードを繰り返し作成したり、ブートストラッププロセスを自動化したい場合は、事前構築済みのイメージを使用することで時間を節約し、個々のホストで依存関係の取得を個別のプロセスとして実行する必要がなくなります。 ハイブリッドノードの依存関係をインストールするには、 nodeadm install コマンドを実行します。 以下の例では、Kubernetes バージョン 1.31 と認証情報プロバイダーとして ssm を使用しています。 EKS Hybrid Nodes は、標準サポートと拡張サポートのもとにある Amazon EKS と同じ Kubernetes バージョンをサポートしています。 ホスト上で root/sudo 権限を持つユーザーで nodeadm を実行する必要があることに注意してください。 sudo nodeadm install 1.31 --credential-provider ssm 必要な依存関係がノードにあるときは、設定のため nodeConfig.yaml を作成します。ノードの設定ファイルには、クラスター情報と認証に使用されるメカニズム(Systems Manager ハイブリッドアクティベーションまたは IAM Roles Anywhere) の 2 つの主要な詳細の設定が含まれています。 以下は、Systems Manager ハイブリッドアクティベーションを使用するハイブリッドノードの nodeConfig.yaml ファイルの例です。 SSM_ACTIVATION_CODE と SSM_ACTIVATION_ID を、前の Systems Manager アクティベーションを作成するステップの出力値に置き換えてください。 apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-hybrid-cluster region: us-west-2 hybrid: ssm: activationCode: SSM_ACTIVATION_CODE activationId: SSM_ACTIVATION_ID Bash ハイブリッドノードを EKS クラスターに接続するには、 nodeConfig.yaml で nodeadm init コマンドを実行します。 sudo nodeadm init -c file://nodeConfig.yaml コマンドが正常に完了し、kubelet のログにエラーがない場合、ハイブリッドノードは EKS クラスターに参加したことになります。 これは、EKS クラスターの「 コンピュートタブ 」に移動 ( IAM プリンシパルが表示権限を持っていることを確認してください ) して EKS コンソールで確認するか、 kubectl get nodes で確認できます。 NAME STATUS ROLES AGE VERSION mi-036ecab1709d75ee1 Not Ready < none > 1h v1.31.2-eks-94953ac Bash クラスターに代替の CNI がまだインストールされていない場合、CNI がインストールされ実行されるまで、接続したノードは Not Ready 状態のままです。 ハイブリッドノードのために CNI をインストール ハイブリッドノードの CNI として Cilium と Calico がサポートされています。これらの CNI は、Helm などのツールを使って管理できます。 Amazon VPC CNI はハイブリッドノードと互換性がなく、VPC CNI はデフォルトで eks.amazonaws.com/compute-type: hybrid ラベルに対して Anti-Affinity が設定されています。 ハイブリッドノードで Cilium と Calico を運用する詳細については、Amazon EKSユーザーガイドの「 ハイブリッドノードの CNI を設定する 」を参照してください。 CNI の DaemonSets がハイブリッドノード上にのみスケジュールされることを保証するために、 nodeadm によってハイブリッドノードがクラスタに参加したときに自動的に適用される eks.amazonaws.com/compute-type=hybrid ラベルに対する Affinity を構成できます。このラベルにより、ワークロードの配置を制御できるようになり、CNI を含むコンポーネントをハイブリッドノード上で実行するかしないかを決定できます。 次の cilium-values.yaml は、Cilium をインストールするための Helm の Values を示しています。ハイブリッドノードのラベルに対するアフィニティと IP Address Management (IPAM) の設定に注意してください。この例では、Cluter Pool overlay IPAM モードを使用しています。ここで clusterPoolIPv4PodCIDRList を設定し、これは EKS クラスター作成時に指定した RemotePodNetwork の CIDR に対応する必要があります。以下の例の 10.80.2.0/23 を RemotePodNetwork の値に置き換えてください。この例では、 clusterPoolIPv4MaskSize が 25 に設定されているため、ノードごとに 128 個の IP アドレスが割り当てられます。 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid ipam: mode: cluster-pool operator: clusterPoolIPv4MaskSize: 25 clusterPoolIPv4PodCIDRList: - 10.80 .2.0/23 operator: unmanagedPodWatcher: restart: false Bash cilium-values.yaml ファイルを設定して作成した後、Helm を使用して Cilium をインストールできます。 CILIUM_VERSION = 1.16 .4 helm repo add cilium https://helm.cilium.io/ helm install cilium cilium/cilium \ --version ${CILIUM_VERSION} \ --namespace kube-system \ --values cilium-values.yaml Bash CNI をデプロイした後、再度 kubectl get nodes を実行し、ノードが Ready 状態であることを確認してください。 NAME STATUS ROLES AGE VERSION mi-036ecab1709d75ee1 Ready < none > 1h v1.31.2-eks-94953ac Bash ハイブリッドノード上で実行されるワークロードの Ingress とロードバランシング 多くのユースケースでは、Kubernetes クラスターで実行されているワークロードは、外部リソースにアクセスできるようにクラスターの外部に公開する必要があります。通常 Kubernetes では Ingress とロードバランサーを介して Service を公開することで実現されます。ハイブリッドノードでは、アプリケーショントラフィックには 2 つの一般的な経路があります。1 つ目は、AWS リージョンからオンプレミスのハイブリッドノード上で実行されているワークロードに接続するアプリケーショントラフィックです。2 つ目は、オンプレミス環境内に留まるアプリケーショントラフィックです。 AWS リージョンから発信されるアプリケーショントラフィックでは、Direct Connect または AWS Site-to-Site VPN で接続されたハイブリッドノード上のワークロードに、ターゲットタイプ ip の Application Load Balancer (ALB) または Network Load Balancer (NLB) と合わせて、 AWS Load Balancer Controller を使用できます。 AWS Load Balancer Controller は webhook を利用するため、ハイブリッドノード上で AWS Load Balancer Controller を実行する場合は、EKS クラスターの作成時に RemotePodNetwork を設定する必要があります。 オンプレミス環境のローカルアプリケーショントラフィックついては、ハイブリッドノードで使用するためのさまざまなパートナーおよび Kubernetes コミュニティのオプションがあります。 オプションを選択する際には、オンプレミス環境の既存のテクノロジーとアプリケーション要件を考慮してください。 オンプレミス環境の一般的なオプションには、Cilium (BGP または L2-aware ロードバランシング)、Calico (BGP ロードバランシング)、MetalLB、NGINX、HAProxy、Apache APISIX、Emissary Ingress、Citrix Ingressが 含まれます。また、Istio などのサービスメッシュテクノロジーも、他のオプションと同様の機能を提供します。 一般的に、Amazon EKS とハイブリッドノードは 100% のアップストリーム Kubernetes と互換性があり、Ingress とロードバランシングのほとんどの Kubernetes オプションを、ハイブリッドノード上で実行されているアプリケーションに使用できます。 クリーンアップ 次のコマンドを使用すると、前のステップで作成したリソースを削除して、料金が発生しないようにすることができます。異なる CloudFormation スタック名を使用した場合は、次のコマンドで EKSHybridRoleSSM と EKSHybridCluster を自身が使用したスタック名に置き換えてください。 aws cloudformation delete-stack --stack-name EKSHybridCluster aws cloudformation delete-stack --stack-name EKSHybridRoleSSM # to remove hybrid nodes components from your hosts sudo nodeadm uninstall --skip node-validation,pod-validation Bash ローンチパートナー EKS Hybrid Nodes のローンチには、Independent Software Vendors(ISV)、Independent Hardware Vendors(IHV)、Operating System vendors(OSV) などの様々なパートナーが参加しました。彼らと協力し、Kubernetes コミュニティの中で活動していくことを楽しみにしています。このローンチに参加したパートナーのリストは以下の通りです。 リストされている ISV のいくつかは、Amazon EKS および EKS Anywhere でサードパーティソフトウェアを検証するためのフレームワークである Conformitron を通じて、ソフトウェアソリューションを検証しました。これにより、GitOps ドリブンなインテグレーションを EKS Hybrid Nodes に拡張しています。 ユーザーは、これらのパートナーが提供する検証済みソリューションをデプロイして、ハイブリッドノードを操作できます。これにより、シークレット管理、ストレージ、デバイスの分散したフリート全体でのサードパーティコンポーネントのメンテナンスなど、一般的な本番環境での準備の領域に対処できます。 AccuKnox (ISV) は、クラウドネイティブと Kubernetes 環境のためのゼロトラストセキュリティソリューションの提供に焦点を当てたサイバーセキュリティ企業です。同社のプラットフォームは、Kubernetes デプロイメントの高度なランタイムセキュリティ、ネットワークセグメンテーション、コンプライアンス自動化を提供します。 AMD (IHV)は、彼らの EPYC プロセッサーとデータセンターおよびクラウドコンピューティングの分野で大きな進歩を遂げている半導体企業です。これらの高性能 CPU は、コンピュート集中型ワークロードの優れた価格パフォーマンス比を実現するように設計されており、Kubernetes デプロイメントにとって魅力的なオプションです。 Aqua (ISV) は、コンテナおよびサーバーレス環境の包括的な保護を提供するクラウドネイティブセキュリティソリューションの主要プロバイダーです。同社のプラットフォームは、ランタイム保護、脆弱性スキャン、コンプライアンス実施を含む、Kubernetes デプロイメントへの高度なセキュリティ機能を提供します。 CIQ (OSV) は、Rocky Linux のハイパフォーマンスコンピューティング (HPC) ソリューションとエンタープライズサポートに特化した企業です。同社は、コンテナ化と Kubernetes オーケストレーションの専門知識を提供しており、特に科学技術コンピューティングワークロードに対応しています。CIQ のソリューションは、コンピュート集中型アプリケーションと HPC 環境向けの Kubernetes デプロイメントの最適化に役立ちます。 Continent 8 Technologies (IHV) は、セキュアホスティングと接続ソリューションに特化したグローバル IT マネージドサービスプロバイダーです。主要なハードウェアベンダーではありませんが、Kubernetes デプロイメントをサポートできるクラウドサービスとインフラを提供しています。Continent 8 の規制市場における専門知識は、グローバルネットワークと組み合わせることで、厳しい規制要件を持つ業界向けの堅牢でコンプライアンスに準拠した Kubernetes クラスターのホスティング環境を AWS サービスと組み合わせて提供できます。 Dell Technologies (IHV) は、サーバー、ストレージ、ネットワーキング機器を含む Kubernetes デプロイメントをサポートできる幅広いハードウェアソリューションを提供する主要グローバルテクノロジー企業です。PowerEdge サーバーと VxRail ハイパーコンバージドインフラストラクチャは、コンテナ化されたワークロードを実行するための堅牢なプラットフォームを提供します。Dell のハードウェアソリューションは、AWS サービスと統合してパワフルなハイブリッドクラウド環境を作成し、オンプレミスとクラウドインフラストラクチャ間でシームレスな Kubernetes デプロイメントを可能にします。 Dynatrace (ISV) は、Kubernetes を含むクラウド環境のアプリケーションパフォーマンスモニタリング(APM) および可観測性ソリューションを提供する主要なソフトウェアインテリジェンスプラットフォームです。この AI 搭載プラットフォームは、AWS 上で実行されているコンテナ化されたアプリケーション、マイクロサービス、Kubernetes クラスターの深い可視性を提供します。 HashiCorp (ISV) は、AWS 上の Kubernetes デプロイメントを強化する一連の強力なオープンソースツールを提供しています。Infrastructure as Code の Terraform、シークレット管理の Vault、サービスネットワーキングの Consul などの製品は、Amazon EKS やその他の AWS サービスとシームレスに統合されます。 Kong (ISV) は、Kubernetes 環境のための堅牢なソリューションを提供する主要な API ゲートウェイおよびサービス接続プラットフォームです。Kubernetes Ingress Controller と API 管理ツールは、Amazon EKS やその他の AWS サービスとシームレスに統合され、マイクロサービスアーキテクチャのトラフィック制御、セキュリティ、可観測性を高めます。 Kubecost (ISV) は、Kubernetes 環境のリアルタイムのコスト可視性と最適化を提供するソフトウェアソリューションです。このプラットフォームは、Amazon EKS やその他の Kubernetes クラスター上で実行されるコンテナ化されたワークロードの詳細なコスト割り当て、モニタリング、予測を提供します。 NetApp (ISV) は、クラウドデータサービスとストレージソリューションのリーダーであり、Kubernetes 環境での永続ストレージの管理に役立つ強力なツールを提供しています。Astra 製品ラインは、スナップショット、バックアップ、AWS で実行される Kubernetes ワークロードの移行機能など、コンテナ化されたアプリケーションのデータ管理機能を提供します。 New Relic (ISV) は、Kubernetes 環境の包括的なモニタリングとパフォーマンス管理ソリューションを提供する主要な可観測性プラットフォームです。このプラットフォームは、Amazon EKS やその他の AWS サービス上で実行されているコンテナ化されたアプリケーション、マイクロサービス、Kubernetes クラスターの深い可視性を提供します。 Nirmata (ISV) は、複数の環境にまたがる Kubernetes クラスターのデプロイ、運用、ガバナンスを簡素化する Kubernetes 管理プラットフォームです。このソリューションは、組織が Amazon EKS やその他のKubernetes デプロイメント全体で一貫してセキュリティとコンプライアンス基準を適用できるように、ポリシーベースの Kubernetes の自動化を提供します。 PerfectScale (ISV) は、Kubernetes 環境でのリソース使用量とコスト効率を強化するために設計された AI 搭載最適化プラットフォームです。このソリューションは、Amazon EKS やその他の Kubernetes デプロイメントにおけるコンテナの適切なサイズ調整とクラスターリソースの最適化のためのインテリジェントな推奨事項を提供します。 Pulumi (ISV) は、開発者がおなじみのプログラミング言語を使用してクラウドリソースを定義および管理できるようにする、最新の Infrastructure as Code プラットフォームです。このソリューションは、Amazon EKS やその他のマネージド Kubernetes サービスを含む、AWS 上での Kubernetes クラスターのデプロイと管理のための強力なツールを提供します。 Solo.io (ISV) は、クラウドネイティブ環境のサービスメッシュと API ゲートウェイテクノロジーに特化したAPI インフラストラクチャソリューションの主要プロバイダーです。Gloo プラットフォームは、Amazon EKS やその他の AWS サービス上の Kubernetes デプロイメントのための高度なトラフィック管理、セキュリティ、可観測性機能を提供します。 Spectro Cloud (ISV) は、AWS を含む多様な環境にまたがる Kubernetes クラスターをデプロイおよび運用できる革新的な Kubernetes 管理プラットフォームを提供しています。このソリューションは、チームがオープンソースの柔軟性とエンタープライズ製品の管理容易性を組み合わせたカスタマイズされた Kubernetes スタックを作成できるようにする、クラスター管理のユニークなアプローチを提供します。 Sysdig (ISV) は、DevOps チームがコンテナ化されたアプリケーションを簡単にモニタリング、トラブルシューティング、セキュリティ保護できるようにする、Kubernetes 環境のための強力なコンテナインテリジェンスプラットフォームです。 Tetrate (ISV) は、サービスメッシュソリューションの主要プロバイダーであり、マイクロサービスベースの最新アプリケーションのエンタープライズグレードなインフラストラクチャを提供しています。同社の主力製品である Tetrate Service Bridge は、Amazon EKS やマルチクラスター、マルチクラウドデプロイメント全体で、包括的なアプリケーション接続、セキュリティ、可観測性を提供するために Istio の機能を拡張します。 まとめ オンプレミスまたはエッジで Kubernetes 上のワークロードを実行するには、通常、オープンソースの Kubernetes とツールやプロセスを定義および統合するのに時間、労力、メンテナンスが必要です。これにより、チームの運用上の負担が増え、オンプレミスとクラウドの環境間にサイロが生まれます。EKS Hybrid Nodes を使用すると、このトイルを削減し、オンプレミスのデプロイをクラウドでワークロードを実行する方法に近づけることができます。 オンプレミスのアプリケーションをモダナイズしたい場合、既存のオンプレミスハードウェアを使用したい場合、データを特定の国に保持することでデータローカライゼーションの要件を満たしたい場合など、EKS Hybrid Nodes を使用することで、Kubernetes コントロールプレーンの運用オーバーヘッドに対処することなく、効率的にオンプレミスのワークロードを実行できます。 EKS Hybrid Nodes の詳細と使用方法については「 EKS Hybrid Nodes ユーザーガイド 」をご覧ください。 また、EKS Hybrid Nodes の仕組み、機能、ベストプラクティスについて解説している re:Invent 2024 のセッション (KUB205) もご確認ください。 翻訳はソリューションアーキテクトの後藤が担当しました。原文は こちら です。
アバター
こんにちは!ソリューションアーキテクトの水野です。 2025 年 4 月 24 日に製造業向けオンラインセミナー「Hannover Messe 2025 から見る産業変革」を開催いたしました。ご参加頂いた皆様には、改めて御礼申し上げます。本ブログは、セミナーの開催報告としてご紹介した内容や、当日の資料・収録動画などを公開いたします。 はじめに 今回のセミナーは、2025 年 3 月 31 日から 4 月 4 日にドイツで行われた Hannover Messe を振り返り、製造業における産業変革の最前線をコンパクトにまとめてご紹介しました。Hannover Messe については既にブースレポートとして ブログ を出していますが、ブログでは伝えきれなかった AWS ブースの詳細やパートナーソリューションについてお届けしています。 オープニング 登壇者: アマゾン ウェブ サービス ジャパン 合同会社 製造事業開発 設計領域担当部長 舛重 国規 動画リンク 資料リンク オープニングセッションでは、Hannover Messe 2025 における AWS の展示内容と主要なトピックについて紹介しました。今年の AWS ブースは 1400 平米の規模で、プロダクトエンジニアリング、スマート製造、スマートプロダクト、サプライチェーン、サステナビリティの 5 つのソリューション領域に 39 の産業パートナーブースで構成されました。特に注目すべき点として、①ビジネスに貢献する生成 AI の実装、②すぐに使える Vertical SaaS の増加、③DataOps の加速の 3 つが挙げられました。 また、ブースの目玉展示として「Built for Industrial AI」コーナーでは 4 つの生成 AI ユースケースを紹介し、e-Bike Smart Factory のデモでは実際の工場ラインを再現し AWS のサービスやソリューションによる製造プロセスの最適化を展示。日本からも多くの来場者があり、AWS Japan メンバーによる日本語でのブースツアーも実施されたことが紹介されました。 Hannover Messe 2025 で見えた AWS の製造ソリューションが拓く生産性向上と競争力強化 登壇者: アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 野間 愛一郎 動画リンク 資料リンク このセッションでは、主に AWS の展示内容から「ビジネスに貢献する生成 AI の実装」と「DataOps の加速」という 2 つの大きなポイントに焦点を当てて紹介しています。 生成 AI 実装の面では、AWS ブース内で日本のお客様の注目度が高かった Amazon Nova を活用した外観検査、現場作業者の業務効率向上、エッジでの生成 AI 活用、技術伝承、開発効率化について、具体的な応用例を解説しています。DataOps の分野では、産業データファブリック(IDF)、e-Bike Smart Factory、サプライチェーン管理、サステナビリティ、デジタルスレッド、そしてサロゲートモデルを使用したシミュレーションなど、データを効果的に活用するソリューションが紹介されています。これらの技術やソリューションを通じて、製造業における生産性向上と競争力強化をどのように実現できるかを解説している内容となっています。 AWS パートナー展示からみえる製造業の DX を加速する最新テクノロジートレンド 登壇者: アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 水野 貴博 動画リンク 資料リンク このセッションでは、製造業の DX を加速する最新テクノロジートレンドについて AWS パートナー展示を中心に紹介しました。まず、日本の製造業でデータ活用が進まない技術的な課題として、レガシーシステムとの統合問題、データ基盤の技術的課題、セキュリティとインフラの制約などテクノロジーの課題と組織の壁や経営の理解、スキル、人材の不足といった非テクノロジーの課題があることが述べられました。その内、テクノロジーの課題に対しては産業データファブリック (IDF) とパートナーソリューションを組み合わせることで解決できる可能性が示されました。IDF パートナーとしては、HighByte、Litmus、Siemens、Snowflake、Cognite が紹介され、各社の特徴や得意分野が解説されました。例えば HighByte は産業用データ管理に特化し、Litmus はエッジでのデータ収集から分析までをシームレスに実現するソリューションを提供しています。 その他の注目パートナーとして、マルチベンダーの AGV / AMR を制御する SYNAOS、クラウド MES のソリューションとして TULIP、42Q をご紹介しました。また OT セキュリティを提供する Claroty、Dragos、Nozomi Networks なども紹介され、製造業のDXを支援する多様なソリューションをご紹介しました。 製造革新への扉:AWS パートナーと実現する業務革新の民主化 登壇者: アマゾン ウェブ サービス ジャパン 合同会社 産業テクノロジーパートナーシップ ジャパンリード 小澤 剛 動画リンク 資料リンク このセッションでは、製造業のDXを加速させる AWS パートナーソリューションの最新動向が紹介されました。特に注目されたのは、AWS Marketplace で提供される SaaS ソリューションです。また、Siemens と AWS の戦略的提携により、PLM や CAE などの基幹システムの SaaS 化が進展している点も強調されました。さらに、産業データファブリック (IDF) の分野では、日立の Intelligent Platform、Cognite Data Fusion、HighByte Intelligence Hub など、データの意味づけや連携を実現する様々なソリューションが改めて紹介されました。これらのパートナーソリューションを活用することで、製造業は生成 AI の実用化やデータ活用を迅速に進め、ビジネス価値の創出を加速できることをご紹介しました。 まとめ 本ブログでは、製造業向けオンラインセミナー「Hannover Messe 2025 から見る産業変革」の資料及び動画とその概要をご紹介しました。本セミナーをきっかけに製造業の皆様の業務革新が進むことを期待しております。今後については 6 月 25 日(水)、26 日(木)に幕張メッセで行われる AWS Summit Japan 2025 にて Hannover Messe の展示されたソリューションの一部をご紹介する予定です。皆様のご来場をお待ちしております。ご登録は こちら 。 本ブログは、ソリューションアーキテクトの水野貴博が執筆しました。 著者について 水野 貴博 水野貴博は、製造業のお客様をご支援しているソリューションアーキテクトです。サプライチェーン領域を得意としており、好きな AWS サービスは AWS Supply Chain です。趣味は、ドラマや映画のエキストラに参加することです。
アバター
4 月 28 日週、私は AWS Summit Bangkok に参加するためにタイに行きました。活気に満ちた刺激的なイベントでした。私たちはデベロッパーラウンジを開催しました。デベロッパーラウンジでは、デベロッパーが集い、アイデアについて議論したり、ライトニングトークを楽しんだりしたほか、 AWS ビルダー ID Prize Wheel で SWAG を獲得し、 Amazon Q Developer Coding Challenge に挑戦して、Learn Amazon Bedrock ブースで生成 AI について学びました。 以下で概要をご紹介します: AWS ヒーロー 、 AWS コミュニティビルダー 、 AWS ユーザーグループ のリーダーやデベロッパーの皆様のご協力に感謝申し上げます。 ASEAN で次に開催されるのは AWS Summit Singapore です。お見逃しのないよう、今すぐ ご登録 ください。 4 月 28 日週のリリース 4 月 28 日週のリリースのうち、私が注目したいくつかのリリースをご紹介します: Amazon Nova Premier の一般提供を開始 – 複雑なタスクを実行したり、モデル蒸留の教師として機能させたりするための、当社の最も優れたモデルである Amazon Nova Premier の一般提供が Amazon Bedrock で開始されました。100 万トークンのコンテキスト長で、テキスト、画像、動画を処理しながら、深いコンテキスト理解と複数ステップの計画を必要とする複雑なタスクで優れたパフォーマンスを発揮します。Nova Premier と Amazon Bedrock Model Distillation を利用すると、特定のニーズのために、Nova Pro、Lite、Micro の、高性能でコスト効率が高く、低レイテンシーのバージョンを作成できます。 Amazon Q Developer が新しいエージェントコーディングエクスペリエンスで IDE エクスペリエンスを改善 – Visual Studio Code のためのこの新しいインタラクティブなエージェントコーディングエクスペリエンスにより、Q Developer は、デベロッパーのためにインテリジェントにアクションを実行できます。Amazon Q Developer は、Visual Studio Code にインタラクティブなコーディングエクスペリエンスを導入し、コーディング、ドキュメント作成、テストのためのリアルタイムコラボレーションを提供します。透明性の高い推論を提供し、自動またはステップバイステップの変更を複数の言語でサポートします。 Amazon Bedrock での新しい基盤モデル – Amazon Bedrock は、次の 2 つの重要な追加により、モデルオファリングを拡張します: Writer の Palmyra X5 および X4 モデル は、広範なコンテキストウィンドウ (それぞれ 100 万トークンと 128K トークン) を特徴としており、エンタープライズアプリケーションの複雑な推論で優れたパフォーマンスを発揮します。高い信頼性の水準で、複数ステップのツール呼び出しと適応型思考をサポートします。 Meta の Llama 4 Scout 17B および Maverick 17B モデル は、Mixture of Experts アーキテクチャを使用したネイティブのマルチモーダル機能を提供し、推論と画像理解を強化します。これらのモデルは、複数の言語と拡張コンテキスト処理をサポートします。また、Bedrock Converse API を通じて、簡素化された統合を実現できます。 第 2 世代 AWS Outposts ラックのリリース – AWS は、最新の x86 EC2 インスタンス、簡素化されたネットワーキング、高速化されたネットワーキングオプションなど、大幅な機能強化を含む第 2 世代 Outposts ラックの一般提供の開始を発表しました。これらの改善により、vCPU、メモリ、ネットワーク帯域幅が 2 倍になり、パフォーマンスが 40% 改善され、超低レイテンシーのワークロードがサポートされるため、要求の厳しいオンプレミスデプロイに最適です。 Amazon CloudFront SaaS Manager のリリース – Amazon CloudFront SaaS Manager は、SaaS プロバイダーとウェブホスティングプラットフォームが複数の顧客ドメインにわたってコンテンツ配信を効率的に管理するのに役立ちます。このサービスは、あらゆるお客様ドメインのために、高パフォーマンスのコンテンツ配信とエンタープライズグレードのセキュリティを提供しながら、運用上の複雑さを大幅に軽減します。 より豊かなコンテキストのための Model Context Protocol (MCP) による Amazon Q Developer CLI の拡張 | Amazon Web Services – Amazon Q Developer CLI は、Model Context Protocol (MCP) をサポートするようになりました。これで、コンテキストに応じた応答を実現するために、外部データソースと統合できます。これにより、デベロッパーは、事前構築済みの統合や、 stdio をサポートする MCP サーバーに接続できるようになり、コードの精度、データの理解、クエリ実行が強化されます。この機能は開発タスクを効率化します。また、まもなく Amazon Q Developer IDE プラグインに拡張される予定です。 Amazon Aurora が PostgreSQL 17 のサポートを開始 – Amazon Aurora は PostgreSQL 17.4 のサポートを開始しました。これは、コミュニティの改善と、メモリ管理の最適化やより高速なフェイルオーバーなど、Aurora 固有の機能強化を提供します。このリリースには、Babelfish の新機能、セキュリティ修正、更新された拡張機能が含まれており、すべての AWS リージョンでご利用いただけます。 CloudWatch が Lambda ログの階層料金を導入 – Amazon CloudWatch は、AWS Lambda ログの階層料金と、新しい配信先をリリースしました。米国東部での料金は、0.50 USD/GB~ (CloudWatch)、0.25 USD/GB~ (S3 および Firehose) であり、両方とも 0.05 USD/GB までの階層料金が設定されています。このアップデートにより、サポート対象のすべてのリージョンでログ管理における柔軟性が高まります。 RDS for MySQL がマイナーバージョンをアップデート – Amazon RDS for MySQL は、マイナーバージョン 8.0.42 と 8.4.5 のサポートを開始しました。これは、セキュリティ修正、バグ修正、パフォーマンスの改善を提供します。ユーザーは、メンテナンスウィンドウ中に自動的にアップグレードすることも、ブルー/グリーンデプロイを使用してより安全にアップデートすることもできます。 Amazon Bedrock Model Distillation の一般提供を開始 – Amazon Bedrock Model Distillation の一般提供が開始され、Amazon Nova や Claude 3.5 などの新しいモデルがサポートされるようになりました。これにより、小さめのモデルでもエージェントのための関数呼び出しを正確に予測できるようになり、RAG のユースケースで精度の低下を最小限に抑えながら、応答を最大 500% 高速化し、コストを最大 75% 削減できます。このサービスには、データ合成と生徒モデルのトレーニングのための自動化されたワークフローが含まれています。 Amazon OpenSearch Service 向けの AI 検索フロービルダー – Amazon OpenSearch Service は、OpenSearch 2.19 以降のドメイン向けの AI 検索フロービルダーの提供を開始しました。このローコードデザイナーにより、AWS およびサードパーティーのサービスを利用して、AI を利用した高度な検索フローを作成し、RAG、クエリの書き換え、セマンティックエンコーディングなどのユースケースをサポートできます。 community.aws より community.aws から、私が個人的に気に入っている記事をご紹介します: How to Generate AWS Architecture Diagrams Using Amazon Q CLI and MCP – Omshree Butani 氏が、Amazon Q CLI と Model Context Protocol (MCP) を利用して AWS アーキテクチャ図を迅速に生成し、アーキテクチャ設計プロセスを効率化する方法をご紹介します。 Implementing Nova Act MCP Server on ECS Fargate – Vivek V が、ブラウザオートメーションのために ECS Fargate で Amazon Nova Act Model Context Protocol (MCP) サーバーを実装する方法について詳しく説明します。このソリューションには、アーキテクチャ設計、デプロイ戦略、サーバー/クライアントの実装、Streamlit UI、AWS CDK インフラストラクチャ、VS Code 統合が含まれています。 Leveraging Crossplane to build single-tenant SaaS control planes on top of Kubernetes – Yehuda Cohen が、Crossplane を活用して Kubernetes でシングルテナント SaaS コントロールプレーンを構築する方法について詳しく説明します。この記事では、Crossplane が Kubernetes の宣言型モデルを拡張して Kubernetes 以外のリソースを管理し、テナントの自動プロビジョニングとスケーラブルなクラウドリソース管理を実現する方法に焦点を当てます。 How to Securely Display Objects from an S3 Bucket in a Browser – Osabutey-Anikon Theeophilus Lloyd 氏が、Amazon S3 バケットのオブジェクトをウェブブラウザで安全に表示するためのテクニックをご紹介します。特に、ブラウザベースのアクセスにおける適切なセキュリティ対策に焦点を当てます。 近日開催予定の AWS イベント カレンダーを確認して、近日開催予定の AWS イベントにサインアップしましょう: AWS Summit – クラウドコンピューティングコミュニティがつながり、コラボレートし、AWS について学ぶために一堂に会する無料のオンラインおよび対面イベントに参加しましょう。お近くの都市のイベントにご登録ください: ポーランド (5 月 6 日)、 ベンガルール (5 月 7~8 日)、 香港 (5 月 8 日)、 ソウル (5 月 14~15 日)、 シンガポール (5 月 29 日)、 シドニー (6 月 4~5 日)。 AWS re:Inforce – ペンシルバニア州フィラデルフィアで開催される AWS re:Inforce (6 月 16~18 日) の予定をカレンダーに書き込みましょう。AWS re:Inforce は、AWS セキュリティソリューション、クラウドセキュリティ、コンプライアンス、アイデンティティに焦点を当てた学習カンファレンスです。サブスクライブして、今すぐイベントの最新情報を入手しましょう! AWS パートナーイベント – クラウドジャーニーを始めたばかりであるか、新たなビジネス上の課題を解決したいと考えているかにかかわらず、誰もがインスピレーションと学びを得られるさまざまな AWS パートナーイベントを見つけましょう。 AWS Community Day – 世界中の AWS エキスパートユーザーや業界リーダーが主導するテクニカルディスカッション、ワークショップ、ハンズオンラボを特色とする、コミュニティ主導のカンファレンスにぜひご参加ください: エレバン (アルメニア) (5 月 24 日)、 チューリッヒ (スイス) (5 月 25 日)、 ベンガルール (インド) (5 月 25 日)。 近日開催されるすべての対面イベントと仮想イベント をご覧いただけます。 5 月 5 日週のニュースは以上です。5 月 12 日週に再びアクセスして、新たな Weekly Roundup をぜひお読みください! 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
5 月 5 日より、 Amazon Q Developer in GitHub のプレビュー版をご利用いただけるようになりました! これは、仕事でも、個人的なプロジェクトでも、GitHub を日常的に使用している何百万人ものデベロッパーにとってすばらしいニュースです。これらのデベロッパーは、Amazon Q Developer を利用して、GitHub インターフェイス内で直接、機能開発、コードレビュー、Java コードの移行を行うことができるようになりました。 デモンストレーションのために、StoryBook Teller というアプリケーションをゼロから作成するのを Amazon Q Developer に手伝ってもらいます。これは .NET 9 を使用する ASP.Core ウェブサイトで、ユーザーから 3 枚の画像を取得し、 Amazon Bedrock と Anthropic の Claude を利用して、それらの画像に基づいてストーリーを生成します。 その仕組みをご紹介します。 インストール まず、 GitHub で Amazon Q Developer アプリケーション をインストールする必要があります。これにより、AWS アカウントに接続することなく、直ちに使用を開始できます。 その後、そのアプリケーションをすべてのリポジトリに追加するか、特定のリポジトリを選択するかを選びます。今回は storybook-teller-demo リポジトリに追加するので、 [選択したリポジトリのみ] を選択し、名前を入力して検索します。 これで、選択したリポジトリ内で Amazon Q Developer アプリケーションを使用する準備が整います。アプリケーションがインストールされていることは、GitHub アカウントの [設定] に移動して確認できます。アプリケーションは [アプリケーション] ページに表示されます。 [設定] を選択して許可を表示し、いつでも Amazon Q Developer をリポジトリに追加したり、削除したりできます。 それでは、Amazon Q Developer を利用してアプリケーションを構築してみましょう。 機能開発 Amazon Q Developer をリポジトリにインストールすると、GitHub の Issue を Amazon Q 開発エージェントに割り当てて、機能を開発してもらうことができます。その後、リポジトリ内のコードベース全体をコンテキストとして使用し、Issue の説明も参照して、コードを生成します。そのため、GitHub の Issue には、要件を可能な限り正確かつ明確に記載することが重要です (これは、どのような場合であっても常に心がけるべきことです)。 StoryBook Teller リポジトリで、.NET 9 のスケルトンプロジェクトの作成からフロントエンドとバックエンドの実装まで、このアプリケーションのすべての要件をカバーする 5 つの Issue を作成しました。 Amazon Q Developer を利用して、アプリケーションをゼロから開発し、これらのすべての機能を実装してみましょう。 まず、.NET プロジェクトを作成するのを Amazon Q Developer に手伝ってもらいます。そのためには、最初の Issue を開き、 [ラベル] セクションで [Amazon Q 開発エージェント] を見つけて選択します。 これだけです! これで、Issue が Amazon Q Developer に割り当てられました。ラベルが追加されると、Amazon Q 開発エージェントが自動的にバックグラウンドで作業を開始し、コメントを通じて進捗状況の最新情報を提供します。最初のコメントは I'm working on it です。 ご想像のとおり、かかる時間は機能の複雑さによって異なります。完了すると、すべての変更を含むプルリクエストが自動的に作成されます。 次に、生成されたコードが機能することを確認したいので、コードの変更をダウンロードし、自分のコンピュータでローカルにアプリケーションを実行します。 ターミナルに移動し、 git fetch origin pull/6/head:pr-6 と入力して、作成されたプルリクエストのコードを取得します。内容をダブルチェックすると、想定どおり .NET 9 を使用して生成された ASP.Core プロジェクトが確かに存在していることがわかります。 その後、 dotnet run を実行し、出力に示された URL を使用してアプリケーションを開きます。 すばらしいです。適切に機能しています! Amazon Q Developer は、GitHub の Issue で私が提供した要件に基づいて、まさに私の希望どおりに実装してくれました。アプリケーションの動作テストが完了したので、変更を受け入れる前にコード自体をレビューしたいと思います。 コードレビュー GitHub に戻り、プルリクエストを開きます。Amazon Q Developer が生成されたコードに対していくつかの自動チェックを実行したことがすぐにわかります。 これはすばらしいです! 既にかなりの作業が完了しています。ただし、プルリクエストをマージする前にレビューしたいと思います。これを実行するために、 [変更されたファイル] タブに移動します。 コードをレビューし、問題ないことを確認しました! しかし、.gitignore の内容を確認すると、変更したい点が見つかりました。Amazon Q Developer が適切な想定を行い、Visual Studio (VS) Code ファイルについての除外ルールを追加していることがわかります。しかし、JetBrains Rider は .NET 開発のための私のお気に入りの統合開発環境 (IDE) なので、これについてのルールも追加したいと考えています。 GitHub インターフェイスで通常のコードレビューフローを使用することで、再度イテレーションするよう Amazon Q Developer に指示できます。この場合、.gitignore コードに add patterns to ignore Rider IDE files というコメントを追加します。その後、 [レビューを開始] を選択します。これにより、レビューにおける変更がキューに追加されます。 [レビューを完了] と [変更をリクエスト] を選択します。 レビューを送信するとすぐに、[会話] タブにリダイレクトされます。Amazon Q Developer が作業を開始し、同じフィードバックループを再開して、私が満足するまでレビュープロセスを続行するよう促します。 Q Developer が変更を加えるたびに、生成されたコードに対して自動チェックが実行されます。今回は、コードが比較的単純なので、自動コードレビューで問題は発生しないことが想定されました。しかし、より複雑なコードの場合はどうなるでしょうか? 別の例として、Amazon Q Developer を利用して、ウェブサイトでの画像アップロードを可能にする機能を実装してみましょう。前のセクションで説明したのと同じフローを使用します。しかし、プルリクエストに対する自動チェックで、今回は警告フラグが立てられました。この警告によると、バックエンドで画像アップロードをサポートするために生成された API に認可チェックが欠落しているため、事実上、直接パブリックアクセスが可能になっているということです。セキュリティリスクの詳細な説明と、役立つリンクが提供されています。 その後、コード修正の提案が自動的に生成されます。 完了したら、コードをレビューし、変更に問題がなければ [変更をコミット] を選択できます。 これを修正してテストした後、この Issue のコードに満足したので、同じプロセスを他の Issue にも適用していきます。残りの Issue それぞれに Amazon Q 開発エージェントを割り当てて、コードが生成されるのを待ち、反復的なレビュープロセスを実行して、その過程で問題があれば修正するよう指示します。その後、ソフトウェアサイクルの最後にアプリケーションをテストします。Amazon Q Developer がプロジェクトのセットアップから、ボイラープレートコード、より複雑なバックエンドやフロントエンドまで、すべての問題に対処してくれたことに、私は非常に満足です。まさに真のフルスタックデベロッパーです! 途中で、変更したい点がいくつかあること気づきました。例えば、アップロードされた画像を Amazon Bedrock に送信する際に、Converse API ではなく Invoke API がデフォルトで使用されるようになっていました。しかし、要件でこれについて触れていなかったため、Q Developer がそれを知る術はありませんでした。このことは、Q Developer に必要なコンテキストを提供し、開発プロセスを可能な限り効率的にするために、Issue のタイトルと説明を可能な限り正確に記述することの重要性を強調しています。 とはいえ、プルリクエストで生成されたコードをレビューし、コメントを追加して、最終結果に満足するまで Amazon Q Developer エージェントに変更作業をさせ続けるのは簡単です。あるいは、プルリクエストの変更を受け入れ、開発の準備ができたら Q Developer に割り当てることができる別の Issue を作成することもできます。 コード変換 Q Developer を利用すると、レガシー Java コードベースを最新バージョンに変換することもできます。現在、アプリケーションを Java 8 または Java 11 から Java 17 に更新できますが、今後のリリースではさらに多くのオプションが使用可能になる予定です。 このプロセスは、いくつかの点を除けば、この記事の前半でデモンストレーションしたものと非常に似ています。 まず、Java 8 または Java 11 アプリケーションを含む GitHub リポジトリ内に Issue を作成する必要があります。この場合、タイトルと説明はそれほど重要ではありません。「Migration」などの短いタイトルで、説明は空白のままでも構いません。その後、 [ラベル] で、Issue に [Amazon Q transform agent] ラベルを割り当てます。 以前と同様に、Amazon Q Developer は、レビュー可能なプルリクエストのコードを生成する前に、直ちにバックグラウンドで作業を開始します。ただし、今回は、コード移行に特化した Amazon Q 変換エージェントが作業を行い、コードの分析と、Java 8 から Java 17 への移行に必要なすべてのステップを実行します。 ドキュメントに従って、ワークフローも作成する必要があることに留意してください。まだ有効になっていない場合は、再試行する前にすべてをセットアップするのに役立つ明確な手順が表示されます。 想定したとおり、移行の実行に必要な時間は、アプリケーションのサイズと複雑さによって異なります。 まとめ Amazon Q Developer in GitHub を利用することは、新機能を開発し、コードレビュープロセスを加速して、セキュリティ体制を強化し、コードの質を改善するためにコラボレーションできるフルスタックデベロッパーと作業するようなものです。また、Java 8 および 11 のアプリケーションから Java 17 への移行を自動化するために使用できるため、しばらく延期していた移行プロジェクトであってもはるかに簡単に開始できます。何よりも、これらすべてをご自身の GitHub 環境から快適に実行できます。 今すぐご利用いただけます 今すぐ GitHub で Amazon Q Developer の利用を無料で 開始できます。AWS アカウントのセットアップは不要です。 Amazon Q Developer in GitHub は現在プレビュー中です。 – Matheus Guimaraes | codingmatheus 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
5 月 2 日、 Amazon Q Developer は、新しいインタラクティブなエージェントコーディングエクスペリエンスを導入しました。これは現在、 Visual Studio Code のために 統合開発環境 (IDE) でご利用いただけます。このエクスペリエンスにより、既存のプロンプトベースの機能に基づいて、インタラクティブなコーディング機能を使用できます。コードの記述、ドキュメントの作成、テストの実行、変更のレビューを行う際に、自然でリアルタイムの共同作業パートナーとともに作業できるようになります。 Amazon Q Developer は、提案についての透明性の高い理由を提供し、自動変更と変更のステップバイステップの確認を選択できるようにすることで、コードの記述とメンテナンスの方法を変革します。 Amazon Q Developer コマンドラインインターフェイス (CLI) エージェント を日常的に使用する私は、Amazon Q Developer チャットインターフェイスがソフトウェア開発をどのようにより効率的で直感的なプロセスにするのかを直接体験しました。CLI で q チャット するだけで AI を使用したアシスタントが利用できるようになったため、私の日々の開発ワークフローが合理化され、コーディングプロセスが強化されました。 IDE の Amazon Q Developer における新しいエージェントコーディングエクスペリエンスは、ローカル開発環境とシームレスにインタラクションします。ファイルを直接読み書きし、bash コマンドを実行して、コードに関する自然な会話を行うことができます。Amazon Q Developer はコードベースのコンテキストを理解し、自然な対話を通じて複雑なタスクの完了をサポートします。これにより、開発速度を上げつつ、ワークフローの勢いを維持できます。 実際の動作 Amazon Q Developer を初めてご利用の場合は、「 Getting Started with Amazon Q Developer 」ガイドのステップに従って Amazon Q Developer にアクセスしてください。Amazon Q Developer を利用する際には、有料サブスクリプションサービスである Amazon Q Developer Pro 、または AWS ビルダー ID ユーザー認証を使用する Amazon Q Developer 無料利用枠 のいずれかを選択できます。 既存のユーザーは、新しいバージョンに更新してください。アクティブ化に関する指示については、「 Using Amazon Q Developer in the IDE 」をご覧ください。 まず、IDE で Amazon Q アイコンを選択し、チャットインターフェイスを開きます。このデモでは、 Amazon Nova サンプルリポジトリ の Jupiter ノートブックをインタラクティブなアプリケーションに変換するウェブアプリケーションを作成します。 次のプロンプトを送信します: In a new folder, create a web application for video and image generation that uses the notebooks from multimodal-generation/workshop-sample as examples to create the applications.Adapt the code in the notebooks to interact with models.Use existing model IDs その後、Amazon Q Developer は、README ファイル、ノートブック、メモ、および会話が配置されているフォルダ内にあるあらゆるものを調べます。今回は、リポジトリのルートにあります。 リポジトリの分析が完了すると、Amazon Q Developer はアプリケーション作成プロセスを開始します。プロンプトの要件に従って、必要なフォルダとファイルを作成するための bash コマンドを実行する許可をリクエストします。 フォルダ構造が整うと、Amazon Q Developer は完全なウェブアプリケーションの構築に進みます。 数分でアプリケーションが完成します。Amazon Q Developer は、アプリケーションの構造とデプロイに関する指示を提供します。これは、チャットでリクエストすることで README ファイルに変換できます。 アプリケーションを最初に実行しようとしたときにエラーが発生しました。Amazon Q チャットを使用してスペイン語でそのエラーについて説明しました。 Amazon Q Developer はスペイン語で応答し、スペイン語で解決策とコードの変更方法を教えてくれました。 とても満足です! 提案された修正を実装すると、アプリケーションは正常に実行されました。これで、この新しく作成されたインターフェイスを通じて、 Amazon Nova を利用して画像と動画を作成、変更、分析できるようになりました。 上記の画像は、アプリケーションの出力機能を示しています。スペイン語で動画生成コードを変更するように依頼したため、スペイン語のメッセージが表示されました。 知っておくべきこと 自然言語でのチャット – Amazon Q Developer IDE は、英語、中国標準語、フランス語、ドイツ語、イタリア語、日本語、スペイン語、韓国語、ヒンディー語、ポルトガル語など、多くの言語をサポートしています。詳細については、 「Amazon Q Developer ユーザーガイド」のページ にアクセスしてください。 コラボレーションと理解 – システムは、自然な対話を通じてローカル開発環境とシームレスにインタラクションするための柔軟性を提供しながら、リポジトリの構造、ファイル、ドキュメントを検査します。この深い理解により、開発タスク中に、より正確でコンテキストを踏まえたサポートを提供できるようになります。 コントロールと透明性 – Amazon Q Developer は、タスクを通じて機能する中で継続的にステータスを更新し、自動コード変更またはステップバイステップのレビューを選択できるようにすることで、ユーザーが開発プロセスを完全に制御できるようにします。 提供状況 – Amazon Q Developer のインタラクティブなエージェントコーディングエクスペリエンスは、Visual Studio Code 向けの IDE でご利用いただけるようになりました。 料金 – Amazon Q Developer のエージェントチャットは、 Amazon Q Developer Pro 階層 および Amazon Q Developer 無料利用枠 の両方のユーザーに追加コストなしで IDE でご利用いただけます。料金の詳細については、 Amazon Q Developer の料金ページ にアクセスしてください。 開始方法の詳細については、 Amazon Q Developer の製品ウェブページ にアクセスしてください。 –  Eli 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
4 月 30 日より、 AWS re:Invent で発表された Amazon Nova 基盤モデルファミリーを拡張 し、 Amazon Nova Premier の一般提供を開始しました。これは、複雑なタスクに対応できる当社の最も有能なモデルであり、モデル蒸留の教師としても機能します。 Nova Premier は、 Amazon Bedrock で利用可能な既存の Amazon Nova 理解モデル の一員となります。Nova Lite や Pro と同様に、Premier は、入力テキスト、画像、動画 (音声を除く) を処理できます。高度な機能を備えた Nova Premier は、コンテキストの深い理解、複数ステップの計画、複数のツールとデータソースにわたる正確な実行を必要とする複雑なタスクで優れたパフォーマンスを発揮します。100 万トークンのコンテキスト長に対応する Nova Premier は、非常に長いドキュメントや大規模なコードベースを処理できます。 Nova Premier と Amazon Bedrock Model Distillation を利用すると、特定のニーズに合わせて、Nova Pro、Lite、Micro の、高性能でコスト効率が高く、低レイテンシーのバージョンを作成できます。例えば、当社は Nova Premier を利用して Nova Pro を蒸留し、複雑なツール選択と API コールを実行しました。蒸留された Nova Pro ではベースモデルと比較して API 呼び出しの精度が 20% 向上し、一貫して教師と同等のパフォーマンスを発揮するとともに、Nova Pro の速度とコストメリットを実現しました。 Amazon Nova Premier のベンチマーク評価 当社は、テキストインテリジェンス、ビジュアルインテリジェンス、エージェントワークフローといった幅広いベンチマークで Nova Premier を評価しました。Nova Premier は、以下の表に示すように、17 のベンチマークで測定された Nova ファミリーの中で最も高性能なモデルです。 また、Nova Premier は、業界最高クラスの非推論モデルにも匹敵し、同じインテリジェンス階層の他のモデルと比較した場合、これらのベンチマークの約半数で同等以上のパフォーマンスを発揮します。これらの評価の詳細は、 テクニカルレポート をご覧ください。 Nova Premier は、Amazon Bedrock のインテリジェンス階層において、最も高速でコスト効率の高いモデルでもあります。料金の詳細と比較については、 Bedrock の料金ページ をご覧ください。 Nova Premier は、蒸留の教師モデルとしても使用できます。これは、特定のユースケース向けの高度な機能を、本番デプロイのために、Nova Pro、Micro、Lite などのより小規模かつ高速で効率的なモデルに移行できることを意味します。 Amazon Nova Premier の利用 Nova Premier の利用を開始するには、まず Amazon Bedrock コンソール でモデルに対するアクセスをリクエストする必要があります。ナビゲーションペインで [モデルアクセス] に移動し、 [Nova Premier] を見つけてアクセスを切り替えます。 アクセスを取得したら、 user と assistant からのメッセージのリストを入力で提供することで、 Amazon Bedrock Converse API を通じて Nova Premier を利用できます。メッセージには、テキスト、画像、動画を含めることができます。 AWS SDK for Python (Boto3) を使用した簡単な呼び出しの例を次に示します: import boto3 import json AWS_REGION = "us-east-1" MODEL_ID = "us.amazon.nova-premier-v1:0" bedrock_runtime = boto3.client('bedrock-runtime', region_name=AWS_REGION) messages = [ { "role": "user", "content": [ { "text": "Explain the differences between vector databases and traditional relational databases for AI applications." } ] } ] response = bedrock_runtime.converse( modelId=MODEL_ID, messages=messages ) response_text = response["output"]["message"]["content"][-1]["text"] print(response_text) この例は、技術に関する複雑な質問について、Nova Premier がどのように詳細な説明を提供できるのかを示しています。しかし、Premier の真の力は、高度なワークフローを処理できる能力にあります。 マルチエージェントコラボレーションのユースケース Nova Premier が投資に関する調査のためのマルチエージェントコラボレーションアーキテクチャでどのように動作するのかを示す、より複雑なシナリオを詳しく見てみましょう。 エクイティリサーチプロセスには通常、複数のステージがあります。すなわち、特定の投資に関連するデータソースの特定、それらのソースからの必要な情報の取得、データの統合を通じた実用的なインサイトの取得です。このプロセスは、株価指数、個別株式、通貨など、さまざまな種類の金融商品を扱う場合、ますます複雑になります。 この種のアプリケーションは、 Amazon Bedrock でマルチエージェントコラボレーション を利用して構築できます。Nova Premier は、ワークフロー全体をオーケストレートするスーパーバイザーエージェントを支えます。スーパーバイザーエージェントは、最初のクエリ (例:「再生可能エネルギー投資の新たなトレンドは何か?」) を分析し、論理的なステップに分解して、どの専門サブエージェントを関与させるかを決定し、最終的な回答を合成します。 このシナリオでは、次のコンポーネントを使用してシステムを構築しました: Nova Premier を利用するスーパーバイザーエージェント Nova Pro を利用する複数の専門サブエージェント (それぞれ異なる金融データソースに特化) 金融データベース、市場分析ツール、他の関連する情報源に接続するツール 再生可能エネルギーに関する投資の新たなトレンドに関するクエリを送信すると、Nova Premier を利用するスーパーバイザーエージェントが次を実行します: クエリを分析し、カバーすべき基盤となるトピックや情報源を特定する それらのトピックと情報源に固有の適切なサブエージェントを選択する 各サブエージェントが、関連する経済指標、テクニカル分析、市場センチメントデータを取得する スーパーバイザーエージェントが、これらの情報を統合し、金融分野のプロフェッショナルが確認できる包括的なレポートを作成する このようなマルチエージェントコラボレーションアーキテクチャで Nova Premier を利用することで、金融分野のプロフェッショナルの業務が効率化され、投資分析をより迅速にまとめることができるようになります。次の動画は、このシナリオの視覚的な説明を提供します。 スーパーバイザーロールのために Nova Premier を使用する主な利点は、複雑なワークフローを正確に調整できるということです。これにより、適切なデータソースが最適な順序で参照されるほか、各サブエージェントは作業のための正しい情報を入力で受け取ることができるため、より質の高いインサイトを得ることができます。 モデル蒸留を使用するマルチエージェントコラボレーション Nova Premier は、そのモデルファミリーの中で最高レベルの精度を提供しますが、本番環境ではレイテンシーとコストを最適化する必要がある場合があります。ここで、蒸留のための教師モデルとしての Nova Premier の強みが際立ちます。 Amazon Bedrock Model Distillation を利用すると、この特定の投資に関する調査のユースケースの Nova Premier の結果を踏まえて Nova Micro をカスタマイズできます。 人間によるフィードバックとラベル付きサンプルを必要とする従来のファインチューニングとは異なり、モデル蒸留では、教師モデルに目的の出力を生成させることで質の高いトレーニングデータを生成し、データ取得プロセスを合理化できます。 モデルを蒸留 するプロセスには、次が含まれます: 複数の金融商品にわたる Nova Premier 実行からの入力と出力をキャプチャして、合成トレーニングデータを生成する このデータを参照として利用し、カスタムファインチューニングツールを通じて Nova Micro のカスタマイズされたバージョンをトレーニングする カスタマイズされた Micro モデルのレイテンシーとパフォーマンスの差を評価する カスタマイズされた Micro モデルを本番でスーパーバイザーエージェントとしてデプロイする Amazon Bedrock を利用すると、プロセスをさらに効率化し、 データ準備のために呼び出しログを使用 できます。そのためには、モデル呼び出しログ記録をオンに設定し、ログの宛先として Amazon Simple Storage Service (Amazon S3) バケットを設定する必要があります。 お客様の声 一部のお客様には Nova Premier に対する早期アクセスが提供されていました。これらのお客様からは、次のような声をいただいています: 「Amazon Nova Premier は、インタラクティブな分析ワークフローを実行する能力に優れており、当社のテストにおける他の先駆的なモデルと比較して、より高速であり、コストはほぼ半分です」と、会話、アプリケーション、顧客を 1 か所にまとめる企業である Slack の Senior Staff Engineer である Curtis Allen 氏は述べています。 「Amazon Nova 上に構築された新しいソリューションの実装は、すべての人にとって金融を民主化するという当社のミッションの達成に役立っています」と、すべての人にとって金融を民主化することをミッションとする Robinhood Markets の Head of AI and Data である Dev Tagare 氏は述べています。「当社は、高性能であるだけでなく、コスト効率とスピードにも優れた複雑なマルチエージェントコラボレーションなどの新たな可能性を探求できることに特に高揚感を覚えています。Nova Premier のインテリジェンスと、それが Nova Micro、Nova Lite、Nova Pro などの他のモデルに移行できるものにより、マルチエージェントコラボレーションが、一般のお客様が利用しやすいパフォーマンス、料金、スピードで利用できるようになります」。 「プロトタイプだけでなく、現実世界での AI のデプロイを加速するには、現実世界のアプリケーション固有のニーズに特化したモデルを構築する能力が必要です」と、データサイエンティストやデベロッパーが、データから正確で適応性の高い AI アプリケーションを迅速に生み出せるように支援するテクノロジー企業の Snorkel AI の共同創業者である Henry Ehrenberg 氏は述べています。「AWS が Amazon Bedrock Model Distillation と Amazon Nova Premier によって効率的なモデルカスタマイズを推進していくことを大変喜ばしく思います。これらの新しいモデル機能は、エンタープライズのお客様による、マルチモーダルデータなどを活用した質疑応答アプリケーションを含む、本番 AI アプリケーションの構築を加速する可能性を秘めています」。 知っておくべきこと Nova Premier は、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン) の AWS リージョン の Amazon Bedrock で、 クロスリージョン推論 を介して4 月 30 日よりご利用いただけます。Amazon Bedrock でお支払いいただくのは、使用した分の料金のみです。詳細については、「 Amazon Bedrock の料金 」にアクセスしてください。 また、米国のお客様は、FM を簡単に探索できるウェブサイトである https://nova.amazon.com で Amazon Nova モデルにアクセスできます。 Nova Premier は、Nova Pro、Micro、Lite のカスタムバリアントを蒸留するための最適な教師です。これは、Premier が提供する機能を、本番デプロイのために、より小型かつ高速なモデルで実現できることを意味します。 Nova Premier には、 責任ある AI の使用を促進するための安全コントロールが組み込まれており、幅広いアプリケーションで適切な出力を維持するのに役立つコンテンツモデレーションも備わっています。 Nova Premier の使用を開始するには、今すぐ Amazon Bedrock コンソール にアクセスしてください。詳細については、「 Amazon Nova ユーザーガイド 」をご覧ください。また、 AWS re:Post for Amazon Bedrock にフィードバックをぜひお送りください。 community.aws サイトの生成 AI セクションでは、ビルダーコミュニティがソリューションで Amazon Bedrock をどのように利用しているのかを詳しくご覧いただけます。 – Danilo 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
4 月 29 日、AWS のエッジコンピューティングにおける最新のイノベーションとなる第 2 世代の AWS Outposts ラック の一般提供の開始をお知らせします。この新世代には、最新の x86 ベースの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのサポート、簡素化された新しいネットワークスケーリングと設定、超低レイテンシーかつ高スループットのワークロード向けに特別に設計されたアクセラレーテッドネットワーキングインスタンスが含まれています。これらの機能強化により、金融サービスのコア取引システムや通信分野の 5G Core ワークロードなど、幅広いオンプレミスワークロードのパフォーマンスが改善します。 athenahealth、FanDuel、First Abu Dhabi Bank、Mercado Libre、Liberty Latin America、Riot Games、Vector Limited、Wiwynn などのお客様は、オンプレミスで維持する必要があるワークロードのために既に Outposts ラックを使用しています。第 2 世代の Outposts ラックは、マルチプレイヤーオンラインゲーム用のゲームサーバー、顧客トランザクションデータ、医療記録、産業および製造管理システム、通信分野のビジネスサポートシステム (BSS)、さまざまな機械学習 (ML) モデルのエッジ推論など、低レイテンシー、ローカルデータ処理、またはデータレジデンシーのニーズに対応できます。お客様は、最新世代のプロセッサとより高度な設定の Outposts ラックを活用して、より高速な処理、より高いメモリ容量、より広いネットワーク帯域幅をサポートできるようになりました。 最新世代の EC2 インスタンス AWS Outposts ラックで、C7i コンピューティング最適化インスタンス、M7i 汎用インスタンス、R7i メモリ最適化インスタンスをはじめとする、最新世代 (第 7 世代) の x86 ベースの Amazon EC2 インスタンスのローカルサポートを開始することをお知らせします。これらの新しいインスタンスは、前世代の Outposts ラックの C5、M5、R5 インスタンスと比較して最大 40% 優れたパフォーマンスを提供しつつ、2 倍の vCPU、メモリ、ネットワーク帯域幅を提供します。第 4 世代インテル Xeon スケーラブルプロセッサを搭載し、大規模なデータベース、より多くのメモリを使用するアプリケーション、高度なリアルタイムビッグデータ分析、高パフォーマンスの動画エンコーディングとストリーミング、より高度な ML モデルを使用した CPU ベースのエッジ推論など、より高度なパフォーマンスを必要とする幅広いオンプレミスワークロードに最適です。GPU 対応インスタンスを含む、より多くの最新世代の EC2 インスタンスのサポートの提供を近日中に開始する予定です。 簡素化されたネットワークのスケーリングと設定 最新世代の Outposts ではネットワーキングを徹底的に見直しました。これにより、これまで以上にシンプルかつスケーラブルになりました。このアップグレードの中核となるのは、すべてのコンピューティングおよびストレージトラフィックの中心的なハブとして機能する新しい Outposts ネットワークラックです。 この新しい設計には、3 つの大きな利点があります。1 つ目の利点は、コンピューティングリソースをネットワークインフラストラクチャから独立してスケールできるようになったことです。これにより、ワークロードが増加する中で、より大きな柔軟性とコスト効率を活用できます。2 つ目の利点は、ネットワークの回復力を最初から組み込んだことです。ネットワークラックがデバイスの障害を自動的に処理し、システムのスムーズな稼働を維持します。3 つ目の利点は、オンプレミス環境や AWS リージョンへの接続が簡単になったことです。わかりやすい API または更新されたコンソールインターフェイスを通じて、IP アドレスから VLAN や BGP 設定まで、あらゆるものを設定できます。 アクセラレーテッドネットワークを備えた専用 Amazon EC2 インスタンス アクセラレーテッドネットワーキングを備えた Outposts ラックに、新しいカテゴリの専用 Amazon EC2 インスタンスを導入します。これらのインスタンスは、レイテンシーの影響を極めて受けやすく、コンピューティング負荷が高く、大量のスループットが発生する、オンプレミスのミッションクリティカルなワークロード向けに特別に設計されています。可能な限り最高のパフォーマンスを提供するために、これらのインスタンスには、Outpost 論理ネットワークに加えて、Top of Rack (TOR) スイッチに接続されたネットワークアクセラレーターカードを備えたセカンダリ物理ネットワークが備わっています。 このカテゴリの第一弾は、超低レイテンシーで決定論的なパフォーマンスを実現するよう設計された bmn-sf2e インスタンスです。これらの新しいインスタンスは、インテルの最新の Sapphire Rapids プロセッサ (第 4 世代 Xeon スケーラブル) 上で動作し、すべてのコアで 3.9 GHz の持続的なパフォーマンスと、CPU コアごとに 8 GB の RAM という十分なメモリ割り当てを実現します。 bmn-sf2e インスタンスには、Top of Rack スイッチに直接接続する AMD Solarflare X2522 ネットワークカードが搭載されています。 金融サービスのお客様、特に資本市場企業の企業向けに、これらのインスタンスは、ネイティブのレイヤー 2 (L2) マルチキャスト、Precision Time Protocol (PTP)、等長ケーブルを通じた決定論的なネットワークを提供します。これにより、お客様は、既存の取引インフラストラクチャに簡単に接続しながら、公正な取引と平等なアクセスに関する規制要件を満たすことができます。 インスタンス名 vCPU メモリ (DDR5) ネットワーク帯域幅 NVMe SSD ストレージ アクセラレーテッドネットワークカード アクセラレーテッド帯域幅 (Gbps) bmn-sf2e.metal-16xl 64 512 GiB 25 Gbps 2 x 8 TB (16 TB) 2 100 bmn-sf2e.metal-32xl 128 1,024 GiB 50 Gbps 4 x 8 TB (32 TB) 4 200 2 つ目のインスタンスタイプである bmn-cx2 は、高スループットと低レイテンシーを実現するように最適化されています。このインスタンスは、高速 Top of Rack スイッチに物理的に接続された NVIDIA ConnectX-7 400G NIC を搭載し、ほぼラインレートで動作する最大 800 Gbps のベアメタルネットワーク帯域幅を提供します。ネイティブのレイヤー 2 (L2) マルチキャストとハードウェア PTP サポートを備えたこのインスタンスは、リアルタイムの市場データ配信、リスク分析、通信分野の 5G コアネットワークアプリケーションなどの高スループットワークロードに最適です。 インスタンス名 vCPU メモリ (DDR5) ネットワーク帯域幅 NVMe SSD ストレージ アクセラレーテッドネットワークカード アクセラレーテッド帯域幅 (Gbps) bmn-cx2.metal-48xl 192 1,536 GiB 50 Gbps 4 x 4 TB (16 TB) 2 800 つまり、新世代の Outposts ラックは、幅広いオンプレミスワークロード、さらには極めて厳しいレイテンシーとスループット要件を満たす必要があるミッションクリティカルなワークロードのためにも、強化されたパフォーマンス、スケーラビリティ、回復力を提供します。 AWS マネジメントコンソール から選択して注文を開始できます。新しいインスタンスは、クラウドとオンプレミスで同じ API、AWS マネジメントコンソール、オートメーション、ガバナンスポリシー、セキュリティコントロールをサポートすることで、リージョンレベルのデプロイとの一貫性を維持し、デベロッパーの生産性と IT 効率を高めます。 知っておくべきこと リリース時点では、第 2 世代の Outposts ラックは、米国とカナダに出荷でき、米国東部 (バージニア北部およびオハイオ)、米国西部 (オレゴン)、欧州西部 (ロンドンおよびフランス)、アジアパシフィック (シンガポール) を含む 6 つの AWS リージョンに紐づけて運用できます。さらに多くの国および地域、ならびに AWS リージョンのサポートの提供が近日中に開始される予定です。リリース時点では、第 2 世代の Outposts ラックは、前世代の Outposts ラックで提供されていた AWS サービスのサブセットをローカルでサポートします。さらに多くの EC2 インスタンスタイプと AWS サービスのサポートの提供が近日中に開始される予定です。 詳細については、 AWS Outposts ラック の製品ページと ユーザーガイド にアクセスしてください。オンプレミスのニーズについて相談する準備が整っている場合は、 Outposts のエキスパート にご相談いただくこともできます。 – Micah 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
みなさんこんにちは! アマゾンウェブサービスジャパン合同会社 ソリューションアーキテクトの後藤です。 2025 年 4 月 17 日に「 AWS オンラインセミナー: 進化した Amazon EKS で Kubernetes の運用をシンプルに 」をオンラインで開催しました。 本イベントは、初期セットアップや Kubernetes クラスターに関連する機能の更新にかかる手間を減らす Amazon EKS の新機能である Amazon EKS Auto Mode のリアルな活用方法と、適材適所なマネージド Kubernetes 環境を実現する Amazon EKS Hybrid Nodes によるハイブリッドアーキテクチャを紹介しました。また Amazon EKS を含む AWS 環境におけるプラットフォームエンジニアリングの実践例を通じて開発者体験を向上するアプローチについても解説しました。 セッションの紹介 AWS メンバーから、Amazon EKS に関する 4 つのセッションを 2 時間でお届けしました。本記事の中に資料のリンクを記載しておりますので、ぜひご活用ください! Kubernetes の運用をシンプルにする Amazon EKS のアプローチ AWS 事業開発マネージャ 中村 健太郎 資料ダウンロード AWS 事業開発マネージャ 中村より、Amazon EKS を活用した Kubernetes の運用をシンプルにするアプローチについて解説しました。Kubernetes の利用が広がる中で、Amazon EKS も進化しており有効活用していただけるシーンが増えてきています。この進化により Kubernetes をより扱いやすいものにし、クラウドでもオンプレミスでも今までより幅広いお客様に活用していただけるようになっています。Kubernetes 環境の運用を効率化し、開発者体験を向上するための時間を確保することで、更にシステムが改良されビジネスへの貢献に繋げられるのではないかと考えています。最新の Amazon EKS を活用することで、どのような課題解決を解決し、どのような成果に繋げることができるのかについてお伝えしているので、AWS コンテナサービスの現在地と解決できる課題について理解したい方は、ぜひ資料をご確認ください。 運用効率を上げる Amazon EKS Auto Mode のリアルな活用方法 AWS ソリューションアーキテクト 祖父江 宏祐 資料ダウンロード AWS ソリューションアーキテクト 祖父江より、Amazon EKS Auto Mode の活用方法についてデモを交えてご紹介しました。Amazon EKS の運用オーバーヘッドを削減することを目的として、2024 年に Amazon EKS Auto Mode がリリースされています。Auto Mode では、最適なインスタンスの選択、リソースの動的なスケール、コストの継続的な最適化、コアアドオンの管理、AWS セキュリティサービスとの統合が行われるため、Kubernetes の深い専門知識がなくてもクラスター管理を自動化できます。現在 Amazon EKS を活用いただいている方、あるいはこれから Amazon EKS を活用していく予定の方は、ぜひ資料をご確認いただき、Auto Mode についての理解を深めて頂けると幸いです。 EKS Hybrid Nodes によるハイブリッドクラウド環境における Kubernetes 運用体験の統一 AWS ソリューションアーキテクト 鈴木 祥太 資料ダウンロード AWS ソリューションアーキテクト 鈴木より、Amazon EKS Hybrid Nodes の活用方法についてご紹介しました。近年、Kubernetes はコンテナオーケストレーターのデファクトスタンダードとして重要な存在になっています。そのため、クラウドやオンプレ、エッジなど様々な環境で Kubernetes クラスターを構築および運用することも増えてきています。しかし、その際に課題になるのが各環境に点在する Kubernetes クラスターの運用管理の負荷になります。2024 年にリリースされた Amazon EKS Hybrid Nodes を活用することで、Amazon EKS のメリットを活かしつつ、ハイブリッド環境での Kubernetes 運用体験を統一できます。ハイブリッド環境における Kubernetes クラスターの運用に課題を感じている方は、ぜひ資料をご確認ください。 Amazon EKS におけるプラットフォームエンジニアリングの実践 AWS ソリューションアーキテクト 後藤 健汰 資料ダウンロード AWS ソリューションアーキテクト 後藤より、Amazon EKS におけるプラットフォームエンジニアリングの実践手法についてご紹介しました。ビジネスの拡大やサービスの増加に伴う開発組織の急速な規模拡大により、組織には様々な課題が生じます。そのような状況下で、開発者体験や生産性を向上させ、ビジネス価値の創出を加速することを目的とした「プラットフォームエンジニアリング」というアプローチが、近年注目を集めています。また多くの企業が Amazon EKS で内部開発者プラットフォームを構築・運用しており、開発生産性の向上に寄与しています。全ての組織の要件に合致するプラットフォームというものは存在しませんが、Amazon EKS や AWS を活用することで、さまざまなプラットフォームアーキテクチャを実現できます。本セッションでは、Amazon EKS を活用したプラットフォームアーキテクチャパターンについて解説しています。プラットフォームエンジニアリングに興味のある方は、ぜひ資料をご確認ください。 おわりに 本セミナーにご参加いただいた皆様、改めてありがとうございました。今後も様々な切り口からのセミナーを企画してまいりますので、みなさまのご登録をお待ちしております。
アバター
みなさん、こんにちは。AWS ソリューションアーキテクトの木村です。 最近、SNS で流行っていた生成 AI による手相占いをやって自己肯定感を上げています。 さて、今週・来週は、生成 AI のイベントが盛りだくさんです。 5 月 8 日 (木): AI Agent の効果・リスク・実装方法・組織展開を 1 日で学ぶ 5 月 13 日 (火): Coding Agent Workshop ~ 開発生産性向上とガバナンスの両立を目指した、Cline with Amazon Bedrock活用のコツ 5 月 14 日 (水):JAWS-UG Expert Online: Amazon Q Developer 特集 (リンクは下記イベントガイド記事を参照) 5 月 15 日 (木): GenAIOps – 生成 AI オブザーバビリティを Amazon Bedrock と Langfuse で実現 「 5月開催の AWS 生成 AI イベントガイド 」というブログで開催予定のイベントをまとめていますのでぜひご覧ください! また、6 月 25 日 (水)、26 日 (木) に開催される AWS Summit Japan 2025 の 事前登録 ができるようになっています。今年も多くの生成 AI セッションを用意しています。登録をお忘れなく! 「 AWS ジャパン生成 AI 実用化推進プログラム 」も引き続き募集中ですのでよろしくお願いします。 それでは、4 月 28 日週の生成 AI with AWS界隈のニュースを見ていきましょう。 さまざまなニュース ブログ記事「より豊かなコンテキストのための Model Context Protocol (MCP) による Amazon Q Developer CLI の拡張」を公開 4 月 29 日に Amazon Q Developer CLI にて MCP (Model Context Protocol) のサポートが開始 されました。本ブログでは、Amazon Q Developer に PostgreSQL の MCP サーバーの設定を行い、テーブル構造が反映された SQL クエリ文を生成したり、ER 図を生成したりする手順が紹介されています。大変注目のアップデートですので是非お試しください! ブログ記事「Writer の Palmyra X5 および X4 の基盤モデルが Amazon Bedrock で利用可能に」を公開 4 月 28 日に Writer の Palmyra X5 および X4 モデルが Amazon Bedrock で提供開始 しました。特に大きなコンテキストウィンドウをサポートしているのが特徴で、Palmyra X5 は 100 万トークン、Palmyra X4 は 12.8万 (128K) トークンをサポートしています。本ブログでは、Palmyra X5 および X4 の特徴や使い方例を紹介しています。 ブログ記事「Meta の Llama 4 モデルが Amazon Bedrock サーバーレスで使用可能に」を公開 以前から Amazon SageMaker JumpStart で使用可能となっていた、 Meta社の Llama 4 Scout 17B と Llama 4 Maverick 17B が、4 月 29 日に Amazon Bedrock で利用いただけるようになりました。Amazon Bedrock を通じて利用することで、サーバーレスのメリットや Converse API を利用することによるアプリケーション統合のしやすさのメリットを享受いただけるようになっています。 サービスアップデート サービスアップデート – 生成AIを組み込んだ構築済みアプリケーション Amazon Q Developer CLI が Model Context Protocol (MCP)をサポート開始 Amazon Q Developer CLI で Model Context Protocol (MCP) のサポートを開始しました。MCP とは、LLM が外部ツールや API などにアクセスする方法を標準化したオープンプロトコルです。今回のサポートにより、外部情報を参照した応答を開発者は得ることができるようになります。 上記のブログ をぜひ参照ください。 Amazon Q Developer in chat applications が AWS Systems Manager のノードアクセス承認をサポート 先日 AWS Systems Manager にて、 ノード (EC2 インスタンス) へのログイン権限を一時的に付与するジャストインタイムノードアクセス機能が発表 されました。従来はマネジメントコンソールを通じてログインの承認を行う必要がありましたが、今回の Amazon Q Developer in chat のサポートにより、ノードアクセスの承認作業を Microsoft Teams と Slack 経由で行えるようになりました。 Amazon Q Developerが、IDE内の新しいエージェント型コーディング体験を発表 エージェント型コーディングとは、ユーザーが与えた自然言語の指示を AI エージェントが理解し自ら解決策を考えコード生成やファイル修正などを行う技術です。この機能は、すでに Amazon Q Developer CLI で利用可能でしたが、今回 IDE で利用可能となりました。本機能は Claude Sonnet 3.7 モデルが搭載されており、日本語含む多言語を対応しています。IDE は現在 Visual Studio Code に対応しており JetBrains と Eclipse のサポートも間もなく開始される予定です。 Amazon Q Business が匿名ユーザーアクセスをサポート Amazon Q Business の匿名ユーザーアクセスの一般提供を開始しました。この機能により、お客様は公開されているコンテンツを使用して、匿名ユーザー向けの Q Business アプリケーションを作成できるようになります。例えばウェブサイトの Q&A ページで本機能を提供することで、訪問者のサポート体験を向上させることが可能です。この匿名モードで作成された Q Business アプリケーションは、API 消費量に基づいて課金されます。本機能は、米国東部(バージニア北部)、米国西部(オレゴン)、ヨーロッパ(アイルランド)、およびアジアパシフィック(シドニー)リージョンで利用可能です。 サービスアップデート – アプリケーション開発のためのツール WriterのPalmyra X5およびX4モデルがAmazon Bedrockで利用可能に 上記のブログ紹介 で触れたように、Writer の Palmyra X5 および X4 モデルが Amazon Bedrock で利用可能になりました。大きなコンテキストウィンドウをサポートするのに加え、高度な推論、マルチステップのツール呼び出し、RAG(検索拡張生成)などの複雑なタスクに優れています。日本語での動作が確認できており 対応言語ごとのベンチマークも公開 されています。現在は米国西部 (オレゴン) からクロスリージョン推論で呼び出すことが可能です。 Meta の Llama 4 が Amazon Bedrock で完全マネージド型として利用可能に こちらも ブログ紹介 で触れたように、Llama 4 Scout 17B と Llama 4 Maverick 17B が Amazon Bedrock で利用可能になりました。Llama 4 Scout 17B は、最大1,000万トークンのコンテキストウィンドウをサポートし、包括的な分析や推論を必要とするアプリケーションに対応可能です。Llama 4 Maverick 17B は画像とテキストの理解に優れた汎用モデルとなっています。本機能は、米国東部(バージニア北部)および米国西部(オレゴン)リージョンの Amazon Bedrock で利用可能です。また、クロスリージョン推論を通じて米国東部(オハイオ)からもアクセス可能です。 Amazon Bedrock Model Distillation (モデル蒸留) が一般提供開始 モデル蒸留とは、高性能なモデル(教師)から小規模なモデル(生徒)に知識を転送することで、特定のユースケースにおいて高精度でありながら処理速度が速くコスト効率の高いモデルの構築を目指す技術を指します。もともとプレビューでしたが今回一般提供開始となりました。一般提供開始に伴って対応モデルが拡大し、Amazon Nova Premier(教師)、Nova Pro(生徒)、Claude 3.5 Sonnet v2(教師)、Llama 3.3 70B(教師)、Llama 3.2 1B/3B(生徒)が追加されています。詳細は ドキュメント や ブログ を確認ください。 複雑なタスクに対応する最高性能とモデル蒸留機能を持つ Amazon Nova Premier の一般提供を開始 最高性能のマルチモーダル基盤モデル「Amazon Nova Premier」の一般提供を発表しました。Nova Premier は、これまでに発表されている Nova ファミリーモデルの中で最も高性能で、優れたインテリジェンス、高いエージェント性能、100 万トークンのコンテキストウィンドウを提供します。また、Amazon Bedrock Model Distillation (モデル蒸留) を使用することで、特定のニーズに合わせた高性能・高費用対効果・低レイテンシーの Nova Pro、Lite、Micro バージョンを作成可能です。現在、クロスリージョン推論を通じて、米国東部(バージニア北部)、米国東部(オハイオ)、米国西部(オレゴン)リージョンの Amazon Bedrock で利用可能です。 ブログ や ユーザーガイド もぜひご覧ください。 著者について 木村 直登(Naoto Kimura) AWS Japan のソリューションアーキテクトとして、製造業のお客様に対しクラウド活用の技術支援を行なっています。最近は生成 AI と毎日戯れており、特にコード生成と LLM エージェントに注目しています。好きなうどんは’かけ’です。
アバター
本稿は、アプリケーション開発支援を担当された株式会社アイスリーデザイン様と Amazon Web Services Japan の共同執筆によるものです。 はじめに 引越しの際には見積もりの取得が不可欠ですが、予定調整や家財の確認など様々な課題が存在します。本稿では、アート引越センター株式会社様が提供する「ぐるっと AI 見積り」アプリケーションの事例をご紹介します。本アプリケーションは、顧客自身がスマートフォンで室内を撮影するだけで AI が自動的に引越しの見積もりを行い、プロセスを大幅に効率化します。 背景 物流業界における 2024 年問題や働き方改革、労働力不足といった社会的課題への対応、そして多様化する顧客ニーズに応えるため、引越業界においても AI などの最先端テクノロジーを活用したデジタルトランスフォーメーションが求められています。従来の引越し見積りでは、営業担当者による現地訪問または遠隔確認が必要であり、属人的要素が強く、見積もりにばらつきが生じるという課題がありました。これらの背景から、アート引越センター様の DX 推進施策の一環として、AI 技術を活用した自動見積りサービス「ぐるっと AI 見積りアプリ」が開発されました。 アイスリーデザイン様は今まで 14 年にわたり AWS のサービスを活用してきた実績があり、AWS の高い信頼性と、JAWS-UG などの AWS コミュニティとのつながりによる豊富な情報資源に魅力を感じ、AWS を採用することにしました。 アプリケーションの概要 本アプリケーションでは、ユーザー自身が室内を撮影し、デバイス上で 3D モデルを生成します。アプリ内に再現された室内をユーザーが確認し、見積り依頼を行うと、AI が 3D モデル内のソファーやベッドなどの家具、洗濯機・冷蔵庫といった家電、食器棚・タンスなどの収納などを検出し、自動的に見積りを行います。 (出展: 株式会社アイスリーデザイン) ソリューション/構成内容 推論には、PointNeXt をベースとした学習済みモデルを使用し、Amazon SageMaker Serverless Inference によるサーバーレス環境で非同期推論を実行しています。アプリケーション内で生成された 3D モデルはポイントクラウド(点群データ)に変換され、Amazon S3 にアップロードされます。API を介して見積りリクエストを受け付け、AWS Step Functions を通じて非同期推論リクエストを行う構成となっています。 (出展: 株式会社アイスリーデザイン) アプリケーションはコンテナベースで開発され、運用負荷の軽減を目的として、API と管理画面には Amazon ECS と AWS Fargate が採用されています。また、引越特有の季節性や時間帯による需要の偏りに対しても、オートスケーリングの容易な設定により対応しています。 導入効果 本アプリケーションの導入により、以下の効果が得られました: 営業担当者による見積り作業の無人化 利用者の見積り待ち時間の 15 分から 5 分への短縮 単身引越しにおける完全無人対応の実現 アート引越センター様は、「ぐるっと AI 見積り」の導入により、従来の人による見積りの誤差を解消し、正確な積算が可能になったと評価しています。特に喜ばしかったのは、引越しサービスそのものではなく AI アプリに対する顧客からの高評価で、技術に精通したエンジニアからも称賛の声が寄せられたそうです。また、3D モデルによる視覚的な情報共有が社内業務を効率化し、作業スタッフの準備をスムーズにした点も大きな成果でした。アプリのダウンロード後の実際の利用率や申し込み率も高く、この革新的な取り組みが顧客体験と業務効率の両面で成功を収めていることを実感されています。 アプリ利用者からもアプリに対するフィードバックを得られ、高い評価をいただいています。 結論 アート引越センター様における本 AI アプリケーションの導入は、引越し見積りプロセスの自動化と標準化を実現し、業務効率の向上と顧客満足度の改善に大きく寄与しています。サーバーレス環境の活用により、インフラ構築と運用の負荷を軽減し、アプリケーション開発に注力することで、優れたユーザー体験の提供が可能となりました。 現在、単身の引越しについては予約までシステムで完結できるようになっており、今後はさらなる適用範囲の拡大に向けて改善が続けられています。 本事例が、物流業界における AI 活用とデジタルトランスフォーメーションのさらなる推進の一助となれば幸いです。 著者について 大松 宏之 (Hiroyuki Omatsu) @_daimatsu_ テクニカルソリューションアーキテクトとして、業種業態を問わず様々なお客様を支援させて頂いています。好きなサービスは、AWS Direct Connect と AWS Client VPN です。 石岡 陸 (Riku Ishioka) LinkedIn AWS Japan のソリューションアーキテクトとして、Web 業界のお客様を中心にアーキテクチャの設計・構築を支援しています。ゲームと開発が趣味です。
アバター
組織が成長するにつれて、クラウドインフラの管理はますます複雑になり、コストを最適化するための高度な財務戦略が必要になります。 AWS Savings Plans は、1 年または 3 年の期間にわたって 1 時間あたりの米ドル (USD) で測定される一定の使用量をコミットしていただく代わりに、AWS サービスの使用料金を大幅に節約できる柔軟な価格モデルを提供します。多くの場合、個々のチームが直接購入したり、FinOps チームが特定のアカウントで購入したりすることで、複数の Savings Plans が採用されています。これらの戦略は大幅なコスト削減につながる可能性がある一方で、公平かつ効果的なチャージバック (※) プロセスを確保する上では複雑さも増すことにもなります。 ※訳注:チャージバックとは、組織の内部会計プロセスを通じて、発生した費用を実際にそのサービスやリソースを使用した部門等に請求する仕組みのことを指します。詳細は こちら のドキュメントをご覧ください。 本記事では、管理アカウント、連結アカウント、またはその両方で購入した Savings Plans のコストを、その割引を受けたアカウントに適切に配分するチャージバックの仕組みを定義する方法について説明します。それを理解していただくことで、Savings Plans 割引の恩恵を受けたアカウントを特定し、その具体的な使用状況に基づいてチャージバックする適切な金額を算出できるようになります。 Savings Plans の割引共有について AWS では、同じ AWS Organizations の organization (組織) に属する アカウント間で Savings Plans の割引を共有 することが可能です。Savings Plans の時間単位のコミットメント料金はそれを購入したアカウントに請求されますが、共有が有効になっている場合、割引は organization 内の複数のアカウントに適用される可能性があります。Savings Plans の割引は、まず Savings Plans を購入したアカウント内のすべての対象となるリソースに適用されます。割引を適用できるオンデマンド使用量がそれ以上なく “未使用のコミットメント” が生じる場合には、使い切れていないコミットメントは organization 内の他の連結アカウント (メンバーアカウント) で使用されます。 共有によって節約効果を最大化 できますが、その一方で共有による恩恵を organization 全体に適切に配分するには追加の労力が必要になる場合があります。Savings Plans の割引の恩恵を受けるすべてのアカウントに、Savings Plans のコミットメント料金を (AWS に対して直接) 支払う責任があるわけではありません。コミットメントのコストを負担しているアカウント (つまりコミットメントを購入しているアカウント) 以外が Savings Plans の恩恵を受けることもあります。そのため、恩恵 (つまり割引) が共有された場合には、慎重にコスト配分を行い各アカウントに対して公平に請求が行われるようにする必要があります。 Savings Plans の仕組みと、共有が Savings Plans に与える影響について理解できたので、次は コストと使用状況レポート (CUR) 2.0 のデータを使用したチャージバック戦略を見てみましょう。 前提条件 AWS Data Export により CUR 2.0 でエクスポート (※) を作成し、データをカタログ化するように AWS Glue を設定します。これにより、 Amazon Athena を使用してクエリを実行し、CUR 2.0 のデータを分析することができます。これを実現するには、次のことを行う必要があります。 ※訳注:AWS Data Export においてエクスポートされるデータのことを「エクスポート」と呼びます。 1. AWS Data Export による CUR 2.0 の設定 AWS マネジメントコンソール にサインインします。 AWS 請求とコスト管理 に移動します。[ データエクスポート (Data Export) ] を選択し、[ 作成 (Create) ] をクリックしてエクスポートの設定を開始します。 図 1. データエクスポートの作成 [ 標準データエクスポート (Standard data export) ] を選択し、エクスポート名を指定し、データテーブルタイプとして [ CUR 2.0 ] を選択します。 図 2. エクスポートの設定 [ リソース ID を含める (Include resource IDs) ] と [ コスト配分データを分割 (Split cost allocation data) ] の有効化はオプションです。 時間粒度として [ 時間単位 (Hourly) ] を選択します。 圧縮形式として [ Parquet ] を設定し、ファイルのバージョニングのために [ 既存のデータエクスポートファイルを上書き (Overwrite existing data export file) ] を選択します。 図 3. エクスポート配信オプションの設定 CUR 2.0 データを保存する宛先の Amazon S3 バケットとパスプレフィックスを指定します。 [ 作成 (Create) ] を選択して設定を完了します。(※) ※訳注:設定後、S3 バケットに CUR 2.0 のエクスポートが配信されるまで最大 24 時間かかります。 2. CUR データをクエリするための AWS Glue の設定 AWS Glue コンソールに移動し、[ Data Catalog ] > [ Crawlers ] を選択して CUR 2.0 データのカタログ化プロセスを開始します。 [ Create crawler ] をクリックして、一意のクローラー名を割り当てます。[ Next ] をクリックします。 図 4. AWS Glue Crawler の作成 [ Is your data already mapped to Glue tables? ] の質問については、[ Not yet ] を選択します。 [ Add a data source ] をクリックし、[ S3 ] を選択して、(AWS Data Export 内で設定した) CUR 2.0 データがエクスポートされる Amazon S3 の場所を以下の形式で指定します。 s3://<bucket-name>/<prefix>/<export-name>/data/ 図 5. CUR データをクローリングする S3 データソースの作成 [ Add an S3 data source ] をクリックし、[ Next ] をクリックします。 [ Create new IAM role ] をクリックすると、新しい AWS Glue ロールが作成されます。このロールにより、Glue は CUR 2.0 ファイルが保存されている S3 バケットにアクセスできるようになります。[ Next ] をクリックします。 [ Add database ] をクリックしてターゲットデータベースを作成します。データベース名を入力し、[ Create database ] をクリックします AWS Glue コンソールに戻り、前のステップで作成したデータベースを選択します。クローラーのスケジュールを [ On demand ] に設定して、必要な場合にのみ実行するようにします。[ Next ] をクリックします。 設定を確認し、[ Create crawler ] を選択します。 クローラーの準備ができたら、クローラーを選択して [ Run ] をクリックします。これにより、データが処理されてカタログ化され、Amazon Athena からアクセス可能なテーブルが作成されます。(※) ※訳注:データエクスポートの設定後、S3 バケットに CUR 2.0 のエクスポートが配信されるまで最大 24 時間かかります。まだ配信されていない状態でクローラーを実行してもカタログ化およびテーブルの作成はされないため、クローラーの実行はエクスポートが配信されるまでお待ちください。 CUR 2.0 を使って Savings Plans のチャージバックを行う 上記の前提条件を設定したら、以下のクエリを使用して、Savings Plans の割引を受け取った連結アカウントを特定します。[ Effective Cost ] 列には、連結アカウントで使用された Savings Plans のコミットメントの金額に対応するコストが表示されます。これが個々の連結アカウントへのチャージバックに使用する金額になります。 Amazon Athena コンソールに移動してクエリを実行します。Athena での SQL クエリの実行に関する 詳細についてはこちら をご覧ください。 以下のクエリをクエリエディタにコピーします。クエリのテーブル名を更新してください (※)。 ※訳注:具体的には、クエリ内の 59 行目の「<Table Name>」を Glue テーブルのデータベース名 (data) で置き換えてください。 ※訳注:以下のクエリは、実行日の前月の 請求期間 (1 か月) を対象に分析を行うことを想定しています。先述の設定で CUR 2.0 のエクスポートを初めて S3 バケットに出力した場合、その前月のエクスポートは存在しないため、クエリ自体は成功するもののクエリ結果は空になります。その場合は 62 行目の「 INTERVAL '1' month 」の「 1 」を「 0 」に修正して、クエリ実行当月 (その時点まで) の CUR 2.0 エクスポートを分析対象にするようにしてみてください。 select DATE_FORMAT(bill_billing_period_start_date,'%Y-%m-%d') as "Date" , line_item_usage_account_id as "Account Id" , savings_plan_offering_type as "Savings Plan Type" , split_part(savings_plan_savings_plan_a_r_n, '/', 2) AS "Saving Plan ID" , savings_plan_payment_option as "Savings Plan Payment Option" , line_item_line_item_type as "Item Type" , sum( case when line_item_line_item_type = 'SavingsPlanCoveredUsage' then 0 else savings_plan_recurring_commitment_for_billing_period end ) + sum( case when line_item_line_item_type = 'SavingsPlanCoveredUsage' then 0 else savings_plan_amortized_upfront_commitment_for_billing_period end ) as "Savings Plan Fee" , sum( case when line_item_line_item_type = 'SavingsPlanCoveredUsage' then 0 else savings_plan_recurring_commitment_for_billing_period end ) + sum( case when line_item_line_item_type = 'SavingsPlanCoveredUsage' then 0 else savings_plan_amortized_upfront_commitment_for_billing_period end ) - sum(savings_plan_used_commitment) as "Unused commitment" , sum( case when line_item_line_item_type = 'SavingsPlanRecurringFee' then 0 else savings_plan_savings_plan_effective_cost end ) as "Effective Cost" , sum( case when line_item_line_item_type = 'SavingsPlanRecurringFee' then 0 else line_item_unblended_cost end ) - sum( case when line_item_line_item_type = 'SavingsPlanRecurringFee' then 0 else savings_plan_savings_plan_effective_cost end ) - ( sum( case when line_item_line_item_type = 'SavingsPlanCoveredUsage' then 0 else savings_plan_recurring_commitment_for_billing_period end ) + sum( case when line_item_line_item_type = 'SavingsPlanCoveredUsage' then 0 else savings_plan_amortized_upfront_commitment_for_billing_period end ) - sum(savings_plan_used_commitment) ) as "Savings" from <Table Name> where line_item_line_item_type in ('SavingsPlanCoveredUsage', 'SavingsPlanRecurringFee') and bill_billing_period_start_date = DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '1' month group by bill_billing_period_start_date , line_item_usage_account_id , savings_plan_offering_type , savings_plan_savings_plan_a_r_n , savings_plan_payment_option , line_item_line_item_type order by sum(savings_plan_savings_plan_effective_cost) desc これをよりよく理解するために、AWS CUR 2.0 にある 2 つの重要なコンポーネントを詳しく見てみましょう。 SavingsPlanRecurringFee :これは出力内で「 Item Type = 'SavingsPlanRecurringFee' 」であるフィールドです。これは、Savings Plans の購入アカウントがそのコミットメントに対して支払う義務があるコストを表します。これはコミットメントの全額が使用されたかどうかにかかわらず固定費です。Savings Plans の種類に応じて、この金額は非ブレンドコストまたは償却コストとして表示されます。 SavingsPlanCoveredUsage : これは出力内で「 Item Type = 'SavingsPlanCoveredUsage' 」であるフィールドです。これは Savings Plans の実際の使用量を表しており、コミットされた Savings Plans のうち、organization 全体での使用量にどの程度適用されたかを示します。organization の構造とワークロードの分散状況によっては、この使用量が複数のアカウントに分散される可能性があります。 Savings Plans のチャージバックを行うには、連結アカウントごとの「 Effective Cost 」列を使用する必要があります。この列には、各連結アカウントで使用された Savings Plans のコミットメントの割合に相当するコストが表示されています。これにより、各連結アカウントが Savings Plans から受けた恩恵に応じて Savings Plans の料金を確実に負担することができるようになります。 SavingsPlanRecurringFee のある行の「 Unused Commitment 」列を確認することも重要です。この列の値が $0 より大きい場合は、Savings Plans が十分に活用されていないことを示しています。これは一見すると節約機会の損失のように見えるかもしれませんが、実際にそうであるかどうかの検証が重要です。組織は意図的に想定使用量をやや上回る Savings Plans のコミットメントをあえて購入することがあります。これは、未使用分のコストを考慮しても、割引による全体的な節約効果の方が大きく、organization 全体としては正味の節約効果が見込める可能性があるからです。 例 以下の表では、Savings Plans のタイプは「 No Upfront 」です。関連する「SavingsPlanRecurringFee」フィールドを確認すると、毎月の定期料金 (“Savings Plan Fee” 列) はアカウント ID Aに請求されています。Savings Plans を購入したアカウントはアカウント ID A であるため、アカウント ID A の対象となる使用量に対して最初に割引が適用されます。月額コミットメント $12,410.68 のうち、$8,363.12 がアカウント ID A にチャージバックされる実効コスト (“Effective Cost” 列) です。アカウント B は、定期 (月額) コミットメントのうち $1,361.26 を使用しており、これがアカウント B に請求されるチャージバック額になります。また、未使用のコミットメント (“Unused Commitment” 列) が $0 で、実効コスト (“Effective Cost” 列) の合計が定期料金 (“Savings Plan Fee” 列) と一致していることも確認できます。これは、Savings Plans が十分に活用されていることを示しています。 図 6. アカウント間の Savings Plans による恩恵の配分を示すレポートの例 別の例を見てみましょう。 以下の表では、Savings Plans のタイプが「 All Upfront 」であることがわかります。これは、請求期間における前払い金額の償却部分に相当します。データによると、「未使用のコミットメント (“Unused Commitment” 列)」は $0 であるため、Savings Plans はアカウント ID A で購入されており、かつアカウント ID A で完全に使い切られていることがわかります。この場合、Savings Plans の恩恵を受けているアカウントは (アカウント ID A の) 1 つだけであるため、定期料金 (“Savings Plan Fee” 列) が実効コスト (“Effective Cost” 列) と一致しています。 図 7. 購入アカウントによる Savings Plans の恩恵の使用状況を示すレポートの例 まとめ この記事では、Savings Plans の共有がその使用量に与える影響について説明しました。共有を有効にすると、Savings Plans の料金を支払うことなく Savings Plans の割引の恩恵を受けられるアカウントが存在する可能性があります。Savings Plans の料金を (AWS に対して直接) 支払う義務は、それを購入したアカウントのみにあります。 AWS Cost and Usage Report (CUR) 2.0 で “対象を絞ったクエリ” を実行することで、Savings Plans の割引を受けているすべての対象アカウントと、それぞれに請求すべき定期料金の割合を特定できるチャージバックの仕組みを設計しました。この戦略により、Savings Plans を保有しているアカウントにのみ請求するのではなく、社内固有のチャージバックの仕組みを使用して、使用量とそれによって得られた節約額に基づいて正確にアカウントにチャージバックできるようになります。この方法により、Savings Plans のコストと恩恵の両方を公正かつ透明に分配することができ、財務責任を実際の使用状況に合わせて調整するのに役立ちます。 この戦略により、透明性と説明責任が高まり、チーム全体での思慮深いクラウド利用を促進します。Savings Plans のメリットを享受した分に応じて各アカウントに適切に請求することで、組織全体でのコスト意識の向上につながります。 Alonso de Cosio Alonso de Cosio は AWS のプリンシパルテクニカルアカウントマネージャーです。彼の役割は、AWS のベストプラクティスを活用したソリューションの計画と構築をサポートするため、お客様に対して技術的な提言と戦略的なガイダンスを提供することです。 彼は、サーバーレス技術を使用して AWS 上でモジュール化可能でスケーラブルなエンタープライズシステムを構築することに情熱を注いでいます。プライベートでは、妻や愛犬との時間を大切にし、ビーチに行ったり旅行したりすることを楽しんでいます。 Ketan Kumar Ketan は、アイルランドのダブリンを拠点とする AWS のシニアテクニカルアカウントマネージャーです。彼の役割は、 AWS のベストプラクティスを活用してソリューションを計画・構築できるよう、お客様に戦略的な技術指導を提供することです。 彼は、お客様がスケーラブルで回復力が高く、費用対効果の高いアーキテクチャを構築できるようにすることに力を注いでいます。プライベートでは、妻や家族との時間を大切にし、旅行やビデオゲーム、映画鑑賞を楽しんでいます。 翻訳はテクニカルアカウントマネージャーの堀沢が担当しました。原文は こちら です。
アバター
みなさん、こんにちは。ソリューションアーキテクトの戸塚です。今週も 週刊AWS をお届けします。 GW が明けましたね。私は趣味のパデルに没頭していました。連休中にもAWSアップデートが続いていて、この週は Amazon Q Developer まわりのアップデートが多かった印象です。AI 関連のイベントが5月は多く開催される予定で、 こちらの Blog にまとまっています。ぜひ、ご参加ください。 それでは、先週の主なアップデートについて振り返っていきましょう。 2025年4月28日週の主要なアップデート 4/28(月) AWS Client VPN でクライアントルートの強制適用がサポートされました AWS Client VPN に新機能が追加され、デバイスのネットワークルートを監視と、VPN トラフィックの漏洩を防止によるリモートアクセスのセキュリティを強化が可能となりました。この機能は、設定された内容に従って VPN トンネルを介してトラフィックが確実に流れるように、ユーザーのデバイスのルーティングテーブルを継続的に追跡します。 Writer の Palmyra X5 および X4 モデルが Amazon Bedrock で利用可能に Writer 社の高性能な基盤モデルである Palmyra X5 と X4 が、Amazon Bedrock で利用可能になりました。これは、Writer 社のモデルを完全マネージド型のサーバーレスモデルとして提供する初めてのクラウドプロバイダーとなります。これらのモデルは Stanford の HELM ベンチマークでトップランクを獲得しており、高度な推論や複数ステップのツール呼び出し、組み込みの RAG (検索拡張生成) などの複雑なタスクを得意としています。現在、Writer 社の Palmyra モデルは US West (オレゴン) で利用可能です。詳細は、こちらの ブログ もご参照ください。 Amazon CloudFront での HTTP 検証による公開証明書の自動化 AWS Certificate Manager (ACM) と Amazon CloudFront において、HTTP の検証済みパブリック証明書の自動化機能が発表されました。この新機能により、CloudFront をご利用のお客様は、新しい CloudFront のコンテンツ配信アプリケーションを作成する際に、チェックボックスを選択するだけで TLS 通信に必要なパブリック証明書を取得できるようになりました。ACM と CloudFront が連携して、必要な公開証明書の要求、発行、CloudFront との関連付けを自動的に行います。 4/29(火) AWS Amplify がデータシーディングを導入 AWS Amplify にデータシーディング機能が追加されました。この機能により、Amazon Cognito、AWS AppSync、Amazon DynamoDB、Amazon S3 といった複数のサービスにまたがるテストデータの作成が容易になります。シーディングとは、アプリケーションの開発やテストに必要なサンプルデータを自動的に作成することを指します。これまで開発者は、認証が必要なリソースをテストする際に、テストユーザーの作成や認証の設定を手動で行う必要がありました。新機能では、API やコマンドラインインターフェース (CLI) を使用して、テストユーザーの作成から関連リソースの設定まで、プログラムで自動的に行えるようになります。 Amazon Q Developer CLI が Model Context Protocol (MCP) をサポート Amazon Q Developer CLI が Model Context Protocol (MCP) に対応しました。Amazon Q Developer CLI は、開発者向けの AWS が提供するコマンドラインツールです。今回の対応により、開発者はより豊かなコンテキストを活用した開発作業が可能になりました。MCP は AI モデルが外部ツールやデータソース、API に安全かつ構造化された方法でアクセスする方法を標準化するオープンプロトコルです。これまでは Amazon Q Developer CLI でネイティブに利用可能なツールのみを使用して、コード生成や開発作業の実行を支援していました。MCP ツールのサポートにより、AWS が事前に用意した多数の統合機能や、標準入出力 (stdio) トランスポート層をサポートする MCP サーバーをツールとして Q Developer CLI に統合できるようになりました。これにより、ネイティブツールと MCP サーバーベースのツールを組み合わせたタスクを実行することで、より状況に応じたカスタマイズされた応答が可能になります。詳しくはこちらの Blog もご参照ください。 AWS Budgets が追加のコスト指標とフィルタリング機能をサポート AWS Budgets (予算管理サービス) に、コスト管理をより柔軟に行える新機能が追加されました。この更新により、クラウドコストの追跡と管理方法が大幅に改善されます。新しく追加された機能では、割引後のコストを監視できる「net unblended costs (正味未調整コスト)」や「net amortized costs (正味償却コスト)」といった新しいコスト指標での予算作成が可能になりました。また、予算作成時に特定の項目を除外することができ、Cost Explorer で使用される「reservation applied usage (予約インスタンス適用使用量)」「Savings Plan Upfront Fee (Savings Plan 前払い料金)」「Savings Plan Covered Usage (Savings Plan 対象使用量)」などのチャージタイプにも対応しています。これらの新機能により、自動適用される割引や高度なフィルタリング機能を活用して、アプリケーション、チーム、またはコストセンターの実際のコストに対する予算管理が可能になります。 4/30(水) AWS Clean Rooms で複数の結果受信者をコラボレーションでサポート AWS Clean Rooms の新機能として、複数のコラボレーションメンバーが分析結果を受け取れるようになりました。この機能強化により、Spark SQL を使用したクエリの分析結果を、複数のメンバーが直接受け取ることが可能になります。これまでは追加の監査メカニズムが必要でしたが、その必要性がなくなり、使いやすさと透明性が向上しました。具体的な使用例として、メディアパブリッシャーと広告主のコラボレーションでは、パブリッシャーが共有データセットに対してクエリを実行し、その結果を両者の指定した Amazon S3 ロケーションに自動的に送信して検証することができます。 Amazon SageMaker の Visual ETL とクエリエディタのスケジューリング機能が統合 Amazon SageMaker の Visual ETL とクエリエディタに対して、スケジューリング機能が統合されました。この新機能により、データ処理やクエリの実行を簡単にスケジュール設定できるようになりました。Amazon SageMaker の次世代バージョンは、データ、分析、AI を一元管理する中心的なプラットフォームとなっており、SageMaker Unified Studio という単一の開発環境を提供しています。Visual ETL は、ドラッグアンドドロップのインターフェースを使用して ETL フローを構築し、Amazon Q を活用してフローを作成できる機能です。また、クエリエディタツールでは、クエリの作成、実行、結果の確認、チームとの共有が可能です。 複雑なタスクとモデル蒸留の教師に最適な最高性能モデル Amazon Nova Premier を発表 Amazon が新しい大規模言語モデル「Nova Premier」を発表しました。これは Amazon の中で最も高性能なマルチモーダル基盤モデルとなります。Nova Premier は、長文ドキュメント、動画、大規模なコードベースの処理、そして複数のステップを必要とする作業の実行などの複雑なタスクを処理できます。また、Amazon Bedrock Model Distillation と組み合わせることで、特定のニーズに合わせたカスタムモデルを作成することもできます。Nova Premier はUS East (バージニア)、US East (オハイオ)、クロスリージョン推論の US West (オレゴン)で、Amazon Bedrock から利用可能です。 5/1(木) Amazon Q Developer が IDE 内で新しいエージェント型のコーディング体験を発表 Amazon Q Developer の IDE 内での新しいエージェント型コーディング体験が発表されました。この新機能は、ソフトウェア開発の方法を大きく変革するものです。自然言語を理解し、複雑なワークフローをスムーズに実行できる新しいコーディング体験を提供します。この新機能の特徴として、Q Developer はコードの提案だけでなく、ファイルの修正、コード差分の生成、コマンドの実行などを自然言語による指示で行うことができます。また、透明性のある推論プロセスにより、Q Developer があなたの要件をどのように解釈し、コードを変更しているかの思考プロセスを確認することができます。さらに、マルチターンの会話機能により、コードベース全体と開発セッション全体でコンテキストを維持しながら、双方向の対話が可能です。そして、細かな制御機能により、コードの自動修正を選択するか、ステップバイステップでのレビューと確認を行うかを選択できます。 Amazon Bedrock モデルディスティレーションが一般提供開始 Amazon Bedrock の Model Distillation が一般提供開始となりました。Model Distillation とは、より高性能なモデル (教師モデル) から、より軽量なモデル (生徒モデル) へ知識を転移させる技術です。この技術により、特定のユースケースにおいて、高速で費用対効果の高い生徒モデルを教師モデルと同等の性能で実現できます。今回の一般提供では、新しいモデルとして Amazon Nova Premier (教師モデル) と Nova Pro (生徒モデル)、Claude 3.5 Sonnet v2 (教師モデル)、Llama 3.3 70B (教師モデル) と Llama 3.2 1B/3B (生徒モデル) がサポートされました。Amazon Bedrock Model Distillation を使用することで、エージェントのユースケースにおける関数呼び出しの予測を、より小規模なモデルで正確に実行できるようになり、応答時間の大幅な短縮とコストの削減が可能になります。詳細は、こちらの Blog と 製品ページ をご参照ください。 AWS がエネルギーデータインサイトのマネージド型サポートを発表 AWS Managed Service (AMS) を通じて Energy Data Insights (EDI) のマネージド型サポートを発表しました。これは、エネルギー業界のお客様が OSDU 標準に準拠した形で、地下データ管理プラットフォームを AWS 上で簡単に展開、管理、運用できるようにするサービスです。この発表により、AWS 上で EDI を自動的にデプロイでき、データ取り込みの所要時間を数週間から数時間に短縮し、最小限の手作業で地下データをインテリジェントに処理・整理することが可能になりました。EDI on AWS は従量課金制で、US East (バージニア北部)、US West (オレゴン)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、ヨーロッパ (アイルランド)、ヨーロッパ (パリ)、南アメリカ (サンパウロ) で利用可能です。詳細は 製品ページ をご参照ください。 5/2(金) Amazon Aurora と RDS 向けの新しいオープンソース AWS Advanced PostgreSQL ODBC ドライバーが利用可能に AWS から、PostgreSQL データベース向けの新しい ODBC ドライバーが一般提供開始されました。このドライバーは Amazon RDS と Amazon Aurora PostgreSQL 互換エディションのデータベースクラスターで利用できます。このアップデートの重要なポイントは、フェイルオーバーやスイッチオーバーの時間が大幅に短縮され、従来のオープンソースドライバーと比べて数十秒かかっていた切り替え時間が一桁秒数まで改善されたことです。また、 Aurora Limitless のサポートや、AWS Secrets Manager、AWS IAM、フェデレーテッドアイデンティティによる認証もサポートしています。 それでは、また来週お会いしましょう! 著者について 戸塚 智哉(Tomoya Tozuka) / @tottu22 飲食やフィットネス、ホテル業界全般のお客様をご支援しているソリューション アーキテクトで、AI/ML、IoT を得意としています。最近では AWS を活用したサステナビリティについてお客様に訴求することが多いです。 趣味は、パデルというスペイン発祥のスポーツで、休日は仲間とよく大会に出ています。
アバター
このブログ記事は、AWS ソリューションアーキテクト 太田が執筆し、ソニー銀行様が監修しています。 ソニー銀行株式会社(以下、ソニー銀行)は 2025 年 5 月、同行の勘定系システム全体のアマゾンウェブサービス(以下、AWS)への移行を完了しました(プレスリリースは こちら )。 この新勘定系システムは、主要コンポーネントとしてコンテナ向けサーバーレスコンピューティングサービス AWS Fargate を活用したクラウドネイティブなアーキテクチャで設計されており、マイクロサービス化することで機能拡張にも柔軟に対応可能なシステム基盤上に構築されています。さらに、 API (アプリケーション プログラミング インターフェイス)を通じて他のシステムとも容易に接続が可能であるため、アプリケーションの拡張性と柔軟性にも優れています。アプリケーション開発に関しても、ライフサイクル全体の効率的な管理を行う AWS Code サービス群を利用した継続的インテグレーション / 継続的デプロイメント(CI/CD)パイプラインを構築することで開発工程を自動化し、より短い時間での機能拡張や新サービスのリリースを可能にしています。 本ブログでは、ソニー銀行のこれまでのクラウドジャーニーと、今回 AWS で稼働を開始した新勘定系システムの全容を紹介します。 新勘定系システム移行までの道のり ソニー銀行は最新のテクノロジーを活用した IT 戦略を進めるため、日本の金融機関の中でもいち早く 2011 年からクラウド導入の検討を開始しました。情報収集・調査を続ける中 AWS が、 FISC(公益財団法人金融情報システムセンター)の安全対策基準への適合性 などセキュリティ情報を積極的に公開 ・開示していること、豊富かつ高度な機能を揃えていること、 責任共有モデル で責任範囲が明確化されていることなどを評価して AWS の採用を決定しました。ソニー銀行は、2013 年末から一般社内業務システムと銀行業務周辺系システムを段階的に移行し、2019 年末には全システムの約 80% が AWS 上で稼働するようになりました。AWS の導入により最大 60% のインフラコスト削減を実現し、インフラ調達・構築期間も半分以下に短縮されました。さらに、可用性の高さも AWS 利用の大きな利点で、 マルチ AZ(アべイラビリティゾーン)、マルチリージョン の構成により高可用性を実現できるようになりました。 ソニー銀行は AWS 利用開始当初から、銀行の重要業務も含めた AWS 利用範囲の段階的な拡大を想定し、AWS アジアパシフィック(東京)リージョン(以下、東京リージョン)に続く国内第二のリージョンの開設を AWS に対して強く要望してきました。ソニー銀行を含むこうした顧客からの強い要望もあったため、2018 年には国内第二の AWS リージョンとなる大阪ローカルリージョンが開設、さらに 2021 年にはフルリージョン化され AWS アジアパシフィック(大阪)リージョン(以下、大阪リージョン)の開設に至りました。これにより銀行重要業務を AWS で稼働させることができるだけの可用性・耐障害性の実現が可能であると判断したソニー銀行は、勘定系システムの AWS 移行を開始しました。 新勘定系システムの概要 クラウドネイティブなシステム 新勘定系システムを設計するにあたってソニー銀行が最も重要視したのは、拡張性と柔軟性の高いシステムであることでした。これを実現するためにソニー銀行は、AWS のマネージドサービスである Amazon ECS / AWS Fargate、 Amazon Aurora を中核としたクラウドネイティブなインフラアーキテクチャを採用しました。新勘定系システムの主要機能は全てコンテナのサービスとして実装され、相互に API を通じて連携する疎結合なシステムとなっています。そのため機能拡張や新サービス追加を、システム全体を止めずに実施できるようになり、これまでよりはるかに短時間で高頻度に行えるようになります。またインフラストラクチャ自体も AWS CloudFormation を活用して IaC (Infrastructure as Code) 化することで、インフラストラクチャのデプロイや変更作業も自動化され、環境管理の効率性を高めています。 ソニー銀行 執行役員 福嶋 達也氏はこう語ります。「ソニー銀行では、ビジネスアジリティの向上を目指し、クラウドシフト戦略を推進してきました。周辺系システムから段階的にクラウド移行を進め、今回の新勘定系システム移行完了に伴い、クラウドに移行できるシステムはほぼ全て移行し終え、銀行業務における全方位でのクラウド化を実現しました。新勘定系システムは単純なクラウドへのリフトではなく、クラウドネイティブアーキテクチャを採用しており、新商品開発などの攻めの IT へより多くの戦略的投資が可能となります。」 アプリケーション開発環境でも AWS のマネージドサービスを活用し、開発環境自体の構築、運用、管理にかける工数を大きく減らしています。 AWS CodeBuild 、 AWS CodeDeploy 、 AWS CodePipeline を活用してアプリケーションのビルド、テスト、デプロイまでを自動化する CI/CD パイプラインを構築したことで、オンプレミスでのアプリケーション開発と比べて、アプリケーションの開発期間やリリース頻度が大幅に改善されました。アプリケーションのリリース後は、 Amazon RDS Performance Insights や Amazon CloudWatch Container Insights 、 AWS X-Ray による性能情報の計測や分析、および各種ログを集約管理した Amazon OpenSearch Service による稼働状況の監視や問題点の可視化、分析を可能にしています。 マルチリージョン構成での災害対策 銀行の勘定系というミッションクリティカルなシステムをクラウド化するにあたって、広域災害を想定した災害対策は必須要件です。日本国内での災害対策実現というソニー銀行の強い要望が後押しする形で、2021 年当時の大阪ローカルリージョンがフルリージョン化され、大阪リージョンが開設されました。ソニー銀行の新勘定系システムは、東京リージョンと大阪リージョンの 2 つのリージョンを利用した災害対策構成を取っており、本番環境では東京リージョンをメインサイトとし、これと同等の環境を災害対策サイトとして大阪リージョンにも構えています。 新勘定系システムでは、サーバー/コンテナ、データベース、アプリケーション、サービスなど様々なレイヤーに対して統合的な監視を実施しており、システム障害発生時には関係者に即時に通知される仕組みになっています。ノード障害や単一の AZ 障害では、サービス切り替えが発生し、即時に自動復旧できる設計となっています。一方で、複数の AZ、もしくは東京リージョン全体が被災するようなケースにおいては、システム全体を大阪リージョンへ切り替えて業務を継続します。特に早期復旧が必要となる対顧客向けのオンライン処理では、データベースの切り替えから接続先の変更までを短時間で実行し復旧する仕組みとなっています。 新勘定系システムでは勘定系データ、情報系データを Amazon Aurora PostgreSQL-compatible Edition に格納しており、正常稼働時は Amazon Aurora Global Database の機能によって東京リージョンから大阪リージョンへ常時データをレプリケーションしています。これにより、メインリージョンである東京リージョンの被災時においても、通常 1 秒未満の 目標復旧時点(RPO:Recovery Point Objective)を実現可能にしています。 図 1: 新勘定系システムの災害対策構成概要図 出所 : AWS AWS のベストプラクティスに則った運用とセキュリティ 新勘定系システムでは、AWS 上のシステム環境の可視化や運用作業の自動化などの機能を提供する AWS Systems Manager 、アプリケーションレイヤー (レイヤー 7) 保護のための WAF 機能を提供する AWS WAF 、DDoS 攻撃などの外部脅威からアプリケーションを保護する AWS Shield Advanced 、AWS リソースの設定変更を管理できる AWS Config 、AWS ワークロードおよびソフトウェアの脆弱性を検知する Amazon Inspector 、AWS アカウントとワークロードを継続的にモニタリングし脅威を検出する Amazon GuardDuty 、各 AWS セキュリティサービスの結果を確認、分析できる統合ダッシュボードを提供する AWS Security Hub 、SIEM (Security Information and Event Management) 基盤としての Amazon OpenSearch Service などの AWS サービスを標準で採用しており、AWS の運用とセキュリティ強化を効率よく実施しています。 新勘定系システムの設計にあたっては、AWS でのシステム運用とセキュリティに関するベストプラクティスを、 AWS Well-Architected Framework や AWS プロフェッショナルサービス を活用することで最大限に取り入れています。まず最初に、ソニー銀行および AWS アカウントチームによる Well-Architected レビューを実施し、運用面、セキュリティ、信頼性、パフォーマンス、コスト、サステナビリティの 6 つの観点からシステム設計を評価しました。その結果、さらに深掘りが必要な項目について AWS プロフェッショナルサービスが実機設定および設計書などのドキュメントのレビューを行い、現状の運用およびセキュリティ強化と、今後の継続的な改善の仕組み作りを実施しました。 またソニー銀行は日本の銀行として初めて、 AWS Countdown Premium ティア を採用しました。本番移行の 3 ヶ月前から移行後 1 ヶ月の計 4 ヶ月間本サービスを活用し、新勘定系システムの移行に向けたシステム準備状況の評価と、移行当日の支援体制、さらに移行後の運用体制の強化を実現し、万全の準備を整えて本番移行に臨みました。 外部との連携 新勘定系システムでは Amazon API Gateway を活用して Open API を実装しています。Open API により安全に銀行データを外部から参照でき、例えばフィンテック企業などと連携してより高度な銀行サービスを提供することも可能になります。この Open API の認証、認可の機能を実装するにあたり、ソニー銀行は Authlete を採用しました。Authlete は高いセキュリティ基準に準拠する認証、認可の機能を提供するオープンソースソフトウェアであり、金融業界において高い注目を集めています。Authlete を採用したことでソニー銀行は、認証、認可の仕組みの構築を効率化でき、高いセキュリティレベルを担保しながら開発コスト・期間を大幅に削減することができました。また Authlete は OAuth 2.0 や OpenID Connect などの認証・認可の標準規格に準拠しており、外部のシステムやサービスとの連携もスムーズに行えるため、Open API を通じた相互運用性を高めています。 また新勘定系システムは、SaaS サービスと AWS PrivateLink でセキュアに連携しています。新勘定系システムが AWS 上に構築されているからこそ、同じく AWS 上で稼働する各 SaaS サービスと AWS PrivateLink を通じたプライベート接続を確立することができ、セキュアなプライベート通信を可能にしています。今後も増えていく連携先システムが AWS 上にある場合には、積極的に PrivateLink 経由での連携を採用していく方針です。 今後の展開 新勘定系システムではクラウドネイティブで疎結合なアーキテクチャを採用したことにより、フィンテック企業など外部との連携や、Web3・生成 AI などの新技術の導入をこれまでより柔軟かつ容易に行えるようになりました。今後ソニー銀行は、金融業界を取り巻く環境の変化や、多様化するお客様のニーズに寄り添い、ソニー銀行ならではの先進的でユニークな商品・サービスをスピード感をもって提供していきます。 まとめ 本ブログでは、新たに AWS で稼働を開始したソニー銀行の勘定系システムの全体像をご紹介しました。銀行の勘定系システムというミッションクリティカルなワークロードを如何にして AWS 上で実装するか、それにより得られた様々なプラスの効果についてより多くの方々に知っていただけると幸いです。
アバター
リレーショナルデータベース管理システム(RDBMS)における、consistency(一貫性 / 整合性)はトランザクションの重要な特性の1つです。一貫性は、トランザクションが終了した後にデータが常に正しい状態に保たれるためのルールを定義します。データの一貫性により、トランザクションはテーブルに対して事前に定義された予測可能な方法でのみ変更を加えることができ、これによりデータの整合性に対する意図しない影響を防ぐことができます。 データベース移行の際にシステム停止時間を最小限に抑えるためには、まずはじめに移行元のデータベースから整合性のとれたスナップショットを取得する必要があります。その後、移行元のデータベースとの整合性を保ちながらレプリケーションを確立するために、整合性のとれたスナップショットを取得した時点のトランザクション位置を記録する必要があります。基本的な考え方として、スナップショット取得時点からレプリケーション開始までの間にトランザクションの欠落や抜けがある場合、移行先のデータベースの整合性は保証されません。 AWS Database Migration Service (AWS DMS) は、リレーショナルデータベース、データウェアハウス、NoSQL データベース、およびその他の種類のデータストアの移行を支援します。 初期データロード、または AWS DMS のフルロードフェーズ、および変更データキャプチャ (CDC) が一貫した状態から開始されるトランザクション位置を管理するために、AWS DMS は TransactionConsistencyTimeout というタスク設定を実装して、AWS DMS タスクの開始時にオープントランザクションを処理するようにしました。 この記事では、さまざまなエンジンのフルロード + CDC タスクの開始時に AWS DMS がオープントランザクションを処理する方法について説明し、consistency timeout(整合性タイムアウト)の問題を回避するためのベストプラクティスを紹介します。 トランザクション整合性タイムアウトに関するよくある質問 移行元のデータベースの種類によって、 TransactionConsistencyTimeout に関して以下のような質問がよく寄せられます。 Oracle ソース – タスクを開始した時 Before load の状態で10分間も停止しているのはなぜですか。タスクログに表示される「open transaction」とは何を意味しますか。オープントランザクションのタイムアウトが発生するとどうなりますか。 SQL Server ソース – タスクを開始した時に、 Before load の状態で停止しているのはなぜですか。 PostgreSQL ソース – statement_timeout を設定していないのに、タスクの開始時にステートメントのタイムアウトが発生してタスクが失敗したのはなぜですか。 MySQL ソース – 長時間トランザクションが存在する場合、フルロードや CDC タスクの開始に支障が出るのでしょうか。 これらの疑問に答えるため、まず AWS DMS でのオープントランザクションとは何かを説明します。 AWS DMS におけるオープントランザクション AWS DMS におけるオープントランザクションとは、フルロード + CDC タスクの開始時点で、移行元のリレーショナルデータベースでコミットもロールバックもされていないトランザクションを指します。 前述した移行アプローチ同様、AWS DMS はフルロードを開始する際と、CDC のためのトランザクション位置を特定する際に、整合性のとれた状態を必要とします。 RDBMS エンジンごとにトランザクションログの実装方法が異なるため、AWS DMS も移行元の RDBMS によって異なる動作をします。以降のセクションでは、Oracle、SQL Server、PostgreSQL、MySQL を移行元とした場合に、AWS DMS がオープントランザクションをどのように処理するかについて説明します。 Oracle ソースからの移行時における AWS DMS のオープントランザクション処理について フルロード + CDC タスクの場合、タスク設定 TransactionConsistencyTimeout は、AWS DMS がフルロードオペレーションを開始する前にトランザクションが終了するのを待つ秒数を定義します。デフォルト値は 600 秒(10 分)です。タスクの開始時にトランザクションが開いている場合、AWS DMS はデフォルトで 10 分間待機します。 TransactionConsistencyTimeout 値に達すると、実行中のトランザクションがあってもフルロードが開始され、 TransactionConsistencyTimeout よりも長いトランザクションが将来のレプリケーションで失われます。 次の図では、フルロードタスク + CDC タスクが開始されると、合計 6 つのトランザクションのうち、AWS DMS ソースキャプチャプロセスによって特定されるオープントランザクションが 2 つあります。 トランザクション 1 – ソースキャプチャが開始された時点ではオープントランザクションですが、 TransactionConsistencyTimeout の時間枠内かつフルロードが開始される前にコミットされます。したがって、フルロードフェーズに含まれます。 トランザクション 2 – TransactionConsistencyTimeout の時間枠内およびフルロードが開始される前に開始およびコミットされます。したがって、フルロードフェーズに含まれます。 トランザクション 3 と 4 – フルロードフェーズ中にコミットされるため、キャッシュされた変更として、フルロードが終了した後に適用されます。 トランザクション 5 – フルロードフェーズで開始し、フルロードが完了した後にコミットされるため、CDC として、キャッシュされた変更が適用された後に適用されます。 トランザクション 6 – FailOnTransactionConsistencyBreached はデフォルトで false に設定されているため、タスクは続行されます。オープントランザクション B はスキップされ、 TransactionConsistencyTimeout 後にコミットされたため、データが失われます。 TransactionConsistencyTimeout と FailOnTransactionConsistencyBreached の設定に関するベストプラクティスについては、後のセクションで説明します。 次のログは、オープントランザクションがある場合の一般的な AWS DMS ログの例を示しています。 SOURCE_CAPTURE コンポーネントはオープンされているトランザクションの数を識別し、 SORTER は TransactionConsistencyTimeout の後にトランザクション整合性タイムアウトに関する警告を出力します。 xxxx-xx-xxT00:00:00 [SOURCE_CAPTURE ]I: Opened transaction list contains '6' transactions, these in-flight transaction(s) will not be copied (oracle_endpoint_capture.c:967) … xxxx-xx-xxT00:00:00 [SORTER ]I: 6 open transactions. Waiting for transaction consistency (sorter_transaction.c:322) … xxxx-xx-xxT00:10:00 [SORTER ]W: Transaction consistency timeout occurred. 6 transactions are still open (sorter_transaction.c:3575) SQL Server ソースからの移行時における AWS DMS のオープントランザクション処理について SQL Server を移行元として使用する場合も同様に、フルロード + CDC タスクの開始時にオープントランザクションが存在すると、AWS DMS の SOURCE_CAPTURE は以下のようなログを出力して検知します。 [SOURCE_CAPTURE ]I: do_get_best_lowset_position_for_highest_lsn_lookup(...) There is an outstanding active transaction!! It's oldest LSN is - '00000140:000217da:0001' It may be used as a '2nd chance' SELECT MAX() candidate. (sqlserver_log_queries.c:750) SQL Server のデフォルトの分離レベルである READ COMMITTED で、 READ_COMMITTED_SNAPSHOT が OFF の場合、他のトランザクションによって変更されたがまだコミットされていないデータの読み取りは許可されません。 そのため、フルロード + CDC タスクで移行中のテーブルにオープントランザクションが存在する場合、そのテーブルに対する select * は、タスクの対象範囲内のアクティブなトランザクションがコミットまたはロールバックされるまでブロックされます。タスクの対象範囲外のテーブルにオープントランザクションが存在する場合、AWS DMS は一定時間待機した後にタスクを開始します。この場合、AWS DMS はフルロード + CDC タスクの開始のためにコミットやロールバックを待つことはなく、タスクの実行にも影響はありません。 この動作の結果、データの損失は発生しません。ただし、タスク対象範囲内のテーブルに関連するオープントランザクションがコミットまたはロールバックされるまで、フルロード + CDCタスクは Before load 状態のままとなります。 PostgreSQL ソースからの移行時における AWS DMS のオープントランザクション処理について PostgreSQL を移行元とする場合、AWS DMS は PostgreSQL プラグイン pglogical または test_decoding を使用して SOURCE_CAPTURE コンポーネントを介して Write-Ahead Log (WAL) を読み取ります。 ただし、アクティブなトランザクションが存在する場合、レプリケーションスロットの作成処理 select * from pg_create_logical_replication_slot('slot_test','test_decoding'); は停止してしまいます。その結果、AWS DMS は変更を取得するためのレプリケーションスロットを作成できなくなり、ステートメントがタイムアウトするまで TransactionConsistencyTimeout の時間だけ待機します。 オープントランザクションが TransactionConsistencyTimeout の制限時間内にコミットまたはロールバックされれば、フルロード + CDC タスクは正常に開始され、データの損失も発生しません。しかし、オープントランザクションの実行時間が TransactionConsistencyTimeout を超えた場合、CDC の前提条件チェックが失敗し、以下のようなログが出力されます。 [SOURCE_CAPTURE ]E: RetCode: SQL_ERROR SqlState: 42P01 NativeError: 1 Message: ERROR: relation "pglogical.replication_set" does not exist; No query has been executed with that handle [1022502] (ar_odbc_stmt.c:3752) [SOURCE_CAPTURE ]E: RetCode: SQL_ERROR SqlState: 57014 NativeError: 1 Message: ERROR: canceling statement due to statement timeout; Error while executing the query [1022502] (ar_odbc_stmt.c:2581) [SOURCE_CAPTURE ]E: Could not find any supported plugins available on source (postgres_plugin.c:269) MySQL ソースからの移行時における AWS DMS のオープントランザクション処理について MySQL を移行元とする場合、AWS DMS は変更の取得に binlog を使用します。MySQL の binlog にはコミットされていないトランザクションは含まれません。そのため、フルロード + CDC タスクの開始時に、AWS DMS はコミットされたトランザクションのみを参照できます。オープントランザクションは、コミットされるタイミング(フルロード中かフルロード後か)に応じて、キャッシュされた変更または CDC 変更として扱われます。このため、MySQL を移行元として使用する場合、フルロード + CDC タスクにおいてトランザクションの整合性タイムアウトの問題は発生しません。 ベストプラクティス オープントランザクションを扱うためのベストプラクティスは以下の通りです。 データ移行の評価作業として、移行元データベースの長時間実行トランザクションを事前に十分確認し、アプリケーションやサービスの管理者と協力して、少なくとも移行フェーズの間はデータベース内の長時間トランザクションを最小限に抑えるためのプロセスを確立してください。 Oracleを移行元とする場合、トランザクションの整合性タイムアウトエラーが発生するとデータが失われる可能性があります。そのため、 FailOnTransactionConsistencyBreached を true に設定し、早期にタスクを停止させる方がよいでしょう。 フルロード + CDC タスクは、移行元データベースの負荷が低い時間帯に開始してください。また、フルロード + CDCタスクを開始する前に、移行元データベースで予定されているダンプ処理や 抽出・変換・読み込み(ETL)ジョブの完了を待つことを推奨します。これにより、トランザクションの整合性タイムアウト問題の発生可能性を抑制し、また、処理すべき変更データ量を減らすことで、より早く移行元データベースに追いつくことができます フルロード + CDC タスクを開始後、Before load 状態が長時間続く場合は、移行元データベースでオープントランザクションが存在していないか確認することを推奨します。 Oracle の場合は、 v$transaction ( 例 )を確認してください。Oracle スタンバイ(Active Data Guard または Amazon RDS リードレプリカ)データベースをソースとして使用する場合、ソースデータベースのプライマリデータベースでオープントランザクションの詳細を確認してください。 PostgreSQL の場合は、 pg_stat_activity ( 例 )と pg_prepared_xacts ( 例 )を確認してください。 SQL Server の場合は、 DBCC OPENTRAN または dm_tran_active_transactions を確認してください。 TransactionConsistencyTimeout はデフォルトで 10 分です。ソースデータベースに常に 10 分を超えるトランザクションがある場合は、 TransactionConsistencyTimeout の値を増やしてください。 TransactionConsistencyTimeout を増やすと、AWS DMS の待機時間が長くなるため、 TransactionConsistencyTimeout に達する前に、開いているトランザクションがコミットまたはロールバックされる可能性があります。 TransactionConsistencyTimeout を増やしても、この記事で説明されている整合性タイムアウト関連のエラーが原因で、ソースデータベースで長時間実行されているトランザクションや、タスク障害を回避するための解決策にはならないことに注意してください。AWS DMS がソースデータベースでトランザクションのコミットまたはロールバックを待っている間、タスクは進行しません。したがって、上記のベストプラクティスを適用することは依然として重要です。 データの欠落や整合性の問題を特定するために、 AWS DMS データ検証 を使用してください。 まとめ データベース移行プロジェクトにおいて、データの損失は決して許容できません。この記事では、オープントランザクションとは何か、そして異なるデータベースエンジンでフルロード + CDC タスクを開始する際に、AWS DMS がどのようにオープントランザクションを処理するのかについて説明しました。また、オープントランザクションに関連する問題を回避するため、AWS DMS タスクの計画から実行に至るまでのベストプラクティスを紹介しました。 著者について Wanchen Zhao は AWS のパートナーソリューションアーキテクトです。 Rishi Raj Srivastava は、アマゾンウェブサービスの AWS DMS チームに所属するデータベースエンジニアです。 Sudip Acharya は、インドのAWS ProServe チームのコンサルタントとして、社内外の Amazon カスタマーのデータベース最新化プロジェクトに関するガイダンスや技術支援を行い、お客様が AWS を使用する際のソリューションの価値向上を支援しています。特に、データベースや移行関連ツールの設計・実装を得意分野としています。 翻訳はクラウドサポートエンジニアの小池が担当しました。原文は こちら です。
アバター
本記事は 2025 年 4 月 29 日に公開された Introducing Just-in-time node access using AWS Systems Manager を翻訳したものです。 2025 年 4 月 29 日に AWS Systems Manager の新機能である ジャストインタイムノードアクセス の一般提供を開始しました。ジャストインタイムノードアクセスは、AWS Systems Manager で管理されている Amazon Elastic Compute Cloud (Amazon EC2) 、オンプレミス、およびマルチクラウドノードへの動的かつ時間制限付きのアクセスを可能にします。ポリシーベースの承認プロセスを導入することで、長期的なアクセス権を適切に管理しつつ、運用効率とセキュリティの両方を向上させることができます。 何千ものノードに運用を拡大する組織では、監査とコンプライアンスの目標をサポートするために、ID ベースの詳細な権限が必要で、長期的な認証情報を完全に排除したいと考えています。ノードアクセスに長期的な認証情報を使用する慣行は、セキュリティの脆弱性を生み出し、不正アクセスや潜在的な侵害のリスクを高めます。 これまで、お客様はセキュリティと運用効率の間で難しいトレードオフに直面していました。特定のリソースに誰がアクセスする必要があるかを慎重に決定するのではなく、IT チームは大規模なユーザーグループに過剰な権限を付与していました。この慣行は、運用上の利便性の必要性によるものですが、オペレーターの誤操作のリスクを高め、悪意のある行為者に機会を与えていました。長期的な認証情報を維持してセキュリティが侵害されるリスクを高めるか、インシデント対応を遅らせる制限的なアクセス制御を実装するかのどちらかでした。さらに、独自に構築したソリューションは保守や拡張が複雑になりがちでした。一方、エージェントを使用する AWS 以外のツールでは、ノードへのアクセスに別途 ID と権限が必要となっていました。 概要 ジャストインタイムノードアクセスは、運用チームが問題に迅速に対応できるようにしながら、最小権限アクセスを実装するのに役立ちます。これは AWS Organizations 全体でシームレスに機能し、単一のアカウントでも複数のアカウントでも一貫したアクセス制御を設定できます。この新機能により、管理者は承認ポリシーを通じて正確なアクセス制御を定義でき、誰がどのノードにどのような条件でアクセスできるかを指定できます。組織は、複数の承認者による手動承認プロセスと条件ベースの自動承認ポリシーのどちらかを選択でき、セキュリティ要件に合わせた柔軟性を提供します。 例えば、管理者はインシデント対応中のオンコールエンジニアに迅速にアクセスを提供するための自動承認ポリシーを確立し、オンコール AWS IAM Identity Center グループのオペレーターにのみアクセスを許可することができます。ジャストインタイムノードアクセスを通じて、オペレーターは必要なときにノードへのアクセスをリクエストできます。事前設定された承認ポリシーに基づいて、定義された時間経過後に自動的に期限切れになる一時的なアクセスを受け取ります。承認されると、インバウンドポートを開いたり SSH キーを管理したりする必要なく、ワンクリックのブラウザベースのシェル、 AWS Command Line Interface (AWS CLI) または Systems Manager でサポートされているリモートデスクトッププロトコル (RDP) を介して、これらのノードに直接アクセスできます。 承認プロセスを簡素化するために、ジャストインタイムノードアクセスは Amazon Q Developer を通じて Slack や Microsoft Teams などのツールと統合し、保留中のリクエストについて承認者に通知するためのメールも送信します。Systems Manager はまた、ジャストインタイムノードセッションアクセスリクエストのステータス更新のために Amazon EventBridge にイベントを発行します。これらのイベントは通知のために Amazon Simple Notification Service (Amazon SNS) にルーティングしたり、内部システムと統合したりすることができ、チームが既存のワークフローを通じてアクセスリクエストを追跡し対応することを可能にします。これにより、組織全体でアクセスリクエストを監視し、監査証跡を維持することができます。さらに、ジャストインタイムノードアクセスは、セッション中に実行されたコマンドをログに記録したり、RDP セッション中の操作を録画することで、オペレーターの作業の見える化を提供します。 Systems Manager は、アカウントごと、リージョンごとにジャストインタイムノードアクセスの無料トライアルを提供しており、この機能を評価することができます。この無料トライアル期間は、機能を有効化した月の残り期間と、その翌月の 1 か月間が含まれます。このトライアル期間中、追加料金なしで設定やアクセスポリシーをテストできるよう、すべての機能にアクセスできます。トライアルが終了すると、ジャストインタイムノードアクセスは有料サービスとなり、使用パターンに基づいて課金されます。詳細な価格情報とコスト内訳については、 AWS Systems Manager の料金 を参照してください。 ジャストインタイムノードアクセスの使用 ジャストインタイムのノードアクセスでは、管理者、オペレーター、承認者という3つの役割があります。管理者は承認ポリシーの設定と管理を、オペレーターは必要なノードへのアクセス要求を、承認者はそれらの要求の確認と承認を担当します。 この機能の設定と使い方について、具体例を用いて説明します。ここでは、オンコールエンジニアが本番環境の「r2d2-app-01」というインスタンスにアクセスする必要がある場合を想定します。図 1 には、アクセス対象となる可能性のあるインスタンス群が示されています。 図 1: Amazon EC2 コンソールに表示される EC2 インスタンスのリスト オンコールエンジニア(オペレーター)が本番システムへのアクセスをリクエストし、DevOps リード(承認者)が管理者が定義した承認ポリシー内でそれを管理する方法を紹介します。 管理者としてのジャストインタイムノードアクセスの設定 ステップ1 – ジャストインタイムノードアクセスの有効化 このウォークスルーでは、AWS Organizations のジャストインタイムノードアクセスを有効にします。まず、 Systems Manager 統合コンソール をセットアップする必要があります。統合コンソールがセットアップされたら、Systems Manager でジャストインタイムノードアクセスを有効にできます。 次に、展開のターゲットとする組織単位(OU)と AWS リージョンを選択できます。これにより、図2に示すように、組織全体または特定の領域でソリューションを実装する場所を正確に制御できます。 図 2: ジャストインタイムノードアクセスの有効化 ステップ2 – 承認ポリシーの作成 機能を有効にした後、次の重要なステップは承認ポリシーの作成です。承認ポリシーは、ユーザーがノードにアクセスする方法を決定します。これらのポリシーには、 自動承認 、 手動承認 、 アクセス拒否ポリシー の3種類があります。自動承認ポリシーは、ユーザーが自動的に接続できるノードを定義します。手動承認ポリシーは、指定したノードにアクセスするために提供する必要がある手動承認の数とレベルを定義します。アクセス拒否ポリシーは、指定したノードへのアクセスリクエストの自動承認を明示的に防止します。 この例では、「 r2d2-app-01 」ノードを含む Workload:Application01 でタグ付けされたノードに対する手動承認ポリシーの作成方法を説明します。 ポリシーを作成するには、 AWS Systems Manager コンソール に移動し、ナビゲーションペインで ジャストインタイムノードアクセス を選択し、 承認ポリシー タブおよび ローカルポリシー を選択して、 手動ポリシーを作成 を選択します。ポリシー設定にはいくつかの重要なコンポーネントが必要です。 まず、 承認ポリシーの詳細 セクションで、図 3 に示すように、承認ポリシーの名前と説明を入力し、最大アクセス期間を設定します。この期間は、承認されたアクセスが自動的に期限切れになるまでの有効期間を決定します。 図 3: 手動承認ポリシーページ ターゲット セクションでは、タグのキーと値のペアを使用して、ポリシーが適用されるノードを定義します。この例では、「 r2d2-app-01 」ノードを含む Workload:Application01 でタグ付けされたノードをターゲットにします。図 4 に示すように、この方法によって Application01 に関連するすべてのノードにポリシーが確実に適用されます。 図 4: 手動承認ポリシーのターゲット アクセスリクエストの承認 セクションでは、アクセスリクエストを承認する権限を持つ個人またはグループを指定します。このシナリオでは、DevOps リードの役割を承認者として割り当てます。アクセスリクエスト承認者は、図 5 に示すように、IAM Identity Center のユーザーとグループ、またはIAM ユーザー、グループ、ロールにすることができます。 図 5: アクセスリクエスト承認 また、 Cedar ポリシー言語 を使用して自動アクセスルールを定義することもでき、信頼されたシナリオでは手動承認の必要性を排除できます。自動承認ポリシーは、組織の事前承認されたアクセスルールブックと考えてください。これらのポリシーは、事前定義された条件と信頼レベルに基づいて、ユーザーが自動的にアクセスできるノードを指定します。詳細については、 ジャストインタイムノードアクセスの自動承認ポリシーの作成 および 自動承認およびアクセス拒否ポリシーのステートメント構造と組み込み演算子 を参照してください。 例えば、以下の Cedar ポリシーを使用して、「DevOpsTeam」グループのメンバーが Environment: Development でタグ付けされたノードに自動的にアクセスできるようにする自動承認ポリシーを作成できます: // Policy to permit access to Development nodes for members of the DevOpsTeam IDC group permit ( principal in AWS::IdentityStore::Group::"911b8590-7041-70fa-d20b-12345EXAMPLE", action == AWS::SSM::Action::"getTokenForInstanceAccess", resource) when { resource.hasTag("Environment") && resource.getTag("Environment") == "Development" }; オペレーターとしてのアクセスリクエスト オペレーターとして保護されたノードにアクセスする必要がある場合、リクエストプロセスが表示されます。Session Manager を通じて接続を試みる際、即座にアクセスが許可されるのではなく、アクセスリクエストの送信を求められます。図 6 に示すように、アクセスが必要な理由の入力が必要となります。 図 6: ノードへのアクセスをリクエストするオペレーター リクエスト送信後は、図 7 に示すように、 アクセスリクエスト タブでその状況を確認できます。承認プロセスの進行状況を追跡でき、アクセスが許可されるタイミングを正確に把握することができます。メール、Slack、Microsoft Teams、または他の統合プラットフォームなど、好みの通信チャネルを通じて通知を受け取ります。詳細については、 ジャストインタイムアクセスリクエストの通知の設定 を参照してください。 図 7: アクセスリクエストリストページ 承認の管理 承認者として、設定した通知チャネルを通じて保留中のアクセスリクエストの通知を受け取ります 。AWS Command Line Interface (AWS CLI) または好みの SDK を使用してプログラムでリクエストを承認することも、図 8 に示すように、Systems Manager コンソールの 私へのリクエスト タブでこれらのリクエストを確認することもできます。 図 8: 承認待ちのアクセスリクエストのリスト リクエストを確認した後、リクエストを承認または拒否し、オプションで決定に関連するコメントを追加できます。 アクセスサイクルの完了 リクエストが承認されると、オペレーターとして、アクセスが許可されたという通知を受け取ります。その後、図 9 に示すように、承認ポリシーに記載された期間、AWS マネジメントコンソールまたは AWS CLI を使用してノードに接続できます。 図 9: 管理対象ノードにアクセスするオペレーター まとめ このブログでは、AWS Systems Manager の新機能である ジャストインタイムノードアクセス を紹介しました。ジャストインタイムノードアクセスは、常時付与された権限を排除しながらも、Amazon EC2、オンプレミス、およびマルチクラウドノードへの迅速なアクセスを確保することで、運用効率とセキュリティ要件のバランスを取るという課題を解決します。柔軟なポリシーベースのアプローチと、手動および自動承認のサポートにより、運用能力を損なうことなくゼロスタンディング特権を実装できるようになりました。 Systems Manager はジャストインタイムノードアクセスの無料トライアルを提供しており、この機能を評価することができます。 詳細については、 Systems Manager を使用したジャストインタイムノードアクセス を参照してください。 ジャストインタイムノードアクセスの体験の完全なビジュアルツアーについては、この インタラクティブデモ をご覧ください。 Chetan Makvana Chetan Makvana は、Amazon Web Services のエンタープライズソリューションアーキテクトです。彼は AWS サービスを使用して、スケーラブルで回復力があり、安全でコスト効率の高いエンタープライズグレードのソリューションを設計し、お客様を支援しています。彼は技術愛好家であり、生成 AI、サーバーレス、アプリケーションのモダナイゼーション、DevOps を中心とした分野に興味を持つビルダーです。仕事以外では、番組の一気見、旅行、音楽を楽しんでいます。 Mark Brealey Mark Brealey は、シニアマイグレーションソリューションアーキテクトとして、パートナーが堅牢で安全、効率的なクラウドアーキテクチャを構築できるよう支援しています。彼は、組織が AWS インフラストラクチャを最大限に活用しながら運用の優秀性を確保するのに役立つスケーラブルなソリューションの設計を専門としています。 Anthony Verleysen Anthony Verleysen は、AWS Systems Manager チーム内のシニアプロダクトマネージャー – テクニカル(外部サービス)です。彼はノード管理機能に焦点を当てています。仕事以外では、Anthony は熱心なサッカーとテニスのプレーヤーです。 翻訳はソリューションアーキテクトの村田が担当しました。
アバター
この投稿では、四目並べ(プレイヤーがコマを連続して 4 つ並べて揃えるゲーム)のオンラインバージョンを作成するために必要なコアコンセプトを見ていきます。また、AWS Amplify Gen 2 が AWS バックエンドへの高速接続を可能にする方法と、WebSocket 接続を使用してプレイヤーがリアルタイムでゲームの更新を送信できるように AWS AppSync イベントの利用によってどのように実現できるかを確認します。この投稿を読み終わる頃には、IAM による承認処理を伴う AppSync イベントの使用に自信を持てるようになり、またその役割が現在のアプリケーション開発においてどのようなものであるかをよりよく理解できるはずです。 この投稿は AppSync イベントに関するシリーズの 2 件目の投稿です。 アナウンス投稿 にはこのサービスの概要が含まれていますが、AppSync Events を使用するための最初の投稿は こちら にあります。 アプリケーションの概要 最初に子供たちに人気のゲーム、三目並べで勝つ方法を教えたことを覚えています。ご存知ない人のために説明しておくと、これはいわゆる「 解決済み 」ゲームというもので、最適な戦略を取れば勝ちか引き分けを保証できる方法があります。これは子供たちにアルゴリズムを学ばせるのに最適でしたが、正直なところ、ゲームをする時間が楽しくなくなってしまったことは事実です。 幸いなことに、四目並べゲームを紹介したのは彼らがまだ幼い時でした。これは、すでに解決されたゲームですが、追跡することはより難しく、シンプルに楽しくプレーすることはずっと簡単です。 ゲームのコマを持ち運んだり、近くにいる必要はなく、私たちのアプリケーションは完全オンラインで、チャット機能をサポートしています。そして、プレイヤーにログインを要求するのではなく、ユーザー名を尋ねて、ユニークなゲームコードを生成し、そのコードをプレイ相手と共有できます。 ゲームを作成すると、あなたがプレイヤー 1 (赤) になります。ゲームに参加すると、あなたがプレイヤー 2 (黄色) になります。 相手のプレイヤーがいることを確認するために、ゲーム中はお互いにチャットを行えます。 同じ色のピースが縦、横、または斜めに 4 つ並んだら、ゲームは自動的に終了します。その後、プレイヤーは新しいゲームをするか、ゲームを完全に終了するかを選択できます。 コードとそれを自身のマシン上でホストし実行する手順が書かれた readme を含むものをご覧になるには、 リポジトリ をご覧ください。 ゲームが短命であるため、データをデータベースに保存する必要がありません。さらに、このアプリケーションのリアルタイム機能が中心となっているため、API は必要ありません。 実際、バックエンドは 2 つの中核的な AWS サービスで構成されています。 Amazon Cognito : Cognito ID プールは、イベント API への未認証アクセスに対して、限定された権限を提供します AWS AppSync イベント : 数百万のサブスクライバーに対応する独立した WebSocket エンドポイントです AWS AppSync イベント API の IAM 認証による作成 AppSync イベント API は、API キー、Cognito ユーザープール、AWS Lambda、OIDC、IAM を使って認可ができます。前回の記事では、API キーの構成方法を見ましたが、今後の記事では Lambda と Cognito の両方を紹介します。ただし、セキュアな未認証アクセスが必要なアプリケーションの場合は IAM 認証モードがよい選択肢であり、このセクションでは IAM について説明します。 Amplify では、Amplify プロジェクトを作成する際に、AWS CDK の薄いラッパーを利用します。 このプロジェクトでは AWS Amplify を使ってフルスタックアプリケーションを作成していますが、AWS AppSync のイベントを使用するのに Amplify は必須の部分ではありません。 amplify/backend.ts ファイルを見ると、 auth が構成されていることがわかります。 const backend = defineBackend({ auth }) この 1 行のコードで、Cognito ユーザープールと Cognito ID プールをセットアップします。ユーザープールはログイン済みユーザーを追跡するものですが、今回は使用しません。ID プールはログインしていないユーザーにアプリへのアクセスを許可するため、アプリケーションにとって重要です。この仕組みを示すために、Amplify を拡張するサービスを含む別の CDK スタックを作成します。 const customResources = backend.createStack('custom-resources-connect4') これは単に、サービスをまとめてメイン backend スタックの中にネストするための論理的な方法です。 この backend スタックに追加するアイテムはすべて、イベント API に関連するものになります。 const cfnEventAPI = new CfnApi(customResources, 'cfnEventAPI', { name: 'serverless-connect4', eventConfig: { authProviders: [{ authType: AuthorizationType.IAM }], connectionAuthModes: [{ authType: AuthorizationType.IAM }], defaultPublishAuthModes: [{ authType: AuthorizationType.IAM }], defaultSubscribeAuthModes: [{ authType: AuthorizationType.IAM }], }, }) new CfnChannelNamespace(customResources, 'cfnEventAPINamespace', { apiId: cfnEventAPI.attrApiId, name: 'game', }) 上記のように、まず AWS CDK の L1 コンストラクタを利用してイベント API を作成します。この際、API の名前を指定し、認証プロバイダー、接続、発行、サブスクライブを許可するプロバイダーを表す設定を渡します。 さらに、 game という root namespace を作成します。クライアントアプリはこの namespace に接続し、 /game/gameId/chat のように root から分岐することで、受信したい接続データをさらに特定できます。 Infrastructure-as-Code (IaC) でイベント API をセットアップするには、現時点では L1 コンストラクタを使用する必要があります。これらは直接、 CloudFormation リファレンス に対応しています。より高位の L2 コンストラクトが利用可能になった時点で、このシリーズの投稿は更新する予定です。 IAM を認証モードとして指定すると、イベント API を呼び出すことを許可するポリシーを Cognito Identity プールに割り当てる必要があります。 backend.auth.resources.unauthenticatedUserIamRole.attachInlinePolicy( new Policy(customResources, 'AppSyncEventPolicy', { statements: [ new PolicyStatement({ actions: [ 'appsync:EventConnect', 'appsync:EventPublish', 'appsync:EventSubscribe', ], resources: [`${cfnEventAPI.attrApiArn}/*`, `${cfnEventAPI.attrApiArn}`], }), ], }) ) 上記では、認証リソース (Cognito) から unauthenticatedUserIamRole を使用して、ポリシーを直接アタッチしています。Cognito には 2 つのロールが用意されていることに注意してください。1 つはユーザープールに格納されたログイン済みユーザー用の authenticatedRole 、もう 1 つはログインしていないユーザーに対してアイデンティティプールから権限を付与する unauthenticatedRole です。 Cognito に接続されたイベント API が設定できたので、フロントエンドアプリケーションに関連する値を渡し、接続、発行、サブスクライブ (メッセージの受信) に利用できるようにします。 backend.addOutput({ custom: { events: { url: `https://${cfnEventAPI.getAtt('Dns.Http').toString()}/event`, aws_region: customResources.region, default_authorization_type: AuthorizationType.IAM, }, }, }) Amplify JavaScript ライブラリは、 events オブジェクトの custom データ内に url 、 aws_region 、 default_authorization_type の項目が含まれていれば、イベント API と連携するようにアップデートされているので、ここのフォーマットは重要です。 このプロジェクトの readme に従えば、バックエンドが構成された後、開発者は npx ampx sandbox を実行して、これらのリソースを自分の AWS アカウントに検証環境としてデプロイできます。 AppSync イベント API への AWS Amplify による接続 Next.js アプリケーションでは、 app/page.tsx にホームページがあり、 app/game/[code]/page.tsx にゲームページがあります。 前のスクリーンショットに示されているように、ホームページは単にユーザーのユーザー名を取得し、ユーザーが新しいゲームを作成する場合、ゲームコードを生成します。そこから、ユーザーは code がゲームコードとなる 動的ルート に移動します。 app/layout.tsx ファイルで示されているように、Next.js アプリケーションは既に AWS バックエンドを使用するように構成されています。この設定は components/configureAmplify.tsx ファイルで確認できます。 app/game/[code]/page.tsx で、アプリケーションの作り込みが行われています。 aws-amplify/data ライブラリの events.connect メソッドを使用して、WebSocket エンドポイントに接続します。ページが最初にロードされた時に接続を行いたいので、 useEffect 呼び出し内で実装するのが最適です。 useEffect(() => { const subscribeToGameState = async (gameCode: string) => { const channel = await events.connect(`/game/${gameCode}`) const sub = channel.subscribe({ next: (data) => { dispatch({ type: 'UPDATE_GAME_STATE', newState: data.event }) }, error: (err) => console.error('uh oh spaghetti-o', err), }) return sub } const subPromise = subscribeToGameState(gameCode) return () => { Promise.resolve(subPromise).then((sub) => { console.log('closing the connection') sub.unsubscribe() }) } }, [gameCode]) 特定のチャネルへの接続を確立すると、そのチャネルへの発行とサブスクライブを開始できます。この使用例では、他のプレーヤーからメッセージを受信するたびに、データを reducer に送信して、新しい状態を UI にレンダリングできるようにしています。これは app/game/[code]/GameState.ts ファイルで確認できます。 最後の useEffect の部分では、ページが閉じられたりナビゲートされたりした際に、接続を切断します。これは、サブスクリプションの unsubscribe メソッドを呼び出すことで行われます。このようにすることで、メモリリークによるアプリケーションの速度低下を防ぐことができます。 イベントを発行することで、イベントソースからクライアントにデータを渡すことができます。このアプリでは、プレイヤーがボード上にピースを置いたり、「New Game」または「Reset Game」ボタンをクリックするたびに、それらの詳細を含むイベントを、チャネルの /game/${gameCode} セグメントに発行します。 await events.post(`/game/${gameCode}`, { board: newState.board, currentPlayer: newState.currentPlayer, winner: newState.winner, gameOver: newState.gameOver, }) ご覧のとおり、フルスタックアプリケーションでイベント API を利用するのはごくわずかのコードで済みます! チャットメッセージを送信する場合も、プロセスは同じです。別の useEffect 呼び出しで、 /game/${gameCode}/chat というチャネル上でチャット接続を確立し、ユーザーがメッセージを入力して Enter キーを押すと、 await events.post(`/game/${gameCode}/chat`,newMessage) の呼び出しが送信されます。 まとめ この投稿では、Next.js のようなモダンなフロントエンドフレームワークと Amplify の機能、AppSync イベントの簡便性とスケーラビリティを組み合わせることで、アプリケーションを構築することができることを説明しました。また、Amplify の本来の機能に加えて、CDK の L1 コンストラクトを使用する方法も確認しました。 AWS AppSync イベント API は、フリーティアとして 250,000 回のイベント操作を提供し、大規模なサブスクライバー数に対応可能です。完全マネージドサービスなので、開発者は特定の API サービスに縛られることなく、アプリにリアルタイム機能を簡単に追加できます。 AWS AppSync のイベントの詳細は、 ドキュメントページ をご覧ください。 本記事は、2024 年 11 月 26 日に公開された “ Working with AWS AppSync Events: Real-time Web Games with Chat ” を翻訳したものです。翻訳は Solutions Architect の 吉村 が担当しました。
アバター
このブログは 2025 年 4 月 18 日に Sean Phuphanich (Principal Technologist at AWS)、Ivo Janssen (Senior Solutions Architect at AWS in the Nonprofit team)、Sujata Abichandani (Technical Account manager for strategic customers at AWS) によって執筆された内容を日本語化したものです。原文は こちら を参照してください。 多層防御のような階層型セキュリティ戦略では、予防が失敗した場合、軽減が重要になります。ほとんどの AWS ストレージサービスでは、不変のストレージとバックアップからのリカバリを使用して、ランサムウェアの影響を軽減しています。Autonomous Ransomware Protection (ARP) は、NetApp の ONTAP ファイルシステム上に構築された、信頼性が高く、スケーラブルで、高性能な共有ストレージを提供するフルマネージドサービスである Amazon FSx for NetApp ONTAP (FSx for ONTAP) の新しいセキュリティ機能です。ARP は、ランサムウェア攻撃からの検出機能と高速リカバリ機能の両方をさらに強化しています。AWS は複数の データの保護方法 と耐障害性のあるワークロードの実行方法をお客様に提供していますが、この記事では、NetApp Autonomous Ransomware Protection (ARP) とは何か、どのように機能するか、そしてそれを使用して FSx for ONTAP ファイルシステム上のデータ保護を強化する方法を説明します。 ARP がランサムウェアからどのように保護するか 図1 : ONTAP のセキュリティ機能 ARP は、ファイルシステムの異常なアクティビティをプロアクティブに監視し、潜在的な攻撃を検知すると ONTAP スナップショットを自動的に作成する NetApp ONTAP の機能です。これにより、ビジネスクリティカルなデータを、より広範なランサムウェア攻撃から保護することができます。ONTAP スナップショットは 、ファイルシステムへのリダイレクトオンライト(ROW)を使用し、数テラバイト規模のデータのバックアップとリカバリを数秒で実行できます。これは、ファイルシステムへのネットワーク転送に依存するあらゆるバックアップおよび復元方法よりもはるかに高速です。 ARP はワークロードのアクセスパターンを分析し、疑わしいアクティビティをプロアクティブに検出します。ARP の分析機能は、エントロピーの変化(ファイル内のデータのランダム性)、ファイル拡張子の種類の変化(一般的な拡張子の種類に一致しない拡張子)、ファイル IOPS の変化(暗号化されたデータを含む異常なボリュームアクティビティの急増)を検出し、潜在的なランサムウェアイベントを特定します。これらのパターンの一部またはすべてが、潜在的なランサムウェアイベントの兆候となる可能性があります。疑わしいアクティビティが検出されると、ARP は影響を受けるボリュームのスナップショットを自動的に作成し、疑わしい攻撃の重大度に応じて、 イベント管理システム(EMS) メッセージ、ONTAP CLI、または REST API で確認可能なアラートを生成します。 疑わしいイベントの詳細情報を表示するには、影響を受けたボリュームに関するレポートを生成し、攻撃の可能性と攻撃のタイムラインを確認できます。レポートを確認した後、アラートが誤検知または攻撃の疑いによって生成されたことを記録できます。攻撃が疑われる場合は、まず攻撃の範囲を把握して修復し、次に ARP によって作成されたスナップショットからデータを復旧します。アラートが誤検知によるものであると判断された場合、ARP によって作成されたスナップショットは自動的に削除されます。 ARP は、FSx for ONTAP で実行されている SMB または NFS ファイル共有への攻撃によるダウンタイムを軽減します。例えば、侵害されたコンピューティングインスタンスがファイル共有への承認済みアクセスを取得し、アクセス可能なすべてのデータを暗号化する可能性があります。ARP は攻撃を検知し、スナップショットを作成し、アラートを記録します(アラートは Syslog として他のシステムに転送できます)。管理者は攻撃アラートに対応し、影響を受けたファイルのレポートを確認し、復元プロセスを実行できます。 通常の使用パターンと疑わしいアクティビティを区別できないため、ARP による検出効果が低いワークロード があります。例えば、テスト環境や開発環境のように、数十万ものファイルを頻繁に作成または削除する場合、そのような動作はランサムウェアの活動と効果的に区別できません。 技術的なウォークスルー ARP を設定するには、次の手順を実行します。 機能のインストールと有効化 検出と報告 ランサムウェア攻撃後の復旧 この手順は、fsxadmin の認証情報を持ち、テスト環境の管理エンドポイント経由で ONTAP CLI に接続していること を前提としています。特に明記されていない限り、このガイド内のコマンドは ONTAP CLI 用です。 ARP のインストールと有効化 ARP には、「学習モード」(別名「ドライランモード」)と「アクティブモード」の2つのモードがあります。ARP は、ONTAP CLI または ONTAP REST API を通じて管理されます。 まず、既存のボリュームで ARP を学習モードで有効化します。 security anti-ransomware volume dry-run -volume <vol_name> -vserver <svm_name> または新しいボリュームで学習モードを有効化します: volume create -volume <vol_name> -vserver <svm_name> -aggregate <aggr_name> -size <nn> -anti-ransomware-state dry-run -junction-path </path_name> 既存のボリュームでは、学習モードとアクティブモードは新しく書き込まれたデータにのみ適用され、ボリューム内の既存のデータには適用されないことに注意してください。ボリュームで ARP が有効になった後、新しいデータに基づいて以前の通常のデータトラフィックの特性が想定されるため、既存のデータはスキャンおよび分析されません。 NetApp では、ボリュームをアクティブモードに変換する前に、最大 30 日間学習モード(上記参照)で動作させることを推奨しています。ARP は最適な学習期間間隔を自動的に決定し、学習モードからアクティブ モードへの切り替えを自動化します。切り替えは 30 日以内に完了する場合もあります。 アクティブ モードで ARP を直接有効にするには、既存のボリュームに対して次のコマンドを使用します。 security anti-ransomware volume enable -volume <vol_name> -vserver <svm_name>> SVM レベルで ARP をデフォルトで有効にすることができ、これは新しく作成されたすべてのボリュームに適用されます。 vserver modify -vserver <svm_name> -anti-ransomware-default-volume-state dry-run 最後に、ARP のステータスを確認できます。 security anti-ransomware volume show 特定のボリュームのステータスを確認するには: security anti-ransomware show -vserver <svm_name> -volume <vol_name> デフォルト値を含む ARP 設定オプションの詳細については、 ONTAP コマンドリファレンス を参照してください。 検出とレポート ARP は、ランダム化されたデータ、暗号化されたファイルの高い IOPS、または異常なファイル拡張子を検出するとアラートを生成します。アラートは EMS メッセージ、ONTAP CLI、または REST API で確認でき、誤検知またはランサムウェア攻撃の疑いの 2 種類があります。ランサムウェアの影響を受けた疑いのあるファイルのリストを含むレポートファイルは、ONTAP CLI を使用して生成できます。脅威を評価した後、管理者の対応に応じて、今後のファイルアクティビティが監視されます。 ARP が新しいファイル拡張子を検知した場合、および ARP がスナップショットを作成した場合にアラートを設定できます。詳細については、 Configure ARP alerts をご覧ください。攻撃検出パラメータは、特定のワークロードに合わせて変更できます。攻撃発生時に何が起こるかを理解していただくために、以下のコマンドの出力例をいくつか示します。 ARP がスナップショットを生成したかどうかを確認するには: napshot show -vserver <svm_name> -volume <vol_name> -snapshot Anti_ransomware_backup [サンプル出力] ---Blocks--- Snapshot Size Total% Used% ---------------- -------- ------ ----- Anti_ransomware_backup.2025-04-07_1503 3.40MB 0% 10% hourly.2025-04-07_1505 1.45GB 0% 98% hourly.2025-04-07_1605 140KB 0% 0% まず、攻撃の時間と深刻度を確認します。 security anti-ransomware volume show -vserver <svm_name> -volume <vol_name [サンプル出力] Vserver Name: fsx Volume Name: Vol1 State: enabled Dry Run Start Time: - Attack Probability: low Attack Timeline: 04/07/2025 15:08:57 Number of Attacks: 1 EMS ログでメッセージを確認することもできます。 event log show -message-name callhome.arw.activity.seen [サンプル出力] Time Node Severity Event ------------------- ---------------- ------------- ------------------------ 04/07/2025 11:27:55 cluster2-01 ALERT callhome.arw.activity.seen: Call-home message for Vol1 (UUID: c437827d-8062-11ed-9f93-005056a0123) svm1 (UUID: 4574c5fe-8916-11ec-b931-005056a0123) 次に、攻撃レポートを生成します。 security anti-ransomware volume attack generate-report -vserver <svm_name> -volume <vol_name> -dest-path <[svm_name:]vol_name/[sub-dir-name]> その後、ファイル システムからレポート ファイルを表示できます。 [サンプルファイル] 1 "4/07/2025 03:08:57" /folder/file1.jpg.cf242b 1 2 "4/07/2025 03:08:57" /folder/file2.jpg.2b591a 1 3 "4/07/2025 03:08:57" /folder/file3.jpg.4812e1 1 [file continues…] 攻撃の評価に基づいて、イベントを誤検知または潜在的なランサムウェア攻撃としてマークします。 攻撃を誤検知としてマークするには(このアクションによりスナップショットが削除されます): anti-ransomware volume attack clear-suspect -vserver <svm_name> -volume <vol_name> [<extension identifiers>] -false-positive true 潜在的な攻撃に対処するには、まず攻撃への対応を行い、次に ARP によって作成されたスナップショットからデータを回復します。データが回復された後にのみ、実施した対応を記録し、監視を再開します。 anti-ransomware volume attack clear-suspect -vserver <svm_name> -volume <vol_name> [<extension identifiers>] -false-positive false 回復 データを復旧する前に、ARP によって検出された異常なアクティビティに対応することが重要です。ランサムウェア攻撃が確認された場合、ARP によって生成された「 Anti_ransomware_backup 」というスナップショットを使用してボリュームを復元できます。ランサムウェア攻撃が疑われる場合、ARP スナップショットはロックされます。ロックされたスナップショットは、攻撃が誤検知であると最初に特定されない限り削除できません。管理者は、ボリュームから特定のファイルを選択し、スナップショット全体を復元しないようにすることもできます。 攻撃が確認されたら、スナップショットからボリュームを復元できます。まず、 Anti_ransomware_backup スナップショットのロックを解除する必要があります。システム攻撃が報告されていない場合は、まず Anti_ransomware_backup スナップショットを復元し、その後で他のスナップショットをその上に復元する必要があります。 すべてのスナップショットを一覧表示します: volume snapshot show -vserver <svm_name> -volume <volume> スナップショットを復元します: volume snapshot restore -vserver <svm_name> -volume <volume> -snapshot <snapshot> 以前のスナップショットからデータを復元するには、まず ARP スナップショットのロックを解除する必要があります。攻撃を潜在的なランサムウェア攻撃としてマークし、疑わしいファイルを消去してください: anti-ransomware volume attack clear-suspect -vserver <svm_name> -volume <vol_name> [extension identifiers] -false-positive false 拡張子を識別するには、次のいずれかのパラメータを使用します。 [-seq-no integer] 疑わしいリスト内のファイルのシーケンス番号。 [-extension ext,… ] ファイル拡張子。 [-start-time date_time -end-time date_time] クリアするファイルの範囲の開始時刻と終了時刻を「MM/DD/YYYY HH:MM:SS」の形式で指定します。 コスト ARP は追加料金なしでご利用いただけますが、 FSx for ONTAP の標準料金が適用されます 。テストが完了したら、 未使用のリソースをクリーンアップして 追加料金が発生しないようにしてください。 追加オプション この記事の範囲を超えて、FSx for ONTAP は既存のセキュリティ対策に統合できます。 EMS イベント をセキュリティ情報イベント管理(SIEM)に取り込むことで、セキュリティイベントの可視化と一元管理が可能になります。また、サポートされているサードパーティ製ウイルス対策ソフトウェアを実行する ONTAP の機能である NetApp Vscan は、ファイルの書き込み時にマルウェア検出機能を統合できます。さらに広く、AWS 環境全体を保護するためのその他の方法については、 こちら をご覧ください。 まとめ ARP は、ファイルシステムをランサムウェア攻撃から保護することで、ビジネスの継続性を維持し、FSx for ONTAP に保存されているビジネスクリティカルなデータのデータ保護を強化します。このブログ記事では、クラウドワークロードの全体的なセキュリティ対策の重要な部分として、Amazon FSx for NetApp ONTAP の Autonomous Ransomware Protection (ARP) について説明しました。ARP は簡単にセットアップでき、従来のバックアップおよびリカバリソリューションよりも高速なリカバリ機能を提供します。CLI ベースの管理ツールを使用すると、ボリュームで ARP を有効にすることができます。その後、ARP は潜在的なイベントを検出し、自動的にスナップショットを作成します。管理者はレポートを表示し、イベントをランサムウェアまたは誤検知としてマークし、スナップショットからボリュームまたは個々のファイルを復元できます。ARP は、サービスが利用可能なすべての AWS リージョンのすべての FSx for ONTAP ファイルシステムで利用できます。 翻訳はネットアップ合同会社の Sr. Cloud Solutions Architect for AWS の藤原、監修は Technical Account Manager 岡田が担当しました。 Sean Phuphanich Sean は AWS のプリンシパルテクノロジストであり、業界の複雑な課題解決に注力しています。AWS ストレージコミュニティのリーダーであり、Public Sector Zero Trust Lab チームをリードしており、ISV パートナーシップのテクニカルリーダーでもあります。 Ivo Janssen Ivo は AWS の Nonprofit チームに所属するシニアソリューションアーキテクトで、クラウドテクノロジーを通じて非営利団体のミッションを解決することに情熱を注いでいます。週末には、ボランティアのトラックマーシャルとしてレーストラックで活躍しています。 Sujata Abichandani Sujata は AWS の戦略的顧客担当シニアテクニカルアカウントマネージャーです。お客様の複雑な技術的問題のトラブルシューティングと解決を支援しています。ストレージシステム間のネットワーク接続ストレージ(NAS)の管理と移行に関する専門知識を有しています。
アバター
Meta の最新 AI モデルである Llama 4 Scout 17B と Llama 4 Maverick 17B が、 Amazon Bedrock でフルマネージドサーバーレスオプションとしてご利用いただけるようになりました。これらの新しい 基盤モデル (FM) は、Early Fusion テクノロジーを利用するネイティブなマルチモーダル機能を提供します。これは、アプリケーションでの正確な画像グラウンディングと拡張コンテキスト処理のために使用できます。 Llama 4 は、革新的な Mixture-of-Experts (MoE) アーキテクチャを採用しています。これは、コストと速度の両方を最適化ながら、推論タスクと画像理解タスク全体で強化されたパフォーマンスを提供します。このアーキテクチャアプローチにより、Llama 4 は、グローバルアプリケーション向けの拡張された言語サポートとともに、Llama 3 と比較して低コストで、改善されたパフォーマンスを提供します。 これらのモデルは既に Amazon SageMaker JumpStart で使用可能となっていましたが、今般、 エンタープライズグレードのセキュリティとプライバシー を活用して、 生成 AI アプリケーションの構築とスケールを効率化するために、Amazon Bedrock で使用できるようになりました。 Llama 4 Maverick 17B – 128 のエキスパートと合計 4,000 億のパラメータを備えたネイティブマルチモーダルモデル。画像とテキストの理解で優れたパフォーマンスを発揮し、多用途のアシスタントアプリケーションやチャットアプリケーションに適しています。このモデルは 100 万トークンのコンテキストウィンドウをサポートしており、長いドキュメントや複雑な入力の柔軟な処理を可能にします。 Llama 4 Scout 17B – 16 のエキスパート、170 億のアクティブなパラメータ、合計 1,090 億のパラメータを備えた汎用マルチモーダルモデル。これまでのすべての Llama モデルよりも優れたパフォーマンスを提供します。Amazon Bedrock は現在、Llama 4 Scout で 350 万トークンのコンテキストウィンドウをサポートしており、近い将来に拡張する予定です。 Llama 4 モデルのユースケース Llama 4 モデルの高度な機能は、さまざまな業界の幅広いユースケースのためにご利用いただけます: エンタープライズアプリケーション – ツールやワークフローを横断して推論し、マルチモーダル入力を処理して、ビジネスアプリケーションのために質の高い応答を提供できるインテリジェントエージェントを構築します。 多言語アシスタント – 画像を理解し、複数の言語で質の高い応答を提供するチャットアプリケーションを作成し、世界中のユーザーが利用できるようにします。 コードおよびドキュメントインテリジェンス – コードを理解し、ドキュメントから構造化データを抽出して、大量のテキストとコードにわたってインサイトに富んだ分析を提供できるアプリケーションを開発します。 カスタマーサポート – 画像分析機能でサポートシステムを強化し、顧客がスクリーンショットや写真を共有する際に、より効果的な問題解決を可能にします。 コンテンツ作成 – 複数の言語でクリエイティブなコンテンツを生成します。また、視覚的な入力を理解し、これに応答することもできます。 リサーチ – マルチモーダルデータを統合および分析し、テキストと画像にわたるインサイトを提供できるリサーチアプリケーションを構築します。 Amazon Bedrock での Llama 4 モデルの使用 Amazon Bedrock でこれらの新しいサーバーレスモデルを使用するには、まずアクセスをリクエストする必要があります。 Amazon Bedrock コンソール のナビゲーションペインで、 [モデルアクセス] を選択して、 Llama 4 Maverick 17B モデルと Llama 4 Scout 17B モデルに対するアクセスを切り替えます。 Llama 4 モデルは、会話型 AI インタラクションのための統合インターフェイスを提供する Amazon Bedrock Converse API を使用して、アプリケーションに簡単に統合できます。 AWS SDK for Python (Boto3) を Llama 4 Maverick と使用してマルチモーダル会話を実現する方法の例を次に示します: import boto3 import json import os AWS_REGION = "us-west-2" MODEL_ID = "us.meta.llama4-maverick-17b-instruct-v1:0" IMAGE_PATH = "image.jpg" def get_file_extension(filename: str) -> str: """Get the file extension.""" extension = os.path.splitext(filename)[1].lower()[1:] or 'txt' if extension == 'jpg': extension = 'jpeg' return extension def read_file(file_path: str) -> bytes: """Read a file in binary mode.""" try: with open(file_path, 'rb') as file: return file.read() except Exception as e: raise Exception(f"Error reading file {file_path}: {str(e)}") bedrock_runtime = boto3.client( service_name="bedrock-runtime", region_name=AWS_REGION ) request_body = { "messages": [ { "role": "user", "content": [ { "text": "What can you tell me about this image?" }, { "image": { "format": get_file_extension(IMAGE_PATH), "source": {"bytes": read_file(IMAGE_PATH)}, } }, ], } ] } response = bedrock_runtime.converse( modelId=MODEL_ID, messages=request_body["messages"] ) print(response["output"]["message"]["content"][-1]["text"]) この例は、テキストと画像の両方の入力をモデルに送信し、会話形式の応答を受信する方法を示しています。Converse API は、さまざまなモデル入力形式を扱う際の複雑さを抽象化し、Amazon Bedrock のモデル全体で一貫したインターフェイスを提供します。 よりインタラクティブなユースケースでは、Converse API のストリーミング機能も使用できます: response_stream = bedrock_runtime.converse_stream( modelId=MODEL_ID, messages=request_body['messages'] ) stream = response_stream.get('stream') if stream: for event in stream: if 'messageStart' in event: print(f"\nRole: {event['messageStart']['role']}") if 'contentBlockDelta' in event: print(event['contentBlockDelta']['delta']['text'], end="") if 'messageStop' in event: print(f"\nStop reason: {event['messageStop']['stopReason']}") if 'metadata' in event: metadata = event['metadata'] if 'usage' in metadata: print(f"Usage: {json.dumps(metadata['usage'], indent=4)}") if 'metrics' in metadata: print(f"Metrics: {json.dumps(metadata['metrics'], indent=4)}") ストリーミングを使用すると、モデル出力が生成されるのと同時に表示することで、アプリケーションはより応答性の高いエクスペリエンスを提供できます。 知っておくべきこと Llama 4 モデルは、米国東部 (バージニア北部) と米国西部 (オレゴン) の AWS リージョン において、 Amazon Bedrock で、フルマネージドサーバーレスエクスペリエンスとともに 4 月 28 日よりご利用いただけます。 また、米国東部 (オハイオ) の Llama 4 には、 クロスリージョン推論 を介してアクセスできます。 Amazon Bedrock では、通常どおり、使用した分の料金のみをお支払いいただきます。詳細については、「 Amazon Bedrock の料金 」をご覧ください。 これらのモデルは、テキストで 12 の言語 (英語、フランス語、ドイツ語、ヒンディー語、イタリア語、ポルトガル語、スペイン語、タイ語、アラビア語、インドネシア語、タガログ語、ベトナム語) をサポートし、画像処理では英語をサポートします。 これらの新しいモデルの使用を今すぐ開始するには、 「Amazon Bedrock ユーザーガイド」の「Meta Llama モデル」のセクション にアクセスしてください。また、 community.aws サイトの生成 AI セクションでは、ビルダーコミュニティがソリューションで Amazon Bedrock をどのように利用しているのかを詳しく知ることもできます。 – Danilo 原文は こちら です。 ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! (この アンケート は外部企業に委託して行われます。AWS は、 AWS プライバシー通知 に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)
アバター
4 月 28 日、 Amazon CloudFront SaaS Manager の一般提供の開始を発表いたしました。これは、 Software as a Service (SaaS) プロバイダー、ウェブ開発プラットフォームプロバイダー、複数のブランドやウェブサイトを持つ企業が、複数のドメインにわたる配信を効率的に管理するのに役立つ新機能です。お客様は既に CloudFront を利用して、低レイテンシーと高速転送でコンテンツを安全に配信しています。CloudFront SaaS Manager は、これらの組織が直面する重要な課題、すなわち、TLS 証明書、分散型サービス拒否 (DDoS) 攻撃に対する保護、パフォーマンスモニタリングを必要とするテナントウェブサイトの大規模な管理に対処します。 多数のドメインを管理するウェブ開発プラットフォームプロバイダーやエンタープライズ SaaS プロバイダーは、CloudFront Saas Manager を利用することで、世界中の CloudFront エッジロケーション、 AWS WAF 、 AWS Certificate Manager を利用するシンプルな API と再利用可能な設定を利用できるようになります。CloudFront SaaS Manager は、あらゆるお客様ドメインのために、高パフォーマンスのコンテンツ配信とエンタープライズグレードのセキュリティを提供しながら、運用上の複雑さを大幅に軽減します。 仕組み CloudFront では、 マルチテナント SaaS デプロイ を使用できます。これは、単一の CloudFront ディストリビューションが複数の異なるテナント (ユーザーまたは組織) のためにコンテンツを提供する戦略です。CloudFront SaaS Manager は、マルチテナントディストリビューションと呼ばれる新しいテンプレートベースのディストリビューションモデルを使用して、設定とインフラストラクチャを共有しながら、複数のドメインでコンテンツを提供します。ただし、単一のウェブサイトまたはアプリケーションをサポートしている場合は、標準ディストリビューションの方がより適しているか、または推奨されます。 テンプレートディストリビューションは、オリジン設定、キャッシュ動作、セキュリティ設定など、ドメイン全体で使用される基本設定を定義します。各テンプレートディストリビューションには、ウェブアクセスコントロールリスト (ACL) のオーバーライドやカスタム TLS 証明書など、ドメイン固有のオリジンパスまたはオリジンドメイン名を表すディストリビューションテナントが含まれています。 オプションで、複数のディストリビューションテナントは、視聴者にコンテンツを提供する CloudFront ルーティングエンドポイントを提供するのと同じ接続グループを使用できます。 DNS レコードは、 Canonical Name Record (CNAME) を使用して接続グループの CloudFront エンドポイントをポイントします。 詳細については、「Amazon CloudFront デベロッパーガイド」の「 Understand how multi-tenant distributions work 」にアクセスしてください。 CloudFront SaaS Manager の実際の動作 CloudFront SaaS Manager の機能をより良くご理解いただけるよう、例を挙げて説明します。MyStore という人気の e コマースプラットフォームを運営している会社があるとします。このプラットフォームは、顧客がオンラインストアを簡単に立ち上げて管理するのに役立ちます。MyStore のテナントは、優れたカスタマーサービス、セキュリティ、信頼性、使いやすさを既に享受しており、ストアの立ち上げに必要な設定はほとんどなく、直近 12 か月間のアップタイムは 99.95% です。 MyStore の顧客は、ブロンズ、シルバー、ゴールドの 3 つの異なる料金階層に均等に分散されており、各顧客には永続的な mystore.app サブドメインが割り当てられています。これらの料金階層は、さまざまな顧客セグメント、カスタマイズされた設定、運用リージョンに適用できます。例えば、ゴールド階層で、高度な機能として AWS WAF サービスを追加できます。この例では、MyStore は、プラットフォームでホストされるアプリケーションの増加に伴い、TLS 接続とセキュリティを処理するために独自のウェブサーバーを維持しないことにしました。同社は、CloudFront が運用上のオーバーヘッドの削減に役立つかどうかを評価しています。 MyStore の立場になり、CloudFront SaaS Manager を利用して、複数の階層に分散されている顧客のウェブサイトをどのように設定するのかを見てみましょう。まず、MyStore が提供する 3 つの料金階層 ( Amazon CloudFront コンソール の [SaaS] メニューの [マルチテナントディストリビューション] に示されている [ブロンズ]、[シルバー]、[ゴールド]) のそれぞれに対応するテンプレートとして機能するマルチテナントディストリビューションを作成できます。 マルチテナントディストリビューションを作成するには、 [ディストリビューションを作成] を選択し、同じ設定を共有する複数のウェブサイトまたはアプリケーションがある場合は [マルチテナントアーキテクチャ] を選択します。ステップに従って、ディストリビューションの名前、タグ、ワイルドカード証明書などの基本的な詳細を入力し、ウェブサイトやアプリケーションなどのコンテンツのオリジンタイプと場所を指定して、AWS WAF ウェブ ACL 機能を使用してセキュリティ保護を有効にします。 マルチテナントディストリビューションが正常に作成されたら、左側のナビゲーションペインの [ディストリビューションテナント] メニューで [テナントを作成] を選択して、ディストリビューションテナントを作成できます。ディストリビューションテナントを作成して、アクティブな顧客をブロンズ階層に関連付けることができます。 各テナントは、最大 1 つのマルチテナントディストリビューションに関連付けることができます。顧客の 1 つ以上のドメインをディストリビューションテナントに追加し、オリジンドメインやオリジンパスなどのカスタムパラメータ値を割り当てることができます。ディストリビューションテナントは、関連付けられているマルチテナントディストリビューションの TLS 証明書とセキュリティ設定を継承できます。また、テナント専用の新しい証明書をアタッチしたり、テナントのセキュリティ設定をオーバーライドしたりすることもできます。 ディストリビューションテナントが正常に作成されたら、このディストリビューションテナント内のドメインにトラフィックをルーティングするように DNS レコードを更新し、CloudFront アプリケーションエンドポイントをポイントする CNAME を作成することで、このステップを完了できます。詳細については、「Amazon CloudFront デベロッパーガイド」の「 ディストリビューションを作成する 」にアクセスしてください。 これで、各ディストリビューションテナント内のすべての顧客を表示して、マルチテナントディストリビューションを関連付けることができます。 顧客のビジネスニーズが高まった場合、ディストリビューションテナントを適切なマルチテナントディストリビューションに移行することで、顧客をブロンズ階層からシルバー階層にアップグレードできます。 月次メンテナンスプロセス中に、非アクティブな顧客アカウントに関連付けられており、かつ、安全に廃止できるドメインを特定します。ブロンズ階層を非推奨にして、現在ブロンズ階層にいるすべての顧客をシルバー階層に移行することを決定した場合は、マルチテナントディストリビューションを削除してブロンズ階層を関連付けることができます。詳細については、「Amazon CloudFront デベロッパーガイド」の「 ディストリビューションを更新する 」または「 Distribution tenant customizations 」にアクセスしてください。 デフォルトでは、AWS アカウントにはすべての CloudFront トラフィックを処理する 1 つの接続グループがあります。左側のナビゲーションペインの [設定] メニューで [接続グループ] を有効にすると、追加の接続グループを作成でき、トラフィック管理とテナント分離をより細かく制御できます。 詳細については、「Amazon CloudFront デベロッパーガイド」の「 Create custom connection group 」にアクセスしてください。 今すぐご利用いただけます Amazon CloudFront SaaS Manager は本日よりご利用いただけます。詳細については、 CloudFront SaaS Manager の製品ページ と ドキュメントページ にアクセスしてください。AWS での SaaS の詳細については、 AWS SaaS Factory にアクセスしてください。 今すぐ CloudFront コンソール で CloudFront SaaS Manager をお試しいただき、 AWS re:Post for Amazon CloudFront に対して、または通常の AWS サポート担当者を通じて、フィードバックをお寄せください。 – Veliswa 原文は こちら です。 _______________________________________________ ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください ! ( この アンケート は、外部の企業によって実施されます。AWS は、 AWS プライバシー通知 に記載されているとおりにお客様の情報を取り扱います。AWS はこのアンケートを通じて収集されたデータを所有します。また、収集された情報をアンケートの回答者と共有することはありません。 )
アバター