webデベロッパに必要なスキルとしてのamazon ec2

75
Serverworks

Upload: serverworks-coltd

Post on 02-Jul-2015

2.835 views

Category:

Technology


0 download

DESCRIPTION

実はAmazon EC2はWebデベロッパにとっての強力な開発支援ツールとしての側面も持っています。 「開発環境のスピーディーな構築」や「複数のサーバーで構成される検証用環境の作成」といった実例を交えてWebデベロッパが開発業務においてAmazon EC2を活用する方法についてご紹介します。

TRANSCRIPT

Page 1: Webデベロッパに必要なスキルとしてのAmazon EC2

Serverworks

Page 2: Webデベロッパに必要なスキルとしてのAmazon EC2

2010年4月14日

株式会社サーバーワークスクラウドオペレーショングループ

小倉 純也 <[email protected]>

Serverworks

Webデベロッパに必要なスキルとしてのAmazon EC2

Page 3: Webデベロッパに必要なスキルとしてのAmazon EC2

?

Page 4: Webデベロッパに必要なスキルとしてのAmazon EC2

2006/7

Page 5: Webデベロッパに必要なスキルとしてのAmazon EC2

2006/72006/8

Page 6: Webデベロッパに必要なスキルとしてのAmazon EC2

2006/72006/8

2006/11

Page 7: Webデベロッパに必要なスキルとしてのAmazon EC2

2006/72006/8

2006/11

2007/6

Page 8: Webデベロッパに必要なスキルとしてのAmazon EC2

4年

http://www.flickr.com/photos/spidermandragon5/2922128673/

Page 9: Webデベロッパに必要なスキルとしてのAmazon EC2

Heroku - Rubyアプリ専用PaaS

http://heroku.com/

(her-OH-koo)

Page 10: Webデベロッパに必要なスキルとしてのAmazon EC2

開発者にとってのEC2どう活用する?EC2の始め方利用時のコツ

http://www.flickr.com/photos/enwiie/3817631532/

Page 11: Webデベロッパに必要なスキルとしてのAmazon EC2

開発者にとってのEC2

http://www.flickr.com/photos/dunkv/97119622/

Page 12: Webデベロッパに必要なスキルとしてのAmazon EC2

EC2の話題は

運用インフラとしての話題ばかり

http://www.flickr.com/photos/mayhem/4403152760/

Page 13: Webデベロッパに必要なスキルとしてのAmazon EC2

運用環境以外でもメリットはある

http://www.flickr.com/photos/icco/2246383366/

•サーバーの追加・削除が簡単•課金は1時間単位•Windows Serverが使える•柔軟なディスク構成が可能•スナップショット作成が簡単•グローバルIPが割り当てられる

Page 14: Webデベロッパに必要なスキルとしてのAmazon EC2

どう活用する?

Page 15: Webデベロッパに必要なスキルとしてのAmazon EC2

携帯サイト開発環境として

http://www.flickr.com/photos/lnx/7204949/

Page 16: Webデベロッパに必要なスキルとしてのAmazon EC2

携帯サイト開発環境として

http://www.flickr.com/photos/lnx/7204949/

PublicIPElasticIP

Page 17: Webデベロッパに必要なスキルとしてのAmazon EC2

CloudworksでElasticIPを追加してみる

Page 18: Webデベロッパに必要なスキルとしてのAmazon EC2
Page 19: Webデベロッパに必要なスキルとしてのAmazon EC2
Page 20: Webデベロッパに必要なスキルとしてのAmazon EC2

CloudworksでElasticIPをインスタンスに割り当てる

Page 21: Webデベロッパに必要なスキルとしてのAmazon EC2
Page 22: Webデベロッパに必要なスキルとしてのAmazon EC2
Page 23: Webデベロッパに必要なスキルとしてのAmazon EC2

•携帯サイトのアクセスログを記録・収集する•1時間あたり数万~数十万アクセス•期間は1週間程度•「2~3日中に稼働させたい」という要望

携帯サイト+SimpleDBの事例

Page 24: Webデベロッパに必要なスキルとしてのAmazon EC2

•データベースはAmazon SimpleDB•セットアップ、メンテナンス不要•スキーマ設計・定義が不要•ドメイン(テーブル)あたりの要素数上限は10億•負荷分散は自動•フロントエンドはPHP•シンプルな1ページ•Amazonのサンプルコードをベースに•ログ閲覧用の管理画面はRails + Heroku•迅速に開発し、無償でデプロイできる

携帯サイト+SimpleDBの事例

Page 25: Webデベロッパに必要なスキルとしてのAmazon EC2

12月15日 (火)開発用インスタンス起動PHPのコーディング

12月16日 (水)

開発用インスタンスからAMIを作成 AMIから運用インスタンスを2つ起動Herokuにサインアップ管理画面を作成・デプロイ

12月17日 (木)ログダウンロード用インスタンスの構築運用インスタンスを10台に拡大

12月18日 (金)サーバー設定を変更してAMIを作り直し運用インスタンスを新AMIで立ち上げ直し

1月5日 (火) インスタンスおよびデータベースを削除

Page 26: Webデベロッパに必要なスキルとしてのAmazon EC2

複数台構成の検証に

http://www.flickr.com/photos/pjvenda/4196446504/

20台まで起動可能

Page 27: Webデベロッパに必要なスキルとしてのAmazon EC2

従来の開発環境

本番環境

Webサーバー

Appサーバー

DBサーバー

開発環境

Web+App+DBサーバー

Page 28: Webデベロッパに必要なスキルとしてのAmazon EC2

EC2を利用した開発環境

本番環境

Webサーバー

Appサーバー

DBサーバー

開発環境

Webサーバー

Appサーバー

DBサーバー

Page 29: Webデベロッパに必要なスキルとしてのAmazon EC2

タグによる管理

Page 30: Webデベロッパに必要なスキルとしてのAmazon EC2
Page 31: Webデベロッパに必要なスキルとしてのAmazon EC2
Page 32: Webデベロッパに必要なスキルとしてのAmazon EC2

データベース構成の検証

プライマリDB

セカンダリDB

セカンダリDB

Page 33: Webデベロッパに必要なスキルとしてのAmazon EC2

複数台構成時の費用目安

1時間 24時間 30日間

Linux × 10 90円 2,160円 64,800円Windows × 10 130円 3,120円 93,600円

US-WESTリージョンの場合

Page 34: Webデベロッパに必要なスキルとしてのAmazon EC2

8時間 8時間×3日間

Linux × 10 720円 2,160円Windows × 10 1,040円 3,120円

US-WESTリージョンの場合

複数台構成時の費用目安

Page 35: Webデベロッパに必要なスキルとしてのAmazon EC2

Windows Serverとして

http://www.flickr.com/photos/jetsetwilly/2581863218/

Page 36: Webデベロッパに必要なスキルとしてのAmazon EC2

Windows Server 2003Windows Server 2008SQL Server ExpressSQL Server Standard 2005SQL Server Standard 2008

ライセンス購入不要

Page 37: Webデベロッパに必要なスキルとしてのAmazon EC2

社内システムのリハーサル環境として

http://www.flickr.com/photos/robertraymondut/2944984479/

Page 38: Webデベロッパに必要なスキルとしてのAmazon EC2

セキュリティアップデート適用時ミドルウェアのバージョンアップ時RPM, PEAR, CPAN, Rubygemの更新時

社内システムに問題が起こるとき

Page 39: Webデベロッパに必要なスキルとしてのAmazon EC2

EC2の始め方

Page 40: Webデベロッパに必要なスキルとしてのAmazon EC2

利用開始までのステップ

AWSのページでアカウントを取得する

EC2にサインアップする

確認用の電話番号を登録する

電話がかかってきたら確認用の4桁の数字を入力する

利用開始!http://www.flickr.com/photos/katphotos/2281673189/

Page 41: Webデベロッパに必要なスキルとしてのAmazon EC2

利用開始までのステップ

AWSのページでアカウントを取得する

EC2にサインアップする

確認用の電話番号を登録する

電話がかかってきたら確認用の4桁の数字を入力する

利用開始!

Page 42: Webデベロッパに必要なスキルとしてのAmazon EC2

登録する電話番号

Page 43: Webデベロッパに必要なスキルとしてのAmazon EC2

登録する電話番号

03-1234-5678

81-3-1234-5678

Page 44: Webデベロッパに必要なスキルとしてのAmazon EC2

登録する電話番号

03-1234-5678

81-3-1234-5678

090-1234-5678

81-90-1234-5678

Page 45: Webデベロッパに必要なスキルとしてのAmazon EC2

EC2へのサインアップ詳細な手順はCloudworksのサイトでも解説しています。

http://cloudworks.jp/

Page 46: Webデベロッパに必要なスキルとしてのAmazon EC2

ツール

http://www.flickr.com/photos/icco/2246383366/

Page 47: Webデベロッパに必要なスキルとしてのAmazon EC2

AWS Management Console

AWS Toolkit for Eclipse

Ylastic

ツール

Page 49: Webデベロッパに必要なスキルとしてのAmazon EC2

https://console.aws.amazon.com/ec2/

•無料•EC2の新機能にもすぐに対応

AWS Management Console

•インターフェースが英語のみ•大量のインスタンス管理には不向き•名前を付けられない•操作ミスの心配がある

Page 51: Webデベロッパに必要なスキルとしてのAmazon EC2

AWS Toolkit for Eclipse

http://aws.amazon.com/eclipse/

•無料、オープンソース•Eclipseの中から使える•JavaアプリをEC2インスタンスにデプロイできる•Tomcatによるクラスタも可能

•日本語の情報があまりない•運用管理向けではない

Page 53: Webデベロッパに必要なスキルとしてのAmazon EC2

Ylastic

http://ylastic.com/

•機能が豊富•新機能への対応が早い

•有償 $25/月•インターフェースは英語のみ•日本語の情報はほとんどない

Page 54: Webデベロッパに必要なスキルとしてのAmazon EC2

どれがベスト?

Page 55: Webデベロッパに必要なスキルとしてのAmazon EC2

AWS Management ConsoleAWS Toolkit for Eclipse

Ylastic

Cloudworks

+

Page 56: Webデベロッパに必要なスキルとしてのAmazon EC2

AWS Management ConsoleAWS Toolkit for Eclipse

Ylastic

Cloudworks

+

Page 57: Webデベロッパに必要なスキルとしてのAmazon EC2

AWS Management ConsoleAWS Toolkit for Eclipse

Ylastic

Cloudworks

+ インスタンス管理はCloudworksで•日本語での名前付け•タグによる分類

Page 58: Webデベロッパに必要なスキルとしてのAmazon EC2

利用料金の予測

http://www.flickr.com/photos/icco/2246383366/

Page 59: Webデベロッパに必要なスキルとしてのAmazon EC2

1時間 24時間 30日間

Linux 9円 216円 6,480円Windows 13円 312円 9,360円

US-WESTリージョンのSmallインスタンス

Page 61: Webデベロッパに必要なスキルとしてのAmazon EC2

利用時のコツ

Page 62: Webデベロッパに必要なスキルとしてのAmazon EC2

AMIAmazon Machine Images

http://www.flickr.com/photos/neweyes/222877428/

Page 63: Webデベロッパに必要なスキルとしてのAmazon EC2

1.自分で1からAMIを作る2.Public AMIを利用する3.インスタンスを元に自分用AMIを作る

http://www.flickr.com/photos/neweyes/222877428/

Page 64: Webデベロッパに必要なスキルとしてのAmazon EC2

1.自分で1からAMIを作る1からAMIを作るのは、手間がかかり難易度も高いので最初のうちはおすすめできません。

http://www.flickr.com/photos/jiazi/3116676730/

Page 65: Webデベロッパに必要なスキルとしてのAmazon EC2

2.PublicAMIを利用する

既存のAMIを使う場合は、そのAMIの製作者をどれくらい信用できるかがポイント。

Page 66: Webデベロッパに必要なスキルとしてのAmazon EC2

3. インスタンスを元に自分用AMIを作る

EC2に慣れてきたら、稼働中のインスタンスを元に自分用のAMIを作成するのがおすすめ。

Page 67: Webデベロッパに必要なスキルとしてのAmazon EC2

スナップショットを活用する

http://www.flickr.com/photos/robot_zombie_monkey/2375319616/

Page 68: Webデベロッパに必要なスキルとしてのAmazon EC2

スナップショットを活用する

スナップショットの保存料金は安価なので、どんどん使いましょう。

1GB 10GB 50GB

1ヶ月 18円 180円 1,800円

US-WESTリージョンの場合

Page 69: Webデベロッパに必要なスキルとしてのAmazon EC2

アクセスを制限する開発環境やリハーサル環境は、運用環境よりも慎重に厳しくセキュリティグループを設定する。

Page 70: Webデベロッパに必要なスキルとしてのAmazon EC2

稼働状況を常にチェックする

• 意図しないインスタンスが稼働していないか注意しましょう• EC2からはレポートや警告は一切送信されてきません• AWS Management Consoleはリージョンをまたいでのインスタンス一覧表示ができません• Cloudworksではすべてのリージョンのインスタンスを1つのページで確認できます

Page 71: Webデベロッパに必要なスキルとしてのAmazon EC2

EC2の障害情報をチェックするAWS Service Health Dashboard

http://status.aws.amazon.com/

Page 72: Webデベロッパに必要なスキルとしてのAmazon EC2

まとめ

Page 73: Webデベロッパに必要なスキルとしてのAmazon EC2

•クラウドの運用案件がなくてもEC2は便利•開発環境として•検証環境として•学習環境として•などなど

運用案件がなくてもEC2は便利です

http://www.flickr.com/photos/lcrf/1831917223/

Page 74: Webデベロッパに必要なスキルとしてのAmazon EC2

•概念に慣れておきましょう•インスタンスとは?•データの安全な保存方法•将来の案件のための材料を集めておきましょう•Google App EngineやAzureとの違い•プライベートクラウドとの使い分け・併用

今後、EC2で運用するときのために

Page 75: Webデベロッパに必要なスキルとしてのAmazon EC2

今すぐ、EC2に触れてみてください!