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?

More than 1 year has passed since last update.

[AWS]AWSリソースの仕分け(NAT・ルートテーブル・セキュリティグループ)

Posted at

NATゲートウェイの作成

サブネットはパブリックとプライベートと分けて作成するのが一般的ですが、このパブリックサブネットを作成した際にパブリックIPを設定します。つまり、インターネット接続することを目的としたサブネットです。
また、プライベートサブネットにはDBなどのリソースを配置するため、インターネットに接続しないようにする必要がありますが(VPC外からの接続は×)、プライベートサブネットからインターネットへの通信は可能にする必要があります。

上記の仕組みを実現するためには、ネットワーク変換する機能すなわちAWSが提供するNATゲートウェイです。

NATゲートウェイは、インスタンスの送信元IPアドレスをNATゲートウェイのIPアドレスに置き換えます。パブリックNATゲートウェイの場合、これは NATゲートウェイElasticIPアドレスです。プライベートNATゲートウェイの場合、NATゲートウェイのプライベートIPアドレスです。インスタンスに応答トラフィックを送信するとき、NATデバイスはアドレスを元の送信元IPアドレスに変換します。(AWSドキュメント参照)

(AWSコンソール画面)
NATGW public01に設定.png

画像のように、"sample-ngw-01"という名前でサブネット(subnet-public01)に設定し、"sample-ngw-02"という名前でサブネット(subnet-public02)を選択してNATゲートウェイを二つ作ります。

ルートテーブルの作成

インターネットゲートウェイやNATゲートウェイを通してリソース間の入り口を作成しましたが、経路が作成されていません。サブネット間の通信回路を設定するために、AWSにはルートテーブルという機能が提供されています。「このサーバーはこの経路を通って接続する」といったルールを設定します。

ここで設定するのは送信先を指定する必要があり、IPアドレスやCIDRの設定と次はどこを経由するか、といったターゲットを指定する必要があります。

用途 名前 local:送信先(ターゲット) 外部:送信先(ターゲット) サブネット
sample-rt-public 10.0.0.0/16(local) 0.0.0.0/0(igw) subnet-(publick01, publick02)
sample-rt-private01 10.0.0.0/16(local) 0.0.0.0/0(ngw-01) subnet-private01
sample-rt-private02 10.0.0.0/16(local)   0.0.0.0/0(ngw-02) subnet-private02

( local => 同一VPC内のリソースにアクセスするとき )

①パブリックサブネット(public01,02)にインターネットと通信できるように全ての通信が可能な宛先IPを0.0.0.0/0、宛先IPが10.0.0.0/16の範囲内の場合はlocalに通信を転送する。(イメージ図で赤矢印)

②プライベートサブネット(private-01)内のリソースはインターネットに送信する際は、NATゲートウェイ(ngw-01)を経由してアクセスされる。(イメージ図の緑矢印)

③プライベートサブネット(private-02)内のリソースはインターネットに送信する際は、NATゲートウェイ(ngw-02)を経由してアクセスされる。(イメージ図のピンク矢印)

(AWSコンソール画面)
ルートテーブル設定.png

(イメージ図)
AWS VPC (3).jpg

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

VPC内にルートテーブルを作成したことによって、通信経路を設定しましたがまだやることがあります。実はこの設定のままだと、インターネットを通してどんなアクセスも許可してしまい、セキュリティ上問題があるためアクセス制御の設定をする必要があります。
そこでAWSのセキュリティグループを利用します。セキュリティグループでは、外部からのアクセス制御としてポート番号とIPアドレスを設定します。

ポート番号は、コンピュータが通信に使用するプログラムを識別するための番号です。よくWebサービス上で見かける通信でHTTP(80番)やHTTPS(443番)が存在し、またサーバーに接続してメンテナンスをする時に使われるSSH(22番)があります。

今回は、全てのリソースに接続するための入口となる「踏み台サーバー」とリクエストや処理を分散する「ロードバランサー」の2つのセキュリティグループを作成します。

名前 VPC インバウンドルール① インバウンドルール②
sample-sg-bastion sample-vpc SSH(0.0.0.0/0) なし
sample-sg-elb sample-vpc HTTP(0.0.0.0/0) HTTPS(0.0.0.0/0)

(AWSコンソール画面)
セキュリティグループの作成.png

セキュリティグループの作成 LB.png

セキュリティグループ IN:OUT load.png

参考

AWSではじめるインフラ構築入門 翔泳社出版

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?