AWSでとりあえずvpc作る

触れなきゃこの先やっていけん

最近じゃ何処行ってもawsを使っています。もちろん自分も使ったことはあるけど、無料のEC2を使うみたいな、その辺のVPSと何ら変わらないような使い方しかして来ませんでした。

awsには便利なサービスが他にいくらでもあるし、リードタイムがうんたらかんたらだし、この前障害があったから別のクラウドサービスも注目されていくと思います。

今後awsを触ったことも無いエンジニアは間違いなく置いてけぼり。という訳で使ってみますaws。

ざっと構成

※見にくくてすみません。自分でも引いた。

要するに公開するNW(192.168.5.0/24)と、内側のNW(192.168.10.0/24)を作ることのみが目的。

これさえ作れば仕事中も遊び放題!

作ったあとは、認証サーバでもdrbdでも構築する勉強に使いたいと思います。とにかくawsに慣れることが今回の狙いです。

手順①

まずはVPC(Virtual Private Cloud)の作成。つまりLANを作ります。
コンソールのサービスからVPCを検索。ダッシュボードからVPCをクリックして、新規作成。「名前タグ」は分かりやすく適当に、「IPv4 CIDR」は「192.168.0.0/16」にして作成。

次は2つサブネットを作ります。パブリックから作っていく。ダッシュボードのサブネットをクリックで新規作成。「名前タグ」は適当、「VPC」はさっき作った物を選択、「AZ」は適当(プライベートサブネットと別の方が良いです)、「IPv4 CIDR」は「192.168.5.0/24」にして作成。

プライベートサブネットも同様に作っていきます。「名前タグ」は適当、「VPC」は同じものを選択、「AZ」はパブリックサブネットとは別のものを選択、「IPv4 CIDR」は「192.168.10.0/24」にして作成。

手順②

次はパブリックサブネットをインターネットに繋げていきます。
まずダッシュボードからインターネットゲートウェイを選択してインタネットゲートウェイを作成する。「名前タグ」を適当に決めて作成。インターネットゲートウェイが作成出来たら、それを選択してアクションからVPCにアタッチを押して、さっき作成したVPCを選択してアタッチする。これでVPCがインターネットに接続されました。

次にパブリックサブネットだけがインターネットに繋がるように設定していきます。ダッシュボードからルートテーブルをクリックして、ルートテーブルを新しく作成する。「名前タグ」は適当、「VPC」は作ったやつで作成。作成されたルートテーブルを選択して、下のルート⇒ルートの編集を順に押す。「送信先」に「0.0.0.0/0」、「ターゲット」に作成したINGWを選択して、デフォルトルートを作ります。

そして今度は同じく下からサブネットの関連付け⇒サブネットの関連付けの編集を順に押す。パブリックサブネットを指定して保存する。これでインターネットゲートウェイとパブリックサブネットが繋がりました。

ただしデフォのままだと、パブリックサブネットにパブリックIPが割り当てられていないので、パブリックIPv4アドレスの自動割り当てを有効化する必要があります。これは簡単で、ダッシュボードのサブネットからパブリックサブネットを選択し、アクションの自動割り当てIP設定の変更をクリックする。そこで自動割り当てを有効にして保存。
これでパブリックとプライベートのサブネットが分けられたことになります。

手順③

VPCの作成が完了したので、パブリックサブネット用とプライベートサブネット用のEC2インスタンスを作成します。
サービスからEC2を検索。ダッシュボードのインスタンスから新しくインスタンスを作っていく。「AMI」は「CentOS7」←お好みで。インスタンスタイプやスペックを聞かれるけど、とりあえず無料構成で。インスタンスの詳細設定時にネットワークで今回作ったVPCを選択し、サブネットはパブリックを選択、自動割り当てパブリックIPを有効にして次に進む。ストレージは汎用SSDのまま次に進んでタグを「キー」に「Name」、「値」に適当な名前を入れて次に進む。セキュリティグループも一旦SSHだけで問題ない。設定が完了したらキーペアを作成するなり、既存の物を使うなりしてインスタンスを作成する。
※公開鍵暗号方式

同様にプライベートサブネット用のEC2も作っていきます。インスタンスの詳細設定時には、プライベートサブネットを選択し、自動割り当てパブリックIPを無効にする。タグの追加では「キー」に「Name」、「値」に適当な名前を入れる。それ以外は全部同じで起動まで行ってください。

手順④

現状ではパブリックサブネットがインターネットに接続できる状況だが、プライベートサブネットの方は、インターネットに接続できないし、サブネット間の疎通も出来ない(pingを通そうとしてみれば分かる)ので、これをどうにかしていきます。
※この段階でパブリックサブネットにあるインスタンスに接続して、yumアップデートを実行し、インターネットとの疎通確認を行ってもよいかもしれない。

サブネット間で疎通出来ない理由は、デフォルトのセキュリティグループの設定です。コンソールのプライベートサブネットの方のEC2インスタンスの右の方にある、セキュリティグループをクリックする。名前を分かりやすいものに変えて下さい。変更したら先程の画面に戻り、同じ様にパブリックのセキュリティグループ名も分かりやすいものに変更する。次にダッシュボードからセキュリティグループを選び、セキュリティグループを新規に作っていきます。まずはプライベートサブネット用から。「セキュリティグループ名」にはそれっぽい名前を、「説明」も同じかそれっぽいものを、「VPC」は今回作ったVPCを設定する。追加するルールについては、「タイプ」に「SSH」「すべてのICMP」を追加し、それぞれ「ソース」は「192.168.5.0/24」を設定し作成する。

上で作ったプライベートサブネット用のセキュリティグループを、インスタンスに紐づけることでパブリックサブネットからプライベートサブネットへのアクセスを許可することになります。インスタンス画面に戻り、プライベートサブネットのインスタンスを選択し、アクションからネットワーキングに移動し、セキュリティグループを変更をクリックする。そして今作ったセキュリティグループを割り当てる。ログインすると分かるけど、パブリックサブネットからプライベートサブネットにpingが飛ぶようになる。

ただしこのままでは、プライベートサブネットからインターネットに接続できないので、NATゲートウェイを設置します。
まずはパブリックサブネットのサブネットIDをコピーしてくる。そうしたらダッシュボードのNATゲートウェイから新規作成で「サブネットID」でコピーしたものを貼り付け、設置個所のパブリックサブネットを選択する。新しいEIPを作成し、NATゲートウェイを作成する。

パブリックサブネットにNATゲートウェイを設置したら、今度はそれをプライベートサブネットが利用できるように、プライベートサブネットのルートテーブルにNATゲートウェイのルートを追加する。プライベートサブネットのルートテーブルの設定画面までいき、ルート⇒ルートの編集を順に押す。「送信先」に「0.0.0.0/0」、「ターゲット」にはさっきのNATゲートウェイを設定してルートを保存する。

疎通確認

ここまで出来たら、疎通確認を行います。TeraTerm(Puttyでもターミナルでもおけ)で、パブリックインスタンスに接続します。
※ユーザー名はcentos
※秘密鍵はダウンロードしたpemファイルを指定

パブリックサブネットからインターネットへの疎通確認
$ ping google.co.jp
パブリックサブネットからプライベートサブネットへの疎通確認
$ ping プライベートインスタンスIP
ローカルにあるダウンロードした秘密鍵をコピペ。
$ vi private.pem
権限を変更
$ chmod 400 private.pem
プライベートサブネットにログイン
$ ssh -i private.pem centos@プライベートインスタンスIP
$ ping google.co.jp

という訳で、設計図通りのネットワークをaws上で構築することが出来ました。
こりゃあ便利ですね。……でも物理の方がやっぱり好き。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA