[cloud onair]...
TRANSCRIPT
Cloud OnAir
Step 1. マネージドサービスへの移行
5
管理者
Content ServerCompute Engine
DatabaseCloud SQL
1. データベースのバックアップを行う
2. データベースの切り替えを行う
3. ブログにアクセスする
Cloud OnAir
Step 2. オートスケーリング導入
6
Webサイト(ブログ)
管理者
DatabaseCloud SQL
Content ServerCompute Engine
Autoscaling
Proxy for DatabaseCompute Engine
Cloud OnAir
Step 2. オートスケーリング導入
7
管理者
DatabaseCloud SQL
Content ServerCompute Engine
Autoscaling
Proxy for DatabaseCompute Engine
1. カスタムイメージを作成
2. インスタンステンプレートを作成
3. インスタンスグループを作成
4. 負荷分散を作成
5. 負荷を掛けてみる
Cloud OnAir
Step 3. DB のスケール対策
8
Web サイト(ブログ)
管理者
Content ServerCompute Engine
Autoscaling
Database(Master)Cloud SQL
Content Server(Master)Compute Engine
Proxy for DatabaseCompute Engine
Autoscaling
Database(Read)Cloud SQL
Database(Read)Cloud SQL
Cloud OnAir
Appendix. Wordpress サーバーの作成手順 その2
13
アプリケーションの準備
$ sudo yum install php php-mysql mariadb-server mariadb httpd -y$ sudo systemctl start httpd.service$ sudo systemctl enable httpd.service$ sudo systemctl start mariadb$ sudo systemctl enable mariadb.service$ curl -O https://wordpress.org/wordpress-4.9.2.tar.gz$ tar zxvf wordpress-4.9.2.tar.gz$ sudo cp -R wordpress/* /var/www/html/$ sudo chown -R apache:apache /var/www/html
Cloud OnAir
Appendix. Wordpress サーバーの作成手順 その3
14
セキュリティ設定変更
$ sudo setenforce 0/etc/selinux/config をエディタで開き、該当箇所を修正する
SELINUX=disabled
データベース作成
$ mysql -u root> CREATE DATABASE wordpress;> GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@'%' IDENTIFIED BY 'Hy4X4vsCvcFXgIqa';> GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'Hy4X4vsCvcFXgIqa';> FLUSH PRIVILEGES;> exit;
Cloud OnAir
Appendix. Step 1. CloudSQL の初期設定
23
ネットワークの追加を押した後、wordpressサーバのIPを登録する。(例: xxx.xxx.xxx.xxx/32)
Cloud OnAir
Appendix. Step 1. CloudSQL の初期設定
24
1. Wordpress サーバに SSH 接続する
2. Cloud SQL のインスタンスに接続する
3. Cloud SQL で作成したインスタンス上にデータベースを作成 (Appendix. Wordpress サーバーの作成手順 その2と同じ
コマンド)
$ mysql -u root -p<パスワード> -h <IPアドレス>
Cloud OnAir
Appendix. Step 1. データベースバックアップ・マイグレーション
25
1. データベースのバックアップコマンド
2. データベースのマイグレーションコマンド
$ mysqldump -u wordpressuser -pHy4X4vsCvcFXgIqa -hlocalhost wordpress > wordpress-bkup.dump
$ mysql -uwordpressuser -pHy4X4vsCvcFXgIqa -h 35.187.220.179 wordpress < wordpress-bkup.dump
Cloud OnAir
Appendix. Step 2.の手順
26
データベースのスケール対応
1. Step1.で作成したインスタンスからリードレプリカを作成
2. リードレプリカに対して、FQDN を設定
3. Wordpress の接続先のデータベースをリードレプリカの FQDN に設定
オートスケーリング対応
4. GCE インスタンスからインスタンステンプレートを作成
5. インスタンステンプレートからインスタンスグループを作成
6. ロードバランサーを作成
Cloud OnAir
Appendix. Mysql-proxy の作成手順 その1
27
1. Wordpressサーバーの作成手順 その1 通りインスタンスを作成する
2. 作ったサーバに ssh 接続する
3. 以下コマンドで SELINUX を無効化する
4. /etc/selinux/config ファイルをエディタで開き、該当箇所を修正する
SELINUX=disabled
SELINUX=xxx となっている設定を上記設定に変更する
$ sudo setenforce 0 # temp
Cloud OnAir
Appendix. Mysql-proxy の作成手順 その2
28
1. 以下コマンドで haproxy (プロキシ用ソフトウェア) をインストールする
2. /etc/haproxy/haproxy.cfg ファイルをエディタで開き、内容を全て消し、以下内
容を記述する。
$ sudo yum install haproxy
global log 127.0.0.1 local0 notice user haproxy group haproxy
defaults log global retries 2 timeout connect 3000 timeout server 5000 timeout client 5000
listen mysql-cluster bind 0.0.0.0:3306 mode tcp balance roundrobin server mysql-1 <CloudSQLのIP>:3306 check
<CloudSQLのIP> は実際の値に置き換えて記述する
Cloud OnAir
Appendix. Mysql-proxyの作成手順 その3
29
1. 以下コマンドで haproxy の起動・有効化(インスタンス再起動時に
自動的に起動する)を行う
$ sudo systemctl start haproxy$ sudo systemctl enable haproxy
Cloud OnAir
Appendix. apache-benchの作成手順 その1
30
1. Wordpress サーバーの作成手順 その1 通りインスタンスを作成する
2. 作ったサーバに ssh 接続する
3. 以下コマンドで SELINUX を無効化する
4. /etc/selinux/config ファイルをエディタで開き、該当箇所を修正する
SELINUX=disabled
SELINUX=xxx となっている設定を上記設定に変更する
$ sudo setenforce 0 # temp