背景
- ソリューションアーキテクト試験に向けて勉強していますが、前提となるVPC周りの知識があやふやになっていたので、「Amazon Web Services 基礎からのネットワーク&サーバー構築」で勉強し直しました
- VPCやEC2周りをサクッと勉強したい人にはおすすめです
リージョン
- それぞれの地域に存在するデータセンター群
アベイラビリティゾーン
- 物理的に距離が相当離された、独立したファシリティ(ネットワークや電源網などの設備)
構築の進め方
VPCの作成
- リージョンの設定
- 使用するIPアドレスを設定
サブネットに分割
- パブリックとプライベートに分けることが多い
サブネットに分割するメリット
- 物理的に隔離し、障害発生時に影響範囲を限定する
- セキュリティ上の理由
- 特定のグループからのアクセスは禁止したい、など
パブリックサブネットの作り方
- サブネットの作成
- サブネット名、IPアドレスを入力
インターネットゲートウェイ
- サブネットをインターネットに接続するために必要
####インターネットゲートウェイの作成方法
- インターネットゲートウェイの作成を進める
- VPCに割り当てる→VPCをアタッチする
ルートテーブルの設定
- ルートテーブル:ネットワークにデータを流すための設定
- Amazon VPCでは、サブネットごとにルートテーブルを設定
- デフォルトでは、「送信先:10.0.0.0/16、ターゲット:local」と設定されている
- サブネットから「10.0.0.0/16」あてのパケットを、ローカルに転送するという意味
- サブネットから「10.0.0.0/16」以外のパケットを全て破棄する
- インターネットと接続するために、「0.0.0.0/0の宛先のパケット(=全てのパケット)をインターネットゲートウェイ に転送する」という設定をルートテーブルにする必要がある
パブリックサブネットをインターネットに接続する方法
- 新しくルートテーブルを作成する
- ルートテーブルにサブネットを割り当てる
- ルートを追加し、デフォルトゲートウェイにインターネットゲートウェイを設定する
インスタンス
インスタンスの作成方法
- リージョンの確認
- AMIの選択
- インスタンスタイプの選択
- 詳細情報の設定
- VPC
- サブネット
- パブリックIP
- プライベートIP
- ストレージの設定
- 名前付与
- セキュリティグループの設定
- インスタンスにセキュリティを設定する機能
- IPアドレスとポートを選択し、通信を制御する
- インスタンスの起動
- キーペア作成
- キーペア:インスタンスログイン時に必要となる「鍵」
DNS
- パブリックDNS:インターネットから参照できる
- プライベートDNS:VPC内でしか参照できない
DNSサーバーの構成方法
- インスタンスの名前解決を有効にするよう、VPCを設定
踏み台サーバーを経由してSSHで接続する
- DBサーバなどをプライベートサブネットに置いた場合に、パブリックサブネット上のWEbサーバーからSSHで接続する
踏み台サーバーを経由してSSHで接続する方法
- DBサーバの秘密鍵をWebサーバに置く
- 鍵ファイルのパーミッションを変更して、自分しか読めないようにする
- SSHでDBサーバに接続する
NAT
-
プライベートサブネット上のサーバーがインターネットに接続するために使う
- サーバーのアップデートやソフトウェアのインストール時にインターネットが必要
-
AWSではNATインスタンスとNATゲートウェイがある
- NATインスタンス:NAT機能付きのEC2インスタンスを使う方法
- NATゲートウェイ:NAT専用のコンポーネント
- 構築はこちらの方がしやすい
NATゲートウェイの構築方法
- NATゲートウェイの作成
- サブネットとElastic IPの割当
- ルートテーブル更新
- プライベートサブネットのデフォルトゲートウェイをNATゲートウェイに向ける → 「送信先:0.0.0.0/0」「ターゲット:NATゲートウェイのインスタンスID」を設定する