Dev/AWS

Dev/AWS

[AWS] EC2 + CodeDeploy + S3 + GithubActions 조합으로 자동화배포 구축하기 - (3) GithubActions 연동

종강하고 작성하러 온 마지막 글... 아래는 이전에 작성한 EC2, CodeDeploy, S3 생성 및 세팅 글입니다. (1) EC2 인스턴스 생성 및 세팅(2) CodeDeploy 및 S3 세팅  GithubActions 연동에 들어가기 전 준비물!!!!!첫 번째 글에서 발급받은 사용자 액세스 키와 시크릿 키프로젝트 데이터베이스 스키마의 권한을 얻은 계정의 아이디와 비밀번호AWS S3 버킷 이름AWS CodeDeploy 애플리케이션 이름AWS CodeDeploy 애플리케이션 그룹 이름AWS EC2 인스턴스 이름위에 있는 것들을 미리 준비해 두면 스크립트를 작성할 때 수월합니다.     1. 프로젝트에 deploy.yml 파일 생성우선 프로젝트 최상단에 .github 폴더를 만들고 그 안에 workflo..

Dev/AWS

[AWS] EC2 + CodeDeploy + S3 + GithubActions 조합으로 자동화배포 구축하기 - (2) CodeDeploy 및 S3 세팅

[AWS] EC2 + CodeDeploy + S3 + GithubActions 조합으로 자동화배포 구축하기 - (1) EC2 인스턴스 생성 및 세팅 해당 글은 2024년 4월 11일에 생성된 인스턴스를 기준으로 작성되었습니다. (Ubuntu 22.04로 만들었지만 20.04로 만들어도 문제없습니다! 직접 만들어서 확인해 봤습니다.) 💡 프로젝트 기술스택 : Sprin yooooooni.tistory.com 이전 글에서 EC2 인스턴스 생성 및 우분투 환경 세팅 과정을 확인할 수 있습니다. 1. CodeDeploy 애플리케이션 및 배포 그룹 생성 본격적으로 애플리케이션을 생성하기 전에 역할을 하나 더 만들어줄 겁니다. IAM > 역할 > 역할 생성으로 들어갑니다. 위처럼 AWS 서비스, CodeDeploy..

Dev/AWS

[AWS] EC2 + CodeDeploy + S3 + GithubActions 조합으로 자동화배포 구축하기 - (1) EC2 인스턴스 생성 및 세팅

해당 글은 2024년 4월 11일에 생성된 인스턴스를 기준으로 작성되었습니다. (Ubuntu 22.04로 만들었지만 20.04로 만들어도 문제없습니다! 직접 만들어서 확인해 봤습니다.) 💡 프로젝트 기술스택 : SpringBoot + MySQL + JDK 17 1. EC2 인스턴스 만들기 AWS에 로그인한 후 EC2를 클릭하여 인스턴스를 시작합니다. 인스턴스의 이름을 작성하고 AMI를 선택합니다. 저는 우분투 22.04로 만들었지만, 20.04로 만들어도 괜찮습니다. 다음으로 키 페어를 만들어줍니다. 저는 기존의 키 페어를 사용했지만, 처음 만드시는 분들은 만들어 주셔야 합니다. 만드는 방법은 바로 아래에 나와있습니다. 새 키 페어 생성 버튼을 누른 후 키 페어 이름과 RSA를 선택한 뒤 생성합니다. 네..

Dev/AWS

[AWS] io.awspring 라이브러리를 활용하여 SpringBoot & Amazon S3 연동하기

io.awspring 라이브러리를 활용하면 S3를 더 간결한 코드로 연동할 수 있다는 것을 알게 되었다. 이번 글에서는 기존 S3 연동 코드를 지우고 새롭게 연동하는 과정을 정리하고자 한다. 간단하게 말하면 흔히 사용하는import com.amazonaws.auth.AWSStaticCredentialsProvider;import com.amazonaws.auth.BasicAWSCredentials;import com.amazonaws.services.s3.AmazonS3;import com.amazonaws.services.s3.AmazonS3ClientBuilder;이 네 개의 라이브러리 대신import io.awspring.cloud.s3.S3Resource;import io.awspring.clou..

Dev/AWS

[AWS] CodeDeploy의 scripts/deploy.sh를 제대로 작성해보자

앞 게시글을 보면 나의 배포 일기를 확인할 수 있다. https://yooooooni.tistory.com/132 [AWS] EC2 배포 일주일 삽질 스토리 (feat. 환경변수) 약 2주간의 삽질이 방금 끝났다.. 끝이 안 보이던 문제가 해결되니까 허무하고 어이없고 홀가분하다..! 지난 일주일간 있었던 일을 적어보자면 1. 탄력적 IP 부여해 줘도 접속 안 됨 인바운드 규칙 yooooooni.tistory.com 하지만 위 해결 방안은 jar을 직접 실행하는 방식이었기 때문에 자동화를 적용하지 못했다. 당시 상황은 EC2 우분투 환경으로 들어가 git ssh 클론을 받아 직접 jar을 실행했다. 나는 CodeDeploy를 이용하여 nohup 명령어를 통해 백그라운드 자동화 배포를 하고 싶었다. 그럼 ..

Dev/AWS

[AWS] EC2 배포 일주일 삽질 스토리 (feat. 환경변수)

개발자들이 낭만이라고도 생각하는 '눈물 젖은 커피와 함께 며칠간 밤을 새우며 오류를 잡으려고 애쓰다가 전혀 생각지도 못했던 곳에서 간신히 찾아낸 작은 버그 하나의 추억'이라는 건, 사실 '진작에 충분한 테스트를 했었다면 쉽게 찾아냈을 것을 미루고 미루다 결국 커다란 삽질로 만들어버린 어리석은 기억'일 뿐이다.- 토비의 스프링  약 일주일 간의 고생이 방금 끝났다.. 끝이 안 보이던 문제가 해결되니까 허무하면서도 뿌듯하다..! 지난 일주일간 있었던 일을 적어보자면  1. 탄력적 IP 부여해 줘도 접속 안 됨인바운드 규칙으로 Port 열고 인스턴스에 JDK를 설치해서 해결했다. 처음에는 apache2도 설치했다가, 웹서버를 왜 사용했지..? 라는 의문과 함께 apache2는 삭제했다. 사실 헤매다가 네트워크..

Dev/AWS

[AWS] CPU 사용률 급증으로 인한 EC2 무한 로딩 해결

요즘 많이 우울하다.. 서버를 배포하고 있는데 열어둔 포트로는 접속이 되지만 API 연결이 안 돼서 일주일 가까이 붙잡고 있다.. 어떤 이유로라든 해결이 됐으면 좋겠다. 지금 해보고 있는 해결 방안은 zip 파일 대신 jar 파일을 배포하는 것인데 이 과정에서 ssh 연결이 필요하다. git clone ssh를 한 후 ./gradlew build를 실행해 줬는데 10분이 넘게 끝나지 않길래 커맨드 C로 강제 종료해 줬다.. 근데 그 이후 ssh 접속이 되지 않았다. 사진상으로는 터미널에서 접속해 본 것이 끝이지만 터미널 외에 EC2 인스턴스에 직접 연결도 여러 번 했다. 근데도 무한 로딩이 걸렸다.. ssh 접속이 아예 거부당한 적은 많은데 접속이 되지 않고 무한 로딩이 걸린 것은 처음이라 당황스러웠다..

yo0oni
'Dev/AWS' 카테고리의 글 목록