목차
Github Actions를 사용해서 지속적 통합(CI)과 배포(CD)에 대한 내용 정리
특이점이 없다면 글보다는 이미지로...
AWS IAM 사용자 생성
AWS 리소스에 대한 엑세스를 위한 보안 자격 증명을 관리하는 데 사용
권한 정책 검색하여 3가지 체크
AmazonEC2FullAccess
AmazonS3FullAccess
AmazonCodeDeployFullAccess
권한 추가된 내용 확인하고 사용자 생성
csv 파일 다운로드
엑세스 키 발급
엑세스 키 csv 파일 다운로드 (Github Repository Secrets에 사용)
AWS S3 생성
객체 스토리지 서비스
Github Actions에서 zip파일로 S3에 업로드한 후 EC2로 배포
AWS IAM 역할 생성
총 2가지 역할 생성
EC2 역할
검색하여 2가지 권한 체크
AmazonS3FullAccess
AWSCodeDeployFullAccess
애플리케이션 그룹 역할
AWS EC2 생성, 역할 수정
프리 티어 Ubuntu Server 20.04로 선택
키 페어 다운로드 후 안전하게 보관(SSH 접속에 사용)
드롭다운 메뉴에서 AWS IAM에서 생성한 역할 선택
AWS CodeDeploy 생성
실제 배포를 담당
AWS EC2 접속 후 세팅
EC2 서비스로 이동하여 생성한 인스턴스 선택 후 연결
접속 후 ubuntu server에서 커맨드 진행
# 디렉토리 생성
mkdir /home/ubuntu/app
# 시스템의 패키지 리스트를 최신 상태로 업데이트
sudo apt update
# 전체 버전의 Ruby를 설치
sudo apt install ruby-full
# 파일을 다운로드하는 데 사용되는 wget 패키지를 설치
sudo apt install wget
# 패키지 리스트를 최신 상태로 업데이트
sudo apt-get update
# 네트워크 관련 도구를 설치
sudo apt-get install net-tools
# AWS CLI를 설치
sudo apt install awscli
# AWS CodeDeploy 에이전트 설치 스크립트를 S3 버킷에서 다운로드
aws s3 cp s3://aws-codedeploy-ap-northeast-2/latest/install . --region ap-northeast-2
# 다운로드한 스크립트 파일에 실행 권한을 부여
chmod +x ./install
# 다운로드한 설치 스크립트를 실행하여 AWS CodeDeploy 에이전트를 자동으로 설치
sudo ./install auto
# CodeDeploy 에이전트 서비스의 상태를 확인
sudo service codedeploy-agent status
# OpenJDK 17 JDK를 설치
sudo apt-get install openjdk-17-jdk
# 설치된 Java 버전을 확인
java -version
# MySQL 데이터베이스 서버를 설치
sudo apt install mysql-server
# MySQL 서버에 루트 사용자로 접속
sudo mysql -u root
# 새로운 사용자 생성
CREATE USER 'new-user'@'%' IDENTIFIED BY 'new-password';
# 새로운 사용자에게 모든 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'new-user'@'%' WITH GRANT OPTION;
# 권한 변경 사항을 즉시 적용
FLUSH PRIVILEGES;
# MySQL 서버에서 로그아웃
EXIT;
# MySQL 설정 파일이 있는 디렉토리로 이동
cd /etc/mysql/mysql.conf.d
# MySQL 설정 파일 편집
sudo vim mysqld.cnf
vim 편집방법
- 편집모드로 전환 : i
- port 3306 주석 해제, bind-address = 0.0.0.0으로 수정
- 편집종료 : Esc
- 저장하고 나가기 : ZZ (Shift+z 두 번)
# MySQL 서비스 재시작
sudo service mysql restart
# MySQL 서비스 상태 확인
sudo systemctl status mysql
# MySQL 포트(기본 포트는 3306)를 확인하여 MySQL이 제대로 실행되고 있는지 확인
sudo netstat -tuln | grep 3306
여기까지 AWS 준비완료
'프로그래밍 > SpringBoot' 카테고리의 다른 글
[AWS EC2] MySQL 설치 (0) | 2024.06.18 |
---|---|
Github Actions + AWS CI/CD (3) (0) | 2024.03.08 |
Github Actions + AWS CI/CD (2) (0) | 2024.03.08 |