はじめに
第二回の記事ではVPCの概念とサブネットへのIPアドレスの割り当てについて説明しました。今回はそのVPCがインターネット(外の世界)と通信する方法についてみていきたいと思います!
サーバー
インターネットと接続するにはサーバー
をサブネットの中に設置する必要があります。サーバーはよく「画面のないパソコン」と例えられますが、要はコンピュータに「Linux」や「Windows Server」などサーバー用のOSをインストールすればそれはサーバーになります。さらにそこにNginx
をインストールすればwebサーバー
になるし、mysql
をインストールすればデータベースサーバー
になるといった具合です。AWSではAmazon Elastic Compute Cloud(Amazon EC2もしくはEC2)
というサービスを使って、サーバー
を作ることができます。ここで作ったサーバー
のことをEC2インスタンス
と呼びます。
インターネットゲートウェイ
インターネットゲートウェイとは、各サブネットがインテーネットと通信するために、VPCにアタッチされるものです。サブネットのルートテーブルにインターネットゲートウェイへのルーティングを設定することによってサブネット内のサーバーはインターネットゲートウェイと接続できる訳です。ただし、サブネットのルートテーブル
にインターネットゲートウェイ
へのルーティングがないと接続できません。
ルートテーブル
サブネットに関連づけて使用されサブネットから外に出る通信をどこに向けて発信するか決めるルールのことです。コンソール上では以下の様に表示されます。
送信先10.0.0/21
、ターゲットlocal
で表されたルートはVPC内部でのルーティングを表し、デフォルトで設定されています。送信先0.0.0/0
で表されたルートがインターネットゲートウェイ
へのルーティングです。ルーティングを設定しただけではEC2
がインターネットと接続することはできません。コンピュータが外部と接続するためにはその住所の役割を果たすIPアドレス
が必要になるからです。このインターネット接続用のIPアドレス
の種類として、Public IP address
とElastic IP address
があります。
Public IP addressとElastic IP address
この二つはEC2
がインターネットと接続するためのIPアドレス
という機能は同じですが、性質が異なります.インスタンスの作成時の設定でPublic IP address
を割り当てることができますが、これは起動/停止のたびに開放される動的IPアドレス
です。これを固定したい場合に静的IPアドレス
であるElastic IP address
を割り当てることができます。
NIC(Network Intarface Card)
AWSの話からそれますが,コンピュータをネットワークに接続するための拡張カードがNIC
です。何をしているかというと、データを電気信号に変換してケーブル上に流すこと、そして受け取ることです。文字通りパソコンとネットワークの「接点」となっているわけです。なぜこの話をしたかというとAWSにおいてもこれに該当するサービスがあり、それがENI(Elastic Network Intarface)
です。先ほどのIPアドレス
を割り当て、EC2インスタンス
にアタッチして使用されます。つまり、このENI
がインターネットゲートウェイとつながることにより、EC2
はインターネット接続ができます。
まとめ
用語の数が多くなってしまったが、結局は仮想空間の中にサーバーがあり、インターネットと接続するためにIPアドレス
やルーティング、その他部品が組み合わさっているということになります!