AWS EC2インスタンスにおけるUbuntuの必須初期セットアップガイド
AWS EC2で開発またはテスト環境をセットアップする際、インスタンスに適切な初期設定を行うことは不可欠です。 このガイドでは、Ubuntu 22.04 LTSの初期セットアップ手順を解説します。コストを抑えるために無料利用枠を活用している方に最適です。 Route 53、ELB、RDSといったサービスには触れず、基本的な設定に焦点を当てるため、このガイドはシンプルで必要不可欠なセットアップにぴったりです。 初心者でも経験豊富な開発者でも、適切に設定されたインスタンスがあれば、時間を節約し、よくある問題を未然に防ぐことができます。 このガイドに従うことで、Ubuntuサーバーが正しく設定され、トラブルシューティングではなくプロジェクトに集中できるようになります。 安全なアクセスのためのキーペアの設定から、ファイアウォールやストレージの設定まで、すべてを網羅しています。 以下の手順に従って、開発やテストのニーズに合った、安定した効率的な環境を構築しましょう。
Medium でも公開しています。

Amazon EC2で開発またはテスト環境をセットアップする際は、インスタンスを正しく設定することが重要です。このガイドでは、Ubuntu 22.04 LTSの初期設定手順を説明します。 コストを削減するために無料利用枠を利用する場合に特に役立ちます。Route 53、ELB、RDSなどのサービスには触れず、基本的な設定に重点を置いています。
1. サーバーの基本設定
EC2仕様
| EC2設定項目 | 設定値 |
|---|---|
| イメージ(AMI) | Ubuntu Server 22.04 LTS (HVM), SSD Volume Type |
| インスタンスタイプ | t2.micro |
| ファイアウォール(セキュリティグループ) | launch-wizard-9 |
| ストレージ(ボリューム) | 1個 - 30GB |
| キーペア(ログイン) | Key pair file |

EC2仕様設定
開発またはテスト用途では、高いスペックは必要ありません。無料利用枠のモデルで十分です。
launch-wizard-9セキュリティグループは、インスタンスを作成すると自動的に生成されるデフォルト設定で、22、80、3306といったAPI開発に必要なポートをすべてに開放します。
セキュリティを強化するには、OpenVPNのようなツールを使用してIPアドレスを固定し、これらのIPからのみポートにアクセスできるように設定することをお勧めします。

セキュリティグループ インバウンド設定
ubuntuアカウントでログインし、パスワードの代わりにキーファイルを使用します。PuTTYやTermiusのような管理しやすいプログラムを使用すると便利です。
ppkファイルまたはpemファイルをダウンロードしてログインします。
2. hostnameの変更
ubuntu@ip-172-0-0-0:~$ sudo hostnamectl set-hostname test
ubuntu@ip-172-0-0-0:~$ sudo reboot
# hostnameの変更完了
ubuntu@test:~$
3. Ubuntuのアップデート
ubuntu@test:~$ sudo apt update
ubuntu@test:~$ sudo apt upgrade
ubuntu@test:~$ sudo apt dist-upgrade
ubuntu@test:~$ sudo apt autoremove
ubuntu@test:~$ sudo apt clean
ubuntu@test:~$ sudo apt autoclean
4. history形式の変更

既存のhistory形式
# history形式の変更
ubuntu@test:~$ sudo vi /etc/profile
# 最下部に以下の内容を追加
# VIMの場合、Shift + Gで最下部に移動
HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] "
export HISTTIMEFORMAT

HISTTIMEFORMATの内容を追加

history形式の変更完了
5. historyキャッシュの増加
# historyキャッシュを増やす
ubuntu@test:~$ sudo vi /etc/bash.bashrc
# 最下部に以下の内容を追加
# VIMの場合、Shift + Gで最下部に移動
export HISTSIZE=10000
export HISEFILESIZE=10000

HISTSIZEとHISEFILESIZEの内容を追加
6. ロケールを韓国語に設定
# 現在のロケールを確認
ubuntu@test:~$ locale

現在のロケール設定値を確認
# 韓国語言語パックのインストール
ubuntu@test:~$ sudo apt install language-pack-ko
# 韓国語を適用
ubuntu@test:~$ sudo update-locale LANG=ko_KR.UTF-8 LANGUAGE="ko_KR:ko:en_US:en" LC_MESSAGES=POSIX
# 再起動後に適用
ubuntu@test:~$ sudo reboot

ロケールの変更完了
7. タイムゾーンを韓国に設定
# タイムゾーンの確認
ubuntu@test:~$ timedatectl

現在のタイムゾーン設定値を確認
# ソウルのタイムゾーンがあるか確認
ubuntu@test:~$ timedatectl list-timezones | grep Seoul
# タイムゾーンをソウルに変更
ubuntu@test:~$ sudo timedatectl set-timezone Asia/Seoul

タイムゾーンの変更完了