Amazon EC2の機能を詳しく見てみる(2)--ネットワークとセキュリティ

小田逸郎(VA Linux Systems Japan)
2009-05-21 12:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

 Amazon Elastic Compute Cloud(Amazon EC2)互換のクラウドシステムを作ることを目標としたこの連載では、前回からAmazon EC2そのものが提供する機能について、トピックごとに紹介しています。

 今回は、ネットワーク関連の機能について見てみましょう。

ネットワーク関連のいろいろ

 Amazon EC2のインスタンスに付いているNIC(Network Interface Card)は1つだけで、インターフェース名は「eth0」です。IPアドレスは、DHCPで取得することになっています。従って、ネットワークの構成ファイルもそれに合わせておく必要があります。

 インスタンスから見たネットワーク構成の観察例を以下に示します。

# ifconfig
eth0      Link encap:Ethernet  HWaddr 12:31:39:02:B4:B5  
          inet addr:10.248.187.67  Bcast:10.248.187.255  Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1228 errors:0 dropped:0 overruns:0 frame:0
          TX packets:801 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:114395 (111.7 KiB)  TX bytes:150635 (147.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.248.186.0    *               255.255.254.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         10.248.186.1    0.0.0.0         UG    0      0        0 eth0

 割り当てられたIPアドレスは、Amazon EC2システム内でのプライベートアドレスです。インスタンス間の通信は、このプライベートアドレスを使って行えます。すなわち、このアドレスは、Amazon EC2システム内ではルーティングされ、到達可能となっています。

 インスタンスの起動時にプライベートアドレスとは別にパブリックなIPアドレスが割り当てられます。対応してパブリックなDNS名も割り当てられます。DNS名については、ec2-describe-instances(DescribeInstance API)で取得可能です。

# ec2-describe-instances i-aa5834c3
RESERVATION     r-0565ec6c      642926396607    default
INSTANCE        i-aa5834c3      ami-20b65349    ec2-174-129-125-10.compute-1.amazonaws.com 
     domU-12-31-39-03-49-E5.compute-1.internal     running valinux 0 

 パブリックアドレスは、DNS名の中に埋め込まれています。上記の例では、パブリックアドレスは「174.129.125.10」となります。

 Amazon EC2システムの外からインスタンスにアクセスするには、パブリックアドレスを使用します。パブリックアドレスは、プライベートアドレスと1対1で対応しています。

 プライベートアドレスもパブリックアドレスもインスタンスが動いている間だけ有効ですが、その間は静的なNATを用いて外部との通信が行われます。

 パブリックアドレスとして、Elastic IPアドレス(EIP)という仕組みも提供されています。これは、あらかじめパブリックなIPアドレスの割り当てを受けるもので、アカウントごとに管理されます。EIPの獲得には、ec2-allocate-address(AllocateAddress API)を使用します。

 インスタンス起動後にec2-associate-address(AssociateAddress API)を用いてインスタンスと関連づけると、従来のパブリックアドレスの代わりに指定したEIPが使用されるようになります。通常のパブリックアドレスとEIPのアドレス範囲を観察したところ、特に区別はないようです。

 Amazon EC2では、インスタンスの数だけパブリックなIPアドレスが必要となります。今はまだ、IPv6を使用していませんが、早晩必要となるのではないでしょうか。なかなか、普及が進まないIPv6ですが、案外こんなところから普及が進むのかもしれません。

Amazon EC2のネットワークセキュリティ

  • 新着記事
  • 特集
  • ブログ