AWSを用いた本番環境構築(構築編①)

2023/10/10に公開

前回の記事では、AWSを用いた本番環境構築(構築検討編)を行いました。
今回からは、AWSのコンソールを用いて実際のインフラ構築へ進んでいきます。

前回の記事 ↓
https://zenn.dev/ruma/articles/0701bfe633d1c3

◾️セキュリティなど、作業する上で最初に考慮すべきこと

  • ルートユーザはユーザ管理などの特別な作業で行い、これからやる開発はIAMユーザーで行う
  • ルートユーザのアクセスキーがある場合は削除しておく(ルートユーザ権限で、リソースを操作することを防ぐため)
  • ルートユーザーやIAMユーザーのMFAを有効化した方が良い
  • グループを作成して、そこにIAMユーザーを追加することで、まとめて権限を付与できるようにする

◾️VPCの作成

AWSでは、VPCという仕組みを使ってクラウドにネットワークを構築する

前提知識

  • IPアドレスとは:インターネットに接続するコンピュータを識別する
    • ネットワーク部(左)とホスト部(右)で構成され、ネットワーク部であるネットワークを特定し、ホスト部でそのネットワークの中のコンピュータを特定する
  • (サブ)ネットマスクとは:IPアドレスからネットワークアドレスを得るために使われるもの。(例:255.255.255.0)
  • サブネット化する時は、IPアドレスの中のネットワーク部分をさらに伸ばして、ホスト部分をその分縮める
  • 1つの大きなネットワークがあり、その中にいくつかサブネットがある場合。サブネットごとに異なるサブネットマスクを使う場合「可変長サブネットマスク」で、同じ場合「固定長サブネットマスク」
  • CIDR(サイダー):可変長サブネットマスクを使用することによって、クラスという概念に縛られずに定めることができる。

↓以前書いた記事なのですが、こちらもよかったらご覧ください
https://zenn.dev/ruma/articles/88d44812963b72

詳細設定

VPCの設定として、
・名前タグは「プロジェクト名-vpc」
・IPアドレスはIPv4を選択し、CIDRブロックは管理がしやすい24ビットブロックとした。
・IPv6は使用しない
・テナンシーは料金とセキュリティとのトレードオフ考え、デフォルトのままを選択

◾️サブネットの作成

  • VPCのCIDRブロックを基にして、その範囲内でサブネットのCIDRブロックを設定する。
    • IPv4が32ビットで構成されることを考えると、作成するサブネットとサブネット内に作成するリソース数で残り16ビット

詳細設定

今回は、VPCで16ビット、サブネットで4ビットとする。
つまり、サブネットのCIDRブロックのサブネットマスクは20ビット

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

  • プライベートネットワーク(今回でいうとVPC)と公開インターネットとの間の通信を行うことが役割
  • プライベートネットワークのリソースがインターネットと通信するためのアクセスポイントとして機能する
  • 詳細設定は、名前タグとVPC選択のみ
    • IGWを作成したあとに、VPCにアタッチ(VPCにIGWを用意すること)する

◾️NATゲートウェイ

  • インターネットに接続する場合、コンピュータは自分自身を表すコンピュータとして、プライベートIPアドレスではなくグローバルIPアドレスを使用しなければならない
  • NATという機能を使用し、アドレス変換を行う
  • NATゲートウェイは、パブリックなサブネットに対して作成する

◾️ルートテーブルの作成

  • 通常のルーティングテーブルと同じ仕組み
  • 全てのサブネットにルートテーブルを作成する必要がある
  • 前提知識として、ルートテーブルを作成する前にこちらをまとめたのでご覧ください ↓

https://zenn.dev/ruma/articles/d0a160165055bc

詳細設定

  • 今回は、パブリックサブネット用のルートテーブルは共通のものとする
  • プライベートサブネット用のルートテーブルは、外部のターゲットをそれぞれのNATゲートウェイとしたいのでそれぞれ作成する
  • ちなみに、AWSのルートテーブルにおける「0.0.0.0/0」は「全てのIPアドレス宛のトラフィック」という意味

◾️セキュリティグループ

  • VPCのリソースを外部からのアクセスに制限をつけることで守る。
    • ポート番号とIPアドレスで制限
    • リソースに対して、設定することができる
  • 今回は踏み台サーバとロードバランサーのセキュリティグループを作成する

今回はここまでです、次回の記事で続きも公開していきます!

Discussion