カテゴリー: Server

MyCoachの本番環境をAWS上に構築する 〜ネットワーク編〜

はじめに

10月初旬にMyCoachをリリースいたしました。
MyCoachはタスク管理アプリ(iOS、Android)とコーチ検索サイトで構成されております。
アプリの使い方につきましてはこちらの記事をご確認ください。
今回はAWSのネットワーク構築(VPC)をコーチ検索サイトの本番環境構築で行った流れに沿って紹介します。

関連記事

MyCoachの本番環境をAWS上に構築する 〜EC2編〜
Amazon EC2を使ってみる

MyCoachのネットワーク構成

MyCoachは2種類のネットワーク(サブネット)で構成されています。
一つ目は公開ネットワークでWebサーバが配置されています。
二つ目は非公開ネットワークでDBサーバが配置されています。

DBサーバには外部からアクセスすることができないため、設定を行う際にはWebサーバを経由してSSHログインします。

Webサーバは一台ですが、SSL証明書の更新を簡単にするためにフロントにALBを立たせています。

VPCとは

VPCはVirtual Private Cloudの略で、仮想的なプライベートネットワークを構築できます。

例えば、Webサーバはパブリックなネットワーク上に配置するけど、DBサーバは外部からアクセスできないようにプライベートなネットワーク上に配置するといった利用ができます。

設定する項目

設定する項目は下記の通りです。

  • VPC
  • インターネットゲートウェイ
  • サブネット
  • ルートテーブル

それぞれの項目について個別に説明します。

VPCの設定

VPCはこれから設定するネットワークの大元のような存在です。

まず、AWSコンソールのトップ画面の入力欄に「vpc」と入力し検索します。
すると、VPCダッシュボードに遷移しますので左のメニューのVPCをクリックします。

VPCの一覧画面を開くとすでにVPCが一つ定義されていますが、新しいVPCを作成します。
「VPCの作成」ボタンをクリックし、下記の画像のとおり設定し作成ボタンをクリックします。

インターネットゲートウェイの設定

VPC上のEC2インスタンスをインターネットに接続するためにはインターネットゲートウェイの設定が必要です。

左のメニューのインターネットゲートウェイをクリックします。
インターネットゲートウェイの作成ボタンをクリックし、下記の画像の通り設定して作成ボタンをクリックします。

次に作成したインターネットゲートウェイをVPCにアタッチします。
mycoach-igwを選択し「VPCにアタッチ」をクリックします。
下記の画像の通り、アタッチするVPCを選択してアタッチボタンをクリックします。

サブネットの設定

公開するサブネットと非公開なサブネットを設定します。

公開ネットワークの設定

左のメニューからサブネットをクリックします。
下記の画像のとおり設定し作成ボタンをクリックします。

同様にpublic-cのネットワークを設定します。
mycoach-public-c 10.1.12.0/24 ap-northeast-1c

非公開ネットワークの設定

公開するサブネットと同様に非公開なprivate-a、private-cのネットワークを設定します。
mycoach-private-a 10.1.51.0/24 ap-northeast-1a
mycoach-private-c 10.1.52.0/24 ap-northeast-1c

IPアドレスの自動割り当て

公開するネットワーク上に配置されるインスタンスには自動的にグローバルIPアドレスを割り当てるように設定します。

mycoach-public-aのみを選択した状態で「サブネットのアクション」→「自動割り当てIP設定の変更」をクリックします。
「IPの自動割り当て」にチェックを入れて保存ボタンをクリックします。

mycoach-public-cも同様に設定します。

ルートテーブルの設定

まず、公開するネットーワークのルートテーブルを設定します。

左のメニューのルートテーブルをクリックします。
下記の画像の通り設定し、作成ボタンをクリックします。

ルートテーブルを作成したら、下記の画像の通りサブネットの関連付けとルート設定を行います。
(0.0.0.0/0のターゲットは作成したインターネットゲートウェイを選択します)

次に非公開なネットワークを公開するネットワークと同様の手順で作成します。
ただし、インターネットに接続しないため0.0.0.0/0の設定は不要です。

さいごに

今回はVPCの設定を紹介しました。
次回はEC2の設定を紹介する予定です。

Hiroki Ono

シェア
執筆者:
Hiroki Ono
タグ: AWS

最近の投稿

フロントエンドで動画デコレーション&レンダリング

はじめに 今回は、以下のように…

3週間 前

Goのクエリビルダー goqu を使ってみる

はじめに 最近携わっているとあ…

4週間 前

【Xcode15】プライバシーマニフェスト対応に備えて

はじめに こんにちは、suzu…

2か月 前

FSMを使った状態管理をGoで実装する

はじめに 一般的なアプリケーシ…

3か月 前