Skip to content

Install tooling

Progress checklist

Install and version-check these tools before Prerequisites and the walkthrough. The harness Docker container runs on the lab EC2 instance — you do not need Docker on your laptop.

ToolMinimumNotes
AWS CLI v22.15.0Directory-bucket / Express APIs need a current v2. Latest stable is fine.
jq1.6+scripts/demo.sh reads .lab-state.json
Session Manager pluginoptionalNeeded only for ./scripts/demo.sh port-forward (local dashboard)
DockerOn EC2 only — harness image runs on the instance after bootstrap

Follow the official install guide.

Terminal window
curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
aws --version
Terminal window
which aws
aws --version

Looks like (version numbers vary — must be ≥ 2.15.0):

~/.local/bin/aws
aws-cli/2.36.38 Python/3.14.6 Linux/… exe/x86_64.…

Gate check:

Terminal window
aws --version
# expect: aws-cli/2.… with version >= 2.15.0
python3 - <<'PY'
import subprocess
v = subprocess.check_output(["aws", "--version"], text=True)
parts = v.split("/")[1].split(" ")[0].split(".")
maj, minor = int(parts[0]), int(parts[1])
assert (maj, minor) >= (2, 15), v
print("ok:", v.strip())
PY
Terminal window
# Fedora / RHEL-family example — use your distro equivalents
sudo dnf install -y jq
jq --version

Looks like:

jq-1.7.1
Terminal window
aws configure sso --profile sandbox
# or reuse an existing SSO profile named sandbox
export AWS_PROFILE=sandbox
export AWS_REGION=ap-southeast-2
aws sts get-caller-identity

demo.sh refuses to run without both variables set, and refuses AWS CLI versions below 2.15.0.

Optional — for SSM port-forward to the dashboard:

Terminal window
session-manager-plugin --version
# if missing, install:
# https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html

Continue to Prerequisites, then Architecture.