前置き
何物でもない人間が、AWSでMLOpsができるようになるのを目指す記録です。
初回はAWS × Python 開発環境の構築を目標にいろいろやってみました。
実施内容
✅ WSL2 を使って Linux 開発環境を Windows に導入
✅ AWS CLI をセットアップし、AWS をコマンドラインで操作
✅ Python (boto3) を使って AWS をプログラムで管理
✅ GitHub との SSH 接続を設定し、リポジトリ管理ができるように設定
詳細
✅ 1️⃣ WSL2 のセットアップ
「Windows 環境に Linux(Ubuntu)を導入」
📌 💡 手順
WSL2 を有効化(PowerShell で実行)
wsl --install -d Ubuntu
Ubuntu の初期設定
sudo apt update && sudo apt upgrade -y
Windows Terminal と VS Code をセットアップ
・Windows Terminal をインストール
・VS Code + WSL 拡張を追加
code .
💡 「WSL2 を使えば、Windows でも Linux 環境で開発が可能」
✅ 2️⃣ AWS CLI のインストール
「AWS をコマンドラインから操作できるようにする」
📌 💡 AWS CLI を WSL2 にインストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version # 確認
📌 💡 AWS CLI を設定
aws configure
👉 アクセスキー & シークレットキーを入力し、リージョンを設定!
IAM ユーザーの作成について
AWS CLI を利用するために、AWS マネジメントコンソールで IAM ユーザーを作成する必要があります。
(AWSアカウントを持ってない場合ここで作成します)
-
AWS コンソールにログインし、IAM ユーザー管理ページ にアクセス
-
「ユーザー」→「新しいユーザーを追加」をクリック
IAM Identity Center を有効にするよう勧められますが、今回のケースだとわかりにくくなるだけのため不要だと思います。 -
ユーザー名を
my-aws-user
など適当につける -
「AdministratorAccess」のポリシーをアタッチ(権限の制御)
・注意点
全権限が付与されるので、普段は必要な権限だけを付けるのが理想 -
「ユーザーの作成」を完了し、サインイン URL からログイン
-
「ユーザー」
my-aws-user
を選択しアクセスキーを作成 -
ユースケースは コマンドラインインターフェイス (CLI) を選択してアクセスキーを作成
推奨された代替案は、無視してかまいません
📌 💡 AWS CLI の動作確認
aws s3 ls # S3 バケットの一覧を取得
aws ec2 describe-instances # EC2 インスタンスの情報を取得
✅ エラーがなければ AWS CLI のセットアップ完了!
💡 「AWS CLI を使えば、GUI なしで AWS を管理できる」
✅ 3️⃣ Python 環境のセットアップ
「AWS Lambda で使う Python 環境を整える」
📌 💡 Python & 仮想環境(venv)のセットアップ
sudo apt install python3 python3-venv python3-pip -y
python3 -m venv ~/projects/venv
source ~/projects/venv/bin/activate # 仮想環境を有効化
pip install boto3 requests # AWS SDK(boto3)をインストール
✅ Python 仮想環境を使って、AWS × Python の開発環境を整えた!
💡 「仮想環境を作ることで、Python の依存関係を管理しやすくする」
✅ 4️⃣ GitHub との SSH 接続
「GitHub に SSH で接続し、コードを管理できるようにする」
📌 💡 SSH キーの作成
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
👉 id_rsa.pub を GitHub に登録! 👉 GitHub SSH Key 設定ページ で追加!
📌 💡 SSH 接続のテスト
ssh -T git@github.com
✅ 「Hi your-github-username!」と表示されれば成功!
📌 💡 GitHub リポジトリを作成 & git push
git init
git remote add origin git@github.com:your-username/aws-python-pipeline.git
git add .
git commit -m "Initial commit"
git push -u origin main
✅ GitHub に WSL からコードをプッシュできるようになった!
💡 「GitHub でコードを管理することで、開発の効率がUP」
✅ 5️⃣ AWS × Python の動作確認
「AWS CLI & boto3 を使って、AWS サービスを操作」
📌 💡 boto3 で S3 のバケット一覧を取得
import boto3
s3 = boto3.client("s3")
response = s3.list_buckets()
for bucket in response['Buckets']:
print(bucket['Name'])
✅ AWS CLI (aws s3 ls) と同じ結果が出れば成功!
💡 「AWS CLI だけでなく、Python から AWS を操作できるようになった」
終わりに
動かす環境は何とか作り終わったので、次回からは
「AWS Lambda で Python を実行し、S3 との連携を試す」
ステップに進みたいと思います。