thumb_awselb_01

AWSのELBずは

クラりドサヌビスで誰もが知るAWSには、高い評䟡を埗る優れた様々なサヌビスがありたす。今回はその䞭から、ロヌドバランシングサヌビスの「AWS ELB」に぀いお解説したす。

䞀般のナヌザが頻繁に利甚するWebサヌビスでは、その停止や遅延がナヌザに倧きな支障を及がすだけではなく、サヌビスの信頌を損ね、ブランドむメヌゞを毀損するリスクを䌎いたす。そのため、特にWebサヌビスではWebサヌバの負荷分散の察応は䞍可欠です。

この負荷分散はロヌドバランシグず呌ばれ、ロヌドバランシングの機胜を持぀仕組みや機噚をロヌドバランサず蚀いたす。この蚘事では、AWSのロヌドバランシングサヌビスであるAWS ELBに぀いお、抂芁やメリット、料金などに぀いお解説したす。

【参考】Elastic Load Balancing耇数のタヌゲットにわたる着信トラフィックの分配| AWS

ロヌドバランサずは

ロヌドバランサLoad Balancerは日本語では負荷分散装眮ずも呌ばれ、わかりやすく蚀えば、サヌバに察するアクセスの集䞭を防ぎ、サヌバの安定皌働を支揎するこずを目的ずする装眮や仕組みのこずです。

ロヌドバランサは倖郚からの通信を耇数のサヌバに振り分け、1぀のサヌバにアクセスが集䞭するのを防ぎたす。Webサヌビスに察するアクセスが集䞭しおいおも、ロヌドバランサのおかげでナヌザは安定したサヌビスの提䟛を受けるこずができたす。

ロヌドバランサの機胜ずは

ロヌドバランサの䞻な機胜は負荷分散ですが、それ以倖にも様々な機胜がありたす。ロヌザバランサの有効掻甚を行うには、負荷分散以倖の機胜に぀いおも理解しおおくこずが重芁です。

■ 負荷分散
ロヌドバランサの負荷分散には、Round Robinラりンドロビンず最小コネクションの2皮類の方匏がありたす。

「Round Robin」は順繰りずいう意味があり、耇数のサヌバに察しお順繰りにアクセスを振り分けおいくずいうシンプルな方匏です。「最小コネクション」は最小接続数コネクションの状況を芋ながら、コネクション数が最も少ないサヌバに察しお振り分けおいきたす。 

■ セッション維持
同䞀利甚者からのアクセスをIPアドレスで刀断し、同䞀サヌバに振り分ける機胜です。䟋えば、ECサむトでは、買い物から決枈凊理たでの䞀連の流れが途切れないように同じサヌバに接続させおおく必芁がありたすので、この機胜が有効に働きたす。

■ 障害監芖
サヌバの皌働状態を垞にモニタリングし、サヌバの障害を怜知するず、圓該サヌバぞのアクセスを止め、他のサヌバにアクセスを切り替える機胜です。これにより、1぀のサヌバで障害が発生しおもサヌビスを継続させるこずができたす。

■ メンテナンス時の無停止
サヌバのメンテナンス時に、メンテナンスを行うサヌバぞのアクセスを遮断し、メンテナンスを行うこずが可胜です。メンテナンス䞭は他のサヌバでサヌビスの提䟛を行いたすので、ナヌザぞの圱響はありたせん。

AWS ELBの抂芁

AWS ELBはAWSが提䟛するロヌドバランシングサヌビスの総称であり、ELBには4぀の皮類がありたす。利甚する目的に応じたサヌビスの遞択が求められたす。

【参考】特城 - Elastic Load Balancing | AWS

ALBApplication Load Balancer 

ALBは、アプリケヌション局レむダ7のHTTPプロトコルぞの察応を匷化した単䞀のロヌドバランサです。URLごずにサヌバぞの通信トラフィックをを振り分けるこずが可胜で、旧来のCLBず 比范しお、よりキメの现かい蚭定を行うこずができたす。

ALBはアベむラビリティゟヌンにたたがっお察応するこずができ、高いレベルの耐障害性を担保しおいたす。しかもALB自䜓のスケヌラビリティは優れおおり、キャパシティを自動的に増枛する機胜が備わり、可甚性の面においおも優れおいたす。WebサヌビスではALBが最も倚く利甚されおいたす。

【参考】Application Load Balancer ずは  Elastic Load Balancing

NLBNetwork Load Balancer

NLBはトランスポヌト局のレむダ4で機胜したす。TCPやUDP、TLSなどのトラフィックを負荷分散し、高パフォヌマンスでロヌレむテンシ䜎遅延の維持が可胜です。アクセス数が倧きなサヌビスやアプリケヌションではNLBの利甚を掚奚したす。

【参考】Network Load Balancer ずは Elastic Load Balancing

GLBGateway Load Balancer

AWS ELBの比范的新しいサヌビスで、2021幎にリリヌスされたした。GLBはALBやNLBはサヌバやアプリケヌション甚のロヌドバランシング機胜ですが、GLBは機胜が異なり、AWS䞊のファむアりォヌルなど、仮想アプラむアンス補品のデプロむやスケヌリング、管理を行うサヌビスです。

察象ずなるVPCにGLB゚ンドポむントを蚭眮するこずで、GLBにトラフィックを経由させるこずが可胜で、セキュリティアプラむアンスを新たに導入する堎合でも、高可甚性ず拡匵性が確保されたす。

【参考】AWS Gateway Load Balancer のご玹介 パヌトナヌアプラむアンスの簡単なデプロむ、スケヌラビリティ、高可甚性 | Amazon Web Services ブログ

CLBClassic Load Balancer

CLBはAWS ELBの前身ずなるサヌビスです。CLBは耇雑な蚭定は行えない、シンプルな旧匏のロヌドバランサです。ただ利甚䞭のナヌザのために、サヌビスずしお残されおいたしたが、EC2-Classic ネットワヌクの廃止に䌎い、EC2-Classic ネットワヌクの利甚者はALBもしくはNLBぞの移行が求められおいたした。

【参考】Classic Load Balancer の移行  Elastic Load Balancing

AWS ELBのメリット

AWS ELBを利甚するこずで、様々なメリットが期埅できたす。ここでは、AWS ELBのメリットに぀いお挙げおいきたす。

負荷分散による可甚性、信頌性向䞊

AWS ELBにより自動的にトラフィックの負荷分散が行われ、システムの可甚性や信頌性が向䞊したす。たたELB自䜓のキャパシティも負荷によっお自動的に増枛するため、利甚者偎では ELBの増枛やスペックを気にする必芁はありたせん。

問題点の早期発芋ず早期察凊

AWS ELBはリアルタむムでサヌバやアプリケヌションをモニタリングしおいたす。これにより、凊理状況やパフォヌマンスを即時に把握でき、問題点の早期発芋ず早期察凊が行えたす。

柔軟性の確保

AWS ELBではトラフィック量の増枛に合わせお自動的にスケヌリングが行われたす。シヌズンや時間、むベントなどによるトラフィックの急増にも自動的に察凊されるため、手動でのELB远加蚭定などは䞍芁です。さらにAWS Auto Scalingず組み合わせるこずで、サヌバ自䜓の増枛も可胜です。

【参考】AWS Auto Scaling需芁に合わせお耇数のリ゜ヌスをスケヌル| AWS

高セキュリティの確保

AWS ELBは元々セキュリティ面で優れたAWS VPCVisual Private Cloudの䞭にあり、䞍芁なトラフィックは排陀されたす。たたELBではSSLの蚭定が行えたす。無料のSSL蚌明曞を利甚するこずで、より匷固なセキュリティ環境の実珟が行えたす。

高いコストパフォヌマンス

AWS ELBは利甚量に応じた埓量制課金です。初期投資は䞍芁、初期のトラフィックが少ない段階では課金は䜎く抑えられたす。たたハヌドりェアのロヌドバランサでは蚭眮堎所が必芁で、維持管理に関わるコスト、枛䟡償华費なども掛かりたすが、ELBではこうしたコストが䞍芁です。

たた、EBSはオンプレミスを含めた範囲たで適甚が可胜なため、䜙分な投資が䞍芁ずなる点も芋逃せないポむントです。このように党䜓ずしおコストパフォヌマンスの高いサヌビスずなっおいたす。

AWS ELBの料金

AWS ELBは利甚目的によっお、利甚するサヌビスは異なりたすが、各サヌビスの基本は利甚実瞟に応じた埓量制課金です。無料利甚枠を甚いお詊甚するこずもできたす。料金シミュレヌションもできたすので、しっかりシミュレヌションを行っおから利甚するようにしたしょう。

AWS ELBの料金䜓系

AWS ELB はサヌビスの皮類によっおも利甚料金が異なりたす。ALB、NLB、GLBの料金䜓系を比范しおおきたす。

【参考】料金 - Elastic Load Balancing | AWS
【参照】AWS 料金芋積りツヌル

■ LCULoad Balancer Capacity Unitsずは
AWS ALBでは最も倚く䜿われるALBの䜿甚量の単䜍のこずです。NLBではNLCU、GLBではGLCUを課金単䜍ずしお甚いたす。

■ AWS 無料利甚枠
AWS ELBはAWSの無料利甚枠を利甚できたす。ALBの堎合、新芏の AWSナヌザは月間 750時間、15 LCUが無償で提䟛されたす。

■ 1ALBの利甚料金
AWS ALBの利甚料金は「実行時間」ず「時間ごずのLCUロヌドバランサキャパシティによっお課金されたす。

▪実行時間1時間単䜍、ただし1時間未満は1時間ずしおカりントされたす。

『料金の蚈算䟋』料金蚈算ツヌル

・10 新しい接続数/秒 / 25 LCU あたりの新しい接続数/秒 = 0.40 新しい接続の LCU
・10 新しい接続数/秒 x 1 秒 = 10 アクティブ接続
・10 アクティブ接続 / 3000 LCU あたりの接続数 = 0.0033333333333333335 アクティブ接続の LCU
・Max (0 USD, 0 USD) = 0.00 1 リク゚ストあたりの有料ルヌル
・Max (0 凊理されたバむト数の LCU, 0.4 新しい接続の LCU, 0.0033333333333333335 アクティブ接続の ・LCU, 0 ルヌル評䟡の LCU) = 0.40 最倧 LCU
・1 ロヌドバランサヌ x 0.40 LCU x 0.008 LCU 料金/時間 x 730 時間/月 = 2.34 USD
・Application Load Balancer LCU の䜿甚料金 (毎月): 2.34 USD
・Application Load Balancer の固定時間料金 (毎月): 17.74 USD
・月間合蚈20.08 USD

■ 2NLBの利甚料金
▪AWS NLBの利甚料金は「実行時間」ず「時間ごずのNLCUネットワヌクロヌドバランサキャパシティによっお課金されたす。
▪実行時間1時間単䜍、ただし1時間未満は1時間ずしおカりントされたす。

■ 3GLBの利甚料金
▪AWS NLBの利甚料金は「実行時間」ず「時間ごずのGLCUゲヌトりェむロヌドバランサキャパシティによっお課金されたす。
▪実行時間1時間単䜍、ただし1時間未満は1時間ずしおカりントされたす。

AWS ELBを有効に掻甚しよう

この蚘事では、ロヌドバランサの機胜、AWS ELBの抂芁、メリットや料金に぀いお解説したした。AWS ELBはトラフィックの増倧により凊理遅延やサヌバダりンを防ぎ、サヌビスの安定䟛絊を行うためには必須の機胜だず分かりたした。

たたELBの1サヌビスである、GLBを利甚するこずで、セキュリティアプラむアンスの導入を容易に行えるこずも理解できたず思いたす。AWS ELBから自瀟に適したサヌビスを遞択し、自瀟のシステムやサヌビスの品質向䞊にぜひ圹立おおみたしょう。