0
0

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.

AWSを使ってアプリケーションを公開する手順(2)EC2インスタンスの作成

Last updated at Posted at 2020-08-20

はじめに

AWSを使ってアプリケーションを公開する手順を記載していく。
この記事ではEC2インスタンスの作成方法を記載する。

AWSアカウントのリージョンを設定する

リージョンはAWSの物理的なサーバの場所で、世界各地に存在する。
EC2を作成するにあたり、どのリージョンにEC2インスタンスを作成するか指定する必要がある。
今回は「アジアパシフィック(東京)」を選択する。
01_AWSリージョン設定スクショ.png

EC2インスタンスを作成する

画面左上の「サービス」をクリックするとサービスの一覧が表示されるので、
「コンピューティング」の「EC2」をクリックする。
02_EC2をクリックスクショ.png

画面左上の「New EC2 Experience」をOFFにすると旧バージョンの操作画面に切り替えられる。
今回は旧バージョンの操作画面で進めていく。
03_操作画面切り替えスクショ.png

旧バージョンの操作画面に切り替えるとコンソールに対するフィードバックのウィンドウが表示されるが「キャンセル」をクリック。(もちろんフィードバックがあればしてもよい)
04_コンソールに対するフィードバックスクショ.png

「インスタンスの作成」をクリックする。
05_インスタンスの作成スクショ.png

AMI(Amazon Machine Image)の選択

AMIにはインスタンスの起動に必要なデータが含まれている。
つまり、インスタンスを起動するためにはAMIを指定する必要がある。
今回は「Amazon LINUX AMI」を選択する。
06_AMI選択スクショ.png

EC2インスタンスタイプの選択

EC2インスタンスにはいくつかタイプが用意されておりそれぞれCPUやメモリなどのスペックが異なる。
今回は「t2.micro」にチェックを入れ「確認と作成」をクリックする。
07_インスタンスタイプの選択スクショ.png

EC2インスタンスの起動

EC2インスタンス作成確認画面に遷移するので「起動」をクリックする。
08_インスタンス作成確認画面スクショ.png

キーペアのダウンロード

キーペアはインスタンスにSSHでログインする際に必要となる秘密鍵である。
プルダウンを「新しいキーペアの作成」に変更し、任意のキーペア名を入力する。(スペースは不可)
入力したら、「キーペアのダウンロード」をクリックし保存する。
ダウンロードが完了すると、「インスタンスの作成」ボタンが有効になるのでクリックする。
09_キーペアのダウンロードスクショ.png

ElasticIPの作成と割り当て

EC2インスタンスには作成時にパブリックIPアドレスが自動で割り振られている。しかし、サーバを再起動する度にこのパブリックIPが変わってしまう。
これを解決するためにElasticIPを利用する。ElasticIPはAWSより割り振られる固定のパブリックIPアドレスのことで、これをEC2インスタンスに紐付けることで常に同じIPアドレスで通信をすることが可能になる。

ElasticIPを取得する

画面左側のメニューからElasticIPを選択する。
11_ElasticIPメニュースクショ.png

「新しいアドレスの割り当て」をクリックする。
12_アドレス割り当てスクショ.png

ラジオボタンで「Amazonプール」を選択し「割り当て」をクリックする。
13_Amazonプール選択スクショ.png

これでElasticIPが割り当てられるので確認して「閉じる」をクリック。
14_アドレス確認画面スクショ.png

「アクション」のプルダウンをクリックし、「アドレスの関連付け」をクリックする。
15_アクション選択スクショ.png

プルダウンで作成したインスタンスを選択。
プライベートIPは空欄でOK。
「関連付け」をクリック。
16_アドレスの関連付けスクショ.png

アドレスの関連付けが成功したら画像のページに遷移するので「閉じる」をクリック。
17_アドレス関連付け完了スクショ.png

ポートを開放する

現状、EC2インスタンスにSSHでアクセスすることはできるが、HTTPなどの他の接続は一切繋がらない。EC2インスタンスをWEBサーバとして利用するため、HTTPで繋げるようにポートを開放する。

セキュリティグループのポートを設定する

セキュリティグループはEC2インスタンスの仮想ファイアウォールとして機能し、送受信トラフィックの制御を行う。
セキュリティグループのポート設定を行う。

EC2インスタンス一覧画面から対象のインスタンスを選択しセキュリティグループのリンクをクリックする。
18_セキュリティグループリンクスクショ.png

セキュリティグループの設定画面に遷移するので、「インバウンド」タブを選択し「編集」をクリック。
19_インバウンド編集スクショ.png

次のような画面が出てくるので「ルールの追加」をクリック。
タイプは「HTTP」、プロトコルは「TCP」、ポート範囲は「80」、ソースは「カスタム、0.0.0.0/0, ::0」と入力し「保存」をクリックする。
20_ルール追加スクショ.png

EC2インスタンスにSSHでアクセスする

ホームディレクトリに「.ssh」という名前のディレクトリを作成する

ターミナルを起動して以下のコマンドを実行する。(すでに存在する場合はパスしてOK)

mkdir ~/.ssh

ダウンロードしたpemファイルを「.ssh」ディレクトリに移動する

以下のコマンドを実行して前章でダウンロードしたpemファイルを先ほど作成した「.ssh」ディレクトリに移動する。

mv Downloads/xxx.pem ~/.ssh/

(前章でpemファイルをダウンロードした際、「Downloads」ディレクトリに「xxx.pem」という名前で保存している場合。)

「.ssh」ディレクトリに移動する

下記コマンドを実行し「.ssh」ディレクトリに移動する。

cd ~/.ssh/

下記コマンドを実行しpemファイルが「.ssh」に保存されていることを確認する。

ls

pemファイルの権限を変更する

下記のコマンドを実行してpemファイルの権限を変更する。

chmod 600 xxx.pem

なぜ600なのか?

chmodはパーミッション(ファイルやディレクトリのアクセス権)を変更するコマンドである。
三桁の数字でパーミッションを指定する。三桁の数字は左から順に所有者、グループ、その他の権限を表す。
次にそれぞれの数字の意味であるが、1,2,4のそれぞれの数字には以下のような意味があり、これらの組み合わせによって0〜7の数字が設定できる。

  • 読み込みができる=4
  • 書き込み、変更ができる=2
  • 実行ができる=1

今回pemファイルに与える権限は、所有者が読み書きができ、グループ・その他は何もできない設定にしたいので、「600」を指定する。

ssh接続

以下のコマンドを実行してEC2インスタンスにsshでアクセスする。
(ダウンロードしたpemファイル名が「xxx.pem」、ElasticIPが12.345.67.890の場合)

ssh -i xxx.pem ec2-user@12.345.67.890

参考

AMIとは
セキュリティグループとは

関連記事

AWSを使ってアプリケーションを公開する手順(1)AWSアカウントの作成
[AWSを使ってアプリケーションを公開する方法(3)EC2インスタンスの環境構築]
(https://qiita.com/osawa4017/items/8dc09203f84e04bf0e66)
[AWSを使ってアプリケーションを公開する手順(4)データベースの作成]
(https://qiita.com/osawa4017/items/7dba25f4fa30ab0b1246)
[AWSを使ってアプリケーションを公開する手順(5)アプリケーションを公開する]
(https://qiita.com/osawa4017/items/6f3125fcc21f73024311)
[AWSを使ってアプリケーションを公開する手順(6)Nginxを導入する]
(https://qiita.com/osawa4017/items/9b707baf6ddde623068c)

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?