32
AWSではじめる GlusterFS 2012/8/22 hbstudy#36

Awsではじめるgluster fs 20120726-public

Embed Size (px)

DESCRIPTION

2012年8月22日、hbstudy#36で話した資料です。GlusterFSのGeo-Replicationの手順は http://d.hatena.ne.jp/c9katayama/20120819 です。

Citation preview

Page 1: Awsではじめるgluster fs 20120726-public

AWSではじめる GlusterFS

2012/8/22 hbstudy#36

Page 2: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

自己紹介

名前:片山暁雄

所属:アマゾンデータサービスジャパン

職種:ソリューションアーキテクト

@c9katayama

好きなミドルウェア:

Apache Tomcat

好きなLinux

Amazon Linux

Page 3: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

本日のアジェンダ

AWS(Amazon Web Services)のご紹介

AWSではじめるGlusterFS

まとめ

Page 4: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

AWS(Amazon Web Services)

のご紹介

Page 5: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services 5

カリフォルニア ダブリン

シンガポール

東京

オレゴン

世界中でサービスを展開中

初期費用なしで全世界のインフラを利用可能

バージニア

サンパウロ

リージョン

エッジローケーション

GovCloud

データは指定した地域に置かれる

Page 6: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

AWSの様々なサービス

6

お客様のアプリケーション

認証 AWS IAM

モニタリング Amazon

CloudWatch

Web管理画面 Management

Console

デプロイと自動化 AWS Elastic Beanstalk

AWS CloudFromation

IDEプラグイン Eclipse

Visual Studio

ライブラリ & SDKs Java, PHP, .NET,

Python, Ruby

Development &

Administration

コンテンツ配信 Amazon CloudFront

メッセージ Amazon SNS Amazon SQS

分散処理 Elastic MapReduce

メール配信 Amazon SES

キャッシング Amazon Elasticache

ワークフロー管理 Amazon SWF

Application

Service

コンピュータ処理

Amazon EC2 Auto Scale

ストレージ Amazon S3

Amazon EBS AWS StorageGateway

Amazon Glacier

データベース Amazon RDS

Amazon DynamoDB Amazon SimpleDB

AWS グローバルインフラ Geographical Regions, Availability Zones, Points of Presence AZ Region

ネットワーク & ルーティング Amazon VPC / Amazon Elastic Load Balancer / Amazon Route 53 /AWS Direct Connect

Infrastructure

Service

Page 7: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Amazon EC2(Elastic Compute Cloud)

1 任意のゾーンに 分散配置可能

リージョン アベイラビリティ

ゾーン A

EC2

アベイラビリティ ゾーン B

EC2

EC2

数分で起動可能な仮想サーバ

1時間ごとの従量課金で利用可能

14種類の仮想サーバを選択可能

Windows, Linuxなどx86-64アーキテクチャのOSが利用可能

OS以上は自由に触れる

GlusterFSでもJbossでもインストール可能

Page 8: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Amazon EBS(Elastic Block Store)

EC2にマウント可能なストレージ

1EBSあたり最大1TB

複数のEBSを1つのEC2インスタンスにアタッチ可能

EBSを別のEC2にマウントしなおす事も可能

ただし複数のEC2から1つのEBSをマウントすることは出来ない

任意のファイルシステムでフォーマット

スナップショット機能

任意の時点の全データをS3へ保管

EC2

EBS

EBS /dev/xvdg

EBS /dev/xvdf

S3

Page 9: Awsではじめるgluster fs 20120726-public

NASA火星探査機「Curiosity」

・火星探査ミッションのライブ配信 ・3つのリージョン、300台以上のサーバー ・WebサイトにもAWSを利用

Page 10: Awsではじめるgluster fs 20120726-public

NASAのWebシステムアーキテクチャ

・WebサーバにNginx、CMSにRailoを使用

・GlusterFSをCMSのファイル共有ディスクに ・使用サービス:CloudFront,Route53,ELB,EC2,RDS,S3,CloudWatch

Page 11: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

AWSではじめるGlusterFS

Page 12: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

GlusterFSをAWSで実行すると・・

サーバ、ディスクの調達が容易

時間課金で試すのが簡単

異なるデータセンター間・遠隔地へのレプリカテストが容易

世界中のデータセンターが使える

GlusterFSを使用して、冗長的なアーキテクチャを実装可能

最も困難なデータ冗長化を実現

クラウドアーキテクチャの自由度が大幅にUP

RHELも従量課金!!

Page 13: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Step1 まずは2台でハンズオン

t1.microのAmazonLinuxインスタンスを同一アベイラビリティゾーンに2台起動

GlusterFSのインストール

yum localinstall -y http://adsj-demo.s3.amazonaws.com/gluster-

fs3.3/glusterfs-3.3.0-1.el6.x86_64.rpm http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-server-3.3.0-1.el6.x86_64.rpm http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-fuse-3.3.0-1.el6.x86_64.rpm

service glusterd start EC2 EBS

EC2 EBS

2つに

インストール

Page 14: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

レプリカ設定

gluster peer probe EC2インスタンス2IP

gluster vol create vol01 replica 2 EC2インスタンス1IP:/mnt/ebs/brick-vol01 EC2インスタンス2IP:/mnt/ebs/brick-vol01

gluster vol start vol01

マウント

mkdir /mnt/gluster-vol01

mount -t glusterfs EC2インスタンス1IP:/vol01 /mnt/gluster-vol01

Step1 まずは2台でハンズオン

EC2 EBS

EC2 EBS

レプリカ

Page 15: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

片山さん、めんどくさいよ・・・

Page 17: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Type" : "AWS::EC2::Instance",

"Properties" : {

"InstanceType" : "t1.micro",

"AvailabilityZone" : "ap-northe

"SecurityGroups" : [ { "Ref" : "I

"KeyName" : { "Ref" : "KeyNa

"ImageId" : "ami-2819aa29",

{

"AWSTemplateFormatVersion" : "2010-09-09",

"Description" : "GlusterFS Sample. Replicate between two EC2 instances.",

"Parameters" : {

"KeyName" : {

"Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance",

"Type" : "String"

}

},

"Resources" : {

"Ec2Instance" : {

"Type" : "AWS::EC2::Instance",

"Properties" : {

"InstanceType" : "t1.micro",

"AvailabilityZone" : "ap-northeast-1a",

"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],

"KeyName" : { "Ref" : "KeyName" },

"ImageId" : "ami-2819aa29",

"Tags" : [{"Key": "Name", "Value": "2Replica-GlusterA1"}],

"UserData": { "Fn::Base64": { "Fn::Join": [ "", [

"#!/bin/bash\n",

"mkdir /gluster\n",

"yum localinstall -y http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-3.3.0-1.el6.x86_64.rpm http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-server-3.3.0-1.el6.x86_64.rpm http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-fuse-3.3.0-1.el6.x86_64.rpm\n",

"service glusterd start\n"

] ]

}

}

}

},

"Ec2Instance2" : {

"Type" : "AWS::EC2::Instance",

"Properties" : {

"InstanceType" : "t1.micro",

"AvailabilityZone" : "ap-northeast-1a",

"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],

"KeyName" : { "Ref" : "KeyName" },

"ImageId" : "ami-2819aa29",

"Tags" : [{"Key": "Name", "Value": "2Replica-GlusterA2+Client"}],

"UserData": { "Fn::Base64": { "Fn::Join": [ "", [

"#!/bin/bash\n",

"mkdir /gluster\n",

"yum localinstall -y http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-3.3.0-1.el6.x86_64.rpm http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-server-3.3.0-1.el6.x86_64.rpm http://adsj-demo.s3.amazonaws.com/gluster-fs3.3/glusterfs-fuse-3.3.0-1.el6.x86_64.rpm\n",

"service glusterd start\n",

"gluster peer probe ", { "Fn::GetAtt" : [ "Ec2Instance", "PrivateDnsName" ] },"\n",

"HOSTNAME=`hostname`\n",

"gluster vol create vol01 replica 2 ","$HOSTNAME:/gluster/brick-vol01 ", { "Fn::GetAtt" : [ "Ec2Instance", "PrivateDnsName" ] }, ":/gluster/brick-vol01\n",

"gluster vol start vol01\n",

"mkdir /mnt/gluster-vol01\n",

"mount -t glusterfs ","$HOSTNAME:/vol01 /mnt/gluster-vol01\n"

] ]

}

}

}

},

"InstanceSecurityGroup" : {

"Type" : "AWS::EC2::SecurityGroup",

"Properties" : {

"GroupDescription" : "EC2 Instance access"

}

},

"SGroupIngress1" : {

"Type" : "AWS::EC2::SecurityGroupIngress",

"Properties" : {

"GroupName" : { "Ref" : "InstanceSecurityGroup" },

"IpProtocol" : "tcp",

"ToPort" : "65535",

"FromPort" : "1",

"SourceSecurityGroupName" : { "Ref" : "InstanceSecurityGroup" }

}

},

"SGroupIngress2" : {

"Type" : "AWS::EC2::SecurityGroupIngress",

"Properties" : {

"GroupName" : { "Ref" : "InstanceSecurityGroup" },

"IpProtocol" : "tcp",

"ToPort" : "22",

"FromPort" : "22",

"CidrIp" : "0.0.0.0/0"

}

}

},

"Outputs" : {

"InstanceId" : {

"Description" : "InstanceId of the newly created EC2 instance",

"Value" : { "Ref" : "Ec2Instance2" }

},

"PublicIP" : {

"Description" : "Public IP address of the newly created EC2 instance",

"Value" : { "Fn::GetAtt" : [ "Ec2Instance2", "PublicIp" ] }

},

"PublicDNS" : {

"Description" : "Public DNSName of the newly created EC2 instance",

"Value" : { "Fn::GetAtt" : [ "Ec2Instance2", "PublicDnsName" ] }

}

}

}

Page 18: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Step2 AZ間のデータ同期

インスタンス起動

t1.microのLinuxインスタンスを異なるAZに2台づつ起動。

4つで1ボリューム

GlusterFSを4台にインストール

レプリカ設定

レプリカを2に設定

AZで2対になるように設定

ファイルシステムにマウント

EC2 EBS

EC2 EBS

EC2 EBS

EC2 EBS

Zone-A

Zone-B

レプリカ

レプリカ

4つで1ボリューム

Page 19: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

片山さん、更にめんどくさいよ・・・

Page 20: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

もちろんアリます!

AWS CloudFormation 作ったシステム構成は、一気に破棄できます。

ボタンで発動

CloudFormationテンプレート http://adsj-demo.s3.amazonaws.com/gluster-

fs3.3/gluster-fs-sample-4replica-2az.json

Page 21: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Step3 よりグローバルなシステム

複数のリージョンを使ったシステム

例えば日本とシンガポールをまたいだシステム構築

バックアップシステムやDRシステム

Geo-Replication

遠隔地へ、非同期でデータを同期

マスター/スレーブモデル

Replicated Volumes Geo-replication

クラスター内でデータをミラーリング 地理的に離れたクラスタでデータをミラーリング

高可用性を提供 バックアップやDR用途

同期処理 非同期処理

Page 22: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

EC2 EBS

EC2 EBS

EC2 EBS

EC2 EBS

USリージョン

(マスター)

シンガポール

(スレーブ)

レプリカ

レプリカ

Geo-Replication 通常ファイルシステム指定も可

Page 23: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services 23

カリフォルニア

ダブリン

シンガポール

東京

オレゴン

全世界17カ所のAZでGluster可能

バージニア

サンパウロ

リージョン

アベイラビリティゾーン

Page 24: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Geo-Replicationの構築手順

http://d.hatena.ne.jp/c9katayama/20120819

Page 25: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Step4 あんまり使わないデータ

勢いでGlusterFSに貯めたものの、実はあんまり使わないデータ

アクセスログ

ユーザー操作履歴

加工前の画像・元データ

動画元データ

冗長化している分、ディスク費用がかかる

Page 26: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Amazon Glacier

Glacier(グレーシャー)=氷河

非常に低価格かつ高耐久性のアーカイブ用ストレージ

1Gbyteあたり月間約0.8円でデータ保管可能

99.999999999%の耐久性(複数箇所に保存)

1ファイル40Tbyte、ファイル数上限なし

G to G to G (Gluster to Geo to Glacier)

氷結

Page 27: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

AWS 無料使用枠(12ヵ月)

Amazon EC2 750時間/月のLinux マイクロインスタンス

複数インスタンスでも、合計750時間/月であれば無料利用枠に該当

Amazon EC2 750時間/月のWindows Server マイクロインスタンス

複数インスタンスでも、合計750時間/月であれば無料利用枠に該当

Amazon EBS

30 GB に加え、200万 I/O、スナップショット ストレージ 1 GB

Elastic Load Balancing

750時間に加え 15 GB 分のデータ処理

帯域幅「送信(アウト)」15 GB

十分GlusterFS試せます!

Page 28: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

Tips

ネットワークおよびEBSのIOパフォーマンスが欲しい場合

大きいインスタンス、大きいEBSボリュームを使用して下さい

EBSのストライピングも可能

Provisioned IOPSのEBSボリュームなら、安定したIOPSを提供

使用前のウォームアップ

EBS全領域へ一度書き込む事をお勧めします

エフェメラルディスクでもGlusterFS

料金無料の内蔵ディスクもGlusterなら便利に利用可能

ログの保存などに

2TのSSDを内蔵したEC2インスタンスもリリース

Page 29: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

まとめ

Page 30: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

まとめ

Gluster おためしするなら AWS!

無料枠 十分これで 試せます!

アカウント 作成までが 勉強会

Glusterで クラウド設計 柔軟に!

商用の Glusterなら Red Hat

Page 31: Awsではじめるgluster fs 20120726-public

Copyright © 2012 Amazon Web Services

http://aws.amazon.com/jp/event_schedule/awssummittokyo2012/

Page 32: Awsではじめるgluster fs 20120726-public

32