SlideShare ist ein Scribd-Unternehmen logo
1 von 12
LVSをVPC上に構築してみた
こみや@ISAO
※主に部内向けの説明資料です
1.なぜLVSか






⇒重みづけしたかった
⇒Haproxyよりパフォーマンスがいいらしい
⇒オンプレとAWS以外のクラウドで運用に慣れてる
⇒smallスタートでコスト削減
2.ELBvsLVS比較表
内容

ELB

LVS

重みづけ

できない

できる

お値段

維持費と従量課金

インスタンス代実費

スケーリング

自動

手動

運用コスト

低い

拡張時と壊れたときに高い

・実は案外お値段は変わらないといううわさも。
3.最初の設計
VPC

IGW

Global Segment

Mail

DEV

ADM

Private Segment

LVS
LVS
Mng

NAT

WEB
WEB

LVS
IMG

DB
DB

Ca
Ca
NFS
NFS

・LVSと実サーバとクライアントのセグメントが分離してるとそもそもDSR (Direct
Server Return)できない
・初期設計担当者は既に離職していて設計意図が謎でした(未検証だった風)
4.やってみてできた構成
VPC

IGW

Global Segment
EIP

EIP

EIP

Mail

DEV
EIP

ADM

EIP

LVS
LVS

WEB
WEB

EIP

Mng

NAT

LVS
IMG

EIP

DB
DB

Ca
Ca

EIP

NFS
NFS

・しょうがないからフラットにしたところDBのみDSRに成功
・WEBはNAT分散しかできない(クライアントがGlobal側だとENIとIPが合わないパ
ケットが破棄されるため)
・NAT分散だと実サーバのDefaultGWをLVSにしなければならない
5.結果的にこうなった構成
VPC

IGW

Global Segment

EIP

Private Segment

EIP

Mail

DEV
EIP

ADM

ELB

EIP

Mng

WEB
WEB

DB
DB

Ca
Ca

EIP

NAT
NAT

LVS
LVS

LVS
IMG

NFS
NFS

・DBの分散は重みづけしたいのでLVSでDSR、WEBの分散はELBでSSLも管理に。
・顧客にフラットセグメントに仕様変更になった理由を説明するのが困難だという話と、
ELBを用いたほうが運用が楽だしベストプラクティスになるということでこうなりました。
※0.0.0.0/0は送信元anyのデフォルトGWがNATに向いてるということです。
6.最初の構成があり得なかった訳1


DSRはフラットな構成でなければならないがLVSだけが
フロントセグメントに分離していた

http://ultramonkey.sourceforge.jp/papers/lvs_tutorial/html/
6.最初の構成があり得なかった訳2




GWルータでENIとIPが合わないパケットが破棄されるためク
ライアントがグローバル側にいるWEB等はDSRは不可能で
NAT方式で分散する他ない
NAT方式分散だとGWをLVSに向ける必要があるためサブ
ネット丸ごとRouterTableでNATインスタンスをGWにするの
は利用不可

http://www.slideshare.net/kentayasukawa/ec2-20334037
NATインスタンスの仕組み解説






通常のLinuxRouterの機能でカーネルパラメータで
forwardingを許可するのとiptablesでマスカレード設定
をする必要がある
Source/Dest CheckをDisableにする必要あり
VPCの機能のRouterTableを制御する必要がある
⇒NATインスタンスをデフォルトGWとするルートを登録
したテーブルを作り、Privateサブネットまるごと追加する
(Linux的に個々のデフォルトGWをNATインスタンスに
向ける必要はない)
そのた








NATインスタンスではなくLinuxサーバNATの場合、EIPつけ
ないホストのデフォルトGWを他のEC2インスタンスにすると
APIから帰ってくるメタデータがデフォルトGWのインスタンス
のものしかとれなくなる
HAのためにEIPやPrivateIPを移動させる場合もAPIサーバ
との通信が必須。AWS的な制御なしにPrivateIPをつけて
ローカルホストで認識したとしても外部からの通信はできない。
固定EIPつけない起動時に動的EIP付与だと起動時にAPI
サーバとの通信が困難でheartbeatのリソースが起動してこ
なかったりする
普通はデフォルトGWは複数設定することはできないし異なる
サブネットを指定することはできない
ELB化の際に引っ掛かったこと





Private側のインスタンスに対して負荷分散したい場合
でも、ELBが所属するセグメントはIGWにせっしている
GlobalSegmentである必要がある。
セキュリティグループで縛っていない限り1つのVPC内
(10.0.0.0/16等)は自由に通信が可能である。
ELBをPrivateセグメントに置きEIPをつけるということは
不可能。
おわり


ご覧いただきまして、ありがとうございました。

詳細は以下URLをどうぞ。
http://devlab.isao.co.jp/vpc_heartbeat3_lvs/

Weitere ähnliche Inhalte

Was ist angesagt?

AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
SORACOM, INC
 
AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発
AimingStudy
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
都元ダイスケ Miyamoto
 

Was ist angesagt? (20)

AWS Casual2 LT
AWS Casual2 LTAWS Casual2 LT
AWS Casual2 LT
 
Aws auto scalingによるwebapサーバbatchサーバの構成例
Aws auto scalingによるwebapサーバbatchサーバの構成例Aws auto scalingによるwebapサーバbatchサーバの構成例
Aws auto scalingによるwebapサーバbatchサーバの構成例
 
AWS で concrete5 を 簡単起動!
AWS で concrete5 を 簡単起動!AWS で concrete5 を 簡単起動!
AWS で concrete5 を 簡単起動!
 
20140418 aws-casual-network
20140418 aws-casual-network20140418 aws-casual-network
20140418 aws-casual-network
 
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングAWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
 
前座Lambda
前座Lambda前座Lambda
前座Lambda
 
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
 
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
 
サーバーレスアーキテクチャのすすめ(公開版)
サーバーレスアーキテクチャのすすめ(公開版)サーバーレスアーキテクチャのすすめ(公開版)
サーバーレスアーキテクチャのすすめ(公開版)
 
AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
 
Stm vol3 awsで落ちないwebサービスを構築
Stm vol3 awsで落ちないwebサービスを構築Stm vol3 awsで落ちないwebサービスを構築
Stm vol3 awsで落ちないwebサービスを構築
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
はじめてのAWS Lambda
はじめてのAWS LambdaはじめてのAWS Lambda
はじめてのAWS Lambda
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
シェルスクリプトで作るコンフィグ管理サーバ
シェルスクリプトで作るコンフィグ管理サーバシェルスクリプトで作るコンフィグ管理サーバ
シェルスクリプトで作るコンフィグ管理サーバ
 
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 

Andere mochten auch (8)

EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)
 
Cross lt cam菱_vyattaについてv
Cross lt cam菱_vyattaについてvCross lt cam菱_vyattaについてv
Cross lt cam菱_vyattaについてv
 
Zeus
ZeusZeus
Zeus
 
快適に料理を楽しむための監視のおはなし
快適に料理を楽しむための監視のおはなし快適に料理を楽しむための監視のおはなし
快適に料理を楽しむための監視のおはなし
 
LVSつこうた話
LVSつこうた話LVSつこうた話
LVSつこうた話
 
Hbstudy41
Hbstudy41Hbstudy41
Hbstudy41
 
SPEEDAインフラ運営
SPEEDAインフラ運営SPEEDAインフラ運営
SPEEDAインフラ運営
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 

Ähnlich wie Lvsをvpc上に構築してみた話

ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
Amazon Web Services Japan
 
CDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATECDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATE
Hiroyasu Suzuki
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -
SORACOM, INC
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Oonishi Takaaki
 

Ähnlich wie Lvsをvpc上に構築してみた話 (20)

ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
 
20120521 aws-meister-elb&as&cw-public
20120521 aws-meister-elb&as&cw-public20120521 aws-meister-elb&as&cw-public
20120521 aws-meister-elb&as&cw-public
 
JAWS-UG-Kyoto-2nd
JAWS-UG-Kyoto-2ndJAWS-UG-Kyoto-2nd
JAWS-UG-Kyoto-2nd
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
[AWS Summit 2012] クラウドデザインパターン#7 CDP キャンペーンサイト編 (Wordpress)
[AWS Summit 2012] クラウドデザインパターン#7 CDP キャンペーンサイト編 (Wordpress)[AWS Summit 2012] クラウドデザインパターン#7 CDP キャンペーンサイト編 (Wordpress)
[AWS Summit 2012] クラウドデザインパターン#7 CDP キャンペーンサイト編 (Wordpress)
 
CDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATECDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATE
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
INTEROP2013 ORC チームvyavyavya
INTEROP2013 ORC チームvyavyavyaINTEROP2013 ORC チームvyavyavya
INTEROP2013 ORC チームvyavyavya
 
awsを学ぶ上で必要となる前提知識(DB)
awsを学ぶ上で必要となる前提知識(DB)awsを学ぶ上で必要となる前提知識(DB)
awsを学ぶ上で必要となる前提知識(DB)
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -
 
[AWS Summit 2012] クラウドデザインパターン#3 CDP Eコマース編 (EC-CUBE)
[AWS Summit 2012] クラウドデザインパターン#3 CDP Eコマース編 (EC-CUBE)[AWS Summit 2012] クラウドデザインパターン#3 CDP Eコマース編 (EC-CUBE)
[AWS Summit 2012] クラウドデザインパターン#3 CDP Eコマース編 (EC-CUBE)
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
 
クラウド入門
クラウド入門クラウド入門
クラウド入門
 
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
 
serverless
serverlessserverless
serverless
 
Couchbaseの紹介 2015/03/05
Couchbaseの紹介 2015/03/05Couchbaseの紹介 2015/03/05
Couchbaseの紹介 2015/03/05
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 

Mehr von Yu Komiya (8)

Chef localmodeをためした
Chef localmodeをためしたChef localmodeをためした
Chef localmodeをためした
 
Remotework
Remotework Remotework
Remotework
 
時短主婦の味方のご紹介
時短主婦の味方のご紹介時短主婦の味方のご紹介
時短主婦の味方のご紹介
 
MySQL5.6関連情報まとめ
MySQL5.6関連情報まとめMySQL5.6関連情報まとめ
MySQL5.6関連情報まとめ
 
Chef社内向け解説とその課題について
Chef社内向け解説とその課題についてChef社内向け解説とその課題について
Chef社内向け解説とその課題について
 
My sqlのha構成について
My sqlのha構成についてMy sqlのha構成について
My sqlのha構成について
 
MHAを検証して導入した話
MHAを検証して導入した話MHAを検証して導入した話
MHAを検証して導入した話
 
Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
Webサーバのチューニング
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Lvsをvpc上に構築してみた話