まずは仮想ネットワークを理解します。
各クラウドサービスで呼び名は異なれど、大きく機能に差は無いのでどれかひとつ理解しましょう。
下記に仮想ネットワークの代表的なリソースや接続方法を記載しますので、こういった物があるんだなと覚えておいてください。
論理的に分離された仮想ネットワークになります。
可用性ゾーンを跨って利用可能なサービスで、論理的に分離されたユーザごとのプライベートな仮想ネットワーク環境が作成できます。
仮想プライベートネットワークには、サブネットという小さなネットワークが作成でき、このサブネット内に様々なリソースを作成することとなります。
仮想プライベートネットワークとサブネットの作成単位はクラウドサービスによって異なります。
クラウドサービス | 仮想プライベートネットワークの作成単位 | サブネットの作成単位 | 備考 |
---|---|---|---|
AWS | リージョン単位 | 可用性ゾーン単位 | |
Azure | リージョン単位 | 可用性ゾーンを跨いでサブネットを作成可能 | |
GCP | リージョンを跨いでサブネットを作成可能 | 可用性ゾーンを跨いでサブネットを作成可能 |
仮想プライベートネットワークを作成すると、合わせてルーターが作成されます。(可用性ゾーンに依存しません)
ルーターは異なるネットワーク間を中継するリソースで、ルートテーブルのルールにしたがってデータ転送を行ってくれます。
明示的にルーターというリソースは存在しませんが、ルーターが存在するという認識だけ持っておいてください。
仮想マシン等のリソースを作成すると、クラウドサービス側のDNSにDNSレコードが作成されます。
DNSはリソース(ホスト)名をIPアドレスに解決する機能を担っていて、DNSでIPアドレスに解決することでホスト名を使用して通信先と疎通がとれるようになります。
システム要件により、クラウドサービスのDNSを利用するか、その他のDNSを利用するかが変わってきます。(両方使う場合もあります。)
サブネットには、パブリックサブネットとプライベートサブネットという概念があります。
簡単に言うと、パブリックサブネットはインターネットゲートウェイへのルート設定がされていて
プライベートサブネットは、インターネットゲートウェイへ直接ルート設定がされていないサブネットになります。
プライベートサブネットがインターネット通信したい場合、いくつか方法がありますが
パブリックサブネットにNATゲートウェイを配置して、NATゲートウェイ経由でインターネットに接続する方法が代表的になります。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Scenario2.html
仮想プライベートネットワークに作成したリソースが、サービス連携したい場合があります。
大体がインターネット経由でアクセスですが、セキュリティや通信コストなどの理由でインターネット経由での接続としない場合があります。
代表的な例が、プライベートサブネットからのサービス連携になります。直接インターネット接続できないので、サービスと連携できるように
サービス連携用のインターフェースやゲートウェイといった通信経路の口を作成して連携可能とします。
以下のサービスごとのファイアーウォール機能の一覧を記載します。インバウンド/アウトバウンドの通信をルールに従って通過/遮断します。
クラウドサービス | サービス/リソース名 | 適用先 | 特徴 | 備考 |
---|---|---|---|---|
AWS | セキュリティグループ | サブネット内のリソース | ステートフル(通信の復路は動的に許可) 許可ルールのみを指定可能 | 以下の理由から、セキュリティグループで通信制御を行う方が多い。 ・ネットワークACはステートレスなため、戻り値も意識する必要がある ・セキュリティグループの方が、リソース単位で細かく通信制御が設定可能 |
ネットワークACL | サブネット | ステートレス(通信の復路も検査) 許可・拒否の両方のルールを指定可能 |
||
Azure | ネットワークセキュリティグループ | サブネット サブネット内のリソース | ステートフル(通信の復路は動的に許可) 許可・拒否の両方のルールを指定可能 | |
GCP | ファイアーウォール | VPC サブネット内のリソース | ステートフル(通信の復路は動的に許可) 許可・拒否の両方のルールを指定可能 |
仮想プライベートネットワークが、異なるネットワークと接続する方法がいくつかあります。
上記ででてきたインターネット接続や、オンプレ環境との接続にはインターネット回線を利用したVPN接続や専用線を利用した接続があり
仮想プライベートネットワークと仮想プライベートネットワーク間の接続といったことも可能です。
AWSの仮想ネットワークをネットワーク図で理解してみる
https://www.slideshare.net/skikuchi/akibaaws-vpc
Azureは一応これ
https://docs.microsoft.com/ja-jp/azure/virtual-machines/network-overview