엘라스틱빈톡 & DB & CI/CD 배포하기 3 (Git Actions, IAM 생성, Aws 배포, 로그 확인)

Sol's·2023년 5월 19일
0

Aws 무중단 배포

목록 보기
27/28


배포 실패
Error: Deployment failed: AWS Access Key not specified!
IAM 권한 시크릿키가 없다는 오류
Git Action에서 AWS의 S3에접근 권한이 없어 IAM을 생성하겠습니다

IAM 생성하기

  1. IAM 생성
  2. 엑세스 키 만들기
    • 보안자격증명 -> 엑세스 키 만들기 (서드파티)

직접 정책연결 -> AdministratorAccess-AWSElasticBeanstalk 선택

IAM을 만들고 나서 엑세스키를 만들어야 합니다.

엑세스 키 만들기


GitHub Repositoty에 IAM 엑세스 키 환경변수 등록

deploy.yml 파일에 있는 환경변수들을 배포하는 프로젝트 레포지토리 설정으로 등록해야 합니다.

Github -> 배포할 레포지토리 -> Setting -> Secrets -> Actions

진짜 마지막 배포!

IAM을 만들고 git repository에 Key 설정을했으니
코드를 수정하고 다시 Push 해보겠습니다!

진짜 성공한줄 알았는데...
에러가 떴습니다.

No Application named 'aws-v5-beanstalk' found.
환경변수 aws-v5-beanstalk를 찾을수 없다는거였습니다..
차근차근 확인해 보니...


???????
aws 가 아니라 asw라고 만들었던 것이였습니다... 하하핳

환경변수만 후딱 바꾸고 잘 되나 재도전을 해보겠습니다!

          application_name: asw-v5-beanstalk # 엘리스틱 빈스톡 애플리케이션 이름!
          environment_name: Asw-v5-beanstalk-env # 엘리스틱 빈스톡 환경 이름!

드디어 성공을 했습니다!

배포가 잘 되었는지 Test를 해보겠습니다!

엘라스틱빈스톡 -> 환경으로 이동

/api/book 주소로 이동하면 데이터가 없기에 아무것도 뜨지 않습니다.

PostMan으로 데이터를 Insert 해보겠습니다.

정상작동 확인하였습니다!!

로그 확인

Ec2 -> 인스턴스(아무거나) -> IP복사
MobaXterm 인스턴스 접속 -> 엘라스틱빈스톡의 username은 ec2-user 입니다!

Current 폴더

current 파일 내부에 우리가전송한파일들이 저장 되어있습니다.

cd /var
cd app
cd current
cat Procfile

sbin 폴더 (자동 환경변수 등록됨)

cd /sbin
ls | grep appstart
cat appstart


전부 잘 등록되었습니다.

로그 저장 위치

cd /var
cd log
ls -al
sudo vi springapp.stdout.log

로그가 잘 남은것을 확인하였습니다!!

고정 IP 할당

ALB(Application Load Balancer)는 고정 IP를 지원하지 않기에 서비스를 하기에 적합하지 않습니다.
그래서 NLB(Network Load Balancer)를 ALB 앞단에 두어 탄력적IP를 할당 후 모든 클라이언트 요청을 NLB로 받겠습니다.

profile
배우고, 생각하고, 행동해라

0개의 댓글