Skip to content

EC2セキュリティグループのSourceにセキュリティグループを指定した場合のアクセス確認

mechamogera edited this page Jan 31, 2013 · 10 revisions

確認結果

  • 前提:EC2セキュリティグループのSourceにはセキュリティグループが指定でき、その場合Sourceに指定したセキュリティグループに所属するEC2からのアクセスが許可される。
  • NonVPC環境でEC2セキュリティグループのSourceにセキュリティグループを指定した場合、指定したEC2へのEIP/PublicIPでのアクセスは許可されない(VPC環境の動作は未確認)
  • どうもAWSの仕様みたい(AWS Developer Forums: EC2 Security group rule not working ...)
  • PublicDNSはEC2内からアクセスすると実体はPrivateIP、EC2外からアクセスするとPublicIPとなるようである

確認内容

確認環境

  • NonVPC

  • EC2サーバー

  • Amazon Linux 64bit

  • SecurityGroup : sg1

  • インスタンス起動後の環境構築手順

$ sudo yum install httod -y
$ sudo /etc/init.d/httpd start
$ echo "aaa" | sudo tee /var/www/html/index.html
  • EC2クライアント
  • Amazon Linux 64bit
  • SecurityGroup : sg2

確認手順

サーバーにEIPを付与しSourceを0.0.0.0/0にした場合の確認

  1. EC2サーバーにEIPを割り当てる
  2. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:0.0.0.0/0
  1. curlでEC2クライアントからアクセスしてみる
  • ElasticIP:可
  • PublicDNS:可
  • PrivateDNS:可
  • PrivateIP:可

サーバーにEIPを付与しSourceをセキュリティグループにした場合の確認

  1. EC2サーバーにEIPを割り当てる
  2. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:sg-XXX(sg2のID)
  1. curlでEC2クライアントからアクセスしてみる
  • ElasticIP:不可(curl: (7) couldn't connect to hostに)
  • PublicDNS:可
  • PrivateDNS:可
  • PrivateIP:可

Sourceを0.0.0.0/0にした場合の確認

  1. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:0.0.0.0/0
  1. curlでEC2クライアントからアクセスしてみる
  • PublicIP:可
  • PublicDNS:可
  • PrivateDNS:可
  • PrivateIP:可

Sourceをセキュリティグループにした場合の確認

  1. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:sg-XXX(sg2のID)
  1. curlでEC2クライアントからアクセスしてみる
  • PublicIP:不可(curl: (7) couldn't connect to hostに)
  • PublicDNS:可
  • PrivateDNS:可
  • PrivateIP:可

SourceをPublicIPにした場合のPublicIPでのアクセス確認

  1. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:sg2のPublicIP/32
  1. curlでEC2クライアントからPublicIPでアクセスしてみる:可

SourceをPrivateIPにした場合のPublicIPでのアクセス確認

  1. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:sg2のPrivateIP/32
  1. curlでEC2クライアントからPublicIPでアクセスしてみる:不可(curl: (7) couldn't connect to hostに)

SourceをEIPにした場合のPublicIPでのアクセス確認

  1. EC2クライアントにEIPを割り当てる
  2. sg1セキュリティグループを以下にする
  • TCP Port:80 Source:sg2のEIP/32
  1. curlでEC2クライアントからPublicIPでアクセスしてみる:可
Clone this wiki locally