【新機能】ELBが全ポート対応!アクセスログの項目も追加しました!

2015.09.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、せーのです。 今日は久々にELBのアップデートのご紹介をします。

全ポート対応

今までELBはWell-knownと呼ばれるよく使うポート(25, 80, 443, 465, 587)とカスタム用としてEphemeral portと呼ばれるTCP/IPが自動で振り分けるポート(1024-65535)に対してアクセスを可能としてきました。 今日からはその制限が取り払われ、全てのポートに対してELBへのアクセスを割り振ることが出来るようになりました!これは使い道が広がりますね。

やってみた

それでは早速やってみましょう。 まずはEC2を2台立てます。

elbupdate1

現在セキュリティグループとして22と80を開けています。あとVPC内であれば全てのアクセスを可能としています。

elbupdate2

実際にSSHで直接アクセスしてみます。

$ ssh ec2-user@52.68.81.23 -i ~/dev/key/cm_experimentation.pem
Warning: Permanently added '52.68.81.23' (RSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
7 package(s) needed for security, out of 19 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-1-186 ~]$

アクセスできました。当たり前ですね。 疎通確認用にApacheを立てておきます。

[ec2-user@ip-10-0-1-186 ~]$ sudo yum update -y
[ec2-user@ip-10-0-1-186 ~]$ sudo yum install httpd -y
[ec2-user@ip-10-0-1-186 ~]$ sudo service httpd start

同じことをもう一つのEC2にも行います。

そしてセキュリティグループから22のアクセスを削除します。

elbupdate3

これで外から直接はアクセスできなくなりました。 さて、ここから本番です。ELBを22番で立ててみます。

elbupdate4

こんなELBは見たことないですが、実験なので続けます。 セキュリティグループはELB用に新規に作成します。22番と80番、VPC内の全てのポートの通信を許可します。

elbupdate6

これで史上初、SSH用ELBが立ちました。

elbupdate7

それでは実際にアクセスしてみます。ELBのDNSに向けてSSHを送ります。

ssh ec2-user@testSshElb-1290645378.ap-northeast-1.elb.amazonaws.com -i ~/dev/key/cm_experimentation.pem
Warning: Permanently added 'testsshelb-1290645378.ap-northeast-1.elb.amazonaws.com,54.178.207.84' (RSA) to the list of known hosts.
Last login: Wed Sep 16 12:30:11 2015 from pb6abe8ed.hkidff01.ap.so-net.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
[ec2-user@ip-10-0-1-186 ~]$

EC2に繋がりました!こちらは、、、test-cですね。 何回か同じDNSに向けてSSHを出していると今度はtest-aに繋がりました。

ssh ec2-user@testSshElb-1290645378.ap-northeast-1.elb.amazonaws.com -i ~/dev/key/cm_experimentation.pem
Last login: Wed Sep 16 12:32:14 2015 from pb6abe8ed.hkidff01.ap.so-net.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
[ec2-user@ip-10-0-0-237 ~]$

SSHを綺麗にバランシングしてくれていますね。このどちらのEC2に繋がるかわからない、というスリルがたまりません。

アクセスログの項目追加

ELBは本日もう一つのアップデートがありました。ELBはS3にアクセスログを吐くことができるのですが、その項目に

  • User Agent
  • SSL Cipher and Protocol

の2項目が追加されました。[User Agent]はELBにアクセスしたデバイスの種類等がわかり、[SSL Cipher and Protocol]はSSL通信での暗号化形式(DHE-RSA-AES128-SHA TLSv1.2とか)が分かります。 User Agent等は分析にも利用できそうですね!

まとめ

いかがでしたでしょうか。特に許可ポートの拡張はELBをプロキシとして内部で使う時等には便利そうですね。 是非ご活用下さい。

参考サイト