20120303 jaws summit-meister-01_ec2-ebs

54
AWSマイスターシリーズ リターンズ ~EC2 & EBS~ 201233渡邉 源太 (@gentaw0) ソリューションアーキテクト 玉川 (@KenTamagawa) エバンジェリスト

Upload: amazon-web-services-japan

Post on 27-Jun-2015

1.409 views

Category:

Technology


2 download

DESCRIPTION

2012.3.3 JAWS SUMMIT 2012 マイスターリターンズにて紹介された資料です。

TRANSCRIPT

Page 1: 20120303 jaws summit-meister-01_ec2-ebs

AWSマイスターシリーズ リターンズ ~EC2 & EBS~

2012年3月3日

渡邉 源太 (@gentaw0) ソリューションアーキテクト

玉川 憲(@KenTamagawa)

エバンジェリスト

Page 2: 20120303 jaws summit-meister-01_ec2-ebs

AWSサービス一覧

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

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

Python, Ruby

Web インターフェース

Management Console

IDE プラグイン

Eclipse

Visual Studio

デプロイと自動化 AWS Elastic Beanstalk AWS CloudFormation

認証 & 請求 AWS IAM

Identity Federation Consolidated Billing

モニタリング Amazon CloudWatch

スケーリング Auto Scale

ネットワーク&ルーティング Amazon VPC

Amazon Elastic LB Amazon Route 53

AWS Direct Connect

コンテンツ配信Amazon

CloudFront

メッセージ通知Amazon SNS

分散処理 Elastic MapReduce

メール配信 Amazon SES

コンピュータ処理 Amazon EC2

ストレージ

Amazon S3

Amazon EBS AWS Storage Gateway

データベース Amazon RDS

Amazon DynamoDB Amazon SimpleDB

Amazon Elasticache

AWS のグローバルなインフラ

キューイングAmazon SQS

Page 3: 20120303 jaws summit-meister-01_ec2-ebs

セミナーのAgenda

Amazon EC2とは?

EC2の基本的な使用法

EC2 のセキュリティモデル

利用におけるTIPS

Page 4: 20120303 jaws summit-meister-01_ec2-ebs

Amazon EC2のイメージ

データセンター

仮想サーバ(Amazon EC2)

Windows

( スタンダード) CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

コマンドライン

/ SDK利用

SSH公開鍵

認証

仮想外部ディスク

(Amazon EBS)

ストレージ

AMI

から

仮想デスクトップ

ターミナル

AMI

保存

API

Webコンソール

Page 5: 20120303 jaws summit-meister-01_ec2-ebs

Amazon EC2のメリット

必要なときに何百台でも数分で調達できる

APIを通じた完全なコントロール

多種類のインスタンスサイズ

CPUパワー、コア数、RAM、ディスク容量

多種多彩なAMI(Amazon Machine Image)

すでに用意されたAMIを利用可能

OS: Linux, Windowsを含む

言語、ミドルウェアを選ばない: Oracle DB、LAMPなど

セキュアで柔軟なネットワークセキュリティモデル

デフォルトでポートは全てクローズ。必要に応じてオープンに

SSHアクセスのために、キーペアが必要

Page 6: 20120303 jaws summit-meister-01_ec2-ebs

物理ホストが、複数のVMをホスト

物理インタフェース

ファイアウォール

ハイバーバイザー S

mallタイプ

Larg

eタイプ

Sm

allタイプ

Amazon EC2

インスタンス

物理ホスト

Page 7: 20120303 jaws summit-meister-01_ec2-ebs

EC2インスタンス タイプ

EC2では、任意のインスタンスタイプ(スペック)を選択可能

後からタイプを、変更することもできる

64ビット・プラットフォームの場合

Page 8: 20120303 jaws summit-meister-01_ec2-ebs

HPCのスペック = EC2 + 広帯域幅ネットワーク

クラスター(CC1) クラスターGPU クラスターCC2

CPU Xeon 5570

(Intel Nehalem)

x 2

Xeon 5570 (Intel

Nehalem) x 2

Intel Xeon Eight-

core x 2

GPU

N/A

2NVIDIA Tesla

“Fermi” M2050

GPU x2

N/A

ECU 33.5 33.5 88

メモリ 23 GB 22 GB 60.5 GB

ネットワーク

10Gbps full

bisection

10Gbps full

bisection

10Gbps full

bisection

価格 約100円 / 時間 約162円 / 時間 約185円 / 時間

Page 9: 20120303 jaws summit-meister-01_ec2-ebs

クラスターコンピュート 世界ランキングで42位に!

Page 10: 20120303 jaws summit-meister-01_ec2-ebs

リージョン

アベイラビリティゾーン

Amazon EC2 主要コンポーネント

EC2インスタンス

Elastic IP

Address

セキュリティ

グループ

Load Balancing

Elastic

Block

Storage

CloudWatch

Auto

Scaling

Ephemeral

Storage

Amazon S3

EBS

スナップショット

Amazon

Machine

Image (AMI)

EBS

スナップショット

Virtual Private

Cloud

Page 11: 20120303 jaws summit-meister-01_ec2-ebs

Amazon

Machine

Image (AMI)

リージョン

アベイラビリティゾーン

Amazon EC2 主要コンポーネント

EC2インスタンス

Elastic IP

Address

セキュリティ

グループ

Load Balancing

Elastic

Block

Storage

CloudWatch

Auto

Scaling

Ephemeral

Storage

Amazon S3

EBS

スナップショット

Copyright © 2012 Amazon Web Services

EBS

スナップショット

本セッションの

対象範囲

Virtual Private

Cloud

Page 12: 20120303 jaws summit-meister-01_ec2-ebs

リージョン (東京)

リージョンとアベイラビリティゾーン • 現時点で世界8か所のリージョン

• ユーザーは任意にリージョン選択可能

• 1リージョン内には、物理的に距離が離れたデータセンターが複数拠点存在

• お互いに、地理的、電源的、ネットワーク的に分離されており、地震面、洪水面も考慮

• 東京リージョンの場合、EC2のために物理的に離れた2つのDCが存在(アベイラビリティゾーン: AZと呼ぶ)

• AZは、任意のゾーンを選択し、EC2インスタンスを起動できる

• AZ間は高速専用線でつながれている ( データ転送量も安い)

• リージョン間は インータネット経由

米国

東海岸

米国

西海岸①

ヨーロッパ

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

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

EC2 EC2

シンガポール

米国

西海岸② 南米

+ GovCloud

Page 13: 20120303 jaws summit-meister-01_ec2-ebs

EBS (Elastic Block Store)とは?

リージョン

AZ - a

EC2インスタンス

Amazon

S3 EBS

スナップショット

EBSは、EC2への仮想外付けハードディスク

サイズは1GB単位で~1TBまで

サイズ/期間/IOで課金される

各EC2インスタンスで、複数EBSを使える

詳細

寿命は、EC2インスタンスと独立している (データは永続的に保存される)

アベイラビリティゾーン(AZ) に存在する

他のインスタンスに付け替え可能

EBSスナップショットでS3にバックアップ

バックアップから、EBSを作成可能 (他のAZに作成できる)

EBS

AZ - b

EC2インスタンス

EBS EBS

EBS

Page 14: 20120303 jaws summit-meister-01_ec2-ebs

EBS vs インスタンスストレージ(Ephemeral Storage)

リージョン

AZ - a

EC2インスタンス

Amazon

S3 EBS

スナップショット

EBS

寿命はインスタンスと独立している (データは永続的に保存される)

通常は、EBSを用いれば良い あらゆる種類の永続的データ ブートデータ、商用DBのデータ、クラスタリング

インスタンス ストレージ (Ephemeral Disk)

寿命はインスタンスと同じ (インスタンス落とすとデータは消える)

インスタンスに付属して存在 →別途料金はかからないのがメリット

一時データの書き込み、低料金を活かした高度な利用

EBS

EBS

インスタンス

ストレージ

Page 15: 20120303 jaws summit-meister-01_ec2-ebs

セミナーのAgenda

Amazon EC2とは?

EC2の基本的な使用法

EC2 のセキュリティモデル

利用におけるTIPS

Copyright © 2012 Amazon Web Services

Page 16: 20120303 jaws summit-meister-01_ec2-ebs

2種類のAMIが存在する

・通常はこちらを用いる (2009年後半に追加)

・EC2に停止/終了のオプション有

・停止しても、ファイルシステムは永続する

EBS-Backed AMI

AMI (Amazon Machine Image) サーバーのコピーをとりテンプレート化することで、再利用可能

•EC2開始当初からある

•EC2に停止のオプションはない

•EC2を終了するとデータは消える

S3-Backed AMI

Page 17: 20120303 jaws summit-meister-01_ec2-ebs

2種類のAMIの違い

Amazon S3

ハイパー

バイザー

仮想マシン

複数のEBS

ボリューム

ネットワーク

IO

EBS スナップショット

S3 AMI

複数のインスタンスストレージ

Page 18: 20120303 jaws summit-meister-01_ec2-ebs

EC2インスタンス (EBS-backed)のライフサイクル

EBS の

AMI選択

インスタンス

(Pending)

インスタンス

(Running)

インスタンス

(Shutting Down)

インスタンス

(Terminated)

EBS AMIの作成

インスタンス

(Stop)

インスタンス

(Start)

どのAMIか選択

/ パラメータを渡す/ キーペア、

セキュリティグループ EBSデータは永

続 / タイプ

変更可能

EIPの割り当て / EBSボリュームのアタッチ/セキュリティグループ内の変更

作成したAMIから起動

EIPやEBSのリソース破棄

Page 19: 20120303 jaws summit-meister-01_ec2-ebs

リージョン、起動開始、AMIの選択

Page 20: 20120303 jaws summit-meister-01_ec2-ebs

台数、インスタンスタイプ

Page 21: 20120303 jaws summit-meister-01_ec2-ebs

アベイラビリティゾーン

Page 22: 20120303 jaws summit-meister-01_ec2-ebs

キーペア設定

Page 23: 20120303 jaws summit-meister-01_ec2-ebs

セキュリティグループ設定

Page 24: 20120303 jaws summit-meister-01_ec2-ebs

起動確認

Page 25: 20120303 jaws summit-meister-01_ec2-ebs

Public DNS名で確認

Page 26: 20120303 jaws summit-meister-01_ec2-ebs

ターミナルでアクセス

ログインの際のアカウント名は、AMIによって違うので注意 例) Amazon Linux -> ec2-user その他Linuxの多く -> root

Page 27: 20120303 jaws summit-meister-01_ec2-ebs

EC2インスタンスの停止と終了

Stop(停止)

・EC2インスタンスは消滅する(ハイバネートではない)

・EBSは残る(課金もされる)

Terminate(終了)

・EC2インスタンスは終了

・(デフォルトでは)EBSも消滅

Page 28: 20120303 jaws summit-meister-01_ec2-ebs

EC2のさらなる使い方

EC2インスタンスのアドレス

EIPの追加

インスタンスタイプの変更

EBSの追加/変更

AMIの取得/AMIからの起動

EC2の制限解除フォーム

EBSとS3の使い分け

Page 29: 20120303 jaws summit-meister-01_ec2-ebs

EC2インスタンスのアドレス

全てのインスタンスが下記を持つ

Private IPアドレス

Private DNS名(*.internal)

Public DNS名 (*.amazonaws.com)

public IPアドレスをオプションで付けられる

Elastic IP Addresses (EIP)と呼ぶ

稼働しているEC2インスタンスに、瞬時に付け外しが可能

インスタンスにアサインしているときは料金はかからない

Page 30: 20120303 jaws summit-meister-01_ec2-ebs

EIPの割り当て

Page 31: 20120303 jaws summit-meister-01_ec2-ebs

EIPの使いどころ

通常のケースは、EC2のPublic DNS名を用いて、CNAMEで名前変換を行う

Route 53(名前解決サービス)で、Public DNSを用いる

ELB(ロードバランサ)の配下にEC2をつける場合も

メールサーバー等、固定IPが必要なときはEIPを用いる

メールサーバの送信制限解除、逆引き申請が必要な場合は下記から申請を行う

https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request

Page 32: 20120303 jaws summit-meister-01_ec2-ebs

EC2インスタンスのサイズ変更

Copyright © 2012 Amazon Web Services

Page 33: 20120303 jaws summit-meister-01_ec2-ebs

EBSボリュームのアタッチ

Copyright © 2012 Amazon Web Services

Page 34: 20120303 jaws summit-meister-01_ec2-ebs

EBSボリュームのサイズ変更も可能

Copyright © 2012 Amazon Web Services

リージョン

アベイラビリティゾーン

EC2インスタンス

Amazon

S3 スナップショット

流れ

EBSをデタッチする

EBSからS3にスナップショットを作成する

新たなボリュームサイズを指定して、EBSを作成する

EBSをアタッチする

マウントして、リサイズする

EBS

(10GB)

EBS

(100GB)

Page 35: 20120303 jaws summit-meister-01_ec2-ebs

AMIの取得 / AMIからの起動

Copyright © 2012 Amazon Web Services

Page 36: 20120303 jaws summit-meister-01_ec2-ebs

共有ディスクとしての、EBSとS3

Copyright © 2012 Amazon Web Services

リージョン

アベイラビリティゾーン

EC2インスタンス

Amazon

S3

バケット

EBSは複数EC2にアタッチ不可

単独のEC2インスタンスへのブロックデバイスとしての使い方

NFSのような使い方をする際は、EC2にミドルウェアを導入 (GlusterFS等)

S3は複数のEC2からアクセス可

ただし、Write Once Read A Lotな使い方に向いている

耐久性の設計は、99.999999999%で非常に高

EBS

EC2インスタンス

HTTP/

HTTPS

Page 37: 20120303 jaws summit-meister-01_ec2-ebs

セミナーのAgenda

Amazon EC2とは?

EC2の基本的な使用法

EC2 のセキュリティモデル

利用におけるTIPS

Copyright © 2012 Amazon Web Services

Page 38: 20120303 jaws summit-meister-01_ec2-ebs

責任分担モデル

Copyright © 2012 Amazon Web Services

物理インタフェース

ファイアウォール

ハイバーバイザー

Sm

all

Larg

e

Sm

all Amazon EC2

インスタンス

物理ホスト

ユーザーが

責任を持って

管理する

AWSが

責任を持って

管理する

Page 39: 20120303 jaws summit-meister-01_ec2-ebs

各インスタンスが、ファイアウォールを持つ

•デフォルトでは、全てのポートが閉じており、外からアクセスできない

•必要なポートのみを、必要に応じて空ける

EC2 インスタンス

ポート 22

(SSH)

ポート80

(HTTP)

EC2ファイア

ウォール

Page 40: 20120303 jaws summit-meister-01_ec2-ebs

Public EC2ネットワークの Securityパラメータ

インバウンドのアクセスのみを制御する

セキュリティグループにより、アクセスルールを設定する

インスタンスの起動時に、グループをアサインする

稼働中のインスタンスの既存グループは編集できる

アクセスルール:

名前

説明

プロトコル

ポートレンジ

IPアドレスの範囲

Page 41: 20120303 jaws summit-meister-01_ec2-ebs

インターネット外からのアクセスに加えて、セキュリティグループ間も制御できる

Web Security Group

Web サーバー

ポート 22

(SSH)

ポート 80

(HTTP)

App Security Group

App サーバー

ポート 22,

2048 DB Security Group

DB サーバー

ポート3300

ポート 22

(SSH) Web

サーバー

App サーバー

DB サーバー

Page 42: 20120303 jaws summit-meister-01_ec2-ebs

セキュリティ証明書

データセンター

仮想サーバ(Amazon EC2)

Windows

( スタンダード)

コマンドライン

/ SDK利用

SSH公開鍵

認証

仮想デスクトップ

ターミナル

REST

/ SOAP API

Webコンソール

①EC2インスタン

スへのアクセスは、キーペア

の利用

②Webコンソールへのアクセス

Webログイン /

多要素認証 / IAM

③APIへのアクセス

アクセスキー / X.509証明書 / IAM

Page 43: 20120303 jaws summit-meister-01_ec2-ebs

EC2インスタンスへのアクセスには、

キーペアが使われる

キーペアの作成

公開鍵は、AWSによってEC2起動時に埋め込まれる

秘密鍵は、デスクトップにダウンロードされる

EC2インスタンスは2つの鍵を用いる

・公開鍵はリージョン毎に管理

・作成した公開鍵のUploadも可能

(この場合、リージョン間で同じ

鍵も利用できる)

Page 44: 20120303 jaws summit-meister-01_ec2-ebs

AWSのAPIへのアクセス キーペア

X.509 証明書

AWSのWebの管理画面

Page 45: 20120303 jaws summit-meister-01_ec2-ebs

セミナーのAgenda

Amazon EC2とは?

EC2の基本的な使用法

EC2 のセキュリティモデル

利用におけるTIPS

Copyright © 2012 Amazon Web Services

Page 46: 20120303 jaws summit-meister-01_ec2-ebs

故障のための設計: Design for Failure

故障に備えた設計をしておく

SPOF(単一障害点)の排除

すべてが故障しうると考え、システム全体での保守的設計

障害からの復旧(対応品質)を重視する

EC2における故障のための設計

AMIを常にとっておく

EBSスナップショットでバックアップ

EIPを用いたフェールオーバー

複数アベイラビリティゾーンへの分散

ELBでサーバを冗長化

Auto Scalingで自動復帰

Reserved Instance

他の冗長性高いサービスとの組み合わせ

S3, SimpleDB, RDS他

http://www.slideshare.net/kentamagawa/aws-7991623

Page 47: 20120303 jaws summit-meister-01_ec2-ebs

定期的なバックアップ

EC2のAMIを定期的に作成する (参考) 無停止でAMI取得 Cloudpackさんブログhttp://blog.cloudpack.jp/2011/03/aws-news-ec2-instance-no-reboot-ami.html

データボリュームとしてのEBSの場合、EBSのスナップショットを定期的に作成

スクリプトを書いて定期的なバックアップを行うことも可能 Code.rockさんブログhttp://blog.dateofrock.com/2010/03/auto-backup-amazon-ebs-with-ruby.html

サーバーワークスさんブログhttp://blog.serverworks.co.jp/tech/2011/07/21/awssdk-for-ruby-create-snapshot/

Page 48: 20120303 jaws summit-meister-01_ec2-ebs

EC2へのファイル転送は?

SCPを使う

scp pk-XXX.pem [email protected]:/xxx

Windowsの場合は、WinSCPなど

S3経由で共有する

S3にアップロードし、EC2からwgetでアクセスする

FTPを立ち上げる

EC2側でFTPサーバーを立ち上げておく

高速に送信したい

Tsunami UDP, Aspera等のソリューションあり

Page 49: 20120303 jaws summit-meister-01_ec2-ebs

Global IPとPrivate IP

Public DNS名は、外部からアクセスするために名前解決を行うとglobal IPアドレスが得られる

一方で、EC2インスタンスからEC既定(デフォルト)のDNSサーバーを使って名前解決するとprivate IPアドレスが返却される

トラフィック課金の仕組みとして、EC2インスタンス同士でもglobal IPを使って通信するとトラフィック課金が発生する

この名前解決の仕組みを利用すれば、EC2ネットワークの中と外を意識してプログラムしなくても、不要な部分で外部扱いの通信が発生せず、料金面でメリットがあり、遅延もわずかに小さい

Page 50: 20120303 jaws summit-meister-01_ec2-ebs

稼働EC2インスタンスからメタデータ取得

curl http://169.254.169.254/latest/meta-data

ami-id

ami-launch-index

ami-manifest-path

block-device-mapping/

hostname

instance-action

instance-id

Instance-type

kernel-id

local-hostname

local-ipv4

mac

network/

placement/

profile

public-hostname

public-ipv4

public-keys/

reservation-id

Page 51: 20120303 jaws summit-meister-01_ec2-ebs

EBSボリュームのパフォーマンス

単体のEBSボリュームとして「共有リソース」としての影響を最小限にするには

最大の1TBを利用するとI/Oの面では有効

アプリとして利用できるスループットを高めるためには、software raidなどで、特定ボリュームの性能低下に影響を受けにくくできる

EBSを用いたRaid 0(ストライピング)も可能 (参考) koba206の開発WIKI http://dev.koba206.com/?p=21

Page 52: 20120303 jaws summit-meister-01_ec2-ebs

起動時にパラメーターを渡す

起動時に16KB以内ですが任意のものを渡せる

ChefやPuppetなどを利用して、自己構成できるAMIに

参照:サーバーワークスさんブログ Chefを使用してEC2インスタンスを操作するチュートリアル:その1

Page 53: 20120303 jaws summit-meister-01_ec2-ebs

EC2コマンドラインツール

コマンドラインからEC2のAPIにアクセスできるツール

クロスプラットフォーム(Javaで記述)

ツールをインストールし、セキュリティ証明書を配置

Page 54: 20120303 jaws summit-meister-01_ec2-ebs

ご参加ありがとう ございました

Copyright © 2012 Amazon Web Services