SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
© 2021, Amazon Web Services, Inc. or its Affiliates.
アマゾン ウェブ サービス ジャパン 合同会社
ソリューションアーキテクト
渡邉 真太郎
Amazon Game Tech Night #23
AWS Graviton2 のアップデートとはじめかた
© 2021, Amazon Web Services, Inc. or its Affiliates.
渡邉 真太郎 / Shintaro Watanabe
アマゾン ウェブ サービス ジャパン合同会社
技術統括本部 ゲームエンターテイメントソリューション部
ソリューションアーキテクト
好きな AWS サービス
AWS Amplify, Amazon ECS, Amazon QuickSight
⾃⼰紹介
© 2021, Amazon Web Services, Inc. or its Affiliates.
アジェンダ
• AWS Graviton2 概要
• AWS Graviton2 への移⾏ガイド
• AWS Graviton2 エコシステムの拡⼤
• AWS Graviton2 アップデート紹介
• AWS Graviton2 のはじめかた
• まとめ
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 概要
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 とは
• AWS が独⾃に設計・開発した Arm ベースの CPU
• 従来の x86 ベースインスタンスと⽐べて低コスト・⾼パフォーマンス
同⼀サイズのインスタンスと⽐較し
20%の低コスト
現⾏世代のインスタンスと⽐較し
最⼤40%良好な
コストパフォーマンス
同じインスタンスファミリの中で
最⼤の性能を提供
コストパフォーマンス
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 搭載インスタンスの利点
コスト
• x86 系インスタンスの同サイズと⽐較した場合、約20% 安価
例︓m5.16xlarge: 3.968 USD/hour
m6g.16xlarge: 3.168 USD/hour
パフォーマンス
• x86 系インスタンスでは 2 vCPU = 1 物理コア だが、
Arm 系インスタンスは 1 vCPU = 1 物理コア であり、
同インスタンスサイズでは 2倍の物理コアが利⽤可能
例︓m5.16xlarge: 64 vCPU = 32 物理コア
m6g.16xlarge: 64 vCPU = 64 物理コア
• Web サーバ、コンテナ基盤、BigData 処理、HPC、機械学習等様々なベンチマークで
既存の x86 系インスタンスと⽐較して最⼤ 約40% のコストパフォーマンス向上
© 2021, Amazon Web Services, Inc. or its Affiliates.
各種ベンチマーク結果(性能向上)の⼀例
100 100 100
144
124
143
40
60
80
100
120
140
160
S P E C I N T 2 0 1 7 ( E s t i m a t e ) N G I N X M E M C A C H E D
P
E
R
C
E
N
T
A
G
E
© 2021, Amazon Web Services, Inc. or its Affiliates.
コストパフォーマンスの試算例 – C5.4xlarge 10台のGraviton化
$6,163.20
$4,930.56
$3,944.45
$2,958.34
$0.00
$1,000.00
$2,000.00
$3,000.00
$4,000.00
$5,000.00
$6,000.00
$7,000.00
C5.4xl *10 C6g.4xl *10 C6g.4xl *8 (20% Performance UP) C6g.2xl *12 (down size with reduce # of
instsance)
Monthly Cost
20%
36%
52%
①Graviton適用 ②20% Performance Up ③ Down Size
© 2021, Amazon Web Services, Inc. or its Affiliates.
さらなるコスト最適化︓購⼊オプション
秒単位 時間単位
⼤幅な
ディスカウント
優れた柔軟性
最⼤90%の値引き
中断あり
Graviton2 インスタンスでももちろん使えます
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 搭載インスタンス利⽤時の注意点
x86 系インスタンスとはアーキテクチャが異なるため、
OS やアプリケーションの Graviton2(Arm) 対応が必要
• Arm 専⽤の AMI(Amazon Machine Image) からインスタンスを起動する
• Windows は未サポート(Linux 上で .NET Core は利⽤可能)
• x86 系インスタンスからのインスタンスタイプの変更は不可能
• ⾃作のアプリケーションやパッケージマネージャーで提供されていない
アプリケーションについては、コンパイルを⾏う必要がある
• Arm 未対応の商⽤アプリケーションは利⽤できない
移⾏ガイド、エコシステムの拡⼤で移⾏をサポート
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 への移⾏ガイド
© 2021, Amazon Web Services, Inc. or its Affiliates.
aws-graviton-getting-started
Graviton2 利⽤時にご確認いただきたいドキュメント
• 推奨コンパイルオプション
• OS サポート情報
• 各種アプリケーションでの
推奨バージョン、設定
• デバッグ・プロファイル
• 開発⾔語別の考慮事項
• コンテナベースのワークロード向け Tips
• TensorFlow のビルド
etc...
https://github.com/aws/aws-graviton-gettting-started
© 2021, Amazon Web Services, Inc. or its Affiliates.
Graviton2 でコンテナを利⽤する場合
• Graviton2 上で Docker を利⽤することが可能
(イメージの作成・実⾏等)
• ただし、Image 内の実⾏ファイルは arm64 と
amd64 (x86_64) で互換性が無く、アーキテク
チャごとに Image を作成することとなる
• DockerHub では現在主要な Image について、
aarch64 向け Image が公開済み
• Elastic も Elasticsearch の aarch64 向け
公式イメージを提供
https://hub.docker.com/u/aarch64/
© 2021, Amazon Web Services, Inc. or its Affiliates.
マルチアーキテクチャ対応 Docker Image 作成⽅法
• Docker の Manifest 機能を使⽤することで、単⼀のレポジトリで、
複数のアーキテクチャをホストする事が可能(Amazon ECR 対応済み)
• AWS CodeBuild では環境タイプで Arm を選択し、Arm 向けイメージを作成
• Docker の Experimental 機能である buildx サブコマンドにより、
QEMU を使⽤し amd64 環境でも Arm 向けイメージの作成が可能
https://aws.amazon.com/jp/blogs/containers/introducing-multi-architecture-container-images-for-amazon-ecr/
© 2021, Amazon Web Services, Inc. or its Affiliates.
アプリケーションの Graviton2 移⾏対応
• アプリケーションが yum/apt などのパッケージマネージャから取得できる場合
• まずはパッケージマネージャからインストールを⾏い、評価を実施
• 要件を満たすパフォーマンスが得られない場合はソースコードからのコンパイルを検討
• C/C++ でアプリケーションが記述されている場合
• Arm 向けにコンパイルしなおす必要がある
• aws-graviton-getting-started 記載の推奨コンパイルオプションを使⽤
• Python や Ruby などのスクリプト⾔語や Java, .NET Core でアプリケーションが
記述されている場合
• 既に Arm 対応が含まれている⾔語バージョンが利⽤されていれば、
そのまま Arm 環境で実⾏する事が可能だが、パフォーマンステストは⾏う必要がある
• 実⾏環境のアップデートにより最適化・LSE 対応により性能が向上する場合も
• ⾼速化のためにネイティブバイナリが使⽤されているケースに注意
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 エコシステムの拡⼤
© 2021, Amazon Web Services, Inc. or its Affiliates.
オペレーティングシステムの対応状況
Red Hat Enterprise Linux
8.2+
SLES 15 SP2
18.04LTS, 20.04LTS
Amazon Linux 2
Debian
https://github.com/aws/aws-graviton-getting-started/blob/master/os.md
© 2021, Amazon Web Services, Inc. or its Affiliates.
ソフトウェア エコシステムにおける Arm 対応の拡⼤
Jenkins
GitLab
GitHub Actions Travis CI
CircleCI
CrowdStrike Rapid7
Qualys Tenable
Snyk
Cassandra KeyDB MariaDB Memcached MongoDB MySQL PostreSQL Redis ScyllaDB
Chef Honeycomb
Datadog Dynatrace Terraform
New Relic Splunk
Trend Micro
© 2021, Amazon Web Services, Inc. or its Affiliates.
コンテナ・サーバーレスの対応状況
Bottlerocket (Container OS)
(github.com/bottlerocket-os)
Firecracker (MicroVMs)
(github.com/firecracker-microvm)
Amazon Elastic Container Service
(Amazon ECS)
Amazon Elastic Container Service
for Kubernetes (Amazon EKS)
Docker Kubernetes
Amazon Elastic Container Registry
(Amazon ECR)
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS サービスの Graviton2 対応状況
Amazon
ElastiCache
(Memcached, Redis)
Amazon RDS
(MySQL, MariaDB,
PostgreSQL)
Amazon EMR
(Hadoop, Spark)
Amazon
Aurora
Amazon ECS Amazon EKS
Amazon
OpenSearch
Service
AWS Lambda
Amazon GameLift
FleetIQ
Amazon ECS
+
AWS Fargate
© 2021, Amazon Web Services, Inc. or its Affiliates.
開発ツール関連の対応状況
AWS
Marketplace
AWS
Systems
Manager
Amazon
CloudWatch
Amazon
Inspector
AWS
Batch
AWS
CodeBuild
AWS
CodeCommit
AWS
CodePipeline
AWS
CodeDeploy
Amazon Corretto
OpenJDK
AWS Fluent Bit
AWS
Command Line
Interface
AWS EC2
Image
Builder
AWS Auto
Scaling
(Mixed-arch)
AWS X-Ray
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 アップデート紹介
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda の Graviton2 対応
AWS Lambda で Arm/Graviton2 プロセッサ上で関数を実⾏可能に
• x86 と⽐較して20%低いコスト、最⼤19%優れたパフォーマンスを実現
• Graviton2 プロセッサに組み込まれたパフォーマンスとセキュリティの恩恵を受けられる
• マルチスレッドとマルチプロセッシングを使⽤するワークロード
• 多数の I/O 操作を実⾏するワークロード
• x86 アーキテクチャ固有のバイナリが含まれない場合はそのまま Arm アーキテクチャに変更
注意点
• 使⽤する関数パッケージに x86 固有のバイナリが含まれる場合は Arm 向けに再ビルドが必要
• コンテナイメージとしてパッケージ化された関数はアーキテクチャに合わせて再ビルドが必要
https://aws.amazon.com/jp/blogs/news/aws-lambda-functions-powered-by-aws-graviton2-processor-run-your-functions-on-arm-and-get-up-to-34-better-price-performance/
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Fargate の AWS Graviton2 対応
Amazon ECS + AWS Fargate の Graviton2 対応を発表
• AWS Fargate はコンテナ⽤のサーバーレスコンピューティングエンジン
• Amazon ECS を介して AWS Fargate でコンテナ化されたアプリケーションを実⾏する場合は
実⾏環境として Graviton2 搭載のコンピューティング環境を選択可能
© 2021, Amazon Web Services, Inc. or its Affiliates.
Amazon GameLift FleetIQ における Graviton2 のサポート
Amazon GameLift FleetIQ のゲームサーバーグループ設定で
AWS Graviton2 プロセッサ搭載インスタンスを可能に
• c6g, m6g, r6g インスタンスファミリーが対象
https://aws.amazon.com/jp/blogs/news/now-available-new-asia-pacific-osaka-region-and-graviton2-support-for-amazon-gamelift/
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 EC2 インスタンスで動作する
Unreal Engine 4 専⽤サーバーを作成する
AWS ブログで Unreal Engine 4 で構築された専⽤ゲームサーバーを
Arm 向けにコンパイルし、Graviton2 インスタンスで実⾏する⼿順をご紹介
AWS Blog :
「AWS Graviton EC2 インスタンスで動作する Unreal Engine 4 専⽤サーバーを作成する」
https://aws.amazon.com/jp/blogs/news/compiling-unreal-engine-4-dedicated-servers-for-aws-graviton-ec2-instances/
必要なもの︓
• 専⽤ GPU を搭載した Windows 10 ワークステーション
• Visual Studio
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 のはじめかた
© 2021, Amazon Web Services, Inc. or its Affiliates.
Step.1 依存関係の調査
https://docs.aws.amazon.com/whitepapers/latest/aws-graviton2-for-isv/planning-your-transition.html
© 2021, Amazon Web Services, Inc. or its Affiliates.
Step.2 対応状況・バージョンの確認
https://github.com/aws/aws-graviton-getting-started/blob/main/os.md
https://github.com/aws/aws-graviton-getting-started#recent-
software-updates-relevant-to-graviton
© 2021, Amazon Web Services, Inc. or its Affiliates.
Step.3 テスト︕
• Arm64 AMI から Graviton2 インスタンスを起動
• Graviton2 インスタンスに必要なパッケージを
インストールし Custom AMI を作成
• CloudFormation や Ansible で⾃動化していると簡単
• アプリケーションの動作テスト
• CI/CD や⾃動テスト、E2E テストの仕組みが
既にあると簡単
• アプリケーションの性能テスト
• Jmeter クラスタなど負荷テスト環境が既にあると簡単
© 2021, Amazon Web Services, Inc. or its Affiliates.
Step.4 本番環境への投⼊
• 既存のインスタンスを Graviton2 インスタンスへ⼊れ替え
• 負荷状況を⾒てインスタンス数の削減やダウンサイズを⾏う
• 安定的な運⽤に必要なインスタンス数の⾒通しが⽴ってきたら
RI/SPs の購⼊を検討
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Graviton2 導⼊難易度の低い利⽤例
• Amazon RDS/Aurora などのマネージドサービス
• マネージドサービスとして提供するインターフェースは変わらない
• 導⼊の際に Arm 対応は必要なく、Graviton2 インスタンスに変更して
アプリケーションと組み合わせたテストを⾏うのみ
• 負荷試験⽤ JMeter on Graviton2
• Java なのでほぼ変更が不要、テスト対象システムに変更は不要
© 2021, Amazon Web Services, Inc. or its Affiliates.
まとめ
© 2021, Amazon Web Services, Inc. or its Affiliates.
まとめ
• 従来の x86 ベースのインスタンスと⽐較してコストパフォーマンスに優れた
AWS Graviton2 インスタンスをご紹介
• アプリケーション実⾏環境の Graviton2 移⾏では Arm 対応が必要となるが、
aws-graviton-getting-started や AWS Blog から情報収集が可能
• AWS Graviton2 を取り巻くエコシステムはまさに拡充している最中であり
AWS サービスも Graviton2 対応が進んでいる
• マネージドサービス(Aurora/RDS, ElastiCache)では Arm 対応を⾏わず、
インスタンスタイプ変更対応と性能検証を⾏うことで移⾏可能
© 2021, Amazon Web Services, Inc. or its Affiliates.
Thank you!

Mais conteúdo relacionado

Mais de Amazon Web Services Japan

202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピAmazon Web Services Japan
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operationsAmazon Web Services Japan
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報Amazon Web Services Japan
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 

Mais de Amazon Web Services Japan (20)

202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 

Amazon Game Tech Night #13 AWS Graviton2のアップデートとはじめかた

  • 1. © 2021, Amazon Web Services, Inc. or its Affiliates. アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 渡邉 真太郎 Amazon Game Tech Night #23 AWS Graviton2 のアップデートとはじめかた
  • 2. © 2021, Amazon Web Services, Inc. or its Affiliates. 渡邉 真太郎 / Shintaro Watanabe アマゾン ウェブ サービス ジャパン合同会社 技術統括本部 ゲームエンターテイメントソリューション部 ソリューションアーキテクト 好きな AWS サービス AWS Amplify, Amazon ECS, Amazon QuickSight ⾃⼰紹介
  • 3. © 2021, Amazon Web Services, Inc. or its Affiliates. アジェンダ • AWS Graviton2 概要 • AWS Graviton2 への移⾏ガイド • AWS Graviton2 エコシステムの拡⼤ • AWS Graviton2 アップデート紹介 • AWS Graviton2 のはじめかた • まとめ
  • 4. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 概要
  • 5. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 とは • AWS が独⾃に設計・開発した Arm ベースの CPU • 従来の x86 ベースインスタンスと⽐べて低コスト・⾼パフォーマンス 同⼀サイズのインスタンスと⽐較し 20%の低コスト 現⾏世代のインスタンスと⽐較し 最⼤40%良好な コストパフォーマンス 同じインスタンスファミリの中で 最⼤の性能を提供 コストパフォーマンス
  • 6. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 搭載インスタンスの利点 コスト • x86 系インスタンスの同サイズと⽐較した場合、約20% 安価 例︓m5.16xlarge: 3.968 USD/hour m6g.16xlarge: 3.168 USD/hour パフォーマンス • x86 系インスタンスでは 2 vCPU = 1 物理コア だが、 Arm 系インスタンスは 1 vCPU = 1 物理コア であり、 同インスタンスサイズでは 2倍の物理コアが利⽤可能 例︓m5.16xlarge: 64 vCPU = 32 物理コア m6g.16xlarge: 64 vCPU = 64 物理コア • Web サーバ、コンテナ基盤、BigData 処理、HPC、機械学習等様々なベンチマークで 既存の x86 系インスタンスと⽐較して最⼤ 約40% のコストパフォーマンス向上
  • 7. © 2021, Amazon Web Services, Inc. or its Affiliates. 各種ベンチマーク結果(性能向上)の⼀例 100 100 100 144 124 143 40 60 80 100 120 140 160 S P E C I N T 2 0 1 7 ( E s t i m a t e ) N G I N X M E M C A C H E D P E R C E N T A G E
  • 8. © 2021, Amazon Web Services, Inc. or its Affiliates. コストパフォーマンスの試算例 – C5.4xlarge 10台のGraviton化 $6,163.20 $4,930.56 $3,944.45 $2,958.34 $0.00 $1,000.00 $2,000.00 $3,000.00 $4,000.00 $5,000.00 $6,000.00 $7,000.00 C5.4xl *10 C6g.4xl *10 C6g.4xl *8 (20% Performance UP) C6g.2xl *12 (down size with reduce # of instsance) Monthly Cost 20% 36% 52% ①Graviton適用 ②20% Performance Up ③ Down Size
  • 9. © 2021, Amazon Web Services, Inc. or its Affiliates. さらなるコスト最適化︓購⼊オプション 秒単位 時間単位 ⼤幅な ディスカウント 優れた柔軟性 最⼤90%の値引き 中断あり Graviton2 インスタンスでももちろん使えます
  • 10. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 搭載インスタンス利⽤時の注意点 x86 系インスタンスとはアーキテクチャが異なるため、 OS やアプリケーションの Graviton2(Arm) 対応が必要 • Arm 専⽤の AMI(Amazon Machine Image) からインスタンスを起動する • Windows は未サポート(Linux 上で .NET Core は利⽤可能) • x86 系インスタンスからのインスタンスタイプの変更は不可能 • ⾃作のアプリケーションやパッケージマネージャーで提供されていない アプリケーションについては、コンパイルを⾏う必要がある • Arm 未対応の商⽤アプリケーションは利⽤できない 移⾏ガイド、エコシステムの拡⼤で移⾏をサポート
  • 11. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 への移⾏ガイド
  • 12. © 2021, Amazon Web Services, Inc. or its Affiliates. aws-graviton-getting-started Graviton2 利⽤時にご確認いただきたいドキュメント • 推奨コンパイルオプション • OS サポート情報 • 各種アプリケーションでの 推奨バージョン、設定 • デバッグ・プロファイル • 開発⾔語別の考慮事項 • コンテナベースのワークロード向け Tips • TensorFlow のビルド etc... https://github.com/aws/aws-graviton-gettting-started
  • 13. © 2021, Amazon Web Services, Inc. or its Affiliates. Graviton2 でコンテナを利⽤する場合 • Graviton2 上で Docker を利⽤することが可能 (イメージの作成・実⾏等) • ただし、Image 内の実⾏ファイルは arm64 と amd64 (x86_64) で互換性が無く、アーキテク チャごとに Image を作成することとなる • DockerHub では現在主要な Image について、 aarch64 向け Image が公開済み • Elastic も Elasticsearch の aarch64 向け 公式イメージを提供 https://hub.docker.com/u/aarch64/
  • 14. © 2021, Amazon Web Services, Inc. or its Affiliates. マルチアーキテクチャ対応 Docker Image 作成⽅法 • Docker の Manifest 機能を使⽤することで、単⼀のレポジトリで、 複数のアーキテクチャをホストする事が可能(Amazon ECR 対応済み) • AWS CodeBuild では環境タイプで Arm を選択し、Arm 向けイメージを作成 • Docker の Experimental 機能である buildx サブコマンドにより、 QEMU を使⽤し amd64 環境でも Arm 向けイメージの作成が可能 https://aws.amazon.com/jp/blogs/containers/introducing-multi-architecture-container-images-for-amazon-ecr/
  • 15. © 2021, Amazon Web Services, Inc. or its Affiliates. アプリケーションの Graviton2 移⾏対応 • アプリケーションが yum/apt などのパッケージマネージャから取得できる場合 • まずはパッケージマネージャからインストールを⾏い、評価を実施 • 要件を満たすパフォーマンスが得られない場合はソースコードからのコンパイルを検討 • C/C++ でアプリケーションが記述されている場合 • Arm 向けにコンパイルしなおす必要がある • aws-graviton-getting-started 記載の推奨コンパイルオプションを使⽤ • Python や Ruby などのスクリプト⾔語や Java, .NET Core でアプリケーションが 記述されている場合 • 既に Arm 対応が含まれている⾔語バージョンが利⽤されていれば、 そのまま Arm 環境で実⾏する事が可能だが、パフォーマンステストは⾏う必要がある • 実⾏環境のアップデートにより最適化・LSE 対応により性能が向上する場合も • ⾼速化のためにネイティブバイナリが使⽤されているケースに注意
  • 16. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 エコシステムの拡⼤
  • 17. © 2021, Amazon Web Services, Inc. or its Affiliates. オペレーティングシステムの対応状況 Red Hat Enterprise Linux 8.2+ SLES 15 SP2 18.04LTS, 20.04LTS Amazon Linux 2 Debian https://github.com/aws/aws-graviton-getting-started/blob/master/os.md
  • 18. © 2021, Amazon Web Services, Inc. or its Affiliates. ソフトウェア エコシステムにおける Arm 対応の拡⼤ Jenkins GitLab GitHub Actions Travis CI CircleCI CrowdStrike Rapid7 Qualys Tenable Snyk Cassandra KeyDB MariaDB Memcached MongoDB MySQL PostreSQL Redis ScyllaDB Chef Honeycomb Datadog Dynatrace Terraform New Relic Splunk Trend Micro
  • 19. © 2021, Amazon Web Services, Inc. or its Affiliates. コンテナ・サーバーレスの対応状況 Bottlerocket (Container OS) (github.com/bottlerocket-os) Firecracker (MicroVMs) (github.com/firecracker-microvm) Amazon Elastic Container Service (Amazon ECS) Amazon Elastic Container Service for Kubernetes (Amazon EKS) Docker Kubernetes Amazon Elastic Container Registry (Amazon ECR)
  • 20. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS サービスの Graviton2 対応状況 Amazon ElastiCache (Memcached, Redis) Amazon RDS (MySQL, MariaDB, PostgreSQL) Amazon EMR (Hadoop, Spark) Amazon Aurora Amazon ECS Amazon EKS Amazon OpenSearch Service AWS Lambda Amazon GameLift FleetIQ Amazon ECS + AWS Fargate
  • 21. © 2021, Amazon Web Services, Inc. or its Affiliates. 開発ツール関連の対応状況 AWS Marketplace AWS Systems Manager Amazon CloudWatch Amazon Inspector AWS Batch AWS CodeBuild AWS CodeCommit AWS CodePipeline AWS CodeDeploy Amazon Corretto OpenJDK AWS Fluent Bit AWS Command Line Interface AWS EC2 Image Builder AWS Auto Scaling (Mixed-arch) AWS X-Ray
  • 22. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 アップデート紹介
  • 23. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Lambda の Graviton2 対応 AWS Lambda で Arm/Graviton2 プロセッサ上で関数を実⾏可能に • x86 と⽐較して20%低いコスト、最⼤19%優れたパフォーマンスを実現 • Graviton2 プロセッサに組み込まれたパフォーマンスとセキュリティの恩恵を受けられる • マルチスレッドとマルチプロセッシングを使⽤するワークロード • 多数の I/O 操作を実⾏するワークロード • x86 アーキテクチャ固有のバイナリが含まれない場合はそのまま Arm アーキテクチャに変更 注意点 • 使⽤する関数パッケージに x86 固有のバイナリが含まれる場合は Arm 向けに再ビルドが必要 • コンテナイメージとしてパッケージ化された関数はアーキテクチャに合わせて再ビルドが必要 https://aws.amazon.com/jp/blogs/news/aws-lambda-functions-powered-by-aws-graviton2-processor-run-your-functions-on-arm-and-get-up-to-34-better-price-performance/
  • 24. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Fargate の AWS Graviton2 対応 Amazon ECS + AWS Fargate の Graviton2 対応を発表 • AWS Fargate はコンテナ⽤のサーバーレスコンピューティングエンジン • Amazon ECS を介して AWS Fargate でコンテナ化されたアプリケーションを実⾏する場合は 実⾏環境として Graviton2 搭載のコンピューティング環境を選択可能
  • 25. © 2021, Amazon Web Services, Inc. or its Affiliates. Amazon GameLift FleetIQ における Graviton2 のサポート Amazon GameLift FleetIQ のゲームサーバーグループ設定で AWS Graviton2 プロセッサ搭載インスタンスを可能に • c6g, m6g, r6g インスタンスファミリーが対象 https://aws.amazon.com/jp/blogs/news/now-available-new-asia-pacific-osaka-region-and-graviton2-support-for-amazon-gamelift/
  • 26. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 EC2 インスタンスで動作する Unreal Engine 4 専⽤サーバーを作成する AWS ブログで Unreal Engine 4 で構築された専⽤ゲームサーバーを Arm 向けにコンパイルし、Graviton2 インスタンスで実⾏する⼿順をご紹介 AWS Blog : 「AWS Graviton EC2 インスタンスで動作する Unreal Engine 4 専⽤サーバーを作成する」 https://aws.amazon.com/jp/blogs/news/compiling-unreal-engine-4-dedicated-servers-for-aws-graviton-ec2-instances/ 必要なもの︓ • 専⽤ GPU を搭載した Windows 10 ワークステーション • Visual Studio
  • 27. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 のはじめかた
  • 28. © 2021, Amazon Web Services, Inc. or its Affiliates. Step.1 依存関係の調査 https://docs.aws.amazon.com/whitepapers/latest/aws-graviton2-for-isv/planning-your-transition.html
  • 29. © 2021, Amazon Web Services, Inc. or its Affiliates. Step.2 対応状況・バージョンの確認 https://github.com/aws/aws-graviton-getting-started/blob/main/os.md https://github.com/aws/aws-graviton-getting-started#recent- software-updates-relevant-to-graviton
  • 30. © 2021, Amazon Web Services, Inc. or its Affiliates. Step.3 テスト︕ • Arm64 AMI から Graviton2 インスタンスを起動 • Graviton2 インスタンスに必要なパッケージを インストールし Custom AMI を作成 • CloudFormation や Ansible で⾃動化していると簡単 • アプリケーションの動作テスト • CI/CD や⾃動テスト、E2E テストの仕組みが 既にあると簡単 • アプリケーションの性能テスト • Jmeter クラスタなど負荷テスト環境が既にあると簡単
  • 31. © 2021, Amazon Web Services, Inc. or its Affiliates. Step.4 本番環境への投⼊ • 既存のインスタンスを Graviton2 インスタンスへ⼊れ替え • 負荷状況を⾒てインスタンス数の削減やダウンサイズを⾏う • 安定的な運⽤に必要なインスタンス数の⾒通しが⽴ってきたら RI/SPs の購⼊を検討
  • 32. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Graviton2 導⼊難易度の低い利⽤例 • Amazon RDS/Aurora などのマネージドサービス • マネージドサービスとして提供するインターフェースは変わらない • 導⼊の際に Arm 対応は必要なく、Graviton2 インスタンスに変更して アプリケーションと組み合わせたテストを⾏うのみ • 負荷試験⽤ JMeter on Graviton2 • Java なのでほぼ変更が不要、テスト対象システムに変更は不要
  • 33. © 2021, Amazon Web Services, Inc. or its Affiliates. まとめ
  • 34. © 2021, Amazon Web Services, Inc. or its Affiliates. まとめ • 従来の x86 ベースのインスタンスと⽐較してコストパフォーマンスに優れた AWS Graviton2 インスタンスをご紹介 • アプリケーション実⾏環境の Graviton2 移⾏では Arm 対応が必要となるが、 aws-graviton-getting-started や AWS Blog から情報収集が可能 • AWS Graviton2 を取り巻くエコシステムはまさに拡充している最中であり AWS サービスも Graviton2 対応が進んでいる • マネージドサービス(Aurora/RDS, ElastiCache)では Arm 対応を⾏わず、 インスタンスタイプ変更対応と性能検証を⾏うことで移⾏可能
  • 35. © 2021, Amazon Web Services, Inc. or its Affiliates. Thank you!