2
4

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 (Ubuntu) を活用した開発環境構築

2
Last updated at Posted at 2026-03-01

会社のローカル環境だとプロキシや証明書の回避に多大な時間がかかるため、Windows 11ローカル環境からTera Termを使用してAWS EC2(Ubuntu)に接続し、Docker、uv、AWS CLIを用いた開発環境を構築する手順を備忘として残しておく形です(2026.03.01時点の情報です)

目次


1. Tera Termのインストール

WindowsからEC2へSSH接続するためのターミナルエミュレーターとして「Tera Term」を使用します。

  • 公式サイトや窓の杜などの信頼できる配布元から、最新のTera Termインストーラーをダウンロードし、Windows PCにインストールします。

2. AWSマネジメントコンソールでのEC2新規作成

AWSマネジメントコンソールから、開発用サーバーとなるEC2インスタンスを作成します。以下のポイントに注意して設定します。

  • OS(AMI): Ubuntu Server(22.04 LTS または 24.04 LTSなど)を選択します。
  • キーペア: 新規作成するか、既存のものを使用します。(ダウンロードされる .pem ファイルはSSH接続で必須となるため、PC内の安全な場所に保管します)。
  • ネットワーク設定(セキュリティグループ): * SSH (ポート22): ソースを「自分のIP(My IP)」のみに制限し、安全を確保します。
    • ※後でWebサーバー等の検証を行う場合は、必要に応じてHTTP(80)やカスタムポート(8080等)を自分のIPに対して許可します。

3. UbuntuへのSSH接続(Tera Term)

作成したEC2インスタンスが「実行中」になったら、Tera Termで接続します。

  • ホスト: EC2の「パブリックIPv4アドレス」を入力。
  • ユーザー名: ubuntu と入力。
  • 認証方式: 「RSA/DSA/ECDSA/ED25519鍵を使う」を選択し、秘密鍵に先ほど取得した .pem ファイルを指定して接続します。

4. Ubuntu内の開発環境構築

4.1 Dockerのインストールと注意点(Windows特有の罠)

公式のインストール手順に沿ってリポジトリを追加しますが、WindowsからTera Termへコマンドをコピペする際、円マーク(\)などの意図しないエスケープ文字が混入するトラブルに注意が必要です。

【失敗例】 $(lsb_release -cs) の前に \ が入ってしまい、変数展開されず404エラーになる。
【成功するコマンド】 バックスラッシュ(\)を取り除いた以下のコマンドでリポジトリを追加します。

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

4.2 テスト用コンテナの起動とお片付け

Dockerの動作確認としてApacheコンテナを起動し、確認後にお片付け(削除)を行います。

# コンテナの起動(ポート8080で公開)
docker run -dit --name my-apache-app -p 8080:80 httpd:2.4

# === 確認後のお片付けコマンド ===
# 1. コンテナを停止する
docker stop my-apache-app

# 2. コンテナを削除する
docker rm my-apache-app

# (オプション)強制終了&削除を1行で行う場合
# docker rm -f my-apache-app

4.3 Docker Composeのインストール

最近のUbuntuではシステム保護(PEP 668)のため、pip を使ったシステム全体へのPythonパッケージインストールがブロックされます。そのため、古い docker-compose ではなく、apt経由で公式の最新プラグインをインストールします。

sudo apt-get update
sudo apt-get install -y docker-compose-plugin

# バージョン確認(ハイフンなしのスペース空け)
docker compose version

4.4 uv のインストール

Pythonのバージョン管理やパッケージ管理を高速かつ安全に行うため、Rust製のモダンなツール uv を導入します。

curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc

# バージョン確認
uv --version

4.5 AWS CLI (v2) のインストール

古いv1を避けるため、AWS公式から最新のv2インストーラーを直接ダウンロードしてインストールします。

sudo apt-get install -y unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# バージョン確認
aws --version

4.6 Pythonのインストールと仮想環境の有効化

システムPythonを汚さずに、uv を使って特定のPythonバージョン(例: 3.14.3)をインストールし、プロジェクト用の仮想環境を構築します。

# 1. 指定バージョンのPythonをインストール(upgradeコマンドは使わない)
uv python install 3.14.3

# 2. 仮想環境(.venv)の作成
uv venv --python 3.14.3

# 3. 仮想環境の有効化
source .venv/bin/activate
# プロンプトの先頭に (ubuntu) や (.venv) が付けば成功

# バージョン確認
python --version

4.7 AWSの資格情報設定と接続テスト

Python(boto3)やAgentCoreからAWSリソースを操作できるよう、認証情報を設定します。

# AWS認証情報の設定(アクセスキー、シークレットキー、リージョンap-northeast-1等を対話式で入力)
aws configure

# 仮想環境にboto3をインストール
uv pip install boto3

# 接続テスト用スクリプトの作成と実行
cat << 'EOF' > test_aws.py
import boto3
def main():
    try:
        sts = boto3.client('sts')
        response = sts.get_caller_identity()
        print(f"✅ 接続成功! アカウントID: {response['Account']}")
    except Exception as e:
        print(f"❌ 接続失敗: {e}")
if __name__ == "__main__":
    main()
EOF

python test_aws.py
2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?