AWS を使用して Rails 6 + MySQL + Nginx という基本的なよくあるサーバーの構築方法をご紹介します。
1つの記事に書くには、長くなるので3部作でお送りいたします。
ここでは、VPCやサブネットなど、AWS内に自分の仮想ネットワーク環境と EC2 の作成します。
この仮想ネットワーク環境内に Rails, MySQL, Nginxを配置してインターネットから接続できるようになります。
ネットワーク環境作成
以前のAWSでは、VPC作成→サブネット作成→インターネットゲートウェイ作成→ルートテーブル作成→… と色々手動で作成する必要がありましたが、
今のAWSには、VPCウィザードの起動というものでVPCと一緒にサブネットやインターネットゲートウェイ、ルートテーブルなど一度に作成してくれるようになりました。とても便利です。
それでは、早速作成していきましょう。
まずは、AWSマネジメントコンソールにログインして、VPCの管理画面にいきましょう。
Step1. VPCウィザードの起動
VPCやサブネットなど作成していきます。
1. VPCダッシュボードからVPC ウィザード起動を選択してください。
2. 次に、1個のパブリックサブネットを持つ VPC を選択してください。
Step2. IPアドレス等の設定
VPCやサブネットのIPアドレス等を設定します。
1. 各項目の入力
- VPCのIPアドレス入力
- VPC名の入力
- VPC内のパブリックサブネットIPアドレスを入力
- パブリックサブネットのアベイラビリティーゾーンの選択
- パブリックサブネット名を入力
2. 確認できたら完了です
Step3. パブリックサブネットにEC2の作成
Railsをインストールするサーバー EC2 を作成します。
1. インスタンス起動設定
2. AMIの選択
無料利用枠でのEC2を使用したいので無料利用枠の対象とついたAmazon Linux 2を選択します。
3. インスタンスタイプの選択
こちらも、無料利用枠のインスタンスタイプを選択します。
4. インスタンスの設定
5. ストレージの設定
ストレージ追加では特にデフォルトの設定で進みます。
6. タグの設定
ここも、特に設定なしで進みましょう。
7. セキュリティグループの設定
EC2インスタンスへのセキュリティを設定します。
SSHとHTTPで接続できるように、ルールで追加しておきます。
SSHのソースはマイ IPを選択しておきましょう。
※設定しておくことで、このIPアドレスしか接続できなくなります
8. 確認して起動へ
作成するインスタンスを確認にして起動しましょう。
起動を選択すると、キーペアについて聞かれますので作成してSSH接続のためダウンロードしておきます。
Step4. SSH接続
SSH接続できるか確認してましょう。
作成したいインスタンスのステータスチェックが 2/2 のチェックに合格しましたになっているのを確認しておきましょう。
SSHの接続方法は、作成したインスタンス概要の接続に書いてあります。
SSH クライアントを選択して書いてある通りにコマンド実行しましょう。
$ chmod 400 sample-ec2.pem
$ ssh -i .ssh/sample-ec2.pem ec2-user@ec2-54-199-66-255.ap-northeast-1.compute.amazonaws.com
The authenticity of host 'ec2-54-199-66-255.ap-northeast-1.compute.amazonaws.com (54.199.66.255)' can't be established.
ECDSA key fingerprint is SHA256:IfCxY2WJVaCyHRctKmllkxfc2yDbnT1tVHzu1wXOl/o.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-54-199-66-255.ap-northeast-1.compute.amazonaws.com,54.199.66.255' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
Amazon Linux 2
2 package(s) needed for security, out of 5 available
Run "sudo yum update" to apply all updates.
これで接続できたら完了です!
次回は、ここで作成したEC2インスタンスにRails + Nginxをインストールしていきましょう。
コメント