1
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?

AWS EC2(Amazon Linux 2)にRuby 3.2.0の開発環境を構築する全工程まとめ

Last updated at Posted at 2026-01-18
  1. AWS上に「家(サーバー)」を建てる
    なぜやるか: インターネット上に自分専用のコンピューターを確保するためです。

💻 操作場所:AWS CloudShell(ブラウザ)

# AMI(設計図)を取得し、インスタンス(本体)を起動
AMI_ID=$(aws ec2 describe-images --owners amazon --filters 'Name=name,Values=amzn2-ami-hvm-2.0.*-gp2' --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' --output text --region ap-northeast-1)

INSTANCE_ID=$(aws ec2 run-instances --image-id $AMI_ID --count 1 --instance-type t2.micro --key-name furima-key --region ap-northeast-1 --query "Instances[0].InstanceId" --output text)

# 固定IPを取得して紐付け
ALLOCATION_ID=$(aws ec2 allocate-address --region ap-northeast-1 --query 'AllocationId' --output text)
aws ec2 associate-address --instance-id $INSTANCE_ID --allocation-id $ALLOCATION_ID --region ap-northeast-1

# セキュリティグループ作成と、80番(HTTP)・22番(SSH)の開放
GROUP_ID=$(aws ec2 create-security-group --group-name mysg --description "My security group" --output text --query 'GroupId' --region ap-northeast-1)
aws ec2 authorize-security-group-ingress --region ap-northeast-1 --group-id $GROUP_ID --protocol tcp --port 80 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress --region ap-northeast-1 --group-id $GROUP_ID --protocol tcp --port 22 --cidr 0.0.0.0/0
aws ec2 modify-instance-attribute --instance-id $INSTANCE_ID --groups $GROUP_ID

2.サーバーへログインする
なぜやるか: 建てた家の中に入って設定を始めるためです。

💻 操作場所:自分のPCのターミナル

# ダウンロードした鍵があるディレクトリへ移動(例:ダウンロードフォルダ)
cd ~/Downloads

# 秘密鍵を使ってサーバーへ潜入!
ssh -i furima-key.pem ec2-user@(設定した固定IP)

3.サーバーに必要な道具を揃える
ここからは、ログイン後の「サーバーの中」での操作になります。 左側の表示が [ec2-user@ip-... ~]$ になっていることを確認しましょう。

💻 操作場所:サーバーの中(自分のPCから接続中)

# システムを最新にし、Gitや画像処理ライブラリ等を一括導入
sudo yum -y update
sudo yum -y install git make gcc-c++ patch libyaml-devel libffi-devel libicu-devel zlib-devel readline-devel libxml2-devel libxslt-devel ImageMagick ImageMagick-devel openssl-devel libcurl libcurl-devel curl

4.rbenvで「Ruby 3.2.0」をインストール
なぜやるか: アプリを動かすためのエンジンを載せる工程です。

💻 操作場所:サーバーの中(自分のPCから接続中)

# rbenvとプラグインの導入
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

# パスを通す(どこからでもrbenvを呼べるようにする)
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source .bash_profile

# Ruby 3.2.0のインストール(5〜10分かかります)
rbenv install 3.2.0
rbenv global 3.2.0

# 最後に確認
ruby -v

5.データベース(MariaDB)の構築
なぜやるか: Railsアプリが商品情報やユーザー情報を保存するための「倉庫」をサーバー内に作るためです。

💻 操作場所:サーバーの中(鳥のマークの画面)
[ec2-user@ip-... ~]$ となっていることを確認してください。

# ① MySQL(MariaDB)本体と、Railsとの接続用パッケージを導入
sudo yum -y install mariadb-server mariadb-devel

# ② データベースを起動し、自動起動設定を行う
sudo systemctl start mariadb
sudo systemctl enable mariadb

# ③ 状態確認(Active: active (running) と出ればOK)
sudo systemctl status mariadb

🔐 データベースの初期セキュリティ設定
なぜやるか: 初期状態はパスワードが空で危険なため、自分専用の「鍵」をかける必要があります。

sudo /usr/bin/mysql_secure_installation

進め方のポイント:

最初は何も打たずに Enter

Set root password? に Y

自分で決めたパスワードを2回入力(※画面には表示されません)

その後の質問はすべて Y で答えれば完了です!

6.Node.js のインストール
なぜやるか: Rails 7系でJavaScriptをブラウザが読める形に変換(コンパイル)するために必須な実行環境だからです。

💻 操作場所:サーバーの中(自分のPCから接続中)
カリキュラムの旧バージョン(v14)ではエラーが出たため、今回は安定版の v16 を採用しました。

# ① Node.js v16 の設定を読み込む
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -

# ② 本体をインストール
sudo yum install -y nodejs

# ③ バージョン確認
node -v
# 出力例: v16.20.2

7.動作確認(ここまでのまとめ)
これで、サーバーの中に以下の3大エンジンが揃いました。

Ruby 3.2.0(本体)

MariaDB(倉庫)

Node.js v16(JavaScript実行環境)

ここまでの設定が完了すれば、いよいよGitHubから自分のソースコードを連れてくる「デプロイ」の準備が完了です!

1
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
1
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?