AWS CLF — Deployments & Global Infra


AWS CloudFormation

  • AWS 인프라를 코드로 관리하고 프로비저닝하기 위한 관리형 서비스
  • 사용자는 템플릿을 사용하여 AWS 리소스 생성, 업데이트, 삭제 등의 기능 수행 가능
  • 인프라 자원을 코드로 관리함으로써 작업을 자동화하고 재현 가능성을 향상시키며, AWS 리소스 간의 의존성을 관리
  • 템플릿을 업데이트하여 변경 사항을 적용하고, 필요한 경우 이전 상태로 롤백 가능
  • 인프라가 많고 복잡한 경우 관리를 위해 필수적으로 사용되는 서비스

AWS Cloud Development Kit (CDK)

  • AWS 인프라를 코드로 정의하고 프로비저닝하기 위한 오픈소스 프레임워크
  • JavaScript/TypeScript, Python, Java, .NET 등 개발자에게 친숙한 언어를 사용하여 스크립트 정의 가능
  • 앱 통합, 자동화, 코드 모듈화 및 재사용 등 프로그래밍적 이점을 누릴 수 있음
  • CDK로 작성된 코드는 AWS CloudFormation 템플릿으로 변환되어 배포되고 관리됨

AWS Elastic Beanstalk

  • 개발자가 애플리케이션을 손쉽게 배포하고 관리할 수 있도록 도와주는 PaaS 서비스
  • 애플리케이션 코드를 업로드하면 Elastic Beanstalk가 자동으로 배포, 운영, 확장을 관리
  • 개발자는 인프라의 구성 및 관리에 신경쓰지 않고 애플리케이션 개발에만 집중 가능
  • Beanstalk 서비스 자체는 무료지만 Beanstalk을 통해 배포되는 인프라들에 대해서는 과금
  • Java, .NET, PHP, Node.js, Python, Ruby 및 Docker와 같은 다양한 플랫폼을 지원
  • 서버 인스턴스의 프로비저닝, 로드 밸런싱, 스케일링, 모니터링 등을 자동으로 처리

Elastic Beanstalk vs. Lightsail 상세 비교표

구분 Lightsail (라이트세일) Elastic Beanstalk (EB)
핵심 개념 간편한 가상 서버 (Easy IaaS/VPS) 애플리케이션 자동 배포/관리 (PaaS)
관리의 초점 ‘서버’ 자체에 집중 ‘애플리케이션 코드’에 집중
사용자 책임 OS, 웹 서버, 애플리케이션 직접 설치 및 관리 코드만 업로드하면 나머지는 EB가 자동 구성
기반 기술 단순화된 EC2 인스턴스 EC2, S3, Auto Scaling, ELB 등 AWS 핵심 서비스들의 ‘자동 조율(Orchestration)’
확장성 수동 스케일업 (더 비싼 플랜으로 변경) 로드 밸런싱 및 Auto Scaling 완전 자동 지원
제어/유연성 낮음 (정해진 플랜만 사용) 높음 (기반이 되는 EC2, ELB 등을 직접 수정 가능)
가격 정책 월 고정 요금 (예측 가능) 종량제 (기반 리소스, 즉 실제 사용한 EC2, ELB 비용)

AWS Code Family (Deploy, Commit, Build, Pipeline, Artifact, Star)

  • 개발자가 애플리케이션을 구축, 배포 및 관리하는 데 도움을 주기 위해 설계된 서비스 제품군
  • 쉽고 빠르며 확장 가능한 애플리케이션을 개발하고 배포하기 위한 플랫폼을 제공
  • 인프라 관리를 AWS가 담당하므로 개발자는 코드 작성에 집중

AWS Code Family , AWS Elastic BeanStalk 차이 비교

구분 AWS Code Family (CodePipeline등) AWS Elastic Beanstalk
핵심 역할 CI/CD 파이프라인 구축 도구 모음 애플리케이션 배포 및 운영 자동화 플랫폼
관리의 초점 소프트웨어 배포 ‘과정’의 자동화 ‘애플리케이션’ 자체의 간편한 운영
제공 형태 개별 서비스(CodeCommit, CodeBuild 등)의 조합 하나의 통합된 서비스 (PaaS)
유연성/제어 매우 높음 (빌드,테스트,배포 각 단계를 세밀하게 제어) 낮음 (정해진 배포 전략을 따름, 단순함 추구)
사용자 DevOps 엔지니어, 복잡하고 커스텀된 배포 파이프라인이 필요한 경우 개발자, 인프라 걱정 없이 코드에만 집중하고 싶을 때

AWS CodeCommit

  • 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장성 높은 AWS 전용 Git 서비스
  • 안전한 클라우드 기반 리포지토리를 제공하여 개발자가 클라우드상에서 소스 코드 관리 가능

AWS CodeDeploy

  • 애플리케이션을 배포하는 서비스로, 코드 변경 사항을 서버 또는 인프라에 자동으로 배포함
  • EC2 인스턴스, 온프레미스 인스턴스, Lambda 함수, ECS 서비스 등으로 애플리케이션을 자동 배포

AWS CodeBuild

  • 빌드 및 테스트 환경을 관리하는 완전 관리형 빌드 서비스
  • 소스 코드를 컴파일하고 테스트하여 실행 가능한 소프트웨어 패키지를 생성

AWS CodePipeline

  • 지속적인 통합 및 지속적인 배포 (CI/CD) 서비스
  • 소프트웨어 변경 사항을 자동으로 테스트하고 배포하는 파이프라인을 구축

AWS CodeArtifact

  • 안전하고 확장성이 뛰어난 관리형 아티팩트(바이너리 파일, 라이브러리, 설정 파일 등) 리포지토리 서비스
  • 애플리케이션 개발을 위한 소프트웨어 패키지를 저장하고 공유

AWS Cloud9

  • AWS 클라우드 기반의 통합 개발 환경(IDE) 제공
  • 로컬 개발 환경을 설정할 필요 없이 웹 브라우저에서 바로 개발 작업 가능
  • 소프트웨어 개발 및 협업을 위한 환경을 구축하고, 코드를 작성, 편집, 디버깅이 가능
  • 실시간으로 다른 개발자들과 협업할 수 있는 기능을 제공하여 여러 개발자가 동시에 같은 코드를 편집하고 협업 가능
  • Lambda, Code Family 등 AWS 서비스들과 손쉽게 연동하여 소프트웨어 개발 가능
  • IAM(Identity and Access Management)을 사용하여 사용자 및 리소스에 대한 액세스를 제어

DNS 란?

  • DNS = Domain Name System
  • 호스트의 도메인 네임 (www.example.com)을 네트워크 주소 (192.168.1.0)로 변환하거나, 그 반대의 역할을 수행하는 시스템
  • www.naver.com의 주소 = 223.130.195.200

AWS Route53

  • AWS에서 관리하는 클라우드 기반 DNS 서비스
  • 다양한 도메인 확장자에 대한 도메인 등록을 지원하며, 편리한 관리 및 갱신 옵션을 제공
  • DNS 레코드를 생성, 수정, 관리하여 도메인 이름을 인프라 리소스 (ELB, EC2 등)에 매핑하고, 트래픽을 라우팅
  • 가까운 리전으로 트래픽을 라우팅하거나, 가용성이 높은 엔드포인트로 트래픽을 라우팅하는 등 다양한 라우팅 정책을 지원
  • HTTP, HTTPS, TCP 및 ICMP 상태 확인을 통하여 엔트포인트의 가용성을 주기적으로 확인하고, 상태를 모니터링
  • DNS 쿼리의 안전성을 보장하기 위해 DNSSEC (Domain Name System Extensions)을 지원
  • Route 53은 DNS 수준에서 자동으로 장애를 감지하고 트래픽을 건강한 리소스로 보내주는 역할을 하므로, ‘다시 시작 가능한’ 워크로드의 안정성을 확보하는 데 매우 효과적인 해결책이 됨

AWS Route53의 라우팅 정책

단순 라우팅 정책

  • 하나의 리소스 또는 레코드 세트에 대해 하나의 IP 주소로 트래픽을 라우팅

가중치 라우팅 정책

  • 여러 리소스 또는 레코드 세트에 가중치를 할당하여 트래픽을 분산

지연 시간 라우팅 정책

  • 가장 낮은 지연 시간을 갖는 리전으로 트래픽을 보내 사용자의 지연 시간에 따라 트래픽을 라우팅

장애 조치 라우팅 정책

  • 주와 보조 리소스 간에 트래픽을 전환하는 옵션으로, 주 리소스가 실패할 경우, 보조 리소스로 트래픽을 전환

지리 위치 라우팅 정책

  • 사용자의 지리적 위치에 따라 트래픽을 라우팅

다중 응답 라우팅 정책

  • 여러 IP 주소로 트래픽을 보내 여러 리전에 동일한 애플리케이션을 배포하고 트래픽을 분산

AWS CloudFront (CDN)

  • 전 세계의 사용자에게 안정적이고 빠른 콘텐츠 전송을 제공하는 컨텐츠 전송 네트워크(CDN) 서비스
  • CDN = Content Delivery Network
  • 이는 사용자가 정적 및 동적 콘텐츠를 안전하게 전송하고 더 빠르게 로드할 수 있도록 도와줌
  • 전 세계에 200개가 넘는 분산된 엣지 위치를 통해 콘텐츠를 더 가깝고 빠르게 전송
  • 엣지 로케이션에서 데이터 캐싱이 가능하여 콘텐츠를 더 빠르고 효율적으로 전달 가능
  • HTTPS를 통한 암호화 및 AWS WAF(Web Application Firewall)와의 통합을 통해 콘텐츠를 안전하게 전송

AWS Global Accelerator

  • 글로벌 네트워크를 통해 인터넷 트래픽을 안정적으로 전달하는 서비스
  • 애플리케이션에 대한 요청을 가장 가까운 엣지 로케이션으로 라우팅하여 응답 시간을 최적화하고 가용성을 향상
  • AWS 엣지 로케이션에서 할당되는 두 개의 글로벌 고정 IP 주소가 가속기와 연결
  • Elastic IP, EC2 인스턴스, ALB, NLB 등의 AWS 엔드포인트를 연결하여 사용 가능
  • 애플리케이션의 Health Check 기능을 통해 하나의 서버 장애 발생시 다른 서버로 라우팅 가능

AWS Fargate

  • 별도로 인스턴스를 생성 관리하지 않고, 완전한 매니지드 서비스의 형태로 도커 컨테이너를 실행시킬 수 있는 아마존의 서비리스 컨테이너 상품이다. Docker 이미지가 리파지터리에 푸시되어 있다면, 클러스터 → 작업 정의 → 서비스의 순서로 생성하여 완전히 24시간 서비스 가능한 애플리케이션을 기동할 수 있다.

AWS Snowball Edge

  • 대규모 데이터를 온프레미스에서 AWS 클라우드로 안전하게 전송하고, 엣지 환경에서 로컬로 데이터를 처리하는 데 사용되는 물리적인 디바이스이다.
  • 이 디바이스는 온보드 스토리지와 컴퓨팅 성능을 갖추고 있어 네트워크 연결이 제한적이거나 불안정한 환경에서도 대용량 데이터 마이그레이션과 엣지 컴퓨팅 워크로드를 효율적을 수행할 수 있음
  • 데이터는 물리적인 방법으로 전송됨

AWS Snowmobile

  • 엑사바이트(Exabyte) 규모의 데이터를 이전하기 위한 ‘데이터 운송용 컨테이너 트럭’입니다.

핵심 특징

  • 압도적인 용량
  • 45피트(약 14미터) 길이의 컨테이너 트럭 한 대에 최대 100 페타바이트(PB)의 데이터를 저장할 수 있습니다. (1 PB = 1,000 TB, 1 EB = 1,000 PB)
  • 물리적 실체
  • 서비스 이름이기도 하지만, 실제로 거대한 트럭이 여러분의 데이터 센터로 운전해서 옵니다.
  • 높은 보안
  • 컨테이너는 방수, 온도 조절, 변조 방지 기능이 있으며, GPS 추적, 영상 감시, 보안 요원 동행 등 철저한 물리적/논리적 보안 하에 운송됩니다. 모든 데이터는 전송 전에 강력하게 암호화됩니다.
  • 완전 관리형 프로세스
  • AWS 직원이 직접 트럭을 운전해와서, 고객의 데이터 센터 네트워크와 고속으로 연결하여 데이터 로딩을 돕고, 다시 AWS 데이터 센터로 안전하게 운전해 갑니다.

AWS Snow Family

구분 AWS Snowcone AWS Snowball Edge AWS Snowmobile
용량 ~14 TB ~80 TB ~100 PB (100,000 TB)
형태 작은 휴대용 장치 여행 가방 크기 장치 45피트 컨테이너 트럭
주요 사용 사례 엣지 환경, 소규모 데이터 데이터 센터 이전, 대용량 백업 엑사바이트 규모 마이그레이션