初心者が押さえておきたい、AWSネットワーク構成要素

AWSでネットワークに関する作業をする際、知っておくべき構成要素について解説します。AWSを使う上で、「ネットワーク構築とは具体的に何をするのか?」「トラブル時にどこを確認したらよいのか?」など判断できる知識が必要です。

物理的な拠点

Region|拠点都市

Region(リージョン)とは拠点都市のことを言います。

  • 東京リージョン(ap-northeast-1)
  • 北バージニアリージョン(us-east-1)

など、世界中に拠点が作られています。
Region同士は インターネットで接続 されます。

AZ|データセンター

Region内に複数のAZ(アベイラビリティゾーン)が用意されています。
同一Region内のAZ同士は 高速な通信線で接続 されています。

何のためにAZは存在する?

耐障害性を高めるためです。
例えば、AZ(1a)で障害が発生したとき、AZ(1c)を利用するといった障害対策をとることができます。

構成図

後述するVPC、サブネットなどのイメージが湧きやすいように大まかな構成図を示します。

266-aws-network_sample.png

VPC|独立したネットワーク

リージョンに VPC(Virtual Private Cloud) という独立したネットワークを構成できます。
VPCを構成する際、VPC全体で利用できるIPアドレス範囲を設定します。

サブネット|目的ごとのネットワーク

VPCの中でIPアドレスを切り分けて、いくつかのネットワークに分割できます。
分割したネットワークのことを サブネット と言います。
サブネットは、 1つのアベイラビリティゾーン上に作成 できます。

どういったサブネットが必要なの?

よくある構成を紹介します。
(VPC全体のIPアドレス範囲を 10.0.0.0/16 としています。)

サブネット インターネットに公開 AZ ネットワーク範囲
pub-subnet-a 1a 10.0.1.0/24
pub-subnet-c 1c 10.0.2.0/24
pri-subnet-a × 1a 10.0.3.0/24
pri-subnet-c × 1c 10.0.4.0/24

耐障害性を高めるために複数のAZにサブネットを構築します。

セキュリティの観点から、DBなどはインターネットに公開させたくありません。そのため、インターネットから 直接通信できるサブネット直接通信できないサブネット を構築します。

IGW|インターネットに接続

VPC内のインスタンスがインターネットに接続するには、 IGW(Internet Gateway) をVPCに紐づける必要があります。

ルートテーブル|転送先を設定

IGWをVPCに紐づけただけでは、サブネットからインターネットにアクセスできません。
なぜなら、IGWへ転送する経路設定ができていないからです。

サブネットをインターネットに繋げる手順を確認します。

1. デフォルトゲートウェイをIGWに転送するルートテーブルを作成

以下のようにルートテーブルを作成します。

送信先 ターゲット
10.0.0.0/16 local
0.0.0.0/0 IGW

ルールは、上から順に適用されます。

まず、VPCのIPアドレス範囲内( 10.0.0.0/16 )であれば、VPC内のルーターに転送します。

次に 0.0.0.0/0 であれば、IGWに転送します。 0.0.0.0/0 は全てのIPアドレスを示すので、VPCのIPアドレス範囲外であればインターネットに転送されるようになります。

2. 1で作成したルートテーブルをサブネットに紐づける

サブネットごとにルートテーブルを1つ設定できます。1で作成したルートテーブルを インターネットに公開したいサブネット に設定します。

パケットフィルタリング

セキュリティを高めるためには、余計な通信をできないようにする必要があります。
パケットフィルタリングを利用して、必要な通信のみ通すように設定します。

ネットワークACL|サブネットレベル

ネットワークACLの特徴は以下のようになります。

  • サブネットレベルでパケットフィルタリングできます。
  • 1つのサブネットに対して1つのネットワークACLを紐付けます。
  • 許可と拒否の両方を設定できます。

SG|インスタンスレベル

SG(Security Group)の特徴は以下のようになります。

  • インスタンスレベルでパケットフィルタリングできます。
  • 1つのインスタンスに複数のセキュリティグループを紐づけられます。
  • 許可のみ設定できます。
  • 設定しなかったものは拒否されます。

許可する接続元、接続先を指定するのに IPアドレス を利用できますが、 他のセキュリティグループ で指定することもできます。

他のセキュリティグループ で指定できると何が便利なのでしょうか?
例えば、以下のようなケースが考えられます。

インスタンス 割り当てるSG
ELB sg1
Webサーバー sg2
RDS sg3

sg2 のインバウンドルールの送信元に sg1 を設定します。
すると、sg1 を割り当てられたインスタンス( ここではELB )からWebサーバーに接続できるようになります。

sg3 のインバウンドルールの送信元に sg2 を設定します。
すると、sg2 を割り当てられたインスタンス( ここではWebサーバー )からRDSに接続できるようになります。

ネットワークの基礎

AWSのネットワーク設定をする上で、一般的なネットワーク基礎知識も当然必要となります。
知っておくべきネットワーク基礎知識について解説します。

CIDR表記

10.0.0.0/16 のような表記がありましたね。これを CIDR表記 と言います。
最初の16ビットが ネットワーク部 となりそれ以外が ホスト部 になります。

プライベートIPアドレス

VPCのIPアドレス範囲にはプライベートIPアドレスを指定します。

クラス 利用可能な範囲 ネットワーク数
クラスA 10.0.0.0 ~ 10.255.255.255 1
クラスB 172.16.0.0 ~ 172.31.255.255 16
クラスC 192.168.0.0 ~ 192.168.255.255 256

特別なIPアドレス

あらかじめ予約されたIPアドレスが存在することを知っておきましょう。

名称 アドレス 説明
ネットワークアドレス 10.0.0.0 ネットワーク自体を示す
ブロードキャストアドレス 10.255.255.255 ネットワーク内の全てのホストを示す
ループバックアドレス 127.0.0.1 自分自身を示す

上記以外に、 0.0.0.0 も覚えておきましょう。

これは、文脈により意味の違いがありますが、AWSを利用する上では、

「0.0.0.0」は「それ以外の送信先全て」を表し、「デフォルトルート」を設定したいときに活用できる

と覚えておきましょう。

次のステップ

AWSでネットワークを構築するために、必要な構成要素がいくつか存在することがわかりました。
これを管理画面にて、手作業で構築するのは面倒ですし、設定ミスも生じやすくなります。

そこで、 CloudFormation の活用をお勧めします。ソースコードで管理設定を記述でき、再現性の高い方法を確立していくことができます。

一度は手作業で構築してもいいと思いますが、その後は CloudFormation の活用を検討してみてください。

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。