AWS ハンズオンを実施するために必要なツールのインストールと初期設定
各ハンズオン手順書の「前提条件」で必要なツールへのリンク先として、このページにセットアップ手順を集約しています。実施するハンズオンに応じて必要なセクションだけをご確認ください。
AWS マネジメントコンソールから起動できる AWS CloudShell には、AWS CLI・Git・Python・Node.js などが最初からインストールされています。ローカル環境を用意したくない場合に最も手軽な選択肢です。
| ハンズオン種別(代表例) | AWS CLI | Git | Docker | Node.js | Python | kubectl | eksctl | Helm | Terraform | istioctl |
|---|---|---|---|---|---|---|---|---|---|---|
| インフラ系 (EC2 / VPC / RDS) | ✅ | |||||||||
| コンテナ (ECS Fargate) | ✅ | ✅ | ||||||||
| EKS / GitOps | ✅ | ✅ | ✅ | ✅ | ||||||
| Kubernetes Observability | ✅ | ✅ | ✅ | ✅ | ||||||
| Service Mesh (Istio) | ✅ | ✅ | ✅ | ✅ | ||||||
| IaC — Terraform | ✅ | ✅ | ✅ | |||||||
| IaC — CDK | ✅ | ✅ | ✅ | ✅ | ||||||
| CI/CD (CodePipeline / GitHub Actions) | ✅ | ✅ | ||||||||
| サーバーレス (Lambda / API GW) | ✅ | ✅ | ||||||||
| マネコン操作のみ(監視・セキュリティ等) |
ブラウザ内で動作するターミナルで、インストール作業が一切不要です。AWS CLI・Git・Python・Node.js・kubectl・helm などが最初からインストールされています。
aws --version # AWS CLI が使える git --version # Git が使える python3 --version
~)に最大 1 GB の永続ストレージがあります(セッション間で保持)| OS | 推奨ターミナル | メモ |
|---|---|---|
| Windows | PowerShell 7+ または WSL2 (Ubuntu) | WSL2 は Linux コマンドがそのまま使えて便利 |
| macOS | ターミナル.app または iTerm2 | Homebrew(brew)でほとんどのツールをインストール可能 |
| Linux | お好みのターミナルエミュレータ | apt / yum / dnf でパッケージ管理 |
PowerShell(管理者)で以下を実行して WSL2 + Ubuntu をインストールできます。インストール後は WSL2 の Ubuntu ターミナルを使うと Linux 向けコマンドがそのまま動作します。
wsl --install
多くのハンズオンで必要です。AWS CLI v2 を使用してください。
# ブラウザから以下の URL にアクセスしてインストーラーをダウンロード・実行 # https://awscli.amazonaws.com/AWSCLIV2.msi # または PowerShell から直接インストール msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /quiet
# Homebrew を使う場合 brew install awscli # pkg インストーラーを使う場合(ブラウザで DL して実行) # https://awscli.amazonaws.com/AWSCLIV2.pkg
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install rm -rf awscliv2.zip aws/
IAM ユーザーのアクセスキーを用意してから以下を実行します。
aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: ap-northeast-1 Default output format [None]: json
Organizations や IAM Identity Center を使っている場合は aws configure sso で設定します。詳細は各ハンズオンの前提条件を参照してください。
aws --version
# aws-cli/2.x.x Python/3.x.x ...
aws sts get-caller-identity
# {
# "UserId": "...",
# "Account": "123456789012",
# "Arn": "arn:aws:iam::123456789012:user/..."
# }
アクセスキーはソースコードや Git にコミットしないでください。本番環境では IAM ロール(EC2 インスタンスプロファイル・ECS タスクロール等)を使用してください。ハンズオン終了後は不要なアクセスキーを削除することを推奨します。
CI/CD・GitOps・CDK など、リポジトリを扱うハンズオンで必要です。
# winget を使う場合(Windows 10 1709 以降) winget install --id Git.Git -e --source winget # または https://git-scm.com/download/win からインストーラーをダウンロード・実行
# Xcode CLT に含まれる(ターミナルで git を打つと自動インストールを促される) xcode-select --install # または Homebrew brew install git
sudo apt install -y git # Ubuntu / Debian sudo dnf install -y git # Amazon Linux 2023 / RHEL / Rocky
git --version # git version 2.x.x # コミット時に必要なユーザー情報を設定(初回のみ) git config --global user.name "Your Name" git config --global user.email "your@email.com"
ECS・コンテナビルドが必要なハンズオンで使用します。
Docker Desktop(GUI アプリ)をインストールします。Docker Engine・Docker CLI・Docker Compose が一式含まれます。
# https://www.docker.com/products/docker-desktop/ からインストーラーをダウンロード・実行 # macOS (Homebrew) brew install --cask docker
インストール後、Docker Desktop を起動してタスクトレイ(Windows)/ メニューバー(macOS)のクジラアイコンが動いていれば OK です。
# Ubuntu の場合 sudo apt update sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /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 \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo usermod -aG docker $USER # sudo なしで使えるように
docker --version docker run --rm hello-world
AWS CDK ハンズオンで必要です。nvm(Node Version Manager)を使うとバージョン管理が楽です。
# 公式インストーラー(LTS 版を選択) # https://nodejs.org/ja/download/ からダウンロード・実行 # または winget winget install OpenJS.NodeJS.LTS
# nvm のインストール curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash source ~/.bashrc # または source ~/.zshrc # Node.js LTS をインストール nvm install --lts nvm use --lts
node --version # v22.x.x npm --version # 10.x.x # CDK ハンズオンに必要な場合のみ npm install -g aws-cdk cdk --version
Lambda(Python ランタイム)・AWS CDK(Python 版)のハンズオンで使用します。
# 公式インストーラー(Python 3.12 推奨) # https://www.python.org/downloads/ からダウンロード・実行(「Add to PATH」にチェック) # または Microsoft Store winget install Python.Python.3.12
brew install python@3.12 echo 'export PATH="/opt/homebrew/opt/python@3.12/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
sudo apt install -y python3 python3-pip python3-venv # Ubuntu sudo dnf install -y python3 python3-pip # Amazon Linux / RHEL
python3 --version # Python 3.12.x pip3 --version
EKS・Kubernetes 系ハンズオンで必要です。クラスターのバージョンと近いバージョンを使ってください。
# chocolatey を使う場合 choco install kubernetes-cli # または curl で直接ダウンロード(PowerShell) curl.exe -LO "https://dl.k8s.io/release/$(curl.exe -L -s https://dl.k8s.io/release/stable.txt)/bin/windows/amd64/kubectl.exe" # ダウンロードした kubectl.exe を PATH の通ったフォルダ(例: C:\Windows\System32)に移動
brew install kubectl
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version --client # Client Version: v1.33.x
EKS クラスターの作成・管理に使う CLI ツールです。EKS 系ハンズオンで必要です。
choco install eksctl # または GitHub Releases から直接ダウンロード # https://github.com/eksctl-io/eksctl/releases
brew tap weaveworks/tap brew install weaveworks/tap/eksctl
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_${PLATFORM}.tar.gz"
tar -xzf eksctl_${PLATFORM}.tar.gz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
rm eksctl_${PLATFORM}.tar.gz
eksctl version # 0.x.x
Kubernetes のパッケージマネージャーです。kube-prometheus-stack など Helm Chart を使うハンズオンで必要です。
choco install kubernetes-helm
brew install helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
# version.BuildInfo{Version:"v3.x.x", ...}
Terraform ハンズオンで必要です。tfenv を使うとバージョン管理が容易です。
# chocolatey choco install terraform # または winget winget install Hashicorp.Terraform
brew tap hashicorp/tap brew install hashicorp/tap/terraform
wget -O - https://apt.releases.hashicorp.com/gpg | \ sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \ https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \ sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install terraform
# Amazon Linux 2023 / RHEL sudo dnf install -y dnf-plugins-core sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo sudo dnf install terraform
terraform -version # Terraform v1.x.x
EKS Service Mesh(Istio)ハンズオンで必要です。
curl -L https://istio.io/downloadIstio | sh - # インストール先ディレクトリ(例: istio-1.26.x/bin)を PATH に追加 cd istio-1.* export PATH=$PWD/bin:$PATH echo "export PATH=$PWD/bin:\$PATH" >> ~/.bashrc
# https://github.com/istio/istio/releases から istio-X.X.X-win.zip をダウンロード・展開 # 展開先の bin\ フォルダを PATH に追加(システムの環境変数)
istioctl version --remote=false # client version: 1.x.x
セットアップ完了後、以下のコマンドをまとめて実行して各ツールが正常に動作しているか確認できます。
echo "=== AWS CLI ===" && aws --version echo "=== Git ===" && git --version echo "=== Docker ===" && docker --version 2>/dev/null || echo "Not installed" echo "=== Node.js ===" && node --version 2>/dev/null || echo "Not installed" echo "=== npm ===" && npm --version 2>/dev/null || echo "Not installed" echo "=== Python ===" && python3 --version 2>/dev/null || echo "Not installed" echo "=== kubectl ===" && kubectl version --client 2>/dev/null || echo "Not installed" echo "=== eksctl ===" && eksctl version 2>/dev/null || echo "Not installed" echo "=== Helm ===" && helm version --short 2>/dev/null || echo "Not installed" echo "=== Terraform ===" && terraform -version 2>/dev/null | head -1 || echo "Not installed" echo "=== istioctl ===" && istioctl version --remote=false 2>/dev/null || echo "Not installed" echo "" echo "=== AWS Identity ===" && aws sts get-caller-identity
@("aws --version","git --version","docker --version",
"node --version","python --version","kubectl version --client",
"eksctl version","helm version --short","terraform -version"
) | ForEach-Object {
Write-Host "[$_]" -ForegroundColor Cyan
try { Invoke-Expression $_ } catch { Write-Host "Not installed" -ForegroundColor Yellow }
Write-Host ""
}
aws sts get-caller-identity
必要なツールのバージョンが表示され、aws sts get-caller-identity がアカウント情報を返せば準備完了です。各ハンズオン手順書に戻って作業を開始してください。