AWS Application Load Balancer がきたので試しに作ってみた

記事タイトルとURLをコピーする

夜更かしして遊んでいたら、RSSでリリースがあったのを発見してしまったので、作ってみました。
世間的にはお盆の時期ですが、明日も来週も仕事の技術一課の寺田です。

休みがないわけではなく夏休みが、お盆に限らず自由に3日取れるのがSWXです。
僕もいたるところが混んでいるお盆ではなく、時期をずらして取る予定です。
ちなみに名称は夏休みとなっていますが、冬休みにすることも可能です。

Application Load BalancerのAWSの公式blogは下の通り
https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/

公式blogにも作成手順が書いてありますが、
試しに作ってみました。

気になるのは、今までのElastic Load Balancer(ELB)がどうなるのかという部分ですが、
ELBというカテゴリの中に、
いままでのELBである、Classic Load Balancerと
今回新しくリリースされた、Application Load Balancerが含まれ、
平行して利用できる
形になっています。

作成開始

いつもどおりロードバランサーを選択し、
ロードバランサーの作成を選択すると、見慣れない選択肢が。
もちろん左側を選択。

ALB-sentaku

名前の設定とVPCの登録

ここは、あまり変わらない画面。
ただ、Subnetは必ず2つ選択が必須です。
ALB-name

ALB-subnet

SSLの設定

今回は、設定しないのでパスします。

ALB-SSL

SGの選択

ここもELBと同じく、新規作成と作成済みのものを選択可能。

ALB-SG

ターゲットグループの作成

ターゲットグループと名前が少し変わっていますが、基本は同じ。
プロトコルとして、HTTP/HTTPSのみの選択です。
TCPの負荷分散とヘルスチェックは選択できなくなっています。

ALB-target

ターゲットの登録

負荷分散するするターゲットをココで登録します。
新しく作成する場合は、インスタンスを先に起動しておかないと登録できないみたいです。

ALB-target-toroku

確認画面

ここでOKを押せば作成できます。

ALB-kakunin

ELBとの違い

ターゲットにURLのパスベースでのルーティングができるようになっています。
test.com/app1/ と、 test.com/app2/
とかの、向き先を分けることが可能です。

このターゲットグループは、作成時にも作成可能ですが、
設定項目が多めに見えるので、作成前に作っておいたほうが良さそうです。
またこれにともなって、ロードバランサーの下に、ターゲットグループという項目ができました。

ターゲットグループについては、詳しくはまたのちほど書きます。

できなくなっていることとして、TCPでの負荷分散はできなくなっています。
また、Cookieベースの振り分けができなくなっているため、
冗長構成の場合は必ずセッション情報などの共有が必要となります。

ちなみに値段は?

公式blogだと、時間あたりの値段はClassic Load Balancerより10%下がるようです。
現時点では、AWSの料金表には値段が出ていないように見えます。

料金ページも出ました!(20160818加筆)
https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/pricing/

また、今までのトラフィック量での課金から、
コネクション量と、トラフィックでの課金に料金体系が変わるとのことです。

料金については、少し複雑なので、別途詳しく紹介します。

まとめ

いままでサブドメインを利用して、Route53で向き先ELBを変えるなどで行っていたルーティングを、Load Balancer単体で同一ドメインで行えるようになりました。
料金については、実際のユースケースで変わってくる部分ではありますが、ELBと大きくは変わらないはずです。
実際の利用では、行いたいことによってELBを使うかApplication Load Balancerを使うかが、明確に別れることになると思います。
続報はまた、掲載します。