30
JAWS-UG 三都物語 2014 Elasticity あんじょうやりや 2014年7月5日 NRIネットコム株式会社 佐々木拓郎

JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Embed Size (px)

DESCRIPTION

JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Citation preview

Page 1: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

JAWS-UG 三都物語 2014 !

Elasticity あんじょうやりや

2014年7月5日 NRIネットコム株式会社 佐々木拓郎

Page 2: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

✦ 本日のアジェンダ

‣ ELB

‣ AutoScaling

‣ EIP

#jawsug

Page 3: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

✦ プロフィール

‣ NRIネットコム株式会社

‣ Twitter: @dkfj

‣ Facebook: takuro.sasaki

‣ blog: http://blog.takuros.net/

‣ 好きなAWSサービス: S3,SQS

‣ 本業ともAWSとも全く関係ない技術本を執筆中        (Rubyのクローラー本。8月くらいに発売?)

自己紹介: 佐々木拓郎

Page 4: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Elasticity

Page 5: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Elasticity (イラステシティー)

【名詞】 弾力性、融通性、弾性

つまり便利ということです。

Page 6: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ElasticがつくAWSのサービス

• Elastic Ip

• Elastic Load Balancer

• Elastic Beanstalk

• Elastic Cache

• Elastic Block Store

• Elastic MapReduce

• Elastic Transcoder ⇒名前に困ったら、頭にElasticを付ける傾向があります

Page 7: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

コンピュータ処理 Amazon EC2

ストレージ Amazon S3, Glaicer

Amazon EBS

データベース Amazon RDS, DynamoDB

Amazon Simple DB Elasticache, Redshift

コンテンツ配信 Amazon

CloudFront

メッセージ Amazon SNS Amazon SQS

分散処理 Elastic

MapReduce

メール配信 Amazon SES

ワークホース Amazon

Mechanical Turk

認証&請求 AWS IAM

Identity Federation Consolidated Billing

モニタリング Amazon

CloudWatch

スケーリング Auto Scale

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

AWS DirectConnect

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

Webインターフェース Management

Console

IDEプラグイン Eclipse,

Visual Studio

デプロイと自動化 Elastic Beanstalk CloudFormation

OpsWorks

AWSのサービス一覧この辺りの レイヤーです

Page 8: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Elastic Load Balancer (ELB)

Page 9: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ELBとは?

AWSのロードバランサー サービス

‣ 負荷分散

‣ スケーラブル

‣ ヘルスチェック機能

‣ AutoScalingとの連携

Page 10: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ELBの概念図

リクエストを受け付けて 割り振る

Page 11: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

負荷分散の仕組みDNS

ラウンドロビン

接続状況に 応じて割り振り

AZごとに2台構成がお勧め (MultiAZの場合、4台)

Page 12: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ELBのスケーリング

負荷に応じて、勝手にスケーリング

Page 13: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ヘルスチェック機能

指定したルールに従いバックエンドの サーバのヘルスチェック

‣ PortCheck / HTTP Ping

‣ タイムアウト値

‣ チェック間隔

‣ 成功/失敗回数

Page 14: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

AutoScalingとの連携

負荷に応じて、自動的にサーバが増える!!

夢のような機能 ・しかし、銀の弾丸では無い ・増加までのタイムラグ ・ボトルネックの移動 ⇒使いこなせれば、大きな力

Page 15: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

AutoScaling

Page 16: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

AutoScalingとは?負荷に応じて、自動的にサーバを

増減するサービス

Page 17: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ELB以外とも連携できる

例えば、SQS 処理待ちの数により、サーバを増減

Custom Metricsを使えば、 何でも出来る

Page 18: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

AutoScalingの設定

複数のルールの設定が必要

‣ Launch Configuration

  ⇒起動するインスタンスの情報

‣ AutoScaling Group

  ⇒対象のネットワークや台数

‣ AutoScaling Policy

  ⇒増減のルール

Page 19: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

1台でもAutoScaling

最低、最大台数を1台に指定 サーバが落ちても、勝手に復活

起き上がりこぼし パターン

Page 20: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

AutoScalingのデプロイの戦略どうやって、アプリ・コンテンツを

最新の状態を維持するのか?

Page 21: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

AMI再作成パターン

アプリ・リリース後に、AMIを作成。AutoScaling GroupのAMIを入れ替え

Page 22: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

BootStrapパターン

起動後に、最新のアプリをデプロイする

Page 23: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

他にも

いろいろな方法がある

‣ NFS Sharingパターン

  ⇒アプリ/コンテンツをNFSサーバで共有

‣ Clone Serverパターン

  ⇒起動時に他のサーバからコピーするクラウドデザインパターン(CDP)が

参考になります

Page 24: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Elastic IP (EIP)

Page 25: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

EIPとは?

インスタンスに割り当て可能なグローバルIP

Page 26: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Elasticity?

付け替え可能

サーバとEIPを 1対1の関係で考えると Elasticではなくなる

Page 27: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

Elasticityの例Google Maps APIの利用

• 1IP辺り1日2,500回のリクエスト制限

• 郵便番号(12万件)を、経度緯度に変換したい

• 120,000件/2,500回 ⇒ 48日

• AWSを利用して50台のサーバを使い1時間で完了

!

Page 28: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

!

‣ Elasticityは、AWSの華

‣ オンプレミスの設計に引きづられ過ぎるとElasticityが薄れる

‣ Cloud Design Patternを参考に

まとめ

Page 29: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

!

‣ AWSマイスターシリーズ

  http://www.slideshare.net/AmazonWebServicesJapan/20130612-aws-meisterregenerateelbpublic

http://www.slideshare.net/AmazonWebServicesJapan/awsa

‣ クラウドデザインパターン(CDP)

  http://aws.clouddesignpattern.org/index.php/

‣ 参照URL

  Amazon Elastic Load Balancing (ELB)の内部構造および拡張・障害時の動き   http://blog.takuros.net/entry/20140211/1392112668

参考資料

Page 30: JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP

ご清聴ありがとうございました 後日の質問は、@dkfjまで