すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:x86 アプリケーションを YiTian ECS インスタンスに移行する

最終更新日:May 16, 2026

x86 アプリケーションを Yitian 710 ベースの Elastic Compute Service (ECS) インスタンス (g8y、c8y、r8y) に移行することで、コンピューティング、ストレージ、ネットワークのパフォーマンスが向上します。

背景情報

YiTian ECS インスタンスとは

YiTian ECS インスタンスは、Yitian 710 ARM アーキテクチャをベースとした ECS インスタンスです。チップレベルのファストパスアクセラレーションを使用して、コンピューティング、ストレージ、ネットワークのパフォーマンスを強化します。クラウドネイティブアプリケーション、動画のエンコードおよびデコード、ハイパフォーマンスコンピューティング (HPC)、CPU ベースの機械学習、ゲームサービスなどのシナリオに適しています。

説明

Yitian 710 ベースのインスタンスファミリーには、g8y、c8y、r8y が含まれます。インスタンスタイプとパフォーマンス指標については、次のドキュメントをご参照ください。

移行が必要な理由

YiTian ECS インスタンスは ARM アーキテクチャを使用しており、x86 とは異なります。x86 ソースコードを YiTian インスタンスにデプロイするには、再コンパイルとアーキテクチャ固有の最適化を適用する必要があります。

移行のステップ

アプリケーションを x86 から YiTian に移行するには、次の 2 つのステップが必要です:

  1. 移行前の準備

    オペレーティングシステム、基本ソフトウェア、ハードウェアリソースを計画します。コードに x86 固有のアセンブリ命令やハードウェア依存性がないかを確認します。サードパーティライブラリの ARM バージョンを検証し、互換性テストを実行します。

  2. ソフトウェアのコンパイルと移行

    プログラミング言語に適したコンパイラとソフトウェアバージョンをインストールし、再コンパイルを実行します。

移行シナリオ

ソフトウェアの移行には、通常 2 つのシナリオがあります:

  • ソースコードソフトウェア:自社で開発したソフトウェア、またはオープンソースプロジェクトをベースに拡張したソフトウェアです。言語は次の 2 つのカテゴリに分類されます。

    • コンパイル言語:C++ や Go などの言語は、アーキテクチャ固有のバイナリにコンパイルされるため、移行後に再コンパイルが必要です。詳細については、「Make/CMake ビルドファイル」および「C/C++ 言語の移行」をご参照ください。

    • インタプリタ言語:Java や Python などの言語は、アーキテクチャに依存しないバイトコードを生成するため、理論的にはクロスアーキテクチャで実行できます。ただし、ネイティブライブラリが関与する場合 (例: Java アプリケーションが JNI を介して C のダイナミックリンクライブラリを呼び出す場合) は、アプリケーションがアーキテクチャに依存するため、再コンパイルが必要です。詳細については、「Java 言語の移行」および「Python 言語の移行」をご参照ください。

  • オープンソースソフトウェア:オープンソースコミュニティから変更なしでダウンロードしたソフトウェア、または OS エコシステムに含まれるソフトウェアです。ほとんどのオープンソースソフトウェアは、すでに YiTian ARM プラットフォームをサポートしており、OS パッケージマネージャーから直接インストールできます。詳細については、「オープンソースソフトウェアの移行」をご参照ください。

移行手順

ECS インスタンス、オペレーティングシステム、基本ソフトウェアを含む必要な環境リソースを準備し、次の手順に従ってください。

ステップ 1: YiTian ECS インスタンスの作成

詳細については、「カスタムインスタンスの作成」をご参照ください。次のパラメータに注意してください。

パラメータ

説明

インスタンスタイプ

  • g8y (推奨)

  • c8y

  • r8y

イメージ

  • Alibaba Cloud Linux

    • Alibaba Cloud Linux 3.2104 LTS 64-bit for ARM (推奨)

    • Alibaba Cloud Linux 3.2104 LTS 64-bit for ARM MLPS 2.0 Level 3 compliant edition

  • Anolis OS

    • Anolis 8.8 64-bit for ARM (RHCK)

    • Anolis 8.8 64-bit for ARM (ANCK) MLPS 2.0 Level 3 compliant edition

    • Anolis 8.8 64-bit for ARM (ANCK)

    • Anolis 8.6 64-bit for ARM (RHCK)

    • Anolis 8.6 64-bit for ARM (ANCK)

    • Anolis 8.4 64-bit for ARM (RHCK)

    • Anolis 8.4 64-bit for ARM (ANCK)

    • Anolis 7.9 64-bit for ARM (RHCK)

    • Anolis 7.9 64-bit for ARM (ANCK)

  • Ubuntu

    • Ubuntu 22.04 64-bit for ARM

    • Ubuntu 20.04 64-bit for ARM

    • Ubuntu 18.04 64-bit for ARM

  • CentOS 7.9 64-bit for ARM

    説明

    CentOS 7 は EOL (サポート終了) に達しているため、推奨されません。

  • Debian

    • Debian 11.5 64-bit for ARM

    • Debian 11.2 64-bit for ARM

    • Debian 10.13 64-bit for ARM

      説明

      Debian 10.13 は EOL (サポート終了) に達しているため、推奨されません。

ステップ 2: ソフトウェアの移行

次の表に、コンパイラ、ランタイムライブラリ、アプリケーションの推奨バージョンを示します。必要に応じてインストールしてください。

カテゴリ

ソフトウェア

推奨バージョン

説明

コンパイラ

GCC

gcc 10.2.1

大幅なパフォーマンス向上のため、GCC 10 以降を使用してください。

LLVM

LLVM 13/clang 13

  • glibc 2.17 以降が必要です。

  • C++ ランタイムライブラリとして libstdc++ (GCC 6/9 以降) を使用します。

  • LLVM 13 および gcc-c++ RPM パッケージに依存します。

Glibc

glibc 2.32

なし

JDK

Dragonwell 11 または OpenJDK 11

優れたパフォーマンスとサポートのため、Dragonwell の使用を推奨します。

Go

Go 1.18+

Go SDK は ARM 向けに継続的に最適化されています。最新バージョンを使用してください。

  • Go 1.16 は ARM のアトミック操作のパフォーマンスとデータコピーを向上させます。

  • Go 1.18 はスタックではなくレジスタでパラメータを渡すため、ARM で 10% のパフォーマンス向上を実現します。

Python

3.8

Python 2.7 は 2020 年 1 月 1 日に EOL (サポート終了) に達しました。Python 3.6 は 2022 年 12 月 23 日に EOL (サポート終了) に達しました。Python 3.7 以降が必要です。

PHP

7.4+

コミュニティによりサポート

コンテナ

K8s

K8s 1.22、Containerd 1.5.0+

コミュニティによりサポート

Web アプリケーション

Nginx

OS に含まれるバージョンを使用してください。

OS ディストリビューターによる保守

httpd

OS に含まれるバージョンを使用してください。

OS ディストリビューターによる保守

NodeJS

OS に含まれるバージョンを使用してください。

OS ディストリビューターによる保守

データベース

MySQL

OS に含まれるバージョンを使用してください。

OS ディストリビューターによる保守

Redis

OS に含まれるバージョンを使用してください。

OS ディストリビューターによる保守

ビッグデータ

Hadoop

Hadoop 3.3.1

コミュニティによりサポート

Spark

Spark 3.2

コミュニティによりサポート

Hive

Hive 3.1

コミュニティによりサポート

Elasticsearch

ES 7.12

コミュニティによりサポート

その他

Gromacs

最新バージョン

コミュニティによりサポート

BWA

最新バージョン

コミュニティによりサポート

GATK

4.3.0.0

コミュニティによりサポート

ステップ 3: コンパイルとビルド

次のガイドに基づいて、ソフトウェアをコンパイルおよびビルドしてください。

関連ドキュメント

CPU アーキテクチャの確認

uname -m または arch を実行して、CPU アーキテクチャを確認できます。出力はアーキテクチャによって異なります。

  • ARM: aarch64

    image

  • x86: x86_64

    image

詳細な CPU 情報の確認

lscpu を実行して、詳細な CPU 情報を表示できます。出力はアーキテクチャによって異なります。

  • ARM:

    image

  • x86:

    image

OS 情報の確認

cat /proc/version を実行して、OS およびコンパイラのバージョンを確認できます。出力はアーキテクチャによって異なります。

  • x86:

    image

  • ARM:

    image