株式会社ビヨンド
原岡 昌寛
agenda
Amazon EC2って何?
EC2のいいところ
EC2ならこんな対応が可能に
AmazonEC2を作ってみる
4stepインスタンス作成
Amazon EC2って何?
Amazon EC2とは、Amazon.comが提供しているクラウドサービス群「Amazon Web Services」(AWS)の一つとして提供されている、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスである。
Amazon EC2を利用すれば、必要が生じた場合にすぐ利用でき、サーバー購入等の初期費用(イニシャルコスト)が発生せず、従量制の課金体系で必要分のみ使用できるという利点がある。サーバーはAmazon.comが商用で用いている同じシステムを利用するので、信頼性も高水準にあると言える。
出典
IT用語辞典 BINARY 抜粋
http://www.sophia-it.com/content/Amazon+EC2
ざっくりいうと・・・
インターネット上で誰でも簡単にインフラ構築できる仕組みです。
PCから仮想的なサーバインフラを構築
仮想インフラ
Amazon EC2のいいところ
■コストが安い
初期費用0円、サーバの維持費用が安い、停止していた場合は料金無料
■即時性が高い
インターネット上からアカウントを作成し、すぐにサーバが作成・追加ができる
■拡張性、柔軟性が高い
ハード構成の自由、複数台構成、スケールアップ、スケールアウトの自由
サーバ屋からみたEC2のいいところ
■ 拡張性、柔軟性がものすごく高い
サーバの負荷に合わせてサーバ台数を簡単に増やせるため、将来を見越した初期見積りをしなくていい(最初の1ヶ月耐えれればOK)
■ ハードウェアから自由になれる
ハードの初期費用、納品日の調整、キッティング作業、ハードウェア故障との戦いから自由になれる
■ 居場所が自由になる
基本的にサーバ屋はデータセンターから動けないが、EC2ならロケーションに関係なく作業ができる
EC2ならこんな対応が可能に
ある日・・・
クライアントさん:2013/05/13(月) 15:12:34.63 ID:???
*´∀`)ノ ソーシャルゲームのサーバを来週までに作ってよ。
複数台でのサーバ構成が可能
FW/LB WEB/APPサーバ (スモール) 4台
DB マスタ/スレーブ (ラージ) 2台
KVS (ミディアム) 1台
リリース後
クライアントさん:2013/05/28(火) 20:34:24.16 ID:???
*´∀`)ノ 明後日広告出すよ♪倍の負荷耐えれるようにしといてね!
サーバ構成を2倍にすることも可能
(スケールアウト) FW/LB
WEB/APPサーバ (スモール) 8台
DB マスタ/スレーブ (ミディアム) 3台
KVS (ミディアム) 2台
さらにその後
クライアントさん: 2013/06/09(木) 18:56:02.87 ID:???
*´∀`)ノ 3日後テレビにでるよ♪10倍の負荷がくるから耐えれるようにしといてね!
サーバ構成を10倍にすることも可能
(スケールアップ、スケールアウト) FW/LB
WEB/APPサーバ (ミディアム) 40台
DB マスタ5台/スレーブ(ラージ) 15台
KVS (ラージ) 10台
そして・・・
クライアントさん: 2013/06/21(金) 13:12:42.44 ID:???
*´∀`)ノ あんまりはやらなかったから、最小限のサーバにしてね♪
サーバ構成の縮小も可能
(スケールダウン、スケールイン)
WEB/APPサーバ (スモール) 1台
DB/KVS (スモール) 1台
グラフで表すと
サービス開始
2倍に増強
スケールアウト
10倍に増強
スケールアップ
スケールアウト
サービスの終息
スケールダウン
スケールイン
サービス負荷
サービスの状態に合わせてサーバの自由な増減が可能
※実際はEC2だけでなくRDS,Dynamo,S3,Croudfrontなども
組み込みます。詳しくはクラウドデザインパターン参照
実際にEC2の始め方は?
まずはキーワードから
インスタンス ⇒ サーバのこと
リージョン ⇒ データセンターの設置国/地域
Availability Zone(AZ) ⇒データセンターの場所
セキュリティグループ ⇒ ファイアウォール
Elastic Block Store(EBS) ⇒ 外付けハードディスク
Elastic IP ⇒ 固定IP
Public DNS ⇒ 接続用サブドメイン
AMI ⇒ サーバのコピーイメージ、テンプレ
インスタンス作成の流れ
Step.1 情報をまとめる
Step.2 ログインして下準備
Step.3 インスタンスを作成
Step.4 サーバ接続して各種設定
Step.1 情報をまとめる
サーバ作成レシピ
① インスタンス数 :1台
② OS : amazon linux
③ スペック:m1.micro マイクロ
④ リージョン : Tokyo
⑤ AZ :指定なし
⑥ セキュリティグループ:http、ssh
⑦ EBS : OS用8GB 、データ用:20GB
⑧ Elastic IP:利用する
⑨ load balancer:利用しない
Step.2 ログインして下準備
・コンパネの立ち上げ
・キーペアの作成
・セキュリティグループの作成
動画
youtube
「Amazon EC2 キーペア、セキュリティグループの作成」
http://youtu.be/vo08SWgB5EA
コンパネを立ち上げる
ログイン後、EC2を選択
① AWSサイトからコンソールを立ち上げる
② Amazon Web Servicesから EC2を選択する
キーペアを作る
キーペア ※SSH接続の鍵のこと
② Key Pairsを選択
③ Create Key Pairを押下
④ Key Pair名を入力 ⑤ ファイル名を指定してローカルに保存
① リージョンを指定
セキュリティグループを作る
④ ポートの設定:HTTP,SSH,SMTPなど Source:許可IPの指定
(0.0.0.0/0はall、固定IPの場合も 122.122.122.122/32 サブネット必須)
① Security Groupsを選択
② Create Security Groupを押下
③ Name:セキュリティグループ名 Description:説明文を入力
⑤ 最後に Apply rule changes
を忘れずに
Step.3 インスタンスの作成
・インスタンスのローンチ
・サーバ名、キーペア、AMI(OS)の決定
・インスタンスタイプとセキュリティグループの決定
・ストレージの設定
・起動確認
動画
youtube
「Amazon EC2 インスタンスの作成」
http://youtu.be/w3DS6JqsBAc
インスタンスの作成
① Instancesを選択
② Launch Instance を押下
③ Quick Launch Wizard を選択
サーバ名、キーペア、AMI(OS)の決定
① サーバ名を入力
② キーペアを選択
③ AMI(OS)を選択
インスタンスタイプとセキュリティグループの決定
① Edit detailsを押下
② インスタンスタイプの選択 AZの選択
Termination protectionにチェック
③ 作成したセキュリティグループを選択
ストレージの設定
① rootはそのままで問題なし
② データ用のEBSボリュームを作成する
③ セーブする
④ 次の画面で ローンチする
起動確認
① サービスの起動を確認
② Public DNS名をコピー (接続用サブドメイン名)
Step.4 サーバ接続して各種設定
・コンソールからアクセス
・teratermから接続
・セキュリティ設定
・EBSボリュームのマウント
・固定IPの設定
コンソールからアクセス
① サーバ名を選択して右クリック ⇒ connect を選択
② ユーザ名とキーペアのローカルパスを入力
※初期ユーザはec2-user
③ Launch SSH clientから起動 ※JAVAのインストールが必要
ターミナルから接続(teraterm)
① connect with a standalone SSH Clientを選択し、下の接続文
字列をコピー
② teratermを起動し、コピーした接続文字列を貼り付け
③ ユーザ名、秘密鍵にキーペアを選択してOK ④ コンソールに接続完了
セキュリティ設定 Rootのパスワード変更
$ sudo su -
#passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
接続用ユーザの作成 ⇒ 鍵のコピー
# adduser jawsuser
# cp -a /home/ec2-user/.ssh /home/jawsuser/
# chown -R jawsuser:jawsuser /home/jawsuser/.ssh/
rootログインの禁止
# vi /etc/ssh/sshd_config
PermitRootLogin forced-commands-only ⇒ no
# service sshd restart
Ec2-userの削除
# userdel -r ec2-user
EBSボリュームのマウント ボリュームにファイルシステムを作成
# mkfs -t ext4 /dev/sdb
ボリュームをマウント
# mkdir /data
# mount /dev/sdb /data
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8256952 991908 7181188 13% /
tmpfs 304240 0 304240 0% /dev/shm
/dev/xvdb 20642428 176064 19417788 1% /data
起動時のマウント設定
# vi /etc/fstab
/dev/sdb /data ext4 defaults,noatime 0 0
固定IPの設定
① Elastic IPsを選択
② allocate New Addressを押下
③ そのままAllocateを押下
④ IPを取得したら、右クリックAssociateを選択
⑤ サーバを選択してAssociateを押下
構築の時の注意点
■事前に作成内容をリストで決めておくと楽
■ストレージは基本的にEBSを使用する
■ OS用ストレージとデータ用ストレージに分けた方が使いやすい
■ SSHはできればIP制限をかける
■停止するとドメインが変わるので固定IPにしておいた方が吉、ドメイン使う場合はcnameを登録すること
■サーバ停止するとElastic IPは外れてしまうので再度設定が必要
まとめ
クラウドサーバの利点はなんといってもその柔軟性にある。
EC2は始めるのが簡単、サーバが大量に増えても一気に減っても大丈夫、綿密に初期見積りを考えなくても大丈夫。
好きなOS、ミドルを使える。一度サーバを構築すれば、これまでと違いなく使用できる。
AWSのコンソールは超便利、ほとんどの操作がWEB上から行える。
ご清聴ありがとうございました