はじめに
趣味でAWSを触ってみようと思いその時調べたことを一通りまとめておこうと思います
環境
AWS側
種類 | バージョン |
---|---|
Linux/UNIX | Amazon Linux 2 AMI |
Git | 2.23.3 |
nvm | 0.37.2 |
Node | 14.15.5 |
- nvm(Node Version Manager) ・・・ Nodeのバージョンを手軽に変更できるもの
ローカル
種類 | バージョン |
---|---|
Windows | Pro |
Tera Term | 4.97 |
インスタンスの作成
今回はAmazon Linux 2を選択します
デフォルトのまま「確認と作成」へ
確認へ行くとセキュリティを強化してくださいと出ているので、セキュリティグループの編集
を選択して変更します
SSHでアクセスできるIPを自宅からだけに設定します
ソースのプルダウンからマイIP
を選択して確認と作成
を選択
セキュリティグループに先ほど設定した自分のIPが表示されているば大丈夫です
そのまま起動でインスタンスを起動
EC2に接続
インスタンス一覧から先ほど作成したものを選択します
インスタンスの状態が実行中
になっていれば詳細のパブリックIpv4アドレス
に接続先アドレスが出てきます
Tera Term(など)に先ほどのIPアドレスを入れて接続して下記のように表示されれば接続成功です
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-XXX-XXX-XXX-XXX ~]$
タイムゾーンの変更
タイムゾーンが初期設定だとUTCになっているので日本時間に変更する必要があります
clockファイルの変更
$ sudo vim /etc/sysconfig/clock
ZONE="UTC"
UTC=true
↓
ZONE="Japan"
UTC=true
※i
を押してインサートモードにしてUTC
の部分をJapan
に変更
完了したらEsc
を押し、:wq
で保存して終了
シンボリックリンクをはる
$ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime
ここまで完了したらシステムを再起動させてください
再起動後下記のようになっていれば完了
$ date
Thu Feb 11 15:30:00 JST 2021
Gitのインストール
nvmをインストールするためにインストールします
$ sudo yum install git
nvmのインストール
$ cd ~/
$ git clone https://github.com/nvm-sh/nvm.git .nvm
$ cd ~/.nvm
$ git checkout v0.37.2
$ . ./nvm.sh
.bash_profileを編集
$ cd ~/
$ sudo vim .bash_profile
.bash_profile ・・・ ログイン時に1回実行されるファイル
下記のように#nvm
以降を追加
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
# nvm ここから下記を追加
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
追加し保存して終了したら下記コマンドでインストールするNodeのバージョン一覧を表示
$ nvm ls-remote
v0.1.14
v0.1.15
v0.1.16
~~~~~~~
v14.15.3 (LTS: Fermium)
v14.15.4 (LTS: Fermium)
-> v14.15.5 (Latest LTS: Fermium)
v15.0.0
v15.0.1
現在v14.15.5がLTSなので14.15.5をインストール
nvm install 14.15.5
インストールが完了したら確認
$ node -v
v14.15.5
Express Generatorのインストール
Expressアプリケーションの雛形を簡単に生成できるものになります
$ npm install -g express-generator
インストールが成功したら下記コマンドでアプリを作成
$ express -e app_name(アプリ名)
$ cd app_name(アプリ名)
$ npm install
必要パッケージのインストールが終了したら下記コマンドで起動
$ npm start
> app_name(アプリ名)@0.0.0 start /home/ec2-user/app_name(アプリ名)
> node ./bin/www
インバウンドルールの変更
現在SSHポート(22)しか空いていないのでNodeアプリケーションで使用しているポート(3000)を許可する必要があります
インスタンス一覧のセキュリティからセキュリティグループを選択して3000のTCPを追加してください
アクセス
インスタンス一覧のパブリックIPv4アドレスに:3000
を追加してブラウザでアクセスして下記のような画面が出れば成功
最後に
これで一通りアプリケーションにアクセスできるはずです
次は独自ドメイン+SSLでアクセスできるまでを書きたいなと思います