フォーム読み込み中
ご覧いただきありがとうございます。ソフトバンクの小柳です。
お客さまから古いOSのマイグレーションや、言語やミドルウェアの脆弱性の対応で新しい環境へ移行する手順などについてお問い合わせをいただくことがありますが、お客様個別のケースは公式ドキュメントでは中々まとまっていないこともあり、欲しい情報がありませんでした。
そこで、今回は、Alibaba Cloudにおいて最新のOSと最新の言語を組み合わせて利用したい場合の手順を、例として紹介します。
今回、以下の環境を利用するケースについて説明します。
Alibaba Cloud Linux 3のECSインスタンスを作成、購入する手順については公式ドキュメントを参照してください。
もちろん、Alibaba Cloud Linux以外のOSも利用できますが、それぞれの特徴、利点、サポート有無に違いがありますので、それらについては公式ドキュメントツリーを参照してください。
Alibaba Cloud Linux 3のECSインスタンスを作成、購入後、対象のインスタンスにログインして、パッケージ管理の状態を確認すると、デフォルトのレポジトリはAlibaba Cloudから提供されていますが、デフォルト(Alibaba Cloud)のレポジトリから提供されるRubyのバージョンは古く、最新版のRubyをインストールして利用することはできないことがわかります。
<実際にダウンロードしたrpmファイルを確認した結果>
馴染みがないOSで、最新の言語やミドルウェアがデフォルトのレポジトリからは提供されていないことに慌ててしまいがちですが、ここで鍵になるのが、Alibaba Cloud LinuxはCent OSやRedhat Enterprise Linuxと互換性があるという公式ドキュメントの情報です。
Cent OSやRedhat Enterprise Linuxと互換性があるなら、rbenvとruby-buildを利用することで、最新版のRubyをインストールや管理することができます。
今回はrbenvを使って最新版のRubyをインストールしていきます。
手順は以下の通りです。
dnf update
dnf install git gcc gcc-c++ openssl-devel readline-devel zlib-devel libffi-devel libyaml-devel
2-1. rbenvのインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
2-2. ruby-buildのインストール
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenvとruby-buildがインストールできたら、利用可能なRubyのバージョンを確認して、希望するバージョンをインストールします。
3-1. 利用可能なRubyのバージョンをリスト表示
インストール可能なバージョンが複数表示されます。執筆時点での最新版は3.4.2です。
rbenv install -l
3-2. 希望するバージョンのインストール
下記コマンドの3.4.2は、インストールしたいRubyのバージョンに置き換えてください。
手順1で執筆時点ではインストールに必要なパッケージを列挙してインストールしていますが、Rubyのインストールに失敗する場合は、ログを確認して必要なパッケージを追加でインストールします。
rbenv install 3.4.2
rbenv global 3.4.2
最後に、インストールされたRubyのバージョンを確認して、正しくインストールされているかを確認します。
ruby -v
PythonもRubyと同じように、Alibaba Cloud Linux 3のECSインスタンスを作成、購入後、対象のインスタンスにログインしてパッケージ管理の状態を確認すると、デフォルトのレポジトリはAlibaba Cloudから提供されていますが、こちらもデフォルト(Alibaba Cloud)のレポジトリから提供されるPythonのバージョンは古く、最新版のPythonをインストールして利用することはできないことがわかります。
<実際にダウンロードしたrpmファイルを確認した結果画像>
しかし、Rubyと同じようにpyenvを利用することで、最新版のPythonをインストールしたり、管理することができます。
手順は以下の通りです。
dnf update
dnf install git gcc bzip2-devel openssl-devel readline-devel sqlite-devel zlib-devel libffi-devel xz-devel
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
export PYENV_ROOT="$HOME/.pyenv" >> ~/.bashrc
export PATH="$PYENV_ROOT/bin:$PATH" >> ~/.bashrc
eval "$(pyenv init -)" >> ~/.bashrc
source ~/.bashrc
pyenvがインストールできたら、利用可能なPythonのバージョンを確認して、希望するバージョンをインストールします。
3-1. 利用可能なPythonのバージョンをリスト表示
インストール可能なバージョンが複数表示されます。執筆時点での安定版は3.13.2です。
pyenv install -l
3-2. 希望するバージョンのインストール
下記コマンドの3.13.2は、インストールしたいPythonのバージョンに置き換えてください。
Rubyと同じようにPythonもインストールに失敗する場合は、ログを確認して必要なパッケージを追加でインストールします。
pyenv install 3.13.2
pyenv global 3.13.2
最後に、インストールされたPythonのバージョンを確認して、正しくインストールされているかを確認します。
python –version
Alibaba Cloud Linuxは馴染みがない方もいらっしゃると思いますが、CentOSやRedhat Enterprise Linuxとの互換性があります。このことを生かして、最新のOSや言語環境を整えることができ、お客様のシステムをクラウド上で安定稼働させることができます。
サポート面でもAlibaba Cloudが公式にサポートしており安心してご利用いただけますので、OS、ソフトウェア、ハードウェアの保守期限切れが近い、もしくは切れてしまったお客様がAlibaba Cloudへ移行する際の移行先のOSの1つとしてご検討いただければと思います。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
条件に該当するページがございません