ぎょりの魚醤日記ʚ( ˙ ꒳ ˙ )ɞ

IT業界に生息している営業・マーケティングとかやってる人間です

VPC内ELBでアクセス制御

こんばんは。

実は久しぶりに料理をしました、さぼってました。誰とも無くごめんなさい。

 

さて、今日は「ELBでアクセス制御」をしたいと思い確認してみました。

ggってみると

こんなのがあって"X_Forworded"なんちゃらって私にはハードルが高い。

http://dev.classmethod.jp/cloud/elb-ssl-termination-access-handling/

http://blog.cloudpack.jp/2011/06/aws-news-elb-access-limit.html

 

VPCならELBにもSecurityGroup設定できるしうまいことできるんじゃないかなーと思って確認してみました。

 

まずAWS Management Consoleから「Create ELB」をクリックします。

下記画面が表示されるので先に作成しておいたVPCを選択し、必要に応じてアクセスプロトコルを指定します。

f:id:Nagafuchi:20130630221659p:plain

次に、「Continue」を押していくと下記のような画面が表示されます。

ELBを作成するSubnetを選択します。ELBは自動的にスケーリングするのでできる限りELB専用のSubnetを用意した方が良い(らしい)です。

f:id:Nagafuchi:20130630221819p:plain

「Continue」を押すと次にELBに設定するSecurityGroupの設定画面が表示されます。

新しくSecurityGroupを作成する場合は「Create a new Security Group」を選択し、アクセス制限情報をルールとして追加します。

今回はで今私が利用している環境からだけHTTPアクセスできるか検証したいので下記のようにルールを追加しました。

f:id:Nagafuchi:20130630222514p:plain

「Continue」を押すと次にELBの配下に置くinstanceを選択する画面に遷移します。

ELBの配下に置いた状態でinstanceをstopしたりstartしたりすると中の方が激怒するらしいので、きちんと「running」状態のinstanceを選択します。 

f:id:Nagafuchi:20130630234245p:plain

ELBと配下のinstanceがactiveになるまでにはちょっと時間がかかるみたいなのでビールを飲みながら気長に待ちます。焦りません。

ロードバランサを購入するということを考えれば5分なんてあっという間です。

 

あれ、とはいえいつまで経ってもhealth checkがOKになりません...。

Σ(*゚д゚*)ハッ!!

EC2 instanceのSecurity GroupにELBからのアクセスを通していませんでした。

EC2 instanceにあてているSecurity GroupにELBからアクセスできるようルールを追加します。

"sg"と入力するとSecurity Groupがプルダウンで表示されるのでそこからELBのSecurity Groupを選択します。

f:id:Nagafuchi:20130630233639p:plain

さぁもう大丈夫でしょう...

つながりません。"Out of Service"のままです。

Σ(*゚д゚*)ハッ!!

そもそもHealth Check用のページを用意していませんでした!!

今回はデフォルトのまま「index.html」をHealth Check先にしていたので、ドキュメントルート直下にindex.htmlファイルを作成しました。

 

やっとStatusも"In Service"となり一安心。

 

では、ELBが発行するPublic DNSに対してアクセスしてみます。

DNSはここで確認できます。

f:id:Nagafuchi:20130630232239p:plain

きちんとアクセスできました(๑´ω`ノノ゙✧

f:id:Nagafuchi:20130630232407p:plain

いえ、これだけでは検証は終わりません。本当にアクセス制御ができているか確認します。

まず、接続元IPアドレスを変更したいので違うwifi-spotに変更しました。

googleさんがぐるぐるぐるぐる頑張りますが、下記の通りアクセスできません!

検証成功ヾ(*´∀`*)ノ

f:id:Nagafuchi:20130630232546p:plain

ついでなのでEC2 instanceに直接HTTPアクセスしてもアクセスできないかも確認してみました。

現在、上記の通り、EC2のSecurity GroupではSSHはオープンですが、HTTPアクセスはELB経由のみ、に制限しています。

検証のためEC2にEIPを割りあて、アクセスしてみました。

f:id:Nagafuchi:20130630232928p:plain

ブラウザにIPアドレスを直接入力してみますが、、つながりません。よくできています。 

f:id:Nagafuchi:20130630233836p:plain

試しにEC2のSecurity Groupをしぼらずにアクセスしてみました。

ルールを変更

f:id:Nagafuchi:20130630233926p:plain

ブラウザでアクセス

f:id:Nagafuchi:20130630233950p:plain

もちろんですがきちんとアクセスできます。

 

ELBでアクセス制御ができるととても便利ですね。VPCが無かったときはすごい困った覚えがあります・・。

では、本日はこのぐらいで終わりです。