AWSでWeb開発環境構築 その1:ネットワーク関連の設定

Sponsored Link
ロリポップ!レンタルサーバー

ネットワークイメージ

 

AWSでEC2インスタンスを起動するためのネットワーク設定

AWSにWebの開発環境を構築しようと思いますが、まず最初にネットワーク環境を整えたいと思います。

AWSでアカウントを作成すると、各リージョンでデフォルトのネットワークリソースが作成されていますが、他人が作ったものをそのまま使うのは嫌いな質なので、VPCから設定してみます。

先日紹介したdraw.ioで今回設定する内容について構成図を描いてみました。

AWS構成図

Webアプリケーションなどをいろいろと試す環境なので、単純に1つのサブネットを作って、インターネットゲートウェイでインターネットと直接通信できるような構成です。

おおまかな手順は以下の通り。

  1. VPCの作成
  2. サブネットの作成
  3. インターネットゲートウェイの作成
  4. ルートテーブルの設定

他にはセキュリティグループの設定なども必要になりますが、こちらは次のEC2インスタンスと同時に作ります。

以下、手順を書いていきますが、画面キャプチャは各リソースのIDが入ってしまい少々よろしくありませんので、テキストメインでポイントを解説していきます。m(_ _)m

まずAWSにログインしたら、画面右上の方にあるリージョンを選択しておくことを忘れないように。
アカウントを作成したばかりだと”オハイオ”になっていると思いますので、東京などリソースを作成するリージョンを選択しておいてください。

1.VPCの作成

AWSのサービスメニューから、VPCをクリックします。”ネットワーキングとコンテンツ配信”という分類の中にあります。

VPCダッシュボードが表示され、VPCウィザードの起動というボタンが目につきますが、左のメニューにあるVPCをクリックします。

VPC一覧が表示されますので、画面上部にあるVPCの作成をクリックするとVPCの作成画面が表示されます。

VPC作成画面

この画面では以下の項目を設定します。

 

名前タグVPC-Webtest01
IPv4 CIDRブロック10.1.0.0/16
IPv6 CIDRブロックIPv6 CIDRブロックなし
テナンシーデフォルト

 

 

  • 名前タグ:
     AWS上で判別できる名前を設定します。入力する必要はありませんが、次のサブネット作成時やリソースが増えてくると見分けがつかず収拾がつかなくなる事になりますので、本格的なAWSサイトを構築するときは接頭辞など命名規約は最初に作っておく方がいいでしょう。
  • IPv4 CIDRブロック:
     IPv4のCIDRを入力。AWSのVPCは最大で/16まで確保できます。
  • IPv6 CIDRブロック:
     IPv6のCIDRですが、使わないので、ブロックなしを選択してます。
  • テナンシー:
     これはハードウェア専有を使う場合は専用を選択しますが、通常はデフォルトで大丈夫です。

入力後に作成ボタンをクリックすればVPCが作成されます。

 

2.サブネットの作成

左メニューでサブネットをクリックするとサブネット一覧が表示されますので、画面上部のサブネットの作成をクリックします。

サブネットの作成

設定項目

名前タグSUB-Webtest-PUB
VPCこの前に作成したVPCを選択します。
実際はVPCのIDが表示されます。
アベイラビリティゾーンap-northeast-1a
IPv4 CIDRブロック10.1.1.0/24

 

  • 名前タグ:
     VPCと同様に名前を入力します。
  • VPC:
     選択式になっており、選択肢として作成したVPCが表示されるので、それを選択します。
     名前タグをつけておくことで、判別しやすいと思います。
  • アベイラビリティゾーン(AZ):
     リージョンのアベイラビリティゾーン(AZ)を選択します。詳細は本家で
     簡単に言ってしまうと、リージョンを構成するデータセンターの一つという認識でいいかと思います。
  • IPv4 CIDRブロック:
     VPCの中に入るネットワークを入力します。ここでは/24でサブネットを作ります。
     8ビット単位にしておく事で、オクテット単位で判別できます。
     #よく、”こんなにIPアドレスいるのかよ”、とおっしゃるネットワークに詳しい方がいらっしゃいますが、
     #実運用で判読しづらくしてしまうのはどうかなと思う派です。

豆知識(?):アベイラビリティゾーン(AZ)について
 今回AZをap-northeast-1aを選択しましたが、このほかには-1b、-1cという形で一つのリージョンに複数のAZが存在しています。AWSにおけるサブネットは必ず一つのAZを選択するので、EC2を設置する時にサブネットを選ぶということはAZを選択するということになります。この辺はAWSのベストプラクティスで可用性を確保する構成では考慮するポイントとなります。

 また、AZの名前は前述の通り、-1a、-1b、-1cと表示されますが、物理的なAZはアカウント毎に異なるとのことです。
 つまり私が見ている、ap-northeast-1aと別のアカウントを使っている方がみているap-northeast-1aは物理的には異なる(可能性がある)ということになります。これは気にしても仕方ない事なのですが、全員が物理的に同じAZ名で選択すると、恐らく-1aに大量のインスタンスが作成されてしまうので、集中を防止するためだろうと思っています。

 

3.インターネットゲートウェイの作成・アタッチ

左メニューでインターネットゲートウェイを選択し、インターネットゲートウェイの作成をクリックします。

インターネットゲートウェイの作成

  • 名前タグ:
     これまでと同様に名前タグを入力します。

 インターネットゲートウェイ(IGW)はこれで作成出来ますが、またVPCにアタッチしていませんので、一覧から作成したIGWを選択して、画面上部のアクションボタンをクリックし、VPCにアタッチを選択します。

インターネットゲートウェイをアタッチ

  • VPC:
     サブネットと同様、作成したVPCを選択してください。

 これでインターネットゲートウェイが使用できるようになりました。

 

4.ルートテーブルの作成

左メニューからルートテーブルを選択し、ルートテーブルの作成をクリックします。

ルートテーブルの作成

  • 名前タグ:
    名前を入力します。
  • VPC:
    設置するVPCを選択します。

 ルートテーブルが作成されたら一覧から選択して、アクションからサブネットの関連付けの編集を選択します。

ルートテーブル サブネットの関連付け

  • ルートテーブルを関連付けるサブネットを選択します。

 保存を押して、再度一覧から選択し、ルートの編集をクリックします。

ルートテーブルの編集

 ルートの追加を押して、以下のように入力します。

  • 送信先:0.0.0.0/0
     ローカル以外の通信を対象とします。
  • ターゲット:
     作成したインターネットゲートウェイを選択します。

 ルートの保存を押します。

パブリックサブネットとプライベートサブネットについて

 今回はWebサーバを設置するネットワークなので、インターネットゲートウェイを設置し、ルートテーブルにインターネットゲートウェイを追加してインターネットと直接通信できるようにサブネットを構成しました。

 乱暴な言い方ですが、今回作成したようにインターネットゲートウェイに向けたルートが存在するサブネットをパブリックサブネット、そうではないサブネットがプライベートサブネットという理解でよいかと思います。

 ちなみにプライベートサブネットからインターネットに接続したいという場合は、パブリックサブネットにNATゲートウェイを設置して、そのNATゲートウェイにルートを設定してあげるのが一般的な構成になります。

 

 これでAWSの基本的なネットワーク設定が終わり、EC2インスタンスを作成する準備ができました。

 次はEC2インスタンスを作成したいと思います。

 

 

 

 

 

 

Sponsored Link