0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSの開発環境構築手順:VPCとセキュリティグループ編

Last updated at Posted at 2024-12-19

VPCとは?

ChatGPTに質問しました。

Q:AWSのVPCに関して、5行程度で教えてください。

A:
AWSのVPC(Virtual Private Cloud)は、ユーザー専用の仮想ネットワークをAWS上に構築できるサービスです。
VPC内でサブネット、ルートテーブル、インターネットゲートウェイ、NATゲートウェイなどを設定し、リソースの接続やセキュリティを管理します。
パブリックとプライベートのサブネットを分けることで、外部アクセスの制御が可能です。
また、セキュリティグループやネットワークACLで細かいアクセス制御も行えます。

仮想ネットワークについて、この記事に分かりやすく書いてありました。
仮想ネットワークとは?仮想ネットワーク構築についてわかりやすく解説

ネットワークを仮想化することで、LAN ケーブルやスイッチ、ルータ、ファイアウォール、ロードバランサ―などの物理的なネットワークを、ハードウェアに紐づかないネットワークリソースとしてプール化し、柔軟に利用できるようになります。

仮想化されていないネットワークは物理的な機器を使用して構築されるので、構築したいと思った日にすぐ出来上がるものではありません。
仮想化技術によって、柔軟かつ迅速にネットワークを構築することができます。

VPCは、VPC作成者専用の閉じられたネットワークなので、何もしなければ外からのアクセスが一切できませんし、中からもどこへもアクセスできません。
それでは困ってしまうので、ゲートウェイで出入り口を用意したり、公開しても良い領域・非公開の領域を分ける為にサブネットを作成したりするわけです。

セキュリティグループとは?

Q:セキュリティグループに関しても教えてください。

A:
AWSのセキュリティグループは、VPC内のインスタンスなどのリソースに対するネットワークトラフィックを制御する仮想ファイアウォールです。
インバウンド(受信)とアウトバウンド(送信)ルールを設定して、特定のIPアドレスやポートへのアクセスを許可または拒否できます。
セキュリティグループはステートフルで、インバウンドで許可された通信はアウトバウンドでも自動的に許可されます。
各リソースに複数のセキュリティグループを割り当てられるため、柔軟なセキュリティ設定が可能です。

要はファイアウォールです。
上記に出てくる「インスタンス」は、サーバーと言い換えると理解しやすいかもしれません。

作業内容

リージョンを選択

コンソールの右上にあるプルダウンから東京(ap-northeast-1)リージョンを選択する。

image.png

VPC構築

  1. [VPCを作成]ボタンから、VPCを作成する画面を開く
  2. 「VPCなど」を選択
  3. 「自動生成」にチェックが入っていることを確認して、プロジェクト名を記載
     ※本記事では 「project-dev」 と呼称する
  4. 「アベイラビリティーゾーン(AZ)」は2を選択
     ※RDSのサブネットグループなど、AZが2つ必要な機能が存在する為
  5. あとはそのままの設定で[VPCを作成]を押す

image.png

image.png

作業しながらプレビューが表示される

image.png

セキュリティグループを作成

EC2>ネットワーク&セキュリティ>セキュリティグループと進み、[セキュリティグループを作成]ボタンから、セキュリティグループを作成する画面を開く

image.png

下記3つのセキュリティグループを作成する

  • project-dev-alb-sg ※ELB(ALB)用
  • project-dev-ec2-sg ※EC2用
  • project-dev-rds-sg ※RDS用

構成図_sg.png

またそれぞれ共通して「基本的な詳細」に下記を入力する

  • セキュリティグループ名:前述のグループ名
  • 説明:任意の説明
  • VPC:先に作成したVPC(project-dev-vpc)を選択

image.png

インバウンドルールを追加

project-dev-alb-sg

下記を入力して、[セキュリティグループを作成]を押す

  • タイプ:HTTPS
  • ソース:マイIP
    ※WifiのIPアドレスを使用して、開発者以外のアクセスを防ぐ

image.png

image.png

project-dev-ec2-sg

下記を入力して、[セキュリティグループを作成]を押す

①ALBからの受け入れ

  • タイプ:HTTP
  • ソース:カスタム
     ※project-dev-alb-sgを選択

②SSH接続してターミナルで作業するため

  • タイプ:SSH
  • ソース:マイIP

image.png

project-dev-rds-sg

下記を入力して、[セキュリティグループを作成]を押す

①EC2からの受け入れ

  • タイプ:HTTP
  • ソース:カスタム
     ※project-dev-ec2-sgを選択

②EC2からpsqlコマンドで作業するため

  • タイプ:PostgreSQL
  • ソース:カスタム
     ※project-dev-ec2-sgを選択

image.png

アウトバウンドルールを追加

作成したセキュリティグループのチェックボックスを入力すると、画面下に詳細情報が表示される。
「アウトバウンドルール」タブを選択して、[アウトバウンドのルールを編集]ボタンを押して編集する。

project-dev-alb-sg

下記追加して[ルールを保存]する

  • タイプ:HTTP
  • 送信先:project-dev-ec2-sg

image.png

project-dev-ec2-sg

下記追加して[ルールを保存]する

①RDSへの接続

  • タイプ:HTTP
  • 送信先:project-dev-rds-sg

②EC2からpsqlコマンドで作業する為

  • タイプ:PostgreSQL
  • 送信先:project-dev-rds-sg

③EC2から外部へのHTTPS通信を解放 ※ライブラリのインストールを可能にする為

  • タイプ:HTTPS
  • 送信先:0.0.0.0/0

image.png

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?