Amazon EC2

Post on 07-Dec-2014

470 views 1 download

Tags:

description

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

Transcript of Amazon EC2

Amazon EC2

- a Cloud Computing Environment-

自己紹介

名前片山暁雄

IDid:c9katayamac95029@gmail.com

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

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

Agenda

EC2とは

EC2の使い方

EC2の各種サービス

S3とは

S3の使い方

構築例/Tips

EC2の利点/まとめ

EC2とは

EC2とは

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

http://aws.amazon.com/

EC2=Elastic Compute Cloud

EC2とは

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

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

デフォルトは20個まで。

インスタンス!

EC2とは

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

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

EC2とは

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

データは全部消えます

OSの再起動は可能

外部IPアドレス

外部DNS

内部IPアドレス

内部DNS

ランダムに1個ずつ付与

EC2とは

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

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

4箇所

2箇所

EC2とは

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

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

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

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.

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

EC2とは

料金初期費用:0円

月額固定費用:0円

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

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

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

EC2とは

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

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

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

1(時間)×$1.00 = $1

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

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インスタンスの場合

月の利用日で比較

EC2とは

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

Data In $0.10 per GB

Data Out

( 初の10 TBまで)

$0.17 per GB

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

EC2とは

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

EC2の使い方

EC2の使い方

EC2の管理

管理は、すべてAPI経由

RESTとSOAPのAPI

ec2-api-tools

Javaライブラリ

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

EC2とは

敷居高いやないか!!

EC2の使い方

AWS Management ConsoleWebアプリ

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

ElasticFoxFireFoxのプラグイン

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

あるよ!

EC2の使い方

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

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

インスタンス

AMI

ログイン用キーペア

セキュリティグループ

EC2の使い方

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

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

Amazonが用意してくれている

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

EC2の使い方

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

コンソールで生成

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

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

EC2の使い方

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

EC2の使い方

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

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

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

EC2の使い方

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

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

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

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

EC2の使い方

web

app

app

db

default

default

default

default

EC2の使い方

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

インスタンス

AMI

ログイン用キーペア

セキュリティグループ

起動!

DEMO

EC2の各種サービス

EC2の各種サービス

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

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

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

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

デフォルトで5IPまで

210.81.3.241 211.14.15.5

EC2の各種サービス

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

外付けHDDみたいなもの

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

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

EBS:10Gbyte

/dev/sda

/appにマウント!

EC2の各種サービス

Elastic Block Store(EBS)続き

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

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

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

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

スナップショット

EC2の各種サービス

Elastic Block Store(EBS) さらに続き

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

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

DEMO

EC2の各種サービス

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

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

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

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

EC2の各種サービス

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

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

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

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

EC2の各種サービス

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

りするサービス

Cloud Watch利用の場合は無料

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

S3とは

S3とは

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

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

Apacheのhtdocsみたいなイメージ

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

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

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

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

S3

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

S3の利用方法

S3とは

S3の管理

管理は、すべてAPI経由

RESTとSOAPのAPIAPI仕様

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

S3とは

敷居高いやないか!!

S3とは

S3FireFox OrganizerFireFoxのプラグイン

http://www.s3fox.net/

Jets3tJavaライブラリ

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

あるよ!

EC2の使い方

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

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

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

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

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

DEMO

EC2の使い方

で、EC2から何に使うの?

データのバックアップ

自分で作ったAMIの保存先

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

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

S3上のAMIから起動

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

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

EC2の使い方

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

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

パスを指定して起動

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上のバケットにリクエストが行く

DEMO

EC2の使い方

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

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

US

EU

Hong Kong

Japan

Original

構築例/Tips

テスト

本番

構築例/Tips

構築例Apache,Tomcat,MySQL,Zabbix

本番擬似テスト環境

Apache,Tomcat,MySQL5CPU instance

Zabbix1CPU instance

Apache,Tomcat,MySQL1CPU instance

構築例/Tips

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

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

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

Zabbixでアプリ監視

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

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

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

構築例/Tips

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

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

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

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

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

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

内からcronでログ転送

構築例/Tips

バックアップ

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

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

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

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

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

ム構成ごとの

AMI

スナップショット

DBは生データを

バックアップ

自社にコピー

重要なデータは

EBSに。

構築例/Tips

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

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

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

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

そんなんないけどね!

構築例/Tips

Tips

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

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

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

AMIが異なるので注意

転送速度

平均2.2MBits/sec

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

ping 190ms

構築例/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 //書き込み禁止解除

構築例/Tips

Tips 続き

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

誤操作防止

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

EC2の利点/まとめ

EC2の利点/まとめ

EC2の利点

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

スタートアップの容易さ

初期費用0円

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

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

スナップショットが便利

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

自動化

すべてAPI操作可能

EC2の利点/まとめ

まとめEC2はクラウド環境

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

ネットワーク構成も可能

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

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

EC2の利点/まとめ

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