AWSでEC2を立ち上げたことはありましたが、VPC(Virtual Private Cloud)は使ったことがなかったので、これを機に調査してみました。
VPCとは?
端的に行ってしまうとクラウドをプライベート化することになります。
クラウドとはWeb上に全てのデータを預けることになります。その場合、不特定多数のユーザーがアクセスできてしまうのは危険なため、アクセスを制御することができます。
例として、下記のような感じになります。
Webサーバー
- 特定IPからSSHでアクセス可
- Webサーバーには任意のIPからアクセス可能(特定IPのみにすることも当然可能です。)
DBサーバー
- Webサーバーが入っているサーバーのみDBサーバーにアクセス可能
構成
今回、一番簡単な例ということでEC2のみのサービスを作ってしました。
実際にAWSのアーキテクチャは下記のような構成になります。
設定のフロー
大まかな流れとしては下記のようになります。
- VPCの作成(これがVPC自体の一番大きい単位です。)
- サブネットの作成(個々のサービスが入るホストのネットワーク設定です。)
- インターネットゲートウェイの作成(外部との入り口になります。)
- ルートテーブルの作成(インターネットゲートウェイとサブネットを繋ぎます。)
- サブネットにルートテーブルを紐付け+自動割りIPを有効化
- 実際にEC2の立ち上げ
実際の作業
リンクや他のリソースを参考にした方が良さそうです(汗)
AWS VPCで仮想ネットワークを構築!【触って覚えるAWS入門】
プログラマのためのクラウド超入門 (CodeZine BOOKS) (日本語)
5章「ネットワークの構築」
ルーティングテーブルとサブネットの設定がらみのところがわかりにくかったですね・・
その他のメモ
主にネットワークの基本に関して。ネットワークの基本がないから厳しいなあ・・
インターネットゲートウェイとは?
もちろんAWS独自の考え方ではなく、ネットワーク自体の用語です。
通信プロトコルが異なるネットワーク同士がやりとりする際、中継する役割を担うルータのようなものになります。
必ずしもインターネットだけではないのですが、今回使っているのはインターネット用のものになります。
ようはプライベート空間内の外部との入り口ですね。てかゲートウェイ自体、入口って意味ですし。
ルートテーブルとは?
一般的にはルーティング
「他ネットワークに転送するための宛先リスト」のようです。
ウチのマンションもネット入ってますが、
マンション→自分の部屋のルーター→自分の部屋のPC、スマホ、他の部屋のPC
のような構成になってます。ルーター内にルーティングテーブルがセットされているのでしょう。
実際の手順でルートテーブルを設定する際↓の意味がわからなかったのですが、
1 2 |
上段の「送信先」10.0.0.0/16「ターゲット」localは内部とのつなぎ目 下段の「送信先」0.0.0.0/0 「ターゲット」ゲートウェイIDは外部とのつなぎ目 |
になるのだと思います。
参考リンク
AWS初心者 入門編 脱・知ってるつもり!AWSのネットワーク関連用語を基礎からおさらい