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

Preview:

DESCRIPTION

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

Citation preview

JAWS-UG 三都物語 2014 !

Elasticity あんじょうやりや

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

✦ 本日のアジェンダ

‣ ELB

‣ AutoScaling

‣ EIP

#jawsug

✦ プロフィール

‣ NRIネットコム株式会社

‣ Twitter: @dkfj

‣ Facebook: takuro.sasaki

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

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

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

自己紹介: 佐々木拓郎

Elasticity

Elasticity (イラステシティー)

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

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

ElasticがつくAWSのサービス

• Elastic Ip

• Elastic Load Balancer

• Elastic Beanstalk

• Elastic Cache

• Elastic Block Store

• Elastic MapReduce

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

コンピュータ処理 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のサービス一覧この辺りの レイヤーです

Elastic Load Balancer (ELB)

ELBとは?

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

‣ 負荷分散

‣ スケーラブル

‣ ヘルスチェック機能

‣ AutoScalingとの連携

ELBの概念図

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

負荷分散の仕組みDNS

ラウンドロビン

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

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

ELBのスケーリング

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

ヘルスチェック機能

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

‣ PortCheck / HTTP Ping

‣ タイムアウト値

‣ チェック間隔

‣ 成功/失敗回数

AutoScalingとの連携

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

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

AutoScaling

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

増減するサービス

ELB以外とも連携できる

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

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

AutoScalingの設定

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

‣ Launch Configuration

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

‣ AutoScaling Group

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

‣ AutoScaling Policy

  ⇒増減のルール

1台でもAutoScaling

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

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

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

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

AMI再作成パターン

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

BootStrapパターン

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

他にも

いろいろな方法がある

‣ NFS Sharingパターン

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

‣ Clone Serverパターン

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

参考になります

Elastic IP (EIP)

EIPとは?

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

Elasticity?

付け替え可能

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

Elasticityの例Google Maps APIの利用

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

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

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

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

!

!

‣ Elasticityは、AWSの華

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

‣ Cloud Design Patternを参考に

まとめ

!

‣ 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

参考資料

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