Infra

Infra

[INFRA] 개인 프로젝트 INFRA, CI/CD 구축기 - (3) AWS ECS 구성하기

위와 같은 인프라 아키텍쳐를 구성하기 위해서 이번에 AWS ECS를 구성해보도록 하겠습니다. 구성하기 전에, AWS ECS를 간략하게 살펴보고 구성해보도록 하겠습니다! 1. AWS ECS란? AWS ECS는 Elastic Container Service로, AWS 공식문서에서는 다음과 같이 설명되어 있습니다. Amazon Elastic Container Service(Amazon ECS)는 컨테이너화된 애플리케이션을 쉽게 배포, 관리, 스케일링할 수 있도록 도와주는 완전 관리형 컨테이너 오케스트레이션 서비스입니다. ECS를 컨테이너 오케스트레이션 서비스로 소개하고 있습니다. 따라서, ECS를 구성하기 위해서는 컨테이너 환경(Docker)을 이해하고 애플리케이션을 컨테이너 환경에서 구성해야 합니다. ECS..

Infra

[INFRA] 개인 프로젝트 INFRA, CI/CD 구축기 - (2) 인프라 아키텍쳐 수정

이전 글에서 INFRA 아키텍쳐, CI/CD 초반 설계를 완성했었습니다. 해당 설계대로 인프라, CI/CD 환경을 구성하던 중에 조금 의문이 생겼고 그 의문을 풀다보니 인프라 아키텍쳐를 수정하게 되었습니다. 그 과정을 한번 포스팅 해보겠습니다! 1. 인프라 아키텍쳐 수정 계기 이전에 인프라 환경을 다음과 같이 구성했었습니다. 해당 인프라 환경을 바탕으로, CI/CD를 다음과 같은 설계 기반으로 진행하려고 했습니다. 처음에 이렇게 단순하게 설계를 하고, 젠킨스에서 Docker Hub에 이미지를 push하는 과정까지 작업을 마무리했었습니다. 그 다음 작업을 진행할 때 한가지 의문이 들었습니다. 'EC2가 Scale-out으로 여러 대 있는데 여러 WAS EC2에 어떻게 최신화된 도커 이미지를 배포하지?' 떠..

Infra/Docker

[Docker] Docker in Docker, 도커 안에서 도커 사용하기

0. 들어가기 전 개인 프로젝트의 CI/CD를 구성하는 도중에, 처음 접해보는 상황이 생겼었습니다. 바로, 도커 컨테이너 내부에서 도커를 사용해야 하는 상황이었습니다. 구글링을 진행해보니 이러한 상황은 Docker in Docker라는 기술로 불리고 있었습니다. 따라서, 적용한 Docker in Docker와 트러블 슈팅을 진행한 경험을 포스팅해보겠습니다. 1. Docker in Docker 필요 상황 도커 컨테이너 내부에서 왜 도커를 실행해야 하는 상황이 발생했는지 먼저 살펴보겠습니다. 저는 CD 툴로 Jenkins를 사용하고 있습니다. 이때, Jenkins도 하나의 도커 컨테이너 내부에서 실행되고 있습니다. 이 상황에서, Jenkins의 CD 파이프라인 일부는 다음과 같았습니다. stage('push..

Infra

[INFRA] 개인 프로젝트 INFRA, CI/CD 구축기 - (1) 초기 설계

이전 프로젝트에서의 인프라 및 CI/CD를 구성할 때 최우선적으로 고려했던 점은 ‘과연 우리 프로젝트에 이 기술이 필요할까?’ 였습니다. 이에 따라 주어진 환경 내에서 최소한의 자원만을 사용하여 인프라 환경을 구축했었습니다. 이번에는 개인 토이 프로젝트를 진행하면서 이전에 사용하지 못했던 기술들을 사용하는 것을 목표로 이전에 사용하지 않았던 Docker, Jenkins, AWS ALB를 사용하며 인프라, CI/CD 환경을 구축해보려고 합니다. 프로젝트의 규모가 작고 거의 처음 경험하는 기술 위주로 설계한 초보 개발자의 개인 토이 프로젝트인 점을 참고해주시면 감사하겠습니다! 😃 (설계는 인프라 구축 단계에서 시행착오를 거치며 꾸준히 변경될 수 있습니다! ㅎ__ㅎ...) 1. INFRA 설계 🚀 완성한 IN..

Infra/Docker

[Docker] EC2 환경에서 Docker에 Spring Boot WAS 띄우기 with Docker Hub

개인 프로젝트에서 EC2 환경에서 Docker에 Spring Boot를 설치할 일이 생겼습니다. 다음에도 WAS를 띄우는 과정을 구글링해서 찾아볼 것 같아서 기록용으로 기록해보고자 합니다! 설치 과정은 도커가 설치되어 있는 EC2 Linux 환경과 Docker Hub 계정이 있는 환경으로 진행되었습니다. 전체 과정을 요약하면 다음과 같습니다. Spring Boot Dockerfile 생성 Docker Image 생성 Docker Image를 Docker Hub에 업로드 EC2에서 Docker Hub에 업로드한 Docker Image 다운로드 받아서 WAS 실행 1. Spring Boot Dockerfile 생성 Docker Image를 생성하기 위한 Dockerfile을 생성합니다. 한번 이미지를 만들고..

Infra/Docker

[Docker] EC2 환경에서 Docker에 Redis 설치 후 실행하기

개인 프로젝트에서 EC2 환경에서 Docker에 Redis를 설치할 일이 생겼습니다. 다음에도 설치 과정을 구글링해서 찾아볼 것 같아서 기록용으로 기록해보고자 합니다! 설치 과정은 도커가 설치되어 있는 EC2 Linux 환경으로 진행되었습니다. 1. 도커에 Redis 설치 기본적으로 도커 자체에 Redis를 설치하는 것은 간단합니다. 1-1. Docker Redis Image 다운로드 $ docker pull redis 1-2. 다운로드 된 Docker Image 확인 $ docker images 2. Redis 추가 설정 추가 Redis 설정 부분을 설정해봅시다. 2-1. Docker Volume 설정 Redis는 in-memory 기반 저장소이기 때문에 Docker Container 내에서 실행 시 ..

Infra/AWS

[AWS] EC2 인스턴스 생성 및 SSH 접속하기 (프리티어 기준)

프로젝트를 시작할 때마다, EC2 인스턴스를 생성하곤 했었다. 그때마다 매번 구글링해서 EC2 인스턴스를 생성했었는데, 매번 구글링해서 보는 것이 불편했었다. 그래서 여러 블로그를 참고하여 따로 내 블로그에 기록을 해둬서 EC2 생성이 필요할 때 보는 용도로 작성할 것이다! 용어나 개념 등은 다른 블로그에 잘 나와 있으므로, 절차 중심으로 기록하려고 한다! 🎯 EC2 인스턴스 생성하기 ✅ 1. 인스턴스 시작 버튼 클릭 ✅ 2. 인스턴스 설정 📕 2-1. 인스턴스 이름 설정 EC2 인스턴스 이름을 설정해준다. 📕 2-2. 애플리케이션 및 OS 이미지(Amazon Machine Image, AMI) 선택 Linux, Ubuntu 같은 OS를 선택하고, 해당 OS에 맞는 AMI를 선택한다. 📕 2-3. 인스턴..

BE_성하
'Infra' 카테고리의 글 목록