Authfailure: AWS не удалось проверить предоставленные учетные данные доступа - PullRequest
1 голос
/ 04 марта 2020

Я пытаюсь создать свой конвейер Gitlab CI / CD с AWS. Цель состоит в том, чтобы завершить работу существующего экземпляра EC2, запустить новый экземпляр из шаблона, а затем связать IP Elasti c с новым EC2. Я использую бегун Docker, использующий python: последнее изображение. Когда я запускаю свой конвейер CI / CD, я получаю

An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials

Мой .gitlab-ci.yml выглядит следующим образом:

stages:
  - build
AWS_Install:
  image: python:latest
  stage: build
  tags:
    - Docker
  script:
    - pip install awscli
    - export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
    - export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
    - export AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION
    - echo "running script :)"
    - OLDEC2=$(aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*].[InstanceId]" --output text) 
    - aws ec2 terminate-instances --instance-ids "$OLDEC2"
    - sleep 200.0
    - aws ec2 run-instances --launch-template LaunchTemplateId=[launch-template-id],Version=12
    - sleep 120.0
    - NEWEC2=$(aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*].[InstanceId]" --output text)
    - aws ec2 associate-address --allocation-id [allocation-id] --instance-id "$NEWEC2" --allow-reassociation
What I've checked/tried:
    - AWS credentials: They are correct and valid
    - aws configure: Everything sets correctly (checked using aws configure get)
    - Ensured UNIX line endings were being used
    - Adding a variable section to the YAML file to include environment variables
    - Hardcoding credential values
    - New user on AWS with all necessary credentials
    - Using export to get the environment variables
    - Running everything in one script rather than having a before script
    - Having multiple stages/Jobs

1 Ответ

0 голосов
/ 07 апреля 2020

Оказалось, что решение было использовать на GitLab publi c runner вместо клиентского.

...