inglow Blog

Tech Blog
エンジニアブログ

AWSにDjangoアプリをデプロイしてみる

2020.09.18

このエントリーをはてなブックマークに追加

はじめに

こんにちは!インターン生の戸川です!

前回はDockerを用いてDjangoアプリの開発環境を構築しました。

今回はその環境で作成したDjangoアプリを、AWSというAmazonが提供するクラウドプラットフォームにデプロイしていこうと思います。

AWSへのデプロイを通じてコンピューティングからデータベース、ネットワークや管理ツールまで様々なサービスを一緒に学んでいきましょう!

今回扱う技術

VPC

クラウド上に仮想のインターネット空間を作り、持つことが出来ます。これから扱うAWSのサービスの殆どはこのVPC内に設置していくことになります。

Subnet

サブネットはVPCを更に小さなネットワークに分割した単位のことです。今回はVPCを2つのサブネットに区切って進めていきます。

ネットワークの構築

今回はAWSのサービスの一つであるVPCを触っていきます。

VPC(Virtual Private Cloud)とはその名の通り、プライベートなクラウド環境を提供するサービスのことです。VPC領域を作成して領域内にネットワーク設定をしていきましょう。

ネットワークの基礎知識

さっさと構築したい方は次の項目まで進んでください!

インターネットで使われる「TCP/IP」というプロトコルでは、通信先を特定するのに重複の起こらない唯一無二のIPアドレスを用います。

IPアドレスは32ビット(8ビットx4)で構成されていて「192.168.0.0」のようにそれぞれ区切られた「0」〜「255」までの数字を持ちます。自由に利用して良い「プライベートIPアドレス」というものがあり、今回は「192.168.0.0 ~ 192.168.255.255」の範囲のIPアドレスを利用してネットワークを構築します。

またこの「192.168.0.0 ~ 192.168.255.255」という表記は一般的でなく、CIDR(サイダー)表記がよく使われます。上記の場合だと「192.168.0.0/16」と表記します。

IPアドレスは用途に分けて範囲を定める必要があり、32ビットの内16ビットと16ビット、もしくは24ビットと8ビットみたいに分けるのが一般的なようです。この分けたときの前半を「ネットワーク部」、後半を「ホスト部」と呼びます。

CIDR表記ではIPアドレスを2進数で表記した際に「o.o.o.o/ネットワーク部のビット長」で表します。

そのため先程の「192.168.0.0/16」は後半の「0.0 ~ 255.255」がホスト部となり、この範囲でサーバーやクライアントを割り当てることになります。

例)

「0.0.0.0 ~ 0.0.0.255」=「0.0.0.0/24」
「172.16.0.0 ~ 172.16.255.255」=「172.16.0.0/16」

VPC

前置きが長くなりましたが、実際にネットワークの構築を行っていきます。

マネジメントコンソールからVPCへ移動し右上からリージョンを「アジアパシフィック (東京)」変更します。

変更できたらVPCの作成をクリックします。

名前タグを適当に決めたらIPv4 CIDRブロックを「192.168.0.0/16」にし、他はデフォルトで作成。

VPCの作成画面

これでBlog_VPCというプライベートなネットワーク領域が完成しました!下の画像のようなイメージです!

プライベートな領域が完成

Subnet

割り当てられたCIDRブロックは、サブネットという更に細かく分化したCIDRブロックとして利用します。

今回はインターネットからアクセス可能な「パブリックサブネット」、インターネットから隔離した「プライベートサブネット」の2つを作っていきます。

VPCのサイドバーからサブネットに移動しサブネットの作成をクリック。

項目は以下の通り

パブリックサブネット

名前タグ: Blog_subnet_public_1a
VPC: Blog_VPC
アベイラビリティーゾーン: ap-northeast-1a
CIDRブロック: 192.168.5.0/24

プライベートサブネット

名前タグ: Blog_subnet_private_1c
VPC: Blog_VPC
アベイラビリティーゾーン: ap-northeast-1c
CIDRブロック: 192.168.10.0/24

サブネットの設定

以上で251個のIPアドレスを使えるサブネット2つの完成です。下の画像のようなイメージです!

今作成した2つのサブネットの内、パブリックサブネットとして扱う「Blog_subnet_public_1a」を選択し、アクションから「自動割り当てIP設定の変更」をクリック。IPv4の自動割り当てにチェックを入れて保存します。

これでこのサブネットは後々設定していくルートテーブルと通信が可能なパブリックのサブネットになり、割当の設定をしていない方のサブネットがプライベートのサブネットとなります。

長くなりそうなので今回はこれで終わりにします!
次回はインターネットゲートウェイやルートテーブルの設定をしていきます。

次回:https://inglow.jp/techblog/django-aws-2/

Related Blog
関連記事

2020.09.22
道路標識イラストをCSSで作ってみた
2020.09.15
cssだけでルーレット作ってみた