정의
- CloudFormation은 AWS 인프라를 선언적(declarative) 방식으로 정의하고 배포할 수 있는 서비스입니다.
- 즉, “무엇을 만들겠다”를 템플릿으로 작성하면, CloudFormation이 자동으로 순서에 맞춰 생성해 줍니다.
특징
- 대부분의 AWS 리소스 지원 (EC2, S3, ELB, Security Group 등)
- 인프라 구성 템플릿은 JSON 또는 YAML 형식
- 반복 가능하고, 일관성 있는 인프라 배포 가능
예시
CloudFormation 템플릿에서 작성할 수 있는 내용:
- Security Group 생성
- 해당 Security Group을 사용하는 EC2 인스턴스 2개 생성
- S3 버킷 생성
- EC2 앞에 로드 밸런서(ELB) 생성
CloudFormation은 이 순서와 구성대로 자동으로 리소스를 생성합니다.
📌 요약
- 선언적 방식으로 인프라를 정의
- 자동으로 생성 순서 관리
- 반복적·일관성 있는 환경 구축 가능
1. 인프라를 코드로 관리 (Infrastructure as Code, IaC)
- 수동으로 리소스를 생성하지 않음 → 관리·통제 용이
- 인프라 변경 사항을 코드로 리뷰 가능 → 변경 추적 및 검증 가능
2. 비용 관리 (Cost Management)
- 스택 내 모든 리소스에 식별 태그(tag) 자동 부여 → 스택별 비용 확인 가능
- CloudFormation 템플릿으로 리소스 비용 예측 가능
- 비용 절감 전략 예시:
- 개발 환경(Dev)에서 매일 오후 5시 템플릿 삭제 → 오전 8시 재생성 자동화
- 안전하게 리소스를 사용하면서 비용 절감 가능
3. 생산성 향상 (Productivity)
- 클라우드 인프라를 즉시 삭제 및 재생성 가능 → 테스트 환경 구축·실험 용이
- 템플릿 기반으로 자동 다이어그램 생성 가능 → 인프라 구조 시각화
4. 선언적 프로그래밍 (Declarative Programming)
- 리소스 생성 순서나 오케스트레이션을 직접 고민할 필요 없음
- 기존 템플릿 활용 가능 → 반복적인 작업 재발명 불필요
- AWS 문서와 커뮤니티에서 공유된 템플릿 활용 가능
5. 폭넓은 리소스 지원
- 거의 모든 AWS 리소스 지원
- 지원하지 않는 리소스는 Custom Resource를 통해 확장 가능
- 강력한 유연성으로 거의 모든 인프라 환경 구성 가능
CloudFormation + Infrastructure Composer
개요
- Infrastructure Composer는 CloudFormation 템플릿 기반의 인프라를 시각적으로 구성·검토할 수 있는 도구
- 생성된 스택 내 모든 리소스와 관계를 한눈에 볼 수 있음
예시: WordPress CloudFormation 스택
- CloudFormation으로 WordPress 환경을 배포하면:
- EC2 인스턴스, RDS, S3, Security Group, ELB 등 모든 리소스 확인 가능
- 리소스 간 관계 (예: ELB → EC2, EC2 → RDS) 시각화 가능
- 이를 통해 인프라 아키텍처를 즉시 이해하고 관리 가능
📌 정리
- CloudFormation + Infrastructure Composer = 코드 기반 + 시각화
- 템플릿 작성 → 스택 배포 → 관계 시각화까지 전체 인프라 라이프사이클을 손쉽게 관리 가능
CloudFormation – 서비스 역할(Service Role)
정의
- **서비스 역할(Service Role)**은 CloudFormation이 사용자를 대신해 스택 리소스를 생성·수정·삭제할 수 있도록 부여하는 **IAM 역할(IAM Role)**입니다.
주요 기능
- 사용자가 스택 리소스를 직접 관리할 권한이 없어도, CloudFormation을 통해 간접적으로 생성·수정·삭제 가능
- CloudFormation이 리소스에 접근할 때는 해당 IAM Role의 권한을 사용
사용 사례
- **최소 권한 원칙(Least Privilege)**을 지키면서도 스택 리소스를 배포해야 할 때
- 특정 사용자가 모든 AWS 리소스 권한을 가지지 않도록 하면서도, 스택 배포는 가능하게 하고 싶을 때
권한 요구 사항
- 사용자는 iam:PassRole 권한이 있어야 함
- 이유: CloudFormation이 사용할 IAM Role을 사용자 대신 전달(pass)해야 하기 때문
📌 정리
- CloudFormation 서비스 역할 = "CloudFormation이 대신 리소스를 관리하는 권한 위임"
- 보안과 편의성을 동시에 충족시키는 권한 설계 방식
Amazon Simple Email Service (SES)
Amazon SES는 글로벌 규모에서 안전하게 이메일을 보내고 받을 수 있는 완전관리형 이메일 서비스입니다.
1. 주요 기능
- 이메일 송수신: Inbound(수신) / Outbound(발송) 지원
- 통계 및 모니터링: 이메일 전달, 반송(Bounce), 피드백 루프, 열람(Open) 통계 제공
- 보안 및 인증: DKIM(DomainKeys Identified Mail)과 SPF(Sender Policy Framework) 지원
- IP 관리 유연성: 공유 IP, 전용 IP, 고객 소유 IP 사용 가능
- 발송 방법: AWS 콘솔, API, SMTP를 통한 이메일 발송
2. 추가 기능
- Reputation Dashboard: 이메일 발송 평판 및 성능 모니터링
- Anti-spam Feedback: 스팸 신고 피드백 제공
3. 사용 사례
- 트랜잭션 이메일(주문 확인, 비밀번호 재설정 등)
- 마케팅 이메일 캠페인
- 대량 이메일 발송
Amazon Pinpoint 개요
Amazon Pinpoint는 대규모 양방향(발송/수신) 마케팅 커뮤니케이션 서비스를 제공합니다.
1. 주요 기능
- 지원 채널: 이메일, SMS, 푸시 알림, 음성, 앱 내 메시징
- 양방향 메시징: 고객으로부터 답장을 받을 수 있음
- 타겟팅 및 개인화: 세분화된 고객 그룹(Segment)에 맞춘 맞춤형 메시지 전송 가능
- 대규모 확장성: 하루 수십억 건의 메시지 처리 가능
- 캠페인 관리: 메시지 템플릿, 전송 일정, 세분화된 대상, 전체 캠페인 생성 가능
2. 사용 사례
- 마케팅 캠페인 전송
- 대량 SMS 발송
- 트랜잭션 메시지 전송
3. SNS / SES와의 차이
- SNS / SES: 메시지별로 대상, 내용, 전송 일정을 직접 관리
- Pinpoint: 템플릿, 전송 일정, 타겟 세그먼트, 전체 캠페인을 한 번에 관리 가능 → 마케팅 캠페인에 최적화
AWS Systems Manager (SSM) – Session Manager
Session Manager는 EC2 및 온프레미스 서버에 안전하게 접근할 수 있는 관리 도구입니다.
1. 주요 특징
- SSH 없이 접속: SSH 키, Bastion Host, 포트 22 없이도 서버에 접속 가능
- 보안 강화: 포트 22를 열 필요가 없으므로 공격 표면 감소
- 지원 OS: Linux, macOS, Windows
- 세션 로깅: 접속 기록을 S3 또는 CloudWatch Logs로 전송 가능
2. 장점
- 보안 사고 위험 최소화
- 중앙 집중식 접근 관리 가능
- 클라우드와 온프레미스 서버 모두에서 통합 관리
AWS Systems Manager (SSM) – Run Command
Run Command는 여러 서버(EC2 또는 온프레미스)에 스크립트나 명령어를 안전하게 실행할 수 있는 기능입니다.
1. 주요 특징
- 스크립트/명령 실행: SSM 문서(Document)를 사용하거나 개별 명령 실행 가능
- 멀티 인스턴스 실행: 리소스 그룹을 활용해 여러 서버에 동시에 명령 실행
- SSH 불필요: SSH 접속 없이 명령 실행 가능
- 결과 관리: AWS 콘솔에서 출력 확인, S3 버킷 또는 CloudWatch Logs로 전송 가능
2. 통합 기능
- 알림 연동: 명령 실행 상태(진행 중, 성공, 실패)를 SNS로 전송 가능
- 자동화 트리거: EventBridge를 통해 명령 실행 자동화 가능
- 보안 및 감사: IAM 권한 제어 및 CloudTrail 로깅으로 실행 내역 추적
3. 장점
- 중앙 집중식 서버 관리 및 운영 자동화 가능
- 보안 위험 최소화 (SSH 불필요, IAM 권한 기반)
- 서버 운영 효율성 향상 (멀티 인스턴스 동시 명령 실행, 로그 관리 용이)
AWS Systems Manager (SSM) – Patch Manager
Patch Manager는 관리되는 서버의 패치(업데이트)를 자동화하는 기능입니다.
1. 주요 기능
- 자동 패치 관리: 운영체제(OS), 애플리케이션, 보안 패치 적용
- 지원 대상: EC2 인스턴스 및 온프레미스 서버
- 지원 OS: Linux, macOS, Windows
- 패치 일정 관리: 즉시 패치(On-demand) 또는 유지보수 시간(Maintenance Windows)에 맞춘 스케줄 패치 가능
- 컴플라이언스 보고서: 패치 상태 스캔 및 누락된 패치 보고서 생성 가능
2. 장점
- 서버 보안 강화: 최신 보안 업데이트 적용
- 운영 효율성 향상: 수동 패치 작업 불필요
- 중앙 집중식 관리: 멀티 OS, 멀티 인스턴스 환경에서도 일관된 패치 관리 가능
AWS Systems Manager – Maintenance Windows (유지관리 창)
Maintenance Window는 AWS Systems Manager에서 관리되는 인스턴스에 대해 작업을 수행할 시간과 일정을 정의하는 기능입니다. 주로 업데이트, 소프트웨어 설치 등 예측 가능한 시간에 작업을 자동화할 때 사용됩니다.
핵심 포인트
- 목적: 관리형 인스턴스에서 반복적인 운영 작업을 자동화
- 예시:
- OS 패치
- 드라이버 업데이트
- 소프트웨어 설치/업데이트
- 예시:
- Maintenance Window 구성 요소:
- 스케줄(Schedule): 유지관리 창이 열리는 시간. cron 또는 rate 표현식으로 정의 가능
- 예시: 매주 일요일 오전 2시
- 기간(Duration): 유지관리 창이 열려 있는 시간
- 예시: 4시간
- 등록된 인스턴스(Registered Instances): 작업 대상 EC2 또는 온프레미스 인스턴스
- 등록된 작업(Registered Tasks): 창이 열리는 동안 실행할 구체적인 작업
- 예: 스크립트 실행, 패치, SSM 문서(Automation Document) 실행
- 스케줄(Schedule): 유지관리 창이 열리는 시간. cron 또는 rate 표현식으로 정의 가능
AWS Systems Manager – Automation (자동화)
Automation은 EC2 인스턴스 및 기타 AWS 리소스의 일반적인 유지관리 및 배포 작업을 간소화해 주는 기능입니다.
핵심 포인트
- 목적: 반복적이거나 시간이 많이 걸리는 작업을 자동화하여 효율적으로 관리
- 예시:
- EC2 인스턴스 재시작
- AMI 생성
- EBS 스냅샷 생성
- 예시:
- Automation Runbook (자동화 실행 문서):
- **SSM 문서(SSM Documents)**를 사용하여 EC2 인스턴스나 AWS 리소스에 대해 수행할 작업 정의
- AWS에서 미리 정의된 문서 사용 가능 또는 사용자 정의 문서(Custom) 생성 가능
- 자동화 트리거 방식:
- 수동 실행: AWS 콘솔, AWS CLI, SDK를 통해 직접 실행
- EventBridge 연동: 이벤트 기반 트리거
- 스케줄 실행: Maintenance Window와 연계
- AWS Config 연동: 규정 준수(rule) 위반 시 자동 수정(Remediation)
AWS Cost Explorer
Cost Explorer는 AWS 비용과 사용량을 시각화하고 분석하며 관리할 수 있는 도구입니다.
핵심 포인트
- 목적: 비용과 사용량을 이해하고 최적화
- AWS 사용량과 비용 추이를 시간별, 월별, 계정별, 리소스별로 확인 가능
- 주요 기능:
- 커스텀 보고서 생성:
- 비용 및 사용량 데이터를 분석하고 맞춤형 보고서 생성 가능
- 상세 분석:
- 총 비용/사용량(전체 계정 기준)
- 월별, 시간별, 리소스별 세부 분석
- 최적의 Savings Plan 선택:
- 요금 절감을 위해 적합한 Savings Plan 추천
- 사용량 예측:
- 과거 데이터를 기반으로 최대 12개월 미래 사용량 예측
- 커스텀 보고서 생성:
추가 정보:
- 비용과 사용량 데이터를 쉽게 시각화하여 비용 절감 포인트를 파악 가능
- 다양한 필터와 그룹화를 통해 세부적인 분석 가능
- Savings Plan과 결합하면 청구서 절감 효과를 극대화할 수 있음
AWS Cost Anomaly Detection (비용 이상 탐지)
Cost Anomaly Detection은 **머신러닝(ML)**을 사용하여 AWS 비용과 사용량을 지속적으로 모니터링하고 비정상적인 지출 패턴을 자동으로 감지하는 서비스입니다.
핵심 포인트
- 목적: 비정상적인 비용 증가나 일회성 비용 스파이크를 조기에 감지하여 비용 관리
- 자동 학습:
- 계정별 과거 비용 패턴을 학습
- 임계치를 수동으로 정의하지 않아도 이상 지출 감지 가능
- 모니터링 대상:
- AWS 서비스
- 멤버 계정
- 비용 할당 태그(Cost Allocation Tags)
- 비용 카테고리(Cost Categories)
- 알림 및 보고:
- 이상 탐지 리포트 제공 (Root-cause 분석 포함)
- 알림 수신 가능:
- 개별 알림(Individual Alerts)
- 일간/주간 요약 보고(Daily/Weekly Summary)
- SNS를 통해 알림 발송
AWS Outposts
AWS Outposts는 하이브리드 클라우드(Hybrid Cloud) 환경을 지원하는 서비스로, 온프레미스 인프라와 AWS 클라우드를 동일하게 활용할 수 있게 해 줍니다.
핵심 포인트
- 목적:
- 클라우드와 온프레미스를 통합 관리
- 온프레미스에서도 AWS 서비스, API, 도구를 그대로 사용 가능
- 하이브리드 클라우드 특징:
- 기존 IT 시스템을 두 가지 방식으로 관리:
- AWS 클라우드: AWS 콘솔, CLI, API 사용
- 온프레미스 인프라: 기존 관리 방식
- 기존 IT 시스템을 두 가지 방식으로 관리:
- AWS Outposts 특징:
- “서버 랙(Server Racks)” 형태로 제공
- 클라우드와 동일한 AWS 인프라, 서비스, API, 도구 제공
- 온프레미스 환경에서 직접 애플리케이션 구축 가능
- 관리 및 책임:
- AWS가 Outposts Rack 설치 및 관리
- 사용자는 물리적 보안(Physical Security) 담당
AWS Outposts – 장점(Benefits)
AWS Outposts를 사용하면 온프레미스 환경에서도 AWS 클라우드와 동일한 서비스를 활용하면서, 다음과 같은 이점을 누릴 수 있습니다.
주요 장점
- 저지연(Low-latency) 액세스
- 온프레미스 시스템과 가까워서 응답 속도가 빠름
- 로컬 데이터 처리(Local data processing)
- 데이터를 클라우드로 전송하지 않고 현장에서 처리 가능
- 데이터 주권(Data residency)
- 데이터가 특정 위치에 물리적으로 존재하도록 요구되는 규제 준수 가능
- 온프레미스 → 클라우드 마이그레이션 용이
- 기존 온프레미스 시스템을 클라우드로 이전할 때 단계적 마이그레이션 가능
- 완전 관리형 서비스(Fully managed service)
- 하드웨어 설치, 유지보수, 모니터링을 AWS가 담당
AWS Batch
AWS Batch는 대규모 배치 처리(batch processing)를 완전 관리형으로 제공하는 서비스입니다.
핵심 포인트
- 목적:
- 수십만 개의 배치 작업을 효율적으로 실행
- 인프라 관리에 신경 쓰지 않고 배치 작업 수행 가능
- 배치 작업(Batch Job)이란:
- 시작과 종료가 있는 작업
- 지속적으로 실행되는 작업(Continuous Job)과 구분됨
- AWS Batch 특징:
- 동적 컴퓨팅 리소스 할당:
- 필요에 따라 EC2 인스턴스 또는 Spot 인스턴스를 자동으로 생성
- 적절한 CPU와 메모리를 자동으로 프로비저닝
- 작업 제출 및 스케줄링:
- 사용자가 배치 작업 제출 또는 예약 → AWS Batch가 실행
- Docker 기반 실행:
- 배치 작업은 Docker 이미지로 정의되며 ECS(ECS 컨테이너 서비스)에서 실행
- 동적 컴퓨팅 리소스 할당:
- 장점:
- 비용 최적화 가능 (Spot 인스턴스 활용)
- 인프라 관리 부담 감소 → 작업 자체에 집중 가능
AWS Batch vs AWS Lambda 비교
AWS에서 Batch와 Lambda는 모두 작업 자동화를 지원하지만, 사용 목적과 제약 사항이 다릅니다.
항목 AWS Lambda AWS Batch
실행 시간(Time limit) | 제한 있음 (최대 15분) | 제한 없음 |
런타임(Runtimes) | 제한된 언어/런타임 지원 | Docker 이미지라면 모든 런타임 가능 |
디스크 공간 | 임시 디스크 공간 제한 | EBS 또는 인스턴스 스토어 활용 가능 |
서버 관리 | 완전 서버리스(Serverless) | EC2 기반 (AWS가 관리 가능) |
주요 특징 | 이벤트 기반, 소규모 작업에 적합 | 대규모 배치 작업, 장시간 처리 작업에 적합 |
정리:
- Lambda는 짧고 이벤트 기반 작업에 적합
- Batch는 장시간, 대규모 처리 작업에 적합하며, 런타임과 디스크 공간 제약이 거의 없음
Amazon AppFlow
Amazon AppFlow는 완전 관리형(fully managed) 데이터 통합 서비스로, SaaS(Software-as-a-Service) 애플리케이션과 AWS 간 데이터를 안전하게 전송할 수 있도록 해줍니다.
복잡한 통합 코드를 직접 작성할 필요 없이 API를 바로 활용해 데이터 연동이 가능합니다.
주요 특징
- 데이터 소스(Sources):
- Salesforce
- SAP
- Zendesk
- Slack
- ServiceNow
- 데이터 목적지(Destinations):
- AWS 서비스: Amazon S3, Amazon Redshift
- 비 AWS 서비스: Snowflake, Salesforce 등
- 전송 주기(Frequency):
- 일정 기반(Schedule)
- 이벤트 기반(Event-driven)
- 필요 시(On-demand) 실행
- 데이터 처리 기능:
- 데이터 변환(Data Transformation)
- 필터링(Filtering) & 유효성 검증(Validation)
- 암호화(Encryption)
- 전송 경로:
- 공용 인터넷
- AWS PrivateLink를 통한 비공개 연결
- 장점:
- 통합 코드를 작성할 필요 없음
- API를 즉시 활용 가능
- 보안·데이터 품질 관리 내장
Amazon AppFlow
Amazon AppFlow는 완전 관리형 데이터 통합 서비스로, SaaS(Software-as-a-Service) 애플리케이션과 AWS 간 데이터를 안전하게 전송할 수 있도록 해줍니다.
통합 코드를 직접 작성할 필요 없이 API를 바로 활용할 수 있습니다.
1. 데이터 소스 (Sources)
- Salesforce
- SAP
- Zendesk
- Slack
- ServiceNow
2. 데이터 목적지 (Destinations)
- AWS 서비스: Amazon S3, Amazon Redshift
- 비 AWS 서비스: Snowflake, Salesforce 등
3. 전송 주기 (Frequency)
- 스케줄 기반(Scheduled)
- 이벤트 기반(In response to events)
- 필요 시(On-demand) 실행
4. 주요 기능
- 데이터 변환(Data Transformation)
- 필터링 및 유효성 검증(Filtering & Validation)
- 암호화(Encryption)
- 데이터 전송 경로:
- 공용 인터넷(Public Internet)
- AWS PrivateLink를 통한 비공개 연결
5. 장점
- 복잡한 통합 코드를 작성할 필요 없음
- 다양한 SaaS와 AWS 간 데이터 흐름을 쉽게 구축
- 보안 및 데이터 품질 관리 내장
AWS Amplify – 웹 및 모바일 애플리케이션
AWS Amplify는 확장 가능한(Scalable) 풀스택 웹·모바일 애플리케이션을 빠르게 개발하고 배포할 수 있도록 지원하는 도구와 서비스 세트입니다.
주요 기능
- 인증(Authentication)
- 스토리지(Storage)
- API (REST, GraphQL 지원)
- CI/CD (지속적 통합·지속적 배포)
- PubSub (실시간 메시징)
- 분석(Analytics)
- AI/ML 예측(Predictions)
- 모니터링(Monitoring)
배포 방식
- GitHub, AWS CodeCommit, Bitbucket, GitLab과 소스 코드 연결
- 또는 직접 업로드하여 배포 가능
Instance Scheduler on AWS
Instance Scheduler on AWS는 AWS에서 제공하는 CloudFormation 기반 솔루션으로, 특정 시간에 인스턴스를 자동으로 시작/중지하여 **비용을 절감(최대 70%)**할 수 있게 해줍니다.
서비스 자체가 아니라, CloudFormation 템플릿을 통해 배포되는 구현 솔루션입니다.
주요 특징
- 자동 시작/중지:
- 예: 업무 시간 외에 회사의 EC2 인스턴스 자동 중지
- 지원 리소스:
- EC2 인스턴스
- EC2 Auto Scaling 그룹
- RDS 인스턴스
- 스케줄 관리:
- DynamoDB 테이블에서 스케줄 정의
- 작동 방식:
- 리소스 태그(tags)와 Lambda를 사용하여 인스턴스 시작/중지
- 멀티 계정·멀티 리전 지원:
- 여러 AWS 계정과 리전에 걸친 리소스 제어 가능
📌 정리
- 인프라를 24시간 실행할 필요가 없는 경우, Instance Scheduler를 통해 비용 절감 효과 극대화 가능
- CloudFormation으로 쉽게 배포하고, DynamoDB + Lambda로 자동화 제어
'AWS' 카테고리의 다른 글
AWS WELL - ARCHTECTED FRAMEWORK (1) | 2025.08.13 |
---|---|
HPC (4) | 2025.08.13 |
more solution architect (0) | 2025.08.12 |
Disaster Recovery Overview (3) | 2025.08.12 |
VPC (3) | 2025.08.11 |