scalr hands on

56
Scalr Hands-on Scalrユーザ会 クリエーションラン 株式会社 株式会社 IDC Frontier 山添 哲司 マケル 梶川 治彦、成田 真樹

Upload: haruhiko-kajikawa

Post on 24-May-2015

2.107 views

Category:

Education


1 download

DESCRIPTION

2012/11/30 「第1回 Saclr勉強会」で利用した資料のブラッシュアップ版です。

TRANSCRIPT

Page 1: Scalr hands on

Scalr Hands-on Scalrユーザ会

クリエーションラン 株式会社 株式会社 IDC Frontier

山添 哲司 マケル 梶川 治彦、成田 真樹

Page 2: Scalr hands on

本日の流れ

What is Scalr?

Scalr ゕカウントの取得

ScalrへCloudの登録

Scalrの操作方法

Farm(Wordpress Farm)の作成

Roleの追加/設定

DNS Zoneの追加/設定

Apache Virtual Hostの追加/設定

Deployment(コンテンツ)の追加/設定

Wordpressの設定

Wordpress のデモサトを作成します。

Page 3: Scalr hands on

What is Scalr? Scalrは、オープンソースのクラウド管理ソフトウェアです。

Copyright (C) Cloud Utilization Promotion Agency. All Rights Reserved. 3

物理ハードウェゕ (サーバ、ストレージ、ネットワーク)

パブリッククラウド

サーバテンプレート スクリプト作成

デプロメント Server起動

監視、ゕラート オートスケーリング

Cloud API

システムデザン 運用 プロビジョニング

クラウドマネジメント

仮想化ハパーバザー層

仮想化 API

プラベートクラウド

Page 4: Scalr hands on

Supported Clouds

Public Cloud

Public Cloud

Public Cloud

Private Cloud

Private Cloud (Private Beta)

Private Cloud

Private Cloud

Public Cloud (サポート予定)

Public Cloud (サポート予定)

Page 5: Scalr hands on

Scalr ゕカウントの取得

Page 6: Scalr hands on

Scalr 登録の流れ

1.Scalr 社のホームページに行く (http://scalr.jp/)

2. Get Started for Free をクリックしてゕカウン

トを登録

3.Account 詳細を入力 (password情報がメールに飛びます)

2.メールゕカウントからパスワードを採取する

3.Scalrにログンする (http://my.scalr.net/)

Page 7: Scalr hands on

Scalr 登録 – お試しゕカウント作成

Page 8: Scalr hands on

Scalr 登録 – ログンパスワード確認

ログイン パスワード

Page 9: Scalr hands on

Scalr 登録 – ログン

メールゕドレス

メールゕドレスから採取したパスワード

http://my.scalr.net/ ID : 登録したメールゕドレス PW : メールで届いたパスワード

Page 10: Scalr hands on

ScalrへCloudの登録

Page 11: Scalr hands on

Cloud 登録の流れ

1.使用するクラウドの選定 (IDCF Cloud)

2.クラウドを構成する(クレデンシャルの入力)

3.IDCFクラウド (noahcloud.jp) からAPI KEY と 秘密 KEY を取得

4.タムゾーンの設定

Page 12: Scalr hands on

Cloud 登録 – EC2

本日はIDCF Cloudのゕカウントを準備しているため、 Amazon EC2はキャンセルでお願いします。

Page 13: Scalr hands on

Cloud 登録 – IDCF Cloud

この画面にならずに、Dashboardになってしまった人は、右上、

右から三番目(default) → Manage → Actions → Configure で同じ画面になります。

Page 14: Scalr hands on

Cloud 登録 – I want to use IDCF

Page 15: Scalr hands on

Cloud 登録 – IDCF APIkey,Secret Key

API Key, Secret keyはIDCF Cloudから取得します。 次で説明します。

Page 16: Scalr hands on

Cloud 登録 – IDCF Cloud ログン

https://noahcloud.jp/ お渡ししたIDCF Cloudのユーザー名とパスワードでログンしてください。

Page 17: Scalr hands on

Cloud 登録 – マプロフゔル

Page 18: Scalr hands on

Cloud 登録 - IDCF APIkey,Secret Key

それぞれをScalr側へ登録してください。

Page 19: Scalr hands on

Cloud 登録

登録したCloudのゕコンに色が付きます。 最後に[Save]を忘れずに。

Page 20: Scalr hands on

Scalrの操作方法

Page 21: Scalr hands on

Scalr各機能の呼び出し方法

各Cloud特有のメニューが追加されます。 IDCFを登録する際は、IDCFとしての登録に加えてCloudstackとしての登録をしておくとCloudstackメニューが利用できます。(API,Secret keyは同一のものでOKです。API URLはIDCF CloudのFAQを参照してください。)

これら機能を呼び出してScalrを操作します。

Scalrの各機能をお気に入りのメニューを登録できます。

Scalrの各機能を呼び出します。

Team/Userの設定、及びBilling情報の参照

Wiki/Supportへのリンク

User固有設定の参照/変更 Cloud登録環境の切り替え

Page 22: Scalr hands on

各一覧画面での操作説明

お気に入りへ登録 画面上部へクックリンクを登録できます。

新規追加 リフレッシュ カラムの表示/非表示 画面の自動更新を選択できます。

選択行に対する様々なゕクションを実行できます。

色々な一覧画面がありますが、基本的には同一の操作方法が提供されます。

Page 23: Scalr hands on

Farm(Wordpressサト)作成 Roleの追加/設定

Wordpress のデモサト用のFarmを作成します。

Page 24: Scalr hands on

IDCF Cloud Instance (A企業サト)

FarmとRole ■ Farmとは RoleとRoleの設定情報をグルーピングした論理的な単位です。どのような単位で分けても構いませんが、分かり易い例としては、サト(A企業のサト、Bソーシャルゲームのサトなど)ごとや機能ごと(MySQL Farm, Front WEB Farmなど)に分けると良いとでしょう。

■ Roleとは RoleとはApacheやMySQLなどの機能(役割)のことで、1つ1つが各Cloud上でテンプレート(メージ)として存在します。 Farmを作成し、必要なRoleを並べて各Roleの設定をすることで、サイト(サービス)を作り上げていくことがScalrでの作業の大部分となります。

Farm A (A企業サト)

LB Role WebApp Role DB Role

Farm B (Bソーシャルゲームサト)

LB Role WebApp Role DB Role

LB Nginx - 001 LB Nginx - 002

App Apache - 001 App Apache - 002 App Apache - 003

DB MySQL - 001 DB MySQL - 002

IDCF Cloud Instance (Bソーシャルゲームサト)

LB Nginx - 001 LB Nginx - 002

App Apache - 001 App Apache - 002 App Apache - 003

DB MySQL - 001 DB MySQL - 002

FarmにRoleを

詰め込んで設定する。

Roleの設定に従ってCloud側でインスタンスが作成/設

定される

Page 25: Scalr hands on

Wordpress Farmの作成

ScalrメニューのFamrsから[+]で新規追加を行います。

Page 26: Scalr hands on

Farmの名前設定

Farmへ名前を付けます。何でも構いません。

Page 27: Scalr hands on

Roleの追加

3つのRoleを追加します。 Load balancers : lb-nginx64-centos6 Application Server : app-apache64-centos6 Database servers : mysql64-centos6 これらを使って、3Tier構成のWordpressサトを作っていきます。

Page 28: Scalr hands on

各Roleを設定

追加したRoleを選択することで、各Roleの設定を行うことができます。 最低限、Cloudstack settings、MySQL settingsの設定が必要です。

クリック

選択したRoleの設定ができる。

Page 29: Scalr hands on

各Roleを設定 – Cloudstack setteings

Cloudstack settingsでCloud側の設定を行います。 Service offering : VMタプの設定 Network : 複数選択できる場合はInternet側を選択 Shared IP : 必ずIPを選択してください。(Use system defaultsは選択しないでください。) ※ 追加した3Roleすべてで同一の設定を行ってください。(IPも同一のIPでOK。)

Page 30: Scalr hands on

各Roleを設定 – MySQL settings

すべてのチェックボックスを外してください。 •Backup settingsはAmazon S3へのバックゕップ作成なので、IDCF Cloudでは動きません。 • Snapshot関連は、時間の関係から今回は外しておきます。 • EBS sizeは時間の関係から5GBにしてください。(IDCF Cloud上ではData Volumeが指定サズで作成されます。)

Page 31: Scalr hands on

Farmを起動!

Farm一覧から、作成したFarmのActions→LaunchでFarmを起動してください!

Page 32: Scalr hands on

DNS Zoneの追加/設定

Page 33: Scalr hands on

DNS Zoneを追加

ScalrメニューからDNS zones → [+]でDNS Zoneを新規登録します。

Page 34: Scalr hands on

DNS Zoneの設定

Farm : 作成したFarm Role : lb-nginx64-centos6 登録するドメンのAレコードの設定になります。 この例では「76e0bddf-77d0-4bca-a208-54701dd05fa5.scalr.ws」を名前解決すると、lb-nginx64-centos6 roleで指定したPublicIPが返されます。

Use domain automaticaly generated and provided byScalr. を選択した場合、[autogenerated name].scalr.ws と言ったドメインを利用できます。

Use own domainで自前のドメインを利用することもできます。

%hostname%. 最後に「.」が必要です。

Page 35: Scalr hands on

Apache Virtual Hostの 追加/設定

Page 36: Scalr hands on

Apache Virtual Hosts の追加

ScalrメニューからApache Virtual Hosts → [+]でVirtual Hostsを新規登録します。

Page 37: Scalr hands on

Apache Virtual Hosts の設定 先ほど作成したDNS

Zoneを指定します。

作成したFarmとApacheのRoleを指定します。

CenOS6に合わせてこちらの設定へ変更してください。

$xxxの変数は上記が反映されます。

拡大

Page 38: Scalr hands on

Apache Virtual Hosts の設定

Document root : /var/www/wordpress

Logs directory : /var/log/httpd

Server Admin’s email : local_part@domain

Server alias (space separated) : 作成したDNZ Zone

Server non-SSL template:

<VirtualHost *:80> ServerAlias www.{$host} {$server_alias} ServerAdmin {$server_admin} DocumentRoot {$document_root} ServerName {$host} CustomLog {$logs_dir}/http-{$host}-access.log combined </VirtualHost>

Page 39: Scalr hands on

Deployment(コンテンツ)の追加/設定

コンテンツであるWordpressをデプロします。

Page 40: Scalr hands on

Deployment - Sources の追加

ScalrメニューからDeployments→Sourcesを選択後、新規追加でSourceを新規登録します。

Page 41: Scalr hands on

Deployments - Sourcesの追加

ScalrメニューからDeployments→Sourcesを選択後、新規追加でSourceを新規登録します。

URL : http://ja.wordpress.org/wordpress-3.4.2-ja.tar.gz

新規追加

Page 42: Scalr hands on

Deployment - Applications の追加

ScalrメニューからDeployments→Applicationsを選択後、新規追加でApplicationを新規登録します。

Page 43: Scalr hands on

Deployments - Applicationsの追加

ScalrメニューからDeployments→Applicationsを選択後、新規追加でApplicationを新規登録します。

拡大

新規追加

Page 44: Scalr hands on

Deployments - Applicationsの追加

Pre-deploy:

#!/bin/sh rm -rf %remote_path%/wordpress yum -y install php-mysql service httpd restart

Pre-deploy:

#!/bin/sh chown -R apache:apache %remote_path%/wordpress

Page 45: Scalr hands on

Deployments - Deploy

作成したゕプリケーションのActions->Deployを実行し、ゕプリケーションをデプロを実行します。

デプロ先として、作成したFarmとApache Roleを選択します。 Remote pathは「/var/www」としてください。wordpressは展開するとwordpressデゖレクトリを作成します。よって、最終的には「/var/www/wordpress」となります。 「/var/www/wordpress」は、VirtualHostを作成した際のDocumentRootです。

これで、WebサーバへWordpressがデプロされました!

Page 46: Scalr hands on

Wordpressの設定

Page 47: Scalr hands on

Wordpress – DBの設定

ScalrからPHPMyAdminを起動することができます。 Farm一覧 → 作成したFarmのActions → MySQL statusを実行します。 [Setup PHPMyAdmin access]を一度実行します。「MySQL access details for PMA requested.

Please refresh this page in a couple minutes...」となるので、少し待ってから、リロードすると「Launch PHPMyAdmin」が実行できるようになります。

ただし、PHPMyAdminを実行するためには、IDCF Cloud側での設定も必要で、MySQLのRoleの設定時に指定したPublicIPに対して、作成したMySQLのンスタンスへのTCP-3306へのポートフォワードとフゔゕーウォールの設定が必要です。(次ページで説明します。)

DNS endpointsは、ゕプリケーションから参照するMySQLのゕクセス先ホスト名となります。 今回のWordpressでは[Writes endpoint (Private)]を使います。

「Launch PHPMyAdmin」を押せるようになった段階でお待ちください。(押さないでください!!)

Page 48: Scalr hands on

Wordpress – DBの設定 – IDCF Cloudの設定 – ポートフォワーデゖングルール

MySQLのRoleの設定時に指定したPublicIPのTCP-3306へゕクセスを、作成したMySQLンスタンスのTCP-3306へのポートフォワードする設定を行います。

MySQL Roleで指定したPublicIPを選択

ポートフォワーディング選択

パブリックポート : 3306 - 3306

プライベートポート : 3306 – 3306

プロトコル : TCP

仮想マシン : MyQL Roleで作成したVM

Page 49: Scalr hands on

Wordpress – DBの設定 – IDCF Cloudの設定 – フゔゕーウォールルール

MySQL Roleの設定時に指定したPublicIPに対して、フゔゕーウォールの設定を行います。

MySQL Roleで指定したPublicIPを選択

ファイアウォールを選択

ソースCIDR : 184.73.181.141/32 プロトコル : TCP 開始ポート : 3306 終了ポート : 3306

184.73.181.141はphpmyadmin.scalr.netとなり、

Scalrから起動するPHPMyAdminのホストです。

この設定後[Launch PHPMyAdmin]を実行できます。

Page 50: Scalr hands on

Wordpress – DBの設定 – ユーザとDatabaseの作成

PHPMyAdminからWordpress用のMySQLユーザ作成とDatabaseを作成します。 ユーザ名とパスワードはWordpressセットゕップ時に利用しますので、控えておいてください。

Wordpressセットアップ時に使用

Page 51: Scalr hands on

Wordpress – Wordpressの設定 - IDCF Cloudの設定 – ロードバランサールール

ロードバランサールールを追加し、サービスポートの設定を行います。 (ポートフォワーデゖング ルールでもかまいんません。)

PublicIPのTCP-80に来たパケットをロードバランシングする設定を行います。

LB Roleで指定したPublicIPを選択

ロードバランサーを選択

Page 52: Scalr hands on

Wordpress – Wordpressの設定 - IDCF Cloudの設定 – ロードバランサールール

追加したロードバランサールールに対し、実際のバランシング先の設定を行います。 複数のLBンスタンスが存在する場合は、複数登録することで、バランシングできます。

作成したFarmのLB Role

で作成されたVMを選択

Page 53: Scalr hands on

Wordpress – DBの設定 – IDCF Cloudの設定 – フゔゕーウォールルール

LBのRoleの設定時に指定したPublicIPに対して、TCP-80(サービスポート)をオープンします。

LB Roleで指定したPublicIPを選択

ファイアウォールを選択

ソースCIDR : 0.0.0.0/0 プロトコル : TCP 開始ポート : 80 終了ポート : 80

この設定後Wordpressへゕクセスすることができます。

Page 54: Scalr hands on

Wordpress – Wordpressのセットゕップ

PHPMyAdminから作成した、データベース名、

ユーザ名とパスワードを指定します。

Submitした後、WordPressの設定を続けてください。

Scalrの「Farm → Actions → MySQL status」のDNS endpointsで確認した、 Writes endpoint(Private)を使います。

作成したDNS Zoneへゕクセスしてください。 http://7a6d9bc0-ba2d-41d4-97ea-9fbf8b15fbdc.scalr.ws/

Page 55: Scalr hands on

Wordpress – セットゕップ完了

Page 56: Scalr hands on

Scalr ユーザ会

Google グループ Scalrユーザ会 https://groups.google.com/forum/?hl=ja&fromgroups#!forum/scalr_user_group

■ 日本Scalrユーザ会の目的

• 国内における普及促進 • Scalrに関する情報収集と公開、技術促進 • ユーザー間および外部との技術的・交流促進

■ 日本ユーザ会の活動(予定)

• Scalr関連技術に関する情報収集・配布 • Scalr講習会、ワークショップ等の開催