Architecting on AWS 3일차

Hyun·2025년 7월 6일

Module 9 컨테이너

  • 모놀리식 아키텍처와 마이크로 서비스 아키텍처의 비교
    • 모놀리식 아키텍처 : 하나의 애프릴케이션 안에 모든 기능이 긴밀하게 연결되어 있다. 한 기능에서 에러 발생시 다른 부분에 영향을 미치기 쉽고 서비스 전반적인 부분에 에러가 생길 수도 있다.
    • 마이크로 서비스 : 각 기능을 독립적인 작은 서비스 단위로 나누어 느슨하게 연결 되어있다. 특정 서비스에 문제가 생겨도 다른 서비스에 미치는 영향이 최소화되어 있다.
  • 마이크로 서비스의 등장배경 : 개발팀과 운영팀을 합쳐 빠르고 안정적인 서비스 제공을 목표로 하는 DevOps 문화가 정착하는 과정에서, 이를 기술적으로 뒷받침하기 위한 CI/CD 파이프라인과 IaC가 발전하게되었따. 또한 이러한 자동화된 개발/배포 환경에 장점을 활용하기 위한 적합한 아키텍처 스타일인 마이크로서비스가 함께 부상하게 되었다.

컨테이너

  • 애플리케이션의 코드와 런타임 엔진, 구성 및 종속성을 하나의 표준화 이미지로 패키징화
  • 시스템의 운영체제 커널을 공유, Docker와 같은 플랫폼을 통한 실행 관리
  • 반복 가능, 독립적 환경, VM보다 더 빠른 애플리케이션 가동 속도, 이식성

AWS에서 컨테이너 실행을 위한 서비스

  • 레지스트리 : 컨테이너 이미지를 리포지토리에 Push 저장, 이미지를 Pull하여 컨테이너 배포
  • 컨테이너 호스팅 : 컨테이너를 실행하는 기반 컴퓨팅 리소스, 컨테이너 시작 유형
  • 오케스트레이션 도구 : 컨테이너 애플리케이션의 용량 조정, 네트워킹 및 유지 관리 작업 수행

Amazon ECS & Amazon EKS

  • 실제 현업에서는 수십개 및 수백 개의 컨테이너 들이 존재하기 때문에 이를 개별적으로 관리하는 것이 매우 어렵다. 컨테이너들을 관리하기 위한 도구가 AWS에서는 ECS와 EKS가 존재한다.

Amazon ECS(Elastic Container Service)

  • 컨테이너 구축 및 배포 경험이 없는 사람도 손쉽게 컨테이너 배포 및 운영 가능하다.

Amazon EKS(Elastic Kubernetes Service)

  • 오픈소스 생태계 도구에 익숙한 분, k8s(Kubernetes) 명령어 및 관리 기반 대규모 운영이 가능하다.
  • k8s controlplane : eks에서는 aws manages
  • k8s dataplane(k8s worknode) : 실제 컨테이너들이 배포되는 공간

Module 10 네트워킹 2

VPC 엔드포인트

  • VPC 리스소와 AWS 서비스 엔드포인트와의 연결을 프라이빗 상태로 유지한다.
  • 기존에는 리전 레벌의 서비스들(S3, DynamoDB 등)과 API를 주고 받기 위해서는 인터넷 게이트웨이와 NAT 게이트웨이를 통해서야만 했다. 인터넷을 통해서 통신을 하게 되는 경우 데이터 탈취나 외부 공격에 대한 보안 문제도 발생할 수 있기 때문에 VPC 내부 리소스와 직접적으로 연결시키고자 할 때 사용하는 도구가 VPC 엔드포인트이다.

Gateway Endpoint

  • S3, DDB 대상으로 추가 비용 없이 사용할 수 있는 가상 라우터

Interface Endpoint

  • AWS 서비스 대상으로 생성되는 ENI 그리고 프라이빗 링크

VPC 피어링

  • VPC 간에 1:1로 연결하여 트래픽을 프라이빗으로 라우팅
  • 리전 내, 리전 간 피어링 그리고 교차 계정 피어링을 지원한다. 주의할 점은 CIDR 주소 체계(사설 IP 주소)가 동일하면 연결할 수 없다.

Site-to-Site VPN

  • VPC의 가상 프라이빗 게이트웨이(VGW)와 온프레미스 네트워크 디바이스 간의 VPN 연결 ex) 웹서버와 백엔드 서버는 aws 서비스를 사용하고, DB 서버를 온프레미스 서버에 두었을 때

AWS Direct Connect

  • 데이터 센터에서 AWS 리소스까지의 프라이빗 광 연결 기반 링크 구축
  • 물리적인 연결 : dedicated connected(고객 라우터와 AWS 라우터의 물리적인 연결을 수행 시키는 것), hosted connection(만약 고객 라우터와 AWS 라우터와 물리적인 연결이 어려울 시 파트너사의 라우터를 이용해 물리적 연결을 수행)
  • 논리적인 연결 : public virtual interface, private virtual interface

Transit Gateway

  • 단일 게이트웨이가 허브의 역할, 여러 VPC와 온프레미스(VPC, Direct Connect)를 연결
  • 리전 간의 transit gateway 피어링 연결이 가능하다.

Module 10 서버리스

서버리스의 서비스의 정의

  • AWS에서 서비스 제공에 필요한 인프라의 프로비저닝, 용량 조절, 보안, 고가용성을 직접 관리한다.
  • 사용자의 입장에서 기반 인프라가 보이지 않는다. 오직 애플리케이션 관련 작업에서 더 집중해서 수행하면 된다.
  • 컴퓨팅, API 프록시, 스토리지, 인증, 메시징, 오케스트레이션, 분석 등 서비스를 제공

API Gateway

  • 백엔드 서비스의 API 생성 및 배포 관리를 수행하는 관리형 서비스
  • 여러 마이크로 서비스의 통합 Frontend로 구성 가능
  • Rest ful, Http, WebSocket 프로토콜 지원, 서명을 통한 인증받은 클러이언트에만 접근 부여가 가능

Amazon SQS(Simple Queue Service)

  • 대기열 서비스로 애플리케이션 구성 요소 사이에 배치, 메시지 처리한 소비자가 메시지 삭제
  • 메시지 생산자와 소비자간 일대일 관계
  • 비동기식 느슨한 결합을 통해, 실패한 메시지 처리에 대한 내결함성 제공

Amazon SNS(Simple Notification Service)

  • 하나 주제의 여러 구독자 대상으로 메시지를 전송하는 서비스
  • 주제의 메시지 게시자와 구독자간 일대다 관계
  • 주제에 등록된 메시지는 바로 구독자에게 전송
  • 경보 알림, 푸쉬 알림, 이메일 전송의 용도로 사용된다.

Module 12 엣지 서비스

Route 53

  • DNS, 도메인 이름 등록 및 상태 확인 기능 제공
  • 지연시간, 상태 확인 및 여러 기준에 따라 요청을 라우팅
  • 리전 수준에서의 장애 조치 지원

Cloudfront

  • AWS 글로벌 인프라를 이용한 콘텐츠 전송 네트워크 서비스 제공
  • AWS WAF 및 Shield 지원
  • 정적 콘텐츠 캐싱 및 동적 콘텐츠에 대한 최적화 전송 기능 지원
  • 내장된 보안 기능 지원

AWS Shield

  • AWS에서 애플리케이션을 보호하는 관리형 DDoS 보호 서비스
  • Shield Standard(무료 구독 모델) : 인프라 계층의 DDoS를 보호하는 추가 비용 없이 이용 가능
  • Shield Advanced(유로 구독 모델) : EC2, ELB, Cloudfront, ROute 53 기반 애플리케이션의 DDoS 보호, 지원

AWS WAF(Web Application Firewall)

  • 일반적인 웹 공격 및 봇으로부터 웹 애플리케이션 API를 보호하는 데 도움이 되는 웹 방화벽
  • 웹 ACL은 여러 규칙들로 구성, AWS/마켓플레이스 관리형 규칙 그룹 또는 사용자 규칙을 추가
  • 트래픽 필터링 (CIDR, 국가별), 패턴 일치 (정규식, 문자열, 크기), 논리 연산 (AND,OR,NOT)

AWS Outposts

  • 사무실 또는 데이터센터에 온프레미스에 AWS 서비스를 호스트
  • AWS Outposts 랙 또는 1U/2U 크기 Outposts 서버 중에서 선택
profile
DevSecOps & Cloud Engineer를 꿈꾸는 엔지니어

0개의 댓글