전체 글 85

[TIL] (CI/CD) ④ GitHub Actions로 EC2 단일 컨테이너 자동 배포하기 (docker run)

실습을 하다가 중간에 compose를 통해 DB가 연동된상태로해서 compose 배포 자동화만 실습하여 단일 컨테이너 CI/CD 구축을 해보려한다. ▣ CI / CD 실습용 AWS 환경 만들기 1. AWS EC2 Public 인스턴스 만들기 이미 이전 실습 정리를 통해 자세히 작성했으니 간단하게 이미지만 기록 2. IAM 계정 만들기이전 실습과 동일 (미진행 이미지만 첨부) 3. EC2 인스턴스 도커 설치sudo yum update -y # 인스턴스 내 모든패키지 업데이트 (호환성용)sudo yum install docker -y # 도커 엔진 설치docker -v # 도커 설치 확인sudo service docker start # 도커 구동..

[TIL] (CI/CD) ③ GitHub Actions로 EC2 자동 배포하기 (docker-compose)

GitHub Actions로 구축한 CI 참고 [TIL] GitHub Actions로 Docker 이미지 빌드·배포 자동화하기CI / CD란CI (Continuous Integration, 지속적 통합) : 코드를 push 할 때마다 자동으로 빌드하고 테스트해서, 여러 사람의 코드가 합쳐져도 문제가 없는지 계속 확인하는 것CD (Continuous Delivery/Deployment, 지속soly-log.tistory.com GitHub Actions로 CD 구축하기 1. AWS에 GitHub Actions가 접근 할 수 있도록 IAM 계정 생성GitHub Actions가 EC2에 배포하려면 아래와 같은 이유로 두 가지 접근이 필요하여 IAM 사용자를 만들어서 발급 받은 엑세스키를 GitHub Scret..

[TIL] (CI/CD) ② Docker Hub 이미지 EC2에서 수동 배포하기 (docker run → compose)

[TIL] GitHub Actions로 Docker 이미지 빌드·배포 자동화하기CI / CD란CI (Continuous Integration, 지속적 통합) : 코드를 push 할 때마다 자동으로 빌드하고 테스트해서, 여러 사람의 코드가 합쳐져도 문제가 없는지 계속 확인하는 것CD (Continuous Delivery/Deployment, 지속soly-log.tistory.com 이전 작업에서 Docker Hub에 이미지를 만들어서 올려놨다. 해당 이미지를 EC2에 올려 실행시키는 실습 정리한다. 1. 실습을 위한 EC2 Public 인스턴스 생성 (참고 - https://soly-log.tistory.com/164)2. AWS 내 EC2 연결 3. EC2 내 인스턴스에 있는 모든 패키지 업데이트업데이트..

[TIL] (CI/CD) ① GitHub Actions로 Docker 이미지 빌드·푸시 자동화하기

CI / CD란CI (Continuous Integration, 지속적 통합) : 코드를 push 할 때마다 자동으로 빌드하고 테스트해서, 여러 사람의 코드가 합쳐져도 문제가 없는지 계속 확인하는 것CD (Continuous Delivery/Deployment, 지속적 제공/배포) : CI를 통과한 결과물을 자동으로 배포 가능한 상태로 만들거나(Delivery), 실제 서버까지 자동으로 배포하는 것(Deployment) ⊙ 이러한 CI / CD를 인간이 매번 하기 귀찮! 그래서 자동화 도구가 존재한다.JenkinsGitHub Actions -> 이번 글의 주체GitLab Runner ⊙ GitHub Actions로 테스트 -> 빌드 -> 이미지 배포 자동화하기 1. DockerHub에 계정을 만들어 이미..

[위클리페이퍼] 261012 AWS & Github Actions

Q. AWS RDS를 활용하는 주요 이점과 EC2에 직접 데이터베이스를 설치하여 운영하는 것과 비교했을 때의 차별점에 대해 설명해 주세요. 그리고 RDS를 사용하는 것이 적합하지 않을 수 있는 상황도 함께 언급해 주세요. RDS(Relational Database Service)란 AWS에서 제공하는 클라우드 기반 관리형 데이터베이스 서비스로 이를 통해 관계형 데이터베이스를 쉽게 설정, 운영 및 확장할 수 있다.RDS의 주요 이점완전관리형 서비스데이터베이스 설치, 운영체제 패치 등 다양한 설치, 업데이트를 AWS가 자동으로 처리한다.데이터베이스의 유지보수를 위한 별도의 인력이 필요하지 않다.자동 백업과 복구지정된 시간에 맞춰 자동으로 백업을 수행하며 운하는 시점(Point-in-Time Recovery)..

[TIL] (실습) Docker로 내가 만든 프로젝트 구동하기 (Dockerfile , docker-compose)

1. Docker가 무엇이기 때문에 사용하는 건가공식 문서에서는 Docker를 애플리케이션을 개발, 제공 및 실행하기 위한 개방형 플랫폼이라고 설명한다. 이 말만 봐서는 무슨 뜻인지 잘 와닿지 않는다. 문제상황애플리케이션을 개발할 때, 개발한 환경과 실제로 운영하는 환경이 다르면 문제가 생길 수 있다. 이런 문제가 생길 때마다 하나하나 체크해야 하는 상황이 발생한다.이러한 불편함을 Docker로 해결할 수 있다면?Docker는 실행 환경과 애플리케이션을 하나로 묶어서 실행한다. 실행 환경 + 애플리케이션을 묶은 패키지를 이미지라고 하고, 이 이미지를 실행해서 만든 것을 컨테이너라고 한다. 컴퓨터에서 실행하지 않은 상태를 프로그램, 실행한 상태를 프로세스라고 하는 것처럼! 프로그램 하나로 프로세스를 여러 ..

[TIL] 환경변수는 어디서 와서 어떻게 적용될까? (Java → Spring → Docker)

환경 변수란Environment Variable: 프로그램 코드를 직접 수정하지 않고, 외부에서 설정값(시스템 경로, 사용자 정보, 실행 모드 등)을 주입하거나 변경할 수 있게 해주는 값예시: PATH, JAVA_HOME, DB_PASSWORD범위(Scope)에 따라 나뉨시스템 환경변수: 그 컴퓨터의 모든 사용자에게 적용사용자 환경변수: 특정 사용자에게만 적용프로세스가 실행될 때 부모 프로세스(OS, 터미널 등)로부터 환경변수를 물려받음 자바에서 외부 설정을 꺼내는 방법종류설정방법받는 쪽값을 넣는 시점코드에서 꺼내는 방법OS 환경변수export DB_URL=....OS(프로세스가 물려받음)실행 전 (OS/ 터미널에서 미리 설정)System.getenv("DB_URL")자바 시스템 속성java -Durl=..

[TIL] Docker 네트워크

Docker 네트워크란 무엇인가Docker 컨테이너 간의 통신을 관리하고 격리하기 위한 기능을 제공하는 것으로 컨테이너화 된 애플리케이션은 여러개의 컨테이너로 구성될 수 있는데 이들 컨테이너가 서로 통신하고 데이터를 주고 받아야 할 경우가 있다. 이때 도커 네트워크를 통해 컨테이너간 통신을 쉽게 설정하고 관리할 수 있다. 즉 기본적으로 같은 호스트 내에서 실행중인 컨테이너 간 연결할 수 있도록 돕는 논리적 네트워크 개념이다. 1. Docker 네트워크 종류 Docker는 기본적으로 6개의 네트워크 드라이버를 제공한다. 대부분의 개발 환경은 bridge 네트워크를 주로 사용하고, 복잡한 환경에서는 overlay를 활용한다네트워크 확인 : docker network lsbridge기본 네트워크로 컨테이너 간..

[TIL] Local에서 Private Server SSH 터널링

♣ Private 인스턴스 Bastion을 통한 SSH Tunneling 구현 1. bastion을 경유해 private로 가는 터널 열기ssh -i [bastion-key-name].pem ec2-user@{bastion-host-public-ip} -L 33322:{target-private-ip}:22 -N명령어 설명ssh -i [bastion-key-name].pem Bastion 인스턴스에 연결되어있는 키페어로 ec2-user@{bastion-host-public-ip} bastion에 접속 (실제 SSH 접속 대상은 bastion)-L 33322:{target-private-ip}:22bastion인스턴스에게 부탁(?) 나의 PC 33322로 오는 요청은 private:22으로 전달해줘-N추..

[TIL] AWS 인스턴스 생성해보기2. (Private - Bastion/NAT로 In·Out 연결)

[TIL] AWS 인스턴스 생성해보기1. (Public)♣ Public 인스턴스(EC2)를 생성해 보자 1. VPC 생성하기 CIDR을 사용하여 사용할 IP 대역을 설정(/16으로 65,536개)실습을 위해 VPC만 생성되도록 적용 (VPC 등으로 하면 서브넷이랑 라우팅 테이블 같은 거soly-log.tistory.com ♣ Private 인스턴스 생성하기Public 인스턴스 만든 것과 전체적으로 동일하지만, 몇 가지 다른 점이 존재함Public IP 활성화 X → 외부에서 직접접근을 할 것이 아니기에 비활성화네트워크 설정 → Private 서브넷!으로 연결보안 그룹 → 신규로 만들 때 원본 입력창에 내가 만든 bastion-sg 입력 → bastion-sg 붙은 요청만 허락하겠다 의미 (즉, Basti..

카테고리 없음 2026.10.11
반응형