翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Graviton インスタンスとコンテナを使用する
概要
AWS Graviton インスタンスは、 で実行されているコンテナを含め、Amazon Elastic Compute Cloud (Amazon EC2) で実行されているクラウドワークロードに最適な価格パフォーマンスを提供する AWS ように によって設計されたARMプロセッサを搭載しています AWS。現在、Amazon で使用できる Graviton は 3 世代ありますEC2。このガイドでは、 での Graviton 2 および 3 の使用に焦点を当てています。NET最新バージョンの Graviton を使用すると大幅なコスト削減が見込めるためです。Graviton インスタンスは Linux オペレーティングシステムのみを実行することに注意してください。その結果、Graviton インスタンスは、Linux で実行される NETの強力なサービスですが、Windows オペレーティングシステムやレガシー のオプションではありません。NET フレームワークアプリケーション。
Graviton 3 は、同等のEC2インスタンスよりも 60% 効率が高く、パフォーマンスが最大 40% 向上します。このガイドでは、Graviton を使用するコスト上の利点に焦点を当てていますが、Graviton にはパフォーマンスの向上と環境の持続可能性の向上という追加の利点があることに注意してください。
コストへの影響
Graviton に切り替えると、最大 45% の節約を実現できます。レガシー を再ファクタリングした後。NET アプリケーションを最新の NETバージョンにフレームワークすると、Graviton インスタンスを使用する機能をアンロックできます。Graviton への移行は、. デベロッパーにとって効果的なコスト最適化手法ですNET。
次の表の例は、Graviton インスタンスに移行することで達成できるパフォーマンス向上の可能性を示しています。
前述の図の結果の作成に使用されるベンチマークアプローチの完全な内訳と説明については、 AWS コンピューティングブログの「Powering .NET 5 with AWS Graviton2: Benchmarks
効率が向上した理由の 1 つは、x86 と Graviton の間の vCPU の意味の違いです。x86 アーキテクチャでは、vCPU はハイパースレッディングによって達成される論理コアです。Graviton では、vCPU は物理コアに相当し、vCPU をワークロードに完全にコミットできます。
Graviton2 の結果は、同等の x86/x64 インスタンスよりも 40% の価格パフォーマンスが向上しています。Graviton3 では、Graviton2 に対して以下が提供されます。
-
パフォーマンスが 25% 向上し、パフォーマンスプロファイルが向上
-
最大 2 倍の浮動小数点パフォーマンス
-
暗号化ワークロードのパフォーマンスが最大 2 倍高速化
-
機械学習のパフォーマンスが最大 3 倍向上
さらに、Graviton3 はDDR5メモリを搭載したクラウド内の最初のインスタンスです。
次の表は、Graviton ベースのインスタンスと同等の x86 ベースのインスタンスのコスト削減の違いを示しています。
この表は、Graviton が 19.20% 削減されたことを示しています。
インスタンスタイプ | アーキテクチャ | vCPU | メモリ (GB) | 時間あたりのコスト (オンデマンド) |
---|---|---|---|---|
t4g.xlarge | ARM | 4 | 16 | $0.1344 |
t3.xlarge | x86 | 4 | 16 | $0.1664 |
この表は、Graviton が 14.99% 削減されたことを示しています。
インスタンスタイプ | アーキテクチャ | vCPU | メモリ (GB) | 時間あたりのコスト (オンデマンド) |
---|---|---|---|---|
c7g.4xlarge | ARM | 16 | 32 | 0.5781 ドル |
c6i.4xlarge | x86 | 16 | 32 | $0.6800 |
Graviton を検討するときは、アプリケーションのパフォーマンスプロファイルをテストすることが重要です。Graviton は、堅牢なソフトウェア開発プラクティスに代わるものではありません。テストを使用して、基盤となるコンピューティングリソースを最大限に活用しているかどうかを確認できます。
コスト最適化に関する推奨事項
Graviton プロセッサ/インスタンスを利用する方法はいくつかあります。このセクションでは、x86 アーキテクチャマシンの使用から Graviton (ARM) インスタンスへの移行に必要な変更について説明します。
Lambda でランタイム設定を変更する
のランタイム設定を切り替えることをお勧めします AWS Lambda。詳細については、Lambda ドキュメントの「ランタイム環境の変更」を参照してください。はNETコンパイルされた言語であるため、これを機能させるにはビルドプロセスに従う必要があります。これを行う方法の例については、「」のNET「Graviton
コンテナ
コンテナ化されたワークロードの場合は、マルチアーキテクチャコンテナイメージを作成します。これを行うには、Docker ビルドコマンドで複数のアーキテクチャを指定します。例:
docker buildx build -t "myImageName:latest" --platform linux/amd64,linux/arm64 --push .
また、 などのツールを使用して AWS Cloud Development Kit (AWS CDK) 、ビルドのオーケストレーション
Amazon EC2
x86/x64 ARMから に移行するには、コンパイルステップでARMアーキテクチャをターゲットにします。Visual Studio では、 ARM64 を作成できますCPU。手順については、Microsoft ドキュメントのArm64 およびその他のプラットフォームをターゲットにするようにプロジェクトを設定するには
を使用している場合はNETCLI、ARMマシンでビルドを実行すると、Graviton 互換ビルドが生成されます。デモを確認するには、Accelerate をご覧ください。NET の AWS Graviton2 で Arm64 を使用した 6 のパフォーマンス
追加リソース
-
Amazon の Graviton ARMインスタンスとスポットインスタンスを使用してコンテナを構築し、保存する方法 ECS
(AWS ブログ) -
AWS LambdaAWS Graviton2 プロセッサを搭載した関数 – 関数をアームで実行し、最大 34% のコストパフォーマンスを向上
(AWS ブログ) -
(AWS ブログ) を使用して . ウェブアプリケーションを構築して ARMにデプロイ AWS ECSします。NET AWS CDK
-
Graviton Fast Start – ワークロードを AWS Graviton に移動するための新しいプログラム
(AWS ブログ) -
AWS Graviton2 で .NET 5 を強化: ベンチマーク
(AWS ブログ)