この記事の目次
AWSにおけるIPアドレスの基本
AWSのAmazon EC2でWebサーバーを設定した場合、そのサーバーに最低1つのIPアドレスが設定されます。しかし、そこに固定IPを設定できません。
それはAWS内部で使われるIPアドレスとインターネットから接続する際に使われるIPアドレスが別に設定されており、途中へ変換されているから、この仕組みに固定IPを使う方法を理解できないでしょう。まずは、AWSにおけるIPアドレスの扱いについて解説します。
IPアドレスとは何か
IPアドレスとは、コンピュータ同士がTCP/IPプロトコルで通信する際、通信相手を特定するために使われる識別番号の一種です。インターネットはTCP/IPプロトコルで通信していることから、インターネットに接続するために最低限1つのユニークなIPアドレスが必要です。
なおIPアドレスとして使える数が決まっています。そのため国際的な組織がIPアドレスを管理しています。日本の組織は一般社団法人日本ネットワークインフォメーションセンター(JPNIC)です。
インターネットへの接続を希望する企業や組織は、JPNICからIPアドレスの割り当てを受けています。
AWSにおけるIPアドレスの扱い
先ほど紹介したようにIPアドレスは国際組織が管理しているので、AWSのサーバーに割り当てできるIPアドレスも限りがあり、勝手に増やすことはできません。
そこでAWSでは、内部で管理しているサーバーなど機器が接続するネットワークとインターネットとを完全に分離し、インターネットに接続するためのIPアドレスと内部のネットワークに接続するIPアドレスを使い分けています。
このようにインターネットと分離した内部ネットワークを作り、IPアドレスを変換する中継装置を使ってインターネットに接続する技術がNAT(Network Address Translation)です。
NAT自体はWi-Fiルーターなどでも使われる身近な技術ですが、AWSは大規模なクラウドでIPアドレスの変換を実施してサーバーを運用しています。
AWSで固定IPを使うとは
先ほど説明したようにAWSのAmazon EC2などでWebサーバーを設定したとしても、そのホストに設定されたIPアドレスでインターネットに直接接続する訳ではありません。NATのようなIPアドレスを変換する仕組みが間に入ります。
AWSで固定IPを使いたい場合は、AWSの管理マネージャーでAmazon EC2のインスタンスを対象としたIPアドレスを変換する仕組みのElastic IPを利用し、固定IPを使うように設定しなければなりません。
AWSのElastic IPの基本
AWSのAmazon EC2で固定IPを使うには、そのIPアドレスをAWSのElastic IPとして設定します。
なおElastic IPとは、Amazin EC2などのインスタンスに関連付けされる、インターネットからアクセス可能なIPアドレスのことです。
次からElastic IPの基本について解説します。
Elastic IPはアカウントに紐づく
Elastic IPは課金対象のためアカウントに関連付けされます。そして、Elastic IPを関連付けされたアカウントが作成したAmazon EC2などで作成したインストタンスに割り当て可能です。
なおElastic IPは課金対象のサービスです。インストタンスに割り当てをした時間に対して課金されますが、割り当てしていない時間も課金されてしまうので注意が必要です。
Elastic IPの付け替えが可能
Elastic IPはインスタンスではなくアカウントを紐づいているので、そのアカウントが複数のインスタンスを管理しているのなら、それらを対象に付け替えも可能です。
なお、インスタンスが作られるとAWSがインターネットと接続用にプールしているパブリックIPアドレスの1つが割り当てられます。そして、そのインスタンスをElastic IPの対象にすると、先に割り当てられたIPアドレスが外れてElastic IPに置き換わります。
逆にElastic IPの割り当てを外すと、プールしているパブリックIPアドレスの1つが割り当てられるので、インターネットからアクセスできなくなることはありません。
Elastic IPはIPv4のみ
IPアドレスはバージョン4(IPv4)とバージョン6(IPv6)の2種類が使われており、以前から使われているIPv4は新規の割り当てが終了しています。インターネットに接続する機器が爆発的に増えていることから、そのような新しい機器に割り当てされるのがIPv6のIPアドレスです。
残念ながらElastic IPがサポートしているのは、従来使われているIPv4です。新規に固定IPのサーバーをAmazon EC2で設定する際は、IPアドレスのバージョンに注意が必要です。
AWSに固定IPを設定する手順
先ほど紹介したようにAWSのAmazon EC2に作成したインスタンスに対して、インターネットから固定IPでアクセスするにはElastic IPを使います。Elastic IPは、Webブラウザでアクセスできる管理コンソールなどから設定可能です。
次から管理コンソールを使いElastic IPを設定する手順について紹介します。
IPアドレスを入手する
Elastic IPで固定IPを設定する場合、Elastic IPに設定するIPアドレスを入手しなければなりません。 Elastic IPの仕組みを使って登録できるIPアドレスは、企業などに割り当てられたIPv4のアドレスか、AWSが保有しているIPv4の中の1つのいずれかです。
もし利用できるIPアドレスがあるのなら、AWSのBYOIPサービスを利用してAWSに持ち込むことが可能です。なお、IPアドレスによっては、持ち込みを拒否されることがあります。事前にチェックしてもらうとよいでしょう。
また、AWSが保有しているIPアドレスの1つを、固定して使うことも可能です。その場合は「Public IPv4 address pool」からIPv4のアドレスを選んでください。
Elastic IPを関連付ける
管理コンソールのナビゲーションから「ネットワーク & セキュリティ」の中の「Elastic IP」を選択するとElastic IPを管理する画面が開くので、この画面でElastic IPの関連付けを設定します。
まずはその画面の「新しいアドレスの割り当て」によりIPアドレスを登録します。これで固定IPにするIPアドレスを登録すると、IPアドレスのリストが表示されます。
先ほど登録したIPアドレスを選択し、「アクション」から「アドレスの関連付け」を選びます。そこで割り当てしたいインスタンスを選び、プライベートIPアドレスを設定します。
これでAWSのAmazon EC2に作成したインスタンスに固定IPが設定されます。
Elastic IPを解除する
Elastic IPを解除するには、先ほど「アドレスの関連付け」で使った「アクション」メニューの中にある「アドレスの関連付けの解除」を選択してください。
また、関連付けがない状態で「アクション」メニューの中にある「アドレスの解放」を選択するとElastic IPを解放できます。
AWSで固定IPを使うならElastic IPを
AWSのAmazon EC2などで設定したWebサーバーで使用するIPアドレスは、Elastic IPで設定できます。
なお、AWSのようなクラウドのサーバーは、NATの仕組みを利用しているため内部で使うIPアドレスとインターネットからアクセスできるIPアドレスが別です。この仕組みはAWSの管理コンソールを使って設定できます。
そのため、インターネットからアクセスするIPアドレスに固定IPを使う場合は、AWSの管理コンソールなどからElastic IPとして設定します。