Install tooling
Progress checklist
Overview
Section titled “Overview”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.
Version matrix
Section titled “Version matrix”| Tool | Minimum | Notes |
|---|---|---|
| AWS CLI v2 | 2.15.0 | Directory-bucket / Express APIs need a current v2. Latest stable is fine. |
| jq | 1.6+ | scripts/demo.sh reads .lab-state.json |
| Session Manager plugin | optional | Needed only for ./scripts/demo.sh port-forward (local dashboard) |
| Docker | — | On EC2 only — harness image runs on the instance after bootstrap |
Install AWS CLI v2
Section titled “Install AWS CLI v2”Follow the official install guide.
curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bashexport PATH="$HOME/.local/bin:$PATH"aws --versioncurl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipmkdir -p "$HOME/.local/bin" "$HOME/.local/share/aws-cli"./aws/install \ --bin-dir "$HOME/.local/bin" \ --install-dir "$HOME/.local/share/aws-cli" \ --updateexport PATH="$HOME/.local/bin:$PATH"aws --versionPut export PATH="$HOME/.local/bin:$PATH" in your shell profile so an older system CLI cannot
shadow it. Use awscli-exe-linux-aarch64.zip on ARM.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install --updateaws --versionConfirm the version
Section titled “Confirm the version”which awsaws --versionLooks like (version numbers vary — must be ≥ 2.15.0):
~/.local/bin/awsaws-cli/2.36.38 Python/3.14.6 Linux/… exe/x86_64.…Gate check:
aws --version# expect: aws-cli/2.… with version >= 2.15.0
python3 - <<'PY'import subprocessv = 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), vprint("ok:", v.strip())PYInstall jq
Section titled “Install jq”# Fedora / RHEL-family example — use your distro equivalentssudo dnf install -y jqjq --versionLooks like:
jq-1.7.1Configure the profile
Section titled “Configure the profile”aws configure sso --profile sandbox# or reuse an existing SSO profile named sandboxexport AWS_PROFILE=sandboxexport AWS_REGION=ap-southeast-2aws sts get-caller-identitydemo.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:
session-manager-plugin --version# if missing, install:# https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.htmlContinue to Prerequisites, then Architecture.