Итак, я пытаюсь перечислить клиентские шлюзы в учетной записи с помощью AWS CLI. Проблема в том, что я могу заставить его работать с учетными данными только из профиля, а не из переменных среды.
Я знаю, что мне здесь не хватает чего-то простого, но я не могу понять, что.
Если я использую профиль, определенный в ~ / .aws / credentials, все работает нормально:
$ aws sts get-caller-identity --profile devops-preprod-deploy
{
"UserId": "AROAT6IOCTARVOTPZB4CD:botocore-session-1576056489",
"Account": "123149340123",
"Arn": "arn:aws:sts::123149340123:assumed-role/pdapreprod-deployment-role/botocore-session-1576056489"
}
$ aws ec2 describe-customer-gateways --profile devops-preprod-deploy
{
"CustomerGateways": [
{
"BgpAsn": "65000",
"CustomerGatewayId": "cgw-0123851d01236295b",
"IpAddress": "123.58.165.123",
"State": "available",
"Type": "ipsec.1",
"Tags": [
{
"Key": "Name",
"Value": "Office"
}
]
}
]
}
Если я использую роль предположения и помещаю временные учетные данные в среду, это не сработает:
$ export AWS_ACCESS_KEY_ID="ASIBT6IOCTNRTS..."
$ export AWS_SECRET_ACCESS_KEY="rNFhltabK9Rfk69xj/2..."
$ export AWS_SESSION_TOKEN="FwoGZXIvYXdzELT///////..."
$ aws sts get-caller-identity
{
"UserId": "AROAT6IOCTARVOTPZB4CD:pdapreprod-deployment-role",
"Account": "123149340123",
"Arn": "arn:aws:sts::123149340123:assumed-role/pdapreprod-deployment-role/myname"
}
$ aws ec2 describe-customer-gateways
{
"CustomerGateways": []
}
Что я делаю не так?
Скорее всего, вы запрашиваете не тот регион. Есть несколько способов установить его:
В качестве параметра aws-cli:
aws --region us-east-1 ec2 describe-customer-gateways
Переменная окружения:
AWS_DEFAULT_PROFILE=us-east-1
aws ec2 describe-customer-gateways
В ~/.aws/config
:
[default]
region=us-east-1
Надеюсь, это поможет :)