본문 바로가기
728x90
반응형

Skills/DevOps7

#4(최종) AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - 설정 파일 작동 원리 설정 파일 작동 원리 Elastic Beanstalk은 배포 파일을 전달 받으면, 각종 설정 파일들을 실행하고 나서, 애플리케이션 실행 단계를 거치게 된다. 이때, Elastic Beanstalk이 배포 애플리케이션을 실행한다는 것의 의미는, Procfile 파일을 실행하는 것이다. 그래서 Procfile 안에는 .ebextensions 파일에 /sbin/appstart 스크립트를 실행하는 코드만이 담겨져 있다. * Procfile springapp: appstart * .ebextensions/00-makeFiles.config files: "/sbin/appstart": mode: "000755" owner: webapp group: webapp content: | #!/usr/bin/env bash.. 2023. 5. 23.
#3 AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - deploy.yml Elastic Beanstalk에 접근하기 위해서는, * Elastic Beanstalk 콘솔 * AWS Command Line Interface(AWS CLI) * EB CLI 를 사용할 수 있다. 그러나 Github Actions 플러그인 Beanstalk Deploy를 사용할 경우, 배포 코드만 작성해 주면 사용할 수 있다는 장점이 있으므로, deploy,yml 파일을 작성해서 사용하도록 할 것이다. * Beanstalk Deploy 문서 https://github.com/marketplace/actions/beanstalk-deploy Beanstalk Deploy - GitHub Marketplace Deploy a zip file to AWS Elastic Beanstalk github.com.. 2023. 5. 23.
#0 AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - 배포 프로세스 Github Github Repository Main 브랜치에 Push. Github Actions Github Actions는 deploy.yml 파일을 읽고, 배포환경과 같은 환경을 가진 테스트 서버에서 Build한다. Build가 성공한다면, JAR 파일이 만들어질 것이다. AWS S3 CI툴을 이용하여 Build가 성공한다면, Github Actions는 미리 만들고 설정해준 IAM 권한을 통해, AWS CLI(Command Line Interface)를 사용하여 S3 버킷에 JAR파일을 업로드한다. S3 버킷의 객체 URL을 기반으로 Elastic Beastalk 배포가 수행될 것이다. AWS Elastic Beanstalk Elastic Beanstalk 환경 설정 Elastic Beansta.. 2023. 5. 22.
#2 AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - Procfile, .ebextensions Procfile 웹 애플리케이션을 실행하기 위한 명령어를 정의하는 파일. Procfile은 프로세스 형식으로 작성한다. : 실행하려는 프로세스의 유형. 해당 프로세스를 실행하기 위한 명령어. 장점: 애플리케이션의 각 프로세스를 독립적으로 관리, 실행이 가능하다. * Procfile은 애플리케이션의 루트 디렉토리에 위치해야 한다. Procfile 코드: springapp: appstart .ebextensions https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/ebextensions.html 구성 파일(.ebextensions)을 사용하여 고급 환경 사용자 지정 - AWS Elastic Beanstalk 새 구성 파일을 개발하거나 테스트할 때 기.. 2023. 5. 22.
가상화, 가상머신(Virtual Machine)과 컨테이너(Container) 비교 가상화가 나오게 된 배경 과거에는 하드웨어의 빠른 발전에 비해서 소프트웨어의 발전은 속도가 뎌딘 편이었다. 또한 과거의 프로그래밍에서는 하나의 애플리케이션은 하나의 서버에서 구동되는 방식이었는데, 하드웨어의 성능이 점점 좋아질수록 자원 사용률은 점점 낮아지게 된다. 하드웨어와 소프트웨어의 괴리 + 구조적인 문제로 인해 Single Server는 많은 단점이 존재하게 되었다. (1) 리소스 활용도 첫 번째로 서버의 전체 자원을 애플리케이션에 효율적으로 할당하기 어려웠다. 애플리케이션에 필요한 자원보다 서버의 자원이 많은 경우, 남는 자원이 낭비되고, 반대로 애플리케이션에 필요한 자원이 더 많은 경우, 성능이 저하된다. (2) 확장성 애플리케이션에 대한 요청이 증가하면 서버의 리소스가 더 많이 필요해진다. .. 2023. 5. 16.
#1 AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - RDS, Elastic Beanstalk, IAM, Github Actions RDS 생성 maria db를 선택. 프리티어를 선택해주자. 사용자 이름과 암호를 설정해주자. 퍼블릭 액세스를 허용해주어야지, 접근이 가능해진다. 데이터베이스 생성. Elastic Beanstalk 생성 애플리케이션 이름을 만들어준다. 플랫폼은 자바로 선택해준다. 프리셋은 사용자 지정 구성으로. 기존 서비스 역할과 EC2 인스턴스 프로파일, 키페어 선택. 기존 서비스 역할과 EC2 인스턴스 프로파일은 없다면 만들어 주어야 한다. VPC 선택. 활성화 클릭, 전체 선택. 보안그룹 선택. 블루-그린 배포를 위해 최소 2개, 최대 4개를 설정해준다. 변경 불가로 설정. 시스템 환경 변수를 설정해주자. 검토가 잘 되었는지 보고 제출하면 완료. IAM 사용자 생성 사용자 이름을 만들어준다. 직접 정책 연결, 권한.. 2023. 5. 16.
728x90
반응형