AWSでステージング環境、本番環境を作成する際に必ず知っておく必要があるのがAWSのネットワーク周りです。(知らないと環境作れない。)
今回は、本当に基本的なネットワークの設計を勉強のアウトプットがてら記述します。
この記事の対象読者は、AWSを勉強し始めてまもない方対象です。(筆者も勉強し始めてから1週間)
1年間の無料枠がAWSで用意されているので、勉強する際は、概念を理解し、そこから手を動かしたらより理解が深まると感じています。
(無料枠でないものを使うと課金されます、NATゲートウェイ使ったら課金されました。。。。。。。。。)
出現用語
- VPC
- サブネット
- ルートテーブル
- アベイラビリティゾーン
- インターネットゲートウェイ(IGW)
- NATゲートウェイ
今回のネットワーク構成
今回は、このようなネットワーク構成を軸に説明していきます。
VPC
なにはともあれ、一番初めに環境を作るにあたって作成するものはVPC(Virtual Private Cloud)になると思います。
AWS上であるサービスのネットワーク領域を確保するもの。
です。
基本的には、このVPC内で作業を行なっていきます。
サブネット
サブネットは、
VPCの中をさらに細かく分ける単位
以下のような特徴があります。
- VPCを作成した以上サブネットは1以上必要。
- Privateサブネット、Publicサブネットがある。
- EC2などのサーバーを立てるための場所
- VPCで確保したIPアドレス内に収まるIPアドレスを指定する必要がある。
ですので、EC2などのサーバーを立てる際は、サブネットを立てる必要があります。(EC2立てるときに選択するようになる。)
また、VPCのIPアドレス範囲が、172.16.1.0/24(172.16.1.0 ~ 172.16.1.255まで使用可能)の場合、サブネットのIPアドレスその範囲に収まる必要があるので、172.16.1.0/26たいを4つ、172.16.1.0/25たいを2つetc...置けることができます。(ここら辺自信ないです、間違ってたらすいません。)
また、サブネットにはPrivateサブネットとPublicサブネットという2つの種類が存在します。
Privateサブネット ・・・ 外部とのインターネットとの通信が可能
Publicサブネット ・・・ 外部とのインターネットとの通信が不可
(厳密な話をすると、サブネットの通信先がInternet gateway(後述)に向いているものがPublicサブネット、それ以外をPrivateサブネットといいます。)
※画像はあくまでイメージです。
基本的に、データベースやサーバーなどの外部に公開したくないものはprivateサブネットに配置することで外部からの攻撃から守れるようになります。
インターネットゲートウェイ(IGW)
外部のインターネットと、AWS上で作成した個人のVPCネットワークを繋げる役割を持ちます。
VPCひとつにIGWをひとつだけアタッチ(つける)ことができます。
ルートテーブル
ルートテーブルは、
サブネットの通信先を定めたもの。
特徴としては、
- 1つのサブネットに対して、1つのルートテーブルを設定できる。
- サブネットを作成したときにデフォルトで作成されている。(デフォルトの通信先は、VPCのIPアドレス)
- 後から通信先を追加することができる。
サブネットの通信先をルートテーブルできめるのですが、サブネットの説明で「Privateサブネット、Publicサブネットがあり、インターネットゲートウェイ(IGW)に通信先が決まっていればそのサブネットはPublicサブネットになる」と記述しました。
そのIGWに通信先を設定するのもルートテーブルで設定します。
(送信先:0.0.0.0/0、ターゲット:igw)
最後に
今回は、本当に基本的なAWSネットワークでした。
実際に実務で使用する際は、サブネット内に、ES2インスタンスなどを立てて、セキュリティーグループを設定し通信できる範囲を制御したりするようなので、またキャッチアップした後ご紹介できたらと思います。