Mais conteúdo relacionado Semelhante a Movable Type for AWS Hands-on (20) Mais de Yuji Takayama (20) Movable Type for AWS Hands-on1. Movable Type for AWS
Hands-on
Six Apart, Ltd.
Ver. 1.2
http://www.sixapart.jp/
CMS どうでしょう
- 大阪編 -
2. YUJI TAKAYAMA
Six Apart, Ltd.
Senior Product Manager
Movable Type Lead Engineer
My Social
icon
yuji
yuji
Yuji Takayama
シックス・アパートで、働き始めて9年目
Movable Type 一筋
好きなタグは <MTAssetProperty>
好きなサービスは Cloud Watch
4. Movable Type とは
Movable Type 1.0 Movable Type 6.1
サンフランシスコ生まれの世界標準 CMS パブリッシングプラットフォーム。
世界中のユーザーに使われ続けて 13年。
2001年 2015年
5. Movable Type User Groups
日本全国に 8 つのユーザーグループ
北海道
東北
東京
長野
名古屋
関西
広島
福岡
MTDDC Meetup
MT 勉強会
http://www.movabletype.jp/mtug/index.html
6. Movable Type for AWSとは
Movable Type for AWS は、Movable Type 6 が
インストールされた、OS込みの Amazon
Machine Image(AMI)です。
OS、アプリケーション、ウェブサーバー、
PSGIサーバー、PHP、データベースがすべて
Movable Type にチューニングされた形で提供
されるため、数クリックで簡単に Amazon
EC2 サーバー上に環境を構築できます。
アプリケーション: Movable Type 6.1
ウェブサーバー: nginx
php: php-fpm
OS: Amazon Linux 2014.09版
PSGI サーバー: starman
データベース: mysql
システム構成
7. Movable Type for AWSとは
料金
時間課金制
$ 0.07 / Hour *1
$ 499 / Year *1
Micro インスタンスは無料
テクニカルサポートは別途 (¥10,800 -)
7日分の無料トライアル
*1: AWS 利用料は別途、Micro インスタンスは無料
*2: EC2 が対応しているリージョン
特徴
All-in-one パッケージ
AWS Marketplace
全リージョン対応 *2
yum コマンドでアップデート
10. ハンズオンのシナリオ
VPC 内に Movable Type のシステムを構築します。
構築された Movable Type を使って再構築、記事の公開を体験します。
システムの構築を3つのフェーズで実施していきます。(残り時間によっては途中で終了します)
最初は、EC2 1台による最小構成のシステムから開始します。
アクセス数が増えてきたと仮定して、システムの拡張を行っていきます。
AWS の各種サービスと連携した、より実用的なシステムについて解説を行います。
16. VPC の作成
1. VPC with a Simple Public Subnet を
選択し、 Select ボタンをクリックし
ます。
17. VPC の作成
1. 以下の内容で入力します。
IP CIDR block: 10.0.0.0/16
VPC name: vpc-mt-handson
Availability Zone: ap-northeast-1b
2. Create VPC ボタンをクリックしま
す。
20. VPC の作成
1. 左ペインの Subnets を選択する
と、作成された Subnet が確認できま
す。
2. 作成された subnet を選択し、CIDR
が、10.0.0.0/24 、Availability Zone が
ap-northeast-1b になっていることを
確認して下さい。
21. VPC の作成
1. Route Table タブを選択し、Route
Table を確認します。
2. igw- から始まる Target が、Internet
Gateway です。この Target が存在し
ない場合は、インターネット側との通
信ができません。
29. EC2 インスタンスの配置
1. インスタンス タイプとして、デフォ
ルトでは m3.medium が選択されて
います。
2. 今回は t2.micro を選択します。
3. 選択したら、 Next: Configure
InstanceDetails をクリックします。
30. EC2 インスタンスの配置
1. Network は、先ほど作成した VPC
を選択します。
2. Subnet は、 (10.0.0.0/24) ap-
northeast-b を選択します。
3. それ以外は、デフォルトのままで
Next: Add Storage をクリックしま
す。
33. EC2 インスタンスの配置
1. Movable Type for AWS では、おすす
めのセキュリティグループを用意して
います。
2.
3. 今回は、この設定のまま利用します
ので、 Review and Launch をクリッ
クします。
35. EC2 インスタンスの配置
1. Key Pair は、既存のものを利用しま
す。もし、Key Pair を持っていない場
合は、次のステップで作成します。の
で、 Create a new key pair を選択し
てください。
2. チェックボックスにチェックを入れ
て、 Launch Instance をクリックし
ます。
36. EC2 インスタンスの配置
1. 新しい Key Pair を作成する場合
は、 Create a new key pair を選
び、 Key pair name に任意の名前を
入力します。
2. 名前を入力したのち、 Download
Key Pair をクリックして Key Pair を
ダウンロードします。
3. Launch Instances をクリックしま
す。
43. Elastic IP の割り当て
1. 左ペインの Instances を選択して、
作成した EC2 インスタンスを選択す
ると、Elastic IP が割り当てられてい
ることが確認できます。
44. Elastic IP の割り当て
1. Elastic IP で実際に ターミナルからロ
グインできるか試してみましょう。
2. ターミナルを開き、以下のコマンド
を入力します。 Key Pair File Name
と IP Address は、各々の環境に応じ
て変更してください。
ssh -i <Key Pair File Name> ec2-user@<IP Address>
45. Elastic IP の割り当て
1. Elastic IP で、ブラウザからアクセス
できることを確認します。
2. ブラウザを開き、IPアドレスを入力
すると、Movable Type の スタート画
面が表示されます。
47. Movable Type のインストール
1. ブラウザを開き、IPアドレスを入力
すると、Movable Type の スタート画
面が表示されます。
2. Start Movable Type をクリックし
て、インストールを開始します。
48. Movable Type のインストール
1. 新規ユーザー の情報を入力します。
Username: サインインのアカウント
Display Name:ユーザーの表示名
Email Address: メールアドレス
User this as system email address: シ
ステムからのメールの From アカウ
ントとして使用するか
Language: 管理画面の表示言語
Password: サインインのパスワード
2. 終わったら、 Continue をクリック
します。
49. Movable Type のインストール
1. 最初のウェブサイトの情報を入力し
ます。
Website Name: サイト名
Website URL: サイトのURL
Website Root: サイトの出力パス
Theme: サイトのテンプレートテー
マ
Time Zone: タイムゾーン
2. 終わったら、 Finish Install をクリッ
クします。
57. Movable Type で記事を書いてみる
1. インストール時に作成したウェブサ
イトに対して、初めての記事を書いて
みます。
2. ダッシュボードの「ウェブサイト」
というタブの中に「My First Website」
が表示されています。右にある「記事
を作成」をクリックします。
59. Movable Type で記事を書いてみる
1. デフォルトでは、記事の入力フォーマッ
トとして「リッチテキスト」が選択託
されていますが、他にも「Markdown」
や、「Textile 2」HTML を全て入力で
きる「フォーマットなし」などを先駆
できます。
2. リッチテキストエディタは、TinyMCE
Ver. 3 を採用しています。
62. Movable Type で記事を書いてみる
1. 「公開」ボタンをクリックすると、作
成された記事が公開されます。まだ公
開したくないという場合は、「ステー
タス」のドロップボックスから「未公
開(原稿)」を選べば公開されません。
2. また、「日時指定」を選択すると「公
開日」に設定された日時に自動公開さ
れます。(run-periodic-tasks が実行さ
れている必要がありますが、MT for
AWS では、実行設定済みです)
65. Scale Up してみる
1. 起動したインスタンスは、運用後も
サイズを自由に変更することができま
す。
2. 左ペインの Instances を選択して、
作成した EC2 インスタンスを選択し
ます。
3. 「Actions」をクリックして、メニュー
を表示し、「Instance State」-
「Stop」を選択して、一旦インスタン
スを停止します。
67. Movable Type の Update
1.先ほどと同様にターミナルを開き、以
下のコマンドを入力します。 Key Pair
File Name と IP Address は、各々の
環境に応じて変更してください。
ssh -i <Key Pair File Name> ec2-user@<IP Address>
68. Movable Type の Update
1. Movable Type for AWS では、yum コ
マンドによる Movable Type のアップ
デートができます。以下のコマンドを
実行すると、アップデートは完了です
2. 今回は、最新版をインストールしてい
るのでアップデートは行われません。
yum clean all; yum update movabletype
70. Scale Up してみる
1. 確認のダイアログが表示されます。
2. 「Yes, Stop」をクリックします。
3. 停止中は、一覧の Instance State が
Stopping になっています。これが、
Stopped になれば停止完了です。
71. Scale Up してみる
1. 「Actions」をクリックして、
「Instance Settings」-「Change
Instance Type」をクリックします。
72. Scale Up してみる
1. ダイアログが表示されるので、
「Instance Type」から利用したいイ
ンスタンスのタイプを選択します。
2. 今回は、「t2.small」を選びます。
73. Scale Up してみる
1. インスタンスを起動します。
2. 「Actions」-「Instance State」-
「Start」を選択します。
74. Scale Up してみる
1. 起動の確認ダイアログが表示される
ので、「Yes, Start」をクリックしま
す。
2. 一覧の Instance State が Pending か
ら、Running に変わればインスタン
スのサイズ変更は完了です。
76. Scale Down してみる
1. 確認のダイアログが表示されます。
2. 「Yes, Stop」をクリックします。
3. 停止中は、一覧の Instance State が
Stopping になっています。これが、
Stopped になれば停止完了です。
77. Scale Down してみる
1. 「Actions」をクリックして、
「Instance Settings」-「Change
Instance Type」をクリックします。
78. Scale Down してみる
1. ダイアログが表示されるので、
「Instance Type」から利用したいイ
ンスタンスのタイプを選択します。
2. 今回は、「t2.micro」を選びます。
80. Scale Down してみる
1. 起動の確認ダイアログが表示される
ので、「Yes, Start」をクリックしま
す。
2. 一覧の Instance State が Pending か
ら、Running に変わればインスタン
スのサイズ変更は完了です。
83. Phase 1 のまとめ
HVM 版を利用するには、VPC の構築が必要である。
新しい VPC 内に Movable Type のシステムを構築すると、セキュリティにも考慮された環境が構
築できる。
Internet Gateway を利用すると、インターネットに公開するサイトを作成できる。
Movable Type for AWS を使うと、インストール前の準備作業(Perl、DB、ImageMagickなどの
周辺環境構築)が必要ないので、簡単にインストールして使いはじめることが出来る。
88. DB 用のセキュリティグループ作成
1. Security group name に mt-db と
入力し、VPC に 今回利用している
VPC を選択します。
2. Inbound タブから、 Add Rule を
クリックします。
3. Type として、 MYSQL を選択
し、 Source に Custom IP と sg
から始まるセキュリティグループ(今
回は、Movable Type 6 - で始まるグルー
プ)を指定し、 Create をクリックし
ます。
95. DB 用のサブネットグループ作成
1. Name , Description を入力
し、 VPC に今回作成した VPC を選
択します。
2. Availability Zone に ap-northeast-
1b 、 Subnet ID に 先ほど作成した
Subnet を選択して Add をクリック
します。同様に、 ap-northeast-1c
からも Subnet を選択して Add しま
す。
3. Subnet を2つ追加したら、 Create
をクリックします。
98. DB 用のパラメータグループ作成
1. MySQL の パラメータを調整するた
めに、パラメータグループの作成を行
います。
2. 左のペインから Parameter Groups
を選択し、 Create Parameter Group
をクリックします。
101. DB 用のパラメータグループ作成
1. 画面をスクロールし、以下のパラメー
タに utf-8 を設定して Save
Changes をクリックします。
character_set_client
character_set_connection
character_set_database
character_set_filesystem
character_set_results
character_set_server
106. DB インスタンスの作成
1. DB Instance Class に
db.t2.micro 、 Multi-AZ
Deployment に Yes を選択します。
2. DB Instance Identifier , Master
User , Master Password , Confirm
Password を入力し、 Next Step を
クリックします。
107. DB インスタンスの作成
1. 以下のように設定します。
VPC: 今回作成した VPC
Sebnet Group: 先ほど作成したサブ
ネットグループ
VPC Security Group: 先ほど作成した
セキュリティグループ
Database Name: movabletype
DB Parameter Group: 先ほど作成し
たパラメータグループ
2. 入力したのち、 Launch DB Instance
をクリックします。
112. MySQL のデータを移行する
1. ターミナルから、EC2 インスタンス
にログインして、データベースのダン
プデータを作成します。
2. ダンプの取得には、 mysqldump コ
マンドを使用します。
mysqldump -usixapart -pp@ssw0rd movabletype > db-backup.sql
113. MySQL のデータを移行する
1. 先ほど取得したダンプを RDS 上の
MySQL にインポートします。
2. インポートには、 mysql コマンド
を使用します。
mysql -u<DBユーザー名> -p<DBパスワード> -h <RDSのエンドポイント>
movabletype < db-backup.sql
115. Movable Type の設定を変更する
1. Movable Type の構成ファイル(mt-
config.cgi)を編集して、RDS を利用す
るように変更します。
DBUser: RDSのユーザー
DBPassword: RDSユーザーのパスワー
ド
DBHost: RDS のエンドポイント
DBPort: 3306
sudo vi /app/movabletype/mt-config.cgi
120. Phase 2 のまとめ
RDS を利用することで、データベースのバックアップや、可用性を高めることができます。
Multi-AZ にすることで、Master - Slave モデルが簡単に構築できます。
UTF-8 で利用する場合は、RDS の パラメータグループでカスタマイズする。
124. EC2 インスタンスの AMI 化
1. 2台目以降のインスタンスを起動する
とき、毎回同じ設定を行う必要はあり
ませんので、既存のインスタンスを
AMI 化しておきます。
2. EC2 のページで、左のペインから
Instances を選び、現在の EC2 イン
スタンスを選択します。
126. EC2 インスタンスの AMI 化
1. Image name , Description を入力
します。 No reboot にはチェックを
入れません。
2. 入力したら、 Create Image をク
リックします。
127. EC2 インスタンスの AMI 化
1. 既存のサーバーが再起動して、AMI
が作成されます。
2. イメージの作成には、数分かかりま
す。
130. 新しいインスタンス用の Subnet の追加
1. 以下の内容を入力します。
Name tag: MT-App-AZ-C
VPC: 今回作成した VPC
Availability Zone: ap-northeast-1c
CIDR block: 10.0.1.0/24
2. 入力後、 Yes, Create をクリックし
ます。
146. ELB の作成
1. EC2 のページの左のペインから
Load Balancers を選択し、 Create
Load Balancer をクリックします。
147. ELB の作成
1. Load Balancer name を入力
し、 Create LB Inside に、現在使用
してる VPC を選択します。
2. Listener Configurations で、両方共
に http 80 が選ばれていることを
く確認して、 Continue をクリック
します。
149. ELB の作成
1. App サーバー用のサブネットを 2つ
とも Available Subnets から選択し
て、 + アイコンをクリックします。
2. 選択したら、 Continue をクリック
します。
150. ELB の作成
1. ELB 用のセキュリティグループを新
たに作成します。
2. Security group name , Description
を入力し、HTTP (80) を Anywhere
(0.0.0.0) で許可します。
3. 入力後、 Continue をクリックしま
す。
151. ELB の作成
1. ELB のはいかに配置するインスタン
スを選択します。
2. 2台とも選択したら、 Continue を
クリックします。
155. ELB の作成
1. Instances タブを選択すると、ELB
配下のインスタンスを一覧できます。
2. インスタンスの Status が
InService になれば、ELB からアクセ
スすることができるようになります。
157. ELB の作成
1. ELB のエンドポイント に /mt/
admin を付けて、ブラウザでアクセ
スしてみます。
2. Movable Type のサインイン画面が表
示されれば、ELB の設定は完了です。
159. Security Group の変更
1. HTTP のアクセスをELBからのみ受け
付けるようにすることで、よりセキュ
リティを高めることができます。
2. EC2 の左のペインから、 Security
Groups を選びます。
3. EC2 のインスタンスで利用している
セキュリティグループを選択
し、 Inbound タブを選び、 Edit ボ
タンをクリックします。
161. Security Group の変更
1. Add Rule をクリックして、新しい
ルールを追加します。
2. Type に HTTP を選択し、 Source
に Custom IP として、ELB のセキュ
リティグループを指定します。
3. 追加した後、 Save をクリックしま
す。
162. Seurity Group の変更
1. 先ほど同様に ELB のエンドポイント
に /mt/admin を付けて、ブラウザ
でアクセスしてみます。
2. Movable Type のサインイン画面が表
示されれば、セキュリティグループの
変更は完了です。
165. Phase 3 のまとめ
ELB を利用することで、アクセス負荷を分散できる。
実運用では、Movable Type が出力するファイルを NFS、S3、GlusterFS などで共有する必要が
ある。
EC2 インスタンスのセキュリティグループを抑えることで、セキュリティを向上できる。
168. Movable Type + GlusterFS Clustering
EC2 2台構成
CMS
API
ELB
RDS
Multi -AZ
170. Movable Type + GlusterFS Clustering
EC2 2台構成
ELB
RDS
Multi -AZ
GlusterFS Cluster
Distributed Striped
Replicated
185. AMI の削除
1. AMIs を選択し、削除する AMI を選
択します。
2. Actions から Deregister を選択し
ます。
189. RDS の削除
1. RDS のページの左のペインから
Instances を選択し、削除する RDS
のインスタンスを選択します。
2. Instance Actions - Delete をクリ
ックします。
196. RDS の削除
1. VPC ページから、 Your VPSc を選
択します。
2. 削除する VPC を選択して、 Actions
- Delete VPC を選択します。