🔧 環境セットアップガイド

AWS ハンズオンを実施するために必要なツールのインストールと初期設定

AWS CLI Git Docker kubectl / eksctl Helm Terraform Node.js / Python

📋 このガイドについて

各ハンズオン手順書の「前提条件」で必要なツールへのリンク先として、このページにセットアップ手順を集約しています。実施するハンズオンに応じて必要なセクションだけをご確認ください。

ℹ️ AWS CloudShell を使えばインストール不要

AWS マネジメントコンソールから起動できる AWS CloudShell には、AWS CLI・Git・Python・Node.js などが最初からインストールされています。ローカル環境を用意したくない場合に最も手軽な選択肢です。

ハンズオン種別ごとの必要ツール早見表

ハンズオン種別(代表例) AWS CLIGitDocker Node.jsPythonkubectl eksctlHelmTerraformistioctl
インフラ系 (EC2 / VPC / RDS)
コンテナ (ECS Fargate)
EKS / GitOps
Kubernetes Observability
Service Mesh (Istio)
IaC — Terraform
IaC — CDK
CI/CD (CodePipeline / GitHub Actions)
サーバーレス (Lambda / API GW)
マネコン操作のみ(監視・セキュリティ等)

💻 ターミナル環境の準備

選択肢 A(推奨): AWS CloudShell

ブラウザ内で動作するターミナルで、インストール作業が一切不要です。AWS CLI・Git・Python・Node.js・kubectl・helm などが最初からインストールされています。

CloudShell の起動方法
  1. AWS マネジメントコンソールにログイン
  2. 画面上部のナビゲーションバーにある 「CloudShell」アイコン(ターミナルマーク) をクリック
  3. ブラウザ内にターミナルが開く(数秒〜30 秒ほどかかります)
aws --version    # AWS CLI が使える
git --version   # Git が使える
python3 --version
⚠️ CloudShell の制限事項
  • ホームディレクトリ(~)に最大 1 GB の永続ストレージがあります(セッション間で保持)
  • セッションが非アクティブになると自動終了します(再起動しても環境変数などは消えます)
  • Terraform・istioctl・eksctl など一部のツールは手動インストールが必要な場合があります
  • Docker デーモンは動作しません(コンテナビルドが必要な場合はローカル環境を使ってください)

選択肢 B: ローカル端末のターミナル

OS推奨ターミナルメモ
WindowsPowerShell 7+ または WSL2 (Ubuntu)WSL2 は Linux コマンドがそのまま使えて便利
macOSターミナル.app または iTerm2Homebrew(brew)でほとんどのツールをインストール可能
Linuxお好みのターミナルエミュレータapt / yum / dnf でパッケージ管理
ℹ️ Windows で WSL2 を使う場合

PowerShell(管理者)で以下を実行して WSL2 + Ubuntu をインストールできます。インストール後は WSL2 の Ubuntu ターミナルを使うと Linux 向けコマンドがそのまま動作します。

wsl --install

☁️ AWS CLI のインストールと設定

多くのハンズオンで必要です。AWS CLI v2 を使用してください。

インストール

Windows
Windows — MSI インストーラー(推奨)
# ブラウザから以下の URL にアクセスしてインストーラーをダウンロード・実行
# https://awscli.amazonaws.com/AWSCLIV2.msi

# または PowerShell から直接インストール
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /quiet
macOS
macOS — pkg インストーラーまたは Homebrew
# Homebrew を使う場合
brew install awscli

# pkg インストーラーを使う場合(ブラウザで DL して実行)
# https://awscli.amazonaws.com/AWSCLIV2.pkg
Linux
Linux (Ubuntu/Debian / Amazon Linux 2023)
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 アクセスキーの用意

IAM ユーザーのアクセスキーを発行する(マネジメントコンソール)

AWS CLI でローカル PC から操作するには、IAM ユーザーのアクセスキー(アクセスキー ID とシークレットアクセスキーのペア)が必要です。以下の手順で発行します。

  1. IAM コンソールを開く(マネジメントコンソールで「IAM」を検索)→ 左メニュー 「ユーザー」 をクリック
  2. 対象の IAM ユーザー名をクリック(まだユーザーが無い場合は「ユーザーの作成」で先に作成)
  3. 「セキュリティ認証情報」タブを開く → 「アクセスキー」セクションの 「アクセスキーを作成」 をクリック
  4. 主要なユースケースで 「コマンドラインインターフェイス (CLI)」 を選択 → 下部の確認チェックボックスにチェック → 「次へ」
  5. (任意)説明タグを入力 → 「アクセスキーを作成」
  6. 表示された アクセスキー IDシークレットアクセスキー を控える。「.csv ファイルをダウンロード」で保存しておくと確実です
ℹ️ AWS CloudShell を使う場合はアクセスキー不要

マネジメントコンソール上の AWS CloudShell や、EC2/CloudShell 上での実行では、ログイン中ユーザーの一時認証情報が自動設定されるため aws configure もアクセスキー発行も不要です。各ハンズオンが CloudShell 前提の場合はこの手順をスキップできます。

⚠️ シークレットアクセスキーは一度しか表示されません

作成画面を閉じるとシークレットアクセスキーは二度と表示できません。控え忘れた場合は古いキーを削除して作り直してください。また、ルートユーザーのアクセスキーは作成しないでください(IAM ユーザーまたは IAM ロールを使用します)。

初期設定(認証情報の設定)

aws configure の実行

上で発行した 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
ℹ️ IAM Identity Center (SSO) を使う場合

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/..."
# }

アクセスキーを使わない方法(推奨)

長期のアクセスキーは漏洩リスクがあるため、可能なら以下のキーレス(一時認証)方式を推奨します。最も簡単なのは方法 A の aws login です。

方法 A: aws login(最も簡単・推奨)

A-1. ブラウザ認証だけで一時認証情報を取得

aws login は、マネジメントコンソールへのサインインと同じブラウザ認証で一時認証情報を取得する新しいコマンドです。アクセスキーの発行も IAM Identity Center の設定も不要で、root / IAM ユーザーのどちらでも使えます(要 AWS CLI v2.32.0 以降)。

aws login

実行すると次のように進みます。

  1. デフォルトリージョンが未設定の場合はリージョンの入力を求められる(例: ap-northeast-1
  2. 既定のブラウザが自動的に開く
  3. ブラウザでサインイン(コンソールにログイン中ならそのまま続行、または root / IAM ユーザーでログイン)
  4. ターミナルに戻ると認証完了。そのままコマンドを実行できる
# プロファイルを指定する場合
aws login --profile my-profile

# 動作確認
aws sts get-caller-identity
ℹ️ aws login の特徴
  • 長期アクセスキーが不要(漏洩リスクを排除)
  • 一時認証情報は 15 分ごとに自動ローテーション、最長 12 時間有効(セッション設定で調整可)
  • OAuth 2.0 + PKCE による安全な認可フロー
  • AWS CLI・各種 AWS SDK・PowerShell ツールで利用可能
  • 追加料金なし。AWS CLI v2.32.0 以降が必要(古い場合は本ページの手順で更新)

方法 B: IAM Identity Center(SSO)で aws sso login

組織で IAM Identity Center を運用している場合は、こちらでアカウント/権限セットを切り替えながら利用します。

B-1. SSO プロファイルを設定する

IAM Identity Center が有効な組織では、アクセスキー不要でブラウザログインにより一時認証情報を取得できます。まずプロファイルを作成します。

aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://<your-portal>.awsapps.com/start
SSO region [None]: ap-northeast-1
SSO registration scopes [None]: sso:account:access

ブラウザが開いてサインインを求められます。承認後、利用するアカウントと権限セット(ロール)を選び、CLI のデフォルトリージョン・出力形式・プロファイル名を設定します。

ℹ️ SSO Start URL / Region の調べ方

AWS アクセスポータルで利用中の権限セットの「アクセスキー」リンク →「IAM Identity Center 認証情報」から SSO Start URLSSO Region を確認できます。

B-2. ログインして使う
# 一時認証情報を取得(期限切れになったら再実行するだけ)
aws sso login --profile my-profile

# プロファイルを指定してコマンド実行
aws sts get-caller-identity --profile my-profile

# 既定プロファイルとして使う場合(Linux/macOS)
export AWS_PROFILE=my-profile
# Windows PowerShell の場合: $env:AWS_PROFILE="my-profile"

# 使い終わったらサインアウト
aws sso logout
ℹ️ シークレットを保存しない

SSO 方式では恒久的なシークレットがローカルに保存されず、短期間で失効する一時認証情報がキャッシュされます。漏洩時のリスクを大きく下げられます。CDK・Terraform などもこのプロファイルをそのまま利用できます。

方法 C: AWS CloudShell(設定不要)

ブラウザだけで完結

マネジメントコンソール右上の CloudShell を開くと、ログイン中ユーザーの一時認証情報が自動設定済みの状態でターミナルが起動します。AWS CLI もインストール済みのため、aws configure もアクセスキーも不要です。多くのハンズオンはこの CloudShell を推奨環境としています。

方法 D: IAM ロール(EC2 / ECS 上で実行する場合)

インスタンスプロファイル / タスクロール

EC2 や ECS 上でアプリ・スクリプトを動かす場合は、IAM ロールをリソースにアタッチします(EC2 インスタンスプロファイル・ECS タスクロール)。SDK / CLI が自動でロールの一時認証情報を取得するため、アクセスキーをコードや設定に置く必要がありません。本番環境ではこの方式が原則です。

⚠️ アクセスキーの管理について

アクセスキーはソースコードや Git にコミットしないでください。本番環境では IAM ロール(EC2 インスタンスプロファイル・ECS タスクロール等)を使用してください。ハンズオン終了後は不要なアクセスキーを削除することを推奨します。

📦 Git のインストール

CI/CD・GitOps・CDK など、リポジトリを扱うハンズオンで必要です。

Windows
Windows — Git for Windows
# winget を使う場合(Windows 10 1709 以降)
winget install --id Git.Git -e --source winget

# または https://git-scm.com/download/win からインストーラーをダウンロード・実行
macOS
macOS — Xcode Command Line Tools または Homebrew
# Xcode CLT に含まれる(ターミナルで git を打つと自動インストールを促される)
xcode-select --install

# または Homebrew
brew install git
Linux
Linux
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"

🐳 Docker のインストール

ECS・コンテナビルドが必要なハンズオンで使用します。

WindowsmacOS
Windows / macOS — Docker Desktop

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 です。

Linux
Linux — Docker Engine
# 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

🟩 Node.js / npm のインストール

AWS CDK ハンズオンで必要です。nvm(Node Version Manager)を使うとバージョン管理が楽です。

Windows
Windows — nvm-windows または公式インストーラー
# 公式インストーラー(LTS 版を選択)
# https://nodejs.org/ja/download/ からダウンロード・実行

# または winget
winget install OpenJS.NodeJS.LTS
macOSLinux
macOS / Linux — nvm を使う方法(推奨)
# 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
動作確認 / AWS CDK CLI のインストール
node --version    # v22.x.x
npm --version     # 10.x.x

# CDK ハンズオンに必要な場合のみ
npm install -g aws-cdk
cdk --version

🐍 Python 3 のインストール

Lambda(Python ランタイム)・AWS CDK(Python 版)のハンズオンで使用します。

Windows
Windows
# 公式インストーラー(Python 3.12 推奨)
# https://www.python.org/downloads/ からダウンロード・実行(「Add to PATH」にチェック)

# または Microsoft Store
winget install Python.Python.3.12
macOS
macOS
brew install python@3.12
echo 'export PATH="/opt/homebrew/opt/python@3.12/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Linux
Linux
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

☸️ kubectl のインストール

EKS・Kubernetes 系ハンズオンで必要です。クラスターのバージョンと近いバージョンを使ってください。

Windows
Windows
# 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)に移動
macOS
macOS
brew install kubectl
Linux
Linux
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

🔩 eksctl のインストール

EKS クラスターの作成・管理に使う CLI ツールです。EKS 系ハンズオンで必要です。

Windows
Windows
choco install eksctl

# または GitHub Releases から直接ダウンロード
# https://github.com/eksctl-io/eksctl/releases
macOS
macOS
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
Linux
Linux
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

⛵ Helm のインストール

Kubernetes のパッケージマネージャーです。kube-prometheus-stack など Helm Chart を使うハンズオンで必要です。

Windows
Windows
choco install kubernetes-helm
macOS
macOS
brew install helm
Linux
Linux
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
動作確認
helm version
# version.BuildInfo{Version:"v3.x.x", ...}

🏗️ Terraform のインストール

Terraform ハンズオンで必要です。tfenv を使うとバージョン管理が容易です。

Windows
Windows
# chocolatey
choco install terraform

# または winget
winget install Hashicorp.Terraform
macOS
macOS
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
Linux
Linux (Ubuntu / Debian)
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

🕸️ istioctl のインストール

EKS Service Mesh(Istio)ハンズオンで必要です。

Windows / macOS / Linux
公式インストールスクリプト(macOS / Linux / WSL2)
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
Windows(PowerShell)
Windows — GitHub Releases から手動ダウンロード
# https://github.com/istio/istio/releases から istio-X.X.X-win.zip をダウンロード・展開
# 展開先の bin\ フォルダを PATH に追加(システムの環境変数)
動作確認
istioctl version --remote=false
# client version: 1.x.x

✅ 動作確認コマンド一覧

セットアップ完了後、以下のコマンドをまとめて実行して各ツールが正常に動作しているか確認できます。

全ツール確認スクリプト(bash / zsh / WSL2)
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
PowerShell 版(Windows ネイティブ)
@("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 がアカウント情報を返せば準備完了です。各ハンズオン手順書に戻って作業を開始してください。