Skip to main content

Get Instance ID from EC2 directly

Method 1

[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token -UseBasicParsing
$InstanceId = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/instance-id -UseBasicParsing
$InstanceId

Method 2

aws ec2 describe-instances --filters "Name=tag:Name,Values=$($env:COMPUTERNAME)" --query "Reservations[].Instances[].InstanceId" --output text

Method 3

Get-EC2InstanceMetadata -Category InstanceId