programing

AWS: 구성 프로파일(MyName)을 찾을 수 없습니다.

minimums 2023. 7. 22. 09:54
반응형

AWS: 구성 프로파일(MyName)을 찾을 수 없습니다.

AWS로 무언가를 구성하려고 할 때마다 다음 오류가 발생합니다.

"The config profile (myname) could not be found"

like : aws 구성

Python 3.4를 사용하고 있는데 AWS CLI 키링을 사용하여 자격 증명을 암호화하려고 합니다.

http://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html, 의 AWS 설명서에 파일을 편집해야 한다는 내용이 없는 것 같습니다.~/.aws/config사용자 이름 프로필을 추가합니다.가지 방법이 있습니다.

  1. 편집을~/.aws/config 또는

  2. aws configure --profile "your username"

AWS_DEFAULT_PROFILE 환경 변수를 가지고 새 시스템으로 이동할 때 이 문제가 발생했지만 ~/.aws 디렉토리는 가지고 있지 않았습니다.해당 변수를 해제하거나 명명된 프로필을 올바르게 구성하기 전까지는 awscli 명령을 사용할 수 없습니다.하지만 심지어는aws configure명령이 깨져서 상황이 좀 까다로워졌습니다.유닉스 계열의 셸을 손에 쥐고 있다고 가정하면 다음과 같습니다.

  1. 할 수 AWS 하려면 다음과 같이 .env | grep AWS_
    • 이 보이지AWS_DEFAULT_PROFILE또는AWS_PROFILE여기에 나열된 이 답변은 귀하에게 적용되지 않습니다.
  2. 프로파일을 하려면: " 기프일제로거방는법하으시적을"unset AWS_DEFAULT_PROFILE 및/는unset AWS_PROFILE
  3. 문의프일구는방법하성을로파제▁toaws --profile foo configure
  4. 기본 프로필 변수를 재설정하려면 다음과 같이 하십시오.exec $SHELL
  5. 설정을 하는 방법: 새설하는방법트aws iam get-user

당신의 것을 확인할 수 있습니까?config철다하 아래에 파일을 합니다.~/.aws/config[이라는 수 이와 것(myname]가 .라는 잘못된 섹션이 있을 수 있습니다. 이와 같은 것입니다(예:

[default]
region=us-west-2
output=json

[myname]
region=us-east-1
output=text

프로필에 포함)을 [myname] 섹이션을(내 이름)을 할 수 .aws ㅠㅠㅠㅠ

프로필 작업은 조금 까다롭습니다.설명서는 다음 사이트에서 찾을 수 있습니다. https://docs.aws.amazon.com/cli/latest/topic/config-vars.html (그러나 AWS_PROFILE과 같은 환경 변수에 주의해야 합니다.

파일에서 기본값)이 필요합니다.~/.aws/config또는 를 사용하여 설정합니다.AWS_CONFIG_FILE' ) 참조구 성파일: '

[profile PROFILE_NAME]
 output=json
 region=us-west-1
 aws_access_key_id=foo
 aws_secret_access_key=bar

`

변수 경수변AWS_PROFILEAWS CLI에 AWS 구성에서 사용할 프로파일을 알려줍니다.이는 다음과 같은 구성 파일의 대체가 아닙니다.AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY을위한을 위한 입니다.~/.aws/credentials.

또 다른 흥미로운 사실은AWS_PROFILE 설정되어 되어있고정설,AWS_ACCESS_KEY_ID그리고.AWS_SECRET_ACCESS_KEY에 에서 를 입력합니다.AWS_ACCESS_KEY_ID그리고.AWS_SECRET_ACCESS_KEY하는 프로필에 증명을 합니다.AWS_PROFILE.

제 경우 환경 변수의 "AWS_PROFILE"이라는 이름의 이전 값을 가진 변수가 있었습니다.

enter image description here

다음과 같이 사용합니다.

[profilename]
region=us-east-1
output=text

예제 cmd

aws --profile myname CMD opts

실제로 특정 사용자를 설정했습니까?AWS의 단계별 설정 가이드에서는 기본 사용자를 설정한 다음 추가 사용자를 설정하는 방법을 설명합니다.전체 설정을 완료하지 않은 경우 기본 블록만 생성되고 myName은 생성되지 않습니다.

유사한 문제에 직면하고 있었으며 여기에 제공된 답변보다 아래 링크가 더 유용한 것으로 나타났습니다.답변이 제공되어 AWS CLI 업데이트 때문인 것 같습니다.

https://serverfault.com/questions/792937/the-config-profile-adminuser-could-not-be-found

기본적으로 두 개의 서로 다른 파일(하나는 일반 구성 관련 정보용이고 다른 하나는 자격 증명 관련 정보용)을 만드는 데 도움이 됩니다.

올바른 가상 환경에 있는지 확인합니다.저는 PyCharm을 업데이트했고 어떤 이유에서인지 프로젝트를 VE에 다시 지정해야 했습니다.터미널을 열었을 때, 나는 zappa 업데이트를 시도할 때 VE에 있지 않았습니다(그리고 이 오류가 발생했습니다).PyCharm을 다시 시작합니다. 모두 정상으로 돌아갑니다.

저의 경우, AWS CLI 도구에 Docker 메서드를 사용하고 있었는데, 아직 지침을 읽지 못했기 때문에 자격 증명 디렉토리를 Docker 컨테이너에 표시해야 한다는 사실을 깨닫지 못했습니다.https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-docker.html

대신에

docker run --rm -it amazon/aws-cli:latest command args...

제가 해야 할 일은:

docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli:latest command args...

누군가 헤드리스 서버에서 이 작업을 수행하려고 할 경우(나의 경우 CI runner, kubeconfig에 EKS 클러스터 구성 추가).

이 작업을 수행해야 하는 이유는 러너가 해당 EKS 클러스터와 다른 AWS 계정에 있기 때문입니다(그리고 aWSks 명령어는 동일한 계정에 있습니다).

~/.aws/credential을 유효한 자격 증명으로 채우는 올바른 AWS 계정으로 인증하는 방법이 있습니다.

먼저 ~/.aws/credential을 채우기 위해 인증한 다음

cp ~/.aws/credentials ~/.aws/config
sed -i 's/profilename/profile profilename/g' ~/.aws/config

그리고 내가 따라 달리면 작동합니다.

aws eks update-kubeconfig --name cluster-name --profile profilename --region us-east-1

Nginx와 Gunicorn에서 Flask 애플리케이션을 배포하는 동안 동일한 문제에 직면했습니다.

저와 같은 문제에 직면한 사람에게 도움이 될 수 있습니다.

My Case: AWS 자격 증명을 사용하여 rds AUTH 토큰 생성

개발 모드에서는 정상적으로 작동하며 .aws 폴더에서 AWS Config를 가져올 수 있습니다.

Nginx-Gunicorn을 통해 실행하려고 하면 각 폴더 및 서비스에 모든 루트 권한을 부여했음에도 실패합니다.

환경 변수에 AccessKey와 SecretKey를 저장하고 인증 정보를 사용하여 인증 토큰을 생성했습니다.

import boto3,os
S3_KEY=os.environ['aws_access_key']
S3_SECRET=os.environ['aws_secret_access_key']
def generate_iam_rds_token(server,region,port,user,S3_KEY,S3_SECRET):
   s3_conn = boto3.client('rds', region_name=region,
                       aws_access_key_id=S3_KEY,
                       aws_secret_access_key=S3_SECRET)
   pwd = s3_conn.generate_db_auth_token(server, port, user, Region=region)
   return pwd
#call the method to get a token
server='https://example.com'
region='ap-west-3'
port='port_number'
user='db_user_name'
pwd_token=generate_iam_rds_token(server,region,port,user,S3_KEY,S3_SECRET)

SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{user}:{pwd}@{host}:{port}/{db}'.format(user=user,host=host,port=port,db=db,pwd=pwd)

참고: Ubuntu OS에서 다음을 사용하여 root 사용자로 로그인합니다.sudo -s또는 gunicorn 및 Do에서 구성한 각 사용자aws configure

서비스를 시작하는 사용자에 대한 aws 구성 파일을 찾을 수 없는 경우 이 문제가 발생할 수 있습니다.

저에게 문제는 서비스가 루트 사용자를 시작하고 있어서 AWS 구성 파일을 찾을 수 없다는 것이었습니다.AWS 구성을 찾을 수 있도록 root 사용자가 아닌 사용자부터 서비스를 시작하도록 하여 수정했습니다.

Windows를 사용하고 Windows Note 앱으로 구성/자격 증명을 작성하는 경우 앱은 확장명이 ".txt"인 파일을 만듭니다.파일 확장자를 제거할 수 있습니다.저 같은 경우에는 효과가 있었어요.

나에게 그것은 내가 나의 것을 가졌기 때문입니다..aws/config다음과 같은 파일:

[profile myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1

그 이유는 제가 그것을 기반으로 했기 때문이라고 생각합니다..aws/credentials파일, 이를 위해 필요합니다.[profile myname]자파와 다른 aws/탄성 콩나무 도구들을 위해.

내가 변했을 때config여기에 그것은 잘 작동했습니다.

[myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1

언급URL : https://stackoverflow.com/questions/34134879/aws-the-config-profile-myname-could-not-be-found

반응형