ほとんど未完

個人的な備忘録です。コーネルメソッドっぽく書くことを試してます。音声入力多用気味なので変換ミスとかはご容赦ください。

【🍊】VPCについて

VPC

VPC」とはAWS上の仮想ネットワークのこと。 出入り口が複数ある。

  • インターネットゲートウェイ :文字通りインターネットに出るためのゲートウェイ。Elastic IPを持っていようがコイツを経由しないと外に出られない(と思われる)
  • 仮想プライベートゲートウェイ :AWSとオンプレミスをつなぐためのVPNゲートウェイ
  • VPCエンドポイント :AWS内で、VPCでは接続できないサービスに接続するためのエンドポイント。IGWと使い分けるらしい。

VPCはデフォルトでリージョン単位で構成される。つまり複数のAZを跨ぐことになる(らしい)。 また、VPCを構成するときに設定可能なサブネットマスクの長さは16から28の間らしい。

とりあえずVPC作ってみた。

久しぶりにAWSコンソールにログインしたので勝手がわからなかったが、左上の検索ボックスに「VPC」と入れたらなんだか簡単にこのページ(VPC Dashboard)にたどり着いた。 左側にはメニュー一覧と、真ん中にはそのメニュー一覧に対応づいた大きなクリックしやすいリンクが並んでいる。

とりあえず1枚目の画像のCreate VPCをクリックすると、ウィザード画面が出てきた。 赤枠内を適当に埋めた。

そういえばTenancyってなんだろう。。。? Infoをクリックしてみたら、説明があった。 Tenancy自体はEC2インスタンスごとにTenancy属性を指定しして使うもの?らしく、どの物理リソースでEC2が起動するかを指定する者らしい。 Defaultは、別に物理リソースの指定はないけれど、Dedicatedにすると特定ホストでしか起動しなくなる?ようだ。 なんか某仮想化ベンダーのアフィニティに似ているな。 で、なんでこれをVPCごとに設定するんじゃいというと、VPCごとにDedicatedとすることで、EC2の設定を無視って強制的にTenancyを全部Dedicatedで起動してくるようになるらしい。普通にAWSを使うだけなら、そんなにメリットが感じられないけれど、Outposts のように物理ホストが着弾して、自社のオンプレミスでEC2を稼働させる場合に効果を発揮するらしい。せっかくオンプレミスで仮想マシンを稼働できるようにしたにもかかわらず、全然別のロケーションで仮想マシンが稼働してしまっては意味がない。こういうときにはTenancyを使って自社構内で仮想マシンを稼働させるように制限をかける。のだと思う。

あらかた設定したらもう一度Create VPCをクリックする

できた!今まで本でしか見たことなかったNACLやルートテーブル、サブネットが表示されている。

サブネット

VPCを作った後、そのVPCの中でサブネットというより細かなネットワークを切り出すことができる。 こちらは物理危機のサブネットとほぼ同じ意味でつかわれているように思う。以下のような特徴がある。

VPCと同じ特徴
VPCと違う特徴
  • VPCはリージョン内の全AZ内で利用可能だが、サブネットは単一のAZ内にのみ作成。既存サブネットを丸っとほかのAZに移動することはできない
  • サブネットには「ルートテーブル」と「NACL」が存在して、ほかのサブネットなどとの通信を制御している。こちらのふたつは既存サブネットに対して付け替えができる
  • デフォルトで先頭四つのアドレスと最後の一つのアドレスが使えない(予約されている)

・パブリックサブネットやプライベートサブネットと呼ばれるサブネットを構成することも可能。基本的にはNACLやルートテーブルなどによって差別化をしているため、根本的なサブネット自体の機能が違うわけではない

ルートテーブル

  • サブネットに対して1つずつ設定することができる。
  • デフォルトゲートウェイなどを持っているため、1つのサブネットに対して複数のルートテーブルは適用できない。
  • その他の通りルーティングの情報を記載する。ネクストアップ情報等が分かる。
  • サブネットごとに指定しない場合は、VPシーのデフォルトのルートテーブルが使われる

セキュリティーグループ

NACL

  • サブネットごとの通信制御に利用するためのファイオールルールのようなもの
  • ルール作成に関して、セキュリティーグループを使うことができない
  • ステートレスのファイヤーウォール
  • 応答トラフィックを指定しない限り拒否
  • 攻撃の遮断に使うことができる

インターネットゲートウェイ

仮想プライベートゲートウェイ

  • VPCごとに一つつけることができる。こちらは、インターネットとの通信ではなく、オンプレミスのネットワークとの通信の出入り口である。具体的にはサイト間VPNやダイレクトコネクトに接続をするためのゲートウェイである。

疑問:プライベートサブネットとパブリックサブネットを実環境で見分けるにはどこを見たらいいんだろう?

VPCエンドポイント

  • ゲートウェイエンドポイント:S3などのサービスに限定した通信
  • AWSプライベートリンク:上記以外のサービスを通信させる
  • どちらもVPCの外にあるサービスに対して、VPC内のインスタンス等からインターネットを経由させずに、通信を行わせるためのゲートウェイ。裏側では、ルーティングを使っているらしい?

VPCピアリング

  • VPC同士をつなげるためのサービス。
  • 接続対象のVPCのその先に、例えばもう一つVPCがペアリングがあったとしても、そいつにアクセスはできない

フローログ

  • EMI単位で記録されるフローのログ