65
AWS入門編 EC2/ELBを使った、ブログシステム構築 ハンズオントレーニング

AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

Embed Size (px)

DESCRIPTION

AWSがどんな形で使えるかを、ざくっと感じとってもらうためのトレーニング

Citation preview

Page 1: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

AWS入門編EC2/ELBを使った、ブログシステム構築

ハンズオントレーニング

Page 2: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ サーバ1台(Linux)でスモールスタート

∗ ブログは、簡単に構築できるWordPressで実現

趣味のブログを立ち上げ

Page 3: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 無料枠あるらしいぜ!

AWSアカウント作成

Page 4: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 作成したIDとPWを入力してAWSマネジメントコンソールにログイン!

AWSマネジメントコンソール

Page 5: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ EC2(AmazonElastic Compute Cloud)とは、ク

ラウド内で処理能力変更が可能なサーバを提供するサービスです。

AmazonEC2

Page 6: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

イメージ(簡易)

Internet Gateway

User

Internet

EC2

Availability Zone(データセンターデータセンターデータセンターデータセンター)

Region Tokyo(サービス地域サービス地域サービス地域サービス地域)

Page 7: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

イメージ

Internet Gateway

User

Internet

EC2

Security Group

Subnet 10.0.0.0/24

10.0.0.0/16

Availability Zone(データセンターデータセンターデータセンターデータセンター)

Region Tokyo(サービス地域サービス地域サービス地域サービス地域)

Page 8: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Tokyoリージョンを選択します。

Region選択

Page 9: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ サービスの一覧からEC2を選択

EC2を選択

Page 10: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Key Pairsを選択

∗ Create Key Pairを選択

KeyPairの作成(1/2)

Page 11: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 鍵の名前を入力

∗ Createを押下

∗ プライベートキーファイル(xxx.pem)がダウンロードされるので、サーバとの接続時に使うので大事に保管。

KeyPairの作成( 2/2)

HON_KPnHON_KPn

Page 12: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ EC2 Dashboardを選択

∗ Launch Instanceを選択

∗ Amazon Linux AMIを選択

EC2インスタンスの作成(Step.1)

Page 13: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Instance Type(サーバースペック)にMicro Instancesを選択

EC2インスタンスの作成(Step.2)

Page 14: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ インスタンスの詳細で、Networkの設定

Networkを選択(10.0.0.0/16)

Subnetを選択(10.0.0.0/24)

Automatically assign public IPにチェック

EC2インスタンスの作成(Step.3)

Page 15: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Storageの設定

Sizeを、デフォルトのまま8GBで作成

EC2インスタンスの作成(Step.4)

Page 16: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Tagの設定

“Name”に、サーバの名前を入れる。

EC2インスタンスの作成(Step.5)

HON_SVnHON_SVn

Page 17: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ セキュリティグループの設定

EC2インスタンスの作成(Step.6)

Select an Existing Security Groupより、デフォルトのセキュリティグループを選択

Page 18: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 確認画面

EC2インスタンスの作成(Step.7)

Page 19: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ キーペアーの選択

EC2インスタンスの作成

T02_KPnT02_KPn

Page 20: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ View Instancesを選択

EC2インスタンスの作成確認

Page 21: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Public IPを確認する。

Instancesの一覧より、作成したインスタンスを選択

Public IPの確認

Page 22: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 先ほど確認したEC2インスタンスのGlobal IPアドレスを入力、SSHで接続する。

Tera Termでサーバに接続

Page 23: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ ユーザ名に“ec2-user”、秘密鍵にダウンロードした鍵ファイルを指定する。

Teratermでサーバに接続

Page 24: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

接続後の画面

Page 25: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

これで

サーバーが立った

Page 26: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

サーバーが立った

Page 27: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Apache、MySQL、PHPのインストール

Webサーバ・DBのインストール

パッケージのインストール

sudo yum -y install httpd mysql-server php php-mysql php-mbstring

起動設定

sudo /sbin/chkconfig mysqld on

sudo /sbin/chkconfig httpd on

起動

sudo /etc/init.d/mysqld start

sudo /etc/init.d/httpd start

Page 28: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ WordPressのインストール

ブログアプリのインストール

ソースの取得

wget http://ja.wordpress.org/latest-ja.tar.gz

解凍

tar zxvf ./latest-ja.tar.gz

コピーと権限設定

sudo cp -r ./wordpress/* /var/www/html/

sudo chown apache:apache -R /var/www/html

Page 29: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ DBの作成と、ユーザの作成

DBの設定

DBに接続

mysql -u root

DB作成

CREATE DATABASE wordpress;

ユーザー作成

GRANT ALL PRIVILEGES ON wordpress.* TO "wpuser"@"localhost" IDENTIFIED BY "wppassword";

FLUSH PRIVILEGES;

quit;

Page 30: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 管理者画面にログイン

WordPressの設定

http://xxx.xxx.xx.x/wp-admin/setup-config.php

Page 31: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ DBの接続情報を設定し、ブログの作成

WordPressの設定

ユーザ名 wpuser

パスワード wppassword

入れて「送信」「インストール実行」押下でセットアップ完了

以降、ブログの作成手順へ

タイトル 適当

パスワード 適当

メールアドレス 適当

入れて「WordPressをインストール」を押下で、ブログ作成完了

Page 32: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ ログインする。

管理画面へログイン

Page 33: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ URLにアクセス

http://xxx.xxx.xx.x/

ブログの表示

Page 34: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ サーバ単体の性能を向上させる

趣味のブログが盛況で混雑スケールアップしたい

Page 35: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ EC2のインスタンスを選択し、ActionよりStopを選択する。

EC2インスタンスの停止

Page 36: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ ActionよりChange Instance Typeを選択する。

∗ 変更してApplyすれば完了。

EC2インスタンスタイプの変更

Page 37: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ サーバ台数を増やしてシステムの性能を向上させる

ますます盛況スケールアップが限界へ

Page 38: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

イメージ

Internet Gateway

User

Internet

EC2

Availability Zone(データセンターデータセンターデータセンターデータセンター)

Region Tokyo(サービス地域サービス地域サービス地域サービス地域)

EC2

ELB

Page 39: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ ELB(Elastic Load Balancing)は、バックエンドの

EC2インスタンスのリクエスト数やコネクション数を基に負荷分散してくれます。(複数AZへの振り分けはDNSラウンドロビン)

ELB

EC2

EC2ELB

EC2

均等

Page 40: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ EC2インスタンスを選択し、ActionからCreate Imageを選択する。

AMIの作成

Page 41: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Image Nameと、Descriptionを入力

AMIの作成

Page 42: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Launch Instanceを選択。

∗ MyAMIsを選択。

AMIからインスタンスの作成(Step.1)

Page 43: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Instance Type(サーバースペック)にMicro Instancesを選択

AMIからインスタンスの作成(Step.2)

Page 44: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ インスタンスの詳細で、Networkの設定

Networkを選択(10.0.0.0/16)

Subnetを選択(10.0.0.0/24)

Automatically assign public IPにチェック

AMIからインスタンスの作成(Step.3)

Page 45: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Storageの設定

Sizeを、デフォルトのまま8GBで作成

AMIからインスタンスの作成(Step.4)

Page 46: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Tagの設定

“Name”に、サーバの名前を入れる。

AMIからインスタンスの作成(Step.5)

HON_SVnHON_SVn

Page 47: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ セキュリティグループの設定

AMIからインスタンスの作成(Step.6)

Select an Existing Security Groupより、デフォルトのセキュリティグループを選択

Page 48: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 確認画面

AMIからインスタンスの作成(Step.7)

Page 49: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ キーペアーの選択

EC2インスタンスの作成

T02_KPnT02_KPn

Page 50: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ View Instancesを選択

EC2インスタンスの作成確認

Page 51: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 左のメニューより、Load Balancersを選択

∗ Create Load Balancerを選択

ELBの作成

Page 52: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Load Balancer nameを入れる。

∗ ネットワーク、10.0.0.0/16を選択。

ELBの作成

HONELBnHONELBn

Page 53: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Ping Pathに、/readme.htmlを入力する。

ELBの作成

Page 54: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ サブネット10.0.0.0/24を選択。

ELBの作成

Page 55: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ セキュリティグループの選択、そのままContinue。

ELBの作成

Page 56: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 自分の作成したサーバにチェックを入れて、Continueを押下。

ELBの作成

Page 57: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 確認画面で、Createを押下する。

ELBの作成

Page 58: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ 自分の作成したELBを選択し、Instancesタブより、Statusを確認する。

Healthチェックの確認

Page 59: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Descriptionタブより、DNSNameを確認する。

Healthチェックの確認

Page 60: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ URLにアクセス

http:/xxx.ap-northeast-1.elb.amazonaws.com

∗ 片系をとめてもアクセスできることを確認。

ブログの表示

Page 61: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

ハンズオンではしょったことの補足

EC2

EC2

ELB

EC2

EC2

ELB

S3

RDS

ここに中身の異なるDBとアップロードされた画像コンテンツとがEC2それぞれにできてしまう。

ここに中身の異なるDBとアップロードされた画像コンテンツとがEC2それぞれにできてしまう。

DBをRDS、ローカルストレージをS3に置き換えるなど、可用性を担保した共有できる領域に保管するように変更する必要あり。

DBをRDS、ローカルストレージをS3に置き換えるなど、可用性を担保した共有できる領域に保管するように変更する必要あり。

Page 62: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ VPCとSubnetの作成

準備

NameNameNameName CIDRCIDRCIDRCIDR

VPC VPC01 10.0.0.0/16

Subnet VPC01-01 10.0.0.0/24

VPC01-02 10.0.1.0/24

Page 63: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Route Tableの作成

準備

NameNameNameName DestinationDestinationDestinationDestination TargetTargetTargetTarget

HON_RT1 10.0.0.0/24 local

0.0.0.0/0 igw-xxxxx

HON_RT2 10.0.1.0/24 local

Page 64: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

∗ Security Groupの作成

準備

NameNameNameName TypeTypeTypeType/ProtocolProtocolProtocolProtocol/PortPortPortPort SourceSourceSourceSource

HON_SG1 ALL 10.0.0.0/16

0.0.0.0/0 0.0.0.0/0

HON_SG2 ALL 10.0.0.0/16

Page 65: AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング

余談)PVとHVM

PVHVM