AWSのNetwork Load Balancer(NLB)とは?その利用方法も解説します!

この記事でわかること
AWSの「Network Load Balancer(NLB)」とは?
AWSの「Network Load Balancer(NLB)」とは、アプリケーションへの通信量(トラフィック)による負荷を分散するサービスである「Elastic Load Balancing」のロードバランサーの一つです。
主にOSI参照モデルにおける「トランスポート層(レイヤー4)」の通信処理を負荷分散するために用いられます。
AWSの「Elastic Load Balancing」のロードバランサーの内で、高度なパフォーマンスと低レイテンシー(通信遅延)が求められるアプリケーションで一般的に用いられます。
「Network Load Balancer(NLB)」の詳細とその関連サービスについて解説していきます。
「Network Load Balancer(NLB)」の特徴
「Network Load Balancer(NLB)」の特徴として、TCPやUDP等の「レイヤー4」のプロトコルでの通信に関してトラフィックの負荷分散が可能です。
具体的な「レイヤー4」プロトコルとしては、「TCP」、「UDP」、「TCP+UDPリスナー」、「TLSリスナー」をサポートしています。
秒間数百万といった大量のリクエスト処理や突発性や変動性が高い通信パターンの処理にも対応可能です。またレイテンシ(通信遅延)も低くなるように設計されています。
「TLS通信終了」に対応し、クライアント側のソースIPアドレスを保持することで、IPアドレスをゾーンごとに分離して管理することで安定した通信処理を行えます。
他にも「WebSocket」プロトコルで通信するアプリケーションに対して、接続状態を長時間維持するような通信処理にも対応しています。
「Network Load Balancer(NLB)」のポート番号
「Network Load Balancer(NLB)」は、「TCP+UDPリスナー」を使用することで、TCPとUDPの各通信を同一の「ポート番号」で処理することが可能です。
例えば、DNSサービス(TCPとUDPの両方を使用)の場合は、「ポート:53」に対して「TCP+UDPリスナー」を作成することが可能です。
「Network Load Balancer」は、TCPとUDPのこのポート番号への通信処理に対応します。なお「TCP+UDPターゲットグループ」に「TCP+UDPリスナー」を関連付けておく必要があります。
「Network Load Balancer(NLB)」の利用方法
「Network Load Balancer(NLB)」の利用方法に関して解説します。
ロードバランサーの種類の選択、ロードバランサーとリスナーの設定、ターゲットグループの設定、ターゲットグループへのターゲットの登録の順に解説していきます。
「Network Load Balancer(NLB)」の利用方法1:ロードバランサーの作成
NLBの利用方法1として、最初にロードバランサーを作成します。
具体的には「Amazon EC2」コンソール画面を開いて、ロードバランサーのリージョンを選択します。次に「Amazon EC2」インスタンスのリージョンと同一リージョンを選択します。
メニューの「LOAD BALANCING」で「Load Balancers」を選択した後に「Create Load Balancer」、「作成」の順にクリックします。
「Network Load Balancer(NLB)」の利用方法2:ロードバランサーとリスナー設定
NLBの利用方法2として、ロードバランサーとリスナーを設定します。
具体的には「ロードバランサーの設定」ページで「名前」欄にロードバランサー名を入力します。「Scheme」はデフォルト値のまま使用します。
「Availability Zones」の選択欄では、「Amazon EC2」インスタンスがあるVPCを選択し、「Next: Configure Routing」をクリックします。
「Network Load Balancer(NLB)」の利用方法3:ターゲットグループ設定
NLBの利用方法3として、ターゲットグループを設定します。
具体的には、「ルーティングの設定」ページにて「ターゲットグループ」欄にて「新しいターゲットグループ」を選択し、「Name」欄に新規のターゲットグループ名を入力します。
「プロトコル」はTCP、「ポート」は80、「ターゲットの種類」、「Health checks」は、デフォルト設定値のままとします。
最後に「Next: Register Targets」をクリックします。
「Network Load Balancer(NLB)」の利用方法4:ターゲット登録
NLBの利用方法4として、ターゲットグループへのターゲットを登録します。
具体的には「Register Targets」ページで、「Instances」で対象のインスタンス、「Add to registered」と順に選択し、「Next: Review」をクリックします。
AWSの「Elastic Load Balancing(ELB)」とは?
AWSの「Elastic Load Balancing(ELB)」とは、AWS上で稼働しているアプリケーションに対するトラフィック(通信量)を複数の「ターゲット」に分散してくれるAWSの負荷分散サービスです。
この「ターゲット」には、「Amazon EC2」のインスタンス、IPアドレス、コンテナサービス、仮想アプライアンス、「Lambda関数」等が対象となっています。
このようにトラフィックを複数のターゲットを分散することで、AWS上で稼働するアプリケーションの「耐障害性」を高めています。
「Elastic Load Balancing(ELB)」のサービスの特徴としては、高いレベルの「可用性」、オートスケーリング(自動的にスケールアウトする機能)、高度なセキュリティ性があります。
AWSの「Elastic Load Balancing(ELB)」のロードバランサーについて
AWSの「Elastic Load Balancing(ELB)」は、4種類のロードバランサーがAWSから提供されています。
具体的には、「Application Load Balancer」、「Network Load Balancer」 、「Gateway Load Balancer」、「Classic Load Balancer」の4種類のロードバランサーが提供されています。
ちなみに、「Elastic Load Balancing(ELB)」はサービス名で、4種類のロードバランサーが実際の機能という位置付けとなっています。
AWSの「Elastic Load Balancing(ELB)」のロードバランサーの選択方法
アプリケーションの要件に応じて「Elastic Load Balancing(ELB)」の4種類のロードバランサーから選択します。
例えば「HTTPリクエスト」の通信レイヤーでの負荷分散を実施する要件の場合は、「Application Load Balancer」を選択します。
TCP、UDPの「トランスポート層(レイヤー4)」で負荷分散が必要な場合、ハイレベルなパフォーマンスと低レイテンシ(通信遅延)が要求されるアプリケーションの場合には、「Network Load Balancer」を選択します。
サードパーティーで提供されている「仮想ネットワークアプライアンス」をデプロイ、実行する場合は、「Gateway Load Balancer」を選択します。
アプリケーションが「EC2-Classic ネットワーク」内に構築されている場合は、「Classic Load Balancer」を選択します。
「Network Load Balancer(NLB)」の利用料金
AWSの「Network Load Balancer(NLB)」の利用料金は、原則として利用した分に応じて料金が掛かる「従量課金方式」です。
具体的には、AWSの東京リージョンの場合は、「Network Load Balancer(NLB)」の利用時間辺り「0.0243USD」、Network Load Balancer キャパシティーユニット時間辺り「0.006USD」で課金されます。
基本的には、料金には付加価値税、売上税等の税金や関税が含まれません。また日本の場合には、別途消費税が請求されます。
料金の計算は複雑なため、「料金計算ツール」も用意されています。こういったツールを活用しながらコストを抑えてサービス運用を目指してみてはいかがでしょうか。
Search キーワード検索
Popular 人気の記事
-
AWS EBSとは?8つの特徴とEBSボリュームについても解説
公開: 更新: -
AWSのT2とT3の違いとは?用途に合った選択をしよう!
公開: 更新:
reccomended おすすめ記事
-
AWSエンジニアの将来性は?年収と必要なスキル6つをご紹介!
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
通信キャリア向け基盤構築/東京都渋谷区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/在宅ワーク
月給65万~65万円東京都渋谷区(神泉駅) -
各種対応/東京都新宿区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都新宿区(高田馬場駅) -
要件定義、構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都千代田区(飯田橋駅) -
運用構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給56万~56万円東京都千代田区(飯田橋駅) -
監視システムの保守、更改/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給55万~55万円東京都千代田区(神保町駅) -
各種対応/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】
月給60万~60万円東京都千代田区(虎ノ門駅)