AWS EC2 + Amazon Linux 2023 でアプリケーションを公開するための準備

CentOS 系を長らく使ってきて、そろそろ OS を新しくしたいと思い、
Amazon Linux 2023 でアプリケーションを公開するまでの準備をした時のメモ。
一旦必要最低限くらいのものしか作業していない。

当初、AWS EC2 で AlmaLinux を使おうと思ったけど、
サブスクリプション等が必要とのことで、
無料で使用できる Amazon Linux 2023 を選択した。

環境

  • AWS
  • Amazon Linux 2023
  • 作業ユーザー名は ec2-user
  • 管理者は root (確かデフォルトは admin)

CentOS 系、Amazon Linix 2 と Amazon Linux 2023 の違い

インフラ系はあまり得意じゃないので、
作業してて思ったことだけ。

  • パッケージ管理ツールが yum じゃなくて dnf になってる。
    • yum にあって dnf にないパッケージがあったり、その逆もあったり。
    • Amazon Linix 2 にあった amazon-linux-extras という謎のコマンドがない。
    • 個人的には余計な物を入れなくていいから管理しやすくなった。
  • 違いじゃないけど CentOS 系触ってたら違和感なく作業できる。

Amazon Linix 2 と Amazon Linux 2023 の違い

細かい変更点は下記より。

環境整備

  • EC2 インスタンス立ち上げ
  • Zsh に切り替え
  • Github 連携
  • Vim の設定

アプリケーション周りの整備

  • Nginx インストール(WEB サーバー)
  • Go インストールから hello world まで
  • PHP インストールから hello world まで
  • NextJS 導入から hello world まで

AWS 構成の整備

  • AWS RDS データベースの作成から接続まで

作業内容

# ひとまず最初にやる
$ sudo dnf -y upgrade

# 必要最低限のインストール
$ sudo dnf -y install nginx git zsh rsyslog util-linux-user ncurses-devel


## 各種サービスの起動と自動起動有効化
#
# WEB サーバー
$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service

# ログ
$ sudo systemctl start rsyslog.service
$ sudo systemctl enable rsyslog.service


# ここでは Oh My Zsh をインストールして Zsh を使う
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"


# util-linux-user をインストールすることで chsh が使える
# Bash から Zsh への切り替え
$ sudo chsh ec2-user
Changing shell for ec2-user.
New shell [/bin/bash]: /bin/zsh

一度ログアウトして再びログインする。
次の作業は下記。

# vim の設定を終えたら、 root の設定にも反映しておく
$ cd
$ sudo cp .vimrc /root/.vimrc

これで一旦簡単な環境整備と Nginx インストールは終わり。
次はアプリケーション公開の準備。

最後に AWS 構成の諸々