2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#1 Djangoのwebアプリケーションをデプロイするまで(AWSのEC2でインスタンス構築編)

Last updated at Posted at 2020-08-29

#はじめに
私はプログラミング言語の初学者です。
その為、読み間違いや理解不足の部分があると思います。
その場合はコメントで教えて頂けると幸いです。

「ゴール」は事前に作成したPythonのwebアプリケーションをデプロイする所まで行きたいと思います。出来るだけ初学者向けに書くつもりです。

作成手順

  • AWSのEC2でインスタンスを構築後に、SSH通信をする ←現在はここです。
  • 構築したインスタンスの中にPythonの環境を構築する
  • インスタンスの中に仮想環境を構築し、Django等をインストール(フレームワーク)
  • PostgreSQLを設定する(データベース)
  • インターネット上にアプリケーションが接続出来るように設定する(デプロイ前半)
  • NginxとGunicornの設定する(デプロイ後半)

インスタンスの作成の仕方

###ステップ1(インスタンスの作成)
AWSのEC2を選択し、この画面に移動します。
画面右上の矢印がある所をクリックします。(ここはリージョンというものを選択する所です。)
*特にこだわりが無ければどこでもいいですが、EC2を使用する前はここを必ずチェックしましょう。
「インスタンスの作成」をクリックします。
インスタンス作成画面.png

###ステップ2(Amazon マシンイメージの選択)
「インスタンスを作成」をクリックすると、この画面に移動すると思います。
ここで仮想サーバを決めます。
今回はUbuntu Server 18.04 LTS (HVM), SSD Volume Type - ami-0bcc094591f354be2 (64 ビット x86) / ami-0bc556e0c71e1b467 (64 ビット Arm)を使います。
ステップ1マシンイメージ.png

###ステップ3(インスタンスタイプを選択)
インスタンスタイプは「 t2.micro 無料利用枠の対象 」を選択
*ここで「無料利用枠の対象」の物を選択しないと、お金が掛かります。
ステップ2 インスタンスタイプの選択.png

###ステップ4(ストレージの設定)
「ステップ7:インスタンス作成の確認」の所まで何も考えずに「次へ」ボタンをクリックします。
*必要なことがあれば、作成した後でも変更ができると思います。
ステップ3 インスタンスの詳細の設定.png
ステップ4 ストレージの追加.png
ステップ5 タグの追加.png
ステップ6 セキュリティグループの設定.png
ステップ7 インスタンス作成の確認.png

###ステップ5(キーペアの作成+ダウンロード)
「ステップ7:インスタンス作成の確認」のページの「起動」をクリックします。
すると、この画面になると思いますので「新しいキーペアの作成」を選択します。
「キーペア名」はご自身の好きな名前にしてください。
*ここでは[test]にしておきます。
そしてダウンロードします。
*このインスタンスの使用中は必ず削除しないでください。また誰にも渡らないようにしてください。
ちなみにダウンロードがされると、filderの中にダウンロードがされると思いますのでDesktopに移動しておいてください。後で使います。
キーペアの作成.png

###ステップ6(SSH通信をしてみる)
キーペアのダウンロードされているか確認してください。
その後にDesktopの中に移動してあることが前提で進めます。
キーペアはXXX.pemというファイルでダウンロードされていると思いますが、このファイルをchmodコマンドでパーミッションを変更しないとSSH接続できません。

  • 'hostname'ですが、インスタンスの説明の中にあるパブリック DNS: xxx.amazonaws.comです。
  • XXX.pemの'XXX'はステップ5で決めた「キーペア名」になります。
  • ubuntuはデフォルトの名前になります。
パーミッションは下記のコードを打ちます。
$ chmod 400 XXX.pem

SSH接続できるか確認します。
$ ssh -i XXX.pem 'user name'@'hostname'

この記事ではこうなります。
$ ssh -i test.pem ubuntu@ec2.00-000-000-00.compute-1.amazonaws.com

ターミナルで(yes/no)聞かれるので、yesと打ちます。
そうすると
ubuntu@ip-000-00-00-000:~$ というプロンプトになるはずです。

続きは次の記事に書きます。

##番外編:IPアドレスを固定します。(Elastic IP)
インスタンスを起動したり、停止するとIPアドレスが変更されてしまいます。
IPアドレスは、

  • SSH接続する時に変更されると不便
  • Djangoファイルの中に書いているので、デプロイする時に不便

などの問題点があります。
なのでElasticIPというもので、IPアドレスを固定しちゃいます。

1 「EC2 ダッシュボード」をクリック
2 「Elastic IP」をクリック
3 「Elastic IPアドレスの割り当て」をクリック
4 「Elastic IPアドレスの設定」のネットワークボーダーグループは、インスタンスを作成しているリージョンに合わせます
5 「パブリック IPv4 アドレスプール」は一番上の「Amazon の IPv4 アドレスプール」を選択し、「割り当て」をクリック
6 上部にある「この Elastic IP アドレスを関連付ける」をクリック
7 「リソースタイプ」は、「インスタンス」を選択、下の「インスタンス」の検索フォームで割り当てたいインスタンスを選択
8 ついでに「プライベートIPアドレス」も検索フォームで、割り当てたいIPアドレスを選択
9 「この Elastic IP アドレスの再関連付けを許可する」のチェックを選択しておく
10 「関連付ける」をクリック
11 「Elastic IPアドレス」が関連付けられているか確認する

以上でIPアドレスを固定出来たと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?