新人SEの学習記録

14年度入社SEの学習記録用に始めたブログです。もう新人じゃないかも…

学習記録:AWS

[学習記録] AWS

1章:はじめてのAmazon探索

複数のサブネットを作成し業務ネットワークを設置する

概要
  • シンプルなWebサーバを作成する場合
    • ほぼデフォルト設定でOK
    • 自動でグローバルIPも割り当てられる(ただし起動する度に変わる)
  • 複数のサブネットを作成する場合
    • 「公開サーバの領域」と「社内向けサーバの領域」をAWS上に構築する
    • DMZとLANみたいなもの
    • 複雑なネットワークの構築にはVPCを利用する
VPC内にサブネットを作成
  • VPC
    • AWS上に仮想ネットワーク領域を作成する機能
    • もしくは作成した仮想ネットワーク自体を指す
    • VPCで仮想ネットワークやサブネットを作成するのは無料
    • VPC内で起動したEC2のインスタンストラフィックなどには課金が発生する
  • VPCの作成
    • [VPC Dashboard]から[Your VPCs]を選択し、[Create VPC]を押す
    • 新規作成したVPCには、LANと同様にプライベートアドレスを割り当てる
    • 1つのVPCに最大/16、65536-2個のIPアドレスを割り当てられる
    • このサイズは後で変更できないので、なるべく多めに割り当てた方が良い
    • 例えば、192.168.0.0/16を割り当てる場合、[CIDR Block]に192.168.0.0/16を入力し、[Yes, Create]を押す
    • [Tenancy]はDefaultのままでOK
  • サブネットの作成
    • ※1つのユーザアカウントで、1リージョンあたりVPCは5個、サブネットは200個まで
    • [VPC Dashboard]から[Subnets]を選択し、[Create Subnet]を押す
    • [VPC]にはサブネットを作るVPCを設定。さきほど作ったVPC(192.168.0.0/16)を指定する
    • [CIDR Block]にはサブネットに割り当てるIPアドレスVPCより小さい範囲で設定する
    • 例えば192.168.1.0/24(公開用)と192.168.2.0/24(社内用)の2つのサブネットを作成
    • [Availability Zone]はNo preferenceのままでOK。[Yes, Create]を押して作成
インターネット接続とルーティングの設定
  • 同じVPC内に作成したサブネットは、設定無しで相互にパケットのやりとりが可能
    • 自動でルーティング設定が行われるため
    • よって、作成した2つのサブネット上にそれぞれインスタンスを作成した場合、そのインスタンス間はいきなり通信が可能
    • なお、基本的にマルチキャストやブロードキャストのパケットは流せないので注意
  • インターネットへの接続
    • 新しく作成したサブネットは、そのままではインターネットと通信できない
    • ※ネットワーク設定をせずにEC2インスタンスを作成した場合、Default VPCという設定になるが、これはInternet GatewayやRoute Tableの設定が成された状態になっている
    • インターネットとやりとりするためには、Internet Gateway(IGW)という機能を利用する
    • IGWは、インターネットとVPCとの境界に位置するルータのようなもの
    • [VPC Dashboard]から[Internet Gateways]を選択し、[Create Internet Gateway]>[Yes, Create]を押す
    • 作成したIGWを選択し、[Attach to VPC]>インターネット接続したいVPC(192.168.1.0/24)を選択し[Yes, Attach]
  • ルーティングテーブルの設定
    • 公開用サブネットからIGWへインターネット向けのパケットを送るための設定を行う
    • Route TableというAWSにおけるルーティングテーブルのようなものを作成する
    • 物理ネットワークではルータごとにテーブルを持つが、AWSではVPC内のサブネットごとにテーブルを設定する
    • 初期設定ではMainというRoute Tableが設定されており、Mainには同じVPC内が相互通信できるような設定がされている
    • Mainの設定を変えてインターネット向けの経路を追加してしまうと、社内用サブネットにも影響してしまうので、新規作成する
    • [VPC Dashboard]から[Route Tables]>[Create Route Table]>対象のVPC(192.168.0.0/16)を選択して[Yes, Create]
    • 作成したRoute Tableを選択して[Route]タブで[Edit]を選び、[Destination]と[Target]を指定して[Save]
    • Destination(最終的な宛先)にはデフォルトルートである0.0.0.0/0を入力し、Targetには先ほど作成したIGWを指定
    • [Subnet Associations]タブで[Edit]を開き公開用サブネット192.168.1.0/24にチェックを入れて[Save]
    • ※0.0.0.0/0, デフォルトルートは「適切な送り先が見つからないパケット全ての宛先」を意味する。つまり、宛先が同一VPC内のインスタンス以外なら、全てIGWへ向かう
インスタンスの作成とIP割り当て
  • サブネット内にそれぞれEC2インスタンスを立ち上げる
    • [3.Configure Instance]で[Network]にVPCを、[Subnet]でサブネットを指定する
    • どちらもVPCは192.168.0.0/16を、Subnetは公開用と社内用をそれぞれ指定
    • Default VPCを選択したときと異なり、インスタンスにはプライベートIPとドメイン名のみ割り当てられる
    • グローバルIPアドレスが割り当てられないので、インターネット接続にはElastic IPを利用する
    • [VPC Dashboard]>[Elastic IPs]から[Allocate New Address]>[Yes, Allocate]で新しいElastic IPが作成される
    • 作成されたElastic IPを選択して[Associate Address]>[Instance]でEC2インスタンスを指定>[Yes, Associate]で割り当て
    • 今回の場合、instanceで公開用サブネットに作成したEC2インスタンスを指定する
セキュリティ設定
  • NACL
    • サブネットごとに設定
    • 許可および拒否を設定できる
    • ステートレス
    • Secrity Groupの補助的に使う。拒否のルールが必要なときなど
  • 社内用サブネットからもインターネットへの接続が必要な場合が存在
VPCと社内LANの接続
  • Virtual Private Gateway(VPG)もしくはDirect Connectを使用
    • VGWと企業ネットワーク側に設置したVPNルータとの間でIPsecを利用したインターネットVPNを構築する
    • Direct ConnectではAWSのデータセンタにつながる専用線に接続できる