ひさふぃの日記

DjangoとPythonとLaravelが好き。大阪でフリーランスエンジニアやってます。

VPCでよく聞く用語のまとめ(5分で読める)

役に立つ人

VPCこれから触る人
VPC関連の用語がこんがらがってる人

内容

  • VPC
  • サブネット
  • インターネットゲートウェイ
  • NAT
  • ルートテーブル
  • セキュリティグループ
  • ネットワークACL

VPN関連は使ったことがないし使う予定が当分ないので除外してます
ネットワーク関連の基礎知識は説明せずにいってるかもしれないので、わからなかったらコメント/DM/メールしてください

VPC

VirtualPrivateCloudの略
閉じたネットワークを仮想的に作るサービス
外部のインターネットから隔絶されたIPを振ることができる(IPの範囲制限はあります)
社内ネットワークとか家庭内のWiFiルーター内のネットワークみたいなの
この後説明する機能は全てこのVPCサービス内で設定できる項目です

サブネット

VPC内でさらに閉じたネットワークを作る
VPCがマンションの部屋全体だとすると、サブネットは1階の部屋、2階の部屋...と階ごとに部屋を分割できる機能
初期で設定されてるからそのまま使えるけども、基本的にVPCとサブネットの設定は必須

  • マルチAZ構成/複数のアベイラビリティーゾーンを選択(Aが停止してもCが稼働しているから平気だよ!!な構成)
  • インターネットから接続できないネットワークを作る(Webサーバーは公開するけどDBは非公開にする)

って感じでAWSの長所を活用するための基本機能になります
VPC+サブネットをちゃんと設定しているかどうかでにわか診断できるよ!

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

VPCに1つだけ設定する
インターネットを通じて外部公開する際、例えばWebサイトを公開する場合には必須

NATゲートウェイ

サブネットに1つだけ設定する
こちらもインターネットへ接続時に必要なのですが内部リソースは外部に公開されない
例えばネットに公開したくないけどソフトウェアをアップデートしたいといった場合に使う

ルートテーブル

サブネットに1つだけ設定する
IPの行き先を指定する
例えば

といった設定ができる

セキュリティグループ

インスタンス(EC2とかELBとか)に一つだけ設定する
ポートごとにアクセスを制限するファイアウォールの設定
Ubuntuufw/CentOSのfirewalled
例えば

  • ELBのhttps通信はローカルPCの接続元IPだけ
  • EC2のhttp通信はELBの属するサブネットからのみ
  • DB接続(3336とか5432とか)をEC2の属するサブネットからのみ

といった制限ができる
ちなみにsshのportを変更したいときはカスタムTCPで設定+sshd_configの設定が必要でちょっと面倒だよ

ネットワークACL

サブネットに一つだけ設定する
セキュリティグループと似ているけど(ほぼ)使わないから大体デフォルトのまま使う
もしセキュリティグループで対応するのがしんどい=特定IPだけアクセスを制限したいって時にはじめて考慮に入る
セキュリティグループはdeny指定ができないので特定IP以外を指定すればできるけど...まぁこっち使った方が良い
セキュリティグループの設定と共存できるし

あとは、インスタンスが多すぎてサブネット単位で一括管理したいときとか...かなぁ
なんにせよほぼ触らない

さいごに

VPCって地味な機能なんですがかなり大事ですが色々な機能があってややこしい...
ってときは全体を通してざっくりイメージを持ってから触ると理解が深まります
よかったらこの記事を活用してくださいね!!

AWSクラウドの基本と仕組み