雑多なインフラエンジニア日記

技術ブログでっす~

publicIP、publicDNS、EIPの挙動

今更ながら、VPC内におけるpublicIP、publicDNS、EIPの挙動をメモ。


なんでこのテーマかと言うと、

http://www.slideshare.net/AmazonWebServicesJapan/vp-cby-default20130404public

の8ページ目の「動的割当されるPublic IPアドレスが利用できる唯一のSubnet」が
嘘くさいと思ったからです。


あと、いつの間にかNATインスタンスが要らなくなったなどの仕様変更されていたので
軽く検証してみました。


publicIP、DNSについて

1. 明示的に作成したサブネット内では、publicIPアドレスは付与されないので注意。(ほんと?)

  • publicIPは付与される。ので資料は嘘くさい。
  • 調べたところ、資料公開後に仕様変更され、publicIP、DNSは振られるになった。
  • ただし、DNS resolution: yes、DNS hostnames: yesの場合に限る。(デフォルトではない)
  • インスタンス作成時に、publicIPアサインにチェックしないと付与されない。
  • yes,yesの場合:EIP付与すると、自動でアサインされたpublicIPとDNSは、EIPに変わる
  • yes,noの場合 :EIP付与すると、publicIPがEIPになる。(DNSは元々無い)



2. ルーティングをIGWに向けてないサブネットにインスタンスにも、publicIPが振られるのか。

  • DNS resolution: yes、DNS hostnames: yesの場合 は振られる。
  • EIP付与時 も振られる。
  • 結果、ルーティングまでは見ていない。
  • IGWへ向けてない為、インターネットとの通信は出来ない。public要らない・・・



インターネットとの通信について

1. 外への通信はEIPがあればNATは不要でOKか。EIPがない場合はNATは必須になる?
2. publicIPアドレスはVPC内でも付与されるので、NATなしでも良くなったらしい。(ほんと?)
3. publicサブネット(IGW)、privateサブネット(localのみ)両方で試す。

  • publicは、publicIP/DNSがあればインターネットとの通信可能。なので、NAT不要。
  • privateは、ルーティングがIGW向いてないので、publicIP/DNSがあっても出れない。
  • EIP有り&ルーティングIGWは、インターネットへの通信可。
  • EIP有り&ルーティングIGW無しは、インターネットへの通信不可。(Outbound)
  • EIP有り&ルーティングIGW無しは、インターネットからの通信サーバまで到達してしまう。通信はSYN_RECVで止まるが受付けている以上、セキュリアではないと言える。DDosとか。(Inbound)
  • セキュリティグループでInboudを制御すれば回避可能。
  • EIP無し、またはpublicIP無しは、ルーティングがIGW向いていてもインターネットへの通信不可。(当然)



無駄にpublicにさらす必要は無いので、やっぱNATインスタンスはあったほうがいいんじゃね!?

yumはいいとして、外部へのAIPコールするWebサーバとかはNATの冗長化か、晒すかかな・・

・参考
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-instance-addressing.html


以上です。