Help us understand the problem. What is going on with this article?

AlibabaクラウドでLBを使った基本的な構成を構築してみる

More than 1 year has passed since last update.

普段はAWSを使ってるのですが、その対抗サービスであるAlibabaクラウドについてちょっと触ってみます。
今回はAlibabaクラウドを全く触ったことがない状態から、を想定しています。

そもそもAlibabaクラウドって?

https://jp.alibabacloud.com/

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にあたります。

  1. コンソールログイン後、「Elastic Compute Service」をクリック
    スクリーンショット 2018-06-05 2.41.36.png

  2. 作成リージョンを選択
    今回はSingaporeを選択しました。(スクショはUS Westになっていますが…)
    スクリーンショット 2018-06-05 2.41.50.png

  3. 基本構成を選択する画面が出てきます。インスタンスタイプやストレージなどはここの画面で。
    AWSでいう、EC2を立てるときのオプションの画面ですね。イメージ(AWSでいうAMIに当たるものでしょうか)の選択もこの画面で行います。AWSとは違い、帯域幅が明確に定義されています。
    スクリーンショット 2018-06-05 2.42.59.png
    ただ、今回は基本構成を構築することが目的なので、「スターターパッケージ」を使って簡易的に構築します。

  4. 画面上部にある「スターターパッケージ」を選択すると、このような画面が出てきます。AWSで言うところのLightSailに近いイメージでしょうか。従来のVPSの選び方に近いかたちでサクッと構築できます。
    スクリーンショット 2018-06-05 2.43.15.png
    スクリーンショット 2018-06-05 2.43.35.png
    スクリーンショット 2018-06-05 2.43.40.png
    スクリーンショット 2018-06-05 2.43.54.png

  5. 購入ボタンを押すと確認画面が出るので問題なければ注文します。
    スクリーンショット 2018-06-05 2.44.08.png

  6. 後は待っていればインスタンスが立ち上がります。
    スクリーンショット 2018-06-05 2.44.51.png

インスタンスのコンソールへのログイン方法

画面上からできます。
これ以外にも、SSH鍵を使用したログインもできますが、今回は割愛。

  1. インスタンスにパスワードを設定 ここちょっと分かりづらかったのですが、スターターパッケージで作るとパスワードを設定するタイミングも鍵をもらうこともないです。 コンソール上で詳細→パスワードのリセット→再起動 を行ってから、そのパスワードを使いましょう スクリーンショット 2018-06-16 16.57.43.png

1. インスタンスの詳細からVNCを選択
スクリーンショット 2018-06-16 16.46.56.png

2. 別ウインドウ(タブ)が開いて、VPCパスワードが出てくるのでそれをコピーします(ここではスクショ割愛)
3. 画面上でそれを入力します。
スクリーンショット 2018-06-16 16.48.02.png

4. ユーザにrootを指定して、コンソールで設定したパスワードを入力
うまくいくとログインできます。
スクリーンショット 2018-06-16 16.55.58.png

今回はとりあえずApacheを入れてWEBサーバにします。

apt-get update
apt-get install apache2

Server Load Balancerの作成

AWSで言うところのELBですね。

  1. ロードバランサーを作成するために、コンソールのトップからServer Load Balancerを選択
    スクリーンショット 2018-06-05 2.45.27.png

  2. 今回はシンガポールに作成したのでSingaporeを選択しています。AWSと違って、ロードバランサーにもスペックを指定できます。
    スクリーンショット 2018-06-05 2.45.44.png
    スクリーンショット 2018-06-05 2.46.30.png

  3. 問題なければこのまま有効化
    スクリーンショット 2018-06-05 2.46.42.png

バックエンドにインスタンスを追加

ちょっと面倒ですが、作っただけだとまだ使えないのでバックエンドにインスタンスを追加します。

  1. 作ったLBを選択 スクリーンショット 2018-06-16 16.28.36.png
  2. バックエンドインスタンスを設定する バックエンドサーバ−の追加されていないサーバーから追加したいインスタンスの「追加」を押します。 スクリーンショット 2018-06-16 16.32.07.png
  3. 対象サーバに対する重みを設定 リクエストの振り分けの重みを設定します。今回は1台しかないので100で。 複数台をLBにつけたときに、どのサーバーに多くリクエストを振り分けるかここで設定できるんですね。 スクリーンショット 2018-06-16 16.35.05.png

リスナーを設定する

AWSのELBだと作成時にこの辺は一緒に設定するのですが、どうやらここで設定が必要なようです。

  1. 「インスタンスリスナー」を選択
    スクリーンショット 2018-06-16 16.38.00.png

  2. ポートなどを設定する
    フロントエンドがLB自体のポートで、バックエンドがサーバーのどのポートに転送するか、となります。
    帯域幅や転送ルールを細かく指定できますね。
    ヘルスチェックに使うポートもここで設定します。
    スクリーンショット 2018-06-16 16.40.15.png
    スクリーンショット 2018-06-16 16.41.42.png

  3. 有効化
    問題なければ有効化されます。
    スクリーンショット 2018-06-16 16.42.17.png

DBインスタンスを作成する

AsparaDB for RDSというサービスを使ってみます。
RDSはAWSのRDSと同じような扱いでしょうか。
1. AsparaDB for RDSのコンソールに移動する。
スクリーンショット 2018-06-16 17.10.58.png
1. インスタンスを作成する
今回は簡単のためにデフォルトのままMySQLで作成します。
スクリーンショット 2018-06-16 17.12.24.png
スクリーンショット 2018-06-16 17.12.34.png
1. 購入する
問題なければそのまま購入します。
スクリーンショット 2018-06-16 17.14.21.png

購入・支払い後しばらくするとインスタンスが立ち上がります。
少々時間がかかる印象です…。

AutoScalingを設定する

コンソールからAutoScalingの設定を行います。
1. AutoScalingを有効化する
どうやら利用開始する前に、AutoScaling自体を有効化する必要があるようです。
スクリーンショット 2018-06-16 17.06.06.png
スクリーンショット 2018-06-16 17.06.54.png
2. 権限設定を行う
再度コンソールに戻ると、今度は権限設定を行う必要があります。
スクリーンショット 2018-06-16 17.07.59.png
スクリーンショット 2018-06-16 17.08.55.png
ここまでやって、ようやくAutoScalingの設定を行うことができます。
3. スケーリンググループを追加する。
これまで作ったリソースを使ってスケーリンググループを追加します。
なんと、DBもスケーリンググループに追加することになります。
ここはAWSとの大きな違いですね。
スクリーンショット 2018-06-16 17.19.52.png
4. スケーリング設定を作成
続いてスケーリング設定を作成します。
スケールアウトしたときに使えるキーペアもここで指定できます。
スクリーンショット 2018-06-16 17.20.50.png
スクリーンショット 2018-06-16 17.22.30.png
スクリーンショット 2018-06-16 17.23.33.png
5. 作成
特に問題なければこのまま作成します。
スクリーンショット 2018-06-16 17.24.33.png

有効化できました。
スクリーンショット 2018-06-16 17.25.57.png

作ってみた感想

AWSとの違いを意識しながら作ってみました。
感想としては、自分で設定しなければいけないところがまだ多く、サーバーとかネットワークとかよくわかりません、という方が「サクッと作ってサクッと利用」のハードルはちょっと高いですね。
作るまでのステップ数もちょっと多いなと。
そのへんが整備されてくると、AWSとの違いを優位に使える部分も増えてきそうです。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away