본문 바로가기

분류 전체보기12

AWS 컨테이너 서비스 3-Tier 구성 w/Terraform & CI/CD 파이프라인 구성하기 - (1) 개요 및 상세 아키텍쳐 개요AWS 환경의 대표적인 컨테이너 서비스인 ECS와 EKS 기반의 3 -Tier 아키텍쳐를 구축하고 CI/CD 자동화 파이프라인을 구성해 각 환경을 비교해볼 예정이다.공통 구성요소Terraform 활용 IaC 기반 인프라 구성Spring Boot 애플리케이션은 JAR + Docker 방식으로 패키징내장 tomcat을 사용해서 별도의 WAS 없이 자체적으로 구동된다.CI/CD는 GitHub Actions, Jenkins, ArgoCD, CodeDeploy 등 상황에 맞게 구성Github 레파지토리 : 백엔드, 프론트엔드 프로젝트 및 Terraform 코드 저장소로 활용NAT : 프라이빗 서브넷에 위치한 리소스가 인터넷 접근이 필요할 때의 경로 상세 아키텍쳐1. AWS ECS + Fargate 기반 3-T.. 2025. 5. 30.
Ubuntu 22.04에서 awscli 설치 관련 이슈 문제상황ubuntu에서 awscli 설치하려고 하니 다음과 같은 에러가 발생했다.Ubuntu 22.04에서는 awscli가 apt 패키지로 제공되지 않는다.→ Ubuntu 24.04용 패키지(noble)는 제공되지 않는다는 의미“Candidate 없음” → 설치할 수 있는 버전이 없다는 것해결 방안pipx로 설치하기→ Ubuntu는 시스템의 Python 환경을 보호하기 위해 pip로 직접 시스템 전역에 설치하는 걸 금지하기때문에 pip보다는 pipx 권장됨# 파이썬 설치sudo apt update && sudo apt install python3.12-venv# 가상환경 디렉토리 생성 및 가상환경 활성화python3 -m venv venv && source venv/bin/activatepip insta.. 2025. 4. 15.
EC2에서 OpenVPN 서버 Docker container로 구축하기 OpenVPNOpenVPN은 가상 네트워크 인터페이스(TUN/TAP) 를 생성하여 사용자의 트래픽을 VPN 서버로 우회시키는 방식으로 작동한다.UDP 1194 포트를 기본 사용 (포트 변경 가능)클라이언트는 .ovpn 설정 파일을 통해 서버와 TLS 기반으로 통신사설망 자원(RDS, EC2 등)에 안전하게 접근 가능이전에는 AWS Marketplace에서 제공하는 OpenVPN 솔루션을 사용했지만, 사용자 수에 제한이 있고 새로운 방식으로 시도해보고자 이번에는 Docker 기반으로 구성했다.다만 ovpn 파일을 직접 관리해야 한다는 점에서 보안상 취약하다는 단점이 존재한다.하지만 현재 상황은.. 소수의 인원이 단기간 사용하는 목적이고 일정 기간 이후에는 VPN 서버를 삭제할 계획이기 때문에 나쁘지 않은 .. 2025. 4. 7.
EC2 Instance Connect Endpoint(EIC Endpoint)로 VSCode에서 원격 접속하기 AWS EC2 Instance Connect Endpoint를 사용하면 퍼블릭 IP 없이도 SSH 접속이 가능하며, IAM을 이용해 접속을 제어할 수 있다.하지만 일반적인 SSH 클라이언트(예: VS Code Remote-SSH)와는 호환되지 않아 추가적인 설정이 필요하다.따라서 EC2 내부에서 직접 SSH 키를 생성하여 로컬에서 SSH 접속을 위한 인증 수단으로 사용해야 한다.그러면 드는 의문은..EIC Endpoint를 사용하는 이유가 SSH 키 관리를 안 하려고 하는 건데, 결국 SSH 키를 직접 생성해서 관리해야 한다면 의미가 있는가? 라는 생각이 들게 된다.그래서 "EIC Endpoint를 사용하면서 SSH 키 관리 부담 줄이기”를 위해 찾아보니 다음과 같은 방법이 있었다.SSH 키를 AWS S.. 2025. 3. 20.
OpenVPN을 통해 Private Subnet에 위치한 RDS 접근하기 구축 배경현재 운영하고 있는 서비스의 운영기획팀에서 로컬 환경에서 RDS에 접근해 csv 형태로 추출할 수 있게끔 요청하였다.처음에는 Lambda + API Gateway를 활용한 방식도 고려했으나 빠르게 진행됐으면 좋겠다는 요구가 있었고, 이에 VPN을 활용해 보안과 효율성을 고려한 방식을 선택하였다.AWS 환경에서 서버를 구축 중이라 AWS 관리형 VPN 서비스인 ClientVPN도 고려했으나 비용절감을 위해 오픈소스로 제공되는 OpenVPN을 선택하였다.VPN을 사용하는 사람이 1~2명 정도로 예상되었기 때문에 작은 인프라로도 충분하다고 판단하여 AWS Marketplace에서 제공하는 무료 버전의 OpenVPN 템플릿을 활용해 가장 작은 사이즈의 인스턴스 (t3.micro)로 구축하였다.(Open.. 2025. 3. 3.
RHCSA 정리 (5) - SELinux, Storage, NFS, Samba SELinux (Security-Enhanced Linux)리눅스의 보안 정책을 강화하기 위해 추가된 보안 모듈기본적인 파일 권한(chmod, chown)과 달리, 프로세스 네트워크 파일 등에 대한 세밀한 접근 제어를 가능하게 한다.즉, 추가적인 보안 정책을 적용해 루트 사용자도 무작정 접근하지 못하도록 차단한다.SELinux가 없으면root 권한이 있는 사용자는 모든 파일과 시스템 설정을 변경할 수 있다.특정 프로세스(Apache, Nginx 등)가 서버의 다른 중요한 파일을 건드릴 수 있다.SELinux가 있으면root라도 보안 정책에 의해 차단될 수 있다.서버가 해킹당해도 제한된 영역에서만 활동 가능하다.주요 특징Madatory Access Control (MAC, 강제 접근 제어)파일/프로세스/네.. 2025. 2. 27.