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?

AWSでの環境構築

Last updated at Posted at 2025-02-10

こんにちは、jjj0331です。

今回は、AWSを利用した環境構築についてご紹介します。この記事では、VPCの作成から始め、EC2インスタンスのセットアップ、「Git」「Ruby(Rails)」「Next.js」「Nginx」のインストール方法をステップバイステップで解説します。

事前の準備として、AWSにログインできる状態にしておいてください。

1:VPCの作成

VPCとは、AWS内に自分専用の仮想ネットワークを作成できるサービスです。

AWSの検索バーで「VPC」と入力し、「VPCを作成」をクリックして作成画面に進みます。

「作成するリソース」では「VPCのみ」を選択し、VPCの名前を入力します。「IPv4 CIDR ブロック」は「手動入力」を選択し、CIDR範囲を10.0.0.0/24として指定します。「IPv6 CIDR ブロック」は「なし」を選択し、最後に「VPCを作成」をクリックしてVPCを作成します。

2:サブネットの作成

次に、VPC内にサブネットを作成します。「VPC」→「サブネット」→「サブネットの作成」を選択し、作成画面に進みます。

作成したVPCに対して、合計4つのサブネットを作成します。これらは、private-subnetとpublic-subnetを2つずつ作成します。

各サブネットには「サブネット名」と「アベイラビリティーゾーン」(例: ap-northeast-1a, ap-northeast-1c)を設定します。IPv4 CIDR ブロックは以下の範囲で設定します。

サブネット1: 10.0.0.0/26
サブネット2: 10.0.0.64/26
サブネット3: 10.0.0.128/26
サブネット4: 10.0.0.192/26
※サブネット1とサブネット2は「パブリックIPアドレスの自動割り当て」を有効にすることを忘れないでください。
※VPC内に4つのサブネットを構築したのは、後々構築するRDSやロードバランサーで使用します。

3:インターネットゲートウェイの作成

次に、インターネットゲートウェイ(IG)を作成します。「VPC」→「インターネットゲートウェイ」→「インターネットゲートウェイの作成」を選択します。

インターネットゲートウェイを作成したら、先ほど作成したVPCにアタッチします。これにより、VPCがインターネットと接続できるようになります。

4:ルーティングの設定

VPCに対してルーティングを設定します。「VPC」→「ルートテーブル」→「作成したVPC」→「ルートの編集」を選択し、「0.0.0.0/0」からの通信を「インターネットゲートウェイ(IG)」にルーティングする設定を追加します。

その後、「ルートテーブル」内の「サブネットの関連付け」メニューから、作成したサブネットのうち2つを選択して関連付けを行います。

5:セキュリティーグループの作成

次に、セキュリティグループを作成します。以下の設定を行います:

  • SSH: TCPポート22、アクセス元を自分のPCのIPに限定
  • HTTPS: TCPポート443、すべてのIPアドレスからのアクセスを許可(0.0.0.0/0)
  • HTTP: TCPポート80、すべてのIPアドレスからのアクセスを許可(0.0.0.0/0)

6:EC2の作成

「EC2」→「インスタンスの起動」から、EC2インスタンスを作成します。

アプリケーションおよびOSイメージ (Amazon マシンイメージ)

[Amazon Linux 2023 AMI]
インスタンスタイプ

[t2.small]
ストレージの設定

[25GiB以上に設定してください]
ネットワーク設定でVPCを選択し、作成したセキュリティグループを適用してください。

※EC2の詳細な設定については、別途学習してください。

7:EC2にログインおよび初期設定

セキュリティーグループで「SSH:TCP(22)→自分のPCのIPからのみアクセス可能に設定」に設定しているので
SSHでログイン可能してください。

システムの更新.
sudo yum update -y
Gitをインストール.
sudo yum install git -y 

次にRubyをインストールする準備を始めます。

Rubyをインストールするための必要なパッケージをインストールする.
sudo yum install -y gcc openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel
Node.jsとnpmをインストール.
sudo yum install -y nodejs

8:アプリの起動に向けて

Next.jsの起動に向けて.
--Next.jsのルートディレクトリに移動して
npm init -y
npm install
Next.js(ポート80で受け付ける).
sudo npm run dev -- -H 0.0.0.0 -p 80
Railsの起動に向けて.
--Railsのルートディレクトリに移動して
bundle install

ちなみに、私のGitのアプリのRubyのVersionは「3.2.3」で
EC2にインストールしたVersionが「3.3.3」なので

appで使用するRubyのVersionを変更.
--Railsのルートディレクトリに移動して
echo "3.3.3" > .ruby-version

を実行しました。

次にRDSで作成したデータベースに接続するようにRailsの設定を変更する手順を以下に示します。
※RDSの説明は省略します。

config/database.yml ファイルを編集します。production 環境用の設定を、RDSの接続情報に書き換えます。.
production:
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: your_rds_username
  password: your_rds_password
  host: your_rds_endpoint
  database: your_database_name
  port: 3306

必要なGemのインストール.
gem 'mysql2', '>= 0.4.4'

再度に

bundle install

まとめ

今回はここまでにしておきます。

記事を作成時に私の頭の中で整理できていることを書きましたが、
Railsのシークレットキーの扱いや今回のアプリではAPIサービスと利用しており
そのAPIキーを設定する方法があるのですが、内容を文章にできるほど理解できておりませんので、
しばらくお待ちください。

以上で、AWSにEC2を構築しそのサーバーに「Git」「Next.js」「Rails」をインストールする方法を解説しました。
(「Rails」の起動はまだできませんが。。。)

次回は

  • 各種のシークレットキーの設定方法
  • HTTPS通信のためのロードバランサー
  • Nginxnの設定方法など

を記事にしていきます。

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?