# 해당 에러는 EB에 데이터베이스 설정을 추가하여 사용하려할 때 발생하는 에러이며

EB에 데이터베이스를 직접적으로 설정 추가하지 않아도 RDS를 사용하는데에는 문제가 없으므로 추가하지 않고 사용하는 방법을 추천합니다.

또한 아래 방법을 이용하여 EB Console 설정을 통해 수동 설정을 하였다 하더라도 만약 배포 방식 설정이 추가 배치를 사용한 롤링일 경우 배포 완료시 기존 ec2가 사라지고 새로운 ec2가 생기므로 수동 설정한 부분이 적용되지 않습니다.

 

 

 

1. 상황

EB 생성 후 구성에서 데이터베이스 추가하려하니 에러 발생

 

 

2. 원인

에러 메세지의 내용 그대로이다. Mysql 5.6버전을 더 이상 supported 하지 않아서 그렇다.
그런데 조금 황당하다.아마도 ElasticBeanstalk 웹 콘솔에서 rds 설정 기본값이 mysql 5.6버전인데, 이것을 deprecated 처리를 해놓고, 웹 콘솔에는 반영하지 않아서 생긴 버그 같다. 나는 애초에 Mysql 5.6버전을 사용할 의사가 없다.
첫 화면에서부터 저 오류가 뜨고 아무 것도 선택할 수가 없다.

 

 

3. 해결방법

eb 인스턴스 접속

 

접속 계정 : ec2-user

 

 

git 설치  :  eb는 yum 사용

sudo su 로 관리자 계정으로 설치

yum install git

 

git 클론 :  

git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git

 

virtualenv 설치 :  

exit으로 관리자 계정에서 나온 후 실행

pip install --user virtualenv

 

eb -cli 설치 파일 실행 :

python3 ./aws-elastic-beanstalk-cli-setup/scripts/ebcli_installer.py

 

설치 완료 ->

bash 명령어를 실행하여 경로 설정해줘야함

echo 'export PATH="/home/ec2-user/.ebcli-virtual-env/executables:$PATH"' >> ~/.bash_profile && source ~/.bash_profile

 

작동 확인 (경로 설정까지 완료 후)

eb --version

 

cli 사용 시작

 

eb init

region 선택 : 10

 

Enter Application Name : eb 어플리케이션 name 입력

 

에러발생 !@@@@@@@@

ERROR: NotAuthorizedError - Operation Denied. User: arn:aws:sts:

sdk에 사용자 설정을 해주지 않아 발생

 

aws 환경 확인

aws --version

 

aws configure

access key : iam key

secret access key : iam key

region : ap-northeast-2

format : json

 

설정 후 eb init 부터 다시 시작

어플리케이션 선택

 

eb config 입력 후 스크롤 맨 아래로 내려서    DBEngineVersion: '8.0' 추가

aws:rds:dbinstance:
  HasCoupledDatabase: 'false'
  DBEngineVersion: '8.0'

저장 후 나가기 : ctrl + o -> Enter -> ctrl + x 

 

저장 후 나오면 업데이트 됨

 

--> eb - 구성 - 데이터 베이스 연결 정상작동 됨 

 

 

참고 블로그 : https://devcamus.tistory.com/?page=1

+ Recent posts