普段はAWSを使ってるのですが、その対抗サービスであるAlibabaクラウドについてちょっと触ってみます。
今回はAlibabaクラウドを全く触ったことがない状態から、を想定しています。
そもそもAlibabaクラウドって?
Alibabaクラウドは、その名の通りAlibabaが提供するクラウドサービスで、Amazonが提供するAWS、Googleが提供するGCPにあたるサービスです。
日本サイトでサービスが展開されたのは2017年の頭ごろからで、ソフトバンクが代理店、だったはず。
中国では圧倒的なシェアを誇り、アリペイのバックエンドもAlibabaクラウドで作られています。
詳しくはこちらによくまとまってました。
https://beyondjapan.com/blog/2018/05/alibaba-cloud
シンプルにLB、インスタンス、DBでオートスケーリング
AWSで言うところのELB、EC2、RDS、Auroscalingを使ったごくごく基本的な構成を作ってみます。
Elastic Compute Serviceでインスタンス作成
AWSで言うところのEC2にあたります。
基本構成を選択する画面が出てきます。インスタンスタイプやストレージなどはここの画面で。
AWSでいう、EC2を立てるときのオプションの画面ですね。イメージ(AWSでいうAMIに当たるものでしょうか)の選択もこの画面で行います。AWSとは違い、帯域幅が明確に定義されています。
ただ、今回は基本構成を構築することが目的なので、「スターターパッケージ」を使って簡易的に構築します。画面上部にある「スターターパッケージ」を選択すると、このような画面が出てきます。AWSで言うところのLightSailに近いイメージでしょうか。従来のVPSの選び方に近いかたちでサクッと構築できます。
インスタンスのコンソールへのログイン方法
画面上からできます。
これ以外にも、SSH鍵を使用したログインもできますが、今回は割愛。
- インスタンスにパスワードを設定 ここちょっと分かりづらかったのですが、スターターパッケージで作るとパスワードを設定するタイミングも鍵をもらうこともないです。 コンソール上で詳細→パスワードのリセット→再起動 を行ってから、そのパスワードを使いましょう
2. 別ウインドウ(タブ)が開いて、VPCパスワードが出てくるのでそれをコピーします(ここではスクショ割愛)
3. 画面上でそれを入力します。
4. ユーザにrootを指定して、コンソールで設定したパスワードを入力
うまくいくとログインできます。
今回はとりあえずApacheを入れてWEBサーバにします。
apt-get update
apt-get install apache2
Server Load Balancerの作成
AWSで言うところのELBですね。
バックエンドにインスタンスを追加
ちょっと面倒ですが、作っただけだとまだ使えないのでバックエンドにインスタンスを追加します。
- 作ったLBを選択
- バックエンドインスタンスを設定する バックエンドサーバ−の追加されていないサーバーから追加したいインスタンスの「追加」を押します。
- 対象サーバに対する重みを設定 リクエストの振り分けの重みを設定します。今回は1台しかないので100で。 複数台をLBにつけたときに、どのサーバーに多くリクエストを振り分けるかここで設定できるんですね。
リスナーを設定する
AWSのELBだと作成時にこの辺は一緒に設定するのですが、どうやらここで設定が必要なようです。
ポートなどを設定する
フロントエンドがLB自体のポートで、バックエンドがサーバーのどのポートに転送するか、となります。
帯域幅や転送ルールを細かく指定できますね。
ヘルスチェックに使うポートもここで設定します。
DBインスタンスを作成する
AsparaDB for RDSというサービスを使ってみます。
RDSはAWSのRDSと同じような扱いでしょうか。
1. AsparaDB for RDSのコンソールに移動する。
1. インスタンスを作成する
今回は簡単のためにデフォルトのままMySQLで作成します。
1. 購入する
問題なければそのまま購入します。
購入・支払い後しばらくするとインスタンスが立ち上がります。
少々時間がかかる印象です…。
AutoScalingを設定する
コンソールからAutoScalingの設定を行います。
1. AutoScalingを有効化する
どうやら利用開始する前に、AutoScaling自体を有効化する必要があるようです。
2. 権限設定を行う
再度コンソールに戻ると、今度は権限設定を行う必要があります。
ここまでやって、ようやくAutoScalingの設定を行うことができます。
3. スケーリンググループを追加する。
これまで作ったリソースを使ってスケーリンググループを追加します。
なんと、DBもスケーリンググループに追加することになります。
ここはAWSとの大きな違いですね。
4. スケーリング設定を作成
続いてスケーリング設定を作成します。
スケールアウトしたときに使えるキーペアもここで指定できます。
5. 作成
特に問題なければこのまま作成します。
作ってみた感想
AWSとの違いを意識しながら作ってみました。
感想としては、自分で設定しなければいけないところがまだ多く、サーバーとかネットワークとかよくわかりません、という方が「サクッと作ってサクッと利用」のハードルはちょっと高いですね。
作るまでのステップ数もちょっと多いなと。
そのへんが整備されてくると、AWSとの違いを優位に使える部分も増えてきそうです。