amazon ec2

73
Amazon EC2 - a Cloud Computing Environment-

Upload: akio-katayama

Post on 07-Dec-2014

466 views

Category:

Technology


1 download

DESCRIPTION

知っ得納得Webフレームワーク勉強会のスライド。

TRANSCRIPT

Page 1: Amazon EC2

Amazon EC2

- a Cloud Computing Environment-

Page 2: Amazon EC2

自己紹介

名前片山暁雄

IDid:[email protected]

所属株式会社キャピタルアセットプランニングhttp://www.cap-net.co.jp

T2Frameworkhttp://code.google.com/p/t-2/

Page 3: Amazon EC2

Agenda

EC2とは

EC2の使い方

EC2の各種サービス

S3とは

S3の使い方

構築例/Tips

EC2の利点/まとめ

Page 4: Amazon EC2

EC2とは

Page 5: Amazon EC2

EC2とは

AmazonWebServicesが提供する、クラウドコンピュ ーティング環境

http://aws.amazon.com/

EC2=Elastic Compute Cloud

Page 6: Amazon EC2

EC2とは

巨大なコンピュータークラウド上に、コンピューター環境を借り られる

複数の仮想コンピューターハードウェア(インスタンス)を作成 できる

デフォルトは20個まで。

インスタンス!

Page 7: Amazon EC2

EC2とは

インスタンス上でOSを実行

Red Hat Enterprise Linux Windows Server 2003 Oracle Enterprise Linux OpenSolarisopenSUSE Linux Ubuntu Linux Fedora Gentoo Linux Debian

Page 8: Amazon EC2

EC2とは

インスタンスは停止すると終了

データは全部消えます

OSの再起動は可能

外部IPアドレス

外部DNS

内部IPアドレス

内部DNS

ランダムに1個ずつ付与

Page 9: Amazon EC2

EC2とは

リージョンアメリカとヨーロッパ

ゾーン(アベイラビリティゾーン)アメリカに4つ、ヨーロッパに2つ

4箇所

2箇所

Page 10: Amazon EC2

EC2とは

SLA(Service level agreement)年間99.95%の稼動を保障

有償サポートSilver:月$100 平日の日中のみ webベース

Gold:月$400 24時間365日直電OK

Page 11: Amazon EC2

EC2とは

インスタンスの種類Standard On-Demand Instances

ECU(CPU) メモリ ディスク bit

Small 1 1.7 GB 160GB 32bit

Large 4(2 virtual cores)

7.5 GB 850GB 64bit

Extra Large

8(4 virtual cores)

15 GB 1690GB 64bit

EC2 Compute Unit (ECU) One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.

Page 12: Amazon EC2

EC2とは

High CPU On-Demand Instances

ECU(CPU) メモリ ディスク bit

Medium 5(2 virtual cores)

1.7 GB 350GB 32bit

Extra Large 20(8 virtual cores)

7 GB 1690GB 64bit

Page 13: Amazon EC2

EC2とは

料金初期費用:0円

月額固定費用:0円

料金は利用に応じた従量課金

ゆっくり使って行ってね!!

Page 14: Amazon EC2

EC2とは

インスタンス利用料USリージョンの場合の、 1時間あたりの課金

インスタンスタイプ Linux Windows

Small $0.10 $0.125

Large $0.40 $0.50

Extra Large $0.80 $1.00

Medium(high cpu) $0.20 $0.30

Extra Large(high cpu) $0.80 $1.20

Page 15: Amazon EC2

EC2とは

例えばSmallインスタンスにLinux入れてを1ヶ月(30日)利用すると

30(日) ×24(時間)×$0.1 = $72

例えばExtra LargeインスタンスのWindowsを1時間だけぶん回すと

1(時間)×$1.00 = $1

Page 16: Amazon EC2

EC2とは

リザーブドインスタンス先に一定費用を払うと、1時間あたりの利用料が安くなる

Wホワイトプランみたいなやーつ

Linux/UNIXだけ

インスタンスタイプ 1年契約 3年契約 per hour

Small $325 $500 $0.03

Large $1300 $2000 $0.12

Extra Large $2600 $4000 $0.24

Medium(high cpu) $650 $1000 $0.06

Extra Large(high cpu) $2600 $4000 $0.24

Page 17: Amazon EC2

EC2とは

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

通常料金

リザーブド

Smallインスタンスの場合

月の利用日で比較

Page 18: Amazon EC2

EC2とは

そのほかの費用インターネットとのデータIO

Data In $0.10 per GB

Data Out

( 初の10 TBまで)

$0.17 per GB

Page 19: Amazon EC2

EC2とは

インターネットを介した通信に対する従量課金(A)

同一リージョン・同一ゾーンの場合は無料(B)

同一リージョン・別ゾーンの別サービス同士は無料(C)

同一リージョン・別ゾーンのEC2同士は$0.01 per GB in/out(D)

別リージョン間はインターネット通信に含まれる(E)

EU USクライアント

Zone1

Zone2

Zone3

A

EC2 S3

EC2 S3

B

B

CD

E

Page 20: Amazon EC2

EC2とは

ちょっとAmazonの営業っぽくなってきました

Page 21: Amazon EC2

EC2の使い方

Page 22: Amazon EC2

EC2の使い方

EC2の管理

管理は、すべてAPI経由

RESTとSOAPのAPI

ec2-api-tools

Javaライブラリ

http://developer.amazonwebservices.com/co nnect/entry.jspa?externalID=351

Page 23: Amazon EC2

EC2とは

敷居高いやないか!!

Page 24: Amazon EC2

EC2の使い方

AWS Management ConsoleWebアプリ

http://aws.amazon.com/console/

ElasticFoxFireFoxのプラグイン

http://developer.amazonwebservices.com/connect/ent ry.jspa?externalID=609

あるよ!

Page 25: Amazon EC2

EC2の使い方

インスタンスを起動しよう!

決めることリージョンとゾーン

インスタンス

AMI

ログイン用キーペア

セキュリティグループ

Page 26: Amazon EC2

EC2の使い方

AMI(Amazon Machine Image)OS・データの入ったイメージファイル

1つのマニフェストファイルと、分割されたデータファイル

Amazonが用意してくれている

自分で作成することも可能

Page 27: Amazon EC2

EC2の使い方

ログイン用キーペア起動したインスタンス上のAMIにログインするキーペア

コンソールで生成

AMI起動時に指定した公開鍵が組み込まれる

SSH接続のときに秘密鍵を指定

Page 28: Amazon EC2

EC2の使い方

余談ですがputty使うときは、puttygen.exeで変換しましょう

Page 29: Amazon EC2

EC2の使い方

セキュリティグループ各インスタンスに適用する、セキュリティ設定のグループ

ファイヤーウォール的なやーつ

ホスト・ネットワーク・IPアドレス・ポート・セキュリティグループ レベルでアクセス許可を指定

Page 30: Amazon EC2

EC2の使い方

例:4つのグループdefault : すべての外部ネットワークからのSSHを許可

web:すべての外部ネットワークからHTTPを許可

app:webからの内部通信のみ許可

db:appからの内部通信のみ許可

Page 31: Amazon EC2

EC2の使い方

web

app

app

db

default

default

default

default

Page 32: Amazon EC2

EC2の使い方

決めたら起動!リージョンとゾーン

インスタンス

AMI

ログイン用キーペア

セキュリティグループ

起動!

Page 33: Amazon EC2

DEMO

Page 34: Amazon EC2

EC2の各種サービス

Page 35: Amazon EC2

EC2の各種サービス

Elastic IP Address外部向けの固定IPを取得できるサービス

1回取得すると、好きなインスタンスに紐付けできる

取得すると、1時間$0.01かかる

ただしインスタンスに紐付けしている間は無料

デフォルトで5IPまで

210.81.3.241 211.14.15.5

Page 36: Amazon EC2

EC2の各種サービス

Elastic Block Store(EBS)インスタンスが停止しても消えないデータ領域

外付けHDDみたいなもの

1Gbyte単位 高1TByteまで領域を借りられる

1Gbyteあたり月$0.1と、データアクセス1万回ごとに$0.1

EBS:10Gbyte

/dev/sda

/appにマウント!

Page 37: Amazon EC2

EC2の各種サービス

Elastic Block Store(EBS)続き

スナップショットが取れる

スナップショットから、領域を複製できる

スナップショットは、1Gbyteあたり月$0.15と、1000回保存 ごとに$0.01、1万回ロードごとに$0.01

インスタンス上のデータ領域よりアクセスが早い

スナップショット

Page 38: Amazon EC2

EC2の各種サービス

Elastic Block Store(EBS) さらに続き

インスタンス上のデータ領域よりアクセスが早い

デフォルト20ボリュームまで

Page 39: Amazon EC2

DEMO

Page 40: Amazon EC2

EC2の各種サービス

Elastic Load Balancingロードバランサーサービス

インスタンスの負荷具合により、リクエストを振り分ける

1時間$0.025、1Gbyteのデータ処理あたり$0.008

まだbeta版 API操作からのみ利用可(2009/7)

Page 41: Amazon EC2

EC2の各種サービス

Cloud Watchインスタンスとロードバランサーの負荷監視サービス

CPU負荷、ディスクIO、ネットワークトラフィックのモニター

1インスタンス監視あたり1時間$0.015

まだbeta版 API操作からのみ利用可(2009/7)

Page 42: Amazon EC2

EC2の各種サービス

Auto Scaling負荷状態により自動的にインスタンスを起動したり、停止した

りするサービス

Cloud Watch利用の場合は無料

まだbeta版 API操作からのみ利用可(2009/7)

Page 43: Amazon EC2

S3とは

Page 44: Amazon EC2

S3とは

Amazon Simple Strage Service (S3)クラウド上にデータを保存しておくためのサービス

配置したファイルはインターネットからアクセス可能

Apacheのhtdocsみたいなイメージ

細かいアクセス制限が可能

容量上限なし?(over 500TByte)

EC2<-->S3のデータ転送が可能

http://hoge.s3.amazonaws.com/

S3

Page 45: Amazon EC2

S3とは

Amazon Simple Strage Service (S3)続き1Gbyteを月$0.15で保存可能

1Gbyteのアップロードで$0.1、1Gbyteのダウンロードで$0.17

PUT,COPY,POST,LISTリクエスト1000回ごとに$0.01

GETリクエスト10000回ごとに$0.01

Page 46: Amazon EC2

S3の利用方法

Page 47: Amazon EC2

S3とは

S3の管理

管理は、すべてAPI経由

RESTとSOAPのAPIAPI仕様

http://developer.amazonwebservices.com/connect/entry.js pa?externalID=123

Page 48: Amazon EC2

S3とは

敷居高いやないか!!

Page 49: Amazon EC2

S3とは

S3FireFox OrganizerFireFoxのプラグイン

http://www.s3fox.net/

Jets3tJavaライブラリ

https://jets3t.dev.java.net/

あるよ!

Page 50: Amazon EC2

EC2の使い方

Bucket(バケット)データ領域のトップフォルダ

英数小文字、ピリオド、ハイフンのみで、3から63文字

バケット名=サブドメイン名

「http://バケット名.s3.amazonaws.com/」でアクセス

他人が取ったバケットは取れない!

Page 51: Amazon EC2

DEMO

Page 52: Amazon EC2

EC2の使い方

で、EC2から何に使うの?

データのバックアップ

自分で作ったAMIの保存先

自前AMIはS3からロードして起動

稼動中のOSをAMI化してS3に保存

S3上のAMIから起動

Page 53: Amazon EC2

EC2の使い方

オレオレAMIの作成ec2-ami-tools (ruby製)

稼動しているOS上でコマンド実行

ec2-bundle-vol -d $WORK_DIR --arch $ARCH --exclude $EXCLUDE --privatekey $PRIVATE_KEY_FILE --cert $CERT_KEY_FILE --user $AWSUSER

Page 54: Amazon EC2

EC2の使い方

オレオレAMIの転送ec2-ami-tools (ruby製)

稼動しているOS上でコマンド実行

作成したイメージがS3に転送される

ec2-upload-bundle --bucket $BACKUP_BUCKET --manifest $WORK_DIR/image.manifest.xml--access-key $ACCESS_ID --secret-key $SECRET_KEY

Page 55: Amazon EC2

EC2の使い方

オレオレAMIの起動管理コンソールまたはJavaコマンドから、S3上の

manifest.xmlが入っているフォルダを指定

パスを指定して起動

Page 56: Amazon EC2

EC2の使い方

S3本来の使い方S3バケットのURLを、DNSで自分のドメインに紐付け

例)「s3.hoge.com」をS3に関連付ける場合、hoge.comのDNSに

s3.hoge.com. IN CNAME s3.amazonaws.com.

と設定。

S3でバケット名「

s3.hoge.com」を取得する

->http://s3.hoge.comでアクセスすると、s3上のバケットにリクエストが行く

Page 57: Amazon EC2

DEMO

Page 58: Amazon EC2

EC2の使い方

Amazon Cloud FrontS3バケットの中身を、各国のEdgeサーバにコピー

S3バケットにアクセスする際、 寄のサーバから配信

US

EU

Hong Kong

Japan

Original

Page 59: Amazon EC2

構築例/Tips

Page 60: Amazon EC2

テスト

本番

構築例/Tips

構築例Apache,Tomcat,MySQL,Zabbix

本番擬似テスト環境

Apache,Tomcat,MySQL5CPU instance

Zabbix1CPU instance

Apache,Tomcat,MySQL1CPU instance

Page 61: Amazon EC2

構築例/Tips

構築例続き営業段階なので、AP,DB,すべて1つの環境

利用状況により分散構成に変更

ElasticIPで固定IP取得し、ドメインとSSL証明書取得

Zabbixでアプリ監視

本番と同じ環境をテストインスタンスで構築し、確認後AMI化 し本番に展開

パッチやバージョンアップなどもテスト環境で確認可能

設定ファイル・アプリデータ・DBデータはEBS上に保持

Page 62: Amazon EC2

構築例/Tips

バックアップ1日2回、EBSのスナップショットを取得

Typica(http://code.google.com/p/typica/)を使用し、イン

スタンス内からcronでスナップショット作成

スナップショットが一定数を超えたら、古いものから削除

1日1回、MySQLのバイナリログをS3に転送

jets3t(https://jets3t.dev.java.net/)を使用し、インスタンス

内からcronでログ転送

Page 63: Amazon EC2

構築例/Tips

バックアップ

続き週末にDBダンプをS3に転送

S3に転送したものは、自社内のサーバにダウンロード

パッチ・システム構成変更時

AMI作成は手動(AMI作成->S3転送のシェル)

Page 64: Amazon EC2

構築例/Tipsパッチ・システ

ム構成ごとの

AMI

スナップショット

DBは生データを

バックアップ

自社にコピー

重要なデータは

EBSに。

Page 65: Amazon EC2

構築例/Tips

フェイルオーバープランアプリ・DBが壊れたら・・・EBSスナップショットから復旧

OS・システム停止したら・・・AMIから復旧

USリージョンが全滅したら・・・EUにデータアップして復旧

Amazonが全滅したら・・・自社内のサーバに再構築

そんなんないけどね!

Page 66: Amazon EC2

構築例/Tips

Tips

インスタンスは動的に入れ替えられない

CPU・メモリは事前に考える

32bitと64bitプラットフォーム

AMIが異なるので注意

転送速度

平均2.2MBits/sec

• (日中1時間測定した平均)

ping 190ms

Page 67: Amazon EC2

構築例/Tips

Tips 続き

SCPクライアント

WinSCPは遅い

Tunnelierというのが速い

• http://www.bitvise.com/

EBSはXFS

ファイルシステム全体の書き込みを停止できる• aptitude install xfsprogs //xfs用プログラム

• mkfs.xfs /dev/sda //デバイスをxfsで初期化

• xfs_freeze -f /app //マウントポイント書き込み禁止

• xfs_freeze –u /app //書き込み禁止解除

Page 68: Amazon EC2

構築例/Tips

Tips 続き

テスト環境と本番環境のIDを分ける

誤操作防止

インスタンス止めるのびびる

Page 69: Amazon EC2

EC2の利点/まとめ

Page 70: Amazon EC2

EC2の利点/まとめ

EC2の利点

ハードベンダーと話し合いをしなくて良かった

スタートアップの容易さ

初期費用0円

構成を途中で変えられた・変えられる

監視サーバははじめ予定なかった

スナップショットが便利

バックアップはほぼこれでまかなえる

自動化

すべてAPI操作可能

Page 71: Amazon EC2

EC2の利点/まとめ

まとめEC2はクラウド環境

簡単に初めて、すぐにやめられる

ネットワーク構成も可能

好きなOS・アプリを使える

いままでのサーバと変わらない

Page 72: Amazon EC2

EC2の利点/まとめ

Page 73: Amazon EC2

ご清聴ありがとうございました