【AWS】VPC作成(2018年UI版)
社内で開発中の案件にてサーバーもろもろが必要となり、構築を依頼されました。
調べながら進めていく中で、
- 公開されている記事中のスクショ(AWSのUI)が古い
- VPC作成せずにデフォルトVPCを利用している(ダメではない)
- GUIではなく、コマンドラインでEB等を構築してる方が多い
とまぁ、もろもろあって自分のニーズに合わなかったので、AWSマネジメントコンソールで構築する手順をこの機会にまとめてみました。
僕もまだ不慣れな部分あるので、気になる点あればご指摘くださいm(・ω・)m
案件の環境構築時のスクショなのでモザイク多めです。
画像作ってから気づいたのですが、見られても問題ない部分もモザイクかけてますね。
もろもろご了承ください(・ω・)☆
構築する環境
- ロードバランサーのタイプ
- Application Load Balancer (ALB)
- APIサーバー
- Multi-container Docker running on 64bit Amazon Linux/2.11.4
- t3.micro
- Aurora
- MySQL 5.7.12 互換
- db.t2.small
前提として
- AWSアカウントを持っている
- AWSが好きだ
- AWS以外愛せない
- サーバー構築ちょっとできる(興味あるとかそのレベルでも良いかと)
上記の条件のうち、少なくとも3つは満たして欲しいです。
ちなみに僕は今のところAWSが好きですけど、愛しているというほどではないです。
アカウント作成は特に難しい作業ではないので、今回は割愛します。
VPC作成
まずは**VPC**サービスのページへ行き、VPC一覧ページへ。 次に、「**VPCの作成**」ボタンをクリック。 名前、[IPv4CIDRブロック](https://qiita.com/daikissdd/items/101679f19de246f22df4)を入力し、テナンシーは「デフォルト」を選択し、「**はい、作成する**」のボタンをクリックします。 するとVPCが作成されます。 VPCを選択して、「**アクション**」ボタンから - 「**DNSホスト名の編集**」を「はい」に変更 - 「**DNS解決の編集**」も「はい」に変更しておきましょうDNS解決、DNSホスト名の項目が「いいえ」のままだとパプリックDNSが割り当てられないようなので注意。
サブネットの作成
VPCの作成が完了しましたら、左サイドメニューから「サブネット」を選択します。
「サブネットの作成」ボタンをクリックし、以下の画像を参考に項目を埋めます。
サブネット作成後、画像の「サブネット詳細」のような表記になるかと思います。
今回は1つのアベイラビリティソーンに対し、Public用とPrivate用の2つのサブネットを作成しました。アベイラビリティゾーンは3つなので、計6つのサブネットを作成しました。
アベイラビリティゾーンの「d」は不要だったかもしれませんが、勢いで作っちゃいました。
インターネットゲートウェイの作成
続きまして、インターネットゲートウェイを作成します。
ここ、僕結構ハマりました。サブネット作り終えた安心感からか、作成漏れが発生してしまいました。
同じミスをする方が稀にいるようですね。忘れずに設定しましょう。
作成ボタンをクリックし、作成するインターネットゲートウェイの名前を入力。
インターネットゲートウェイを作成します。
作成したインターネットゲートウェイを選択し、アクションメニューから「VPCにアタッチ」をクリック。作成したVPCへアタッチできたら完了です。
ルートテーブルの作成
「**ルートテーブルの作成**」をクリックして新規でルートテーブルを作成します。 適当な名前を付け、VPCを選択したら「**はい、作成する**」ボタンをクリックしてルートテーブルを作成します。 作成したルートテーブルを選択し、「**ルート**」タブを選択、「編集」ボタンをクリックし、画像の内容でルートを追加・保存します。 ルートの編集が済んだら、「**サブネット**」タブを選択、「編集」ボタンをクリックし、画像の内容でサブネットを追加・保存します。 今回は「public」と指定したサブネット3つを紐付けました。VPC作成完了!!
いやぁ、長い道のりでしたね。
EBを利用するとデフォルトVPCを利用するのですが、1つのAWSアカウントで複数のプロジェクトを扱う場合や、セキュリティ的な観点からデフォルトVPCではない方が後々管理が楽だったりするかもですね。
次回は、作成したVPCを対象に、Elastic Beanstalkで実際にサーバーを構築して行きたいと思います。
では(・ω・)ノシ
※記事中の画像は全て、2018年11月時点の画像です。AWSのマネジメントコンソール上でUIの変更があった場合は気合いで理解してください。