※記録用の記事になります。ざっくりこんな手順でやったという記録です。
ゴール
EC2インスタンスを立ち上げて、nginxを起動し、ブラウザから「Welcome to nginx!」を確認できるまで
全体のゴール
現在、render.comで3つのサーバーが稼働しているので、それを1つのEC2インスタンスにまとめて、費用削減したい。
関連する記事
1. webページをデプロイするために、EC2インスタンスを起動する
2. Ruby on Railsの環境構築をする
3. pumaで起動してipアドレス指定でhttp通信ができるようにする
4. https://{サブドメイン}でrailsを表示できるようにする
手順
前提
- リージョン:アジアパシフィック(東京)
- 個人の環境なので、ルートユーザーを使用して作成
VPCの作成
項目 | 設定内容 |
---|---|
作成するリソース | VPCのみ |
名前タグ | EC2-myname-prd001 |
IPv4 CIDRブロック | 10.0.0.0/16 |
IPv6 CIDRブロック | なし |
テナンシー | デフォルト |
サブネットの作成
※DB等には使用せず、webアプリケーションのデプロイのみの予定をしているので、パブリックのみ作成した
項目 | 設定内容 |
---|---|
VPC ID | 上記で作成したVPC |
サブネット名 | EC2-myname-prd001-subnet-01-public |
AZ | 指定なし |
IPv4 VPC CIDR ブロック | 10.0.0.0/16 |
IPv4 サブネット CIDR ブロック | 10.0.1.0/24 |
サブネットにルートテーブルを紐づける
インターネットゲートウェイを作成
項目 | 設定内容 |
---|---|
Nameタグ | EC2-myname-prd001-igw |
ルートテーブルの作成
項目 | 設定内容 |
---|---|
Nameタグ | EC2-myname-prd001-public-rtb |
ルートテーブルを関連づける
アクション→作成したルートテーブルを選択
セキュリティグループ作成
項目 | 設定内容 |
---|---|
https | 0.0.0.0/0 |
https | ::0 |
http | 0.0.0.0/0 |
http | ::0 |
ssh | 自宅WifiのIPアドレス |
インスタンスを起動する
項目 | 設定内容 |
---|---|
Nameタグ | EC2-myname-prd001 |
Amazonマシンイメージ | Amazon Linux(Amazon Linux 2023 AMI) |
アーキテクチャ | 64ビット(Arm) |
インスタンスタイプ | t4g.nano(ストレージ/0.5GB)(CPU2コア) |
キーペア | 作成した |
ネットワーク | 作成したVPC |
サブネット | 作成したパブリックサブネット |
パブリックIPの自動割り当て | 有効化 |
セキュリティグループ | 作成したセキュリティグループを選択 |
※その他の設定はそのままで作成した
Elastic IPの割り振り
上記の設定のままだと、再起動時にIPアドレスが変わってしまうため、Elastic IPを割り振る
nginxの起動
SSH接続
~/.ssh/config
ファイルに以下を追加
Host 任意名
Hostname ElasticIP
User ec2-user
IdentityFile ~/.ssh/作成したkeyペア.pem
以下でssh接続する
ssh 任意名
Nginxを起動する
- yumをアップデート
sudo yum -y update
- nginxインストール
- Nginx起動
- インスタンス再起動時の自動起動
ブラウザで表示の確認
http://Elastic IPアドレス
Welcome to nginx!
が表示されることを確認する