<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>oi_24.log</title>
        <link>https://velog.io/</link>
        <description>Builder, Sweeper</description>
        <lastBuildDate>Tue, 01 Sep 2026 09:29:48 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>oi_24.log</title>
            <url>https://velog.velcdn.com/images/oi_24/profile/a708a3c8-2aaa-41f2-8608-1c71517c6de3/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. oi_24.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/oi_24" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[AWS Certified Cloud Practitioner (CLF-C02) 핵심 암기 요약집 (Module 1 ~ 9)]]></title>
            <link>https://velog.io/@oi_24/AWS-Certified-Cloud-Practitioner-CLF-C02-%ED%95%B5%EC%8B%AC-%EC%95%94%EA%B8%B0-%EC%9A%94%EC%95%BD%EC%A7%91-Module-1-9</link>
            <guid>https://velog.io/@oi_24/AWS-Certified-Cloud-Practitioner-CLF-C02-%ED%95%B5%EC%8B%AC-%EC%95%94%EA%B8%B0-%EC%9A%94%EC%95%BD%EC%A7%91-Module-1-9</guid>
            <pubDate>Tue, 01 Sep 2026 09:29:48 GMT</pubDate>
            <description><![CDATA[<h1 id="aws-certified-cloud-practitioner-clf-c02-핵심-암기-요약집-module-1--9">AWS Certified Cloud Practitioner (CLF-C02) 핵심 암기 요약집 (Module 1 ~ 9)</h1>
<h2 id="안내">안내</h2>
<p>본 요약집은 AWS Certified Cloud Practitioner (CLF-C02) 시험 합격을 위해 Module 1부터 Module 9까지의 핵심 서비스, 필수 개념, 빈출 키워드 및 문제 해결 매칭 공식을 압축 정리한 휴대용 요약 문서입니다.</p>
<hr>
<h2 id="1-클라우드-개념-및-aws-기본-원칙-module-1">1. 클라우드 개념 및 AWS 기본 원칙 (Module 1)</h2>
<h3 id="클라우드-컴퓨팅-6대-핵심-이점-6-advantages-of-cloud-computing">클라우드 컴퓨팅 6대 핵심 이점 (6 Advantages of Cloud Computing)</h3>
<ol>
<li><strong>자본 비용(CapEx)을 가변 비용(OpEx)으로 전환</strong>: 선행 인프라 투자 없이 사용한 만큼만 지불(Pay-as-you-go).</li>
<li><strong>거대한 규모의 경제(Economies of Scale)</strong>: 수백만 고객의 사용량이 누적되어 AWS가 더 낮은 가격으로 인프라 제공.</li>
<li><strong>용량 추정 불필요(Stop Guessing Capacity)</strong>: 수요 예측 실패로 인한 리소스 낭비 또는 부족 방지 (오토 스케일링).</li>
<li><strong>속도 및 민첩성 향상(Increase Speed and Agility)</strong>: 리소스 배포 시간을 몇 주에서 몇 분 단위로 단축.</li>
<li><strong>데이터 센터 운영 및 유지 관리 비용 투자 중단</strong>: 랙 설치, 전력, 냉각 등 비즈니스와 무관한 잡무(Undifferentiated Heavy Lifting) 제거.</li>
<li><strong>몇 분 만에 글로벌 확장(Go Global in Minutes)</strong>: 전 세계 여러 리전에 걸쳐 최소한의 지연 시간으로 앱 배포.</li>
</ol>
<h3 id="클라우드-배포-모델-3가지">클라우드 배포 모델 3가지</h3>
<ul>
<li><strong>클라우드 기반 (All-in Cloud / Public)</strong>: 모든 인프라와 애플리케이션이 클라우드 상에서 실행됨.</li>
<li><strong>온프레미스 / 프라이빗 클라우드 (Private)</strong>: 자체 데이터 센터에 가상화 기술을 사용하여 리소스를 배포하고 직접 관리함.</li>
<li><strong>하이브리드 (Hybrid)</strong>: 온프레미스 레거시 시스템과 클라우드 리소스를 전용선(Direct Connect)이나 VPN으로 연결하여 통합 운영함.</li>
</ul>
<h3 id="aws-클라우드-채택-프레임워크-aws-caf---6대-관점">AWS 클라우드 채택 프레임워크 (AWS CAF - 6대 관점)</h3>
<ul>
<li><strong>비즈니스 관점 (Business Perspectives)</strong>:<ul>
<li><strong>비즈니스 (Business)</strong>: 비즈니스 모델, 가치 창출, 전략적 성과 연계.</li>
<li><strong>인력 (People)</strong>: 클라우드 역량 교육, 조직 변화 관리, 인재 육성.</li>
<li><strong>거버넌스 (Governance)</strong>: 포트폴리오 관리, 클라우드 투자 최적화, 비즈니스 프로세스 통제.</li>
</ul>
</li>
<li><strong>기술 관점 (Technical Perspectives)</strong>:<ul>
<li><strong>플랫폼 (Platform)</strong>: 아키텍처 현대화, 워크로드 마이그레이션, 클라우드 네이티브 솔루션 구축.</li>
<li><strong>보안 (Security)</strong>: 데이터 기밀성/무결성, IAM 권한, 규정 준수 및 위협 방어.</li>
<li><strong>운영 (Operations)</strong>: 상태 관찰성(Observability), 인시던트 관리, 비즈니스 연속성 유지.</li>
</ul>
</li>
</ul>
<h3 id="클라우드-마이그레이션-7대-전략-7-rs-migration-strategies">클라우드 마이그레이션 7대 전략 (7 Rs Migration Strategies)</h3>
<ol>
<li><strong>Rehost (Lift and Shift)</strong>: 애플리케이션 변경 없이 그대로 AWS 클라우드(EC2)로 이전.</li>
<li><strong>Replatform (Lift, Tinker and Shift)</strong>: 핵심 아키텍처는 유지하되 일부 구성 요소를 관리형 서비스(RDS 등)로 최적화하여 이전.</li>
<li><strong>Refactor / Rearchitect</strong>: 클라우드 네이티브(서버리스, 마이크로서비스 등) 기능과 성능을 극대화하도록 애플리케이션을 전면 재설계.</li>
<li><strong>Repurchase (Drop and Shop)</strong>: 기존 소프트웨어를 버리고 SaaS(클라우드 기반 소프트웨어) 서비스로 구매 전환.</li>
<li><strong>Retain (Keep / Revisit)</strong>: 당장 마이그레이션할 준비가 되지 않았거나 비즈니스상 보류할 워크로드를 온프레미스에 유지.</li>
<li><strong>Retire</strong>: 더 이상 사용되지 않는 불필요한 레거시 애플리케이션을 안전하게 폐기/종료.</li>
<li><strong>Relocate (Hypervisor-level)</strong>: VMware Cloud on AWS 등을 활용해 코드나 설정 변경 없이 하이퍼바이저 수준에서 인프라를 이전.</li>
</ol>
<hr>
<h2 id="2-컴퓨팅-서비스-및-ec2-요금-모델-module-2">2. 컴퓨팅 서비스 및 EC2 요금 모델 (Module 2)</h2>
<h3 id="amazon-ec2-인스턴스-패밀리-매칭-공식">Amazon EC2 인스턴스 패밀리 매칭 공식</h3>
<ul>
<li><strong>범용 (General Purpose - M, T)</strong>: 컴퓨팅, 메모리, 네트워킹의 균형 (웹 서버, 소형 DB, 개발 환경).</li>
<li><strong>컴퓨팅 최적화 (Compute Optimized - C)</strong>: 고성능 프로세서 요구 워크로드 (배치 처리, 미디어 변환, 고성능 웹 서버, 머신러닝 추론, 게임 서버).</li>
<li><strong>메모리 최적화 (Memory Optimized - R, X, z)</strong>: 대규모 인메모리 데이터세트 처리 (인메모리 DB, 분산 캐시, 실시간 빅데이터 처리).</li>
<li><strong>스토리지 최적화 (Storage Optimized - I, D, H)</strong>: 순차적 대규모 로컬 스토리지 I/O 요구 (데이터 웨어하우스, 분산 파일 시스템, NoSQL DB).</li>
<li><strong>가속 컴퓨팅 (Accelerated Computing - P, G, F)</strong>: 하드웨어 GPU 가속기 (3D 그래픽 렌더링, 딥러닝 훈련, 자율주행 시뮬레이션).</li>
</ul>
<h3 id="ec2-요금-옵션-비교">EC2 요금 옵션 비교</h3>
<table>
<thead>
<tr>
<th align="left">요금 옵션</th>
<th align="left">주요 특징</th>
<th align="left">권장 사용 사례</th>
<th align="left">할인율 / 계약</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>온디맨드 (On-Demand)</strong></td>
<td align="left">선결제 없음, 약정 없음, 초/분 단위 지불</td>
<td align="left">단기 워크로드, 예측 불가능한 트래픽, 개발/테스트</td>
<td align="left">정가 (할인 없음)</td>
</tr>
<tr>
<td align="left"><strong>Savings Plans</strong></td>
<td align="left">1년 또는 3년 기간 동안 시간당 컴퓨팅 사용량($/시간) 약정</td>
<td align="left">일정한 사용량이 보장되는 인프라 (EC2, Fargate, Lambda)</td>
<td align="left">최대 72% 할인</td>
</tr>
<tr>
<td align="left"><strong>예약 인스턴스 (Standard RI)</strong></td>
<td align="left">1년 또는 3년 기간 동안 특정 인스턴스 패밀리/리전 지정 약정</td>
<td align="left">예측 가능하고 꾸준한(Steady-state) 상시 워크로드</td>
<td align="left">최대 72% 할인</td>
</tr>
<tr>
<td align="left"><strong>전환형 RI (Convertible RI)</strong></td>
<td align="left">인스턴스 유형, OS, 테넌시 변경 가능 약정</td>
<td align="left">인스턴스 사양 변경 유연성이 필요한 장기 워크로드</td>
<td align="left">최대 66% 할인</td>
</tr>
<tr>
<td align="left"><strong>스팟 인스턴스 (Spot)</strong></td>
<td align="left">미사용 EC2 용량 입찰 활용, 2분 전 알림 후 인스턴스 중단 가능</td>
<td align="left">시작/종료 시간이 유연하고 중단 가능한 배치(Batch) 작업</td>
<td align="left">최대 90% 할인</td>
</tr>
<tr>
<td align="left"><strong>전용 호스트 (Dedicated Host)</strong></td>
<td align="left">사용자 전용 물리적 서버를 완전히 할당 (소켓/코어 가시성)</td>
<td align="left">기존 소프트웨어 라이선스(BYOL) 및 엄격한 규정 준수</td>
<td align="left">최고가 / 호스트 단위 과금</td>
</tr>
<tr>
<td align="left"><strong>전용 인스턴스 (Dedicated Instance)</strong></td>
<td align="left">고객 전용 하드웨어에서 실행 (다른 고객과 하드웨어 미공유)</td>
<td align="left">물리적 서버 제어가 필요 없는 하드웨어 격리 규정 준수</td>
<td align="left">인스턴스 단위 과금</td>
</tr>
</tbody></table>
<h3 id="ec2-스토리지-인스턴스-스토어-vs-ebs">EC2 스토리지: 인스턴스 스토어 vs EBS</h3>
<ul>
<li><strong>EC2 인스턴스 스토어 (Instance Store)</strong>: 호스트 물리 서버에 직접 장착된 임시(Ephemeral/휘발성) 블록 스토리지. 인스턴스가 중지/종료되면 데이터가 영구 소실됨 (버퍼, 캐시, 스크래치 데이터용).</li>
<li><strong>Amazon EBS</strong>: 네트워크를 통해 연결되는 영구(Persistent) 가상 블록 스토리지. 인스턴스 중지 후에도 데이터 유지 및 스냅샷 백업 지원.</li>
</ul>
<h3 id="스케일링-방식">스케일링 방식</h3>
<ul>
<li><strong>수직적 스케일링 (Vertical Scaling / Scale-up)</strong>: 인스턴스 사양(vCPU, RAM)을 업그레이드.</li>
<li><strong>수평적 스케일링 (Horizontal Scaling / Scale-out)</strong>: <strong>EC2 Auto Scaling</strong>을 통해 인스턴스 개수를 동적으로 증감.</li>
</ul>
<hr>
<h2 id="3-추가-컴퓨팅-및-인프라-자동화-module-3">3. 추가 컴퓨팅 및 인프라 자동화 (Module 3)</h2>
<h3 id="서버리스-컨테이너-배포-자동화-서비스-매칭">서버리스, 컨테이너, 배포 자동화 서비스 매칭</h3>
<ul>
<li><strong>AWS Lambda</strong>: 이벤트 기반 서버리스 컴퓨팅, 코드만 업로드하면 자동 실행/스케일링, 최대 15분 실행, 밀리초(ms) 단위 과금.</li>
<li><strong>Amazon ECS</strong>: AWS 독점의 간단하고 강력한 완전관리형 컨테이너 오케스트레이션 서비스.</li>
<li><strong>Amazon EKS</strong>: Kubernetes 표준 환경을 AWS 상에서 그대로 구동하는 완전관리형 오픈소스 오케스트레이션 서비스.</li>
<li><strong>AWS Fargate</strong>: 서버(EC2)를 직접 프로비저닝하거나 관리할 필요 없는 <strong>서버리스 컨테이너 컴퓨팅 엔진</strong> (ECS/EKS 모두 지원).</li>
<li><strong>Amazon ECR (Elastic Container Registry)</strong>: 완전관리형 컨테이너 이미지 저장소/레지스트리 (Docker/OCI 표준 지원).</li>
<li><strong>AWS App Runner</strong>: 컨테이너 인프라 지식 없이 소스 코드나 컨테이너 이미지로부터 웹 앱을 전자동 배포하는 서비스.</li>
<li><strong>AWS Elastic Beanstalk</strong>: 개발자가 코드만 업로드하면 인프라 프로비저닝, 로드 밸런싱, 오토 스케일링, 모니터링을 자동 처리하는 <strong>완전관리형 PaaS 플랫폼</strong> (기본 인프라 제어 권한 유지).</li>
<li><strong>AWS CloudFormation</strong>: <strong>코드형 인프라 (IaC, Infrastructure as Code)</strong> 서비스로, JSON/YAML 템플릿을 통해 AWS 전체 리소스를 선언적으로 자동 프로비저닝 및 반복 배포.</li>
</ul>
<h3 id="엣지-및-하이브리드-컴퓨팅-edge-computing-4총사">엣지 및 하이브리드 컴퓨팅 (Edge Computing 4총사)</h3>
<ul>
<li><strong>AWS Outposts</strong>: 온프레미스 데이터 센터에 실제 AWS 하드웨어 랙을 직접 설치하여 클라우드와 동일한 AWS API/콘솔로 운영 (초저지연, 데이터 레지던시/주권 법적 규제 완벽 준수).</li>
<li><strong>AWS Local Zones</strong>: 대규모 인구 밀집 대도시(서울, LA 등) 인근에 AWS가 직접 컴퓨팅/스토리지를 배치하여 <strong>한 자릿수 밀리초(sub-10ms)</strong> 초저지연 제공 (고객 자체 IDC 불필요).</li>
<li><strong>AWS Wavelength</strong>: 5G 이동통신사(SKT, 버라이즌 등) 통신망 데이터 센터 내에 AWS 인프라를 내장하여 <strong>모바일 엣지 기기</strong>와의 초저지연 실시간 통신 지원 (자율주행, 실시간 게임, AR/VR).</li>
<li><strong>AWS Snow Family 엣지 컴퓨팅 (Snowball Edge / Snowcone)</strong>: 인터넷 연결이 끊긴 격리된 환경(선박, 광산, 재난 지역)에서 로컬 데이터 수집, 온보드 EC2 컴퓨팅 및 ML 추론 수행.</li>
<li><strong>AWS IoT Greengrass</strong>: IoT 엣지 디바이스에서 로컬로 데이터를 수집/필터링하고 클라우드 연결 없이도 오프라인 상태에서 Lambda 함수 및 ML 모델을 자율 실행하는 소프트웨어.</li>
</ul>
<h3 id="엣지-서버리스-컴퓨팅--네트워킹-가속-edge-serverless--acceleration">엣지 서버리스 컴퓨팅 &amp; 네트워킹 가속 (Edge Serverless &amp; Acceleration)</h3>
<ul>
<li><strong>Lambda@Edge</strong>: CloudFront 엣지 로케이션에서 실행되는 서버리스 함수 (Node.js/Python), 최종 사용자와 가장 가까운 엣지에서 HTTP 요청/응답 변환, 사용자 인증, URL 리디렉션, 동적 웹 렌더링 수행.</li>
<li><strong>CloudFront Functions</strong>: 엣지 로케이션에서 초경량 JavaScript 코드를 <strong>마이크로초(µs)</strong> 단위로 초고속 실행 (HTTP 헤더 조작, 캐시 키 정규화, URL 재작성).</li>
<li><strong>AWS Global Accelerator</strong>: 2개의 고정 <strong>Anycast IP</strong>를 활용하여 전 세계 사용자의 TCP/UDP 트래픽을 공용 인터넷 대신 <strong>AWS 전용 글로벌 사설 네트워크</strong>를 통해 가장 가까운 최적 엔드포인트(ALB, NLB, EC2)로 고속 라우팅 (지연 시간 최대 60% 단축, 패킷 손실 방지).</li>
</ul>
<h3 id="aws-엣지-인프라-4대-유형-완벽-비교표">AWS 엣지 인프라 4대 유형 완벽 비교표</h3>
<table>
<thead>
<tr>
<th align="left">엣지 솔루션</th>
<th align="left">물리적 설치 위치</th>
<th align="left">주 운영 및 관리 주체</th>
<th align="left">핵심 특징 및 시험 키워드</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>AWS Outposts</strong></td>
<td align="left">고객 자체 사내 데이터 센터</td>
<td align="left">고객 IDC 시설 + AWS 하드웨어 관리</td>
<td align="left">데이터 레지던시 법적 규제, 온프레미스 하이브리드 동일 API</td>
</tr>
<tr>
<td align="left"><strong>AWS Local Zones</strong></td>
<td align="left">대도시 인근 AWS 거점</td>
<td align="left">AWS</td>
<td align="left">대도시 인근 1자리수 밀리초 지연 시간, 고객 IDC 시설 불필요</td>
</tr>
<tr>
<td align="left"><strong>AWS Wavelength</strong></td>
<td align="left">5G 이동통신사 통신망 내부</td>
<td align="left">5G 통신사 + AWS</td>
<td align="left">5G 모바일 엣지 초저지연, 자율주행/AR/VR 실시간 스트리밍</td>
</tr>
<tr>
<td align="left"><strong>엣지 로케이션 (Edge Location)</strong></td>
<td align="left">전 세계 주요 대도시 (PoP)</td>
<td align="left">AWS</td>
<td align="left">CloudFront(CDN), Route 53(DNS), Lambda@Edge 캐싱/전송 거점</td>
</tr>
</tbody></table>
<hr>
<h2 id="4-글로벌-인프라-및-고가용성-module-4">4. 글로벌 인프라 및 고가용성 (Module 4)</h2>
<h3 id="글로벌-인프라-구성-3대-요소">글로벌 인프라 구성 3대 요소</h3>
<ul>
<li><strong>AWS 리전 (Region)</strong>: 전 세계 지리적 위치, 지리적으로 격리된 최소 2개(대부분 3개 이상)의 가용 영역(AZ)으로 구성됨.<ul>
<li>리전 선택 4대 기준: <strong>규정 준수/데이터 주권(최우선 고려)</strong>, <strong>사용자와의 근접성(지연 시간 단축)</strong>, <strong>서비스 가용성(신규 기능 여부)</strong>, <strong>비용(리전별 조세/운영비 가격차)</strong>.</li>
</ul>
</li>
<li><strong>가용 영역 (AZ, Availability Zone)</strong>: 독립된 전력, 냉각, 물리 보안을 갖춘 하나 이상의 개별 데이터 센터. AZ 간에는 전용 초저지연 광케이블로 상호 연결됨.<ul>
<li>고가용성(High Availability) 및 재해 복구(Disaster Recovery)를 위해 다중 AZ(Multi-AZ) 아키텍처 구성 필수.</li>
</ul>
</li>
<li><strong>엣지 로케이션 (Edge Location / PoP)</strong>: 전 세계 주요 도시에 위치한 캐시 서버 거점으로, <strong>Amazon CloudFront(CDN)</strong>, <strong>Amazon Route 53(DNS)</strong>, <strong>AWS Global Accelerator</strong>, <strong>AWS Shield</strong>, <strong>AWS WAF</strong>를 호스팅하여 콘텐츠 전송 지연 시간을 단축하고 엣지 보안을 제공함.</li>
</ul>
<hr>
<h2 id="5-네트워킹-및-트래픽-분산-module-5">5. 네트워킹 및 트래픽 분산 (Module 5)</h2>
<h3 id="핵심-네트워킹-구성-요소">핵심 네트워킹 구성 요소</h3>
<ul>
<li><strong>Amazon VPC</strong>: 사용자 전용의 논리적으로 격리된 가상 네트워크 (IP CIDR 블록 정의).</li>
<li><strong>서브넷 (Subnet)</strong>: VPC 내부의 IP 주소 세그먼트 (단일 AZ에 종속).<ul>
<li><strong>퍼블릭 서브넷 (Public Subnet)</strong>: 인터넷 게이트웨이(IGW)로 향하는 라우팅이 있어 인터넷과 양방향 직접 통신 가능.</li>
<li><strong>프라이빗 서브넷 (Private Subnet)</strong>: 인터넷 직접 경로가 차단된 격리 서브넷 (DB, 백엔드 서버 배치).</li>
</ul>
</li>
<li><strong>인터넷 게이트웨이 (IGW)</strong>: VPC와 공용 인터넷 간의 양방향 통신을 연결하는 확장성 높은 관문.</li>
<li><strong>NAT 게이트웨이 (NAT Gateway)</strong>: 프라이빗 서브넷의 인스턴스가 패치/업데이트를 위해 아웃바운드 인터넷 트래픽은 허용하되, 외부에서의 인바운드 접속은 원천 차단하는 관리형 게이트웨이 (퍼블릭 서브넷에 배치).</li>
<li><strong>VPC 엔드포인트 (VPC Endpoints)</strong>: 인터넷 게이트웨이나 NAT 장치 없이 VPC 내부에서 AWS 서비스(S3, DynamoDB 등)에 비공개(Private)로 직접 연결하는 통로.<ul>
<li><strong>게이트웨이 엔드포인트 (Gateway Endpoint)</strong>: S3 및 DynamoDB 전용 (무료 제공, 라우팅 테이블 수정 방식).</li>
<li><strong>인터페이스 엔드포인트 (Interface Endpoint / AWS PrivateLink)</strong>: ENI(사설 IP)를 생성하여 대부분의 AWS 서비스 및 서드파티 서비스에 비공개 연결.</li>
</ul>
</li>
</ul>
<h3 id="보안-그룹-security-group-vs-네트워크-acl-nacl-필수-비교">보안 그룹 (Security Group) vs 네트워크 ACL (NACL) 필수 비교</h3>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">보안 그룹 (Security Group)</th>
<th align="left">네트워크 ACL (Network ACL)</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>적용 계층</strong></td>
<td align="left"><strong>인스턴스 (ENI) 레벨</strong></td>
<td align="left"><strong>서브넷 레벨</strong></td>
</tr>
<tr>
<td align="left"><strong>상태 유지 여부</strong></td>
<td align="left"><strong>상태 저장 (Stateful)</strong> (인바운드 허용 시 아웃바운드 자동 허용)</td>
<td align="left"><strong>상태 비저장 (Stateless)</strong> (인바운드와 아웃바운드 각각 규칙 명시 필요)</td>
</tr>
<tr>
<td align="left"><strong>규칙 유형</strong></td>
<td align="left"><strong>허용(Allow) 규칙만</strong> 지정 가능 (기본 모두 거부)</td>
<td align="left"><strong>허용(Allow) 및 명시적 거부(Deny) 규칙</strong> 모두 가능</td>
</tr>
<tr>
<td align="left"><strong>규칙 평가 방식</strong></td>
<td align="left">모든 규칙을 종합 평가</td>
<td align="left"><strong>낮은 번호(Rule Number)부터 순서대로</strong> 평가</td>
</tr>
</tbody></table>
<h3 id="하이브리드-연결-및-dnscdn">하이브리드 연결 및 DNS/CDN</h3>
<ul>
<li><strong>AWS Direct Connect (DX)</strong>: 공용 인터넷을 완전히 우회하여 온프레미스와 AWS 간에 구축하는 <strong>전용 비공개 물리적 네트워크 회선</strong> (일관된 대역폭, 고신뢰성, 최고 보안).</li>
<li><strong>AWS Site-to-Site VPN</strong>: 인터넷을 통과하지만 IPsec으로 암호화된 가상 터널을 생성하여 빠르고 저렴하게 연결.</li>
<li><strong>VPC 피어링 (VPC Peering)</strong>: 2개의 VPC를 1:1로 직접 연결 (전이적 라우팅 불가).</li>
<li><strong>AWS Transit Gateway</strong>: 수천 개의 VPC와 온프레미스 네트워크를 중앙 단일 허브(Hub-and-Spoke)로 연결.</li>
<li><strong>Amazon CloudFront</strong>: 엣지 로케이션을 활용하여 정적/동적 웹 콘텐츠를 전 세계 사용자에게 저지연 전송하는 글로벌 CDN.</li>
</ul>
<h3 id="amazon-route-53-라우팅-정책-6가지">Amazon Route 53 라우팅 정책 6가지</h3>
<ol>
<li><strong>단순 라우팅 (Simple)</strong>: 도메인에 대해 특정 단일 리소스(IP)로 트래픽 전달.</li>
<li><strong>가중치 기반 라우팅 (Weighted)</strong>: 지정된 비율(%)에 따라 트래픽을 분산 (새 버전 A/B 테스트).</li>
<li><strong>지연 시간 라우팅 (Latency)</strong>: 사용자에게 네트워크 지연 시간이 가장 짧은 최적 리전으로 라우팅.</li>
<li><strong>지리 위치 라우팅 (Geolocation)</strong>: 사용자의 실제 접속 국가/대륙 위치에 따라 라우팅.</li>
<li><strong>지리 근접 라우팅 (Geoproximity)</strong>: 리소스 지리적 위치와 편향값(Bias)을 기준으로 트래픽 라우팅.</li>
<li><strong>장애 조치 라우팅 (Failover)</strong>: 헬스체크(Health Check) 기반으로 기본(Primary) 리소스 장애 시 보조(Secondary) 재해 복구 리소스로 자동 전환.</li>
</ol>
<hr>
<h2 id="6-스토리지-서비스-module-6">6. 스토리지 서비스 (Module 6)</h2>
<h3 id="3대-스토리지-유형-비교-요약">3대 스토리지 유형 비교 요약</h3>
<table>
<thead>
<tr>
<th align="left">스토리지 서비스</th>
<th align="left">스토리지 유형</th>
<th align="left">접근 프로토콜 / 특징</th>
<th align="left">주요 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Amazon S3</strong></td>
<td align="left"><strong>객체 스토리지 (Object)</strong></td>
<td align="left">HTTP/HTTPS API, 무제한 용량, 11 9s (99.999999999%) 내구성</td>
<td align="left">데이터 레이크, 백업/아카이브, 정적 웹 호스팅</td>
</tr>
<tr>
<td align="left"><strong>Amazon EBS</strong></td>
<td align="left"><strong>블록 스토리지 (Block)</strong></td>
<td align="left">단일 EC2 전용 가상 드라이브 (단일 AZ 종속), 스냅샷 지원</td>
<td align="left">OS 부팅 볼륨, 트랜잭션 DB, 고성능 로컬 파일 시스템</td>
</tr>
<tr>
<td align="left"><strong>Amazon EFS</strong></td>
<td align="left"><strong>파일 스토리지 (File)</strong></td>
<td align="left">관리형 NFS (Linux 전용), 다중 AZ/다중 EC2 동시 마운트</td>
<td align="left">다중 서버 웹 서버 공유 스토리지, CMS, 빅데이터 공유</td>
</tr>
</tbody></table>
<h3 id="amazon-s3-스토리지-티어-구분">Amazon S3 스토리지 티어 구분</h3>
<ul>
<li><strong>S3 Standard</strong>: 자주 액세스하는 데이터 (핫 데이터, 고성능, 다중 AZ).</li>
<li><strong>S3 Intelligent-Tiering</strong>: 데이터 액세스 패턴을 알 수 없거나 변동이 심할 때 자동 티어링 (모니터링 수수료 발생).</li>
<li><strong>S3 Standard-IA</strong>: 자주 액세스하지 않지만 즉각적인 조회가 필요한 데이터 (콜드 데이터, 다중 AZ, 검색 비용 발생).</li>
<li><strong>S3 One Zone-IA</strong>: 1개 AZ에만 저장하여 20% 저렴 (재생성 가능한 2차 백업용).</li>
<li><strong>S3 Glacier Flexible Retrieval</strong>: 몇 분에서 몇 시간 내 복구 가능한 장기 아카이브 스토리지.</li>
<li><strong>S3 Glacier Deep Archive</strong>: 가장 저렴한 비용, 12시간 이내 검색 가능한 극장기 규정 보관 데이터용.</li>
</ul>
<h3 id="amazon-s3-핵심-관리-및-보안-기능">Amazon S3 핵심 관리 및 보안 기능</h3>
<ul>
<li><strong>S3 버전 관리 (Versioning)</strong>: 동일 객체의 여러 버전을 보관하여 의도치 않은 삭제나 덮어쓰기 복구 지원.</li>
<li><strong>S3 객체 잠금 (Object Lock / WORM - Write Once, Read Many)</strong>: 정해진 보존 기간 동안 객체의 수정 및 삭제를 원천 차단 (금융/의료 규정 준수용 Compliance 및 Governance 모드).</li>
<li><strong>S3 수명 주기 정책 (Lifecycle Rules)</strong>: 시간 경과에 따라 객체를 더 저렴한 스토리지 티어(Standard -&gt; IA -&gt; Glacier)로 자동 이동하거나 만료 삭제.</li>
<li><strong>S3 복제 (Replication)</strong>: 다중 리전 복제(CRR) 및 동일 리전 복제(SRR)를 통한 재해 복구 및 지연 시간 단축.</li>
<li><strong>S3 멀티파트 업로드 (Multipart Upload)</strong>: 100MB 이상 대용량 객체를 분할 병렬 업로드하여 전송 속도 극대화 및 네트워크 실패 복원력 제공.</li>
</ul>
<h3 id="특수-파일-스토리지-amazon-fsx-제품군">특수 파일 스토리지 (Amazon FSx 제품군)</h3>
<ul>
<li><strong>Amazon FSx for Windows File Server</strong>: 완전관리형 네이티브 Windows 파일 시스템 (SMB 프로토콜, Microsoft Active Directory 완벽 통합).</li>
<li><strong>Amazon FSx for Lustre</strong>: 고성능 컴퓨팅(HPC), 머신러닝, 미디어 렌더링 워크로드용 초고속 병렬 파일 시스템 (S3와 완벽 연동).</li>
</ul>
<h3 id="데이터-마이그레이션--하이브리드-스토리지">데이터 마이그레이션 &amp; 하이브리드 스토리지</h3>
<ul>
<li><strong>AWS Snowcone</strong>: 8TB 소형 러기드 엣지 데이터 전송/컴퓨팅 장치.</li>
<li><strong>AWS Snowball Edge</strong>: 80TB~Petabyte 규모 오프라인 대규모 데이터 물리적 마이그레이션 &amp; 엣지 컴퓨팅 장치.</li>
<li><strong>AWS Snowmobile</strong>: 최대 100PB 초대형 엑사바이트 규모 데이터 트럭 운송 솔루션.</li>
<li><strong>AWS Storage Gateway</strong>: 온프레미스와 S3/EBS 간 하이브리드 연동 (File Gateway, Volume Gateway, Tape Gateway).</li>
</ul>
<hr>
<h2 id="7-데이터베이스-및-인메모리-캐싱-module-7">7. 데이터베이스 및 인메모리 캐싱 (Module 7)</h2>
<h3 id="aws-데이터베이스-포트폴리오-매칭-공식">AWS 데이터베이스 포트폴리오 매칭 공식</h3>
<ul>
<li><strong>Amazon RDS</strong>: 관리형 관계형 데이터베이스 (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server 엔진 지원).<ul>
<li><strong>Multi-AZ</strong>: 대기(Standby) 복제본에 동기식 복제 -&gt; <strong>고가용성(HA) 및 재해 복구(DR)</strong> 목적 (읽기 트래픽 처리 불가).</li>
<li><strong>읽기 전용 복제본 (Read Replica)</strong>: 비동기 복제 -&gt; <strong>읽기(Read) 트래픽 부하 분산 및 성능 확장</strong> 목적.</li>
</ul>
</li>
<li><strong>Amazon Aurora</strong>: AWS 클라우드 네이티브 관계형 DB, MySQL 대비 5배 / PostgreSQL 대비 3배 성능, 3개 AZ에 걸쳐 6개 데이터 사본 자동 복제, 최대 15개 Read Replica 지원.</li>
<li><strong>Amazon Aurora Serverless</strong>: 실제 애플리케이션 요청에 따라 자동으로 시작, 확장, 중지되는 비용 효율적인 서버리스 관계형 DB.</li>
<li><strong>Amazon DynamoDB</strong>: 완전관리형 서버리스 NoSQL 데이터베이스 (Key-Value 및 Document), <strong>한 자릿수 밀리초(sub-10ms)</strong> 지연 시간, 오토 스케일링, 글로벌 복제(Global Tables).</li>
<li><strong>Amazon ElastiCache</strong>: 인메모리 캐싱 서비스 (<strong>Redis</strong>, <strong>Memcached</strong> 지원), 마이크로초 단위 응답 속도, 백엔드 DB 읽기 부하 대폭 절감.</li>
<li><strong>Amazon DocumentDB</strong>: MongoDB와 완벽 호환되는 완전관리형 문서(JSON) 데이터베이스.</li>
<li><strong>Amazon Neptune</strong>: 수십억 개의 연결 관계를 탐색하는 완전관리형 <strong>그래프 데이터베이스</strong> (사기 탐지, 소셜 네트워크 추천).</li>
<li><strong>Amazon DynamoDB Accelerator (DAX)</strong>: DynamoDB 전용 인메모리 캐시로 읽기 속도를 밀리초에서 <strong>마이크로초</strong> 단위로 향상.</li>
<li><strong>Amazon QLDB (Quantum Ledger Database)</strong>: 투명하고 변경 불가능(Immutable)하며 암호학적으로 검증 가능한 원장 데이터베이스.</li>
<li><strong>AWS DMS (Database Migration Service)</strong>: 소스 DB 가동 중단 없이 동종/이종 DB 간 지속적 데이터 마이그레이션 지원 (AWS SCT를 통해 스키마 변환 병행).</li>
</ul>
<hr>
<h2 id="8-ai--ml-및-데이터-분석-module-8">8. AI / ML 및 데이터 분석 (Module 8)</h2>
<h3 id="aws-3-tier-aiml-스택">AWS 3-Tier AI/ML 스택</h3>
<ul>
<li><strong>Tier 1: 사전 구축 AI 서비스 (Pre-built AI Services)</strong> (ML 전문 지식 없이 API 호출로 즉시 사용)<ul>
<li><strong>Amazon Comprehend</strong>: 자연어 처리(NLP), 문서 감정 분석, 키워드 추출.</li>
<li><strong>Amazon Polly</strong>: 텍스트를 사실적인 음성으로 변환 (TTS).</li>
<li><strong>Amazon Transcribe</strong>: 음성을 텍스트로 변환 (STT).</li>
<li><strong>Amazon Translate</strong>: 다국어 번역 서비스.</li>
<li><strong>Amazon Rekognition</strong>: 이미지 및 비디오 객체/얼굴/텍스트 분석.</li>
<li><strong>Amazon Textract</strong>: 스캔 문서 및 표/양식에서 OCR 텍스트 자동 추출.</li>
<li><strong>Amazon Lex</strong>: 대화형 챗봇 구축 엔진 (Amazon Alexa 기술 기반).</li>
<li><strong>Amazon Personalize</strong>: 실시간 개인화 추천 엔진 (Amazon.com 추천 기술 기반).</li>
<li><strong>Amazon Kendra</strong>: 자연어 검색을 지원하는 기업용 지능형 검색 서비스.</li>
</ul>
</li>
<li><strong>Tier 2: Amazon SageMaker AI</strong>: ML 모델의 데이터 준비, 구축, 훈련, 튜닝, 배포 전 과정을 지원하는 완전관리형 MLOps 플랫폼.</li>
<li><strong>Tier 3: 프레임워크 및 인프라</strong>: PyTorch, TensorFlow, GPU 가속 EC2 인스턴스.</li>
</ul>
<h3 id="생성형-ai-generative-ai-도구">생성형 AI (Generative AI) 도구</h3>
<ul>
<li><strong>Amazon Bedrock</strong>: 단일 통합 API로 최고의 파운데이션 모델(Claude, Stable Diffusion, Amazon Titan 등)을 제공하는 완전관리형 서버리스 서비스.</li>
<li><strong>Amazon SageMaker JumpStart</strong>: 사전 구축된 오픈소스/상용 파운데이션 모델 허브 (클릭 배포 및 미세 조정 Fine-Tuning).</li>
<li><strong>Amazon Q Business</strong>: 기업 내부 데이터 저장소를 안전하게 연결하여 업무 질문에 답변하는 기업용 AI 어시스턴트.</li>
<li><strong>Amazon Q Developer</strong>: IDE 내에서 다양한 언어(Java, Python, JS, C# 등)로 코드 자동 완성과 보안 검토를 수행하는 개발자 전용 AI 어시스턴트.</li>
</ul>
<h3 id="데이터-파이프라인-및-분석-서비스">데이터 파이프라인 및 분석 서비스</h3>
<ul>
<li><strong>Amazon Kinesis Data Streams</strong>: 대규모 실시간 스트리밍 데이터 수집.</li>
<li><strong>Amazon Data Firehose</strong>: 스트리밍 데이터를 준실시간(몇 초 내)으로 S3, Redshift, OpenSearch에 자동 로드하는 완전관리형 ETL.</li>
<li><strong>AWS Glue</strong>: 서버리스 Visual ETL 서비스 &amp; <strong>AWS Glue 데이터 카탈로그</strong>(메타데이터 중앙 인벤토리).</li>
<li><strong>AWS Glue DataBrew</strong>: 코딩 없이 250개 이상의 기본 변환으로 데이터를 시각적으로 정제 및 정규화하는 데이터 준비 도구.</li>
<li><strong>AWS Lake Formation</strong>: 몇 일 만에 안전한 중앙 데이터 레이크를 구축하고 거버넌스/접근 권한을 일괄 관리하는 서비스.</li>
<li><strong>Amazon Athena</strong>: S3 데이터 레이크에 저장된 원시 데이터를 별도 이동 없이 <strong>표준 SQL로 직접 쿼리</strong>하는 서버리스 분석 서비스.</li>
<li><strong>Amazon Redshift</strong>: 페타바이트 규모의 대규모 병렬 처리(MPP) 및 열 형식(Columnar) 스토리지를 갖춘 <strong>데이터 웨어하우스(DW)</strong>.</li>
<li><strong>Amazon EMR</strong>: Apache Spark, Hadoop, Hive를 실행하는 대규모 분산 빅데이터 처리 클러스터.</li>
<li><strong>Amazon QuickSight</strong>: 클라우드 기반 대화형 BI 대시보드 및 리포트 시각화 도구 (Amazon Q 통합).</li>
<li><strong>Amazon OpenSearch Service</strong>: 대용량 로그 분석, 실시간 검색 및 시스템 관찰성(Observability) 모니터링.</li>
</ul>
<hr>
<h2 id="9-클라우드-보안-iam-컴플라이언스-module-9">9. 클라우드 보안, IAM, 컴플라이언스 (Module 9)</h2>
<h3 id="aws-공동-책임-모델-shared-responsibility-model">AWS 공동 책임 모델 (Shared Responsibility Model)</h3>
<table>
<thead>
<tr>
<th align="left">책임 주체</th>
<th align="left">책임 범위</th>
<th align="left">구체적 관리 항목</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>고객의 책임</strong></td>
<td align="left"><strong>클라우드 &quot;내&quot;의 보안 (Security IN the Cloud)</strong></td>
<td align="left">고객 데이터, IAM 사용자/권한 관리, OS 패치/설치, 네트워크 방화벽 및 보안 그룹 규칙 설정, 데이터 암호화(저장 시/전송 중)</td>
</tr>
<tr>
<td align="left"><strong>AWS의 책임</strong></td>
<td align="left"><strong>클라우드 &quot;자체&quot;의 보안 (Security OF the Cloud)</strong></td>
<td align="left">하드웨어 인프라, 가상화 계층(Hypervisor), 데이터 센터 물리 보안, 글로벌 네트워크 인프라(리전, AZ, 엣지 로케이션)</td>
</tr>
</tbody></table>
<h3 id="iam-identity-and-access-management-핵심-원칙--도구">IAM (Identity and Access Management) 핵심 원칙 &amp; 도구</h3>
<ul>
<li><strong>기본 거부 (Default Deny)</strong>: 모든 권한은 기본적으로 차단되어 있으며 명시적 허용(Allow)이 있어야 접근 가능.</li>
<li><strong>최소 권한의 원칙 (Least Privilege)</strong>: 업무에 꼭 필요한 최소한의 권한만 부여.</li>
<li><strong>AWS 계정 루트 사용자</strong>: 무제한 최고 권한, <strong>MFA 필수 설정</strong>, 일상 업무 사용 금지.</li>
<li><strong>IAM 사용자 / 그룹</strong>: 고유한 사람/앱 자격 증명 및 권한 상속을 위한 사용자 그룹.</li>
<li><strong>IAM 역할 (Role)</strong>: 정적 비밀번호 없이 임시 자격 증명을 부여받는 위임 메커니즘 (EC2가 S3 접근 시, 외부 연동 Federation 시 사용).</li>
<li><strong>AWS STS (Security Token Service)</strong>: IAM 역할 수임 시 임시 보안 자격 증명(Session Token 등)을 발급하는 핵심 서비스.</li>
<li><strong>IAM 정책 (Policy)</strong>: JSON 문서로 정의 (<code>Effect</code>: Allow/Deny, <code>Action</code>: API 호출 목록, <code>Resource</code>: 리소스 ARN).</li>
<li><strong>AWS IAM Identity Center</strong>: 멀티 계정 및 사내 IDP(Active Directory) 연동 Single Sign-On (SSO) 중앙 관리.</li>
<li><strong>IAM Access Analyzer</strong>: 리소스 정책을 자동 분석하여 의도치 않게 외부 퍼블릭이나 타 계정에 공유된 리소스를 탐지.</li>
<li><strong>IAM 자격 증명 보고서 (Credential Report)</strong>: 계정 내 모든 사용자의 비밀번호, 액세스 키, MFA 설정 현황을 CSV 파일로 감사 조회.</li>
</ul>
<h3 id="보안-암호화-위협-탐지-및-규정-준수-서비스-매칭">보안, 암호화, 위협 탐지 및 규정 준수 서비스 매칭</h3>
<ul>
<li><strong>AWS Artifact</strong>: AWS의 공식 보안 및 규정 준수 보고서(SOC, PCI-DSS, ISO 등)와 온라인 계약(BAA 등)을 무료로 온디맨드 다운로드하는 규정 준수 포털.</li>
<li><strong>AWS Secrets Manager</strong>: DB 비밀번호, API 키 등 보안 암호를 저장하고 <strong>자동 교체(Rotation)</strong>하는 서비스.</li>
<li><strong>AWS KMS (Key Management Service)</strong>: 암호화 키를 생성 및 관리 (키는 KMS 외부로 절대 이탈하지 않음).</li>
<li><strong>AWS Certificate Manager (ACM)</strong>: HTTPS 통신을 위한 SSL/TLS 공인 인증서 무료 발급, 프로비저닝 및 자동 갱신.</li>
<li><strong>AWS Shield Standard</strong>: 추가 비용 없이 L3/L4 일반 DDoS 공격을 자동 완화 (Route 53, CloudFront, ELB에 기본 포함).</li>
<li><strong>AWS Shield Advanced</strong>: 전담 DDoS 대응팀(DRT), 상세 진단 보고서, L3/L4/L7 보호를 제공하는 유료 서비스.</li>
<li><strong>AWS WAF</strong>: Layer 7(웹 애플리케이션) 방화벽, Web ACL을 통해 악성 IP 차단 및 SQL Injection/XSS 공격 방어.</li>
<li><strong>Amazon Macie</strong>: S3 버킷에 저장된 개인식별정보(PII) 및 민감 데이터를 기계학습(ML)으로 자동 탐지.</li>
<li><strong>Amazon Inspector</strong>: EC2, 컨테이너(ECR), Lambda의 소프트웨어 취약성 및 보안 모범 사례 위반을 자동 스캔.</li>
<li><strong>Amazon GuardDuty</strong>: 계정 메타데이터 및 네트워크 로그를 분석하여 지능형 위협 및 이상 징후를 탐지 (ML 기반).</li>
<li><strong>Amazon Detective</strong>: GuardDuty 등에서 탐지된 보안 위협의 <strong>근본 원인(Root Cause)</strong>을 그래프 분석으로 시각화 조사.</li>
<li><strong>AWS Security Hub</strong>: 다양한 보안 서비스의 결과를 단일 대시보드에 집계하고 &#39;인사이트(Insights)&#39;로 정리하여 관리.</li>
</ul>
<hr>
<h2 id="10-시험-직전-1초-컷-상황별-키워드-매칭-공식-cheat-sheet">10. 시험 직전 1초 컷: 상황별 키워드 매칭 공식 (Cheat Sheet)</h2>
<table>
<thead>
<tr>
<th align="left">문제의 핵심 요구 조건 / 키워드</th>
<th align="left">무조건 정답 서비스</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>&quot;자본 비용을 가변 비용으로&quot;, &quot;선결제 없음&quot;</strong></td>
<td align="left">클라우드 컴퓨팅 가치 / 종량제 과금</td>
</tr>
<tr>
<td align="left"><strong>&quot;최대 90% 할인&quot;, &quot;중단 가능한 배치 작업&quot;</strong></td>
<td align="left">EC2 스팟 인스턴스 (Spot Instances)</td>
</tr>
<tr>
<td align="left"><strong>&quot;1년/3년 약정&quot;, &quot;꾸준한 워크로드&quot;, &quot;시간당 사용량 약정&quot;</strong></td>
<td align="left">Savings Plans / 예약 인스턴스 (RI)</td>
</tr>
<tr>
<td align="left"><strong>&quot;기존 라이선스 BYOL 유지&quot;, &quot;물리적 서버 전용 할당&quot;</strong></td>
<td align="left">EC2 전용 호스트 (Dedicated Host)</td>
</tr>
<tr>
<td align="left"><strong>&quot;인스턴스 중지 시 데이터 소실&quot;, &quot;임시 휘발성 블록 스토리지&quot;</strong></td>
<td align="left">EC2 인스턴스 스토어 (Instance Store)</td>
</tr>
<tr>
<td align="left"><strong>&quot;코드만 업로드하면 인프라 자동 배포 및 관리 (PaaS)&quot;</strong></td>
<td align="left">AWS Elastic Beanstalk</td>
</tr>
<tr>
<td align="left"><strong>&quot;코드형 인프라 (IaC)&quot;, &quot;JSON/YAML 템플릿 선언적 프로비저닝&quot;</strong></td>
<td align="left">AWS CloudFormation</td>
</tr>
<tr>
<td align="left"><strong>&quot;서버 관리 없이 코드만 실행&quot;, &quot;최대 15분&quot;</strong></td>
<td align="left">AWS Lambda</td>
</tr>
<tr>
<td align="left"><strong>&quot;서버리스 컨테이너 실행&quot;, &quot;EC2 인스턴스 관리 불필요&quot;</strong></td>
<td align="left">AWS Fargate</td>
</tr>
<tr>
<td align="left"><strong>&quot;온프레미스에 AWS 인프라 직접 설치&quot;, &quot;데이터 레지던시 규제&quot;</strong></td>
<td align="left">AWS Outposts</td>
</tr>
<tr>
<td align="left"><strong>&quot;대도시 인근 한 자릿수 밀리초 지연 시간&quot;, &quot;고객 IDC 불필요&quot;</strong></td>
<td align="left">AWS Local Zones</td>
</tr>
<tr>
<td align="left"><strong>&quot;5G 모바일 통신망 내부 인프라&quot;, &quot;모바일 엣지 초저지연&quot;</strong></td>
<td align="left">AWS Wavelength</td>
</tr>
<tr>
<td align="left"><strong>&quot;엣지 로케이션에서 실행되는 서버리스 코드&quot;, &quot;HTTP 요청/응답 변환&quot;</strong></td>
<td align="left">Lambda@Edge</td>
</tr>
<tr>
<td align="left"><strong>&quot;엣지에서 마이크로초 초고속 헤더/URL 조작&quot;, &quot;경량 JS&quot;</strong></td>
<td align="left">CloudFront Functions</td>
</tr>
<tr>
<td align="left"><strong>&quot;2개의 고정 Anycast IP&quot;, &quot;AWS 사설망 이용 글로벌 고속 라우팅&quot;</strong></td>
<td align="left">AWS Global Accelerator</td>
</tr>
<tr>
<td align="left"><strong>&quot;오프라인/인터넷 단절 상태에서 로컬 Lambda/ML 자율 실행&quot;</strong></td>
<td align="left">AWS IoT Greengrass / Snowball Edge</td>
</tr>
<tr>
<td align="left"><strong>&quot;인스턴스 레벨&quot;, &quot;상태 저장(Stateful)&quot;, &quot;Allow 규칙만&quot;</strong></td>
<td align="left">보안 그룹 (Security Group)</td>
</tr>
<tr>
<td align="left"><strong>&quot;서브넷 레벨&quot;, &quot;상태 비저장(Stateless)&quot;, &quot;Deny 규칙 가능&quot;</strong></td>
<td align="left">네트워크 ACL (Network ACL)</td>
</tr>
<tr>
<td align="left"><strong>&quot;인터넷을 우회하는 전용 물리 회선&quot;, &quot;일관된 대역폭&quot;</strong></td>
<td align="left">AWS Direct Connect (DX)</td>
</tr>
<tr>
<td align="left"><strong>&quot;프라이빗 인스턴스의 안전한 아웃바운드 인터넷 접속&quot;</strong></td>
<td align="left">NAT 게이트웨이 (NAT Gateway)</td>
</tr>
<tr>
<td align="left"><strong>&quot;인터넷 게이트웨이 없이 VPC 내부에서 S3/DynamoDB 비공개 연결&quot;</strong></td>
<td align="left">VPC 게이트웨이 엔드포인트 (Gateway Endpoint)</td>
</tr>
<tr>
<td align="left"><strong>&quot;수천 개 VPC와 온프레미스를 중앙 단일 허브 연결&quot;</strong></td>
<td align="left">AWS Transit Gateway</td>
</tr>
<tr>
<td align="left"><strong>&quot;11 9s 내구성&quot;, &quot;무제한 객체 스토리지&quot;</strong></td>
<td align="left">Amazon S3</td>
</tr>
<tr>
<td align="left"><strong>&quot;액세스 패턴을 알 수 없는 데이터의 자동 비용 절감&quot;</strong></td>
<td align="left">S3 Intelligent-Tiering</td>
</tr>
<tr>
<td align="left"><strong>&quot;규정 준수를 위해 정해진 기간 동안 객체 삭제/수정 원천 차단 (WORM)&quot;</strong></td>
<td align="left">S3 객체 잠금 (S3 Object Lock)</td>
</tr>
<tr>
<td align="left"><strong>&quot;가장 저렴한 극장기 아카이브&quot;, &quot;12시간 이내 복구&quot;</strong></td>
<td align="left">S3 Glacier Deep Archive</td>
</tr>
<tr>
<td align="left"><strong>&quot;단일 AZ 종속&quot;, &quot;EC2 전용 가상 블록 디스크&quot;</strong></td>
<td align="left">Amazon EBS</td>
</tr>
<tr>
<td align="left"><strong>&quot;Linux 전용 다중 EC2 동시 마운트 공유 파일 스토리지&quot;</strong></td>
<td align="left">Amazon EFS</td>
</tr>
<tr>
<td align="left"><strong>&quot;완전관리형 네이티브 Windows 파일 시스템 (SMB, Active Directory)&quot;</strong></td>
<td align="left">Amazon FSx for Windows File Server</td>
</tr>
<tr>
<td align="left"><strong>&quot;고성능 컴퓨팅(HPC) 및 ML용 초고속 병렬 파일 시스템&quot;</strong></td>
<td align="left">Amazon FSx for Lustre</td>
</tr>
<tr>
<td align="left"><strong>&quot;페타바이트 규모 대용량 오프라인 물리적 데이터 이전&quot;</strong></td>
<td align="left">AWS Snowball Edge</td>
</tr>
<tr>
<td align="left"><strong>&quot;관계형 DB 고가용성/재해복구 대기 복제본&quot;</strong></td>
<td align="left">Amazon RDS Multi-AZ</td>
</tr>
<tr>
<td align="left"><strong>&quot;관계형 DB 읽기 트래픽 부하 분산&quot;</strong></td>
<td align="left">Amazon RDS 읽기 전용 복제본 (Read Replica)</td>
</tr>
<tr>
<td align="left"><strong>&quot;MySQL 대비 5배 성능&quot;, &quot;3개 AZ에 6개 사본 복제&quot;</strong></td>
<td align="left">Amazon Aurora</td>
</tr>
<tr>
<td align="left"><strong>&quot;트래픽에 따라 자동 시작/확장/중지되는 관계형 DB&quot;</strong></td>
<td align="left">Amazon Aurora Serverless</td>
</tr>
<tr>
<td align="left"><strong>&quot;완전관리형 NoSQL&quot;, &quot;한 자릿수 밀리초 지연 시간&quot;</strong></td>
<td align="left">Amazon DynamoDB</td>
</tr>
<tr>
<td align="left"><strong>&quot;인메모리 캐싱&quot;, &quot;마이크로초 응답&quot;, &quot;DB 부하 완화&quot;</strong></td>
<td align="left">Amazon ElastiCache (Redis/Memcached)</td>
</tr>
<tr>
<td align="left"><strong>&quot;수십억 개의 관계 연결&quot;, &quot;그래프 데이터베이스&quot;</strong></td>
<td align="left">Amazon Neptune</td>
</tr>
<tr>
<td align="left"><strong>&quot;암호학적으로 검증 가능한 불변 원장 데이터베이스&quot;</strong></td>
<td align="left">Amazon QLDB</td>
</tr>
<tr>
<td align="left"><strong>&quot;무중단 이종/동종 데이터베이스 마이그레이션&quot;</strong></td>
<td align="left">AWS DMS (Database Migration Service)</td>
</tr>
<tr>
<td align="left"><strong>&quot;단일 API로 다양한 파운데이션 모델(Claude 등) 호출&quot;</strong></td>
<td align="left">Amazon Bedrock</td>
</tr>
<tr>
<td align="left"><strong>&quot;스캔 문서에서 표/양식 텍스트 추출&quot;, &quot;OCR&quot;</strong></td>
<td align="left">Amazon Textract</td>
</tr>
<tr>
<td align="left"><strong>&quot;음성을 텍스트로 (STT)&quot;</strong></td>
<td align="left">Amazon Transcribe</td>
</tr>
<tr>
<td align="left"><strong>&quot;텍스트를 음성으로 (TTS)&quot;</strong></td>
<td align="left">Amazon Polly</td>
</tr>
<tr>
<td align="left"><strong>&quot;S3 데이터 레이크 원시 데이터를 표준 SQL로 직접 쿼리&quot;</strong></td>
<td align="left">Amazon Athena</td>
</tr>
<tr>
<td align="left"><strong>&quot;페타바이트 규모 데이터 웨어하우스(DW)&quot;, &quot;열 기반 스토리지&quot;</strong></td>
<td align="left">Amazon Redshift</td>
</tr>
<tr>
<td align="left"><strong>&quot;클라우드 &#39;내&#39;의 보안 (고객 책임)&quot;</strong></td>
<td align="left">데이터 암호화, IAM 권한, OS 패치, 방화벽 규칙</td>
</tr>
<tr>
<td align="left"><strong>&quot;클라우드 &#39;자체&#39;의 보안 (AWS 책임)&quot;</strong></td>
<td align="left">하이퍼바이저, 데이터센터 물리 보안, 하드웨어</td>
</tr>
<tr>
<td align="left"><strong>&quot;정적 자격 증명 없는 임시 권한 위임&quot;, &quot;서비스 간 접근&quot;</strong></td>
<td align="left">IAM 역할 (IAM Role) / AWS STS</td>
</tr>
<tr>
<td align="left"><strong>&quot;계정 내 모든 사용자의 비밀번호/MFA 설정 현황 감사 보고서&quot;</strong></td>
<td align="left">IAM 자격 증명 보고서 (Credential Report)</td>
</tr>
<tr>
<td align="left"><strong>&quot;AWS 공식 보안 감사 및 컴플라이언스(SOC, PCI) 보고서 다운로드&quot;</strong></td>
<td align="left">AWS Artifact</td>
</tr>
<tr>
<td align="left"><strong>&quot;DB 암호/API키 자동 교체(Rotation) 및 보관&quot;</strong></td>
<td align="left">AWS Secrets Manager</td>
</tr>
<tr>
<td align="left"><strong>&quot;SSL/TLS 인증서 무료 발급 및 자동 갱신&quot;</strong></td>
<td align="left">AWS Certificate Manager (ACM)</td>
</tr>
<tr>
<td align="left"><strong>&quot;추가 비용 없는 기본 L3/L4 DDoS 완화&quot;</strong></td>
<td align="left">AWS Shield Standard</td>
</tr>
<tr>
<td align="left"><strong>&quot;L7 웹 애플리케이션 방화벽&quot;, &quot;SQL Injection 차단&quot;</strong></td>
<td align="left">AWS WAF</td>
</tr>
<tr>
<td align="left"><strong>&quot;S3 내 민감 정보(PII) ML 기반 자동 탐색&quot;</strong></td>
<td align="left">Amazon Macie</td>
</tr>
<tr>
<td align="left"><strong>&quot;EC2/컨테이너/Lambda 소프트웨어 취약성 자동 스캔&quot;</strong></td>
<td align="left">Amazon Inspector</td>
</tr>
<tr>
<td align="left"><strong>&quot;지능형 위협 탐지&quot;, &quot;비정상 네트워크 동작 ML 분석&quot;</strong></td>
<td align="left">Amazon GuardDuty</td>
</tr>
<tr>
<td align="left"><strong>&quot;보안 인시던트의 근본 원인(Root Cause) 그래프 시각화&quot;</strong></td>
<td align="left">Amazon Detective</td>
</tr>
<tr>
<td align="left"><strong>&quot;전사 보안 결과를 단일 대시보드에 집계/통합 관리&quot;</strong></td>
<td align="left">AWS Security Hub</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[AI 협업 개발에서 문서 정합성을 안지키면 결국 AI가 나를 때린다.]]></title>
            <link>https://velog.io/@oi_24/AI-%ED%98%91%EC%97%85-%EA%B0%9C%EB%B0%9C%EC%97%90%EC%84%9C-%EB%AC%B8%EC%84%9C-%EC%A0%95%ED%95%A9%EC%84%B1%EC%9D%84-%EC%95%88%EC%A7%80%ED%82%A4%EB%A9%B4-%EA%B2%B0%EA%B5%AD-AI%EA%B0%80-%EB%82%98%EB%A5%BC-%EB%95%8C%EB%A6%B0%EB%8B%A4</link>
            <guid>https://velog.io/@oi_24/AI-%ED%98%91%EC%97%85-%EA%B0%9C%EB%B0%9C%EC%97%90%EC%84%9C-%EB%AC%B8%EC%84%9C-%EC%A0%95%ED%95%A9%EC%84%B1%EC%9D%84-%EC%95%88%EC%A7%80%ED%82%A4%EB%A9%B4-%EA%B2%B0%EA%B5%AD-AI%EA%B0%80-%EB%82%98%EB%A5%BC-%EB%95%8C%EB%A6%B0%EB%8B%A4</guid>
            <pubDate>Tue, 25 Aug 2026 01:53:38 GMT</pubDate>
            <description><![CDATA[<p>AI 시대가 오면서 많은 것이 바뀌었다. 필자는 항상 &quot;대격변, 대혁명의 시대&quot;라고 주위 사람들에게 말하고 있다.</p>
<p>그중 하나는 개발하는 방식에 다들 각자 자기만의 확고한 신념이 생겼다는 것이다.</p>
<p>물론 조직 단위의 팀 프로젝트에서는 방식을 통일시키는 경우가 많다. (우리 팀은 아니지만)</p>
<p>여기서는 순전히 내가 개발의 히스토리 중 하나에 대해 쓰고 싶어서 쓴다.</p>
<hr>
<p>필자는 개발을 할 때 대체적으로 <strong>planning, design, build</strong> 이렇게 3가지 단계로 놓고 진행한다.</p>
<p>각각의 단계에는 AI가 읽거나 작성한 문서들이 들어 있다.
프로젝트 experience가 쌓이다 보니 느낀 점은, <strong>결국 이 3개의 문서들에 대한 정합성이 맞아야 한다는 것</strong>이다.</p>
<h2 id="ai는-결국-잊는다-무조건-잊는다">AI는 결국 잊는다. 무조건 잊는다.</h2>
<p><img src="https://velog.velcdn.com/images/oi_24/post/2e7e37cd-7d1e-4ff7-b407-1714d63b7191/image.png" alt=""></p>
<p>AI는 결국 잊는다.
아무리 context를 크게 가져간다고 해도 결국에는 잊을 수밖에 없다. 그리고 자기가 갖고 있는 기억의 잔존에 의지한다.
우리는 작업 중에 ai가 틀린 답변을 준 것을 여러번 경험해봤고 꽤 많은 경우의 원인이 ai의 잔존 기억을 바탕으로 추론하였기 때문이다.</p>
<p>이러면 결국 남는 것은 history, 즉 <strong>문서</strong>뿐이다.</p>
<h2 id="ai는-억울하다-읽었을-뿐이다">ai는 억울하다 읽었을 뿐이다.</h2>
<p><img src="https://velog.velcdn.com/images/oi_24/post/6e61ddd8-54d2-4b51-8e5d-10a24bd132fe/image.png" alt=""></p>
<p>문제는 남겨진 문서들 중 어떤 것이 맞고 어떤 것이 틀린지 AI는 전혀 알 수 없다는 점이다.</p>
<ul>
<li>플랜은 제대로 된 건데 디자인 쪽에서 틀린 건지?</li>
<li>플랜부터 틀렸는데 구현 쪽에서 이 문제를 발견해서 수정한 건지?</li>
</ul>
<p>문서들이 서로 다른 이야기를 하고 있다면 AI 입장에서는 누구의 말이 맞는 것인지 알 수 있는 방법이 없다. 결국 혼란스러울 수밖에 없다.</p>
<h2 id="그래서-말입니다">그래서 말입니다</h2>
<p>너무 당연한 결론이다.. 그치만 생각보다 지키기 어렵다.. ai가 너무나 많은 것은 토해내고 뿜어낸다. 이 어마어마한 양을 체크하기가 마음처럼 쉽지 않다.</p>
<p>그러므로 더더욱 각 개발 스텝에 문서들이 존재해야 하고, 그 문서들은 <strong>서로 같은 이야기</strong>를 해야 한다.</p>
<p>Planning, Design, Build 단계의 문서들이 서로 모순 없이 정합성을 유지해야 비로소 AI도 길을 잃지 않고 제대로 작동한다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Canva의 대규모 세션 철회(Session Revocations) 아키텍처(작성 중)]]></title>
            <link>https://velog.io/@oi_24/Canva%EC%9D%98-%EB%8C%80%EA%B7%9C%EB%AA%A8-%EC%84%B8%EC%85%98-%EC%B2%A0%ED%9A%8CSession-Revocations-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98%EC%9E%91%EC%84%B1-%EC%A4%91-tqvt1n8c</link>
            <guid>https://velog.io/@oi_24/Canva%EC%9D%98-%EB%8C%80%EA%B7%9C%EB%AA%A8-%EC%84%B8%EC%85%98-%EC%B2%A0%ED%9A%8CSession-Revocations-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98%EC%9E%91%EC%84%B1-%EC%A4%91-tqvt1n8c</guid>
            <pubDate>Thu, 06 Aug 2026 05:07:03 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[AI가 작업하는 동안 당신은 무엇을 하고 계신가요?]]></title>
            <link>https://velog.io/@oi_24/AI%EA%B0%80-%EC%9E%91%EC%97%85%ED%95%98%EB%8A%94-%EB%8F%99%EC%95%88-%EB%8B%B9%EC%8B%A0%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%84-%ED%95%98%EA%B3%A0-%EA%B3%84%EC%8B%A0%EA%B0%80%EC%9A%94%EC%9E%91%EC%84%B1-%EC%A4%91-kx7v552v</link>
            <guid>https://velog.io/@oi_24/AI%EA%B0%80-%EC%9E%91%EC%97%85%ED%95%98%EB%8A%94-%EB%8F%99%EC%95%88-%EB%8B%B9%EC%8B%A0%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%84-%ED%95%98%EA%B3%A0-%EA%B3%84%EC%8B%A0%EA%B0%80%EC%9A%94%EC%9E%91%EC%84%B1-%EC%A4%91-kx7v552v</guid>
            <pubDate>Fri, 31 Jul 2026 04:49:35 GMT</pubDate>
            <description><![CDATA[<h1 id="ai-시대-코드가-짜여지는-공백-시간을-우리는-어떻게-채워야-하는가">AI 시대, 코드가 짜여지는 &#39;공백 시간&#39;을 우리는 어떻게 채워야 하는가?</h1>
<p>개발을 한다고 해서 우리의 손이 항상 키보드 위에서 바쁘게 움직이지만은 않는다. </p>
<p>개발을 모르는 사람이 개발자가 일하는 모습을 본다면 *&quot;왜 가만히 아무것도 안 하고 있지?&quot;*라고 생각할 만한 포인트들이 몇 가지 있다. 몇 년 전만 해도 우리는 컴파일, 빌드, 테스트 코드 실행, CI/CD 파이프라인 배포, 로컬 서버 또는 앱 재시작 등 개발자가 멍하니 있는 것처럼 보이는 &#39;공백의 시간&#39;이 분명히 다수 존재했다. </p>
<p>AI 대격변이 일어나 개발 환경이 크게 바뀐 2026년 현재에도 개발자가 멍해 보이는 공백 시간은 여전히 존재한다. 아니, 체감상 오히려 더 빈번하게, 더 자주 일어난다.</p>
<hr>
<h2 id="1-my-code-is-compiling에서-ai-idle-time으로">1. &quot;My Code is Compiling!&quot;에서 &quot;AI Idle Time&quot;으로</h2>
<p><img src="https://velog.velcdn.com/images/oi_24/post/3aa48808-e170-4a04-b2bd-d052cd5d0e66/image.png" alt=""></p>
<p>과거 개발자들 사이에서 유명했던 밈(Meme) 중에 <strong>&quot;My Code is Compiling!&quot;</strong>(내 코드 컴파일 중이야!)이 있었다. 코드 컴파일이 완료되기를 기다리는 몇 분 ~ 몇십 분의 공백 시간을 핑계 삼아 의자 칼싸움을 하던 모습을 비유한 밈으로, 필자 역시 상당히 좋아했던 해학이다.
<img src="https://velog.velcdn.com/images/oi_24/post/38a912da-81cf-40a1-a457-9dc18915b8eb/image.jpeg" alt=""></p>
<p>이 밈을 2026년 현재에 그대로 사용하긴 힘들지만, 약간 바꿔볼 수는 있겠다. </p>
<p>요즘 개발자들에게는 빌드와 컴파일이 아니라, <strong>AI 에이전트가 코드를 짜고 테스트 루프를 돌리는 시간</strong>이 새로운 공백 시간이 되었다. 손으로 직접 타이핑하는 시간은 사라졌지만, 에이전트의 수행 결과를 기다리는 이 어중간한 대기 시간이 꽤나 자주 발생한다.</p>
<p>이 현상을 업계에서는 <strong>&#39;AI Idle Time Paradox (AI 대기 시간의 역설)&#39;</strong>이라 부르기도 한다. 어중간한 10초~3분 단위의 공백 시간이 수시로 발생하면서, AI가 결과를 내놓을 때마다 일어나는 컨텍스트 스위칭(Context Switching)으로 인해 집중력이 깨지고 오히려 피로감이 쌓이는 역설이다.</p>
<p>물론 이 시간을 모두가 무의미하게 가만히 기다리지는 않을 것이다. 누구는 AI가 작성하는 코드를 실시간으로 팔로우할 것이고, 또 누구는 다음에 진행할 다른 작업에 대해 고민하고 고뇌하는 시간으로 사용할 것이다.</p>
<hr>
<h2 id="2-ai가-코드를-짜는-동안-우리는-무엇을-해야-하는가">2. AI가 코드를 짜는 동안, 우리는 무엇을 해야 하는가?</h2>
<p><img src="https://velog.velcdn.com/images/oi_24/post/fb29be12-bdd3-4b1b-8d6f-c1961cf92e91/image.jpg" alt=""></p>
<p>AI가 코드를 짜주는 동안 생기는 이 어중간한 시간을 우리는 어떻게 써야 할까? </p>
<p>사실 놀아도 된다. 머리를 식히며 재충전하는 시간으로 쓰는 것도 좋은 방법일 것이다. </p>
<p>하지만 이 공백 시간 동안 무엇을 해야 할지 몰라 답답함을 느끼는 분들을 위해, 소프트웨어 공학의 두 거장의 발언을 빌려 몇 가지 방향을 제안해 보고자 한다.</p>
<blockquote>
<p>💬 <strong>켄트 벡 (Kent Beck, TDD 창시자)</strong>
*&quot;90% of my skills just went to zero dollars; 10% of my skills just went up 1000x.&quot;*
(내 기술의 90%[단순 문법 작성 및 구현 스킬]는 가치가 0달러로 떨어졌지만, 나머지 10%[의도 정의, 테스트 설계, 아키텍처 비전]의 가치는 1,000배나 폭등했다.)</p>
</blockquote>
<blockquote>
<p>💬 <strong>마틴 파울러 (Martin Fowler, 리팩터링 및 아키텍처 거장)</strong>
그의 블로그(martinfowler.com) 칼럼 시리즈(<em>Exploring Generative AI</em>)를 통해 <strong>&quot;AI가 코드를 대신 짜주는 시대일수록, 비결정론적인 AI 코드를 검증하기 위한 TDD와 구조화된 명세(Spec) 기반의 검증 작업이 그 어느 때보다 절대적이다&quot;</strong>라고 강조한다.</p>
</blockquote>
<hr>
<h2 id="3-공백-시간을-채우는-3가지-제안">3. 공백 시간을 채우는 3가지 제안</h2>
<p>두 거장의 주장을 바탕으로, AI가 작동하는 공백 시간을 활용할 수 있는 <strong>3가지 개발 패턴</strong>을 제안한다.</p>
<h3 id="1-스펙-기반-개발-및-명세-정제-spec-driven-development-sdd">1) 스펙 기반 개발 및 명세 정제 (Spec-Driven Development, SDD)</h3>
<p>AI에게 코딩을 맡겨놓은 공백 시간 동안 모니터를 멍하니 바라보지 않고, <strong>다음 구현할 기능의 명세서(Spec)와 에지 케이스(Edge Case)를 정교하게 작성</strong>하는 방식이다. 구현을 AI가 맡는 만큼, 의도와 요구사항을 명확히 정의할수록 결과물의 품질이 비약적으로 상승한다.</p>
<h3 id="2-컨텍스트-큐레이션-context-engineering--governance">2) 컨텍스트 큐레이션 (Context Engineering &amp; Governance)</h3>
<p>프롬프트 하나하나에 집착하거나 복잡한 시스템에 연연하는 대신, <strong>AI가 깨끗한 환경에서 일할 수 있도록 정보 환경(Context)을 청소하고 정돈</strong>하는 방식이다. 프로젝트의 <code>CLAUDE.md</code>, 규칙 파일, 의존성 관계 및 컨텍스트 문서를 다듬는 데 공백을 활용한다.</p>
<h3 id="3-검증-중심-개발-및-딥-디프-리뷰-verification-first--deep-diff-audit">3) 검증 중심 개발 및 딥 디프 리뷰 (Verification-First &amp; Deep Diff Audit)</h3>
<p>AI가 코드를 뚝딱 만들어내는 시간 동안 딴짓을 하지 않고, <strong>AI가 내놓은 결과물과 아키텍처를 검증하고 평가(Eval)하는 심층 코드 리뷰어</strong>로 동작하는 방식이다. AI가 짠 코드의 보안성, 테스트 통과 여부, 아키텍처 오염을 꼼꼼히 체크한다.</p>
<hr>
<h2 id="4-우리는-대체될-코더인가-주도적인-개발자인가">4. 우리는 &#39;대체될 코더&#39;인가, &#39;주도적인 개발자&#39;인가</h2>
<p>그저 AI에게 무지성으로 *&quot;해줘&quot;<em>라고 던져놓고 결과만 멍하니 기다리는 것은, 스스로가 *</em>&quot;AI에게 언제든 대체될 수 있는 단순 코더&quot;**임을 증명하는 것과 다름없다.</p>
<p>우리는 이미 알고 있다. 아무리 AI 모델의 성능이 좋아지고 비약적인 생산성 향상을 가져다준다 해도, 개발자의 대체 불가능한 핵심 요소는 분명히 존재한다는 것을.</p>
<p>AI는 개발을 원활하게 도와주는 &#39;도구&#39;일 뿐이다. <strong>언제나 개발의 주체는 우리 개발자라는 사실</strong>을 잊지 말자.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 9: 보안]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-9-%EB%B3%B4%EC%95%88</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-9-%EB%B3%B4%EC%95%88</guid>
            <pubDate>Thu, 23 Jul 2026 15:17:53 GMT</pubDate>
            <description><![CDATA[<h1 id="module-9-보안">Module 9: 보안</h1>
<h2 id="aws-보안-소개">AWS 보안 소개</h2>
<ul>
<li><p>보안의 핵심 2대 필수 요소: 인증과 권한 부여</p>
<ul>
<li>인증 (Authentication)<ul>
<li>정의<ul>
<li>사용자 이름 및 암호 조합, MFA 등 자격 증명(Credentials)을 통해 시스템에 접속하려는 사용자 또는 엔터티의 신원(ID)을 입증하고 확인하는 검증 프로세스</li>
</ul>
</li>
<li>실제 사용 사례<ul>
<li>직원이 전용 자격 증명을 사용하여 회사 직원 포털 사이트에 접속 및 로그인함</li>
</ul>
</li>
</ul>
</li>
<li>권한 부여 (Authorization)<ul>
<li>정의<ul>
<li>신원이 확인된 사용자가 시스템, 애플리케이션 또는 리소스 내에서 수행할 수 있는 특정 읽기/쓰기/수행 작업 범위 및 액세스 권한(Permissions)을 결정하는 통제 프로세스</li>
</ul>
</li>
<li>실제 사용 사례<ul>
<li>로그인한 직원이 포털 전체 데이터에 접근하지 못하고, 오직 본인에게 허용된 본인 전용 직원 레코드 영역에 한해서만 접근함</li>
</ul>
</li>
</ul>
</li>
<li>데이터 프라이버시 및 보호에서의 중요성<ul>
<li>무단 액세스 및 오용 방지, 고객 신뢰 유지, 신원 도용 및 금융 사기 예방</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 공동 책임 모델 (AWS Shared Responsibility Model)</p>
<ul>
<li>클라우드 보안의 핵심 원칙<ul>
<li>보안은 AWS와 고객 간의 상호 책임 분담 관계에 기반함</li>
</ul>
</li>
<li>고객의 책임: 클라우드 &quot;내&quot;의 보안 (Security IN the Cloud)<ul>
<li>정의/범위: 고객이 AWS 클라우드 내에 직접 생성, 배치, 구성, 저장하는 모든 데이터와 워크로드의 보안 관리</li>
<li>구체적 책임 영역<ul>
<li>데이터, 시스템, 애플리케이션의 엔드투엔드 보안 관리 및 암호화 설정</li>
<li>AWS에 저장하거나 실행할 데이터 및 워크로드의 종류 결정</li>
<li>워크로드 운영을 위해 사용할 AWS 서비스 및 리소스 구성 결정</li>
<li>사용자 계정, 액세스 권한, IAM 정책 및 리소스 접근 제어 관리</li>
</ul>
</li>
</ul>
</li>
<li>AWS의 책임: 클라우드 &quot;자체&quot;의 보안 (Security OF the Cloud)<ul>
<li>정의/범위: AWS가 인프라의 모든 하부 계층에서 서비스를 운영, 관리, 제어하고 보호하는 전반적인 물리 및 소프트웨어 보안</li>
<li>구체적 책임 영역<ul>
<li>AWS 서비스를 지원하는 컴퓨팅, 데이터베이스, 스토리지 기본 소프트웨어 및 런타임 관리</li>
<li>가상화 계층 (Hypervisor / Virtualization Layer) 관리 및 격리</li>
<li>서비스를 구동하는 데이터 센터의 물리적 하드웨어 및 글로벌 인프라 보안 (AWS 리전, 가용 영역 AZ, 엣지 로케이션의 물리적 보호)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 보안 제어 3대 모범 사례 원칙 (AWS Security Controls)</p>
<ul>
<li><strong>보안 사고 예방 (Prevent)</strong>: 적절한 권한 부여 및 아이덴티티/액세스 관리(IAM)를 통한 무단 인시던트 사전 차단</li>
<li><strong>다층 보호 (Protect)</strong>: 네트워크, 애플리케이션, 데이터 전반에 대한 다중 암호화 및 다층 경계 보호막 구축</li>
<li><strong>탐지 및 신속 대응 (Detect &amp; Respond)</strong>: 보안 인시던트 발생 시 실시간 이상 징후 탐지 및 즉각 자동화 대응</li>
</ul>
</li>
<li><p><strong>인증 vs 권한 부여 및 AWS 공동 책임 모델 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">구분 영역</th>
<th align="left">개념 정의 / 핵심 메커니즘</th>
<th align="left">책임 및 통제 주체</th>
<th align="left">대표 예시 / 영역</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>인증 (Authentication)</strong></td>
<td align="left">신원(ID) 확인 및 검증 프로세스</td>
<td align="left">계정 사용자 / 엔터티</td>
<td align="left">사용자 이름 &amp; 암호 로그인, MFA 검증</td>
</tr>
<tr>
<td align="left"><strong>권한 부여 (Authorization)</strong></td>
<td align="left">허용된 작업 범위 및 액세스 권한 통제</td>
<td align="left">시스템 관리자 / IAM 정책</td>
<td align="left">특정 DB 레코드 조회 권한, 읽기/쓰기 범위 제어</td>
</tr>
<tr>
<td align="left"><strong>고객 책임 (Security IN Cloud)</strong></td>
<td align="left">클라우드 내부 데이터 및 워크로드 보안</td>
<td align="left">고객 (사용자)</td>
<td align="left">데이터 암호화, OS 패치, IAM 권한, 네트워크 ACL</td>
</tr>
<tr>
<td align="left"><strong>AWS 책임 (Security OF Cloud)</strong></td>
<td align="left">클라우드 인프라 자체의 물리/소프트웨어 보안</td>
<td align="left">AWS (클라우드 제공자)</td>
<td align="left">호스트 인프라, 가상화 계층, 데이터 센터 물리 보안</td>
</tr>
</tbody></table>
<h2 id="aws-보안-제어">AWS 보안 제어</h2>
<h3 id="무단-엑세스-차단">무단 엑세스 차단</h3>
<ul>
<li><p>AWS 보안 기본 통제 원칙</p>
<ul>
<li><strong>기본 거부 (Default Deny)</strong><ul>
<li>IAM 사용자를 새로 생성하면 기본적으로 모든 API 호출 및 AWS 리소스 작업이 거부됨</li>
<li>명시적으로 권한을 허용(Allow)하지 않는 한 계정 내에서 어떤 리소스(EC2, S3 버킷 등)도 생성하거나 조회할 수 없음</li>
</ul>
</li>
<li><strong>최소 권한의 원칙 (Principle of Least Privilege)</strong><ul>
<li>사용자, 시스템, 애플리케이션에 해당 업무를 수행하는 데 꼭 필요한 최소한의 명시적 액세스 권한만 제공하고, 나머지 모든 권한은 차단하는 핵심 보안 모범 사례</li>
</ul>
</li>
</ul>
</li>
<li><p>IAM 핵심 자격 증명 5가지 (IAM Identities &amp; Controls)</p>
<ul>
<li><strong>1. AWS 계정 루트 사용자 (AWS Account Root User)</strong><ul>
<li>정의: AWS 계정 생성 시 기본 제공되는 계정 소유자이자 최고 권한 자격 증명</li>
<li>특징: 계정 내 모든 리소스 및 서비스에 대한 무제한 전체 접근 권한(Full Admin Access) 보유</li>
<li>보안 모범 사례: 복합적이고 강력한 암호 설정, 2가지 이상의 확인 단계를 거치는 <strong>다중 인증(MFA)</strong> 필수 활성화, 일상 업무에는 사용하지 말고 IAM 사용자/역할을 별도 생성하여 활용</li>
</ul>
</li>
<li><strong>2. IAM 사용자 (IAM User)</strong><ul>
<li>정의: AWS 서비스 및 리소스와 지속적으로 상호 작용하는 사람(직원) 또는 애플리케이션에 대한 고유 자격 증명</li>
<li>특징: 사용자 이름과 정적 자격 증명(비밀번호, Access Key)으로 구성되며, 사용자마다 개별 IAM 사용자를 생성하여 고유한 보안 자격 증명 세트를 갖도록 권장함</li>
</ul>
</li>
<li><strong>3. IAM 그룹 (IAM Group)</strong><ul>
<li>정의: 동일한 직무와 권한을 공유하는 IAM 사용자들의 집합체(Collection)</li>
<li>특징: 그룹에 IAM 정책을 연결하면 그룹 내 모든 사용자가 해당 권한을 일괄 상속받음 (예: 개발팀, 재무팀 단위의 관리 효율화)</li>
</ul>
</li>
<li><strong>4. IAM 역할 (IAM Role)</strong><ul>
<li>정의: 정적 자격 증명(ID/비밀번호)이 없으며, 필요 시 임시로 권한을 수임(Assume)하여 사용하는 보안 자격 증명</li>
<li>특징: 특정 역할을 수임하면 이전 역할의 권한을 포기하고 새 역할의 권한을 일시적으로 획득함. 사용자, 외부 자격 증명 연동(Federation), AWS 서비스 간 접근(예: EC2가 S3에 접근) 시 임시 위임 권한 부여에 활용</li>
</ul>
</li>
<li><strong>5. IAM 정책 (IAM Policy)</strong><ul>
<li>정의: AWS 서비스 및 리소스에 대한 액세스 권한(허용/거부)을 정의한 <strong>JSON 형식 문서</strong></li>
<li>JSON 정책 구문의 3대 핵심 구성 요소:<ul>
<li><code>Effect</code>: 권한 허용 여부 (<code>Allow</code> 또는 <code>Deny</code> 2가지 옵션만 선택 가능)</li>
<li><code>Action</code>: 허용하거나 거부할 특정 AWS API 호출 지정 (예: <code>s3:ListBucket</code>)</li>
<li><code>Resource</code>: 해당 API 작업이 적용될 특정 AWS 리소스 ID/ARN 지정 (예: <code>coffee_shop_report</code> 버킷)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>기업 규모 권한 연동 및 Single Sign-On 서비스</p>
<ul>
<li><strong>자격 증명 연동 (Identity Federation)</strong><ul>
<li>사내 기존 기업 계정 시스템(Active Directory 등)의 자격 증명을 IAM 역할에 매핑하여, 사용자가 개별 IAM 사용자 생성 없이 기존 회사 계정 정보로 AWS에 접속하는 방식</li>
</ul>
</li>
<li><strong>AWS IAM Identity Center</strong><ul>
<li>정의: SSO(Single Sign-On) 설정을 지원하여 사용자가 단일 자격 증명으로 여러 AWS 계정 및 사내 애플리케이션 리소스에 간소화되어 안전하게 로그인하도록 관리하는 서비스</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>IAM 5대 자격 증명 및 정책 요소 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">구분 자격 증명/구성요소</th>
<th align="left">자격 증명 성격 / 데이터 형식</th>
<th align="left">자격 증명 지속성</th>
<th align="left">주 활용 목적 및 특성</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>AWS 계정 루트 사용자</strong></td>
<td align="left">최고 권한 계정 소유자</td>
<td align="left">영구 (기본 제공)</td>
<td align="left">계정 최초 생성 및 결제 등 관리 전용 (MFA 필수)</td>
</tr>
<tr>
<td align="left"><strong>IAM 사용자 (IAM User)</strong></td>
<td align="left">개별 인원 및 시스템 ID</td>
<td align="left">영구 (정적 자격 증명)</td>
<td align="left">개별 구성원 및 상시 개별 접속 시스템 전용 자격 증명</td>
</tr>
<tr>
<td align="left"><strong>IAM 그룹 (IAM Group)</strong></td>
<td align="left">IAM 사용자들의 모음</td>
<td align="left">엔터티 그룹</td>
<td align="left">동일 직무 사용자 집단 권한 일괄 부여 및 상속</td>
</tr>
<tr>
<td align="left"><strong>IAM 역할 (IAM Role)</strong></td>
<td align="left">임시 위임 자격 증명</td>
<td align="left">임시 (정적 Credential 없음)</td>
<td align="left">서비스 간 액세스, 외부 사용자 연동(Federation), 임시 권한 수임</td>
</tr>
<tr>
<td align="left"><strong>IAM 정책 (IAM Policy)</strong></td>
<td align="left">JSON 문서 (<code>Effect</code>, <code>Action</code>, <code>Resource</code>)</td>
<td align="left">권한 규정 문서</td>
<td align="left">사용자/그룹/역할에 연결되어 명시적 API 권한 수락/거부 정의</td>
</tr>
</tbody></table>
<h3 id="aws-iam-실습-데모--추가-액세스-관리-서비스">AWS IAM 실습 데모 &amp; 추가 액세스 관리 서비스</h3>
<ul>
<li><p>IAM 실습 데모: IAM 사용자 생성, 그룹 추가 및 임시 역할 생성 절차</p>
<ul>
<li><strong>1. IAM 사용자 생성 (<code>john_doe</code>)</strong><ul>
<li>IAM Dashboard -&gt; <code>Users</code> -&gt; <code>Create user</code> 선택</li>
<li>사용자 고유 이름 <code>john_doe</code> 지정 및 AWS Management Console 접속 권한 부여 옵션 선택</li>
</ul>
</li>
<li><strong>2. IAM 그룹 생성 (<code>employees</code>) 및 권한 정책 연결</strong><ul>
<li>개별 사용자마다 정책을 일일이 매핑하는 것보다 그룹 단위 관리가 효율적임</li>
<li><code>Create Group</code> -&gt; 그룹 이름 <code>employees</code> 지정</li>
<li><strong>권한 정책 유형의 2가지 구분</strong>:<ul>
<li><code>AWS 관리형 정책 (AWS Managed Policy)</code>: AWS에서 직접 생성 및 최적화하여 제공하는 표준 독립형 정책 (예: <code>ViewOnlyAccess</code>)</li>
<li><code>고객 관리형 정책 (Customer Managed Policy)</code>: 세부적인 사용자 지정 통제를 위해 조직이 직접 작성 및 관리하는 커스텀 정책</li>
</ul>
</li>
<li><code>employees</code> 그룹에 AWS 관리형 정책 <code>ViewOnlyAccess</code> 연결 후 <code>Create User Group</code> 실행하여 사용자 <code>john_doe</code>를 그룹에 추가 (그룹의 모든 권한 자동 상속)</li>
</ul>
</li>
<li><strong>3. 임시 IAM 역할 생성 (<code>s3_read_only</code>)</strong><ul>
<li><code>Roles</code> -&gt; <code>Create Role</code> -&gt; Trusted Entity Type으로 <code>AWS account</code> 선택</li>
<li>보안 강화를 위해 <code>Require MFA</code> (다중 인증 필수) 옵션 체크</li>
<li>최소 액세스 권한 설정을 위해 S3 읽기 전용 정책(<code>AmazonS3ReadOnlyAccess</code>, <code>AmazonS3TablesReadOnlyAccess</code>) 검색 및 연결</li>
<li>Role Name으로 <code>s3_read_only</code> 입력 후 역할 생성 완료</li>
<li><em>역할 수임 효과</em>: 이 역할을 수임(Assume)한 사용자는 정적 자격 증명 없이 S3 버킷에 대한 임시 읽기 권한만을 위임받아 안전하게 작업 수행 가능</li>
</ul>
</li>
</ul>
</li>
<li><p>추가 보안 및 액세스 관리 서비스군 (Identity &amp; Secrets Services)</p>
<ul>
<li><strong>AWS IAM Identity Center (페더레이션형 ID 및 SSO 관리)</strong><ul>
<li>정의: 계정과 애플리케이션 전체의 자격 증명 및 액세스 관리를 중앙 집중화하고 Single Sign-On(SSO)을 지원하는 서비스</li>
<li>핵심 개념 (페더레이션형 ID 관리, Federated ID Management): 직원이 사내 단일 자격 증명 세트(Active Directory 등) 하나로 여러 AWS 계정, 도메인, 외부 애플리케이션에 일괄 접속하도록 지원</li>
</ul>
</li>
<li><strong>AWS Secrets Manager (보안 암호 관리 및 자동 교체)</strong><ul>
<li>정의: 데이터베이스 자격 증명(ID/비밀번호), API 키, 비공개 토큰 등 민감한 보안 암호(Secrets)를 전체 수명 주기 동안 암호화 관리, 자동 교체(Rotation) 및 안전하게 검색·조회하는 서비스</li>
<li>보안 암호(Secrets)의 대상: 데이터베이스 접속 계정, OAuth API 키, 비공개 서명 토큰 등 기밀 유지 정보</li>
</ul>
</li>
<li><strong>AWS Systems Manager (하이브리드 노드 관리 및 패치 자동화)</strong><ul>
<li>정의: AWS 리전, 계정, 멀티 클라우드 및 온프레미스 하이브리드 환경 전체에 존재하는 모든 노드(Node)에 대한 중앙 집중식 가시성을 제공하고 운영 관리를 자동화하는 서비스</li>
<li>노드(Node)의 개념: 네트워크, 시스템 또는 인프라 구조 내에 접속된 개별 연결 지점(EC2 인스턴스, 온프레미스 서버 등)</li>
<li>주요 기능: OS 세부 정보 및 자격 증명 신속 조회, 사용자 계정 관리, 레지스트리 편집, 자동 보안 패치 적용 지원</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>추가 액세스 관리 서비스 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">서비스 명칭</th>
<th align="left">주 관리 대상 / 영역</th>
<th align="left">핵심 기능 및 메커니즘</th>
<th align="left">대표 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>AWS IAM Identity Center</strong></td>
<td align="left">페더레이션 ID &amp; 계정 액세스</td>
<td align="left">SSO(Single Sign-On) 중앙 집중 통합 및 사내 기존 IDP 연동</td>
<td align="left">멀티 계정 환경 단일 로그인, 사내 AD 연동</td>
</tr>
<tr>
<td align="left"><strong>AWS Secrets Manager</strong></td>
<td align="left">민감 보안 암호 (Secrets)</td>
<td align="left">비밀번호/API키 자동 교체(Rotation) 및 암호화 검색</td>
<td align="left">DB 자격 증명 자동 교체, 소스코드 내 비밀번호 하드코딩 제거</td>
</tr>
<tr>
<td align="left"><strong>AWS Systems Manager</strong></td>
<td align="left">노드(Node) 및 인프라 운영</td>
<td align="left">하이브리드 노드 중앙 가시성 확보, OS 자동 패치 및 리소스 관리</td>
<td align="left">멀티클라우드/온프레미스 서버 관제, OS 보안 패치 자동화</td>
</tr>
</tbody></table>
<h3 id="네트워크-및-애플리케이션-보호">네트워크 및 애플리케이션 보호</h3>
<ul>
<li><p>서비스 거부 공격의 개념 및 차이점</p>
<ul>
<li><strong>DoS (Denial of Service, 서비스 거부 공격)</strong><ul>
<li>정의: 단일 공격자가 웹 애플리케이션에 과도한 네트워크 트래픽 및 소켓 요청을 전송하여 인프라 용량 과부하를 유발하는 공격</li>
<li>결과: 웹 애플리케이션이 응답 불능 상태에 빠져 일반 정상 고객의 정당한 서비스 요청이 거부됨</li>
</ul>
</li>
<li><strong>DDoS (Distributed Denial of Service, 분산 서비스 거부 공격)</strong><ul>
<li>정의: 인터넷상의 감염된 수많은 컴퓨터 시스템(일명 <strong>좀비 봇, Zombie Bots</strong>)을 악용하여 부지불식간에 대상 웹 애플리케이션으로 대규모 무차별 트래픽을 동시 발송하는 공격</li>
<li><strong>UDP Flood 공격 사례</strong>: 국립 기상청 같은 정당한 인터넷 서비스에 가짜 요청(응답 반환 주소를 공격 대상 IP로 조작)을 발송하여 메가바이트 단위의 기상 데이터가 피해 서버의 네트워크 용량을 꽉 채워 마비시키는 무차별 대입 공격</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 인프라 수준의 자동 방어 체계 (Infrastructure Protection)</p>
<ul>
<li><strong>보안 그룹 (Security Groups)</strong><ul>
<li>올바른 프로토콜 요청 트래픽만 선별 허용함 (UDP Flood 등 목록에 없는 프로토콜 사전 차단)</li>
<li>개별 EC2 인스턴스 호스트 레벨이 아닌 <strong>AWS 네트워크 수준(VPC/가상화 경계)</strong>에서 운영되므로, 전체 AWS 리전의 막대한 용량을 활용해 대규모 공격을 일차적으로 흡수 및 무력화</li>
</ul>
</li>
<li><strong>Elastic Load Balancing (ELB)</strong><ul>
<li>애플리케이션 진입점 역할을 수행하며, 트래픽을 프론트엔드 인스턴스로 전달하기 전에 먼저 수용 및 분산하므로 서버의 직접 과부하 방지 (리전 수준 실행)</li>
</ul>
</li>
<li><strong>AWS 리전 (AWS Region)</strong><ul>
<li>전 세계에 분포된 여러 리전, 가용 영역(AZ), 엣지 로케이션의 메가급 인프라 용량을 바탕으로 단일 시스템에 과부하를 유발하기 어렵게 인프라가 설계됨</li>
</ul>
</li>
</ul>
</li>
<li><p>전용 네트워크 및 애플리케이션 보호 서비스</p>
<ul>
<li><strong>AWS Shield Standard</strong><ul>
<li>정의: 가장 일반적으로 자주 발생하는 L3/L4 수준의 DDoS 공격으로부터 모든 AWS 고객 리소스를 <strong>추가 비용 없이 기본으로 자동 보호</strong>하는 서비스</li>
<li>주요 특징: 실시간 분석 기술로 악성 네트워크 트래픽을 탐지 및 완화하며, Elastic Load Balancing, Amazon CloudFront, Amazon Route 53 등 주요 서비스에 기본 포함됨</li>
</ul>
</li>
<li><strong>AWS Shield Advanced</strong><ul>
<li>정의: 대규모 및 정교한 DDoS 공격에 대비해 상세한 공격 진단 보고서 및 능동적 완화 기능을 제공하는 <strong>유료 프리미엄 서비스</strong></li>
<li>주요 특징: Amazon CloudFront, Amazon Route 53, ELB와 완벽 통합되며, 전담 DDoS 대응팀(DRT) 지원 제공</li>
</ul>
</li>
<li><strong>AWS WAF (Web Application Firewall)</strong><ul>
<li>정의: 웹 애플리케이션으로 유입되는 Layer 7(HTTP/HTTPS) 네트워크 요청을 실시간 모니터링 및 필터링하는 웹 애플리케이션 방화벽</li>
<li>주요 특징: <strong>웹 액세스 제어 목록(Web ACL)</strong> 및 IP 규칙 세트와 수신 쿼리를 비교하여, 차단 목록의 IP 주소나 악성 서명 요청에 대해 즉각 액세스를 거부(<code>Block</code>)하고 정상 요청만 허용 (<code>Allow</code>)</li>
<li>ML 연동 방어: 기계 학습 기능을 갖추고 있어 변화하는 최신 위협 패턴을 스스로 인지하며, AWS Shield Advanced 및 CloudFront/ALB와 연동해 커스텀 방어 규칙 적용 가능</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS DDoS 방어 체계 및 보호 서비스 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">방어 주체 / 서비스</th>
<th align="left">운영 계층 / 방식</th>
<th align="left">주요 기능 및 메커니즘</th>
<th align="left">비용 및 적용 대상</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>보안 그룹 (Security Group)</strong></td>
<td align="left">AWS 네트워크 수준</td>
<td align="left">허용 트래픽 프로토콜만 선별, 리전 대용량으로 대규모 공격 차단</td>
<td align="left">기본 제공 (VPC/인스턴스)</td>
</tr>
<tr>
<td align="left"><strong>Elastic Load Balancing</strong></td>
<td align="left">리전 진입점 레벨</td>
<td align="left">트래픽 사전 분산 수용을 통해 프론트엔드 직접 과부하 차단</td>
<td align="left">ELB 서비스 기본 기능</td>
</tr>
<tr>
<td align="left"><strong>AWS Shield Standard</strong></td>
<td align="left">L3/L4 네트워크계층</td>
<td align="left">자주 발생하는 일반 DDoS 트래픽 실시간 자동 완화</td>
<td align="left">기본 무료 포함 (ELB, CloudFront, Route 53)</td>
</tr>
<tr>
<td align="left"><strong>AWS Shield Advanced</strong></td>
<td align="left">정교한 L3/L4/L7 계층</td>
<td align="left">상세 진단, 자동 완화, DDoS 전담 대응팀(DRT) 지원</td>
<td align="left">유료 프리미엄 서비스 (고급 옵션)</td>
</tr>
<tr>
<td align="left"><strong>AWS WAF</strong></td>
<td align="left">L7 애플리케이션계층</td>
<td align="left">Web ACL 기반 악성 IP/패턴 필터링, 기계학습 모니터링</td>
<td align="left">사용한 Web ACL/규칙 및 요청 수별 과금</td>
</tr>
</tbody></table>
<h3 id="데이터-보호">데이터 보호</h3>
<ul>
<li><p>데이터 암호화의 기본 개념</p>
<ul>
<li><strong>자물쇠와 열쇠(Key) 메커니즘</strong>: 올바른 암호화/암호 해독 키(Key)를 보유한 승인된 주체만 데이터를 인지 가능한 형태로 해독하여 액세스하도록 무작위 문자열로 변환하는 기술</li>
<li><strong>목적</strong>: 민감 개인정보(전화번호, 신용카드 정보 등) 유출 차단, 고객 신뢰 유지, 신원 도용 및 금융 사기 예방</li>
</ul>
</li>
<li><p>암호화의 2가지 핵심 형태 (Data Status)</p>
<ul>
<li><strong>저장 시 데이터 암호화 (Encryption at Rest)</strong><ul>
<li>정의: 데이터가 유휴 상태(Idle)로 디스크나 데이터베이스 스토리지에 이동하지 않고 저장되어 있을 때의 보호 형태</li>
<li>적용 예시: 데이터베이스 레코드, EBS 볼륨, S3 버킷 객체, 스냅샷 등</li>
</ul>
</li>
<li><strong>전송 중 데이터 암호화 (Encryption in Transit)</strong><ul>
<li>정의: 데이터가 소스에서 목적지로 네트워크를 통해 한 위치에서 다른 위치로 이동할 때의 보호 형태</li>
<li>프로토콜 메커니즘: <strong>SSL (Secure Sockets Layer)</strong> 및 업데이트된 최신 <strong>TLS (Transport Layer Security)</strong> 프로토콜 사용</li>
<li>인증서 기반 네트워크 보호: 웹 브라우저의 자물쇠 아이콘 및 <code>HTTPS</code> (Hypertext Transfer Protocol Secure) 표기를 통해 전송 중 민감 데이터 패킷 스니핑/탈취 사전 방지</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 스토리지 내장 데이터 보호 기능 (Built-in Data Protection)</p>
<ul>
<li><strong>Amazon S3</strong><ul>
<li>기본적으로 모든 새 S3 버킷에 암호화가 자동 구성되어 있으며, 버킷에 업로드되는 모든 새 객체는 저장 시 자동으로 서버 측 암호화됨</li>
</ul>
</li>
<li><strong>Amazon EBS</strong><ul>
<li>EC2 인스턴스의 부팅(Boot) 볼륨 및 데이터(Data) 볼륨, EBS 스냅샷에 대해 저장 시 암호화 적용 가능</li>
</ul>
</li>
<li><strong>Amazon DynamoDB</strong><ul>
<li>AWS KMS 키를 활용하여 모든 DynamoDB 테이블 데이터에 대해 서버 측 저장 시 암호화(SSE)가 기본 활성화됨</li>
</ul>
</li>
</ul>
</li>
<li><p>전용 AWS 데이터 보호 서비스군 (AWS Data Protection Services)</p>
<ul>
<li><strong>AWS Key Management Service (AWS KMS)</strong><ul>
<li>정의: 광범위한 AWS 서비스 및 애플리케이션 전반에서 데이터 암호화에 사용되는 암호화 키를 생성하고 관리하는 완전관리형 키 관리 서비스</li>
<li>주요 특징: 임의의 숫자 문자열 형태인 암호화 키는 <strong>AWS KMS 외부로 절대 유출되거나 이탈하지 않음</strong>. IAM 사용자/역할을 통해 키 관리 액세스 권한을 제어하며, 필요 시 키를 일시 비활성화(Disable) 가능</li>
</ul>
</li>
<li><strong>Amazon Macie (ML 기반 S3 민감 데이터 검색)</strong><ul>
<li>정의: 기계 학습(ML) 및 패턴 인식 자동화를 활용해 Amazon S3 버킷에 저장된 민감 정보(개인식별정보 PII, 금융 정보 등)를 모니터링하고 자동 발견하는 보안 서비스</li>
<li>주요 특징: 저장된 민감 데이터의 보안 태세 평가 및 규정 준수(Compliance) 요건 충족에 유용함</li>
</ul>
</li>
<li><strong>AWS Certificate Manager (ACM)</strong><ul>
<li>정의: 전송 중 데이터 암호화를 제공하는 SSL/TLS 디지털 인증서의 발급, 프로비저닝, 갱신 및 관리를 중앙 집중화하는 서비스</li>
<li>주요 특징: AWS 서비스(Amazon CloudFront, Elastic Load Balancing 등) 및 연동된 온프레미스 리소스에 HTTPS/TLS 인증서를 적용하여 네트워크 통신 보안 확보</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 데이터 암호화 형태 및 보호 서비스 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">구분 / 서비스 명칭</th>
<th align="left">적용 상태 / 영역</th>
<th align="left">핵심 보호 메커니즘</th>
<th align="left">대표 사용 사례 및 특성</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>저장 시 암호화 (at Rest)</strong></td>
<td align="left">유휴 데이터 (Storage/DB)</td>
<td align="left">스토리지 계층 자동 암호화 (서버 측 암호화)</td>
<td align="left">S3 기본 암호화, EBS 볼륨/스냅샷, DynamoDB 테이블</td>
</tr>
<tr>
<td align="left"><strong>전송 중 암호화 (in Transit)</strong></td>
<td align="left">이동 데이터 (Network)</td>
<td align="left">SSL/TLS 인증서 기반 HTTPS 네트워크 암호화</td>
<td align="left">웹 브라우저 HTTPS 통신, API 엔드포인트 세션 암호화</td>
</tr>
<tr>
<td align="left"><strong>AWS KMS</strong></td>
<td align="left">키 관리 (Key Management)</td>
<td align="left">암호화 키 생성/관리, KMS 외부 이탈 금지, IAM 연동</td>
<td align="left">전사 암호화 키 통제, 키 비활성화 및 액세스 제어</td>
</tr>
<tr>
<td align="left"><strong>Amazon Macie</strong></td>
<td align="left">S3 민감 데이터 탐지</td>
<td align="left">ML 및 패턴 인식으로 S3 민감 데이터(PII) 자동 발견</td>
<td align="left">규정 준수(Compliance) 모니터링, 민감 데이터 위험 평가</td>
</tr>
<tr>
<td align="left"><strong>AWS Certificate Manager (ACM)</strong></td>
<td align="left">SSL/TLS 인증서 관리</td>
<td align="left">SSL/TLS 인증서 중앙 발급, 자동 갱신 및 통합 적용</td>
<td align="left">CloudFront/ALB 웹사이트 HTTPS 인증서 중앙 관리</td>
</tr>
</tbody></table>
<h3 id="보안-인시던트-탐지-및-대응">보안 인시던트 탐지 및 대응</h3>
<ul>
<li><p>보안 인시던트 탐지 및 대응의 목적</p>
<ul>
<li>예방과 경계 보호 조치를 넘어서, 시스템 취약성 및 실시간 지능형 위협이 발생했을 때 이를 지속 탐지하고 근본 원인을 분석하여 문제 해결 시간(TTR, Time to Resolve)을 대폭 단축함</li>
</ul>
</li>
<li><p>4대 보안 탐지 및 대응 전용 서비스</p>
<ul>
<li><strong>Amazon Inspector (자동화된 취약성 및 규정 준수 평가)</strong><ul>
<li>정의: Amazon EC2 인스턴스, 컨테이너(ECR), AWS Lambda 함수에 대한 자동 보안 평가를 실행하여 애플리케이션의 보안 및 규정 준수를 개선하는 평가 서비스</li>
<li>주요 검사 항목: EC2 인스턴스 오픈 액세스 노출, 취약한 패치/소프트웨어 버전 설치, 보안 모범 사례 위반 여부 자동 스캔</li>
<li>평가 결과 제공: 심각도(Severity) 수준에 따라 우선순위가 지정된 보안 결과(Findings) 목록 제공, 식별된 이슈에 대한 자세한 설명 및 해결 권장 사항 포함 (API를 통한 결과 검색 가능)</li>
</ul>
</li>
<li><strong>Amazon GuardDuty (지능형 위협 탐지 및 실시간 모니터링)</strong><ul>
<li>정의: AWS 계정, 메타데이터, 네트워크 활동의 지속적 스트림 모니터링을 통해 인프라 및 리소스 전체에서 지능형 위협 탐지(Threat Detection)를 제공하는 서비스</li>
<li>분석 메커니즘: 알려진 악성 IP 주소 목록(위협 인텔리전스), 이상 탐지(Anomaly Detection), 기계 학습(ML)을 통합 활용하여 정확하게 위협 식별</li>
<li>탐지 결과 및 자동 대응: 위협 세부 결과 및 해결 권장 단계 제공, <strong>AWS Lambda 함수와 연동</strong>하여 문제 해결 단계를 자동 수행하도록 구성 가능</li>
</ul>
</li>
<li><strong>Amazon Detective (위협 조사를 위한 근본 원인 시각화 분석)</strong><ul>
<li>정의: 탐지된 보안 위협의 근본 원인(Root Cause)을 신속히 파악할 수 있도록 AWS 계정 전반의 조사 프로세스를 간소화하고 자동화하는 보안 분석 서비스</li>
<li>분석 메커니즘: AWS 리소스에서 로그 데이터를 자동 수집 후, 기계 학습(ML) 및 그래프 분석(Graph Analysis)을 적용해 대화형 시각화 자료 구축</li>
<li>시각화 이점: 구성 가능한 타임라인 동안 리소스 및 사용자 간의 상호 작용을 대화형 그래프 보기를 통해 통합 제공하여 빠른 위협 분석 지원</li>
</ul>
</li>
<li><strong>AWS Security Hub (중앙 집중식 보안 및 규정 준수 통합 대시보드)</strong><ul>
<li>정의: 다양한 AWS 보안 서비스(GuardDuty, Inspector, Macie 등) 및 파트너 서비스의 보안 결과를 단일 위치와 표준 형식으로 자동 집계 및 통합 관리하는 서비스</li>
<li>주요 특징: 보안 결과를 <strong>&#39;인사이트(Insights)&#39;</strong>라는 실행 가능한 의미 있는 그룹화로 자동 정리, 보안 및 규정 준수(Compliance) 상태를 하나의 종합 보기로 확인, 자동화된 대응으로 문제 해결 시간(TTR) 대폭 단축</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 4대 보안 탐지 &amp; 대응 서비스 통합 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">서비스 명칭</th>
<th align="left">주 역할 및 담당 분야</th>
<th align="left">분석 대상 및 핵심 기술</th>
<th align="left">주요 결과물 및 조치 연동</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Amazon Inspector</strong></td>
<td align="left">정적 취약성 &amp; 보안 모범사례 평가</td>
<td align="left">EC2, 컨테이너, Lambda / 자동 스캔</td>
<td align="left">심각도별 보안 결과(Findings) 및 해결 권장안 리포트</td>
</tr>
<tr>
<td align="left"><strong>Amazon GuardDuty</strong></td>
<td align="left">실시간 지능형 위협 탐지</td>
<td align="left">계정 메타데이터, 네트워크 활동 / ML &amp; 위협 인텔리전스</td>
<td align="left">위협 세부 리포트, AWS Lambda 자동 조치 연동</td>
</tr>
<tr>
<td align="left"><strong>Amazon Detective</strong></td>
<td align="left">보안 위협 근본 원인(Root Cause) 조사</td>
<td align="left">AWS 로그 데이터 / ML &amp; 대화형 그래프 분석</td>
<td align="left">시간대별 리소스/사용자 상호작용 타임라인 시각화</td>
</tr>
<tr>
<td align="left"><strong>AWS Security Hub</strong></td>
<td align="left">전사 보안/규정준수 통합 관리</td>
<td align="left">GuardDuty/Inspector/Macie 등 보안 결과 통합 집계</td>
<td align="left">&#39;인사이트&#39; 단위 자동 그룹화, 문제 해결 시간(TTR) 단축</td>
</tr>
<tr>
<td align="left">### AWS 보안 설명서 &amp; 정보 가이드 (AWS Security Documentation)</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* 공식 AWS 보안 학습 및 문제 해결 리소스 목록</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* <strong>AWS 보안, 자격 증명 및 규정 준수 (Security, Identity, &amp; Compliance)</strong></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* 목적: AWS 보안, 자격 증명, 규정 준수 서비스 전체에 대한 일반 정보 및 통합 종합 가이드 제공</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* <strong>AWS Knowledge Center</strong></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* 목적: 보안 관련 자주 묻는 질문(FAQ) 답변 검색, 트러블슈팅 및 문제 해결 방법 제공</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* <strong>AWS Security Documentation (AWS 보안 설명서)</strong></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* 목적: 서비스 및 제품 범주별 세부 보안 설정 방법과 아키텍처 가이드 문서 검색</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* <strong>AWS Security Blog (AWS 보안 블로그)</strong></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">* 목적: 보안 전문가의 깊이 있는 인사이트, 모범 사례, 최신 위협 동향 및 업데이트 소식 확인</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
</tbody></table>
<h3 id="aws-marketplace-보안-리소스-aws-marketplace-security-solutions">AWS Marketplace 보안 리소스 (AWS Marketplace Security Solutions)</h3>
<ul>
<li><p>AWS Marketplace 서드파티 보안 카테고리</p>
<ul>
<li>정의: AWS 인프라 상에서 실행되는 독립 소프트웨어 벤더(ISV)의 서드파티(Third-party) 보안 소프트웨어 및 서비스를 검색하고 바로 구매·배치할 수 있는 온라인 디지털 카탈로그</li>
</ul>
</li>
<li><p>Marketplace 4대 서드파티 보안 솔루션 카테고리</p>
<ul>
<li><strong>1. 위협 탐지 및 예방 도구 (Threat Detection &amp; Prevention Tools)</strong><ul>
<li>기능: 시스템 및 네트워크 전반의 악의적인 활동, 맬웨어, 비정상 패턴을 탐지하고 실시간 차단</li>
</ul>
</li>
<li><strong>2. 자격 증명 및 액세스 관리 도구 (Identity &amp; Access Management Tools)</strong><ul>
<li>기능: 사용자 세부 권한, 세분화된 인증 및 접근 자격 증명을 외부 IDP 연동과 함께 고도로 제어</li>
</ul>
</li>
<li><strong>3. 데이터 보호 도구 (Data Protection Tools)</strong><ul>
<li>기능: 민감 정보(PII, 카드정보 등)를 암호화, 토큰화, 유출 방지(DLP)를 통해 안전하게 다층 보호</li>
</ul>
</li>
<li><strong>4. 규정 준수 및 거버넌스 도구 (Compliance &amp; Governance Tools)</strong><ul>
<li>기능: 다양한 산업/컴플라이언스 보안 규정 요구 사항(ISO, SOC, PCI-DSS 등) 충족 여부를 자동 검증하고 관리</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 공식 보안 리소스 vs AWS Marketplace 서드파티 카테고리 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">구분 영역</th>
<th align="left">주요 제공 형태 / 수단</th>
<th align="left">역량 및 활용 목적</th>
<th align="left">대표 리소스 / 솔루션 카테고리</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>AWS 공식 보안 문서</strong></td>
<td align="left">공식 웹사이트, 블로그, FAQ</td>
<td align="left">AWS 기본 보안 서비스 모범 사례 습득 및 트러블슈팅</td>
<td align="left">Knowledge Center, Security Documentation, Security Blog</td>
</tr>
<tr>
<td align="left"><strong>Marketplace 보안 도구</strong></td>
<td align="left">서드파티 SW 디지털 카탈로그</td>
<td align="left">AWS 인프라 상의 외부 전문 벤더 보안 기능 확장 채택</td>
<td align="left">위협 탐지, IAM 도구, 데이터 보호 도구, 규정 준수/거버넌스</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 8: AI/ML 및 데이터 분석]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-8-AIML-%EB%B0%8F-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-8-AIML-%EB%B0%8F-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D</guid>
            <pubDate>Thu, 23 Jul 2026 14:15:16 GMT</pubDate>
            <description><![CDATA[<h1 id="module-8-aiml-및-데이터-분석">Module 8: AI/ML 및 데이터 분석</h1>
<h2 id="ai-및-기계-학습-소개">AI 및 기계 학습 소개</h2>
<ul>
<li><p>인공 지능(AI)과 기계 학습(ML)의 개념 체계</p>
<ul>
<li>인공 지능 (Artificial Intelligence, AI)<ul>
<li>정의<ul>
<li>인간의 지적 능력(인간과 유사한 태스크 수행)을 시뮬레이션하고 구현하는 지능형 컴퓨터 시스템 개발에 중점을 둔 광범위한 학문 및 기술 분야</li>
</ul>
</li>
<li>특징/이점<ul>
<li>단순 규칙 이행을 넘어 구체적인 맥락 이해, 이미지 인식, 자연어 처리, 의사결정 등 인간 수준의 작업을 수행함</li>
</ul>
</li>
</ul>
</li>
<li>기계 학습 (Machine Learning, ML)<ul>
<li>정의<ul>
<li>명시적인 프로그래밍 명령을 일일이 작성하지 않아도, 방대한 데이터로부터 학습하여 복잡한 태스크를 스스로 수행하도록 시스템을 훈련하는 AI의 하위 분야</li>
</ul>
</li>
<li>특징/이점<ul>
<li>과거 데이터에 숨겨진 복잡한 패턴을 발견하여 새로운 상황에 대한 예측 및 조치를 스스로 도출함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>기존 프로그래밍 방식 vs 기계 학습(ML) 방식 비교</p>
<ul>
<li>기존 프로그래밍 (Rule-based Programming)<ul>
<li>작동 메커니즘: 개발자가 사전 정의된 고정 규칙(If-Then) 및 정적 관계를 명시적으로 코딩함</li>
<li>예시 (커피숍 주문 시스템): &quot;캐러멜 라떼 구매 이력 고객 -&gt; 덴마크 치즈 추천&quot; 규칙을 하드코딩함</li>
<li>한계: 개별 고객의 성향이나 상황 변화, 제품 특성을 유연하게 반영하지 못함</li>
</ul>
</li>
<li>기계 학습 (ML-based Pattern Recognition)<ul>
<li>작동 메커니즘: 방대한 수의 과거 판매 및 고객 반응 데이터를 분석하여 숨겨진 패턴을 추출하고 모델을 생성함</li>
<li>예시: 명시적 규칙 없이도 고객의 구체적 구매 패턴과 취향을 종합 판단하여 정교하고 개인화된 음식/메뉴를 자동 추천함</li>
<li>이점: 고객 만족도 향상 및 매출 증대를 동시에 달성 (고객과 매장의 윈윈 효과)</li>
</ul>
</li>
</ul>
</li>
<li><p>기계 학습(ML)의 핵심 동작 메커니즘</p>
<ul>
<li>훈련 (Training)<ul>
<li>방대한 과거 데이터(판매 기록, 소셜 미디어 게시물, 센서 측정값, 고객 피드백 등)를 입력하여 데이터 내 숨겨진 패턴과 상관관계를 찾아내고 ML 모델을 생성하는 과정</li>
</ul>
</li>
<li>추론 (Inference)<ul>
<li>훈련된 ML 모델에 새로운 데이터(실시간 고객 입력 등)를 적용하여 학습한 패턴을 바탕으로 예측이나 최종 결정을 내리는 과정</li>
</ul>
</li>
</ul>
</li>
<li><p>비즈니스 혁신을 위한 AI/ML 주요 사용 사례</p>
<ul>
<li>개인화 추천 엔진 (Personalization Engine)<ul>
<li>고객별 개별 취향과 행동 양식을 반영한 실시간 맞춤형 상품 추천 (커피-음식 조합 등)</li>
</ul>
</li>
<li>대화형 AI 키오스크 (자연어 처리, NLP 기반)<ul>
<li>자연어 처리(NLP)를 통해 고객의 음성 주문을 실시간 이해하고 결제 시스템에 입력</li>
<li>고정 규칙이 아닌 실시간 대화 흐름에 맞춰 에스프레소 샷 추가나 시즌 신메뉴 제안 등 능동적 질문 수행</li>
</ul>
</li>
<li>소셜 미디어 트렌드 분석 및 미래 수요 예측<ul>
<li>현지 소셜 미디어 트렌드 데이터와 과거 판매 실적 데이터를 결합 분석</li>
<li>다음 주 인기 음료 예측, 신메뉴 레시피 아이디어 자동 생성, 원두 구매량 및 미래 매장 수요 예측</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS의 AI/ML 서비스 생태계 및 데이터의 중요성</p>
<ul>
<li>AWS AI/ML 서비스 채택 이점<ul>
<li>처음부터 인프라와 알고리즘을 구축하는 시간/비용을 절감하고, 온디맨드 방식으로 AI를 신속 도입 가능</li>
<li><strong>Amazon SageMaker AI</strong>: 맞춤형 ML 모델의 생성, 훈련, 배포를 종합 지원하는 완전관리형 도구</li>
<li><strong>사전 구축된 AI 서비스 (Pre-built AI Services)</strong>: 언어 번역, 이미지 인식 등 일반적인 태스크를 위한 즉시 활용 가능한 서비스 제공</li>
</ul>
</li>
<li>올바른 데이터 수집 및 정제의 필수성<ul>
<li>AI/ML 모델은 판매 기록, 소셜 미디어, 센서 데이터 등 다양한 출처의 훈련 데이터에 의존함</li>
<li>데이터 수집, 정제(Cleaning), 가공 프로세스가 미흡할 경우 AI 예측 정확도가 보장될 수 없으므로 체계적인 데이터 관리가 필수적임</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>기존 프로그래밍 vs 기계 학습(ML) 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">기존 프로그래밍 (Rule-based)</th>
<th align="left">기계 학습 (ML-based)</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>작동 원리</strong></td>
<td align="left">명시적으로 코딩된 규칙(If-Then) 실행</td>
<td align="left">과거 데이터 훈련을 통한 패턴 자동 학습</td>
</tr>
<tr>
<td align="left"><strong>유연성</strong></td>
<td align="left">고정 규칙으로 인해 상황 변화에 유연성 부족</td>
<td align="left">새 데이터(추론) 입력 시 실시간 맞춤 결과 도출</td>
</tr>
<tr>
<td align="left"><strong>개발 방식</strong></td>
<td align="left">사람(개발자)이 관계 및 조건문을 일일이 정의</td>
<td align="left">데이터 입력 -&gt; 훈련(Training) -&gt; 모델 생성 -&gt; 추론</td>
</tr>
<tr>
<td align="left"><strong>적합한 분야</strong></td>
<td align="left">정형적이고 단순한 예외 처리 업무</td>
<td align="left">개인화 추천, NLP 대화, 수요 예측, 패턴 인식</td>
</tr>
</tbody></table>
<h2 id="aws-기반-aiml">AWS 기반 AI/ML</h2>
<h3 id="aws-기반-aiml-1">AWS 기반 ai/ml</h3>
<ul>
<li><p>산업계에서의 다양한 ML 비즈니스 해결 과제</p>
<ul>
<li>전자 상거래 및 운영 최적화<ul>
<li>Amazon.com의 개인화 추천 엔진 구축 및 물류 주문 처리 센터(Fulfillment Center) 작업 최적화</li>
</ul>
</li>
<li>추세 예측 (Trend Prediction)<ul>
<li>주식 시장 동향 파악, 미래 주가 예측, 원자재 및 상품 가격 변동성 추정</li>
</ul>
</li>
<li>지능형 의사결정 및 자동 라우팅 (Automated Decision Making)<ul>
<li>콜센터 대화형 음성 프롬프트(IVR) 요청을 분석하여 발신 고객을 최적 부서로 자동 라우팅</li>
</ul>
</li>
<li>이상 현상 탐지 (Anomaly Detection)<ul>
<li>온라인 뱅킹 및 금융 거래 시스템에서 부정 결제, 이상 거래, 사기 행위(Fraud) 실시간 감지</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS AI/ML 3-티어 솔루션 스택 (3-Tier Stack)</p>
<ul>
<li>티어 1: AI 서비스 (AWS AI Services)<ul>
<li>정의<ul>
<li>개발자가 기계 학습 전문 지식 없이도 API 호출만으로 특정 비즈니스 기능을 즉시 사용할 수 있도록 사전 훈련(Pre-trained)되어 제공되는 완전관리형 서비스 계층</li>
</ul>
</li>
<li>대표 서비스 및 특징<ul>
<li><strong>Amazon Polly</strong>: 텍스트를 자연스러운 음성으로 변환 (Text-to-Speech)</li>
<li><strong>Amazon Comprehend</strong>: 텍스트 문맥 분석, 키워드 추출 및 감정 분석 (Sentiment Analysis)</li>
</ul>
</li>
</ul>
</li>
<li>티어 2: ML 서비스 (AWS ML Services)<ul>
<li>정의<ul>
<li>기업 고유의 비즈니스 데이터를 기반으로 맞춤형 ML 모델을 직접 제작할 때 사용하는 완전관리형 플랫폼 계층</li>
</ul>
</li>
<li>대표 서비스: <strong>Amazon SageMaker AI</strong><ul>
<li>완전관리형 인프라, 도구, 워크플로를 제공하여 자체 ML 모델을 <strong>구축(Build), 훈련(Train), 배포(Deploy)</strong>함</li>
<li>단일 통합 환경 내에서 모델 훈련 실험 추적, 데이터 시각화, 모델 디버깅 및 모니터링을 포괄적으로 수행</li>
</ul>
</li>
</ul>
</li>
<li>티어 3: ML 프레임워크 및 인프라 (ML Frameworks &amp; Infrastructure)<ul>
<li>정의<ul>
<li>고도로 전문화된 딥러닝/ML 솔루션 구축을 위해 널리 사용되는 오픈소스 프레임워크와 목적별 하드웨어를 직접 제어하는 딥 커스텀 계층</li>
</ul>
</li>
<li>주요 구성 요소<ul>
<li>널리 사용되는 ML 프레임워크 (PyTorch, TensorFlow 등)와 통합되는 목적별 가속 칩셋 (Purpose-built Chips) 활용</li>
<li>ML 워크로드에 특화된 전용 Amazon EC2 가속 인스턴스 환경에서 모델 호스팅 및 훈련 수행</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS AI/ML 3-티어 솔루션 스택 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">구분 계층</th>
<th align="left">주요 대상 / 제어 수준</th>
<th align="left">핵심 메커니즘</th>
<th align="left">대표 서비스 및 구성 요소</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>티어 1: AI 서비스</strong></td>
<td align="left">일반 개발자 (ML 지식 불필요)</td>
<td align="left">미리 훈련된 사전 구축 모델 API 온디맨드 호출</td>
<td align="left">Comprehend, Polly, Transcribe, Translate, Kendra, Rekognition, Textract, Lex, Personalize</td>
</tr>
<tr>
<td align="left"><strong>티어 2: ML 서비스</strong></td>
<td align="left">데이터 사이언티스트 &amp; ML 엔지니어</td>
<td align="left">완전관리형 환경에서 커스텀 모델 구축/훈련/배포</td>
<td align="left">Amazon SageMaker AI (실험 추적, 디버깅, MLOps 지원)</td>
</tr>
<tr>
<td align="left"><strong>티어 3: 프레임워크 &amp; 인프라</strong></td>
<td align="left">전문 ML 연구원 &amp; 딥러닝 전문가</td>
<td align="left">프레임워크 및 전용 칩셋/인프라 직접 제어</td>
<td align="left">PyTorch, TensorFlow, MXNet, ML 전용 EC2 가속 인스턴스, EMR, ECS</td>
</tr>
</tbody></table>
<h3 id="aws-aiml-솔루션-3-tier-상세">AWS AI/ML 솔루션 (3-Tier 상세)</h3>
<ul>
<li><p>티어 1: 사전 구축된 AWS AI 서비스 (Pre-built AI Services)</p>
<ul>
<li>언어 서비스 (Language Services)<ul>
<li><strong>Amazon Comprehend</strong><ul>
<li>정의: 자연어 처리(NLP)를 사용하여 문서 내 핵심 문구, 언어, 감정(Sentiment) 등 핵심 인사이트를 자동 추출하는 서비스</li>
<li>주요 사용 사례: 콘텐츠 자동 분류, 고객 감정 분석, 규정 준수(Compliance) 모니터링</li>
</ul>
</li>
<li><strong>Amazon Polly</strong><ul>
<li>정의: 텍스트를 실제와 같은 다국어, 다양한 성별 및 억양의 자연스러운 음성으로 변환(Text-to-Speech, TTS)하는 서비스</li>
<li>주요 사용 사례: 시각 장애인을 위한 가상 어시스턴트, e-러닝 애플리케이션, 음성 접근성(Accessibility) 개선</li>
</ul>
</li>
<li><strong>Amazon Transcribe</strong><ul>
<li>정의: 음성을 다국어 텍스트로 자동 변환(Speech-to-Text, STT)하며, 화자 식별, 사용자 지정 어휘, 실시간 트랜스크립션을 제공하는 서비스</li>
<li>주요 사용 사례: 고객 콜센터 통화 내용 트랜스크립션, 비디오 자동 자막 생성, 미디어 콘텐츠용 메타데이터 추출</li>
</ul>
</li>
<li><strong>Amazon Translate</strong><ul>
<li>정의: 여러 언어 간의 실시간 및 배치(Batch) 텍스트 번역을 지원하는 신경망 기계 번역 서비스</li>
<li>주요 사용 사례: 다국어 문서 번역, 글로벌 애플리케이션 다국어 연동</li>
</ul>
</li>
</ul>
</li>
<li>컴퓨터 비전 및 검색 서비스 (Computer Vision &amp; Search Services)<ul>
<li><strong>Amazon Kendra</strong><ul>
<li>정의: 자연어 처리(NLP)를 사용하여 대량의 엔터프라이즈 콘텐츠 내에서 쿼리 문맥을 이해하고 정확한 답변을 도출하는 지능형 검색 서비스</li>
<li>주요 사용 사례: 사내 지식 기반 지능형 검색, 챗봇 검색 연동, 애플리케이션 내부 검색 통합</li>
</ul>
</li>
<li><strong>Amazon Rekognition</strong><ul>
<li>정의: Amazon S3에 저장된 이미지 및 동영상 내의 물체, 사람, 텍스트, 장면, 활동을 식별 및 분석하는 컴퓨터 비전 서비스</li>
<li>주요 사용 사례: 부적절한 콘텐츠 자동 조정(Moderation), 사용자 자격 증명/얼굴 확인, 미디어 분석, 홈 오토메이션</li>
</ul>
</li>
<li><strong>Amazon Textract</strong><ul>
<li>정의: 단순 OCR을 넘어 문서, 양식, 표(Table) 내의 타이핑 텍스트 및 손글씨(Handwriting) 텍스트를 자동 감지하고 추출하는 서비스</li>
<li>주요 사용 사례: 금융, 의료, 정부 기관의 각종 문서/서식/양식 텍스트 자동 추출 및 프로세스 신속화</li>
</ul>
</li>
</ul>
</li>
<li>대화형 AI 및 개인화 서비스 (Conversational AI &amp; Personalization Services)<ul>
<li><strong>Amazon Lex</strong><ul>
<li>정의: 자연어 이해(NLU) 및 자동 음성 인식(ASR) 기술을 활용해 음성 및 텍스트 대화형 인터페이스(챗봇)를 구축하는 서비스</li>
<li>주요 사용 사례: 가상 어시스턴트, FAQ 자연어 검색, 애플리케이션 대화형 봇</li>
</ul>
</li>
<li><strong>Amazon Personalize</strong><ul>
<li>정의: 과거 사용자 행동 데이터를 기반으로 고객 맞춤형 권장 사항(추천)을 제공하는 지능형 추천 엔진 서비스</li>
<li>주요 사용 사례: 맞춤형 미디어 스트리밍 추천, 전자 상거래 제품 추천, 실시간 인기 상승 항목 추천</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>티어 2: ML 서비스 (Amazon SageMaker AI)</p>
<ul>
<li>Amazon SageMaker AI의 개념<ul>
<li>인프라 관리 부담 없이 자체 ML 모델을 구축(Build), 훈련(Train), 배포(Deploy)할 수 있도록 단일 IDE 및 사전 훈련된 수백 개의 모델을 제공하는 완전관리형 ML 플랫폼</li>
</ul>
</li>
<li>SageMaker AI의 3대 핵심 이점<ul>
<li><strong>다양한 ML 도구 선택 (Flexible Tools)</strong>: 데이터 사이언티스트용 IDE부터 비즈니스 분석가용 노코드(No-Code) 인터페이스까지 다양한 페르소나별 도구 제공</li>
<li><strong>완전관리형 인프라 (Fully Managed Infrastructure)</strong>: 비용 효율적이고 고성능 인프라를 AWS가 자동 분산 관리하여 개발자가 모델 개발에만 집중하도록 지원</li>
<li><strong>반복 가능한 ML 워크플로 (Repeatable MLOps)</strong>: 전사적 MLOps 관행 및 거버넌스를 자동화·표준화하여 시스템 투명성과 감사(Audit) 기능을 제공</li>
</ul>
</li>
</ul>
</li>
<li><p>티어 3: ML 프레임워크 및 인프라 (Frameworks &amp; Infrastructure)</p>
<ul>
<li>개요<ul>
<li>ML 훈련 프로세스를 완전하게 제어해야 하는 고도의 기술적 조직을 위한 딥 커스텀 하드웨어 및 소프트웨어 계층</li>
</ul>
</li>
<li>핵심 구성 요소<ul>
<li><strong>ML 프레임워크 (ML Frameworks)</strong>: PyTorch, Apache MXNet, TensorFlow 등 사전 구축 및 최적화된 딥러닝 라이브러리 및 도구 전면 지원</li>
<li><strong>AWS ML 인프라 (ML Infrastructure)</strong>: ML에 최적화된 Amazon EC2 가속 인스턴스(GPU/전용 칩셋), Amazon EMR, Amazon ECS 등 고성능·고유연성 워크로드 환경 제공</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>티어 1 사전 구축 AWS AI 서비스 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">서비스 명칭</th>
<th align="left">분류 범주</th>
<th align="left">주 기능 및 메커니즘</th>
<th align="left">핵심 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Amazon Comprehend</strong></td>
<td align="left">언어 서비스</td>
<td align="left">NLP 기반 문맥/감정 분석 및 핵심 문구 추출</td>
<td align="left">콘텐츠 분류, 고객 감정 분석, 규정 준수</td>
</tr>
<tr>
<td align="left"><strong>Amazon Polly</strong></td>
<td align="left">언어 서비스</td>
<td align="left">텍스트를 자연스러운 다국어 음성으로 변환 (TTS)</td>
<td align="left">가상 어시스턴트, e-러닝, 접근성 개선</td>
</tr>
<tr>
<td align="left"><strong>Amazon Transcribe</strong></td>
<td align="left">언어 서비스</td>
<td align="left">음성을 다국어 텍스트로 변환 (STT), 화자 식별</td>
<td align="left">콜센터 통화 트랜스크립션, 자동 자막</td>
</tr>
<tr>
<td align="left"><strong>Amazon Translate</strong></td>
<td align="left">언어 서비스</td>
<td align="left">실시간 및 배치 신경망 다국어 텍스트 번역</td>
<td align="left">다국어 문서 번역, 글로벌 앱 통합</td>
</tr>
<tr>
<td align="left"><strong>Amazon Kendra</strong></td>
<td align="left">비전/검색 서비스</td>
<td align="left">NLP 기반 엔터프라이즈 문맥 이해 지능형 검색</td>
<td align="left">지능형 사내 검색, 챗봇 연동</td>
</tr>
<tr>
<td align="left"><strong>Amazon Rekognition</strong></td>
<td align="left">비전/검색 서비스</td>
<td align="left">이미지/동영상 내 물체, 사람, 얼굴, 텍스트 분석</td>
<td align="left">콘텐츠 조정, 자격 증명 확인, 미디어 분석</td>
</tr>
<tr>
<td align="left"><strong>Amazon Textract</strong></td>
<td align="left">비전/검색 서비스</td>
<td align="left">문서, 양식, 표 내의 인쇄/손글씨 텍스트 자동 추출</td>
<td align="left">금융/의료/정부 양식 서류 자동화</td>
</tr>
<tr>
<td align="left"><strong>Amazon Lex</strong></td>
<td align="left">대화/개인화 서비스</td>
<td align="left">NLU &amp; ASR 기반 음성/텍스트 대화형 챗봇 구축</td>
<td align="left">가상 어시스턴트, FAQ 봇</td>
</tr>
<tr>
<td align="left"><strong>Amazon Personalize</strong></td>
<td align="left">대화/개인화 서비스</td>
<td align="left">과거 행동 데이터 기반 실시간 맞춤형 추천 엔진</td>
<td align="left">맞춤 스트리밍, 제품 추천, 인기 항목 추천</td>
</tr>
</tbody></table>
<h3 id="aws-기반-생성형-ai-소개">AWS 기반 생성형 AI 소개</h3>
<ul>
<li>AI - ML - 딥러닝 - 생성형 AI 계층 구조<ul>
<li>딥러닝 (Deep Learning, DL)<ul>
<li>정의<ul>
<li>인간의 뇌 신경망을 모방한 인공 뉴런(수학적 함수 계층)을 사용하여 다차원 정보 및 복잡한 패턴을 훈련하는 기계 학습(ML)의 하위 분야</li>
</ul>
</li>
<li>특징/이점<ul>
<li>인공 뉴런의 각 계층이 이전 계층의 정보를 요약·전달하는 방식으로 컴퓨터 비전, 자연어 처리(NLP) 등 고도의 복잡한 문제를 해결함</li>
</ul>
</li>
</ul>
</li>
<li>생성형 AI (Generative AI)<ul>
<li>정의<ul>
<li>사전 훈련된 초대형 파운데이션 모델(FM)을 기반으로 대화, 스토리, 이미지, 동영상, 음악, 코드 등 새로운 콘텐츠와 아이디어를 창작하는 딥러닝의 고도화된 한 종류</li>
</ul>
</li>
<li>핵심 기반: 파운데이션 모델 (Foundation Models, FM)<ul>
<li>방대한 데이터 컬렉션을 활용해 사전 훈련된 초대형 기계 학습 모델</li>
<li>단일 태스크만 수행하는 기존 ML 모델과 달리, 하나의 사전 훈련된 FM으로 여러 다중 태스크(Multi-Task)를 유연하게 수행할 수 있음</li>
</ul>
</li>
<li>대규모 언어 모델 (Large Language Models, LLM)<ul>
<li>인간의 언어 작동 원리를 학습하기 위해 방대한 양의 텍스트 데이터로 훈련된 대표적인 파운데이션 모델 유형</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="aws-생성형-ai-솔루션">AWS 생성형 AI 솔루션</h3>
<ul>
<li><p>Amazon SageMaker JumpStart</p>
<ul>
<li>정의<ul>
<li>컴퓨터 비전, NLP, 테이블 형식 데이터 등 다양한 영역의 사전 구축 ML 솔루션 라이브러리를 보유하여 모델 구축, 훈련, 배포 프로세스를 신속 가속화하는 SageMaker AI 내 기계 학습 허브</li>
</ul>
</li>
<li>핵심 기능 및 특징<ul>
<li>클릭 몇 번만으로 사전 훈련된 모델을 즉시 배포할 수 있으며, 분야별 자체 데이터를 활용해 특정 사용 사례에 맞게 모델을 미세 조정(Fine-Tuning) 가능함</li>
</ul>
</li>
<li>일반적인 3대 사용 사례<ul>
<li><strong>신속한 ML 모델 배포 (Fast Model Deployment)</strong>: 깊은 ML 전문 지식이 없어도 사전 훈련된 모델을 즉시 신속하게 배포함</li>
<li><strong>미세 조정된 사용자 지정 솔루션 (Fine-Tuned Customization)</strong>: 도메인 특화 데이터를 활용해 사전 훈련된 파운데이션 모델(FM)을 미세 조정함</li>
<li><strong>ML 실험 및 프로토타입 (ML Experiments &amp; Prototypes)</strong>: 특정 솔루션 접근 방식을 결정하기 전 여러 파운데이션 모델의 성능을 상호 비교·검증함</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon Bedrock</p>
<ul>
<li>정의<ul>
<li>인프라 관리 없이 단일 통합 API를 통해 Amazon 자체 FM 및 주요 AI 스타트업(Claude, Stable Diffusion 등)의 고성능 파운데이션 모델에 액세스할 수 있도록 설계된 완전관리형 서비스</li>
</ul>
</li>
<li>핵심 기능 및 특징<ul>
<li>FM 모델들을 신속하게 실험하고, 비공개(Private) 데이터로 안전하게 미세 조정하여 AWS 애플리케이션에 원활하게 통합할 수 있음</li>
</ul>
</li>
<li>일반적인 3대 사용 사례<ul>
<li><strong>엔터프라이즈급 생성형 AI (Enterprise-Grade GenAI)</strong>: 엔터프라이즈급 보안, 개인정보 보호 기능, 높은 확장성을 바탕으로 프로덕션에 즉시 사용할 수 있는 생성형 AI 앱 구축</li>
<li><strong>다중 모달 콘텐츠 생성 (Multimodal Content Generation)</strong>: 텍스트 및 이미지 등 여러 가지 미디어 콘텐츠 유형을 동시에 창작할 수 있는 애플리케이션 개발</li>
<li><strong>고급 대화형 AI (Advanced Conversational AI)</strong>: 기업 사내 데이터 리포지토리에 연결하여 높은 정확도의 답변을 제공하는 지능형 대화 에이전트 개발</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon Q 제품군 (Amazon Q Business &amp; Developer)</p>
<ul>
<li>정의<ul>
<li>기업의 비즈니스 프로세스를 간소화하고 의사 결정을 가속화하며 직원의 업무 생산성을 획기적으로 향상시키는 대화형 생성형 AI 어시스턴트</li>
</ul>
</li>
<li><strong>Amazon Q Business</strong><ul>
<li>정의: 회사의 내부 정보 리포지토리 및 공통 시스템에 대한 보안 연결을 통해 긴급한 질의에 답변하고 업무 조치를 수행하는 비즈니스 어시스턴트</li>
<li>주요 사용 사례: 사내 정보 요청 답변, 자동화된 워크플로 실행, 내부 인사이트 추출 및 보고서 생성</li>
</ul>
</li>
<li><strong>Amazon Q Developer</strong><ul>
<li>정의: C#, Java, JavaScript, Python, TypeScript 등 다양한 코딩 언어로 개발을 가속화할 수 있도록 전체 함수 및 논리적 코드 블록 단위 추천 코드를 생성하는 전문 개발 어시스턴트</li>
<li>주요 사용 사례: 코드 생성 속도 향상, 코드 수명 주기 내 안정성 및 보안성 강화, 자동화된 코드 검토(Code Review) 수행</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 생성형 AI 주요 솔루션 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">솔루션 명칭</th>
<th align="left">서비스 성격 / 제공 방식</th>
<th align="left">주요 기술 / 메커니즘</th>
<th align="left">핵심 이점 및 대표 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Amazon SageMaker JumpStart</strong></td>
<td align="left">SageMaker 내 ML 모델 허브</td>
<td align="left">사전 구축 모델 카탈로그, 클릭 배포, 커스텀 미세 조정</td>
<td align="left">신속 배포, 분야별 데이터 미세 조정, FM 실험 및 프로토타입</td>
</tr>
<tr>
<td align="left"><strong>Amazon Bedrock</strong></td>
<td align="left">완전관리형 통합 FM API 서비스</td>
<td align="left">단일 API로 Claude, Stable Diffusion, Amazon FM 등 제공</td>
<td align="left">엔터프라이즈 보안/개인정보 보호 AI, 다중 모달 콘텐츠, 대화 에이전트</td>
</tr>
<tr>
<td align="left"><strong>Amazon Q Business</strong></td>
<td align="left">엔터프라이즈 대화형 AI 어시스턴트</td>
<td align="left">사내 정보 리포지토리 보안 연결 및 통합 답변 도출</td>
<td align="left">사내 정보 요청, 자동화 워크플로, 비즈니스 인사이트 추출</td>
</tr>
<tr>
<td align="left"><strong>Amazon Q Developer</strong></td>
<td align="left">개발자 전용 AI 생성 어시스턴트</td>
<td align="left">IDE 통합, C#, Java, JS, Python, TS 함수/코드 블록 추천</td>
<td align="left">코드 생성 가속, 코드 보안/안정성 강화, 자동 코드 검토</td>
</tr>
</tbody></table>
<h2 id="데이터-분석">데이터 분석</h2>
<h3 id="데이터-분석-소개">데이터 분석 소개</h3>
<ul>
<li><p>전통적 데이터 분석 (Data Analytics)의 개념 및 필요성</p>
<ul>
<li>정의<ul>
<li>분석가가 원시 과거(Historical) 데이터를 수집, 변환, 처리하여 의사 결정에 필요한 중요한 인사이트와 추세를 도출해 내는 전통적 분석 과정</li>
</ul>
</li>
<li>AI/ML과의 관계 및 차이점<ul>
<li><strong>공통점</strong>: AI/ML과 전통적 데이터 분석 모두 정제되고 액세스 가능한 대용량 데이터를 필수 기반으로 사용함</li>
<li><strong>소규모 데이터세트에서의 경제성</strong>: 데이터 규모가 소형인 경우 데이터 분석 방식이 AI/ML 모델 구축에 비해 비용과 처리 속도 측면에서 훨씬 효율적이고 경제적임</li>
<li><strong>설명 가능성(Explainability) 및 정밀성</strong>: 규제 기관 승인이나 통계적 가설 검증 등 판단 근거를 논리적으로 명확히 입증해야 하는 영역에서 필수적임</li>
</ul>
</li>
<li>대표적인 실제 사용 사례 (3가지)<ul>
<li><strong>금융 분야 대출 심사 설명</strong>: 대출 회사가 고객에게 대출/융자 결정의 판단 이유를 투명하게 설명</li>
<li><strong>의학 연구 임상시험 분석</strong>: 의학 연구자가 가설 검증(Hypothesis Testing) 등 전통 통계 방법으로 임상 시험 데이터 분석</li>
<li><strong>보험사 위험 평가 모델 투명성 확보</strong>: 규제 기관의 요건을 충족하고 승인을 얻기 위해 위험 평가(Risk Assessment) 모델의 정당성 증명</li>
</ul>
</li>
</ul>
</li>
<li><p>데이터 통합 저장소 및 파이프라인 개념</p>
<ul>
<li>데이터 레이크 (Data Lake)<ul>
<li>정의: 기업 내 다양한 시스템과 형식을 가진 모든 정형/비정형 원시(Raw) 데이터를 단일 위치에 대규모로 통합 적재하는 거대한 중앙 저장소 (예: Amazon S3)</li>
</ul>
</li>
<li>ETL / ELT 파이프라인 (Data Pipeline)<ul>
<li>정의: 여러 출처에 흩어져 있는 데이터를 수집, 변환, 로드하여 분석 도구 및 AI 알고리즘이 소비할 수 있는 형태로 자동 처리하는 조립 라인(Assembly Line) 성격의 파이프라인</li>
<li><strong>ETL (Extract - Transform - Load)</strong><ul>
<li><code>1. 추출 (Extract)</code>: 다양한 소스 시스템에서 원시 데이터 수집</li>
<li><code>2. 변환 (Transform)</code>: 다운스트림 분석 도구가 사용할 수 있는 일관된 형태로 정제 및 가공</li>
<li><code>3. 로드 (Load)</code>: 데이터 웨어하우스(Amazon Redshift)나 분석 플랫폼 대상 시스템에 적재</li>
</ul>
</li>
<li><strong>ELT (Extract - Load - Transform)</strong><ul>
<li>원시 데이터를 먼저 대상 시스템에 수집 및 로드(Load)한 후, 필요에 따라 다운스트림에서 변환(Transform)하는 방식</li>
</ul>
</li>
<li><strong>ETL 불필요 (Zero-ETL) 환경</strong>: 데이터가 이미 사용 가능한 일관된 표준 형식으로 대상 위치에 존재하는 경우 변환 과정 없이 즉시 활용</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 데이터 분석 서비스 통합 생태계 (Data Analytics Ecosystem)</p>
<ul>
<li>데이터 파이프라인 단계별 핵심 서비스군<ul>
<li><strong>데이터 수집 (Ingestion)</strong>: Amazon Kinesis, AWS Glue</li>
<li><strong>스토리지 &amp; 데이터 레이크 (Storage &amp; Data Lake)</strong>: Amazon S3 (데이터 레이크), Amazon Redshift (데이터 웨어하우스)</li>
<li><strong>데이터 처리 및 연산 (Processing)</strong>: Amazon EMR (대규모 분산 클러스터 처리)</li>
<li><strong>시각화 및 비즈니스 인텔리전스 (Visualization &amp; BI)</strong>: Amazon QuickSight</li>
</ul>
</li>
<li>동일 데이터세트 기반의 다중 팀 활용 사례 (Single Dataset, Multiple Uses)<ul>
<li>Amazon S3 데이터 레이크에 원시 데이터세트를 통합 수집한 후:<ul>
<li><strong>마케팅/경영진 팀</strong>: Amazon QuickSight를 통해 비즈니스 인텔리전스(BI) 대시보드 시각화 및 인사이트 분석 수행</li>
<li><strong>데이터 사이언스 팀</strong>: Amazon SageMaker AI를 통해 동일한 S3 데이터세트를 직접 참조하여 ML 모델 훈련 수행</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>ETL 파이프라인 방식 및 AWS 데이터 분석 서비스 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">구분 / 서비스</th>
<th align="left">역할 및 메커니즘</th>
<th align="left">특징 및 적용 시기</th>
<th align="left">대표 서비스</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>ETL 패턴</strong></td>
<td align="left">추출(Extract) -&gt; 변환(Transform) -&gt; 적재(Load)</td>
<td align="left">데이터를 대상 시스템 적재 전 정제·가공하여 일관된 형식 변환</td>
<td align="left">AWS Glue</td>
</tr>
<tr>
<td align="left"><strong>ELT 패턴</strong></td>
<td align="left">추출(Extract) -&gt; 적재(Load) -&gt; 변환(Transform)</td>
<td align="left">데이터를 먼저 원시 적재 후 요구사항에 맞춰 실시간 변환</td>
<td align="left">Amazon Redshift</td>
</tr>
<tr>
<td align="left"><strong>데이터 수집 &amp; 파이프라인</strong></td>
<td align="left">스트리밍 및 배치 데이터 수집 / 자동화 파이프라인</td>
<td align="left">데이터 수집 및 ETL 흐름 조립 라인 자동화</td>
<td align="left">Amazon Kinesis, AWS Glue</td>
</tr>
<tr>
<td align="left"><strong>스토리지 &amp; 레이크</strong></td>
<td align="left">거대한 단일 통합 원시 데이터 중앙 저장소</td>
<td align="left">모든 비정형/정형 데이터 무제한 저장</td>
<td align="left">Amazon S3, Amazon Redshift</td>
</tr>
<tr>
<td align="left"><strong>데이터 처리 &amp; BI</strong></td>
<td align="left">대규모 분산 빅데이터 처리 및 BI 시각화</td>
<td align="left">대용량 분산 연산 및 경영 진단 시각화 리포트</td>
<td align="left">Amazon EMR, Amazon QuickSight</td>
</tr>
</tbody></table>
<h3 id="aws-기반-데이터-파이프라인">AWS 기반 데이터 파이프라인</h3>
<ul>
<li><p>데이터 파이프라인 (Data Pipeline)의 개념 및 목적</p>
<ul>
<li>정의<ul>
<li>데이터 소스에서 대상 스토리지 및 분석 시스템으로 데이터를 수집, 카탈로그화, 변환, 전달하는 전 과정을 자동화하는 데이터 조립 라인(Assembly Line)</li>
</ul>
</li>
<li>핵심 이점<ul>
<li>프로세스 간소화를 통해 수동 데이터 처리 개입을 최소화하고 데이터 오류 발생율을 절감함</li>
</ul>
</li>
</ul>
</li>
<li><p>데이터 파이프라인 5단계 아키텍처 및 핵심 AWS 서비스군</p>
<ul>
<li><strong>1단계: 데이터 수집 서비스 (Data Ingestion)</strong><ul>
<li>수집 방식 구분: 지연시간 없는 즉시 처리를 위한 <strong>실시간 수집</strong> vs 지연시간이 허용되는 정기 지연 처리를 위한 <strong>배치 수집</strong></li>
<li><strong>Amazon Kinesis Data Streams</strong><ul>
<li>정의: 애플리케이션, 센서, 라이브 스트림에서 테라바이트(TB) 규모의 데이터를 실시간으로 수집하는 서버리스 스트리밍 서비스</li>
<li>주요 특징: 자동 프로비저닝 및 오토스케일링 지원, 다수의 애플리케이션이 동일 스트림 데이터를 동시에 소비 가능 (예: 금융사의 실시간 주식 시장 시세 수집 및 즉각 거래 판단)</li>
</ul>
</li>
<li><strong>Amazon Data Firehose</strong><ul>
<li>정의: 수집된 스트리밍 데이터를 몇 초 내(Near Real-time)로 데이터 레이크, 데이터 웨어하우스, 분석 서비스로 자동 로드하는 완전관리형 스트리밍 ETL 서비스</li>
<li>주요 특징: 데이터 캡처 후 목적지 자동 로드 (예: IoT 스마트 홈 디바이스 로그 수집 및 장기 보관용 데이터 레이크 적재)</li>
</ul>
</li>
</ul>
</li>
<li><strong>2단계: 데이터 스토리지 서비스 (Data Storage)</strong><ul>
<li><strong>Amazon S3 (Data Lake)</strong><ul>
<li>정의: 방대한 양의 정형/비정형 원시 데이터를 거의 무제한으로 유연하게 저장할 수 있는 표준 객체 스토리지 데이터 레이크 솔루션</li>
<li>주요 특징: 데이터 증감에 따라 크기가 자동 조정되는 높은 탄력성과 데이터 유연성 제공</li>
</ul>
</li>
<li><strong>Amazon Redshift (Data Warehouse)</strong><ul>
<li>정의: 페타바이트(PB) 규모의 정형 및 반정형 데이터를 저장하고 비즈니스 인텔리전스(BI)에 최적화된 완전관리형 데이터 웨어하우스</li>
<li>주요 특징: 열 형식(Columnar) 스토리지 및 대규모 병렬 처리(MPP) 지원, 비용 효율적 종량제 쿼리 분석 수행</li>
</ul>
</li>
</ul>
</li>
<li><strong>3단계: 데이터 카탈로그화 서비스 (Data Cataloging)</strong><ul>
<li>메타데이터 관리의 필요성: 데이터의 찍힌 장소/시간 정보처럼 조직 데이터세트에 대한 메타데이터 인벤토리를 생성하여 데이터 탐색 효율화</li>
<li><strong>AWS Glue 데이터 카탈로그 (AWS Glue Data Catalog)</strong><ul>
<li>정의: 확장 가능한 중앙 집중식 관리형 메타데이터 리포지토리</li>
<li>주요 특징: 다양한 데이터 스토어 및 분석 서비스 간 메타데이터를 전달하고 중앙 관제하여 파이프라인 검색 성능 향상</li>
</ul>
</li>
</ul>
</li>
<li><strong>4단계: 데이터 처리 및 변환 서비스 (Data Processing)</strong><ul>
<li><strong>AWS Glue</strong><ul>
<li>정의: 데이터 분석을 바로 시작할 수 있도록 데이터를 정제 및 변환하는 완전관리형 서버리스 ETL 서비스</li>
<li>주요 특징: Visual ETL 작업 생성, 코드 없이 스크립트 작성(No-Code), Glue 데이터 카탈로그 연동 메타데이터 기반 자동 변환 지원</li>
</ul>
</li>
<li><strong>Amazon EMR</strong><ul>
<li>정의: Apache Spark, Apache Hadoop, Apache Hive 등 널리 사용되는 오픈소스 빅데이터 프레임워크를 활용하는 대규모 분산 데이터 처리 서비스</li>
<li>주요 특징: 인프라 프로비저닝, 클러스터 관리, 오토스케일링을 자동 처리하며, 빅데이터 전문 지식과 사용자 지정 커스텀 구성이 필요한 조직에 적합</li>
</ul>
</li>
</ul>
</li>
<li><strong>5단계: 데이터 분석 및 시각화 서비스 (Data Analytics &amp; Visualization)</strong><ul>
<li><strong>Amazon Athena</strong><ul>
<li>정의: 표준 SQL문으로 Amazon S3 또는 하이브리드/멀티클라우드 환경의 다양한 데이터 소스(관계형, 비관계형, 객체)를 직접 쿼리 분석하는 완전관리형 서버리스 서비스</li>
<li>주요 특징: 별도 DB 인프라 구축이나 ETL 없이 S3 데이터를 직접 조회하며, 실행한 쿼리 스캔 용량에 대해서만 과금</li>
</ul>
</li>
<li><strong>Amazon Redshift (고성능 분석 엔진)</strong><ul>
<li>정의: 대규모 데이터세트에 대해 빈도가 높은 고성능 OLAP SQL 쿼리를 대규모 병렬 구조로 처리하는 데이터 웨어하우스</li>
</ul>
</li>
<li><strong>Amazon QuickSight</strong><ul>
<li>정의: 다양한 데이터 소스에서 대화형 BI 대시보드 및 리포트를 빠르게 생성하는 클라우드 네이티브 비즈니스 인텔리전스 서비스</li>
<li>주요 특징: <strong>Amazon Q 자연어 쿼리(NLQ)</strong>가 통합되어 사용자가 자연어로 질의하여 몇 초 내 유용한 인사이트를 구축, 발견, 공유 가능</li>
</ul>
</li>
<li><strong>Amazon OpenSearch Service</strong><ul>
<li>정의: 비즈니스 및 운영 데이터를 실시간으로 검색, 모니터링, 분석하는 오픈소스 검색 엔진 관리형 서비스</li>
<li>주요 특징: 애플리케이션 모니터링, 로그 분석, 시스템 관찰성(Observability), 웹사이트 검색 및 실시간 시각화 대시보드 제공</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 데이터 파이프라인 5단계 핵심 서비스 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">파이프라인 단계</th>
<th align="left">대표 역할 및 기능</th>
<th align="left">지원 방식 / 특성</th>
<th align="left">대표 AWS 서비스</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>1. 수집 (Ingestion)</strong></td>
<td align="left">소스에서 스토리지를 데이터 수집/이동</td>
<td align="left">실시간 스트리밍 / 준실시간 ETL 전달</td>
<td align="left">Amazon Kinesis Data Streams, Amazon Data Firehose</td>
</tr>
<tr>
<td align="left"><strong>2. 스토리지 (Storage)</strong></td>
<td align="left">데이터 중앙 통합 보관</td>
<td align="left">객체 기반 데이터 레이크 / 정형 데이터 웨어하우스</td>
<td align="left">Amazon S3, Amazon Redshift</td>
</tr>
<tr>
<td align="left"><strong>3. 카탈로그화 (Cataloging)</strong></td>
<td align="left">데이터 메타데이터 중앙 인벤토리 관리</td>
<td align="left">메타데이터 자동 추출 및 통합 관리</td>
<td align="left">AWS Glue Data Catalog</td>
</tr>
<tr>
<td align="left"><strong>4. 처리/변환 (Processing)</strong></td>
<td align="left">데이터 정제, 가공 및 변환 (ETL)</td>
<td align="left">서버리스 Visual ETL / 오픈소스 빅데이터 클러스터</td>
<td align="left">AWS Glue, Amazon EMR</td>
</tr>
<tr>
<td align="left"><strong>5. 분석/시각화 (Analytics &amp; BI)</strong></td>
<td align="left">SQL 쿼리 분석 및 대시보드 시각화</td>
<td align="left">서버리스 SQL 쿼리, BI 대시보드, 실시간 로그 검색</td>
<td align="left">Amazon Athena, Amazon Redshift, QuickSight, OpenSearch</td>
</tr>
</tbody></table>
<h2 id="실제-환경에서의-클라우드">실제 환경에서의 클라우드</h2>
<h3 id="데이터-분석-및-aiml">데이터 분석 및 AI/ML</h3>
<ul>
<li><p>실무 비즈니스 시나리오: 전자 상거래 앱의 실시간 데이터 분석 및 추천 ML 모델 파이프라인</p>
<ul>
<li>비즈니스 목표: 앱 사용자 행동 및 과거 구매 데이터를 수집·가공하여, 데이터 과학자의 임시(Ad-hoc) 분석과 ML 엔지니어의 추천 ML 모델 지속 훈련을 동일 데이터세트로 자동화함</li>
</ul>
</li>
<li><p>엔드투엔드 데이터 파이프라인 8단계 흐름 (End-to-End Workflow)</p>
<ul>
<li><strong>1단계: 개인화 추천 제공 (ML Inference)</strong><ul>
<li>전자 상거래 앱이 훈련된 ML 모델을 사용하여 고객에게 실시간 맞춤형 제품 권장 사항(추천)을 제공함</li>
</ul>
</li>
<li><strong>2단계: 트랜잭션 데이터 저장 (Amazon DynamoDB)</strong><ul>
<li>애플리케이션을 통해 수집된 과거 고객 구매 트랜잭션 데이터를 Amazon DynamoDB에 저장함</li>
<li><em>기술적 한계</em>: DynamoDB는 저지연 읽기/쓰기에는 최적이나, 전체 데이터를 스캔하여 ML 모델을 훈련하는 용도로는 부적합하여 데이터 레이크로의 이관이 필수적임</li>
</ul>
</li>
<li><strong>3단계: 스트리밍 데이터 수집 및 집계 (Kinesis Data Streams &amp; Data Firehose)</strong><ul>
<li>DynamoDB와 Firehose 간 직접 연동이 불가능하므로, 먼저 <strong>Amazon Kinesis Data Streams</strong>로 DynamoDB 데이터 변경 사항(CDC)을 스트리밍함</li>
<li><strong>Amazon Data Firehose</strong>가 Kinesis Data Streams로부터 수집된 데이터를 수신하여 준실시간으로 집계 및 전달 준비함</li>
</ul>
</li>
<li><strong>4단계: 데이터 변환 및 포맷팅 (AWS Lambda)</strong><ul>
<li>DynamoDB 소스 데이터는 JSON 형태이나, ML 엔지니어 및 데이터 과학자는 <code>.csv</code> 표준 포맷을 필요로 함</li>
<li>Data Firehose가 <strong>AWS Lambda</strong> 함수를 자동 간접 호출하여 JSON 소스 데이터를 <code>.csv</code> 포맷으로 실시간 변환 처리함</li>
</ul>
</li>
<li><strong>5단계: 중앙 데이터 레이크 통합 적재 (Amazon S3)</strong><ul>
<li>변환이 완료된 <code>.csv</code> 데이터를 중앙 데이터 레이크인 <strong>Amazon S3</strong> 버킷에 저장하여 복수의 데이터 소비팀이 동시 활용할 수 있도록 전달함</li>
</ul>
</li>
<li><strong>6단계: 데이터 카탈로그화 및 메타데이터 정의 (AWS Glue Data Catalog)</strong><ul>
<li><strong>AWS Glue 데이터 카탈로그</strong>를 메타데이터 리포지토리로 사용하여 S3에 저장된 <code>.csv</code> 데이터의 스키마 및 물리적 위치를 설명하는 카탈로그 테이블을 정의함</li>
</ul>
</li>
<li><strong>7단계: 임시 SQL 데이터 분석 (Amazon Athena)</strong><ul>
<li>데이터 과학팀은 S3 밖으로 데이터를 별도 이동하지 않고, Glue 데이터 카탈로그의 스키마 정보를 참조하여 <strong>Amazon Athena</strong>를 통해 표준 SQL 쿼리를 실행해 비즈니스 인사이트를 도출함</li>
</ul>
</li>
<li><strong>8단계: ML 모델 지속 훈련 (Amazon SageMaker AI)</strong><ul>
<li>ML 엔지니어링팀은 <strong>Amazon SageMaker AI</strong>를 통해 S3 데이터 레이크에서 최신 데이터를 직접 읽어와 개인화 추천 ML 모델의 새 버전을 지속적으로 훈련(Re-training)함</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>실제 환경에서의 데이터 분석 &amp; AI/ML 서비스 연동 가이드표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">단계 / 서비스</th>
<th align="left">주요 데이터 형식 / 상태</th>
<th align="left">서비스 간 연동 역할 및 목적</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>1~2. 앱 &amp; DynamoDB</strong></td>
<td align="left">트랜잭션 JSON 데이터</td>
<td align="left">지연 시간이 짧은 과거 앱 트랜잭션 데이터 1차 적재</td>
</tr>
<tr>
<td align="left"><strong>3. Kinesis &amp; Firehose</strong></td>
<td align="left">스트리밍 변경 데이터 (CDC)</td>
<td align="left">DynamoDB 변경 사항을 Kinesis로 스트리밍 후 Firehose로 준실시간 집계</td>
</tr>
<tr>
<td align="left"><strong>4. AWS Lambda</strong></td>
<td align="left">JSON -&gt; <code>.csv</code> 포맷 변환</td>
<td align="left">Firehose 연동을 통해 ML/분석 전용 포맷(<code>.csv</code>)으로 동적 데이터 변환</td>
</tr>
<tr>
<td align="left"><strong>5. Amazon S3</strong></td>
<td align="left"><code>.csv</code> 파일 (데이터 레이크)</td>
<td align="left">다양한 부서/팀에서 공동 활용할 중앙 데이터 레이크에 최종 적재</td>
</tr>
<tr>
<td align="left"><strong>6. AWS Glue Data Catalog</strong></td>
<td align="left">스키마 &amp; 위치 메타데이터</td>
<td align="left">S3에 저장된 데이터의 스키마 구조를 자동 정의하는 카탈로그 생성</td>
</tr>
<tr>
<td align="left"><strong>7. Amazon Athena</strong></td>
<td align="left">표준 SQL 쿼리 결과</td>
<td align="left">Glue 카탈로그를 활용해 S3 데이터를 이동 없이 직접 SQL 임시 분석</td>
</tr>
<tr>
<td align="left"><strong>8. Amazon SageMaker AI</strong></td>
<td align="left">최신 훈련 데이터세트</td>
<td align="left">S3에서 최신 데이터를 직접 읽어 개인화 추천 ML 모델 최신 버전 훈련</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 7: 데이터베이스]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-7-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-7-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4</guid>
            <pubDate>Wed, 22 Jul 2026 14:43:40 GMT</pubDate>
            <description><![CDATA[<h1 id="module-7-데이터베이스">Module 7: 데이터베이스</h1>
<h2 id="데이터-베이스-소개">데이터 베이스 소개</h2>
<ul>
<li><p>AWS 공동 책임 모델과 데이터베이스 서비스 분류</p>
<ul>
<li><p>완전관리형 서비스 (Fully Managed Services)
<img src="https://velog.velcdn.com/images/oi_24/post/59c1106a-0afa-4fb7-bea2-fbf6e1c32541/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>AWS가 하드웨어 프로비저닝, 자동 스케일링, 운영체제 및 DB 패치 적용, 백업, 성능 최적화, 보안 패치, 모니터링 및 지표 제공 등 거의 모든 하부 및 상부 운영 태스크를 직접 처리하는 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터베이스 운용과 관련된 복잡한 관리 부담이 제거되어 고객의 책임 수준이 3가지 범주 중 가장 적음</li>
<li>고객은 오직 데이터 구조 설계(스키마)와 데이터에 대한 액세스 제어 관리만 전담하면 됨</li>
</ul>
</li>
</ul>
</li>
<li><p>관리형 서비스 (Managed Services)
  <img src="https://velog.velcdn.com/images/oi_24/post/97b3df9d-17e6-42d1-bd56-0a86fd2b1d77/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>AWS가 백업, OS 및 DB 패치 적용, 하드웨어 프로비저닝 등 일상적인 기본 인프라 운영 태스크를 처리하고, 상위 세부 설정은 고객이 담당하는 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>기초 인프라 관리 수고는 덜어주나 고객의 관리 영역 및 책임이 완전관리형에 비해 증가함</li>
<li>고객은 데이터베이스 세부 구성, 쿼리 최적화, 성능 튜닝 판단 및 결정에 대한 책임을 짐</li>
</ul>
</li>
</ul>
</li>
<li><p>비관리형 서비스 (Unmanaged Services)
  <img src="https://velog.velcdn.com/images/oi_24/post/ab979b70-e24a-401c-b94e-0c16592bfe3c/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>AWS는 기본적인 물리 인프라만 제공하며, 데이터베이스 엔진 설치부터 구성, 유지관리까지 전 과정을 고객이 직접 수행하는 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>고객이 DB 소프트웨어 설치, 구성, 패치 적용, 정기 유지보수, DB 보안, 백업, 고가용성(HA) 설정, 성능 최적화 등 관리 전반에 걸쳐 가장 큰 책임을 짐</li>
<li>대표 예시: Amazon EC2 인스턴스를 생성한 후 사용자가 직접 MySQL 등 데이터베이스 관리 시스템(DBMS)을 가동하는 형태</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 데이터베이스 서비스 관리 유형 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">관리 범주</th>
<th align="left">AWS 담당 영역</th>
<th align="left">고객 담당 영역</th>
<th align="left">고객 책임 수준</th>
<th align="left">대표 예시</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>완전관리형</strong></td>
<td align="left">프로비저닝, 스케일링, 패치, 백업, 성능 최적화, 보안 패치, 모니터링</td>
<td align="left">데이터 구조 설계, 액세스 제어 관리</td>
<td align="left">최저 (최소 관리)</td>
<td align="left">DynamoDB, ElastiCache 등</td>
</tr>
<tr>
<td align="left"><strong>관리형</strong></td>
<td align="left">하드웨어 프로비저닝, 일상적 패치 적용, 백업 인프라</td>
<td align="left">DB 세부 구성, 쿼리 최적화, 성능 튜닝 결정</td>
<td align="left">중간</td>
<td align="left">Amazon RDS</td>
</tr>
<tr>
<td align="left"><strong>비관리형</strong></td>
<td align="left">기본적인 물리 호스트 인프라 및 네트워크</td>
<td align="left">DB 설치/구성, 패치, 보안, 백업, 고가용성 설정, 성능 최적화 전체</td>
<td align="left">최고 (전적 관리)</td>
<td align="left">EC2 인스턴스 내 직접 설치한 MySQL</td>
</tr>
</tbody></table>
<h2 id="aws-데이터베이스-서비스">AWS 데이터베이스 서비스</h2>
<h3 id="관계형-데이터베이스-서비스">관계형 데이터베이스 서비스</h3>
<ul>
<li><p>관계형 데이터베이스 (Relational Database)의 기본 개념</p>
<ul>
<li>정의<ul>
<li>데이터를 행(Row)과 열(Column)로 이루어진 정형 테이블 구조에 저장하고, 공통 속성(Key)을 매개로 다른 테이블과의 연관 관계를 형성하는 데이터베이스 아키텍처</li>
</ul>
</li>
<li>주요 특징<ul>
<li>정형 쿼리 언어(SQL)를 사용하여 데이터 조작 및 관리를 수행함 (예: MySQL, PostgreSQL, MariaDB, MS SQL Server, Oracle 등)</li>
<li>정형 데이터를 이해하기 쉽고 일관성 있으며 확장 가능한 방식으로 저장하여 트랜잭션 수용 및 데이터 연관성 추적에 최적화됨</li>
<li>예시 (레스토랑 인벤토리 시스템): ID, 제품 이름, 크기, 가격 등 단일 상품의 속성을 개별 레코드로 행 단위 관리함</li>
</ul>
</li>
<li>온프레미스 DB의 AWS 이관 방식<ul>
<li><strong>EC2 기반 리프트 앤 시프트 (Lift and Shift)</strong>: 온프레미스의 기존 DB 배포 환경을 그대로 EC2 인스턴스로 이전하여 OS, CPU, 메모리, 스토리지 변수를 사용자가 직접 제어함 (AWS Database Migration Service(DMS) 활용 가능)</li>
<li><strong>AWS 관리형/완전관리형 서비스 채택</strong>: 인프라 및 DB 패치, 백업의 자동화를 위해 Amazon RDS나 Amazon Aurora로 전환함</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon Relational Database Service (Amazon RDS)</p>
<ul>
<li>정의<ul>
<li>백업, OS 및 DB 패치 적용, 하드웨어 프로비저닝, 장애 조치 등 복잡한 일상적 관리 태스크를 자동 처리해 주는 관리형 관계형 데이터베이스 서비스</li>
</ul>
</li>
<li>지원 데이터베이스 엔진 (6종)<ul>
<li>Amazon Aurora, MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Oracle Database</li>
</ul>
</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>비용 최적화 (Cost Optimization)</strong><ul>
<li>초기 물리 하드웨어 인프라 구매 및 설치 비용이 없으며, 실제 사용한 컴퓨팅 및 스토리지 리소스에 대해서만 종량제로 과금됨</li>
<li>백업, 모니터링, 패치 등 반복 관리 업무의 자동화를 통해 전반적인 운영 비용(OPEX)을 감축함</li>
</ul>
</li>
<li><strong>다중 AZ 배포 (Multi-AZ Deployment)</strong><ul>
<li>다른 가용 영역(AZ)에 대기(Standby) 예비 인스턴스를 두고 데이터를 실시간 자동 복제함</li>
<li>주 인스턴스 실패, 유지 관리, 영역 중단 시 수동 개입 없이 자동으로 예비 인스턴스로 장애 조치(Failover)를 수행하여 가동 중지 시간을 최소화함</li>
</ul>
</li>
<li><strong>성능 최적화 및 확장성 (Performance &amp; Scalability)</strong><ul>
<li>기본 인스턴스의 읽기 트래픽 부하를 오프로드할 수 있는 읽기 전용 복제본(Read Replica) 지원</li>
<li>Amazon RDS 성능 개선 도우미(Performance Insights)를 통해 데이터베이스 로드를 실시간 분석하고 성능 병목을 신속 해결함</li>
<li>필요에 따라 DB 컴퓨팅 및 스토리지 리소스를 수직적/수평적으로 손쉽게 조정 가능함</li>
</ul>
</li>
<li><strong>다층 보안 제어 (Security Controls)</strong><ul>
<li>VPC 네트워크 격리, 저장 데이터 암호화(Encryption at Rest), 전송 중 암호화(Encryption in Transit) 지원</li>
<li>고객은 보안 조치 구현 및 암호화 옵션 구성에 대한 책임(공동 책임 모델)을 가짐</li>
</ul>
</li>
<li><strong>자동 백업 및 수동 DB 스냅샷</strong><ul>
<li>정기적인 자동 백업과 더불어 사용자 요구에 따라 전체 DB 인스턴스의 특정 시점을 수동 백업하는 DB 스냅샷 생성 지원 (시점 복원 및 장기 보관 목적)</li>
</ul>
</li>
</ul>
</li>
<li>주요 실제 사용 사례<ul>
<li>웹 애플리케이션 백엔드, 기업 워크로드, 전자 상거래 플랫폼 제품 인벤토리 관리 등</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon Aurora</p>
<ul>
<li>정의<ul>
<li>MySQL 및 PostgreSQL과 완벽 호환되며, 불필요한 I/O 작업을 원천 차단하도록 클라우드 네이티브로 재설계된 고성능 완전관리형 관계형 데이터베이스 서비스</li>
</ul>
</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>초고성능 및 높은 가용성 (High Performance)</strong><ul>
<li>표준 MySQL 대비 최대 5배, PostgreSQL 대비 최대 3배 높은 처리량(Throughput) 성능을 제공함</li>
<li>분산 멀티 테넌트 스토리지 아키텍처를 채택하여 고성능 데이터 처리를 보장함</li>
</ul>
</li>
<li><strong>분산 데이터 복제 및 강력한 내결함성 (Fault Tolerance)</strong><ul>
<li>가용 영역(AZ) 3개에 걸쳐 데이터 사본 6개를 자동 분산 복제하며 99.99%의 높은 가용성을 보장함</li>
<li>동일 리전의 가용 영역 전체에 최대 15개의 Aurora 읽기 복제본(Read Replica)을 배치할 수 있음</li>
<li>노드 장애 감지 시 데이터 손실 없이 트래픽을 정상 복제본으로 자동 리디렉션함</li>
</ul>
</li>
<li><strong>스토리지 자동 확장 및 지속 백업</strong><ul>
<li>데이터 증가에 따라 스토리지 용량이 10GB에서 최대 128TB까지 자동으로 팽창/축소되어 사전 용량 예측이 불필요함</li>
<li>Amazon S3에 데이터를 지속적으로 자동 백업하며, 최대 35일 보존 기간 내에서 특정 시점 복원(Point-in-Time Recovery)을 지원함</li>
</ul>
</li>
<li><strong>다양한 엔진 및 분산 DB 지원</strong><ul>
<li>MySQL, PostgreSQL뿐만 아니라 분산 SQL 데이터베이스(DSQL) 환경도 전면 지원함</li>
</ul>
</li>
</ul>
</li>
<li>주요 실제 사용 사례<ul>
<li>대규모 게임 애플리케이션, 미디어 및 콘텐츠 관리 플랫폼, 실시간 대용량 데이터 분석 시스템 등</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Amazon RDS vs Amazon Aurora 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">Amazon RDS</th>
<th align="left">Amazon Aurora</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>서비스 유형</strong></td>
<td align="left">관리형 관계형 데이터베이스 서비스</td>
<td align="left">완전관리형 클라우드 네이티브 관계형 DB</td>
</tr>
<tr>
<td align="left"><strong>지원 DB 엔진</strong></td>
<td align="left">Aurora, MySQL, PostgreSQL, MariaDB, MSSQL, Oracle (6종)</td>
<td align="left">MySQL, PostgreSQL 호환 엔진, 분산 SQL (DSQL)</td>
</tr>
<tr>
<td align="left"><strong>성능 (처리량)</strong></td>
<td align="left">오픈소스 및 상용 DB 엔진의 표준 성능</td>
<td align="left">표준 MySQL 대비 최대 5배, PostgreSQL 대비 최대 3배</td>
</tr>
<tr>
<td align="left"><strong>데이터 복제 구조</strong></td>
<td align="left">다중 AZ 대기(Standby) 인스턴스 1개 동기 복제</td>
<td align="left">3개 AZ에 걸쳐 데이터 사본 6개 자동 분산 복제</td>
</tr>
<tr>
<td align="left"><strong>읽기 전용 복제본</strong></td>
<td align="left">엔진별 수 개 수준의 읽기 전용 복제본 지원</td>
<td align="left">리전 내 3개 AZ 전역에 최대 15개 복제본 생성 가능</td>
</tr>
<tr>
<td align="left"><strong>스토리지 스케일링</strong></td>
<td align="left">필요 시 수동/자동 볼륨 확장 (설정 한도 내)</td>
<td align="left">사용량 비례 10GB ~ 128TB 범위 무한 자동 확장</td>
</tr>
<tr>
<td align="left"><strong>백업 및 보존</strong></td>
<td align="left">자동 백업 및 수동 DB 스냅샷 지원</td>
<td align="left">S3 지속 백업 지원 (최대 35일 보존 및 시점 복구)</td>
</tr>
</tbody></table>
<h3 id="nosql-데이터베이스-서비스">NoSQL 데이터베이스 서비스</h3>
<ul>
<li><p>NoSQL 데이터베이스 (Non-Relational Database)의 기본 개념</p>
<ul>
<li>정의<ul>
<li>관계형 데이터베이스(RDBMS)의 정형 테이블 및 고정 스키마 대신, 키-값(Key-Value) 페어나 문서(Document) 구조를 활용해 데이터를 저장하는 비관계형 데이터베이스 아키텍처</li>
</ul>
</li>
<li>주요 특징<ul>
<li><strong>유연한 동적 스키마 (Flexible Schema)</strong>: 데이터베이스 생성 시 고정 스키마를 정의할 필요가 없으며, 언제든지 속성(Attribute)을 추가하거나 제거 가능함 (모든 항목이 동일 속성을 가질 필요가 없음)</li>
<li><strong>키-값 페어 (Key-Value Pair) 저장 방식</strong>: 각 데이터 항목(Item)은 고유한 식별 키(Key, 사전의 단어)를 가지며, 여기에 1개 이상의 관련 속성/값(Value, 단어의 정의)이 매핑됨</li>
<li><strong>다양한 속성 유형</strong>: 속성 값은 숫자, 문자열 등 단순 유형부터 집합, 문서(JSON) 등 복잡한 구조를 모두 수용함</li>
<li><strong>RDBMS의 한계 극복</strong>: 데이터 규모 증가 시 관계형 DB에서 발생하는 고정 스키마 변경 부담 및 스케일링 병목 현상을 해결하여 빠르고 가변적인 비정형 데이터 처리에 최적화됨</li>
</ul>
</li>
<li>NoSQL 키-값 데이터 저장 예시<ul>
<li>키 1: 이름(&quot;John Doe&quot;), 주소(&quot;123 Any Street&quot;), 좋아하는 음료(&quot;미디엄 라떼&quot;)</li>
<li>키 2: 이름(&quot;Mary Major&quot;), 주소(&quot;100 Main Street&quot;), 생일(&quot;1994년 7월 5일&quot;) -&gt; 항목별로 가지고 있는 속성이 서로 달라도 문제없이 저장됨</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon DynamoDB</p>
<ul>
<li>정의<ul>
<li>키-값 및 문서 데이터 구조를 모두 지원하며, 데이터 규모와 관계없이 10밀리초 미만의 초고속 성능을 보장하는 완전관리형 서버리스 NoSQL 데이터베이스 서비스</li>
</ul>
</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>완전관리형 서버리스 (Serverless Architecture)</strong><ul>
<li>인프라 프로비저닝, 버전 업그레이드, 유지 관리 기간, 보안 패치 적용, 작동 중지 시간 관리가 전혀 필요 없음</li>
<li>운영체제 및 DB 수준의 관리가 자동화되어 콜드 스타트나 관리에 따른 공수가 발생하지 않음</li>
</ul>
</li>
<li><strong>일관된 초고속 성능 (Sub-10ms Latency)</strong><ul>
<li>데이터가 페타바이트급으로 증가해도 <strong>한 자릿수 밀리초(10밀리초 미만)</strong>의 극도로 짧은 응답 성능을 보장함</li>
<li>데이터를 여러 서버와 고성능 SSD 드라이브에 자동으로 분산 적재하여 안정성을 지님</li>
</ul>
</li>
<li><strong>프로비저닝 용량 자동 확장성 (Auto-Scaling)</strong><ul>
<li>트래픽 및 실제 사용량 변화에 맞춰 데이터베이스 처리량을 자동으로 스케일 업/다운함</li>
<li>사용자가 목표 사용률을 지정하면 DynamoDB가 스스로 용량을 프로비저닝하며, 테이블 크기 및 총 데이터 저장량에 제약이 없음</li>
</ul>
</li>
<li><strong>높은 가용성 및 내구성 (99.999% Availability)</strong><ul>
<li>단일 AWS 리전 내에 존재하는 <strong>독립된 개별 시설(AZ) 3개에 데이터를 실시간 자동 복제</strong>하여 <strong>99.999% 가용성</strong>을 제공함</li>
<li>타 리전에 복제본을 멀티 마스터로 배치하는 <strong>글로벌 테이블 (Global Tables)</strong> 기능을 제공하여 전 세계 분산 애플리케이션의 내결함성을 극대화함</li>
</ul>
</li>
<li><strong>검증된 대규모 트래픽 처리 성능 (Amazon Prime Day 2024 사례)</strong><ul>
<li>48시간 동안 DynamoDB API에 대해 <strong>수십조 단위</strong>의 호출을 안정적으로 처리함</li>
<li>초당 최고 요청 수가 <strong>1억 4,600만 건</strong>에 달함에도 관리 개입 없이 무중단 자동 스케일링을 증명함</li>
</ul>
</li>
<li><strong>투명한 데이터 암호화 (Encryption)</strong><ul>
<li>저장 데이터 암호화(Encryption at Rest)를 지원하여 모든 데이터가 스토리지에 적재되기 전 백그라운드에서 자동 암호화되며, 전송 중 암호화를 함께 제공함</li>
</ul>
</li>
</ul>
</li>
<li>주요 실제 사용 사례<ul>
<li>대규모 게임 플랫폼(사용자 상태/스코어보드), 실시간 금융 서비스 응용 프로그램, 글로벌 모바일 애플리케이션 백엔드 등</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>관계형 DB (RDBMS/RDS) vs NoSQL DB (DynamoDB) 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">관계형 데이터베이스 (Amazon RDS / Aurora)</th>
<th align="left">NoSQL 데이터베이스 (Amazon DynamoDB)</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>데이터 구조</strong></td>
<td align="left">행(Row)과 열(Column) 중심의 고정 정형 테이블</td>
<td align="left">키-값(Key-Value) 페어 또는 문서(Document) 구조</td>
</tr>
<tr>
<td align="left"><strong>스키마 유형</strong></td>
<td align="left">사전 정의된 엄격한 고정 스키마 (Strict Schema)</td>
<td align="left">항목별 속성이 다를 수 있는 유연한 동적 스키마</td>
</tr>
<tr>
<td align="left"><strong>쿼리 언어</strong></td>
<td align="left">정형 쿼리 언어 (SQL)</td>
<td align="left">API 직접 호출 및 키 기반 쿼리/스캔</td>
</tr>
<tr>
<td align="left"><strong>스케일링 방식</strong></td>
<td align="left">주로 수직 스케일링 (컴퓨팅/스토리지 증설)</td>
<td align="left">수평 자동 확장 (서버리스 오토스케일링)</td>
</tr>
<tr>
<td align="left"><strong>응답 지연시간</strong></td>
<td align="left">복잡한 조인(Join) 쿼리에 따라 지연시간 변동</td>
<td align="left">규모에 상관없이 10밀리초 미만(한 자릿수 ms) 보장</td>
</tr>
<tr>
<td align="left"><strong>최적 사용 분야</strong></td>
<td align="left">복잡한 트랜잭션, 데이터 관계 추적, 이커머스 주무</td>
<td align="left">대용량 단순 트랜잭션, 게임 스토어, 실시간 렌더링</td>
</tr>
</tbody></table>
<h3 id="aws-데이터베이스-데모">AWS 데이터베이스 데모</h3>
<ul>
<li><p>Amazon RDS (MySQL) 실습 데모</p>
<ul>
<li>RDS DB 인스턴스 생성 절차<ul>
<li><strong>엔진 및 템플릿 선택</strong>: RDS 대시보드에서 <code>Create database</code> 실행 후 DB 엔진으로 <code>MySQL</code>, 사용 템플릿으로 <code>Free tier</code> 선택</li>
<li><strong>인스턴스 식별자 및 자격 증명 설정</strong>: DB 인스턴스 식별자로 <code>database-1</code> 입력, Credentials Settings에서 마스터 사용자 이름(<code>admin</code>) 및 암호(<code>password</code>) 지정</li>
<li><strong>네트워크 및 퍼블릭 액세스 구성</strong>: Connectivity 섹션에서 기본 VPC를 선택하고, 외부 SQL 클라이언트 접근 테스트를 위해 <code>Public access = Yes</code> 설정 (실제 운영 환경에서는 보안을 위해 퍼블릭 액세스 차단 권장)</li>
<li><strong>상태 전환</strong>: 인스턴스 생성 진행 후 상태가 <code>Creating</code>에서 <code>Available</code>로 변환되면 구동 준비 완료</li>
</ul>
</li>
<li>RDS 인스턴스 연결 및 SQL 조작 실습<ul>
<li><strong>클라이언트 연결 정보</strong>: DB 인스턴스 상세 페이지의 <code>Connectivity &amp; security</code> 탭에 표시된 <strong>Endpoint(엔드포인트 주소)</strong>와 <strong>Port(포트 번호)</strong> 및 자격증명을 사용해 연결</li>
<li><strong>DDL (테이블 생성 및 외래키 연관)</strong>: <code>Users</code>, <code>Products</code>, <code>Orders</code> 3개 테이블을 생성하며, 외래키(Foreign Key)를 통해 테이블 간 관계를 정의함</li>
<li><strong>DML 및 고정 스키마 검증</strong>: Insert 문을 실행해 데이터를 적재함 (모든 행이 동일한 열 구조를 가져야 하는 RDBMS의 엄격한 고정 스키마 특성 확인)</li>
<li><strong>SELECT &amp; Join 쿼리</strong>: 여러 테이블의 데이터를 외래키 조건으로 결합하는 Join SQL 문을 실행하여 모든 사용자 주문 내역을 단일 결과 집합으로 조회함</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon DynamoDB 실습 데모</p>
<ul>
<li>DynamoDB 독립형 테이블 생성 절차<ul>
<li><strong>테이블 및 파티션 키 정의</strong>: DynamoDB 대시보드에서 <code>Create table</code> 실행 후, 테이블 이름으로 <code>Orders</code>, <strong>Partition key(파티션 키)</strong> 이름으로 <code>OrderNumber</code>(숫자 <code>Number</code> 타입) 지정</li>
<li><strong>서버리스 즉시 생성</strong>: RDS와 달리 인스턴스 관리나 외래키 개념이 없으며, 테이블 이름과 파티션 키 설정만으로 수 초 내 생성 완료 (<code>Creating</code> -&gt; <code>Active</code>)</li>
</ul>
</li>
<li>SDK 데이터 적재 및 스캔/쿼리 실습<ul>
<li><strong>AWS SDK 기반 데이터 로드</strong>: Python 스크립트로 DynamoDB API를 직접 호출하여 항목 10개를 테이블에 자동 데이터 적재</li>
<li><strong>Scan (전체 데이터 검색)</strong>: <code>Explore table items</code> -&gt; <code>Scan</code> 실행하여 테이블 내 모든 데이터(Read All) 10개 항목을 반환받음</li>
<li><strong>동적 스키마 (Dynamic Schema) 검증</strong>: 스캔 결과 중 <code>Notes</code> 속성이 일부 항목에만 존재하는 것을 확인하여, 항목마다 속성 구성이 다를 수 있는 NoSQL의 유연한 스키마 구조를 실증함</li>
<li><strong>Query (특정 항목 핀포인트 검색)</strong>: Partition Key 조건으로 <code>OrderNumber = 5</code>를 지정하여 <code>Query</code>를 실행함으로써 단 1개의 해당 항목만 고속 반환받음을 확인함</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>RDS(MySQL) 데모 vs DynamoDB 데모 실습 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">실습 구분</th>
<th align="left">Amazon RDS (MySQL) 데모</th>
<th align="left">Amazon DynamoDB 데모</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>생성 대상</strong></td>
<td align="left">DB 인스턴스 (<code>database-1</code>) 및 내부 복수 테이블</td>
<td align="left">독립 실행형 단일 테이블 (<code>Orders</code>)</td>
</tr>
<tr>
<td align="left"><strong>연결 방식</strong></td>
<td align="left">Endpoint 주소, Port 번호 및 DB 계정 자격증명</td>
<td align="left">AWS SDK를 통한 API 직접 호출</td>
</tr>
<tr>
<td align="left"><strong>식별/연관 키</strong></td>
<td align="left">테이블 간 외래키 (Foreign Key)를 통한 연관 관계</td>
<td align="left">항목 식별용 파티션 키 (Partition Key, <code>OrderNumber</code>)</td>
</tr>
<tr>
<td align="left"><strong>스키마 제약</strong></td>
<td align="left">모든 행이 동일한 열을 가져야 하는 엄격한 고정 스키마</td>
<td align="left">항목별로 속성이 다를 수 있는 유연한 동적 스키마 (<code>Notes</code> 속성 예시)</td>
</tr>
<tr>
<td align="left"><strong>데이터 조회 방식</strong></td>
<td align="left">SQL 조인(Join) 문을 통한 복수 테이블 통합 검색</td>
<td align="left">Scan (전체 읽기) 및 Query (파티션 키 조건 고속 검색)</td>
</tr>
</tbody></table>
<h3 id="인메모리-캐싱-서비스">인메모리 캐싱 서비스</h3>
<ul>
<li><p>인메모리 캐시 (In-Memory Cache)의 기본 개념</p>
<ul>
<li>정의<ul>
<li>자주 액세스하는 데이터를 디스크 스토리지 대신 컴퓨터의 주 메모리(RAM)에 임시 적재하여 데이터 검색 및 응답 속도를 극대화하는 고속 데이터 계층</li>
</ul>
</li>
<li>주요 특징 및 작동 메커니즘<ul>
<li><strong>극도로 빠른 속도</strong>: 디스크 기반 스토리지 시스템보다 수백 배에서 수천 배 빠른 읽기/쓰기 성능을 제공함</li>
<li><strong>프라이머리 DB 부하 절감</strong>: 디스크 기반 프라이머리 데이터베이스(예: Amazon RDS)로 향하는 반복 쿼리를 사전에 차단하여 DB 성능 병목 현상을 방지함</li>
<li><strong>캐시 적중 및 누락 (Cache Hit &amp; Cache Miss) 처리 흐름</strong><ul>
<li><code>Cache Hit (적중)</code>: 애플리케이션 요청 시 데이터가 캐시에 이미 존재하여 즉시 사용자에게 반환됨</li>
<li><code>Cache Miss (누락)</code>: 캐시에 데이터가 없을 경우 백엔드 DB(RDS)에서 데이터를 읽어와 캐시에 저장한 뒤 사용자에게 결과를 전달함 (다음 요청부터 즉시 반환 가능)</li>
</ul>
</li>
<li><strong>적합한 데이터 유형</strong>: 사용자 세션 데이터, API 응답, 반복 데이터베이스 쿼리 결과, 정적/반복 참조 정보 등</li>
</ul>
</li>
</ul>
</li>
<li><p>Amazon ElastiCache</p>
<ul>
<li>정의<ul>
<li>Redis OSS, Valkey, Memcached와 호환되며 마이크로초(Microsecond) 단위의 초저지연 응답을 제공하는 완전관리형 인메모리 캐싱 서비스</li>
</ul>
</li>
<li>지원 인메모리 캐시 엔진 (3종)<ul>
<li><strong>Redis OSS</strong>, <strong>Valkey</strong>, <strong>Memcached</strong></li>
</ul>
</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>마이크로초(Microsecond) 단위 초저지연 성능 (Sub-millisecond Latency)</strong><ul>
<li>1밀리초보다 찰나인 <strong>마이크로초(μs)</strong> 단위의 응답 속도를 보장하여 읽기 트래픽이 많은 대규모 애플리케이션의 응답성을 극대화함</li>
</ul>
</li>
<li><strong>완전관리형 및 서버리스 (Serverless) 옵션</strong><ul>
<li>하드웨어 프로비저닝, OS 및 캐시 엔진 패치 적용, 모니터링, 결함 노드 자동 교체 등을 AWS가 자동화함</li>
<li>트래픽 변동에 맞춰 자동으로 스토리지 및 컴퓨팅 용량이 조절되는 <strong>ElastiCache Serverless</strong> 옵션을 제공하여 운영 오버헤드를 줄임</li>
</ul>
</li>
<li><strong>데이터베이스 아키텍처 비용 최적화 (Cost Optimization)</strong><ul>
<li>캐시 계층이 읽기 트래픽의 상당량을 수용(Offload)하므로 백엔드 데이터베이스(RDS) 인스턴스 스펙을 더 작고 저렴한 클래스로 유지할 수 있어 전체 시스템 비용을 감축함</li>
</ul>
</li>
<li><strong>고가용성 및 자동 장애 복구 (High Availability)</strong><ul>
<li>프라이머리 노드 장애를 지속 감지하며, 결함 발생 시 수동 개입 없이 <strong>몇 분 내에 복제본(Replica) 노드를 새로운 프라이머리로 자동 승격</strong>하여 가동 중지 시간을 최소화함</li>
</ul>
</li>
<li><strong>다중 가용 영역(Multi-AZ) 복제</strong><ul>
<li>여러 가용 영역(AZ)에 프라이머리 및 복제본 노드를 분산 배치하여 특정 AZ 인프라 마비 시에도 데이터 접근성을 유지함</li>
</ul>
</li>
<li><strong>다층 보안 및 데이터 암호화 (Encryption)</strong><ul>
<li><strong>저장 데이터 암호화 (Encryption at Rest)</strong>: 디스크 스토리지 및 자동 백업 파일 암호화</li>
<li><strong>전송 중 암호화 (Encryption in Transit)</strong>: TLS(전송 계층 보안) 프로토콜을 통해 클라이언트와 캐시 노드 간 통신 구간 암호화</li>
</ul>
</li>
</ul>
</li>
<li>전형적인 웹 아키텍처 흐름 (EC2 + ElastiCache + RDS)<ul>
<li><code>사용자 데이터 요청</code> -&gt; <code>EC2 애플리케이션 서버</code> -&gt; <code>1차: ElastiCache 조회</code> -&gt; (<code>Hit</code>: 즉시 응답 / <code>Miss</code>: <code>2차: RDS 쿼리</code> -&gt; <code>ElastiCache 결과 저장</code> -&gt; <code>사용자 응답</code>)</li>
</ul>
</li>
<li>주요 실제 사용 사례<ul>
<li>웹/모바일 세션 상태 관리, 대용량 DB 쿼리 결과 캐싱, 실시간 게임 순위표(Leaderboard), 콘텐츠 전송 시스템(CDN) 캐시 백엔드 등</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>관계형 DB (RDS) vs 인메모리 캐시 (ElastiCache) 비교 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">관계형 데이터베이스 (Amazon RDS)</th>
<th align="left">인메모리 캐시 (Amazon ElastiCache)</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>저장 매체</strong></td>
<td align="left">디스크 기반 스토리지 (SSD / EBS)</td>
<td align="left">주 기억 장치 (RAM / In-Memory)</td>
</tr>
<tr>
<td align="left"><strong>응답 지연시간</strong></td>
<td align="left">밀리초(ms) 단위</td>
<td align="left">마이크로초(μs) 단위 (디스크 대비 수백~수천 배 고속)</td>
</tr>
<tr>
<td align="left"><strong>주 목적</strong></td>
<td align="left">데이터의 영구적 보존, 복잡한 트랜잭션/관계 관리</td>
<td align="left">자주 조회되는 데이터의 임시 적재, DB 부하 분산</td>
</tr>
<tr>
<td align="left"><strong>호환 엔진</strong></td>
<td align="left">Aurora, MySQL, PostgreSQL, MariaDB 등</td>
<td align="left">Redis OSS, Valkey, Memcached</td>
</tr>
<tr>
<td align="left"><strong>데이터 지속성</strong></td>
<td align="left">영구 보존 (스냅샷 및 다중 AZ 복제)</td>
<td align="left">휘발성 중심 (엔진 옵션에 따라 수동/자동 스냅샷 지원)</td>
</tr>
<tr>
<td align="left"><strong>비용 절감 효과</strong></td>
<td align="left">데이터 증가 시 DB 컴퓨팅 수직 확장 필요</td>
<td align="left">읽기 요청 오프닝을 통해 백엔드 DB의 소형화 가능</td>
</tr>
</tbody></table>
<h3 id="추가-데이터베이스-서비스">추가 데이터베이스 서비스</h3>
<ul>
<li><p>AWS의 목적별 데이터베이스 (Purpose-Built Databases) 전략</p>
<ul>
<li>정의<ul>
<li>&quot;모든 용도에 알맞은 만능 데이터베이스는 없다&quot;는 원칙하에, 애플리케이션 데이터의 고유한 형태와 비즈니스 요구사항에 가장 적합한 전용 데이터베이스를 채택하는 전략</li>
</ul>
</li>
<li>핵심 메커니즘<ul>
<li>정형(관계형), 키-값, 문서, 그래프, 블록체인 원장 등 워크로드의 특성에 데이터를 맞추어 선택함으로써 최상의 성능과 비용 효율성을 달성함</li>
</ul>
</li>
</ul>
</li>
<li><p>특수 목적 데이터베이스 서비스군</p>
<ul>
<li>Amazon DocumentDB (MongoDB 호환)<ul>
<li>정의: 고정된 관계형 스키마에 부합하지 않는 반정형(Semi-structured) JSON 문서를 관리하도록 설계된 완전관리형 문서 데이터베이스 서비스</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>MongoDB 완벽 호환성</strong>: 기존 MongoDB API, 드라이버, 도구를 그대로 보존하여 코드 수정 없이 애플리케이션 마이그레이션이 가능함</li>
<li><strong>유연한 동적 스키마</strong>: 사전 정의된 스키마 없이 신속한 반복 개발 및 잦은 데이터 속성 변경을 손쉽게 수용함</li>
<li><strong>스토리지 자동 확장성</strong>: 데이터 증가에 따라 스토리지를 10GB 단위 증분으로 <strong>최대 64TB까지 자동 확장</strong>하며 초당 수백만 건의 요청을 수용함</li>
<li><strong>읽기 처리량 향상 (최대 15개 복제본)</strong>: 기본 스토리지를 공유하는 읽기 전용 복제본(Replica) 인스턴스를 <strong>최대 15개까지 생성</strong>하여 읽기 성능을 획기적으로 개선함</li>
</ul>
</li>
<li>주요 실제 사용 사례: 콘텐츠 관리 시스템(CMS), 상품 카탈로그 및 인벤토리 관리, 사용자 프로필 및 개인화 시스템 등</li>
</ul>
</li>
<li>Amazon Neptune (그래프 데이터베이스)<ul>
<li>정의: 소셜 네트워크, 친구 관계망, 사기 행위 패턴 등 고도로 연결된 데이터세트의 복잡한 관계를 관리하기 위해 특별히 제작된 완전관리형 그래프 데이터베이스 서비스</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>복잡한 관계 파악 특화 Engine</strong>: 관계형 DB에서 쿼리하기 어려운 소셜 웹 및 상호 연결 데이터를 속성 그래프(Property Graph) 및 RDF 모델을 통해 손쉽게 탐색함</li>
<li><strong>밀리초(ms) 단위의 고속 쿼리 성능</strong>: 수십억 개의 복잡한 관계를 <strong>몇 밀리초(ms) 안</strong>에 빠르게 처리하여 대규모 관계 매핑 및 패턴 일치를 수행함</li>
<li><strong>자동 확장 및 고가용성</strong>: 스토리지를 <strong>최대 64TB까지 자동으로 확장</strong>하며, 자동 장애 조치 및 지속 백업을 내장함</li>
</ul>
</li>
<li>주요 실제 사용 사례: 소셜 네트워크 사용자 연결 매핑, 실시간 사기 행위(Fraud) 탐지 시스템, 검색 및 추천 시스템 등</li>
</ul>
</li>
<li>Amazon Managed Blockchain<ul>
<li>정의: 투명한 데이터 변경 이력 보장 및 공급망 관리를 위해 분산 블록체인 네트워크를 손쉽게 생성하고 관리하도록 지원하는 전용 서비스</li>
<li>주요 실제 사용 사례: 식품 안전을 위한 식자재 공급망(Supply Chain) 추적, 유통 품목 분실 방지, 데이터 이력 보관 등</li>
</ul>
</li>
</ul>
</li>
<li><p>데이터베이스 가속기 &amp; 중앙 집중식 통합 백업 서비스</p>
<ul>
<li>Amazon DynamoDB Accelerator (DAX)<ul>
<li>정의: Amazon DynamoDB 비관계형 데이터의 읽기 반응 속도를 대폭 개선하기 위해 기본 제공되는 전용 인메모리 캐싱 계층 (In-Memory Cache Layer)</li>
<li>특징/이점: DynamoDB 읽기 시간을 <strong>마이크로초(μs) 단위로 단축</strong>시켜 응답성을 극대화함</li>
</ul>
</li>
<li>AWS Backup (중앙 집중식 통합 백업 관리)<ul>
<li>정의: Amazon EBS 볼륨, Amazon EFS 파일 시스템, RDS 데이터베이스, DynamoDB 테이블 및 온프레미스 데이터 전체에 대해 중앙에서 데이터 보호를 자동 관리하는 통합 백업 서비스</li>
<li>주요 이점 및 핵심 기능<ul>
<li><strong>단일 대시보드 중앙 집중 관리</strong>: 여러 AWS 서비스 및 계정 전체의 백업 작업, 복원 지점, 규정 준수 상태를 단일 통제면에서 관제하여 구성 오류와 운영 복잡성을 제거함</li>
<li><strong>자동 백업 일정 및 정책 적용</strong>: 비즈니스 정책에 따라 백업 일정을 자동화하고, 새 리소스 생성 시 자동으로 백업 대상에 포함시킴</li>
<li><strong>리전 간 백업 이중화 (Cross-Region Replication)</strong>: 재해 복구(DR)를 위해 백업 데이터를 타 AWS 리전에 자동 복제하여 프라이머리 리전 마비 시 세컨더리 리전에서 신속 복구함</li>
<li><strong>간소화된 규정 준수 및 감사 (Compliance &amp; Audit)</strong>: 백업 활동 추적, 상세 감사 로그 및 보고서를 자동 유지 관리하여 엄격한 법적/보안 요구사항을 입증함</li>
</ul>
</li>
<li>주요 실제 사용 사례: 전사 중앙 집중식 재해 복구, 규정 준수 통합 백업 정책 수립 등</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>AWS 추가 데이터베이스 및 백업 서비스 요약표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">서비스 명칭</th>
<th align="left">서비스 유형</th>
<th align="left">핵심 데이터 형태 / 대상</th>
<th align="left">주요 특징 및 한도</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Amazon DocumentDB</strong></td>
<td align="left">완전관리형 문서 DB</td>
<td align="left">반정형 JSON 스타일 문서</td>
<td align="left">MongoDB 호환, 10GB~64TB 자동 확장, 복제본 최대 15개</td>
</tr>
<tr>
<td align="left"><strong>Amazon Neptune</strong></td>
<td align="left">완전관리형 그래프 DB</td>
<td align="left">고도로 연결된 관계형 데이터세트</td>
<td align="left">수십억 개 관계 몇 ms 내 처리, 최대 64TB 자동 확장</td>
</tr>
<tr>
<td align="left"><strong>Amazon Managed Blockchain</strong></td>
<td align="left">블록체인 네트워크 관리</td>
<td align="left">분산 원장 및 공급망 데이터</td>
<td align="left">투명한 변경 이력 보장, 유통/식품 공급망 추적</td>
</tr>
<tr>
<td align="left"><strong>DynamoDB Accelerator (DAX)</strong></td>
<td align="left">인메모리 캐시 가속기</td>
<td align="left">DynamoDB 비관계형 데이터</td>
<td align="left">DynamoDB 전용 인메모리 캐시, 읽기 속도 마이크로초(μs)화</td>
</tr>
<tr>
<td align="left"><strong>AWS Backup</strong></td>
<td align="left">중앙 통합 백업 서비스</td>
<td align="left">EBS, EFS, RDS, DynamoDB, 온프레미스</td>
<td align="left">단일 대시보드, 리전 간 백업 복제, 규정 준수 감사 로그</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[개발자는 멸종할 것인가, 진화할 것인가 (feat. Boris Cherny)]]></title>
            <link>https://velog.io/@oi_24/AI-%EC%8B%9C%EB%8C%80-%EC%A7%81%EB%AC%B4-%EB%8C%80%EC%8B%A0-%EB%B6%88%EB%A6%B4-5%EA%B0%80%EC%A7%80-%EC%9B%90%ED%98%95Archetypes-feat.-Boris-Cherny-%EC%9E%91%EC%84%B1-%EC%A4%91-65u7uzsn</link>
            <guid>https://velog.io/@oi_24/AI-%EC%8B%9C%EB%8C%80-%EC%A7%81%EB%AC%B4-%EB%8C%80%EC%8B%A0-%EB%B6%88%EB%A6%B4-5%EA%B0%80%EC%A7%80-%EC%9B%90%ED%98%95Archetypes-feat.-Boris-Cherny-%EC%9E%91%EC%84%B1-%EC%A4%91-65u7uzsn</guid>
            <pubDate>Wed, 15 Jul 2026 01:24:14 GMT</pubDate>
            <description><![CDATA[<p>요즘은 &#39;개발자&#39;라는 단어가 어색하게 느껴진다. 개발자가 의미하는 내용이 예전과는 사뭇 달라진 것을 피부로 체감하고 있기 때문이다. </p>
<p>우리는 같은 일을 하더라도 이제 결코 예전과 같은 방식과 방법을 사용하지 않는다. 2026년 AI 대격변을 겪은 이후에는 그 격차와 괴리가 더더욱 크게 느껴진다. 우리는 왜 이런 다름을 느끼는 것일까? 단지 AI가 업무 깊숙이 들어왔기 때문일까? 단지 그것만은 아니라는 생각이 든다.</p>
<blockquote>
<p> <strong>테크 리더들의 파격적인 선언들</strong></p>
<ul>
<li><strong>젠슨 황 (NVIDIA CEO, 2024 WGS)</strong>: &quot;앞으로의 프로그래밍 언어는 인간의 자연어가 될 것이다.&quot;</li>
<li><strong>매트 웰시 (전 하버드대 CS 교수, 2026.02)</strong>: &quot;컴퓨터 공학은 끝났다.&quot;</li>
<li><strong>보리스 체르니 (Anthropic Claude Code 리드)</strong>: &quot;소프트웨어 엔지니어라는 직업 타이틀은 곧 사라진다.&quot;</li>
</ul>
</blockquote>
<p>개발자로 살아가고 밥벌이를 하는 우리는 심각한 고민에 빠질 수밖에 없다. 테크 리더들이 개발자라는 직업 정체성을 부정하고 있는 상황에서, 우리는 개발자가 <strong>&#39;멸종&#39;</strong>할 것인가, 아니면 <strong>&#39;진화&#39;</strong>할 것인가에 대해 진지하게 고민해 봐야 한다.</p>
<p>기존의 개발자들은 언어의 문법과 라이브러리를 숙지해야 했고, 라인 단위로 코드를 작성했으며, 버그 수정 및 리팩토링을 직접 수행했다. 하지만 2026년 현재, 우리는 대부분의 작업을 &#39;손수 직접&#39; 하지 않는다. 물론 여전히 수많은 현장에서 코드를 직접 치고 버그를 고치고 있지만, 그것이 점차 특정 상황에서만 일어나는 예외적인 일이 되어가고 있음을 우리는 부정할 수 없다.</p>
<hr>
<h2 id="boris-cherny가-말하는-5가지-아키타입-archetypes">Boris Cherny가 말하는 5가지 아키타입 (Archetypes)</h2>
<p><img src="https://velog.velcdn.com/images/oi_24/post/c5099931-adb7-4a47-93da-4916a36aadc2/image.jpeg" alt=""></p>
<p>Anthropic에서 Claude Code 팀을 이끄는 보리스 체르니(Boris Cherny)는 그들의 팀에 프론트엔드/백엔드/PM/디자이너 같은 구분 없이 <strong>&#39;Member of Technical Staff&#39;</strong>라는 통일된 명칭을 사용한다고 밝혔다. </p>
<p>대신 직무 형태의 타이틀을 갖는 것 피하고, <strong>제품의 라이프사이클(Lifecycle)에서 어떤 역할을 수행하는가</strong>에 따라 팀원의 역할을 5가지 아키타입으로 정의한다.</p>
<ol>
<li><strong>프로토타이퍼 (Prototyper)</strong><ul>
<li>새로운 아이디어를 검증하기 위해 빠르게 수십 개의 시제품(Prototype)을 찍어내는 역할.</li>
</ul>
</li>
<li><strong>빌더 (Builder)</strong><ul>
<li>프로토타이퍼가 검증하여 살아남은 아이디어를 실제 사용자가 쓸 수 있는 프로덕션(Production-grade) 수준의 완성도 높은 제품으로 빌드하는 역할.</li>
</ul>
</li>
<li><strong>스위퍼 (Sweeper)</strong><ul>
<li>AI로 인해 비대해진 시스템을 단순화하고, 코드 및 기능의 비효율을 정리하며, 성과가 없는 기능을 과감히 제거(Unship)하고 리팩토링하는 역할.</li>
</ul>
</li>
<li><strong>그로워 (Grower)</strong><ul>
<li>이미 출시된 제품을 사용자 데이터와 피드백을 기반으로 지속적으로 개선하여 PMF(Product-Market Fit)를 극대화하는 역할.</li>
</ul>
</li>
<li><strong>메인테이너 (Maintainer)</strong><ul>
<li>성숙 단계에 접어든 제품이 트래픽 증가에도 안정적이고 고성능으로 작동하도록 장기적인 시스템 상태를 관리하는 역할.</li>
</ul>
</li>
</ol>
<p>이 5가지 역할군은 예전처럼 누군가가 고정적으로 지정해 주는 고정 직무가 아니다. 그때그때 상황과 제품의 단계에 맞춰 본인이 필요한 롤(Role)을 취하며 일한다는 의미다.</p>
<hr>
<h2 id="롤을-지정해주지-않았는데-팀원들이-스스로-아키타입을-맡기-시작했다">롤을 지정해주지 않았는데, 팀원들이 스스로 아키타입을 맡기 시작했다</h2>
<p>흥미롭게도 지금 회사에서 올해 초부터 진행 중인 프로젝트에서 이 현상을 똑같이 목격했다. 보리스 체르니의 5가지 아키타입에 대해 팀원들에게 알려주지도 않았고 역할을 배정하지도 않았지만, 프로젝트가 진행되면서 자연스럽게 각자가 이 Role을 스스로 맡아 움직이기 시작했다.</p>
<ul>
<li><strong>서비스 기획자와 프론트엔드 개발자</strong>는 자연스럽게 <strong>프로토타이퍼</strong>가 되어 가장 빠르게 동작하는 최소 제품을 목업 형태로 만들어내고 있다.</li>
<li><strong>백엔드 개발자 중 일부</strong>는 <strong>빌더</strong>가 되어 해당 프로토타입을 바탕으로 실제 운영 가능한 프로덕션급 시스템을 구축 중이다.</li>
<li>그리고 빌더의 역할을 하던 백엔드 개발자 몇몇은 자연스럽게 <strong>스위퍼</strong>가 되어 비대해진 코드를 청소하고 구조 단순화 및 코드 품질 리팩토링을 진행하고 있다. </li>
<li><strong>필자 역시 빌더에서 스위퍼의 역할을 자처</strong>하여 프로젝트를 진행 중이다. AI가 코드를 빠르게 만들어내다 보니 오히려 코드베이스가 쉽게 비대해졌고, 이를 정리하고 아키텍처를 단단하게 다지는 작업이 필수적이었기 때문이다.</li>
</ul>
<p>프로젝트 초반에는 너무나도 혼란스러웠고, 참여한 인원 대다수가 불만과 불안함을 토로했다. 하지만 제품은 나와야 했고 시간은 흘렀다. 개발자들은 누가 시키지도 않았는데 너무나 자연스럽게 저 5가지 아키타입을 스스로 받아들이며 적응해 가고 있다.</p>
<p>이 프로젝트의 결말이 어떻게 될지는 누구도 모른다. 혹자는 과거의 검증되고 익숙한 방식에서 편안함을 느낄 것이고, 누군가는 변화의 시대에 스텝을 맞춰가고 싶어 할 것이다.</p>
<hr>
<h2 id="멸종인가-진화인가-우리는-코더인가-문제-해결사인가">멸종인가 진화인가: 우리는 코더인가, 문제 해결사인가</h2>
<p>&quot;AI가 코드를 다 작성해 주고 테스트해 주니 개발자가 할 일은 없다&quot;라고 주장하는 것은 너무 1차원적인 시각이다. 개발자의 역할은 그저 코더(Coder)에 국한되지 않는다. </p>
<p>과거에는 *&quot;이 함수나 쿼리를 어떻게 문법에 맞게 구현하지?&quot;<em>라는 *</em>방법론<strong>에 대부분의 시간을 썼다면, 이제는 *&quot;이 시스템을 어떻게 구성해야 확장성과 안정성을 갖출 수 있을까?&quot;<em>하는 *</em>목적과 아키텍처 구조</strong>에 대부분의 시간을 할애할 수 있게 되었다.</p>
<p>비즈니스 문제를 정의하고, 전체 아키텍처를 설계하며, 구현을 위한 AI 에이전트를 조율하고 역할을 분배하는 오케스트레이션은 여전히 사람이 해야 하는 영역이다. </p>
<p>물론 2027년, 아니 당장 다음 달이라도 이것조차 하지 않아도 될 정도로 AI가 발전할지 모른다. 그렇기에 남들과 차별화될 부분을 더 빨리 찾아야 하고, 최적화해야 하며, 상당한 수준으로 발전시켜야 살아남을 수 있다. </p>
<p>겨우 6년 차인 초보 백엔드 개발자의 소회이지만, 한 가지 확실한 것은 변화는 너무나도 빠르며 <strong>이 거대한 변화의 강물은 우리를 결코 기다려주지 않는다</strong>는 점이다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 6: 스토리지]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-%EC%8A%A4%ED%86%A0%EB%A6%AC%EC%A7%80-%EC%9E%91%EC%84%B1-%EC%A4%91</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-%EC%8A%A4%ED%86%A0%EB%A6%AC%EC%A7%80-%EC%9E%91%EC%84%B1-%EC%A4%91</guid>
            <pubDate>Sun, 12 Jul 2026 14:49:31 GMT</pubDate>
            <description><![CDATA[<h1 id="module-6-스토리지">Module 6: 스토리지</h1>
<h2 id="스토리지-소개">스토리지 소개</h2>
<ul>
<li><p>데이터 유형별 스토리지 분류 (블록, 객체, 파일)</p>
<ul>
<li>블록 스토리지 (Block Storage)<ul>
<li>정의<ul>
<li>데이터를 블록(Block)이라는 관리하기 쉬운 고정 크기 조각으로 나누어 저장하고 처리하는 스토리지 아키텍처</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터를 수정할 때 전체 파일을 고칠 필요 없이 특정 블록만 개별 업데이트할 수 있어 신속함</li>
<li>데이터베이스나 빈번하고 빠른 업데이트가 요구되는 트랜잭션 애플리케이션의 개발에 적합함</li>
</ul>
</li>
</ul>
</li>
<li>객체 스토리지 (Object Storage)<ul>
<li>정의<ul>
<li>데이터를 플랫(Flat)한 주소 공간 내에 데이터 본체, 고유 식별자(ID), 그리고 속성 정보인 메타데이터(Metadata)를 포함한 독립된 &#39;객체&#39; 단위로 보관하는 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>계층적 폴더 트리 구조 대신 &#39;버킷(Bucket)&#39;이라는 단순한 평면 구조를 사용해 대용량 데이터의 구성 및 검색이 용이함</li>
<li>일부 데이터만 수정하는 것이 불가능하며, 변경 사항이 있을 때마다 전체 객체를 새로 작성(덮어쓰기)해야 함</li>
<li>이미지, 동영상, 로그 파일, 백업 데이터 등 지속적으로 수정되지 않는 비정형 데이터 보관에 적합함</li>
</ul>
</li>
</ul>
</li>
<li>파일 스토리지 (File Storage)<ul>
<li>정의<ul>
<li>디렉토리와 폴더 등의 계층적 파일 시스템 구조를 사용하여 네트워크를 통해 여러 사용자와 애플리케이션이 동시에 데이터에 접근할 수 있게 돕는 공유 스토리지</li>
</ul>
</li>
<li>특징/이점<ul>
<li>기존 운영체제의 파일 시스템과 완벽히 호환되므로 애플리케이션의 코드를 수정할 필요가 거의 없음</li>
<li>콘텐츠 관리 시스템(CMS)이나 다수 직원이 공유하는 문서/교육 설명서 보관용 공유 폴더에 적합함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS의 주요 스토리지 서비스 및 추가 기능</p>
<ul>
<li>블록 스토리지 서비스<ul>
<li>Amazon EC2 인스턴스 스토어 (EC2 Instance Store)<ul>
<li>정의: EC2 인스턴스에 물리적으로 직접 연결되어 단기 임시 데이터 처리에 사용되는 비영구적인 고성능 블록 스토리지</li>
</ul>
</li>
<li>Amazon Elastic Block Store (EBS)<ul>
<li>정의: EC2 인스턴스와 별개로 영구적으로 지속되는 스토리지 볼륨을 제공하며, 암호화와 스냅샷 백업 기능을 갖춘 관리형 블록 스토리지</li>
</ul>
</li>
</ul>
</li>
<li>객체 스토리지 서비스<ul>
<li>Amazon Simple Storage Service (S3)<ul>
<li>정의: 전 세계 어디서나 원하는 양의 데이터를 저장 및 검색할 수 있도록 제한 없는 확장성과 고내구성을 제공하는 완전관리형 객체 스토리지</li>
</ul>
</li>
</ul>
</li>
<li>파일 스토리지 서비스<ul>
<li>Amazon Elastic File System (EFS)<ul>
<li>정의: AWS 클라우드 서비스와 온프레미스 모두에서 동시에 마운트해 공유할 수 있는 확장 가능한 완전관리형 NFS 기반 파일 시스템</li>
</ul>
</li>
<li>Amazon FSx<ul>
<li>정의: Windows, Lustre, NetApp ONTAP 등 널리 쓰이는 타사 전문 파일 시스템 엔진을 AWS에서 편리하게 가동하도록 돕는 완전관리형 파일 스토리지</li>
</ul>
</li>
</ul>
</li>
<li>추가 스토리지 서비스<ul>
<li>AWS Storage Gateway<ul>
<li>정의: 온프레미스 환경에서 사실상 무제한의 AWS 클라우드 스토리지 리소스에 원활히 접근할 수 있도록 연동을 제공하는 하이브리드 스토리지 서비스</li>
</ul>
</li>
<li>AWS Elastic Disaster Recovery<ul>
<li>정의: 물리적, 가상 또는 다른 클라우드에 배치된 서버 환경 전체를 AWS로 신속하게 백업 및 복구하도록 절차를 간소화하는 재해 복구 완전관리형 서비스</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 공동 책임 모델과 스토리지 관리 유형</p>
<ul>
<li><p>완전관리형 서비스 (Fully Managed Services)
  <img src="https://velog.velcdn.com/images/oi_24/post/a9288447-113f-4b31-8f50-ab9c4cd58b17/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>AWS가 하위 하드웨어 인프라부터 상위 스토리지 소프트웨어 스택 전반을 직접 유지 보수하고 복제 및 암호화까지 보장해 주는 유형 (예: S3, EFS 등)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터 복제, 내구성 확보, 암호화 등 인프라의 복잡한 세부 관리를 AWS가 전담하므로 고객의 관리 책임 및 부담이 가장 작음</li>
<li>고객은 단지 데이터를 관리하고 적절한 액세스 제어 정책을 셋팅하는 역할만 책임짐</li>
</ul>
</li>
</ul>
</li>
<li><p>관리형 서비스 (Managed Services)
  <img src="https://velog.velcdn.com/images/oi_24/post/4a96b653-062e-4004-8c0b-33d7fff9f38b/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>AWS가 스토리지 하드웨어와 물리적 복제, 장비 이중화 같은 기본 하위 인프라 관리만을 전담하고 상위 운영은 고객이 담당하는 유형 (예: EBS 등)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>인프라 설비 부담은 없으나 백업 전략 수립, 암호화 키 구성, 볼륨 성능 최적화, 용량 관리 등의 책임은 고객이 직접 져야 하므로 완전관리형 대비 소유 권한 및 관리 영역이 넓음</li>
</ul>
</li>
</ul>
</li>
<li><p>비관리형 서비스 (Unmanaged Services)
  <img src="https://velog.velcdn.com/images/oi_24/post/33d4c36e-3449-419f-96f7-634e6da43949/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>AWS는 기본적인 물리적 서버 인프라와 네트워크의 유지보수만을 수행하고, 고객이 그 위의 모든 운영체제 및 데이터를 관리하는 유형 (예: EC2 인스턴스 스토어 등)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터의 관리, 백업 및 복구 계획 수립, 암호화 세팅, 성능 최적화 등 거의 모든 고수준의 유지 보수 책임이 전적으로 고객에게 귀속됨</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<h2 id="블록-스토리지-block-storage">블록 스토리지 (Block Storage)</h2>
<h3 id="ec2-인스턴스-스토어-및-amazon-elastic-block-storeamazon-ebs">EC2 인스턴스 스토어 및 Amazon Elastic Block Store(Amazon EBS)</h3>
<ul>
<li>블록 수준 스토리지의 기본 개념<ul>
<li>정의<ul>
<li>데이터를 디스크의 &#39;블록(Block)&#39;이라는 관리하기 쉬운 고정 크기 조각(일련의 바이트)으로 나누어 보관하고, 파일 업데이트 시 전체를 교체하지 않고 변경된 블록만 효율적으로 덮어쓰는 스토리지 아키텍처</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터베이스, 엔터프라이즈 소프트웨어, 파일 시스템 등 빠르고 잦은 트랜잭션 업데이트가 빈번한 시스템에 매우 효율적임 (랩톱의 로컬 하드 드라이브와 유사한 개념)</li>
</ul>
</li>
</ul>
</li>
<li>Amazon EC2 인스턴스 스토어 (Instance Store)<ul>
<li>정의<ul>
<li>EC2 인스턴스의 물리적 호스트 컴퓨터에 직접 연결되어 지연 시간이 극도로 짧은 블록 레벨의 임시 물리 스토리지</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터 지속성 없음 (휘발성/임시적): 물리적 호스트에 바인딩되어 있으므로, EC2 인스턴스가 중지(Stop)되거나 종료(Terminate)되면 호스트가 변경되어 내부에 기록된 모든 데이터가 영구히 소멸함</li>
<li>임시 스크래치 공간, 버퍼, 캐시, 대규모 고성능 연산 데이터 등 데이터 유실을 감수할 수 있는 비영구적 요구사항에 적합함</li>
<li>자동으로 제공됨: 추가적인 비용 지불 없이 특정 EC2 인스턴스 유형 선택 시 기본으로 장착되어 제공됨</li>
<li>초저지연 및 고성능: 호스트 서버에 물리적으로 직접 연결되어 가상화 레이어를 타는 외장 볼륨 대비 극도로 뛰어난 I/O 처리 성능을 자랑함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon Elastic Block Store (EBS)<ul>
<li>정의<ul>
<li>EC2 인스턴스와 생명주기가 격리되어 인스턴스가 꺼지거나 종료되어도 데이터가 소멸하지 않고 영구 보존되는 외장 가상 하드 드라이브(가상 블록 볼륨) 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>데이터 지속성 보장 (영구적): 인스턴스가 정지되거나 가동 중단되어도 EBS 내부에 쓰여진 데이터는 온전히 보존되며 다른 인스턴스에 재부착하여 사용할 수 있음</li>
<li>네트워크 연결 방식: 인스턴스가 실행되는 물리 호스트와 분리되어 가상으로 통신하므로 유연한 마운트 관리가 가능함</li>
<li>성능 단위 (IOPS): 초당 입력 및 출력 작업 수(IOPS)로 성능을 모니터링하고 튜닝함</li>
</ul>
</li>
<li>EBS의 세부적인 이점 및 활용 사례<ul>
<li>이식성 및 데이터 마이그레이션: 인스턴스에서 쉽게 분리(Detach)하여 다른 인스턴스에 즉시 연결(Attach)할 수 있으며, 스냅샷을 생성해 가용 영역(AZ)이나 리전 간에 볼륨 복사 및 데이터 이동을 손쉽게 수행할 수 있음</li>
<li>유연한 인스턴스 변경: 볼륨 데이터와 무관하게 EC2 인스턴스의 스펙 업그레이드/다운그레이드 시 볼륨만 따로 재장착해 무손실 마이그레이션이 가능함</li>
<li>재해 복구 (Disaster Recovery): 특정 시점의 전체 데이터를 캡처하는 &#39;EBS 스냅샷&#39;을 통해 증분 백업을 지원하며, 긴급 상황 발생 시 다중 리전에서 빠르게 리소스를 복원해 냄</li>
<li>비용 및 성능 최적화: 가동 중지 시간(Downtime)을 겪지 않고 스토리지 용량을 확장하거나 다양한 볼륨 성능 유형(SSD, HDD 등)으로 동적 전환할 수 있음</li>
<li>성능 튜닝: 다양한 요금 및 IOPS(초당 입출력 작업 수) 수준을 만족하는 볼륨 유형을 구비해 수요 변화에 맞춰 즉시 수정 적용이 가능함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="amazon-elastic-block-storeamazon-ebs-데이터-수명-주기">Amazon Elastic Block Store(Amazon EBS) 데이터 수명 주기</h3>
<ul>
<li>공동 책임 모델 관점에서의 EBS 볼륨 관리<ul>
<li>정의<ul>
<li>사용자의 데이터를 안전하게 관리하기 위해 프로비저닝, 이동, 프로비저닝 해제, 백업을 비롯한 EBS 볼륨의 전반적인 라이프사이클을 고객이 직접 설계 및 제어하는 책임</li>
</ul>
</li>
<li>세부 책임 사항<ul>
<li>백업 전략의 일환으로 정기적인 EBS 스냅샷을 예약 및 관리해야 함</li>
<li>과도한 요금이 청구되지 않도록 스냅샷 비용을 지속 모니터링하고 불필요한 스냅샷을 식별하여 삭제해야 함</li>
<li>스냅샷 내부의 민감 데이터를 암호화하고 무결성을 확인하며, 복원 절차를 정기적으로 테스트해 비상 상황에 대비해야 함</li>
</ul>
</li>
</ul>
</li>
<li>EBS 스냅샷 (EBS Snapshot)<ul>
<li>정의<ul>
<li>EBS 볼륨의 특정 시점(Point-in-Time) 백업 사본을 생성하여 Amazon S3에 여러 가용 영역에 걸쳐 중복 저장하는 가상 백업 기술</li>
</ul>
</li>
<li>작동 메커니즘<ul>
<li><strong>초기 스냅샷</strong>: 최초 생성 시 기준점이 되며, 해당 특정 시점의 볼륨에 있는 모든 사용 중인 데이터 블록의 전체 사본을 캡처함</li>
<li><strong>후속 증분 스냅샷</strong>: 이전 스냅샷 생성 시점 이후로 새롭게 변경된 데이터 블록만 추적하여 복사하므로 스냅샷 생성 속도가 빠르고 스토리지를 매우 효율적으로 사용함</li>
<li><strong>체인 구조 및 자동 관리</strong>: 각 증분 스냅샷은 이전 스냅샷의 참조 값을 가져 체인을 형성하며, 스냅샷 삭제 시에는 다른 스냅샷이 참조하는 공통 데이터는 남겨두고 해당 스냅샷에만 고유했던 데이터만 제거해 안전하게 복원성을 유지함</li>
</ul>
</li>
<li>특징/이점<ul>
<li><strong>데이터 보호 및 빠른 복구</strong>: 데이터의 손상, 실수로 인한 삭제, 시스템 실패 등의 긴급 상황에서 특정 시점의 원본 볼륨과 완벽히 일치하는 새 볼륨을 즉각 생성하여 복원함</li>
<li><strong>운영 유연성</strong>: 스냅샷을 매개로 삼아 리전 간 데이터 마이그레이션, 볼륨 크기 및 성능 조정을 위한 복제, 타 AWS 계정과의 안전한 데이터 공유 등을 수행함</li>
<li><strong>비용 효율성</strong>: 변경된 블록만 저장하는 증분 방식을 통해 매번 전체 백업을 수행할 때 발생하는 비용 부담을 획기적으로 줄임</li>
</ul>
</li>
</ul>
</li>
<li>Amazon Data Lifecycle Manager (DLM)<ul>
<li>정의<ul>
<li>EBS 스냅샷의 생성, 보존 및 삭제 동작을 정의된 규칙 정책에 따라 자동으로 수행해 주는 완전관리형 스냅샷 수명 주기 관리 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>수동으로 스냅샷을 일일이 제어하면서 발생하는 인적 장애(실수)를 예방하고 관리 리소스를 대폭 절감함</li>
<li>피크 시간 이외의 스케줄러 설정을 통해 스냅샷 생성 동작이 인스턴스 실시간 성능에 미치는 영향을 최소화함</li>
<li>오래된 백업 데이터를 정의된 기한에 따라 자동으로 파기함으로써 스토리지 비용의 누수를 원천 차단하고 기업의 보안 규정 준수(Compliance) 요건을 일정하게 달성함</li>
</ul>
</li>
<li>설정 및 워크플로 5단계<ul>
<li><strong>1단계 (EBS 스냅샷 정책 생성)</strong>: EC2 콘솔, API 호출, CLI, SDK, CloudFormation을 활용해 자동화 정책 생성</li>
<li><strong>2단계 (대상 리소스 유형 선택)</strong>: 스냅샷 대상으로 삼을 EBS 볼륨 또는 EC2 인스턴스를 지정</li>
<li><strong>3단계 (볼륨 제외)</strong>: 스냅샷 포함 범위를 줄이기 위해 루트 볼륨 또는 데이터 볼륨 중 불필요한 볼륨을 제외 설정</li>
<li><strong>4단계 (사용자 지정 일정 설정)</strong>: 스냅샷의 주기적 생성 스케줄, 보존 및 파기 규칙 등을 커스텀 입력</li>
<li><strong>5단계 (추가 작업 적용)</strong>: 정책 마무리에 맞춰 태그 지정, 스냅샷 아카이빙, 빠른 스냅샷 복원(FSR) 가동, 리전 간 자동 복사 및 계정 공유 규칙을 최종 셋팅</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<h2 id="객체-스토리지">객체 스토리지</h2>
<h3 id="amazon-simple-storage-serviceamazon-s3">Amazon Simple Storage Service(Amazon S3)</h3>
<ul>
<li>Amazon Simple Storage Service(S3) 개요<ul>
<li>정의<ul>
<li>원하는 양의 데이터를 인터넷 어디서나 객체 형태로 안전하게 저장하고 검색할 수 있는 완전관리형 고가용성 객체 스토리지 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>대규모 웹 트래픽 급증을 별도의 스케일링 설정 없이 자동 수용하며, 서비스 구동을 위한 물리 서버 및 인프라 관리를 AWS가 전담함</li>
<li>소규모 스타트업부터 대기업까지 비즈니스 수요 변화에 맞춰 유연하게 리소스 규모를 스케일 업/다운할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>S3의 핵심 구성 요소<ul>
<li>S3 객체 (S3 Object)<ul>
<li>정의<ul>
<li>Amazon S3에 저장되는 데이터 스토리지의 기본 단위 (파일)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>파일 데이터 본체, 고유 식별자(키/Key), 그리고 속성을 설명하는 메타데이터(Metadata)로 구성됨</li>
<li>개별 객체 업로드 가능한 최대 크기는 <strong>5TB</strong>이며, 버킷 내에서 고유 키(Key, 파일 경로 및 이름에 대응)로 식별됨</li>
<li>객체는 이미지, 동영상, 스프레딧시트, 문서, 애플리케이션 등 모든 파일 유형을 허용하며 버전 ID, 액세스 제어 정보 등을 포함함</li>
</ul>
</li>
</ul>
</li>
<li>S3 버킷 (S3 Bucket)<ul>
<li>정의<ul>
<li>S3 객체들을 저장하고 격리해 관리하는 최상위 컨테이너</li>
</ul>
</li>
<li>특징/이점<ul>
<li>디렉토리 계층 구조가 아닌 &#39;버킷&#39;이라는 플랫(Flat)한 평면 구조 주소 공간을 사용하여 데이터를 구성하고 검색함</li>
<li>전 세계 모든 AWS 영역을 통틀어 <strong>중복 없는 유일한 글로벌 이름</strong>을 지녀야 하며 생성 시 특정 리전을 지정함</li>
<li>총 버킷 크기 및 저장할 수 있는 객체의 수에는 상한선이 없어 사실상 무제한으로 용량을 확장함</li>
<li>버킷 수준에서 버전 관리, 로깅, 암호화, 액세스 권한 등 상세 설정을 조율하고 정책을 적용함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>S3의 주요 기능 및 이점<ul>
<li>사실상 무제한 스토리지<ul>
<li>정의: 용량 제약 없이 저장하는 데이터 크기에 맞춰 스토리지가 무한히 자동 팽창/수축되는 구조</li>
<li>특징/이점: 사용한 만큼만 요금을 지불하므로 매우 비용 효율적으로 데이터 급증에 대응함</li>
</ul>
</li>
<li>극도로 높은 데이터 내구성 (Durability)<ul>
<li>정의: 하드웨어 결함이나 자연재해로 인해 데이터가 유실되지 않도록 보장하는 지표</li>
<li>특징/이점: AWS가 내부적으로 데이터를 자동으로 이중화하여 여러 시설 및 가용 영역에 다중 객체 사본을 상시 중복 저장하므로 <strong>99.999999999% (11 9s)</strong>에 달하는 극도의 내구성을 제공함</li>
</ul>
</li>
<li>객체 버전 관리 (Versioning)<ul>
<li>정의: 동일 객체에 대해 수정이나 삭제 발생 시 이전 빌드 내역을 보존하고 이력을 추적하는 기능</li>
<li>특징/이점: 사용자의 인적 실수로 파일이 삭제되거나 덮어쓰기 되었을 때 언제든지 이전 버전을 복원해 안전성을 확보함</li>
</ul>
</li>
<li>객체 수명 주기 관리 (Lifecycle Management)<ul>
<li>정의: 사전에 정의한 수명 주기 규칙에 맞춰 일정 기간이 지난 객체를 더 저렴한 스토리지 클래스로 자동 이관하거나 영구 삭제하는 기능</li>
<li>특징/이점: 데이터 관리 자동화 및 시간 경과에 따른 비용 최적화를 간편히 실현함</li>
</ul>
</li>
<li>광범위한 사용 사례<ul>
<li>정의: 단순 백업 저장소부터 고급 비즈니스 아키텍처에 이르기까지 폭넓은 비즈니스 사용 사례 지원</li>
<li>특징/이점: 정적 웹 사이트 호스팅, 백업 및 재해 복구, 미디어 파일 배포, 장기 아카이빙, 대규모 데이터 레이크(Data Lake) 구축 및 규정 준수 기반 보존에 범용적으로 활용됨</li>
</ul>
</li>
</ul>
</li>
<li>S3 보안 및 액세스 제어 관리 (Security &amp; Privacy)<ul>
<li>기본 보안 정책<ul>
<li>정의: Amazon S3의 모든 버킷과 객체는 생성 시 <strong>기본적으로 완전히 비공개(Private)</strong> 상태로 설정되며, 작성한 계정 소유자 외의 접근은 전면 차단됨</li>
</ul>
</li>
<li>세부 보안 제어 기능<ul>
<li><strong>버킷 정책 (Bucket Policy)</strong><ul>
<li>정의: S3 버킷 리소스에 직접 연결하여 버킷 내부의 객체 및 동작 권한을 통제하는 리소스 기반 정책 문서</li>
<li>특징/이점: 해당 버킷에 요청되는 인바운드/아웃바운드 작업 중 무엇을 허용하고 거부할지 일괄 규정함</li>
</ul>
</li>
<li><strong>자격 증명 기반 정책 (Identity-based Policy)</strong><ul>
<li>정의: IAM 사용자, 그룹, 역할에 권한 정책 문서를 직접 연결하여 S3 리소스 액세스를 제어하는 방식</li>
<li>특징/이점: 특정 사용자가 어떤 버킷 및 객체에 접근하고 어떤 액션을 수행할 수 있는지 상세 자격 권한을 규정함</li>
</ul>
</li>
<li><strong>미리 서명된 URL (Presigned URL)</strong><ul>
<li>정의: 버킷 정책을 수정하지 않고도, 특정 객체에 대해 시간제한이 걸린 한시적 공유용 URL을 발급해 주는 기능</li>
<li>특징/이점: 외부 파트너나 고객에게 임시 액세스 권한만을 부여해 장기 권한 유지 리스크를 사전에 예방함</li>
</ul>
</li>
<li><strong>S3 액세스 포인트 (S3 Access Points)</strong><ul>
<li>정의: 다수의 사용자나 대규모 조직이 대량의 공유 데이터세트를 활용할 때, 각 그룹 전용의 고유 액세스 경로와 개별 정책 제어점을 분할 생성하는 기능</li>
<li>특징/이점: 여러 그룹의 다양한 권한 관리 요구사항을 간소화하여 보안 관리의 오류를 사전에 차단함</li>
</ul>
</li>
<li><strong>S3 감사 로그 (S3 Audit Logs)</strong><ul>
<li>정의: S3 리소스로 향하는 모든 통신 및 요청 세부 사항을 빠짐없이 기록하고 감사 추적을 가능케 하는 기능</li>
<li>특징/이점: 누가, 언제, 어떤 데이터에 액세스했는지에 대한 동작 투명성을 완벽히 확보함</li>
</ul>
</li>
<li><strong>암호화 (Encryption)</strong><ul>
<li>정의: 보안 표준을 준수하고 데이터의 기밀 유지를 위해 저장/전송되는 모든 패킷을 암호로 감싸 보호하는 기술</li>
<li>특징/이점<ul>
<li><strong>저장 데이터 암호화 (Encryption at Rest)</strong>: 버킷 디스크에 영구 적재된 데이터 객체를 원천 암호화해 비인가 액세스 및 탈취로부터 보호함</li>
<li><strong>전송 중 암호화 (Encryption in Transit)</strong>: 클라이언트와 S3 서비스 간 통신 구간을 안전하게 암호화하여 통신 도중 데이터가 변조되거나 스니핑당하는 것을 원천 방지함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="amazon-s3-스토리지-클래스-및-s3-수명-주기">Amazon S3 스토리지 클래스 및 S3 수명 주기</h3>
<ul>
<li>S3 스토리지 클래스 (S3 Storage Classes) 개요<ul>
<li>정의<ul>
<li>서로 다른 성능, 데이터 액세스 빈도, 복원력, 비용 요구사항을 가진 다양한 워크로드에 맞춰 데이터를 최적의 등급으로 보존하는 S3 저장소 구분 티어</li>
</ul>
</li>
<li>특징/이점<ul>
<li>단일 S3 버킷 내에서도 데이터의 활용 양상에 맞게 객체별로 여러 스토리지 클래스를 독립 지정해 조합할 수 있어 극대화된 비용 절감을 실현함</li>
</ul>
</li>
</ul>
</li>
<li>S3 스토리지 클래스별 핵심 세부 내용<ul>
<li>S3 Standard<ul>
<li>정의: 정기적이고 빈번하게 액세스하는 정적/동적 데이터를 위한 기본 범용 스토리지 클래스</li>
<li>특징/이점: 짧은 지연 시간, 높은 처리량 및 빠른 검색 속도를 저렴한 스토리지 요금으로 제공하며 클래스 미지정 시 기본 할당됨 (예: 클라우드 앱, 동적 웹, 게임, 모바일, 빅데이터 분석)</li>
</ul>
</li>
<li>S3 Intelligent-Tiering<ul>
<li>정의: 데이터의 액세스 패턴을 알 수 없거나 변동성이 큰 경우, 액세스 빈도에 맞춰 티어 간에 데이터를 자동 이관하는 스토리지 클래스</li>
<li>특징/이점: Frequent Access, Infrequent Access, Archive Instance Access 티어 간의 모니터링 및 데이터 물리적 이관을 AWS가 대행하여 수작업 오버헤드와 추가 관리 공수 없이 비용을 최적화함 (예: 데이터 레이크, 대규모 데이터세트)</li>
</ul>
</li>
<li>S3 Standard-IA (Standard-Infrequent Access)<ul>
<li>정의: 액세스 빈도는 낮지만 필요할 때 몇 밀리초(실시간) 내로 빠르게 데이터를 가져와야 하는 워크로드를 위한 스토리지 등급</li>
<li>특징/이점: Standard의 지연 시간 및 내구성을 유지하되, 스토리지 요금을 GiB당 저렴하게 제공하며 대신 검색 요금이 부과됨 (예: 장기 백업, 재해 복구용 복제 데이터)</li>
</ul>
</li>
<li>S3 One Zone-IA (One Zone-Infrequent Access)<ul>
<li>정의: 데이터를 3개 이상의 가용 영역(AZ)에 다중 분산 저장하는 Standard-IA와 달리 단 하나의 가용 영역에만 저장하여 비용을 대폭 절감한 스토리지 클래스</li>
<li>특징/이점: Standard-IA 대비 약 20%의 비용을 절감하나 가용 영역 손실 시 데이터 유실에 취약하므로 보조 백업이나 재생성 가능한 로컬 데이터 적재에 적합함</li>
</ul>
</li>
<li>S3 Express One Zone<ul>
<li>정의: 초저지연 및 고성능 요구사항이 요구되는 빈번한 액세스용 데이터를 단일 가용 영역에 분산 저장하는 특수 목적 스토리지 클래스</li>
<li>특징/이점: 10밀리초 미만의 매우 일관된 초저지연 데이터 액세스를 보장하며, Standard 대비 액세스 속도는 최대 10배 더 빠르고 요청 처리 요금은 최대 80% 더 절약됨</li>
</ul>
</li>
<li>S3 Glacier Instant Retrieval<ul>
<li>정의: 1년에 몇 번 수준으로 드물게 액세스하지만 요청 즉시(몇 밀리초 내) 빠른 응답을 받아야 하는 아카이브 전용 스토리지 클래스</li>
<li>특징/이점: Standard-IA 스토리지 클래스와 비교하여 최대 68%의 스토리지 비용을 절감하면서도 동일한 밀리초 단위 지연 시간 및 처리성능을 그대로 보장함 (예: 의료 영상, 보관용 미디어 자산)</li>
</ul>
</li>
<li>S3 Glacier Flexible Retrieval<ul>
<li>정의: 1년에 한두 번 정도로 거의 액세스하지 않지만 저렴한 아카이브 및 간헐적인 분 단위 백업 복원을 요구하는 데이터 보관 클래스</li>
<li>특징/이점: Standard 및 Instant Retrieval 대비 비용이 현격히 낮으며, 신속 검색(1<del>5분)부터 대량 검색(5</del>12시간, 추가 비용 없음) 옵션을 탄력적으로 제공함 (예: 비실시간 재해 복구, 장기 오프사이트 백업)</li>
</ul>
</li>
<li>S3 Glacier Deep Archive<ul>
<li>정의: 7~10년 이상 장기 보존해야 하며 거의 액세스하지 않는 디지털 원본 데이터 보존용 최저가 스토리지 클래스</li>
<li>특징/이점: S3 내에서 스토리지 단가가 가장 저렴하며, 데이터 검색 및 복원에는 기본 12시간이 소요됨 (예: 금융, 의료, 공공 등 규제 산업의 의무 컴플라이언스 아카이브)</li>
</ul>
</li>
<li>S3 Outposts<ul>
<li>정의: 온프레미스의 AWS Outposts 환경에 S3 API 및 관리 기능을 제공하여 로컬 데이터 상주 요건을 충족시키는 하이브리드 스토리지 클래스</li>
<li>특징/이점: 데이터를 기업의 로컬 물리 서버 근처에 유지해 초고속 통신 성능 및 현지 규정 준수를 동시에 만족함</li>
</ul>
</li>
</ul>
</li>
<li>S3 수명 주기 (S3 Lifecycle) 및 비용 관리<ul>
<li>S3 수명 주기 정책 (S3 Lifecycle Policies)<ul>
<li>정의: 수동 관리 오버헤드를 없애기 위해 미리 정해진 일수 기준 규칙에 따라 데이터의 스토리지 클래스 전환 또는 영구 파기를 자동으로 처리하는 구성 규칙</li>
<li>작업 유형<ul>
<li><strong>전환 작업 (Transition Actions)</strong>: 생성일 기준 특정 기간이 지났을 때 덜 활성화된 경제적 스토리지 클래스로 객체를 이관하는 동작 (예: 30일 후 Standard-IA로 전환, 60일 후 Glacier Instant Retrieval로 전환 등)</li>
<li><strong>만료 작업 (Expiration Actions)</strong>: 생성일 기준 특정 기한을 경과한 객체를 S3 버킷에서 안전하게 영구 자동 삭제하는 동작 (예: 365일 후 완전 파기)</li>
</ul>
</li>
<li>대표 사용 사례<ul>
<li><strong>주기적 로그 관리</strong>: 버킷에 정기 자동 적재되는 애플리케이션 로그는 단기간(한 주~한 달) 보관 후 더 이상 쓰지 않으므로 만료 처리를 통해 자동 소멸시킴</li>
<li><strong>액세스 패턴 변화 문서</strong>: 가입 서류 등 최초 보관 후 몇 달 뒤부턴 볼 일이 없는 문서를 실시간 스토리지에서 내리고 규정에 부합하는 장기 아카이브(Glacier)로 전환 후 일정 연도 경과 시 최종 삭제함</li>
</ul>
</li>
</ul>
</li>
<li>S3 스토리지 클래스 분석 (S3 Storage Class Analysis)<ul>
<li>정의: S3 버킷 내 데이터의 액세스 트렌드 및 활동 패턴을 상시 관측하는 분석 도구</li>
<li>특징/이점: 사용자가 데이터를 더 효율적이고 저렴한 하위 클래스로 이동해야 할 최적의 임계 시점(일수 기준)을 정확히 결정하도록 의사결정 인사이트를 도출함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="amazon-s3-스토리지-클래스-한눈에-보기">Amazon S3 스토리지 클래스 한눈에 보기</h3>
<table>
<thead>
<tr>
<th align="left">스토리지 클래스</th>
<th align="left">주요 정의 및 핵심 용도</th>
<th align="left">액세스 빈도 / 속도</th>
<th align="left">비용 및 가용 영역(AZ) 특징</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>S3 Standard</strong></td>
<td align="left">• 기본 범용 스토리지<br>• 클라우드 앱, 동적 웹, 게임, 모바일, 빅데이터 분석</td>
<td align="left">빈번한 액세스<br>밀리초(ms) 단위</td>
<td align="left">• 표준 요금 적용<br>• 3개 이상 AZ 분산 저장</td>
</tr>
<tr>
<td align="left"><strong>S3 Intelligent-Tiering</strong></td>
<td align="left">• 액세스 패턴이 불명확하거나 변동성이 큰 데이터<br>• 데이터 레이크, 대규모 데이터세트</td>
<td align="left">예측 불가<br>자동 최적화 (ms 단위)</td>
<td align="left">• 모니터링/이관 수수료 발생<br>• 3개 이상 AZ 분산 저장</td>
</tr>
<tr>
<td align="left"><strong>S3 Standard-IA</strong></td>
<td align="left">• 액세스 빈도는 낮지만 필요 시 실시간 검색 필요<br>• 장기 백업, 재해 복구(DR)용 복제 데이터</td>
<td align="left">불규칙 / 낮음<br>밀리초(ms) 단위</td>
<td align="left">• 저렴한 스토리지 요금<br>• <strong>데이터 검색(인출) 요금 부과</strong><br>• 3개 이상 AZ 분산 저장</td>
</tr>
<tr>
<td align="left"><strong>S3 One Zone-IA</strong></td>
<td align="left">• 가용 영역 손실을 감수할 수 있는 재생성 가능 데이터<br>• 보조 백업, 로컬 데이터 적재</td>
<td align="left">낮음<br>밀리초(ms) 단위</td>
<td align="left">• <strong>Standard-IA 대비 약 20% 절감</strong><br>• <strong>단일 가용 영역(1 AZ) 저장</strong> (유실 위험)</td>
</tr>
<tr>
<td align="left"><strong>S3 Express One Zone</strong></td>
<td align="left">• 고성능 요구사항이 요구되는 빈번한 액세스용 데이터<br>• AI/ML 학습, 실시간 빅데이터 처리</td>
<td align="left">매우 빈번함<br><strong>초저지연 (10ms 미만)</strong></td>
<td align="left">• <strong>Standard 대비 최대 10배 빠름</strong><br>• 요청 처리 요금 최대 80% 절약<br>• <strong>단일 가용 영역(1 AZ) 저장</strong></td>
</tr>
<tr>
<td align="left"><strong>S3 Glacier Instant Retrieval</strong></td>
<td align="left">• 1년에 몇 번 수준으로 드물게 액세스하는 아카이브<br>• 의료 영상, 보관용 미디어 자산</td>
<td align="left">매우 낮음<br>밀리초(ms) 단위</td>
<td align="left">• <strong>Standard-IA 대비 최대 68% 비용 절감</strong><br>• 3개 이상 AZ 분산 저장</td>
</tr>
<tr>
<td align="left"><strong>S3 Glacier Flexible Retrieval</strong></td>
<td align="left">• 1년에 한두 번 정도로 거의 액세스하지 않는 데이터<br>• 비실시간 재해 복구, 장기 오프사이트 백업</td>
<td align="left">거의 없음<br><strong>분~시간 단위 (비실시간)</strong></td>
<td align="left">• 저렴한 아카이브 비용<br>• 신속(1<del>5분) / 표준(3</del>5시간) / 대량(5~12시간, 무료) 검색 옵션 제공</td>
</tr>
<tr>
<td align="left"><strong>S3 Glacier Deep Archive</strong></td>
<td align="left">• 7~10년 이상 장기 보존해야 하는 규제 데이터<br>• 금융, 의료, 공공 등 의무 컴플라이언스 아카이브</td>
<td align="left">사실상 없음<br><strong>최소 12시간 이상</strong></td>
<td align="left">• <strong>S3 최저가 스토리지 단가</strong><br>• 데이터 복원에 기본 12~48시간 소요</td>
</tr>
<tr>
<td align="left"><strong>S3 Outposts</strong></td>
<td align="left">• 데이터 로컬 상주 요건 및 초고속 통신 필요 데이터<br>• 하이브리드 클라우드 스토리지 환경</td>
<td align="left">온프레미스 연동<br>초고속 로컬 통신</td>
<td align="left">• <strong>기업 내부 물리적 인프라(Outposts)에 적재</strong><br>• S3 API 및 관리 기능 그대로 사용</td>
</tr>
</tbody></table>
<h3 id="아키텍트-관점에서의-핵심-요약">아키텍트 관점에서의 핵심 요약</h3>
<ol>
<li><strong>지연 시간(Latency)의 기준:</strong> <code>Glacier Instant Retrieval</code>까지는 저렴한 아카이브 등급임에도 불구하고 <strong>밀리초(ms) 단위의 실시간 접근</strong>을 보장합니다. 반면, <code>Flexible Retrieval</code>부터는 데이터를 &#39;녹여서 꺼내는(Restore)&#39; 비실시간 프로세스가 필요합니다.</li>
<li><strong>비용 최적화의 치트키:</strong> 데이터의 라이프사이클을 정확히 모를 때는 <code>S3 Intelligent-Tiering</code>을 선택하는 것이 수작업 공수(Overhead)를 줄이는 가장 좋은 대안입니다.</li>
<li><strong>가용성 보장 유무:</strong> <code>One Zone</code>이 붙은 클래스(<code>One Zone-IA</code>, <code>Express One Zone</code>)는 단 하나의 AZ에만 데이터를 두기 때문에, 인프라 장애 시 데이터가 유실될 수 있어 반드시 <strong>재생성 가능하거나 별도 복제본이 있는 데이터</strong>에만 사용해야 합니다.</li>
</ol>
<h3 id="amazon-s3-데모">Amazon S3 데모</h3>
<ul>
<li>Amazon S3 버킷 및 객체 생성 기본 프로세스<ul>
<li>S3 버킷 생성 (S3 Bucket Creation)<ul>
<li>정의<ul>
<li>전 세계 모든 AWS 계정을 통틀어 유일한 버킷 이름을 설정하고, 데이터가 물리적으로 위치할 AWS 리전을 결정하여 저장 장소를 개설하는 절차</li>
</ul>
</li>
<li>특징/이점<ul>
<li>생성 단계에서 퍼블릭 액세스 차단(Block all public access) 설정을 활성화해 버킷과 콘텐츠의 외부 무단 노출을 기본 방어함</li>
<li>생성된 버킷 내부에 가상의 폴더를 만들어 데이터의 논리 구조를 수립하며, 암호화 옵션을 적용해 보안을 강화함</li>
</ul>
</li>
</ul>
</li>
<li>S3 객체 업로드 및 메타데이터 구성 (Object Upload &amp; Metadata)<ul>
<li>정의<ul>
<li>로컬 환경에 저장된 파일이나 폴더를 S3의 버킷 또는 하위 폴더로 전송해 객체화하는 프로세스</li>
</ul>
</li>
<li>특징/이점<ul>
<li><strong>계층 구조 유지</strong>: 드래그 앤 드롭(Drag and Drop) 업로드를 통해 로컬의 다층 폴더 구조를 붕괴시키지 않고 S3 내에 그대로 재현하여 업로드함</li>
<li><strong>시스템 정의 메타데이터</strong>: 파일의 크기, 생성 일시, 스토리지 클래스 등 기본적인 상세 속성 정보가 업로드 시점에 자동 기록됨</li>
<li><strong>사용자 정의 메타데이터</strong>: 객체 분류 및 인식을 돕기 위해 사용자가 직접 임의의 태그나 메타데이터 속성을 키-값 형태로 부착할 수 있음</li>
<li><strong>업로드 채널 다양화</strong>: 웹 콘솔 외에도 CLI(Command Line Interface)나 SDK를 사용한 코딩 기반 일괄/대용량 전송이 가능함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>S3 버킷 수준 및 객체 수준 관리 기능<ul>
<li>버킷 수준 관리 및 설정 탭 (Bucket-level Configurations)<ul>
<li>정의<ul>
<li>개별 버킷 전체 및 그 하위의 모든 파일 그룹에 영향을 주는 거버넌스 및 구성을 설정하는 제어 영역</li>
</ul>
</li>
<li>주요 탭 구성<ul>
<li><strong>속성 (Properties) 탭</strong>: 객체 버전 관리(Versioning) 사용 여부, 검색 최적화용 태그, 기본 서버 측 암호화, Intelligent-Tiering 아카이브 및 정적 웹 사이트 호스팅 활성화를 제어함</li>
<li><strong>권한 (Permissions) 탭</strong>: 퍼블릭 액세스 차단 스위치, 리소스 제어용 버킷 정책(Bucket Policy), 객체 소유권(Object Ownership), 교차 출처 리소스 공유(CORS) 규칙을 제정함</li>
<li><strong>관리 (Management) 탭</strong>: 수명 주기(Lifecycle) 규칙, 타 리전으로의 복제(Replication) 구성, 정기 버킷 분석을 위한 인벤토리(Inventory) 수정을 담당함</li>
</ul>
</li>
</ul>
</li>
<li>객체 수준 관리 및 설정 (Object-level Configurations)<ul>
<li>정의<ul>
<li>버킷 내에 기 저장된 개별 파일 단위로 속성을 조회하고 전용 정책을 부여하는 관리 영역</li>
</ul>
</li>
<li>주요 제어 사항<ul>
<li><strong>객체 개요</strong>: 고유 객체 URL 주소를 제공하며, 버킷의 퍼블릭 액세스가 해제되고 권한이 승인된 경우 전 세계 누구나 URL을 통해 파일에 직접 연결할 수 있음</li>
<li><strong>객체 속성 세부 정보</strong>: 개별 파일 단위의 스토리지 클래스 전환, 실시간 암호화 셋팅, 데이터 위변조를 검증하는 체크섬(Checksum), 객체 잠금(Object Lock) 등을 설정함</li>
<li><strong>버전 관리 (Versions) 탭</strong>: 동일 키에 대한 모든 과거 빌드 목록을 추적하여 원하는 백업 시점으로 복원하거나 불필요한 버전의 영구 삭제를 개별 조율함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>JSON 기반 S3 버킷 정책 분석 (S3 Bucket Policy Anatomy)<ul>
<li>정의<ul>
<li>JSON 규격을 채택하여 버킷 리소스 및 그 하위 객체들의 상세 읽기/쓰기 권한을 선언적으로 규정하는 리소스 기반 정책 문서</li>
</ul>
</li>
<li>JSON 정책의 5대 핵심 요소<ul>
<li><strong>Effect (효과)</strong>: 요청된 API 작업에 대해 최종적으로 허용(Allow)할지 거부(Deny)할지 정의함</li>
<li><strong>Principal (보안 주체)</strong>: 버킷 및 객체 액세스를 허가받거나 제한받을 대상이 되는 AWS 계정 ID 번호, IAM 사용자, 혹은 역할(Role)을 지정함</li>
<li><strong>Action (작업)</strong>: 본 정책의 효과가 작동될 구체적인 S3 API 서비스 액션을 선언함 (예: 크로스 계정 객체 적재를 위한 <code>s3:PutObject</code> 등)</li>
<li><strong>Resource (리소스)</strong>: 본 정책이 권한을 미칠 대상 S3 버킷 및 버킷 내 경로의 ARN 주소를 지정함</li>
<li><strong>Condition (조건)</strong>: 정책의 허용 여부가 발동되기 위한 논리적 조건식을 명시함 (예: 크로스 계정 업로드 시 객체 소유권 메타데이터가 명확히 지정되고 조건에 부합할 때만 작업을 활성화하는 제약 등)    </li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<h2 id="파일-스토리지">파일 스토리지</h2>
<h3 id="amazon-elastic-file-systemamazon-efs">Amazon Elastic File System(Amazon EFS)</h3>
<ul>
<li>Amazon Elastic File System(EFS) 개요<ul>
<li>정의<ul>
<li>AWS 클라우드 리소스 및 온프레미스 리소스에서 동시 연결하여 사용할 수 있는 리눅스(Linux)용 확장 가능한 완전관리형 네트워크 파일 스토리지 서비스</li>
</ul>
</li>
<li>작동 프로토콜<ul>
<li>리눅스 표준인 NFS(Network File System) 프로토콜을 사용해 가동됨</li>
</ul>
</li>
<li>특징/이점<ul>
<li>용량 사전 설계나 백업 및 이중화 관리를 AWS가 전담하므로 스토리지 용량 부족 또는 관리 부담이 없음</li>
<li>데이터를 추가하거나 제거할 때마다 스토리지 규모가 자동으로 페타바이트 단위까지 자동 확장 및 축소되어 유연함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon EFS의 주요 이점 (Benefits)<ul>
<li>다중 AZ 이중화 및 고가용성<ul>
<li>정의: 리전 내 다중 가용 영역(AZ)에 데이터를 안전하게 자동 복제하여 데이터 유실과 AZ 레벨 장애에 대응하는 구조</li>
<li>특징/이점: 단일 가용 영역 장애 시에도 데이터 손실 없이 파일 시스템에 대한 액세스를 상시 안정적으로 보장함</li>
</ul>
</li>
<li>동시 공유 액세스 (Shared Access)<ul>
<li>정의: 수천 개의 동시 NFS 연결을 허용하여 다수의 가상 컴퓨터가 동일 스토리지를 공동 점유하는 구조</li>
<li>특징/이점: 여러 EC2 인스턴스가 동일 파일 시스템에 실시간으로 동시 읽기/쓰기를 처리할 수 있어 협업 및 분산 애플리케이션 분석에 최적임</li>
</ul>
</li>
<li>탄력적 스토리지 및 비용 최적화<ul>
<li>정의: 볼륨 크기 프로비저닝 없이 실제 적재된 용량에 대해서만 비용을 사후 지불하는 요금제</li>
<li>특징/이점: 불필요한 스토리지 점유 낭비를 완전히 없애고 데이터 세트의 변동에 경제적으로 대응함</li>
</ul>
</li>
</ul>
</li>
<li>EBS vs EFS 상세 비교 분석<ul>
<li>가용성 및 위치 제약<ul>
<li>EBS: 가용 영역(AZ) 수준의 리소스이므로 마운트하려는 EC2 인스턴스와 반드시 동일한 AZ 내에 배치되어야 함</li>
<li>EFS: 리전(Region) 수준의 리소스이므로 리전 전역 및 타 리전의 가상 인스턴스들과도 네트워크로 자유롭게 연동이 가능함</li>
</ul>
</li>
<li>동시 연결성<ul>
<li>EBS: 단일 인스턴스에 물리 연결되는 로컬 가상 하드 디스크 구조를 가짐</li>
<li>EFS: 다중 가용 영역의 수천 개 인스턴스가 동시에 1개의 EFS 파일 시스템에 붙어 대량 읽기/쓰기가 가능함</li>
</ul>
</li>
<li>용량 스케일링 유연성<ul>
<li>EBS: 생성 시 볼륨 용량(예: 2TB)을 고정 할당해야 하며, 한도가 차도 시스템이 자동으로 디스크 용량을 늘려주지 않음</li>
<li>EFS: 볼륨 크기 제한이 없으며 데이터 파일 추가/삭제에 따라 즉시 실시간으로 자동 조절됨</li>
</ul>
</li>
<li><strong>EBS vs EFS 핵심 비교 요약표</strong></li>
</ul>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">Amazon EBS</th>
<th align="left">Amazon EFS</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>스토리지 유형</strong></td>
<td align="left">블록 스토리지 (Block Storage)</td>
<td align="left">파일 스토리지 (File Storage)</td>
</tr>
<tr>
<td align="left"><strong>가용성 범위</strong></td>
<td align="left">가용 영역(AZ) 수준 (동일 AZ 내 연결 필수)</td>
<td align="left">리전(Region) 수준 (다중 AZ 복제 및 이중화)</td>
</tr>
<tr>
<td align="left"><strong>동시 연결성</strong></td>
<td align="left">단일 인스턴스 전용 (로컬 디스크 성격)</td>
<td align="left">수천 개 가상 서버의 동시 공유 마운트</td>
</tr>
<tr>
<td align="left"><strong>용량 스케일링</strong></td>
<td align="left">수동 사전 고정 프로비저닝 (자동 확장 불가)</td>
<td align="left">실시간 파일 입출력량 비례 무한 자동 조절</td>
</tr>
<tr>
<td align="left"><strong>동작 프로토콜</strong></td>
<td align="left">블록 레벨의 물리 입출력 버스 규격</td>
<td align="left">리눅스 NFS(Network File System) 규격</td>
</tr>
<tr>
<td align="left"><strong>과금 방식</strong></td>
<td align="left">할당해서 할당받은 스토리지 크기별 과금</td>
<td align="left">실제 업로드한 파일 점유 크기만큼만 과금</td>
</tr>
<tr>
<td align="left"><strong>주요 사용 사례</strong></td>
<td align="left">데이터베이스, OS 부팅 드라이브, 단일 인스턴스 파일 적재</td>
<td align="left">대규모 협업 분석 서버, CMS, 여러 리전/AZ의 서버 간 공유 폴더</td>
</tr>
</tbody></table>
<ul>
<li>Amazon EFS 데이터 수명 주기 정책 (EFS Lifecycle Policies)<ul>
<li>정의<ul>
<li>수동 작업을 완전히 없애고 액세스 빈도가 떨어진 파일을 저가형 클래스로 자동 이송 및 관리하는 파일 수명 주기 자동화 기능</li>
</ul>
</li>
<li>수명 주기 정책 규칙 세부 옵션<ul>
<li><strong>IA(Infrequent Access)로 전환</strong><ul>
<li>정의: 분기별로 몇 번만 조회하는 저빈도 데이터를 보관하는 IA 등급으로 파일을 이송하는 정책</li>
<li>기준: Standard 스토리지에 보관된 파일 중 기본 설정값인 <strong>30일</strong> 동안 액세스가 확인되지 않으면 IA 등급으로 이동함</li>
</ul>
</li>
<li><strong>Archive로 전환</strong><ul>
<li>정의: 1년에 단 몇 번 정도 조회하는 콜드 데이터를 보관하는 극도의 저비용 아카이브 등급으로 파일을 이송하는 정책</li>
<li>기준: Standard 스토리지에 보관된 파일 중 기본 설정값인 <strong>90일</strong> 동안 액세스가 발생하지 않으면 Archive 등급으로 이동함</li>
</ul>
</li>
<li><strong>Standard로 전환</strong><ul>
<li>정의: IA 또는 Archive에 이관된 파일을 다시 읽거나 수정할 때 고성능 기본 Standard 클래스로 다시 승급(롤업)시킬지 여부를 규정하는 정책</li>
<li>기준: 기본적으로 Standard 자동 복귀 정책은 <strong>비활성화(Standard로 전환하지 않음)</strong> 상태이며, 액세스가 발생하더라도 IA 및 Archive 클래스에 그대로 유지되어 무분별한 비용 인상을 사전 예방함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Amazon EFS 스토리지 클래스 (Storage Classes)<ul>
<li>Standard 스토리지 클래스 (EFS Standard &amp; Standard-IA)<ul>
<li>정의: 3개 이상의 가용 영역(AZ)에 데이터를 실시간 다중 복제하여 극대화된 가용성을 제공하는 클래스</li>
<li>특징/이점: 높은 물리적 복제 비용으로 인해 기본 스토리지 보존 단가가 One Zone에 비해 상대적으로 비쌈</li>
</ul>
</li>
<li>One Zone 스토리지 클래스 (EFS One Zone &amp; One Zone-IA)<ul>
<li>정의: 데이터를 단 1개의 지정된 가용 영역(AZ) 내부 시설에만 저장하는 비용 최적화 클래스</li>
<li>특징/이점: 이중화 인프라를 단일 AZ로 좁혀 Standard 등급 대비 큰 폭의 추가 스토리지 비용 절감을 실현함</li>
</ul>
</li>
<li>Archive 스토리지 클래스 (EFS Archive)<ul>
<li>정의: 1년에 단 몇 번만 조회하며 밀리초 미만의 반응 지연 시간이 필요하지 않은 데이터 보존용 최저가 등급</li>
<li>특징/이점: 기존 Infrequent Access(IA) 등급과 비교하여도 <strong>최대 50% 추가 절감</strong>된 극강의 비용 최적화 혜택을 제공함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="amazon-fsx">Amazon FSx</h3>
<ul>
<li>Amazon FSx 개요<ul>
<li>정의<ul>
<li>타사 전문 파일 시스템 엔진을 AWS 기반에서 고성능이면서 비용 효율적으로 손쉽게 가동할 수 있도록 하드웨어 프로비저닝, 패치, 백업 등을 자동화해 주는 완전관리형 파일 스토리지 서비스</li>
</ul>
</li>
<li>Amazon EFS와의 차이점<ul>
<li>Amazon EFS: 리눅스 환경과 호환되는 NFS(Network File System) 프로토콜 전용으로 가동됨</li>
<li>Amazon FSx: Windows File Server, Lustre, OpenZFS, NetApp ONTAP 등 다양한 상용 및 오픈소스 파일 시스템 프로토콜을 광범위하게 지원함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon FSx의 주요 이점 (Benefits)<ul>
<li>파일 시스템 통합<ul>
<li>정의: 업계 표준 파일 시스템 프로토콜을 그대로 제공하여 기존 인프라 환경과의 고도화된 연동을 돕는 기능</li>
<li>특징/이점: 기존 기업 애플리케이션, 워크플로, 개발 도구 등의 소스 코드를 수정하지 않고도 클라우드 스토리지로 원활하게 마운트해 통합할 수 있음</li>
</ul>
</li>
<li>관리형 인프라<ul>
<li>정의: 기존 파일 시스템의 고급 성능 및 데이터 관리 특성(예: 중복 제거, 압축 등)은 그대로 보존하면서 인프라 유지관리 부담을 제거하는 기능</li>
<li>특징/이점: 서버 하드웨어 관리, 패치 적용, 스토리지 이중화 구성 등의 복잡성을 AWS가 전담하므로 운영 부담이 대폭 줄어듦</li>
</ul>
</li>
<li>확장 가능한 스토리지<ul>
<li>정의: 기업 워크로드 요구량에 맞춰 용량과 처리 성능 리소스를 동적으로 신속하게 조정해 주는 기능</li>
<li>특징/이점: 시스템 가동 전에 복잡한 용량 한도 설계나 수동 인프라 증설 작업이 요구되지 않아 유연함</li>
</ul>
</li>
<li>비용 효율성<ul>
<li>정의: 실사용 용량 기준 과금 정책 및 수명 주기에 맞춰 오래된 데이터를 저비용 등급으로 내리는 스마트 최적화 모델</li>
<li>특징/이점: 자주 액세스하지 않는 콜드 데이터를 저렴한 등급으로 자동 티어링하는 옵션을 지원하여 총 소유 비용(TCO)을 획기적으로 감축함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon FSx 파일 시스템 유형 및 사용 사례<ul>
<li>Amazon FSx for Windows File Server<ul>
<li>정의: Windows Server 플랫폼을 바탕으로 가동되어 Active Directory 연동 및 NTFS 권한 제어 등 풍부한 기능군을 지원하는 완전관리형 Windows 공유 파일 시스템</li>
<li>주요 사용 사례<ul>
<li>온프레미스의 Windows 기반 파일 서버 환경을 무손실로 AWS에 마그네이션할 때 적합함</li>
<li>SQL Server 클러스터 배포 비용을 대폭 절감하고 대규모 공유 스토리지 볼륨을 제공함</li>
<li>가상 데스크톱(VDI) 환경의 프로필 보존 및 스트리밍 워크로드 구성을 간소화함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon FSx for NetApp ONTAP<ul>
<li>정의: 업계 표준의 데이터 관리 소프트웨어인 NetApp ONTAP 솔루션을 AWS 클라우드 내부로 이식한 완전관리형 다중 프로토콜 공유 스토리지</li>
<li>주요 사용 사례<ul>
<li>기존 NetApp 스토리지를 사용하던 온프레미스 워크로드를 구조 변경 없이 손쉽게 AWS로 이관함</li>
<li>현대적인 컨테이너/서버리스 클라우드 애플리케이션의 신뢰성 높은 공유 파일 시스템을 개설함</li>
<li>스냅샷 복제, 재해 복구(DR) 연동, 백업 정책 자동화 등 기업 데이터 관리 체계를 대대적으로 현대화함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon FSx for OpenZFS<ul>
<li>정의: 오픈소스 OpenZFS 파일 시스템을 완전관리형으로 제공하며 고속 NFS 프로토콜(v3, v4, v4.1, v4.2)을 통해 다중 접근을 보장하는 스토리지</li>
<li>주요 사용 사례<ul>
<li>기존 NFS 데이터베이스 환경의 무중단 클라우드 이전을 추진함</li>
<li>초고속 파일 입출력을 요구하는 실시간 데이터 분석 워크로드에 인사이트 도출 속도를 지원함</li>
<li>대규모 콘텐츠 관리 시스템(CMS) 가속화 및 개발/테스트용 고속 임시 파일 시스템 가동</li>
</ul>
</li>
</ul>
</li>
<li>Amazon FSx for Lustre<ul>
<li>정의: 초대형 병렬 입출력 및 무제한에 가까운 성능 확장성을 자랑하는 고성능 오픈소스 Lustre 파일 시스템을 탑재한 완전관리형 스토리지</li>
<li>주요 사용 사례<ul>
<li>기계 학습(ML) 및 딥러닝 트레이닝 모델 적재 가속화</li>
<li>고성능 컴퓨팅(HPC) 클러스터의 공유 스크래치 드라이브 구축</li>
<li>페타바이트급 빅데이터 분석 성능 지원 및 대용량 미디어 렌더링/편집 워크로드 민첩성 강화</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="추가-스토리지-솔루션">추가 스토리지 솔루션</h2>
<h3 id="aws-storage-gateway">AWS Storage Gateway</h3>
<ul>
<li>AWS Storage Gateway 개요<ul>
<li>정의<ul>
<li>온프레미스 환경의 애플리케이션 및 시스템을 무제한의 AWS 클라우드 스토리지 리소스와 원활히 연동해 주는 하이브리드 클라우드 스토리지 서비스</li>
</ul>
</li>
<li>핵심 메커니즘<ul>
<li>온프레미스의 로컬 데이터 액세스 시 초저지연 성능을 유지하면서, 자주 쓰이지 않는 데이터를 클라우드로 확장 저장해 스토리지 관리를 간소화함</li>
</ul>
</li>
</ul>
</li>
<li>AWS Storage Gateway의 주요 이점 (Benefits)<ul>
<li>원활한 하이브리드 통합<ul>
<li>정의: 온프레미스 애플리케이션과 AWS 클라우드 스토리지 사이를 투명하게 연결하는 기능</li>
<li>특징/이점: 기존 온프레미스 워크플로와 운영 환경을 전면 재작업 없이 그대로 보존하면서 시스템 중단을 최소화함</li>
</ul>
</li>
<li>로컬 캐싱 (Local Caching)<ul>
<li>정의: 최근에 사용된 핫(Hot) 데이터를 온프레미스 게이트웨이 로컬 저장소에 상시 유지하는 기능</li>
<li>특징/이점: 빠른 로컬 데이터 읽기 속도를 제공하는 동시에, 사용 빈도가 낮은 데이터만 클라우드로 격리 적재해 디스크 비용을 감축함</li>
</ul>
</li>
<li>중앙 집중식 데이터 관리 개선<ul>
<li>정의: 하이브리드 스토리지 전반의 관제를 단일 지점에서 통제하는 기능</li>
<li>특징/이점: 데이터 접근성, 보안 모니터링 및 보안 규정 준수(Compliance)를 일률적으로 관리함</li>
</ul>
</li>
<li>비용 최적화<ul>
<li>정의: 온프레미스 장비의 물리적 확장 대신 클라우드 스토리지를 대용량 저장소로 활용하는 요금 모델</li>
<li>특징/이점: 데이터 아카이빙, 백업, 재해 복구(DR) 비용을 클라우드로 전가해 온프레미스 디스크 구매 및 유지 관리 비용을 절감함</li>
</ul>
</li>
</ul>
</li>
<li>AWS Storage Gateway의 3가지 주요 게이트웨이 유형<ul>
<li>Amazon S3 File Gateway<ul>
<li>정의: 온프레미스 환경에 표준 파일 서버(NFS/SMB) 인터페이스를 제공하여 Amazon S3 객체 스토리지에 파일 형태로 연결하는 게이트웨이</li>
<li>특징/이점<ul>
<li>파일 전송 시 자동으로 S3 객체로 저장되며, 지능형 로컬 캐싱을 적용해 정기 사용 데이터의 로컬 읽기를 지원함</li>
<li>S3에 적재된 파일은 타 AWS 서비스나 분석 애플리케이션에서 직접 파싱 및 연결이 가능함</li>
</ul>
</li>
</ul>
</li>
<li>Volume Gateway<ul>
<li>정의: 온프레미스 애플리케이션에 가상 iSCSI 블록 스토리지 볼륨을 제공하며, 데이터를 Amazon EBS 스냅샷 형태로 클라우드에 백업하는 게이트웨이</li>
<li>작동 방식 (2가지 구성 모드)<ul>
<li><strong>캐시 볼륨 (Cached Volumes) 모드</strong>: 전체 원본 데이터는 Amazon S3 클라우드에 적재하고, 최근 자주 조회한 핫 데이터만 로컬에 캐시하여 지연시간을 단축함</li>
<li><strong>저장 볼륨 (Stored Volumes) 모드</strong>: 전체 데이터 세트 원본을 온프레미스 로컬 스토리지에 보존하면서, EBS 스냅샷 형태로 클라우드에 비동기 백업함</li>
</ul>
</li>
</ul>
</li>
<li>Tape Gateway<ul>
<li>정의: 온프레미스의 물리적 테이프 백업 장비 인프라를 AWS 클라우드 기반의 가상 테이프(Virtual Tape) 인프라로 대체하는 게이트웨이</li>
<li>특징/이점<ul>
<li>백업 소프트웨어에는 물리 테이프 라이브러리로 인식되므로 기존 백업 소프트웨어 및 워크플로의 수정이 필요 없음</li>
<li>데이터를 가상 테이프 형식으로 Amazon S3에 저장하며, 오래된 데이터는 S3 Glacier 등 저렴한 아카이브 스토리지 클래스로 자동 이관 가능함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>주요 실제 활용 사례<ul>
<li><strong>재해 복구 (Disaster Recovery)</strong>: 기존 백업 아키텍처를 고치지 않고 클라우드에 정기 비동기 이중 사본을 백업하여 장애 복구력 강화</li>
<li><strong>장기 데이터 아카이빙</strong>: 액세스 빈도가 낮은 데이터를 클라우드로 밀어내어 온프레미스 스토리지 공간 확보</li>
<li><strong>클라우드 여정의 진입점</strong>: 시스템 전면 교체 부담 없이 안전하게 백업 영역부터 하이브리드로 클라우드를 도입함</li>
</ul>
</li>
</ul>
<h3 id="aws-elastic-disaster-recovery">AWS Elastic Disaster Recovery</h3>
<ul>
<li>AWS Elastic Disaster Recovery 개요<ul>
<li>정의<ul>
<li>장애 발생 시 가동 중지 시간(Downtime)과 데이터 유실(RPO)을 최소화하도록 온프레미스 및 타 클라우드의 물리적/가상 서버의 블록 수준 데이터를 AWS로 지속 복제하고 신속한 복원 인스턴스를 가동해 주는 완전관리형 재해 복구(DR) 서비스</li>
</ul>
</li>
<li>핵심 지원 범위<ul>
<li>온프레미스 물리적 서버(Physical Server), 가상 머신(Virtual Server), 그리고 여타 클라우드 환경의 핵심 워크로드를 전면 지원함</li>
</ul>
</li>
</ul>
</li>
<li>AWS Elastic Disaster Recovery의 주요 이점 (Benefits)<ul>
<li>비즈니스 연속성 및 복원력 강화 (Business Resilience)<ul>
<li>정의: 블록 레벨의 실시간 비동기 지속 복제를 통해 중단 발생 시 수 분(Minutes) 이내에 워크로드를 원복하는 기능</li>
<li>특징/이점: 시스템 가동 중단 시 발생하는 비즈니스 손실과 데이터 유실을 최소화하여 고가용성을 유지함</li>
</ul>
</li>
<li>재해 복구 관리 간소화 (Simplified DR)<ul>
<li>정의: 직관적인 웹 콘솔 인터페이스를 통해 복잡한 복구 자동화 절차를 셋팅하고 관리하는 기능</li>
<li>특징/이점: 수동 복구 세팅의 복잡성을 제거하고, 비상 상황 시 발생할 수 있는 인적 장애 및 수동 입력 실수의 위험을 원천 차단함</li>
</ul>
</li>
<li>비용 최적화 (Cost Optimization)<ul>
<li>정의: 2차 물리 데이터 센터를 상시 대기 가동하지 않고 필요한 시점에만 스토리지 및 컴퓨팅 자원을 할당받는 모델</li>
<li>특징/이점: 고비용의 보조 데이터 센터 유지비와 사전 디스크 자산 투자 비용을 없애고, 실제 비상 상황 및 테스트 복원 시에만 사용량 사후 과금 방식을 적용함</li>
</ul>
</li>
<li>무중단 재해 복구 테스트 (Non-disruptive Testing)<ul>
<li>정의: 현재 온프레미스에서 실시간 가동 중인 운영 시스템에 영향을 주지 않고 복구 인스턴스를 독립 기동해 검증하는 기능</li>
<li>특징/이점: 정기적인 장애 조치(Failover) 테스트를 수월하게 집행하여 비상시 신속 복구 전략의 작동성을 사전에 완벽히 보증받음</li>
</ul>
</li>
</ul>
</li>
<li>업종별 주요 실제 사용 사례 (Use Cases)<ul>
<li><strong>의료 데이터 보호 (Healthcare Data Protection)</strong><ul>
<li>적용 내용: 병원 시스템의 온프레미스 환자 기록 서버를 AWS로 지속 복제함</li>
<li>특징/이점: 온프레미스 시스템 장애 시에도 의료 데이터에 끊김 없이 지속 접근할 수 있도록 가용성을 확보하며, 정기 복구 테스트로 엄격한 의료 법적 규정(Compliance)을 준수함</li>
</ul>
</li>
<li><strong>금융 서비스 연속성 (Financial Services Continuity)</strong><ul>
<li>적용 내용: 지역 은행의 실시간 거래 처리 시스템 및 핵심 뱅킹 애플리케이션을 AWS로 무중단 지속 복제함</li>
<li>특징/이점: 메인 데이터 센터가 실패해도 수 분 내 신속히 복구하여 금융 거래 마비를 방지하고, 고객 신뢰와 법적 규제를 충족함</li>
</ul>
</li>
<li><strong>제조 운영 복구 (Manufacturing Operations Recovery)</strong><ul>
<li>적용 내용: 글로벌 제조업체의 공장 관리 및 생산 계획 시스템 서버를 AWS로 비동기 복제함</li>
<li>특징/이점: 재해 발생 시 공급망(Supply Chain) 단절 및 공장 가동 중단을 최소화하며, 정기적인 장애 조치 테스트로 복구 전략을 상시 검증함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="실제-환경에서의-클라우드">실제 환경에서의 클라우드</h2>
<h3 id="스토리지-서비스-비교">스토리지 서비스 비교</h3>
<ul>
<li><p>실제 비즈니스 시나리오별 스토리지 서비스 선택 기준</p>
<ul>
<li>시나리오 1: 커피숍 (S3 기반 정적 웹 사이트 호스팅)<ul>
<li>비즈니스 상황: 커피숍 웹 사이트에 적재되는 대량의 이미지, HTML, CSS, JS 정적 자산을 유연하게 수용해야 함</li>
<li>선택 서비스: <strong>Amazon S3</strong></li>
<li>채택 이유 및 이점<ul>
<li>HTML, CSS, JavaScript, 미디어 파일을 버킷에 업로드 후 정적 웹 호스팅 옵션을 활성화하는 것만으로 손쉽게 웹 사이트를 배포함</li>
<li>트래픽이 폭발적으로 급증해도 사용자의 개입이나 별도 스케일링 설정 없이 인프라가 자동으로 무한 스케일 조절됨</li>
<li>실제로 사용한 스토리지 용량과 버킷 외부로 전송된 아웃바운드 데이터에 대해서만 과금되므로 비용 효율성이 매우 뛰어남</li>
</ul>
</li>
</ul>
</li>
<li>시나리오 2: 피트니스 센터 모바일 앱 (EBS 기반 데이터베이스 최적화)<ul>
<li>비즈니스 상황: 수업 예약 모바일 앱의 트래픽 급증으로 관계형 데이터베이스(DB)에서 읽기/쓰기 지연 시간 병목 발생</li>
<li>선택 서비스: <strong>Amazon EBS (특히 프로비저닝된 IOPS SSD 볼륨)</strong></li>
<li>S3 대신 EBS를 채택한 이유 및 이점<ul>
<li>S3 객체 스토리지는 비정형 데이터에 적합하며, 데이터베이스에 필수적인 빠르고 연속적인 초저지연 읽기/쓰기 작업을 수용하도록 설계되지 않음</li>
<li>EBS는 데이터베이스에 필수적인 블록 수준 액세스(Block-level Access)를 제공하여 트랜잭션 입출력 워크로드를 일관되게 지원함</li>
<li>고성능 프로비저닝된 IOPS SSD(io1/io2 등) 볼륨으로 마이그레이션하여 짧은 지연 시간과 강력한 입출력 속도를 즉시 확보함</li>
</ul>
</li>
</ul>
</li>
<li>시나리오 3: 자동차 정비소 브랜드 (EFS 기반 공유 기술 지식 플랫폼)<ul>
<li>비즈니스 상황: 다수 지점의 정비 기사들이 다양한 디바이스와 위치에서 고해상도 이미지, 동영상, 기술 다이어그램에 동시 접속 및 공유함</li>
<li>선택 서비스: <strong>Amazon EFS</strong></li>
<li>채택 이유 및 이점<ul>
<li>다수의 위치와 다양한 디바이스에서 동일한 파일 및 디렉토리 구조로 공동 접속하므로 공유 파일 시스템 형태가 필수적임</li>
<li>대용량 미디어 자산을 업로드/삭제할 때 서비스 중단 없이 페타바이트 규모까지 자동으로 확장 및 축소됨</li>
<li>높은 집계 처리량(Throughput)과 짧은 지연 시간을 지원하여 고해상도 미디어 처리 및 실시간 동시 협업 워크플로에 최적임</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS 3대 핵심 스토리지 요약 비교</p>
<ul>
<li>Amazon S3: 웹 자산, 데이터 레이크, 백업 및 아카이빙을 위한 무한 확장 가능한 완전관리형 <strong>객체 스토리지</strong></li>
<li>Amazon EBS: EC2 인스턴스 부팅 및 데이터베이스(DB)를 위한 고성능 트랜잭션 전용 <strong>블록 스토리지</strong></li>
<li>Amazon EFS: 여러 컴퓨팅 서버 간 파일의 실시간 동시 액세스가 필요한 워크로드를 위한 완전관리형 공유 <strong>파일 스토리지</strong></li>
</ul>
</li>
<li><p><strong>AWS 3대 핵심 스토리지 실무 선택 가이드표</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">비교 항목</th>
<th align="left">Amazon S3</th>
<th align="left">Amazon EBS</th>
<th align="left">Amazon EFS</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>스토리지 형태</strong></td>
<td align="left">객체 스토리지 (Object Storage)</td>
<td align="left">블록 스토리지 (Block Storage)</td>
<td align="left">파일 스토리지 (File Storage)</td>
</tr>
<tr>
<td align="left"><strong>핵심 인터페이스</strong></td>
<td align="left">버킷 / REST API (HTTP)</td>
<td align="left">가상 하드 디스크 (iSCSI/NVMe)</td>
<td align="left">네트워크 공유 폴더 (NFSv4)</td>
</tr>
<tr>
<td align="left"><strong>주요 활용 분야</strong></td>
<td align="left">정적 웹 호스팅, 백업, 데이터 레이크</td>
<td align="left">데이터베이스, OS 부팅 드라이브</td>
<td align="left">다중 서버 미디어 공유, CMS</td>
</tr>
<tr>
<td align="left"><strong>용량 스케일링</strong></td>
<td align="left">완전 무한 자동 확장</td>
<td align="left">용량 사전 수동 프로비저닝 (고정)</td>
<td align="left">실사용량 비례 무한 자동 확장</td>
</tr>
<tr>
<td align="left"><strong>액세스 방식</strong></td>
<td align="left">인터넷 및 VPC 엔드포인트</td>
<td align="left">단일 EC2 인스턴스 전용 물리 연결</td>
<td align="left">다중 EC2 및 온프레미스 동시 마운트</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[mattpocock/skills 38개 정리 및 테스트 ]]></title>
            <link>https://velog.io/@oi_24/mattpocockskills-38%EA%B0%9C-%EC%A0%95%EB%A6%AC-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8</link>
            <guid>https://velog.io/@oi_24/mattpocockskills-38%EA%B0%9C-%EC%A0%95%EB%A6%AC-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8</guid>
            <pubDate>Mon, 06 Jul 2026 05:57:23 GMT</pubDate>
            <description><![CDATA[<h2 id="요약">요약</h2>
<ul>
<li><a href="https://github.com/mattpocock/skills">mattpocock/skills</a>는 TypeScript 교육자 Matt Pocock이 만든 <strong>에이전트 스킬 38개 모음</strong>. 스킬은 코드가 아니라 에이전트에게 주입되는 <strong>작업 절차 지침서(SKILL.md)</strong></li>
<li>저장소 공식 분류 기준으로 <strong>engineering 16개 / productivity 5개 / misc 4개 / personal 2개 / in-progress 7개 / deprecated 4개</strong>. 즉 실전용은 절반 정도, 나머지는 실험작·개인용·폐기</li>
<li><code>code-review</code> 스킬로 통제된 A/B 테스트 진행. 결론: <strong>버그 탐지력 향상이 아니라(탐지율 무승부), 리뷰 프로세스의 구조화·감사가능성·재현성 확보</strong></li>
<li>핵심 방법론 스킬은 언어 중립이라 Go/Python 프로젝트에도 그대로 적용 가능. 단 3개(misc 카테고리)는 TS/Node 툴링이 전제</li>
</ul>
<hr>
<h2 id="1-mattpocockskills-소개">1. mattpocock/skills 소개</h2>
<p>Matt Pocock은 Total TypeScript로 유명한 TS 교육자인데, 이 저장소는 TS 강의가 아니라 <strong>&quot;AI 에이전트로 실제 엔지니어링을 할 때 반복적으로 망가지는 지점&quot;</strong>을 잡기 위한 스킬 모음. README가 꼽는 4가지 실패 모드:</p>
<ol>
<li><strong>정합성 붕괴(Misalignment)</strong> — 개발자가 원한 것과 에이전트가 만든 것의 괴리</li>
<li><strong>장황한 출력(Verbose output)</strong> — 도메인 용어 없이 장황하기만 한 결과물</li>
<li><strong>동작하지 않는 코드</strong> — 피드백 루프 부재</li>
<li><strong>아키텍처 붕괴</strong> — AI로 빨리 짜다 구조가 썩는 것</li>
</ol>
<p>각 실패 모드에 대응하는 스킬: 인터뷰로 요구사항을 못 박는 <code>grilling</code>, 도메인 용어를 강제하는 <code>domain-modeling</code>, 피드백 루프를 먼저 만드는 <code>tdd</code>/<code>diagnosing-bugs</code>, 깊은 모듈 설계를 유도하는 <code>codebase-design</code> 등.</p>
<h2 id="2-스킬이란--skillmd-한-장이-전부다">2. 스킬이란 — SKILL.md 한 장이 전부다</h2>
<p>각 스킬은 실행 파일이 아니라 <strong>마크다운 지침서 한 장</strong>. 프론트매터(name, description)와 본문(작업 절차, 판단 기준, 금지사항)으로 구성. 호출 시 이 내용이 에이전트 컨텍스트에 주입되고, 에이전트는 그 절차대로 동작.</p>
<p>호출 방식은 스킬마다 두 갈래:</p>
<ul>
<li><strong>자동 호출 가능 (18개)</strong> — 프론트매터에 별도 설정이 없으면, 에이전트가 세션 시작 시 description을 읽어두고 요청이 맞으면 알아서 끌어다 사용. &quot;이 버그 진단해줘&quot; → <code>diagnosing-bugs</code>가 자동으로 걸리는 식</li>
<li><strong>수동 전용 (20개)</strong> — <code>disable-model-invocation: true</code>가 설정된 스킬. 반드시 <code>/이름</code>으로 직접 호출 필요. PRD 작성, 이슈 분해처럼 사용자가 명시적으로 시작하는 워크플로우</li>
</ul>
<blockquote>
<p>참고: &quot;자동&quot;은 보장이 아니라 에이전트의 판단. 확실히 쓰려면 직접 호출이 안전.</p>
</blockquote>
<h2 id="3-설치">3. 설치</h2>
<pre><code class="language-bash"># vercel-labs의 skills CLI로 설치 (Claude Code 기준)
npx skills@latest add mattpocock/skills

# 설치 후 Claude Code 재시작 → 최초 1회 설정
/setup-matt-pocock-skills

# 뭘 쓸지 모르겠으면 라우터부터
/ask-matt</code></pre>
<p>설치하면 <code>.claude/skills/</code>에 SKILL.md 저장. 재시작 시 슬래시 명령으로 인식.</p>
<p>설치 시 주의할 점 2가지:</p>
<ul>
<li><code>--all</code> 플래그를 쓰면 Claude Code뿐 아니라 <strong>약 48개 타 에이전트 디렉터리</strong>(.goose, .cursor, .windsurf...)에 전부 복사. Claude Code만 쓸 땐 그냥 <code>npx skills@latest add mattpocock/skills</code>로 대화형 설치하거나, 설치 후 <code>.claude/</code>와 <code>skills-lock.json</code>만 남기고 정리</li>
<li>스킬은 에이전트 전체 권한으로 실행. 낯선 스킬은 SKILL.md를 열어보고 쓰기를 권장</li>
</ul>
<h2 id="4-38개-전체-분류">4. 38개 전체 분류</h2>
<p>아래 분류는 임의로 나눈 게 아니라 <strong>저장소 자체의 디렉터리 구조</strong>(skills-lock.json의 skillPath)를 따른 것. 저자 스스로 in-progress(미완성) 7개, deprecated(폐기) 4개, personal(개인용) 2개를 표시해뒀다는 점이 중요 — 그만큼 <strong>38개 중 실전 추천 대상은 engineering + productivity를 합친 21개</strong>로 좁혀짐.</p>
<p>아래 요약은 38개 SKILL.md 전문을 직접 읽고 작성했고, 표본 5개는 원문 대조 검증까지 진행. [자동] = 자동 호출 가능, [수동] = 수동 전용.</p>
<p>먼저 전체를 한눈에 훑을 수 있는 표부터. 상세 설명은 표 아래 각 소단원에 배치.</p>
<table>
<thead>
<tr>
<th>스킬</th>
<th>분류</th>
<th>호출</th>
<th>한 줄 설명</th>
</tr>
</thead>
<tbody><tr>
<td><code>ask-matt</code></td>
<td>engineering</td>
<td>수동</td>
<td>어떤 스킬을 써야 할지 안내하는 라우터</td>
</tr>
<tr>
<td><code>code-review</code></td>
<td>engineering</td>
<td>자동</td>
<td>diff를 표준·스펙 2축으로 병렬 리뷰</td>
</tr>
<tr>
<td><code>codebase-design</code></td>
<td>engineering</td>
<td>자동</td>
<td>깊은 모듈 설계 어휘·원칙</td>
</tr>
<tr>
<td><code>diagnosing-bugs</code></td>
<td>engineering</td>
<td>자동</td>
<td>6단계 버그 진단 루프</td>
</tr>
<tr>
<td><code>domain-modeling</code></td>
<td>engineering</td>
<td>자동</td>
<td>용어집(CONTEXT.md)·ADR 실시간 관리</td>
</tr>
<tr>
<td><code>grill-with-docs</code></td>
<td>engineering</td>
<td>수동</td>
<td>인터뷰로 계획 검증 + ADR/용어집 기록</td>
</tr>
<tr>
<td><code>implement</code></td>
<td>engineering</td>
<td>수동</td>
<td>PRD/이슈 기반 실제 구현</td>
</tr>
<tr>
<td><code>improve-codebase-architecture</code></td>
<td>engineering</td>
<td>수동</td>
<td>얕은 모듈 찾아 리팩터링 후보 제안</td>
</tr>
<tr>
<td><code>prototype</code></td>
<td>engineering</td>
<td>자동</td>
<td>디자인 질문용 버리는 프로토타입 제작</td>
</tr>
<tr>
<td><code>research</code></td>
<td>engineering</td>
<td>자동</td>
<td>1차 출처 기반 조사 후 MD로 기록</td>
</tr>
<tr>
<td><code>resolving-merge-conflicts</code></td>
<td>engineering</td>
<td>자동</td>
<td>git merge/rebase 충돌 해결</td>
</tr>
<tr>
<td><code>setup-matt-pocock-skills</code></td>
<td>engineering</td>
<td>수동</td>
<td>저장소별 초기 설정 (최초 1회)</td>
</tr>
<tr>
<td><code>tdd</code></td>
<td>engineering</td>
<td>자동</td>
<td>red-green 루프 기반 TDD 가이드</td>
</tr>
<tr>
<td><code>to-issues</code></td>
<td>engineering</td>
<td>수동</td>
<td>계획을 수직 슬라이스 이슈로 분해</td>
</tr>
<tr>
<td><code>to-prd</code></td>
<td>engineering</td>
<td>수동</td>
<td>대화 내용을 PRD로 합성해 발행</td>
</tr>
<tr>
<td><code>triage</code></td>
<td>engineering</td>
<td>수동</td>
<td>이슈/PR 상태 머신 기반 분류·처리</td>
</tr>
<tr>
<td><code>grilling</code></td>
<td>productivity</td>
<td>자동</td>
<td>계획을 집요한 질문으로 검증 (핵심 프리미티브)</td>
</tr>
<tr>
<td><code>grill-me</code></td>
<td>productivity</td>
<td>수동</td>
<td>인터뷰 세션 시작 진입점</td>
</tr>
<tr>
<td><code>handoff</code></td>
<td>productivity</td>
<td>수동</td>
<td>대화를 다음 세션용 핸드오프 문서로 압축</td>
</tr>
<tr>
<td><code>teach</code></td>
<td>productivity</td>
<td>수동</td>
<td>여러 세션에 걸친 학습 워크스페이스</td>
</tr>
<tr>
<td><code>writing-great-skills</code></td>
<td>productivity</td>
<td>수동</td>
<td>스킬을 예측 가능하게 쓰는 메타 원칙</td>
</tr>
<tr>
<td><code>git-guardrails-claude-code</code></td>
<td>misc</td>
<td>자동</td>
<td>위험한 git 명령 차단 훅 설치</td>
</tr>
<tr>
<td><code>migrate-to-shoehorn</code></td>
<td>misc</td>
<td>자동</td>
<td>테스트 <code>as</code> 단언 → shoehorn 교체 (TS 전용)</td>
</tr>
<tr>
<td><code>setup-pre-commit</code></td>
<td>misc</td>
<td>자동</td>
<td>Husky+lint-staged 프리커밋 훅 세팅 (Node 전용)</td>
</tr>
<tr>
<td><code>scaffold-exercises</code></td>
<td>misc</td>
<td>자동</td>
<td>강의 실습 디렉터리 스캐폴딩 (Matt 강의 전용)</td>
</tr>
<tr>
<td><code>edit-article</code></td>
<td>personal</td>
<td>수동</td>
<td>아티클 초안 섹션 재구성·문장 다듬기</td>
</tr>
<tr>
<td><code>obsidian-vault</code></td>
<td>personal</td>
<td>자동</td>
<td>Obsidian 노트 검색·생성·정리</td>
</tr>
<tr>
<td><code>claude-handoff</code></td>
<td>in-progress</td>
<td>수동</td>
<td>핸드오프 요약으로 백그라운드 에이전트 즉시 기동</td>
</tr>
<tr>
<td><code>loop-me</code></td>
<td>in-progress</td>
<td>수동</td>
<td>반복 패턴을 워크플로우 스펙으로 포착</td>
</tr>
<tr>
<td><code>wayfinder</code></td>
<td>in-progress</td>
<td>자동</td>
<td>큰 작업을 이슈 트래커 위 지도로 계획</td>
</tr>
<tr>
<td><code>wizard</code></td>
<td>in-progress</td>
<td>수동</td>
<td>수동 절차를 안내하는 bash 마법사 생성</td>
</tr>
<tr>
<td><code>writing-fragments</code></td>
<td>in-progress</td>
<td>수동</td>
<td>글쓰기 1단계: 글감 파편 수집</td>
</tr>
<tr>
<td><code>writing-beats</code></td>
<td>in-progress</td>
<td>수동</td>
<td>글쓰기 2단계: 비트 단위 조립</td>
</tr>
<tr>
<td><code>writing-shape</code></td>
<td>in-progress</td>
<td>수동</td>
<td>글쓰기 3단계: 문단 단위 완성</td>
</tr>
<tr>
<td><code>design-an-interface</code></td>
<td>deprecated</td>
<td>—</td>
<td>병렬 에이전트로 인터페이스 설계안 비교</td>
</tr>
<tr>
<td><code>qa</code></td>
<td>deprecated</td>
<td>—</td>
<td>대화형 버그 리포트 → GitHub 이슈</td>
</tr>
<tr>
<td><code>request-refactor-plan</code></td>
<td>deprecated</td>
<td>—</td>
<td>인터뷰로 리팩터 계획 다듬어 이슈화</td>
</tr>
<tr>
<td><code>ubiquitous-language</code></td>
<td>deprecated</td>
<td>—</td>
<td>대화에서 DDD 용어집 추출</td>
</tr>
</tbody></table>
<h3 id="41-engineering--핵심-엔지니어링-워크플로우-16개">4.1 engineering — 핵심 엔지니어링 워크플로우 (16개)</h3>
<p><strong><code>ask-matt</code></strong> [수동] — 이 저장소 스킬 중 뭘 써야 할지 알려주는 라우터.</p>
<p>스킬들을 &quot;flow&quot; 개념으로 정리해서 상황에 맞는 스킬을 안내. 아이디어 다듬기부터 PRD 작성, 이슈 분할, 구현으로 이어지는 메인 플로우와 세션 관리 규칙까지 지도처럼 설명. <strong>38개를 못 외우겠으면 이것만 기억.</strong></p>
<p><strong><code>code-review</code></strong> [자동] — 고정 지점 이후 diff를 표준·스펙 두 축으로 병렬 리뷰.</p>
<p><code>git diff &lt;fixed-point&gt;...HEAD</code>를 잡고, Standards(코딩 표준 + Fowler 코드 스멜 12종 체크리스트)와 Spec(원 이슈/PRD 요구사항 충족) 두 서브에이전트를 병렬로 실행. 두 축을 합치거나 재순위화하지 않고 나란히 보고 — 한 축의 통과가 다른 축의 실패를 가리지 않게 하기 위함. 스펙 소스는 커밋 메시지의 이슈 참조 → 사용자 지정 경로 → docs/specs 폴더 순으로 자동 탐색, 없으면 질의. (6장에서 이 스킬로 진행한 A/B 테스트 결과 참고)</p>
<p><strong><code>codebase-design</code></strong> [자동] — 깊은 모듈 설계를 위한 공유 어휘와 원칙 모음.</p>
<p>module, interface, seam, depth 같은 용어를 정확히 정의하고 일관된 설계 언어를 강제. 작은 인터페이스 뒤에 많은 동작을 숨기는 &quot;깊은 모듈&quot;이 목표. 직접 코드를 고치는 스킬이 아니라 다른 스킬들이 참조하는 어휘 레이어.</p>
<p><strong><code>diagnosing-bugs</code></strong> [자동] — 어려운 버그를 6단계 진단 루프로 잡는 디버깅 규율.</p>
<p>피드백 루프 구축 → 재현+최소화 → 가설 3~5개 → 계측 → 수정+회귀 테스트 → 포스트모템. 핵심은 1단계: <strong>버그에만 빨간불이 켜지는 빠르고 결정적인 pass/fail 명령을 만들기 전에는 가설조차 금지.</strong> &quot;추측으로 고치기&quot;를 구조적으로 차단하는 스킬.</p>
<p><strong><code>domain-modeling</code></strong> [자동] — 설계 중 용어 사전(CONTEXT.md)과 ADR을 실시간으로 정비.</p>
<p>사용자가 쓰는 용어가 용어집과 충돌하면 즉시 지적, 확정된 용어는 그 자리에서 CONTEXT.md에 반영. ADR은 &quot;되돌리기 어렵고, 맥락 없이는 의아하고, 실제 트레이드오프의 결과&quot;라는 세 조건이 모두 맞을 때만 제안.</p>
<p><strong><code>grill-with-docs</code></strong> [수동] — 계획을 집요하게 인터뷰하며 ADR과 용어집을 함께 작성.</p>
<p><code>grilling</code> + <code>domain-modeling</code> 조합 스킬. 인터뷰로 계획을 다듬으면서 그 과정을 문서(ADR, 용어집)로 기록. 코드베이스가 있는 프로젝트면 <code>grill-me</code> 대신 이걸 쓰는 게 메인 플로우.</p>
<p><strong><code>implement</code></strong> [수동] — PRD나 이슈 기반으로 실제 구현을 진행.</p>
<p>가능하면 사전 합의된 seam에서 <code>tdd</code> 방식으로 진행하고, 타입체크와 테스트를 수시로 실행하며, 완료 후 <code>code-review</code>로 검토 후 커밋. 다른 스킬들이 만든 산출물(PRD, 이슈)을 소비하는 실행 단계.</p>
<p><strong><code>improve-codebase-architecture</code></strong> [수동] — 코드베이스에서 얕은 모듈을 찾아 리팩터링 후보를 제안.</p>
<p>서브에이전트로 코드베이스를 탐색해 &quot;인터페이스가 구현만큼 복잡한 모듈&quot;을 찾고, 후보별 문제/해결/이점과 before-after 다이어그램이 담긴 HTML 리포트를 생성. 후보를 고르면 <code>grilling</code>으로 설계를 심문.</p>
<p><strong><code>prototype</code></strong> [자동] — 디자인 질문에 답하기 위한 버리는(throwaway) 프로토타입을 제작.</p>
<p>로직/상태 모델 검증이면 터미널 TUI로 상태 전이를 직접 눌러보게 하고, UI 탐색이면 구조적으로 전혀 다른 변형 3개를 생성. 테스트·에러 처리 없이 제작하며, 질문에 답하면 삭제하거나 검증된 결정만 실제 코드에 흡수.</p>
<p><strong><code>research</code></strong> [자동] — 백그라운드 에이전트가 1차 출처를 조사해 MD 파일로 기록.</p>
<p>공식 문서, 소스 코드, 스펙 같은 1차 출처만 근거로 삼고 각 주장을 출처까지 추적. 블로그 같은 2차 자료는 근거로 배제. 조사를 위임하고 본인은 계속 작업하는 구조.</p>
<p><strong><code>resolving-merge-conflicts</code></strong> [자동] — 진행 중인 git merge/rebase 충돌을 끝까지 해결.</p>
<p>충돌의 원 출처(커밋, PR, 이슈)를 읽고 변경 의도를 파악한 뒤, 양쪽 의도를 최대한 보존하는 방향으로 hunk별 해결 → 자동 검사 실행 → 커밋까지 진행. 절대 <code>--abort</code> 하지 않는 방침.</p>
<p><strong><code>setup-matt-pocock-skills</code></strong> [수동] — 엔지니어링 스킬들이 쓸 저장소별 설정을 초기 세팅.</p>
<p>이슈 트래커(GitHub/GitLab/로컬 마크다운), 트리아지 라벨 어휘, 도메인 문서 레이아웃 세 가지를 사용자와 확인하며 <code>docs/agents/</code> 아래 설정 문서를 생성. <strong>다른 엔지니어링 스킬 쓰기 전에 저장소당 1회 실행하는 전제 조건.</strong></p>
<p><strong><code>tdd</code></strong> [자동] — red-green 루프로 남길 가치 있는 테스트를 만드는 TDD 가이드.</p>
<p>실패하는 테스트 하나 → 최소 구현 하나를 반복하는 수직 슬라이스 방식. 테스트는 <strong>사전에 사용자와 합의한 seam(공개 인터페이스 경계)에서만</strong> 작성하고, 구현 결합·동어반복 테스트 같은 안티패턴을 명시적으로 금지. mocking 가이드(시스템 경계에서만 mock)도 동봉.</p>
<p><strong><code>to-issues</code></strong> [수동] — 계획/스펙을 트레이서 불릿 방식의 이슈들로 쪼개 발행.</p>
<p>레이어별 수평 분할이 아니라 스키마·API·UI·테스트를 관통하는 <strong>얇은 수직 슬라이스</strong>로 구분. 각 슬라이스는 단독 데모·검증이 필수. 사용자 승인 후 의존성 순서대로 이슈 트래커에 발행.</p>
<p><strong><code>to-prd</code></strong> [수동] — 현재 대화 내용을 인터뷰 없이 PRD로 합성해 이슈 트래커에 발행.</p>
<p>추가 질문 없이 지금까지의 대화와 코드베이스 이해만으로 PRD를 작성. 파일 경로나 코드 스니펫은 금방 낡으므로 PRD에서 배제. 충분히 논의된 대화를 공식 문서로 굳히는 단계.</p>
<p><strong><code>triage</code></strong> [수동] — 이슈와 외부 PR을 상태 머신 기반 역할로 분류·처리.</p>
<p>이슈를 카테고리(bug/enhancement) + 상태(needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix) 라벨로 관리하는 상태 머신을 실행. 버그 재현 검증, 중복/과거 거절 이력 확인까지 진행, 트래커에 남기는 모든 코멘트에 AI 디스클레이머를 첨부.</p>
<h3 id="42-productivity--범용-생산성-5개">4.2 productivity — 범용 생산성 (5개)</h3>
<p><strong><code>grilling</code></strong> [자동] — 계획을 빌드 전에 집요한 질문으로 검증.</p>
<p>설계 트리의 각 분기를 따라 내려가며 결정 간 의존성을 하나씩 해소. <strong>질문은 한 번에 하나씩, 각 질문마다 추천 답변을 함께 제시.</strong> 코드베이스 탐색으로 답할 수 있는 건 묻지 않고 직접 탐색. 여러 스킬이 이걸 기반으로 동작하는 핵심 프리미티브.</p>
<p><strong><code>grill-me</code></strong> [수동] — 인터뷰 세션을 시작하는 진입점.</p>
<p>본문이 &quot;Run a <code>/grilling</code> session.&quot; 한 줄뿐인 얇은 래퍼. 코드베이스 없는 상황(아이디어 단계)에서 사용. 코드베이스가 있으면 문서까지 남기는 <code>grill-with-docs</code>가 권장.</p>
<p><strong><code>handoff</code></strong> [수동] — 현재 대화를 다음 에이전트용 핸드오프 문서로 압축.</p>
<p>새 세션이 작업을 이어갈 수 있는 요약 문서를 OS 임시 디렉터리에 저장. 기존 산출물(PRD, 이슈, 커밋)은 중복 없이 경로/URL로만 참조, 민감 정보는 마스킹. 컨텍스트 윈도우가 길어졌을 때의 세션 위생 도구.</p>
<p><strong><code>teach</code></strong> [수동] — 현재 디렉터리를 학습 워크스페이스로 전환해 여러 세션에 걸쳐 학습 지도.</p>
<p>MISSION.md(학습 동기), 학습 기록, HTML 레슨 파일로 상태를 저장하고, 회상 연습·간격 반복·인터리빙 같은 인지과학 개념을 명시적으로 적용. 프로그래밍뿐 아니라 주제 무관하게 적용 가능.</p>
<p><strong><code>writing-great-skills</code></strong> [수동] — 스킬을 예측 가능하게 작성·편집하는 원칙 모음.</p>
<p>스킬의 근본 미덕을 &quot;예측 가능성&quot;(매 실행마다 같은 프로세스)으로 정의하고, 자동/수동 호출 선택 기준, 정보 계층화, 프루닝 원칙과 5가지 실패 모드를 정리. <strong>직접 스킬을 만들고 싶을 때 읽는 메타 스킬.</strong></p>
<h3 id="43-misc--특정-툴링-유틸리티-4개">4.3 misc — 특정 툴링 유틸리티 (4개)</h3>
<p>4개 중 3개는 TS/Node 특정 툴 종속 — 38개 전체에서 사실상 유일한 언어 종속 그룹.</p>
<p><strong><code>git-guardrails-claude-code</code></strong> [자동] — 위험한 git 명령을 실행 전에 차단하는 훅을 설치.</p>
<p>Claude Code의 PreToolUse 훅으로 <code>git push</code>, <code>reset --hard</code>, <code>clean -f</code>, <code>branch -D</code> 같은 파괴적 명령을 실행 전에 차단하는 스크립트를 설치하고, 설치 후 차단 동작까지 검증. 언어 무관, Claude Code 전용.</p>
<p><strong><code>migrate-to-shoehorn</code></strong> [자동] — 테스트의 <code>as</code> 단언을 shoehorn 함수로 교체. <strong>(TS 전용)</strong></p>
<p><code>as Type</code>을 <code>@total-typescript/shoehorn</code>의 <code>fromPartial()</code>로 교체하는 마이그레이션. 테스트 코드 전용이며 프로덕션 사용 금지가 전제.</p>
<p><strong><code>setup-pre-commit</code></strong> [자동] — Husky + lint-staged + Prettier 프리커밋 훅을 세팅. <strong>(Node 전용)</strong></p>
<p>lockfile로 패키지 매니저를 감지하고 훅 설치 후 스모크 테스트까지 진행.</p>
<p><strong><code>scaffold-exercises</code></strong> [자동] — 강의 실습 디렉터리 구조를 스캐폴딩. <strong>(Matt 강의 인프라 전용)</strong></p>
<p><code>pnpm ai-hero-cli</code> 린트를 전제로 하는 AI Hero 강의 리포 전용이라 일반 사용자에게는 의미가 없음.</p>
<h3 id="44-personal--matt-개인용-2개">4.4 personal — Matt 개인용 (2개)</h3>
<p><strong><code>edit-article</code></strong> [수동] — 아티클 초안을 섹션별로 재구성하고 문장을 정돈. 정보를 DAG로 보고 의존 관계에 맞게 섹션 순서를 정리하는 접근은 참고할 만.</p>
<p><strong><code>obsidian-vault</code></strong> [자동] — Obsidian 볼트의 노트를 검색·생성·정리. 볼트 경로가 Matt의 개인 경로로 하드코딩돼 있어 그대로 쓰려면 수정 필요.</p>
<h3 id="45-in-progress--미완성실험작-7개">4.5 in-progress — 미완성/실험작 (7개)</h3>
<p>저자가 아직 작업 중이라고 표시한 것들. 흥미로운 아이디어가 많지만 완성도는 보장 안 됨.</p>
<ul>
<li><strong><code>claude-handoff</code></strong> [수동] — handoff 요약을 파일이 아니라 <code>claude --bg</code>로 백그라운드 에이전트에 바로 넘김</li>
<li><strong><code>loop-me</code></strong> [수동] — 삶의 반복 패턴을 찾아 위임 가능한 워크플로우 스펙으로 제작</li>
<li><strong><code>wayfinder</code></strong> [자동] — 한 세션에 안 담기는 큰 작업을 이슈 트래커 위 &quot;지도&quot;(research/prototype/grilling/task 티켓)로 계획하고 세션당 티켓 하나씩 해결. 아직 질문으로 표현 못 하는 영역은 &quot;Fog&quot; 섹션에 둠. 개인적으로 이 모음에서 가장 야심찬 아이디어라고 봄</li>
<li><strong><code>wizard</code></strong> [수동] — 수동 절차(서드파티 설정, 마이그레이션)를 안내하는 인터랙티브 bash 마법사를 생성</li>
<li><strong><code>writing-fragments</code></strong> [수동] / <strong><code>writing-beats</code></strong> [수동] / <strong><code>writing-shape</code></strong> [수동] — 글쓰기 3단계 파이프라인: 인터뷰로 글감 파편 수집 → 비트 단위로 골라가며 조립 → 문단 단위로 다듬어 완성. 각 단계가 명확히 구분</li>
</ul>
<h3 id="46-deprecated--폐기됨-4개">4.6 deprecated — 폐기됨 (4개)</h3>
<p>저자가 더 이상 권장하지 않는 것들. 설치돼도 쓰지 않는 게 맞음.</p>
<ul>
<li><strong><code>design-an-interface</code></strong> — 병렬 에이전트로 다른 설계안 여러 개를 뽑아 비교 (codebase-design의 Design It Twice로 흡수된 것으로 보임)</li>
<li><strong><code>qa</code></strong> — 대화로 버그를 말하면 GitHub 이슈로 등록 (triage로 대체)</li>
<li><strong><code>request-refactor-plan</code></strong> — 인터뷰로 리팩터 계획을 다듬어 이슈화</li>
<li><strong><code>ubiquitous-language</code></strong> — 대화에서 DDD식 용어집 추출 (domain-modeling으로 대체)</li>
</ul>
<h2 id="5-스킬은-따로-노는-게-아니라-플로우로-엮여-있음">5. 스킬은 따로 노는 게 아니라 &quot;플로우&quot;로 엮여 있음</h2>
<p>이 모음의 진짜 설계는 개별 스킬이 아니라 <strong>스킬 간 연결</strong>. <code>ask-matt</code>이 설명하는 메인 플로우(idea → ship):</p>
<pre><code>아이디어
  → /grill-with-docs   (인터뷰로 다듬기 + ADR/용어집 기록)
  → /to-prd            (대화를 PRD로 굳히기)
  → /to-issues         (독립적인 수직 슬라이스 이슈로 분해)
  → 이슈당 새 세션에서 /implement   (내부에서 tdd 사용)
  → /code-review       (표준/스펙 2축 검토)</code></pre><p>여기에 온램프 두 개(<code>triage</code>로 이슈 정리, <code>diagnosing-bugs</code>로 버그 잡기)가 메인 플로우에 합류하고, <code>grilling</code>·<code>domain-modeling</code>·<code>codebase-design</code>은 다른 스킬들이 깔고 쓰는 어휘/프리미티브 레이어로 동작. 이슈 단위로 <strong>세션을 끊어 컨텍스트를 초기화하는 것</strong>까지 플로우에 명시.</p>
<h2 id="6-직접-해본-ab-테스트--code-review-스킬이-바꾸는-것">6. 직접 해본 A/B 테스트 — code-review 스킬이 바꾸는 것</h2>
<p>주장만으로는 근거가 부족해 직접 통제된 실험으로 검증.</p>
<h3 id="설계">설계</h3>
<ul>
<li><strong>서브에이전트 2개를 병렬로</strong> 띄움. 둘 다 완전히 동일한 자료(원본 이슈 + 코딩 표준 + 리뷰 대상 diff)를 받음</li>
<li><strong>대조군</strong>: &quot;이 변경 리뷰해줘&quot;만 줌. 스킬 존재를 모름</li>
<li><strong>실험군</strong>: 동일 자료 + <code>code-review</code> SKILL.md 지침 주입</li>
<li>서로의 존재를 모르는 격리 상태 → 유일한 변수는 스킬 주입 여부</li>
</ul>
<p>리뷰 대상은 장바구니 쿠폰 할인 함수(11줄)이며, 여기에 <strong>결함 7개를 의도적으로 삽입</strong>: 스펙 위반 3개(음수 방지 없음, 반올림 없음, 유효성 검증/throw 없음) + 표준 위반 4개(JSDoc 없음, 매직 넘버, 공용 반올림 헬퍼 미사용, 입력 검증 없음).</p>
<pre><code class="language-ts">export type Coupon = {
  type: &#39;percent&#39; | &#39;fixed&#39;
  value: number
}

export function applyCoupon(subtotal: number, coupon: Coupon): number {
  if (coupon.type === &#39;percent&#39;) {
    return subtotal - (subtotal * coupon.value) / 100
  }
  return subtotal - coupon.value
}</code></pre>
<h3 id="결과">결과</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>미사용 (대조군)</th>
<th>사용 (code-review 스킬)</th>
</tr>
</thead>
<tbody><tr>
<td>심어둔 결함 탐지</td>
<td><strong>7/7</strong></td>
<td><strong>7/7</strong> (무승부)</td>
</tr>
<tr>
<td>출력 구조</td>
<td>심각도순 단일 목록 (스펙·표준 뒤섞임)</td>
<td>Standards / Spec <strong>2축 분리</strong></td>
</tr>
<tr>
<td>통과 항목 확인</td>
<td>안 함 — 문제만 나열</td>
<td>요구사항 1~7 전부 MET/PARTIAL/MISSING 체크</td>
</tr>
<tr>
<td>근거 인용</td>
<td>부분적</td>
<td>위반마다 규칙/요구사항 라인 인용</td>
</tr>
<tr>
<td>심각도 표기</td>
<td>자체 분류</td>
<td>HARD 위반 vs 판단(judgement) 구분</td>
</tr>
<tr>
<td>scope creep 점검</td>
<td>없음</td>
<td>명시적으로 &quot;NONE&quot; 확인</td>
</tr>
<tr>
<td>Fowler 스멜 baseline</td>
<td>없음</td>
<td>적용 (Repeated Switches 등)</td>
</tr>
<tr>
<td>비용</td>
<td>~27.9k 토큰</td>
<td>~29.5k 토큰 (거의 동일)</td>
</tr>
</tbody></table>
<h3 id="해석--스킬은-모델을-똑똑하게-만드는-게-아님">해석 — 스킬은 모델을 똑똑하게 만드는 게 아님</h3>
<p>가장 중요한 발견: <strong>스킬을 붙인다고 버그를 더 찾은 게 아님.</strong> 강력한 모델은 작은 diff에선 스킬 없이도 결함을 전부 포착. 심지어 대조군이 더 실용적인 제안(exhaustive <code>never</code> 체크)을 한 지점도 있었음.</p>
<p>스킬이 실제로 바꾼 건 <strong>프로세스</strong>:</p>
<ol>
<li><strong>커버리지 보장</strong> — 실험군은 통과한 요구사항까지 &quot;MET&quot;로 확인. 대조군은 문제만 나열해서, 나머지를 검토했는지 건너뛰었는지 리포트만 봐선 알 수 없음. 감사 가능성(auditability)의 차이</li>
<li><strong>관심사 분리</strong> — 스펙 축과 표준 축을 나눠서 한 축이 다른 축을 가리는 것을 방지</li>
<li><strong>재현성</strong> — 매번 같은 형태로 나옴. 리뷰어(사람이든 에이전트든)가 여럿일 때 이 일관성이 값어치</li>
</ol>
<p>즉 스킬의 값은 <strong>&quot;똑똑함&quot;이 아니라 &quot;규율&quot;</strong>이고, diff가 크고 팀이 클수록 이득이 커지는 종류.</p>
<h3 id="한계-정직하게">한계 (정직하게)</h3>
<ul>
<li>표본은 리뷰 1건. 통계가 아니라 정성적 관찰</li>
<li>대조군도 같은 강력한 모델이라 탐지율이 붙었음. 약한 모델이나 더 크고 미묘한 diff였다면 커버리지 보장의 격차가 탐지율로도 드러났을 가능성이 큼</li>
</ul>
<h2 id="7-결론--골라서-쓰기를-권장">7. 결론 — 골라서 쓰기를 권장</h2>
<p><strong>쓰는 걸 추천하되, 38개를 통째로 설치하기보다는 골라서 쓰기를 권장.</strong></p>
<ul>
<li><strong>바로 쓸 만한 것</strong>: <code>code-review</code>, <code>tdd</code>, <code>diagnosing-bugs</code>, <code>grilling</code>(+<code>grill-with-docs</code>), <code>domain-modeling</code>, <code>research</code>. 전부 언어 중립이라 TS가 아니어도 됨</li>
<li><strong>팀/멀티세션 규모면 추가</strong>: <code>to-prd</code>, <code>to-issues</code>, <code>implement</code>, <code>triage</code>, <code>handoff</code> — 단 이슈 트래커 설정(<code>setup-matt-pocock-skills</code>)이 전제</li>
<li><strong>거를 것</strong>: deprecated 4개, Matt 개인용 2개, 강의 인프라 전용 1개(<code>scaffold-exercises</code>). in-progress 7개는 아이디어 구경용</li>
<li><strong>주의</strong>: 이미 자체 CLAUDE.md 규칙이 촘촘한 프로젝트면 스킬의 자체 컨벤션(영어 출력, <code>docs/agents/</code> 문서 레이아웃, 이슈 트래커 전제)과 부딪힐 수 있으니 조정 필요</li>
</ul>
<p>이 모음에서 개별 스킬보다 더 배울 만한 건 <strong>설계 철학</strong>이라고 생각: 에이전트에게 &quot;잘해줘&quot;라고 비는 대신, 검증된 작업 절차를 문서로 인코딩하고, 절차끼리 플로우로 엮고, 세션 경계까지 설계하는 것. 스킬을 직접 만들 사람이라면 <code>writing-great-skills</code> 하나만 읽어도 본전은 뽑음.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 5: 네트워킹]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-5-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9%EC%9E%91%EC%84%B1-%EC%A4%91</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-5-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9%EC%9E%91%EC%84%B1-%EC%A4%91</guid>
            <pubDate>Thu, 18 Jun 2026 15:48:39 GMT</pubDate>
            <description><![CDATA[<h1 id="module-5-네트워킹">Module 5: 네트워킹</h1>
<h2 id="네트워킹-소개">네트워킹 소개</h2>
<ul>
<li>커피숍 비유를 통한 네트워킹 개념<ul>
<li>커피숍 바리스타와 계산원 비유<ul>
<li>계산원 (퍼블릭 서브넷 역할)<ul>
<li>정의<ul>
<li>고객과 직접 마주하며 주문을 받고 결제를 처리하는 대외적 접점</li>
</ul>
</li>
</ul>
</li>
<li>바리스타 (프라이빗 서브넷 역할)<ul>
<li>정의<ul>
<li>고객과 직접 상호 작용하지 않고, 격리된 내부 영역에서 음료 제조에만 몰입하는 내부 자원</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>네트워킹 구성 요소<ul>
<li>Amazon Virtual Private Cloud (VPC)<ul>
<li>정의<ul>
<li>AWS 클라우드 내부에서 사용자가 정의한 가상 네트워크를 실행할 수 있도록 마련된 논리적으로 격리된 영역</li>
</ul>
</li>
</ul>
</li>
<li>서브넷 (Subnet)<ul>
<li>정의<ul>
<li>리소스를 역할 및 보안 수준에 따라 그룹화하고 분할하기 위해 VPC를 관리 가능한 크기인 특정 IP 주소 범위로 쪼갠 세그먼트</li>
</ul>
</li>
<li>특징/이점<ul>
<li>프라이빗 서브넷은 외부 인터넷 직접 노출을 차단하여 민감한 정보(데이터베이스 등)를 보관함</li>
<li>퍼블릭 서브넷은 고객용 웹 사이트와 같이 인터넷 직접 액세스가 필요한 리소스를 배치함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>네트워킹 구성 요소: 다이어그램을 통해 연결에 대해 이해<ul>
<li>아키텍처 다이어그램 (Architecture Diagram)<ul>
<li>정의<ul>
<li>AWS 클라우드 내에 구축된 네트워크의 구조와 리소스 간의 연결 관계 및 데이터 이동 경로를 나타낸 시각적 맵</li>
</ul>
</li>
<li>특징/이점<ul>
<li>시스템의 이중화, 보안성, 확장성을 직관적으로 확인하고 최적의 설정을 검증하는 설계 청사진으로 활용함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<p>  <img src="https://velog.velcdn.com/images/oi_24/post/4c765fbc-25fc-4cea-99c7-98f77aacda39/image.png" alt=""></p>
<ul>
<li>AWS 클라우드 (AWS Cloud)<ul>
<li>정의<ul>
<li>아키텍처 다이어그램상에서 시스템 전체 영역을 감싸는 가장 바깥쪽에 위치하는 상자</li>
</ul>
</li>
</ul>
</li>
<li>리전 (Region)<ul>
<li>정의<ul>
<li>AWS 클라우드 하위에 표시되는 지리적으로 격리된 독립된 물리적 영역 상자</li>
</ul>
</li>
<li>특징/이점<ul>
<li>지연 시간, 규정 준수, 가용 서비스, 비용 등을 복합적으로 고려하여 적합한 리전을 결정함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon VPC<ul>
<li>정의<ul>
<li>리전 내부의 격리되어 논리적으로 분할된 네트워크 환경을 나타내는 실선 상자</li>
</ul>
</li>
<li>특징/이점<ul>
<li>네트워크 내부의 리소스 제어 및 보안 정책 설정을 관리함</li>
</ul>
</li>
</ul>
</li>
<li>가용 영역 (Availability Zone, AZ)<ul>
<li>정의<ul>
<li>리전 내에서 1개 이상의 개별 데이터 센터로 구성되고 각각 별도의 시설에 구축된 물리적 인프라 영역 상자</li>
</ul>
</li>
<li>특징/이점<ul>
<li>독립된 전력, 네트워킹, 연결 기능을 갖추고 있으며 다중 AZ 아키텍처는 단일 장애 상황으로부터 서비스를 보호함</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<p><img src="https://velog.velcdn.com/images/oi_24/post/06518dc3-bed1-44c7-aacd-5abae0daa054/image.png" alt=""></p>
<ul>
<li>서브넷 (Subnet)<ul>
<li>정의<ul>
<li>VPC의 세그먼트로서 VPC 내의 특정 IP 주소 범위를 가지며 VPC를 관리하기 쉬운 섹션으로 나누는 단위 상자</li>
</ul>
</li>
</ul>
</li>
<li>프라이빗 서브넷 (Private Subnet)<ul>
<li>정의<ul>
<li>퍼블릭 인터넷에 직접 노출되면 안 되는 리소스를 안전하게 격리하도록 설계된 실선 상자</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<p><img src="https://velog.velcdn.com/images/oi_24/post/8740711f-9774-4bd9-a4f1-f195fa91f36a/image.png" alt=""></p>
<ul>
<li>퍼블릭 서브넷 (Public Subnet)<ul>
<li>정의<ul>
<li>내부에 배치된 리소스에 인터넷과의 양방향 통신을 제공하도록 설계된 파선 상자</li>
</ul>
</li>
<li>특징/이점<ul>
<li>외부 인터넷의 통신을 허용하기 위해 인터넷 게이트웨이(IGW)에 연결되어 동작함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="aws-클라우드의-네트워크-구성-요소">aws 클라우드의 네트워크 구성 요소</h2>
<h3 id="aws-클라우드-리소스-구성">aws 클라우드 리소스 구성</h3>
<ul>
<li>Amazon Virtual Private Cloud (VPC) 및 서브넷 기본 개념<ul>
<li>Amazon VPC 개요<ul>
<li>정의<ul>
<li>AWS 클라우드 내부에서 고객이 소유하고 격리시켜 프로비저닝하는 사설(프라이빗) 가상 네트워크 영역</li>
</ul>
</li>
<li>특징/이점<ul>
<li>리소스의 프라이빗 IP 범위를 정의하고, EC2 및 ELB 등의 자원을 그 안에 배치하여 경계를 설정함</li>
<li>가상 네트워크의 설정, 관리, 검증 시간을 단축하여 온프레미스 대비 효율성을 높임</li>
<li>보안 강화: 인스턴스 액세스 제한, 트래픽 스크리닝, 연결 보호 및 모니터링을 통한 강력한 통제권 제공</li>
</ul>
</li>
</ul>
</li>
<li>서브넷 (Subnet)<ul>
<li>정의<ul>
<li>리소스를 그룹화하고 세부적으로 격리하기 위해 VPC의 IP 주소를 적절한 청크로 쪼갠 하위 섹션</li>
</ul>
</li>
<li>특징/이점<ul>
<li>나중에 설정할 네트워킹 보안 규칙과 연계하여 특정 리소스를 퍼블릭 또는 프라이빗 상태로 제어함</li>
<li>EC2 인스턴스 등 실제 구동할 컴퓨팅/네트워크 자원들을 포함하는 실질적 공간임</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>외부 인터넷 및 사설 네트워크 연결 수단 (게이트웨이)<ul>
<li>인터넷 게이트웨이 (Internet Gateway, IGW)
<img src="https://velog.velcdn.com/images/oi_24/post/8a57966e-a440-4844-9948-241def0c3493/image.png" alt=""><ul>
<li>정의<ul>
<li>VPC 내부의 리소스와 퍼블릭 인터넷 간의 직접적인 통신(양방향 연결)을 허용하는 전용 출입구</li>
</ul>
</li>
<li>특징/이점<ul>
<li>커피숍의 현관문과 같은 비유로서, 이것이 VPC에 연결되어 있지 않으면 외부에서 퍼블릭 리소스에 접근이 절대 불가능함</li>
<li>퍼블릭 웹 사이트, 퍼블릭 로드 밸런서 등 대외용 서비스 배치 시 반드시 장착해야 함</li>
</ul>
</li>
</ul>
</li>
<li>가상 프라이빗 네트워크 (VPN) 및 가상 프라이빗 게이트웨이 (VGW)<ul>
<li>가상 프라이빗 네트워크 (VPN)<ul>
<li>정의<ul>
<li>일반 공개망인 인터넷을 사용하면서도 데이터 유출을 막기 위해 가상의 보안 암호화 터널을 생성해 트래픽을 통과시키는 가상 사설망 기술</li>
</ul>
</li>
<li>특징/이점<ul>
<li>패킷을 완전 암호화하여 통신 내용을 외부 감시자로부터 보호함</li>
<li>퍼블릭 네트워크 선로를 공유하여 사용하므로 트래픽이 몰릴 때 대역폭 저하 및 속도 지연이 발생할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>가상 프라이빗 게이트웨이 (Virtual Private Gateway, VGW)
  <img src="https://velog.velcdn.com/images/oi_24/post/13188745-5f80-4a5d-9969-bb6581994a05/image.png" alt=""><ul>
<li>정의<ul>
<li>암호화된 VPN 보안 트래픽이 VPC 내부로 유입되거나 밖으로 나갈 수 있도록 보장하는 AWS 측의 전용 사설 통신 출입구</li>
</ul>
</li>
<li>특징/이점<ul>
<li>커피숍의 비공개 사옥 보안 게이트 비유로서, 사원증(인증)을 확인한 승인된 사내 네트워크 트래픽만 내부 VPC에 들어오게 허용함</li>
<li>온프레미스 데이터 센터나 본사/지사 사내 네트워크와 AWS VPC 간에 안전한 하이브리드 VPN 터널링을 설정할 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>AWS Direct Connect<ul>
<li>정의<ul>
<li>고객의 온프레미스 데이터 센터에서 AWS 영역까지 인터넷망을 경유하지 않고 완전한 프라이빗 전용 광케이블 회선을 연결하는 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>커피숍으로 바로 이어지는 비밀 전용 통로(마법의 문) 비유로서, 네트워크 혼잡이나 공유 회선 문제를 완전히 우회함</li>
<li>매우 안정적이고 일관된 초고속 고대역폭 전송 성능과 높은 보안 성능을 제공함</li>
<li>데이터 주권 등 법률적 규정 준수(Compliance)를 강하게 충족하며 전용 통신망 파트너를 통해 물리 전용선을 구축함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="aws-클라우드에-연결할-수-있는-추가적인-방법">aws 클라우드에 연결할 수 있는 추가적인 방법</h3>
<ul>
<li><p>AWS 클라우드 연결 개요</p>
<ul>
<li>정의<ul>
<li>네트워크, 온프레미스 데이터 센터, 원격 작업자의 다양성에 맞춰 기업이 AWS 클라우드 리소스에 접속할 수 있도록 제공되는 다양한 연결 방식</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS Client VPN</p>
<ul>
<li>정의<ul>
<li>원격 작업자와 온프레미스 네트워크를 AWS 클라우드에 보안 연결할 수 있게 지원하는 클라이언트 기반 VPN 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>탄력적인 완전관리형 서비스로서 사용자 수요에 맞춰 자동으로 리소스 규모를 스케일 업/다운함</li>
<li>별도의 물리 하드웨어를 구매 및 관리할 필요가 없으며 OpenVPN 기반 클라이언트를 채택함</li>
<li>고급 인증 방식과 안전한 원격 액세스를 신속히 제공해야 하는 대기업 원격 근무 환경에 적합함</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS Site-to-Site VPN</p>
<ul>
<li>정의<ul>
<li>기업의 온프레미스 데이터 센터나 지사(Site) 네트워크와 AWS 클라우드 VPC 간에 안전하고 암호화된 터널링 세션을 맺어주는 IPsec VPN 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>고가용성, 강력한 보안, 비공개 세션을 생성하며 가상 프라이빗 게이트웨이(VGW)를 거쳐 VPC로 유입됨</li>
<li>주로 원격 지사 위치 간의 애플리케이션 마이그레이션이나 암호화 보안 통신에 필수적으로 적용됨</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS PrivateLink</p>
<ul>
<li>정의<ul>
<li>인터넷 게이트웨이, NAT 디바이스, 퍼블릭 IP, Direct Connect 또는 VPN을 거치지 않고, VPC를 다른 VPC나 AWS 서비스에 사설망(비공개)으로 가용성 높게 직접 연결해 주는 프라이빗 연결 기술</li>
</ul>
</li>
<li>특징/이점<ul>
<li>마치 고객이 독자적으로 보유한 VPC 내부에서 직접 서비스와 자원을 이용하는 것과 동일한 보안성을 제공함</li>
<li>다른 클라이언트와의 트래픽 정체 현상을 방지하고 비공개 API 엔드포인트 연결을 중앙 제어하여 관리 복잡성을 줄임</li>
</ul>
</li>
</ul>
</li>
<li><p>AWS Direct Connect
  <img src="https://velog.velcdn.com/images/oi_24/post/3ac7570c-52b3-43cd-bf29-be09f06e5114/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>고객의 온프레미스 데이터 센터나 사무실에서 AWS 인프라 영역까지 인터넷을 완전히 우회하여 물리적인 전용 광케이블 회선으로 직결하는 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>인터넷 공유 회선을 사용하지 않아 트래픽 정체 요인이 없고 네트워크 비용이 대폭 절감됨</li>
<li><strong>지연 시간에 민감한 애플리케이션</strong>: 일관되게 지연 시간이 극도로 짧은 환경을 조성해 동영상 스트리밍이나 실시간 처리에 최적화됨</li>
<li><strong>대규모 데이터 마이그레이션</strong>: 실시간 빅데이터 분석, 신속 백업, 고용량 미디어 브로드캐스트 전송을 위한 신뢰성 있는 대역폭을 보장함</li>
<li><strong>하이브리드 클라우드 아키텍처</strong>: AWS와 온프레미스 네트워크를 유기적으로 직결하여 성능 저하 없는 분산 애플리케이션 가동 환경을 형성함</li>
</ul>
</li>
</ul>
</li>
<li><p>추가적인 게이트웨이 서비스</p>
<ul>
<li>AWS Transit Gateway<ul>
<li>정의<ul>
<li>중앙 집중식 가상 라우터(허브) 역할을 수행하여 수많은 VPC들과 온프레미스 네트워크를 그물망 피어링 대신 일대다(1:N) 형태로 통합 연동해 주는 게이트웨이 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>클라우드 인프라가 전 세계로 확장될 때 리전 간 전송 게이트웨이를 피어링하여 관리를 획기적으로 간소화함</li>
</ul>
</li>
</ul>
</li>
<li>Network Address Translation (NAT) 게이트웨이<ul>
<li>정의<ul>
<li>프라이빗 서브넷에 속한 인스턴스가 VPC 외부의 인터넷이나 다른 서비스로 아웃바운드 연결은 수행하게 돕되, 외부에서 해당 프라이빗 인스턴스로의 최초 인바운드 접속 시도는 전면 차단해 주는 주소 변환(NAT) 서비스</li>
</ul>
</li>
</ul>
</li>
<li>Amazon API Gateway<ul>
<li>정의<ul>
<li>소프트웨어 시스템 간 통신을 정의하는 API를 개발자가 손쉽게 대규모로 생성, 게시, 유지 관리, 모니터링 및 보안 제어할 수 있게 돕는 완전관리형 API 호스팅 서비스</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="서브넷-보안-그룹-네트워크-엑세스-제어-목록">서브넷, 보안 그룹, 네트워크 엑세스 제어 목록</h3>
<ul>
<li><p>VPC 네트워크 보안 개요</p>
<ul>
<li>정의<ul>
<li>외부 위협으로부터 클라우드 내부 자원을 보호하기 위해 VPC 내부와 서브넷, 인스턴스 등 각 계층별로 적용되는 다층 방어 네트워킹 보안 설계</li>
</ul>
</li>
<li>특징/이점<ul>
<li>게이트웨이 경계 보안 외에도 방화벽, DDoS 방지, 암호화, 패킷 스크리닝 등 다양한 보안 계층 도구를 종합 활용함</li>
</ul>
</li>
</ul>
</li>
<li><p>네트워크 액세스 제어 목록 (Network ACL)</p>
<ul>
<li>정의<ul>
<li>서브넷 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는 스테이트리스(Stateless) 기반의 가상 방화벽</li>
</ul>
</li>
<li>특징/이점<ul>
<li>출입국 심사 직원 비유: 서브넷 경계를 드나드는 모든 데이터 패킷의 발신 정보와 포트를 규칙 목록(승인/거부 목록)과 대조해 검사함</li>
<li>기본 네트워크 ACL은 기본적으로 모든 인바운드/아웃바운드 트래픽을 허용함</li>
<li>사용자 지정 네트워크 ACL은 명시적 규칙을 추가하기 전까지 모든 트래픽을 차단함 (마지막에 매칭되지 않는 패킷을 전면 드롭하는 명시적 거부 규칙 존재)</li>
<li><strong>한계</strong>: 패킷이 서브넷 경계를 통과할 때만 동작하며, 동일 서브넷 내부에서 인스턴스 간에 주고받는 트래픽 흐름은 통제할 수 없음</li>
</ul>
</li>
</ul>
</li>
<li><p>보안 그룹 (Security Groups)</p>
<ul>
<li>정의<ul>
<li>Amazon EC2 인스턴스 등 개별 리소스 수준에서 인바운드 및 아웃바운드 트래픽을 세밀하게 제어하는 스테이트풀(Stateful) 기반의 가상 방화벽</li>
</ul>
</li>
<li>특징/이점<ul>
<li>아파트 건물의 도어맨 비유: 인스턴스 단위로 동작하며, 들어올 때만 허가 목록을 확인하고 나갈 때는 검사하지 않음</li>
<li>기본적으로 모든 인바운드 트래픽을 차단(거부)하고, 모든 아웃바운드 트래픽을 허용하도록 설정되어 시작됨</li>
<li>허용(Allow) 규칙만 정의할 수 있으며, 거부(Deny) 규칙은 작성할 수 없음 (규칙에 없는 트래픽은 자동으로 모두 차단됨)</li>
</ul>
</li>
</ul>
</li>
<li><p>패킷 필터링 방식 비교 (스테이트풀 vs 스테이트리스)</p>
<ul>
<li><p>스테이트풀 패킷 필터링 (Stateful Packet Filtering)
<img src="https://velog.velcdn.com/images/oi_24/post/7f817f7b-e95c-4507-9186-b4d75637d949/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>아웃바운드로 나간 요청의 연결 상태(세션)를 메모리에 기억해 두었다가, 해당 요청의 반환 트래픽이 들어올 때 인바운드 규칙 검사를 생략하고 무조건 허용하는 방식 (보안 그룹에 적용)</li>
</ul>
</li>
</ul>
</li>
<li><p>스테이트리스 패킷 필터링 (Stateless Packet Filtering)
<img src="https://velog.velcdn.com/images/oi_24/post/f661d83b-3d83-4be2-bf78-15a2aa1bd4a8/image.png" alt=""></p>
<ul>
<li>정의<ul>
<li>과거에 나간 아웃바운드 요청 상태를 전혀 저장(기억)하지 않고, 인바운드와 아웃바운드 양방향에 대해 매번 독립적으로 규칙 목록과 대조하여 통과 여부를 검사하는 방식 (네트워크 ACL에 적용)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>서브넷 간 패킷 이동 시나리오 (인스턴스 A에서 다른 서브넷의 인스턴스 B로 송수신 시 검사 순서)</p>
<ul>
<li><ol>
<li>송신 과정 (A -&gt; B)</li>
</ol>
<ul>
<li>인스턴스 A 보안 그룹: 아웃바운드 트래픽 자동 통과 (기본 설정상 모든 발신 허용)</li>
<li>서브넷 1 네트워크 ACL: 송신(발신) 규칙에 따라 패킷 검사 후 통과 결정</li>
<li>서브넷 2 네트워크 ACL: 수신(입산) 규칙에 따라 패킷 검사 후 통과 결정</li>
<li>인스턴스 B 보안 그룹: 인바운드 허용 규칙 목록과 대조하여 패킷 진입 허용 여부 판정</li>
</ul>
</li>
<li><ol start="2">
<li>반환 과정 (B -&gt; A)</li>
</ol>
<ul>
<li>인스턴스 B 보안 그룹: 요청에 대한 회신이므로 아웃바운드 필터 자동 통과</li>
<li>서브넷 2 네트워크 ACL: 스테이트리스이므로 송신 규칙에 따라 패킷 재검사 실행</li>
<li>서브넷 1 네트워크 ACL: 스테이트리스이므로 수신 규칙에 따라 패킷 재검사 실행</li>
<li>인스턴스 A 보안 그룹: 스테이트풀이므로 아웃바운드 요청에 대한 반환 트래픽임을 기억하고 규칙 검사 없이 자동으로 패킷 최종 수용</li>
</ul>
</li>
</ul>
</li>
<li><p>보안 그룹과 네트워크 ACL 핵심 요약</p>
<ul>
<li>보안 그룹<ul>
<li>작동 범위: 인스턴스 수준 (개별 리소스 제어)</li>
<li>연결 상태 유지: 스테이트풀 (Stateful)</li>
<li>규칙 성격: 허용(Allow) 규칙만 정의 가능</li>
<li>반환 트래픽 처리: 인바운드가 허용되면 반환 트래픽은 자동 허용됨</li>
</ul>
</li>
<li>네트워크 ACL<ul>
<li>작동 범위: 서브넷 수준 (광범위한 서브넷 경계 제어)</li>
<li>연결 상태 유지: 스테이트리스 (Stateless)</li>
<li>규칙 성격: 허용(Allow) 및 거부(Deny) 규칙 모두 정의 가능</li>
<li>반환 트래픽 처리: 아웃바운드와 인바운드 각각 개별 규칙 통과가 요구됨</li>
</ul>
</li>
</ul>
</li>
<li><p>공동 책임 모델상의 네트워크 보안 책임</p>
<ul>
<li>정의<ul>
<li>AWS 인프라의 기본 환경은 AWS가 책임지지만, 그 내부의 가상 네트워크(VPC) 서브넷과 리소스를 안전하게 설계하고 방화벽 규칙을 적용할 책임은 고객에게 있다는 원칙</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="amazon-vpc-데모">amazon vpc 데모</h3>
<ul>
<li><p>AWS 클라우드에서 Amazon VPC 구축 개요</p>
<ul>
<li>정의<ul>
<li>AWS Management Console을 활용해 VPC, 가용 영역별 서브넷, 인터넷 게이트웨이, 라우팅 테이블을 설계하고 구성하는 실제 네트워크 구축 프로세스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>고가용성 네트워크의 기본 구성 요소들을 순차적으로 연계 설정하여 인터넷 직접 통신이 가능한 퍼블릭 영역과 차단된 프라이빗 영역을 분리함</li>
</ul>
</li>
</ul>
</li>
<li><p>1단계: Amazon VPC 생성</p>
<pre><code>  ![](https://velog.velcdn.com/images/oi_24/post/92431302-d3d6-406e-a707-39f862d7ec02/image.png)</code></pre><ul>
<li>정의<ul>
<li>클라우드 내에 격리된 사설 네트워크의 기본 주소 공간을 프로비저닝하는 작업</li>
</ul>
</li>
<li>설정 세부정보<ul>
<li>Resource to create: VPC only 선택</li>
<li>Name tag: <code>my-vpc</code></li>
<li>CIDR(IPv4 주소 블록 범위): <code>10.0.0.0/16</code> 지정 (해당 VPC에서 생성되는 모든 리소스는 10.0으로 시작하는 고유 프라이빗 IP를 할당받음)</li>
</ul>
</li>
</ul>
</li>
<li><p>2단계: 가용 영역별 서브넷 생성</p>
<pre><code>  ![](https://velog.velcdn.com/images/oi_24/post/ec535b71-b80e-4d91-a085-99a36fd12edd/image.png)</code></pre><ul>
<li>정의<ul>
<li>고가용성(High Availability) 모범 사례에 따라 단일 리전 내의 서로 다른 2개의 물리 가용 영역(AZ)에 퍼블릭 및 프라이빗 서브넷을 각각 분산 배치하는 작업</li>
</ul>
</li>
<li>설정 세부정보<ul>
<li><strong>프라이빗 서브넷 생성</strong>:<ul>
<li><code>private-subnet-1</code>: 가용 영역 <code>us-east-1a</code>, CIDR 블록 <code>10.0.1.0/24</code> 지정</li>
<li><code>private-subnet-2</code>: 다른 가용 영역(예: <code>us-east-1b</code>), CIDR 블록 <code>10.0.2.0/24</code> 지정</li>
<li>주의 사항: 외부 인터넷 접근이 불가능하도록 <strong>퍼블릭 IPv4 자동 할당(Auto-assign IP settings)을 활성화하지 않음</strong></li>
</ul>
</li>
<li><strong>퍼블릭 서브넷 생성</strong>:<ul>
<li><code>public-subnet-1</code>: 가용 영역 <code>us-east-1a</code>, CIDR 블록 <code>10.0.3.0/24</code> 지정</li>
<li><code>public-subnet-2</code>: 다른 가용 영역(예: <code>us-east-1b</code>), CIDR 블록 <code>10.0.4.0/24</code> 지정</li>
<li>필수 설정: 외부 접속용 퍼블릭 IP를 부여하기 위해 <strong>퍼블릭 IPv4 자동 할당(Auto-assign public IPv4) 옵션을 명시적으로 활성화(Save)</strong>함</li>
</ul>
</li>
<li>주의 사항<ul>
<li>단순히 서브넷 이름에 &#39;public&#39;이나 &#39;private&#39;을 기재하는 것만으로는 실제 퍼블릭/프라이빗 기능이 활성화되지 않으며, 인터넷 게이트웨이 연결 및 라우팅 설정이 완료되어야 실질적으로 동작함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>3단계: 인터넷 게이트웨이 생성 및 연결</p>
<ul>
<li>정의<ul>
<li>VPC가 외부 인터넷과 직접 양방향 통신을 처리하기 위한 논리적 출입문을 생성하여 장착하는 작업</li>
</ul>
</li>
<li>설정 세부정보<ul>
<li>Name tag: <code>my-ig</code>로 인터넷 게이트웨이 생성</li>
<li>VPC 연결: Actions 메뉴의 <strong>VPC에 연결(Attach to VPC)</strong>을 실행하여 대상 VPC(<code>my-vpc</code>)에 게이트웨이를 정상 부착함</li>
</ul>
</li>
</ul>
</li>
<li><p>4단계: 라우팅 테이블 생성 및 서브넷 연결</p>
<ul>
<li>정의<ul>
<li>네트워크 패킷이 올바른 목적지로 이동할 수 있도록 라우팅 규칙(경로)을 정의하고, 이를 특정 서브넷들과 맵핑하는 작업</li>
</ul>
</li>
<li>설정 세부정보<ul>
<li><strong>라우팅 테이블 생성</strong>: Name을 <code>public-route-table</code>로 정하고 대상 VPC(<code>my-vpc</code>)를 지정하여 생성</li>
<li><strong>라우팅 규칙 추가 (Edit routes)</strong>:<ul>
<li>대상(Destination)에 <code>0.0.0.0/0</code>(모든 외부 트래픽) 입력</li>
<li>대상(Target)에 방금 생성하여 연결한 인터넷 게이트웨이(<code>my-ig</code>)를 지정 및 저장</li>
</ul>
</li>
<li><strong>명시적 서브넷 연결 (Subnet associations)</strong>:<ul>
<li>생성한 라우팅 테이블의 서브넷 연결 탭에서 <code>public-subnet-1</code>과 <code>public-subnet-2</code>를 연결함</li>
<li>이 연결을 거친 서브넷은 인터넷 게이트웨이로 향하는 유효 경로를 가져 실질적인 퍼블릭 서브넷으로 승격되며, 경로가 없는 프라이빗 서브넷들은 격리 상태를 계속 유지함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>5단계: 보안 규칙 구성 및 리소스 배포 준비</p>
<ul>
<li>정의<ul>
<li>구축된 네트워크 환경의 트래픽을 안전하게 필터링하기 위해 보안 제어를 설정하고 리소스를 추가할 최종 단계를 준비하는 작업</li>
</ul>
</li>
<li>특징/이점<ul>
<li>앞서 생성한 CIDR 블록 범위를 소스/대상 정의용으로 활용하여 보안 그룹 및 네트워크 ACL에 정밀한 허용/차단 규칙을 명시함</li>
<li>필터링 정책이 완벽히 구성되면 해당 서브넷에 EC2 인스턴스, 데이터베이스 등의 실제 비즈니스용 리소스를 최종 배포함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="글로벌-네트워킹">글로벌 네트워킹</h3>
<ul>
<li>엣지 네트워킹 (Edge Networking) 개요<ul>
<li>정의<ul>
<li>콘텐츠를 소비하는 사용자 및 데이터를 생성하는 디바이스에 물리적으로 더 가까운 위치에서 정보 저장 및 컴퓨팅 서비스를 수행하는 인프라 아키텍처</li>
</ul>
</li>
<li>특징/이점<ul>
<li>로컬에 데이터를 캐싱하거나 연산 태스크를 수행하여 네트워크 통신의 지연 시간(Latency)을 획기적으로 감축함</li>
<li>최종 사용자에게 정체 없는 빠른 응답 속도를 보장하여 전반적인 애플리케이션 인터랙션 만족도를 향상시킴</li>
</ul>
</li>
</ul>
</li>
<li>Amazon Route 53<ul>
<li>정의<ul>
<li>최종 사용자를 AWS 내부 및 외부의 인터넷 애플리케이션으로 신뢰성 있게 안내하는 고가용성 및 확장성을 갖춘 클라우드 도메인 이름 서비스 (DNS)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>인터넷의 전화번호부/번역기 비유: 사람이 읽을 수 있는 도메인 주소를 컴퓨터가 해석할 수 있는 IP 주소로 신속 변환함</li>
<li>다양한 지능형 라우팅 정책 지원: 지연 시간 기반 라우팅, 지리적 위치(고객의 대륙/국가 위치에 따른 분기), 지리적 근접성, 가중치 기반 라운드 로빈(Weighted Round Robin) 등</li>
<li>도메인 이름 구매 및 등록 관리를 Route 53 한 곳에서 일원화하여 통합 관리할 수 있는 도메인 레지스트라 기능 지원</li>
</ul>
</li>
</ul>
</li>
<li>Amazon CloudFront<ul>
<li>정의<ul>
<li>웹 콘텐츠, 동영상, 이미지, 애플리케이션, API 등을 글로벌 엣지 로케이션망을 활용하여 전 세계 사용자에게 신속하게 분배하는 콘텐츠 전송 네트워크 (CDN) 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>글로벌 배달 트럭 네트워크 비유: 중앙의 오리진 서버에 매번 직접 패킷을 요청하지 않고, 엣지 로케이션에 사본(캐시)을 미리 보관해 빠르게 반환함</li>
<li><strong>동영상 스트리밍</strong>: 동시 대규모 접속자가 몰리는 피크 시간에도 버퍼링을 차단하고 끊김 없는 전송 신뢰성을 확보함</li>
<li><strong>전자상거래 웹 사이트</strong>: 대규모 쇼핑 시즌에도 고용량 상품 이미지와 제품 세부 정보를 사용자 부근 엣지에서 즉각 띄워 이탈률을 저하시킴</li>
<li><strong>모바일 앱</strong>: 실시간 변동이 잦은 위치/지도 데이터나 미디어 자산을 모바일 디바이스에 지체 없이 안정적으로 로드함</li>
</ul>
</li>
</ul>
</li>
<li>AWS Global Accelerator<ul>
<li>정의<ul>
<li>지능형 트래픽 라우팅 및 신속한 장애 조치(Failover) 기술과 AWS의 프라이빗 글로벌 백본 네트워크망을 활용해 글로벌 애플리케이션의 가용성, 보안 및 전송 성능을 극대화하는 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>정체가 발생하기 쉬운 공용 인터넷 고속도로망 대신, 트래픽을 위한 독점 보안 고속 차선을 구축하여 기동함</li>
<li><strong>글로벌 온라인 게임</strong>: 전 세계 플레이어(예: 도쿄, 뉴욕, 런던 등) 간의 지연 편차를 좁혀 동등하고 매끄러운 반응성의 게임플레이 환경을 보장함</li>
<li><strong>금융 및 은행 서비스</strong>: 접속자가 대거 밀리는 피크 타임이나 지역 네트워크 불안 상황에서도 가동 중지 및 지연 없이 신뢰할 수 있는 속도로 금융 거래 및 계좌 액세스를 보장함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="실제-환경에서의-클라우드">실제 환경에서의 클라우드</h2>
<h3 id="글로벌-아키텍처">글로벌 아키텍처</h3>
<ul>
<li>실제 환경의 글로벌 네트워크 요구사항<ul>
<li>정의<ul>
<li>전 세계 사용자를 지원하기 위해 여러 계정, 여러 리전, 다중 VPC 및 온프레미스를 통합하는 복잡한 하이브리드 네트워킹 구조</li>
</ul>
</li>
<li>특징/이점<ul>
<li>비즈니스 규모 확장과 지리적 이중화를 실현하여 가동 중지 시간을 방지하고 고성능 가용성을 보장함</li>
</ul>
</li>
</ul>
</li>
<li>하이브리드 연결 방식 비교 (Site-to-Site VPN vs Direct Connect)<ul>
<li>AWS Site-to-Site VPN<ul>
<li>정의<ul>
<li>퍼블릭 인터넷 위에 보안 암호화 프라이빗 터널을 생성하여 온프레미스 네트워크와 AWS VPC를 가상 프라이빗 게이트웨이(VGW)로 연결하는 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>안전하고 유연하며 설정이 신속해 소규모 데이터 전송 및 원격 리소스 액세스에 최적화됨</li>
<li><strong>한계</strong>: 공용 인터넷 대역폭을 공유하므로 대용량 데이터 전송 시 속도가 저하되며, 특정 보안 규정 준수 충족에 제약이 있을 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>AWS Direct Connect<ul>
<li>정의<ul>
<li>인터넷을 우회하여 고객 데이터 센터에서 Direct Connect 로케이션을 거쳐 가상 프라이빗 게이트웨이(VGW)까지 물리적인 전용 광케이블 회선을 직결하는 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>일관되게 지연 시간이 짧고 대규모 데이터 전송 속도를 대폭 높여 중요한 애플리케이션 성능을 극대화함</li>
<li>동영상 스트리밍, 실시간 백업, 하이브리드 연산 등 고대역폭과 강력한 보안 규정 준수가 필요한 비즈니스에 필수적임</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Direct Connect 장애 조치 및 가용성 설계<ul>
<li>VPN 장애 조치 (Backup &amp; Failover)<ul>
<li>정의<ul>
<li>비용 효율성을 극대화하기 위해 Direct Connect 전용선 단선 장애 시 백업 연결용으로 Site-to-Site VPN을 설정해 자동 복구(Failover)하는 이중화 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>평소에는 전용선을 쓰고 비상시에만 인터넷망 VPN을 사용해 보조 회선 비용을 줄이지만, 장애 복구 시에는 대역폭이 VPN 성능 수준으로 한정됨</li>
</ul>
</li>
</ul>
</li>
<li>보조 Direct Connect 구성<ul>
<li>정의<ul>
<li>핵심 시스템의 성능 저하 없는 고가용성을 유지하기 위해 또 다른 물리적 Direct Connect 회선을 평행하게 구축하여 상호 백업하는 구조</li>
</ul>
</li>
<li>특징/이점<ul>
<li>단선 사고가 일어나더라도 고대역폭과 초저지연 성능을 일관되게 유지하는 강력한 내결함성을 확보함</li>
</ul>
</li>
</ul>
</li>
<li>대역폭 집계 (Bandwidth Aggregation)<ul>
<li>정의<ul>
<li>네트워크 처리 용량을 물리적으로 증가시키기 위해 여러 개의 Direct Connect 전용선 연결을 하나로 결합하는 기술</li>
</ul>
</li>
<li>특징/이점<ul>
<li>회선 여러 개를 묶어 집계 대역폭을 향상시킴으로써 한 번에 대용량 트래픽 전송이 가능한 네트워크 파이프라인을 형성함</li>
</ul>
</li>
</ul>
</li>
<li>하이브리드 아키텍처 연결 경로<ol>
<li>고객 네트워크: 고대역폭 연결을 요구하는 클라이언트 및 백엔드 서버</li>
<li>콘텐츠 라우터 / 방화벽: 온프레미스 최경계에서 Direct Connect 선로에 유입을 중계하는 전용 게이트 장비</li>
<li>다중 Direct Connect 연결: 내결함성과 대역폭 향상을 위해 이중화로 연결된 물리 전용 회선</li>
<li>가상 프라이빗 게이트웨이 (VGW): VPC 관문에서 암호화되거나 격리된 사설 트래픽 통신을 안전하게 최종 수용하는 허브</li>
<li>Amazon VPC: 전용선을 경유해 들어온 트래픽으로 실제 서비스를 처리하는 여러 프라이빗 서브넷 내 컴퓨팅 리소스</li>
</ol>
</li>
</ul>
</li>
<li>Route 53 &amp; CloudFront 연동을 통한 글로벌 콘텐츠 배포<ul>
<li>정의<ul>
<li>전 세계 사용자에게 낮은 지연 시간으로 웹 사이트와 미디어를 서비스하기 위해 Route 53 DNS와 CloudFront CDN을 상호 연계하는 통합 글로벌 아키텍처</li>
</ul>
</li>
<li>작동 흐름<ol>
<li><strong>사용자 요청</strong>: 사용자가 브라우저를 통해 도메인 주소로 웹 사이트에 접속을 시도하면 Route 53 DNS 서버가 이를 수신함</li>
<li><strong>라우팅 정책 판정</strong>: Route 53가 지연 시간 기반 라우팅 정책 등을 활용해 사용자에게 가장 가까운 리전을 즉각 판정함</li>
<li><strong>엣지 로케이션 연동</strong>: Route 53의 제어에 따라 사용자는 해당 리전과 연동된 최적의 CloudFront 엣지 로케이션으로 연결됨</li>
<li><strong>다중 AZ 오리진 서버 콘텐츠 인출</strong>: 엣지 로케이션은 해당 리전의 다중 가용 영역(AZ)에 안전하게 배포된 고가용성 오리진 서버에서 원본 자원을 불러와 최종 가동시킴</li>
</ol>
</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/oi_24/post/e234717a-b759-492d-bf62-418223700e96/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/oi_24/post/89c439f9-166c-433e-b0f4-aaf9139d7186/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 4: 글로벌 시장 진출]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-4-%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%8B%9C%EC%9E%A5-%EC%A7%84%EC%B6%9C-w6c554zx</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-4-%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%8B%9C%EC%9E%A5-%EC%A7%84%EC%B6%9C-w6c554zx</guid>
            <pubDate>Wed, 17 Jun 2026 15:39:45 GMT</pubDate>
            <description><![CDATA[<h1 id="모듈-4-글로벌-시장-진출">모듈 4: 글로벌 시장 진출</h1>
<h2 id="글로벌-시장-진출-소개">글로벌 시장 진출 소개</h2>
<ul>
<li>글로벌 시장 진출 개요<ul>
<li>정의<ul>
<li>비즈니스가 전 세계 고객에게 서비스를 제공하고 물리적/가상 인프라를 확장하는 과정</li>
</ul>
</li>
<li>특징/이점<ul>
<li>현지 수요, 규정 준수, 비용 등 여러 요인을 고려하여 확장 계획 수립 필요</li>
<li>AWS는 전 세계 어디서나 강력하고 확장 가능하며 고가용성을 갖춘 애플리케이션을 구현할 수 있도록 지원</li>
</ul>
</li>
</ul>
</li>
<li>AWS 글로벌 인프라 비유<ul>
<li>리전(Region) 선택<ul>
<li>정의<ul>
<li>새로운 물리적 매장을 열 위치를 결정하는 것과 같이 실제 클라우드 리소스를 배포할 리전을 선택하는 것</li>
</ul>
</li>
<li>고려 사항<ul>
<li>현지 수요, 규정, 비용 등 여러 비즈니스 및 기술적 요인</li>
</ul>
</li>
</ul>
</li>
<li>AWS 엣지 로케이션(Edge Location)<ul>
<li>정의<ul>
<li>이동식 커피 카트처럼 전 세계 사용자에게 지연 시간을 최소화하여 콘텐츠를 신속하게 제공하는 소규모 물리적 시설</li>
</ul>
</li>
<li>특징/이점<ul>
<li>이미지, 동영상, 정적 자산 등 자주 액세스하는 콘텐츠를 캐시하여 사용자에게 빠르게 제공</li>
<li>중앙 서버(리전)로부터 매번 데이터를 가져오는 대기 시간 단축</li>
</ul>
</li>
</ul>
</li>
<li>코드형 인프라(IaC) 및 AWS CloudFormation<ul>
<li>정의<ul>
<li>전 세계 모든 지점에서 일관된 프로세스와 커피 맛을 유지하기 위해 레시피 및 장비를 표준화하는 것처럼, 코드로 인프라를 정의하고 배포하는 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>환경 및 글로벌 배포 전체에서 일관성 있고 신뢰할 수 있는 설정을 구현</li>
<li>비즈니스 성장에 맞춰 신속하고 책임감 있게 리소스 스케일링 가능</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="aws-글로벌-인프라">aws 글로벌 인프라</h2>
<h3 id="aws-리전-선택">aws 리전 선택</h3>
<ul>
<li>AWS 리전의 중요한 보안 및 데이터 격리<ul>
<li>정의<ul>
<li>각 AWS 리전은 다른 리전과 완벽하게 격리되어 독립적으로 가동되는 물리적 인프라의 집합</li>
</ul>
</li>
<li>특징/이점<ul>
<li>사용자가 명시적으로 데이터를 이동할 권한을 부여하지 않으면 리전의 경계를 벗어날 수 없으므로 철저한 데이터 주권 및 보안을 제공함</li>
</ul>
</li>
</ul>
</li>
<li>AWS 리전 선택 시 4가지 주요 고려 사항<ul>
<li><ol>
<li>규정 준수 (Compliance)</li>
</ol>
<ul>
<li>정의<ul>
<li>특정 국가나 지역의 현지 법률 및 법규(예: 데이터 보호법, 데이터 거버넌스 규제 등)를 준수하기 위해 데이터를 특정 지리적 영역 내에 보관해야 하는 법적 요구사항</li>
</ul>
</li>
<li>특징/이점<ul>
<li>리전을 선택할 때 <strong>가장 먼저(최우선적으로)</strong> 검토해야 하는 결정적인 요인임</li>
<li>예시: 유럽 연합(EU)의 일반 데이터 보호 규정(GDPR) 준수 요구 사항에 따라 프랑크푸르트 등의 EU 리전에 고객 데이터를 저장하고 외부 반출을 차단하는 경우</li>
</ul>
</li>
</ul>
</li>
<li><ol start="2">
<li>근접성 (Proximity)</li>
</ol>
<ul>
<li>정의<ul>
<li>실제 서비스를 이용하는 사용자 기반(고객)의 지리적 위치와 리전 데이터 센터 사이의 물리적 거리</li>
</ul>
</li>
<li>특징/이점<ul>
<li>사용자 기반과 지리적으로 가까운 리전을 택할수록 데이터 전송 시 지연 시간(Latency)이 최소화되며 애플리케이션의 반응성과 만족도가 대폭 향상됨</li>
</ul>
</li>
</ul>
</li>
<li><ol start="3">
<li>기능 가용성 (Feature Availability)</li>
</ol>
<ul>
<li>정의<ul>
<li>배포하고자 하는 AWS의 특정 서비스, 신기능 혹은 특정 요구사항을 위한 하드웨어 세팅이 해당 리전에 준비되어 있는지의 여부</li>
</ul>
</li>
<li>특징/이점<ul>
<li>AWS는 지속적으로 서비스를 신규 리전에 출시/확장하고 있으나 특정 신기능이나 특수 목적의 격리된 서비스(예: 미국 정부 전용 규정 준수를 위한 AWS GovCloud 리전) 등은 특정 리전에서만 선제적으로 제공될 수 있음</li>
</ul>
</li>
</ul>
</li>
<li><ol start="4">
<li>요금 (Pricing)</li>
</ol>
<ul>
<li>정의<ul>
<li>리전별로 운영에 따른 전반적인 서비스 및 인프라의 청구 단가가 다르게 책정되는 과금 특성</li>
</ul>
</li>
<li>특징/이점<ul>
<li>동일한 사양의 AWS 서비스 및 기능이라 하더라도, 리전 데이터 센터가 위치한 국가의 현지 조세 체계(세법), 전력/에너지 공급 비용, 토지 비용 등의 운영 인프라 차이에 따라 청구 금액에 상당한 편차가 발생할 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="aws-글로벌-인프라-자세히-살펴보기">aws 글로벌 인프라 자세히 살펴보기</h3>
<ul>
<li>고가용성 아키텍처 설계<ul>
<li>고가용성 (High Availability)<ul>
<li>정의<ul>
<li>시스템이 장애 없이 지속적으로 가동되어 서비스를 원활하게 제공할 수 있는 능력</li>
</ul>
</li>
<li>특징/이점<ul>
<li>특정 물리적 하드웨어나 구성 요소에 결함이 발생하더라도 비즈니스 연속성이 끊기지 않고 심각한 가동 중지 시간을 방지함</li>
</ul>
</li>
</ul>
</li>
<li>민첩성 (Agility)<ul>
<li>정의<ul>
<li>급격하게 변화하는 비즈니스 요건이나 시장 조건에 맞춰 인프라 서비스를 신속하게 개발, 테스트 및 배포하는 능력</li>
</ul>
</li>
<li>특징/이점<ul>
<li>복잡한 하드웨어 수급 절차 없이 가상 자원을 즉각적으로 조달하여 인적/시간적 리소스 효율성을 극대화함</li>
</ul>
</li>
</ul>
</li>
<li>탄력성 (Elasticity)<ul>
<li>정의<ul>
<li>실제 서비스 수요의 변동 폭에 따라 필요한 리소스 용량을 자동으로 확장(Scale-up)하거나 축소(Scale-down)하는 구조적 특성</li>
</ul>
</li>
<li>특징/이점<ul>
<li>트래픽이 폭증할 때는 자원을 확장하여 부하를 분산시키고, 사용량이 적을 때는 리소스를 줄여 불필요한 과금을 절감함</li>
</ul>
</li>
</ul>
</li>
<li>이중화 아키텍처 (Redundancy Architecture)<ul>
<li>정의<ul>
<li>인프라 중단 사고에 사전 대응할 수 있도록 물리적으로 복제된 다중 백업 장치 및 자원을 상시 유지하는 아키텍처 기법</li>
</ul>
</li>
<li>특징/이점<ul>
<li><strong>다중 가용 영역(Multi-AZ) 배포</strong>: 하나의 가용 영역에 장애가 일어나더라도 시스템이 이중화된 백업 영역으로 자동 장애 조치(Failover)되어 최종 사용자에게 무중단 서비스를 보장함</li>
<li><strong>다중 리전(Multi-Region) 배포</strong>: 한 국가 규모의 물리적 재난이 닥쳐 특정 리전 전체가 마비되더라도 다른 국가의 리전으로 트래픽을 안전하게 장애 조치(Failover)함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>AWS 글로벌 인프라 핵심 구성 요소<ul>
<li>AWS 리전 (Region)<ul>
<li>정의<ul>
<li>전 세계에 지리적으로 분산되어 데이터 센터들을 물리적으로 호스팅하고 있는 거대한 독립 영역</li>
</ul>
</li>
<li>특징/이점<ul>
<li>개별 리전은 타 리전과 규정, 네트워크상으로 완전히 격리되어 운영됨</li>
<li>모든 AWS 리전은 격리된 전력망과 연결망을 가지는 가용 영역(AZ)을 최소 3개 이상 보유함</li>
</ul>
</li>
</ul>
</li>
<li>가용 영역 (Availability Zone, AZ)<ul>
<li>정의<ul>
<li>하나의 리전 내부에서 독립적인 물리 전력망, 공조 시스템, 통신 네트워크 연결을 지니도록 상호 격리 설계된 단일 또는 그 이상의 데이터 센터들의 집합</li>
</ul>
</li>
<li>특징/이점<ul>
<li>리전 내 다른 가용 영역들과는 초고속 전용 광케이블망으로 긴밀히 소통함</li>
<li>특정 데이터 센터 시설의 화재나 단전 등 내결함성(Fault Tolerance) 시나리오에서 시스템 전반의 붕괴를 예방함</li>
</ul>
</li>
</ul>
</li>
<li>엣지 로케이션 (Edge Location)<ul>
<li>정의<ul>
<li>유저에게 콘텐츠를 가장 빠른 속도로 전달(캐싱)하기 위해, 리전이나 가용 영역과는 별개로 전 세계 주요 도시 구석구석에 흩어져 있는 소규모 서버 거점</li>
</ul>
</li>
<li>특징/이점<ul>
<li>이미지, 비디오, 정적 자산 등 빈번히 조회되는 데이터를 최종 사용자 부근의 캐시에 보관하여 원천 리전 서버로 향하는 통신 거리를 획기적으로 낮추고 전송 속도를 단축함</li>
<li>Amazon CloudFront, Amazon Route 53, AWS Global Accelerator 등 핵심 엣지 네트워킹 서비스를 호스팅함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>주요 엣지 및 관련 서비스<ul>
<li>Amazon CloudFront<ul>
<li>정의<ul>
<li>웹 페이지, 비디오, 이미지, API 등 모든 동적/정적 웹 리소스를 낮은 지연 시간과 높은 속도로 최종 사용자에게 제공하는 글로벌 콘텐츠 전송 네트워크(CDN)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>전 세계 엣지 로케이션망을 활용하여 밈 이미지나 대용량 파일 배포 속도를 향상시키고 트래픽 급증을 효과적으로 수용함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon Route 53<ul>
<li>정의<ul>
<li>최종 사용자의 트래픽을 원활하게 AWS의 목적지 인프라로 연결 및 안내해 주는 클라우드 기반 고가용성 도메인 이름 시스템(DNS)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>인간이 기억하기 편한 도메인 도식 문자열을 컴퓨터용 숫자형 IP 주소로 신속 변환하며 지연 시간이 최저인 최적의 서버 경로로 사용자를 라우팅함</li>
</ul>
</li>
</ul>
</li>
<li>AWS Outposts<ul>
<li>정의<ul>
<li>AWS 인프라 서비스, API, 개발 도구를 고객의 자체 온프레미스 데이터 센터나 사무실 내부로 물리적으로 연장하여 직접 실행하게 지원하는 하이브리드 인프라 솔루션</li>
</ul>
</li>
<li>특징/이점<ul>
<li>극단적으로 높은 초저지연 로컬 데이터 처리가 필수적이거나, 특정 물리적 국가 경계 내에서만 데이터를 보관하고 동작시켜야 하는 엄격한 법률 규정을 완벽하게 만족함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="인프라-및-자동화">인프라 및 자동화</h3>
<ul>
<li>코드형 인프라 (Infrastructure as Code, IaC)<ul>
<li>정의<ul>
<li>수동 클릭이나 개별 명령 실행 대신, 인프라의 모든 구성을 텍스트 파일(YAML, JSON 등)로 코딩하여 설계 청사진을 만드는 개발 방식</li>
</ul>
</li>
<li>특징/이점<ul>
<li>동일한 설정을 변경 없이 여러 차례 반복하여 신속하게 배포 가능</li>
<li>콘솔 수동 조작 시 발생하는 인적 실수(오류)를 예방하고 재현하기 쉬운 환경 제공</li>
<li>Git 등의 소스 제어 도구를 활용하여 인프라 변경 이력을 체계적으로 관리 및 추적할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>AWS CloudFormation<ul>
<li>정의<ul>
<li>YAML 또는 JSON 형식의 CloudFormation 템플릿을 생성하여 대규모 AWS 리소스를 선언적 방식으로 정의하고 일괄 모델링/프로비저닝해 주는 AWS의 핵심 IaC 서비스</li>
</ul>
</li>
<li>특징/이점<ul>
<li>세부 빌드 명령어 대신 생성하고자 하는 리소스 스펙만 명시하면, CloudFormation이 알아서 백그라운드에서 AWS API를 호출하여 자원을 프로비저닝함</li>
<li>여러 리전(Multi-Region)이나 다중 계정 전체에 동일 템플릿을 적용하여 오차 없는 고가용성 동일 환경을 손쉽게 복제하고 구축 시간 및 비용을 획기적으로 감축함</li>
</ul>
</li>
</ul>
</li>
<li>AWS 리소스와의 상호 작용 (AWS API 호출 수단)<ul>
<li>AWS Management Console<ul>
<li>정의<ul>
<li>웹 브라우저를 기반으로 시각적 UI 환경에서 마우스 클릭을 통해 AWS 리소스를 제어하고 조작하는 그래픽 관리 인터페이스 (GUI)</li>
</ul>
</li>
<li>특징/이점<ul>
<li>클라우드를 처음 다루는 초보자 또는 비개발자 직군도 진입장벽 없이 빠르게 액세스하여 조작할 수 있음</li>
<li>청구 및 비용 대시보드 모니터링이나 시각 그래픽 중심의 특화 서비스(예: QuickSight, Neptune) 운영에 매우 유리함</li>
</ul>
</li>
</ul>
</li>
<li>프로그래밍 방식 액세스 (Programmatic Access)<ul>
<li>AWS CLI (Command Line Interface)<ul>
<li>정의<ul>
<li>로컬 컴퓨터 터미널이나 쉘 명령줄에서 명령어를 수동 입력하거나 스크립트 파일을 실행하여 AWS 리소스를 통제하는 도구</li>
</ul>
</li>
<li>특징/이점<ul>
<li>반복되는 인프라 관리 및 관리 태스크를 쉘 스크립트 자동화 작업(예: Amazon EBS 볼륨의 정기 백업 수행 스크립트)으로 구성할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>AWS SDK (Software Development Kit)<ul>
<li>정의<ul>
<li>개발자가 사용하는 프로그래밍 언어(Java, Python 등)에 호환되는 라이브러리 API를 제공하여, 자체 구축한 애플리케이션 소스 코드 내에서 AWS의 기능을 내재화하고 통합하게 돕는 소프트웨어 개발 키트</li>
</ul>
</li>
<li>특징/이점<ul>
<li>앱 백엔드 프로세스의 일부분으로 실시간 AWS 서비스를 기동할 수 있음 (예: SDK를 활용해 애플리케이션에 유입된 사용자의 파일을 Amazon S3 스토리지에 즉시 자동 저장)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 3: 컴퓨팅 서비스 살펴보기]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-3-%EC%BB%B4%ED%93%A8%ED%8C%85-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-3-%EC%BB%B4%ED%93%A8%ED%8C%85-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0</guid>
            <pubDate>Mon, 15 Jun 2026 15:30:32 GMT</pubDate>
            <description><![CDATA[<h1 id="module-3-컴퓨팅-서비스-살펴보기">Module 3: 컴퓨팅 서비스 살펴보기</h1>
<h2 id="서버리스-컴퓨팅-소개">서버리스 컴퓨팅 소개</h2>
<ul>
<li>AWS 컴퓨팅 옵션 비교 (비관리형, 관리형, 서버리스)<ul>
<li>비관리형 서비스 (Unmanaged Services)<ul>
<li>정의<ul>
<li>기본적인 물리적 인프라만 AWS가 제공하고, 운영 체제(OS) 패치, 애플리케이션 설치, 네트워크/방화벽 구성 등 나머지 모든 구성과 관리를 고객이 직접 제어하는 서비스</li>
</ul>
</li>
<li>대표 서비스<ul>
<li>Amazon EC2</li>
</ul>
</li>
<li>특징<ul>
<li>인스턴스 전체에 대해 아주 높은 수준의 사용자 지정 제어 권한(Control)을 제공하지만, 사용자의 유지보수 및 관리 오버헤드가 큼 (수동 관리)</li>
</ul>
</li>
</ul>
</li>
<li>관리형 서비스 (Managed Services)<ul>
<li>정의<ul>
<li>사용자가 자신의 요구사항에 맞춰 초기 설정을 구성하면, 가동 유지, 패치, 업그레이드, 장애 극복 등의 운영 작업을 AWS가 백그라운드에서 직접 처리해주는 서비스</li>
</ul>
</li>
<li>대표 서비스<ul>
<li>Elastic Load Balancing (ELB), Amazon SQS, Amazon SNS 등</li>
</ul>
</li>
<li>특징<ul>
<li>인프라 관리 부담을 줄여주므로 사용자는 인프라 유지보수보다 애플리케이션 구축 및 비즈니스 로직 설계에 집중할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>서버리스/완전관리형 서비스 (Serverless / Fully Managed)<ul>
<li>정의<ul>
<li>사용자가 애플리케이션을 구동하기 위한 가상 서버나 리소스를 직접 보거나 관리할 필요가 전혀 없는 서비스</li>
</ul>
</li>
<li>대표 서비스<ul>
<li>AWS Lambda 등</li>
</ul>
</li>
<li>특징<ul>
<li>리소스 프로비저닝, 고가용성, 하드웨어 유지 관리, 자동 스케일링이 모두 완전 자동 처리되며 사용자는 작성한 코드 자체만 배포하고 관리함 (편의성에 최적화)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="aws-서버리스-컨테이너-솔루션-개요">aws 서버리스, 컨테이너, 솔루션 개요</h2>
<h3 id="aws-lambda">aws lambda</h3>
<ul>
<li>AWS Lambda<ul>
<li>정의<ul>
<li>서버를 별도로 프로비저닝하거나 직접 관리하지 않고도, 특정 이벤트(트리거)에 반응하여 코드를 바로 실행하는 대표적인 서버리스(Serverless) 컴퓨팅 서비스</li>
</ul>
</li>
<li>작동 원리<ul>
<li>사용자가 코드를 작성하여 Lambda 함수로 업로드하고 이벤트 소스(S3 파일 업로드, SQS 메시지 생성, HTTP 요청 등)를 트리거로 세팅함</li>
<li>해당 이벤트가 발생할 때만 코드가 가동되며, 평상시 유휴 상태에는 하드웨어 리소스나 비용 소모가 없음</li>
</ul>
</li>
<li>요금 체계<ul>
<li>실제 코드가 수행된 시간(밀리초 단위로 정확히 계산) 및 함수에 할당한 메모리 용량 크기에 따라 비용이 부과됨</li>
</ul>
</li>
<li>실행 제한 (매우 중요)<ul>
<li><strong>최대 지속 시간 제한: 15분</strong></li>
<li>15분 이내에 완료되지 않는 장기 프로세싱 작업에는 적합하지 않으며, 이 경우 다른 컴퓨팅 인스턴스를 선택하거나 작업을 15분 단위 세그먼트로 분리해야 함</li>
</ul>
</li>
<li>프로그래밍 언어 지원<ul>
<li>Java, Python, Node.js 등을 런타임 환경으로 기본 지원하며, 기타 언어는 사용자 지정 런타임(Custom Runtime)을 구축하여 가동 가능</li>
</ul>
</li>
<li>AWS 서비스 통합 및 데모 (SQS 트리거 기반 Lambda 작동 프로세스)<ul>
<li><ol>
<li>큐 및 메시지 준비</li>
</ol>
<ul>
<li>SQS 콘솔에서 대기열을 생성한 뒤 테스트 메시지(페이로드)를 전송하여 대기시킴</li>
</ul>
</li>
<li><ol start="2">
<li>청사진 (Blueprint) 활용</li>
</ol>
<ul>
<li>빠른 연동 테스트를 위해 SQS와 연계된 검증된 템플릿(청사진)을 활용하여 Node.js, Python 등의 런타임 환경으로 Lambda 함수(예: Lambert)를 신속하게 생성함</li>
</ul>
</li>
<li><ol start="3">
<li>실행 역할 (Execution Role) 설정</li>
</ol>
<ul>
<li>Lambda 함수가 SQS 대기열을 지속적으로 감시하고 메시지를 가져올 수 있도록 <strong>Amazon SQS 폴러 정책 템플릿</strong> 권한이 인가된 전용 실행 역할(예: Demo_Lambert_Role)을 반드시 지정해 주어야 함</li>
</ul>
</li>
<li><ol start="4">
<li>트리거 (Trigger) 매핑</li>
</ol>
<ul>
<li>대상 SQS 대기열을 Lambda 함수의 유효한 트리거 소스로 구성하여 연결 설정을 완료함</li>
</ul>
</li>
<li><ol start="5">
<li>메시지 폴링 및 자동 삭제</li>
</ol>
<ul>
<li>SQS 대기열에 새로운 메시지가 유입되면 Lambda 함수가 이를 인지하여 지극히 빠른 속도로 메시지를 가공/처리하며, 처리가 성공한 메시지는 SQS 대기열에서 자동으로 영구 소멸됨</li>
</ul>
</li>
<li><ol start="6">
<li>모니터링 및 로깅 감사</li>
</ol>
<ul>
<li>Lambda 콘솔의 Monitor 탭을 통해 지표를 조회하거나, 연동된 <strong>Amazon CloudWatch Logs</strong>의 로그 그룹(Log Groups) 및 로그 스트림(Log Streams)을 열어 함수가 처리한 실제 데이터 내용과 ID 로그를 검증하고 감사 추적할 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Lambda 사용 사례<ul>
<li>실시간 이미지 처리<ul>
<li>정의: 소셜 미디어 등에 사진 업로드 시 Lambda가 트리거되어 썸네일 크기로 변환 및 필터 처리 자동화</li>
</ul>
</li>
<li>개인화 콘텐츠 전송<ul>
<li>정의: 뉴스 피드 접속 등의 이벤트 트리거 시 사용량에 따라 개인 추천 엔진을 자동 가동 및 최적 데이터 송신</li>
</ul>
</li>
<li>온라인 게임의 실시간 이벤트 처리<ul>
<li>정의: 점수 획득, 업적 해제 등의 이벤트를 수천 명의 플레이어로부터 실시간으로 받아 서버리스 상태에서 갱신 및 처리</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="aws-기반의-컨테이너-및-오케스트레이션">aws 기반의 컨테이너 및 오케스트레이션</h3>
<ul>
<li>컨테이너 (Containers)<ul>
<li>정의<ul>
<li>애플리케이션의 코드, 런타임, 라이브러리, 종속성, 설정 파일 등을 단일 패키지로 묶어 어떤 컴퓨팅 환경에서든 동일하게 작동하도록 격리하는 이식성 높은 가상화 환경</li>
</ul>
</li>
<li>컨테이너 vs 가상 머신(VM)<ul>
<li>컨테이너는 호스트 OS 커널을 공유하여 가볍고 부팅 속도가 매우 빠르며 리소스 효율성이 우수함</li>
<li>VM은 하이퍼바이저 위에서 각각 별개의 전체 OS를 가동하므로 속도가 느리고 인프라 자원을 상대적으로 많이 소모함</li>
</ul>
</li>
</ul>
</li>
<li>컨테이너 오케스트레이션 (Container Orchestration)<ul>
<li>정의<ul>
<li>수십~수천 개에 이르는 컨테이너의 전체 수명 주기(시작, 중지, 업데이트, 네트워킹, 오토 스케일링, 오류 복구 등)를 자동화하여 통합 관리해 주는 서비스</li>
</ul>
</li>
</ul>
</li>
<li>AWS 컨테이너 서비스 분류<ul>
<li><ol>
<li>레지스트리 (Registry)</li>
</ol>
<ul>
<li>Amazon ECR (Elastic Container Registry): 컨테이너 이미지를 보관하는 ‘창고’<ul>
<li>정의: 안전하게 컨테이너 이미지를 보관, 관리, 배포하는 완전 관리형 OCI 표준 준수 레지스트리 서비스</li>
</ul>
</li>
</ul>
</li>
<li><ol start="2">
<li>오케스트레이션 (Orchestration)</li>
</ol>
<ul>
<li>Amazon ECS (Elastic Container Service)<ul>
<li>정의: Docker 컨테이너를 가동 및 관리할 수 있도록 지원하는 AWS 독자적인 고성능 컨테이너 오케스트레이션 서비스</li>
<li>특징: 간소하고 통합된 기능 제공. 소규모 팀이나 트래픽 유동성이 있는 애플리케이션 구축에 적합</li>
</ul>
</li>
<li>Amazon EKS (Amazon Elastic Kubernetes Service)<ul>
<li>정의: 오픈소스 컨테이너 관리 프레임워크인 Kubernetes를 AWS 환경에서 쉽게 다룰 수 있게 보장하는 관리형 서비스</li>
<li>특징: 오픈소스 생태계 통합 및 하이브리드/대규모 배포 시 우수한 통제력과 유연성을 제공함</li>
</ul>
</li>
</ul>
</li>
<li><ol start="3">
<li>컴퓨팅/호스팅 플랫폼 (Compute Platforms)</li>
</ol>
<ul>
<li>Amazon EC2 시작 유형<ul>
<li>정의: 가상 서버 인프라를 사용자가 직접 구성하고 가상 머신 수준의 세부 설정을 제어하는 방식</li>
<li>특징: 하드웨어 및 특수한 네트워크 설정의 커스터마이징이 가능하나 서버 유지 관리 오버헤드가 수반됨</li>
</ul>
</li>
<li>AWS Fargate 시작 유형<ul>
<li>정의: 서버를 프로비저닝하거나 관리할 필요가 없는 <strong>컨테이너 전용 서버리스(Serverless)</strong> 컴퓨팅 엔진</li>
<li>특징: 컨테이너의 배치 및 가동 스케일링을 AWS가 100% 관리해주며 사용자는 사용한 컨테이너 자원에 대해서만 지불함 (ECS와 EKS 모두 Fargate 시작 유형을 지원함)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="추가-컴퓨팅-서비스">추가 컴퓨팅 서비스</h3>
<ul>
<li>AWS Elastic Beanstalk<ul>
<li>정의<ul>
<li>Java, Python, Node.js, Docker 등으로 작성된 웹 애플리케이션 및 서비스를 신속하게 배포, 관리, 스케일링할 수 있도록 돕는 완전 관리형 서비스 (PaaS)</li>
</ul>
</li>
<li>특징<ul>
<li>사용자가 소스 코드와 구성 설정만 업로드하면 인프라 프로비저닝, 오토 스케일링, 로드 밸런싱, 애플리케이션 상태 모니터링을 자동으로 대행함</li>
<li>인프라를 직접 구축할 필요는 없지만, 프로비저닝된 하위 AWS 기본 리소스(EC2 등)에 대한 세부적인 제어 및 수정 권한은 여전히 소유함</li>
</ul>
</li>
<li>적합한 대상<ul>
<li>인프라 설정 복잡성을 줄이고 즉시 배포하려는 웹 애플리케이션, RESTful API, 마이크로서비스</li>
</ul>
</li>
</ul>
</li>
<li>AWS Batch<ul>
<li>정의<ul>
<li>AWS 인프라 리소스를 직접 관리할 필요 없이 대규모 병렬 배치(Batch) 컴퓨팅 워크로드를 자동으로 예약하고 실행해 주는 완전 관리형 서비스</li>
</ul>
</li>
<li>특징<ul>
<li>작업의 우선순위와 컴퓨터 리소스 사양에 맞춰 필요한 최적의 컴퓨팅 인프라(EC2 등) 풀을 자동으로 증설, 스케일링, 배포 및 회수함</li>
</ul>
</li>
<li>적합한 대상<ul>
<li>과학 계산 시뮬레이션, 대용량 빅데이터 및 유전체 분석 처리, 미디어 트랜스코딩, 기계 학습 모델 훈련</li>
</ul>
</li>
</ul>
</li>
<li>Amazon Lightsail<ul>
<li>정의<ul>
<li>저렴하고 예측 가능한 정액제 월별 요금으로 가상 프라이빗 서버(VPS), 인스턴스, 스토리지, DB, 네트워킹을 간편하게 패키지로 제공하는 서비스</li>
</ul>
</li>
<li>특징<ul>
<li>복잡한 AWS 관리 콘솔의 설정 없이도 매우 간단한 제어판을 제공하여 인프라 구축의 허들을 대폭 낮춤</li>
</ul>
</li>
<li>적합한 대상<ul>
<li>소규모 비즈니스 웹사이트, 저트래픽 개인 블로그(예: WordPress), 개발자 학습용 샌드박스, 단순한 개발/테스트 환경</li>
</ul>
</li>
</ul>
</li>
<li>AWS Outposts<ul>
<li>정의<ul>
<li>AWS 클라우드 인프라, 서비스, API, 도구를 고객 온프레미스 데이터 센터나 로컬 물리 서버 환경으로 확장하여 서비스하는 완전 관리형 하이브리드 솔루션</li>
</ul>
</li>
<li>특징<ul>
<li>AWS 퍼블릭 클라우드 환경과 자사 온프레미스 로컬 인프라 간에 완전히 일관된 작동 경험과 도구 세트를 제공함</li>
</ul>
</li>
<li>적합한 대상<ul>
<li>규정 준수 및 현지 법률로 인한 물리적 데이터 보존(Data Residency) 요구 충족, 로컬 레거시 시스템과의 연동을 위한 극도로 짧은 지연 시간(Low Latency) 요구 상황</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 2: 클라우드 컴퓨팅]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-2-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%BB%B4%ED%93%A8%ED%8C%85-1ekth2e2</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-2-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%BB%B4%ED%93%A8%ED%8C%85-1ekth2e2</guid>
            <pubDate>Sun, 14 Jun 2026 15:17:35 GMT</pubDate>
            <description><![CDATA[<h1 id="module-2-클라우드-컴퓨팅">Module 2: 클라우드 컴퓨팅</h1>
<h3 id="0-용어설명">0. 용어설명</h3>
<ul>
<li><p>워크로드</p>
<ul>
<li>어떤 하나의 완전한 서비스 시스템 단위</li>
</ul>
</li>
<li><p>테넌시(Tenancy)</p>
<ul>
<li>가상 서버(EC2 인스턴스)가 물리적인 하드웨어(호스트 서버)에 배치되는 방식과 격리 수준을 결정하는 설정</li>
</ul>
</li>
</ul>
<h3 id="1-amazon-ec2-개요-및-기본-개념">1. amazon ec2 개요 및 기본 개념</h3>
<ul>
<li>Amazon EC2 (Elastic Compute Cloud)<ul>
<li>정의<ul>
<li>AWS 클라우드에서 크기 조정이 가능한 가상 서버(인스턴스)를 온디맨드로 임대하여 실행할 수 있는 서비스</li>
</ul>
</li>
<li>이점 및 작동 특징<ul>
<li>온프레미스 대비 물리적인 서버 인프라 구축 비용과 조달 시간이 전혀 들지 않음</li>
<li>인스턴스가 실행 중(Running) 상태일 때만 사용한 시간만큼 비용을 지불하며, 중지(Stopped) 또는 종료(Terminated) 시 요금 부과가 중단됨</li>
</ul>
</li>
</ul>
</li>
<li>가상 머신(VM) 및 멀티테넌시 (Multi-tenancy)<ul>
<li>정의<ul>
<li>하나의 물리적인 호스트 컴퓨터 리소스를 여러 대의 독립적인 가상 머신(VM) 인스턴스가 분할하여 공유하는 환경</li>
</ul>
</li>
<li>하이퍼바이저 (Hypervisor)<ul>
<li>정의<ul>
<li>물리 호스트 컴퓨터 위에 가상 머신을 생성하고, 가상 머신 간 리소스 분배 및 철저한 격리를 보장하는 소프트웨어</li>
</ul>
</li>
<li>특징<ul>
<li>AWS가 물리 호스트 하드웨어와 하이퍼바이저를 완전히 관리하므로, 고객은 복잡한 인프라 관리 없이 운영체제(OS) 수준에서 인프라를 통제함</li>
</ul>
</li>
</ul>
</li>
<li>공유 테넌시 (Shared Tenancy)<ul>
<li>정의<ul>
<li>하나의 거대한 물리 서버 위에서 내 가상 서버(EC2)와 다른 고객들의 가상 서버가 이웃집처럼 함께 구동되는 방식(일반적인 멀티테넌시 형태)</li>
</ul>
</li>
</ul>
</li>
<li>전용 테넌시 (Dedicated Tenancy)<ul>
<li>정의<ul>
<li>하드웨어 수준에서 다른 고객과 섞이는 것이 싫을 때, 해당 물리 서버 전체를 우리 회사 가상 서버들만 쓰도록 통째로 임대하는 방식(싱글 테넌시에 가까운 형태)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>EC2 제어 권한 및 스케일링<ul>
<li>통제 범위<ul>
<li>Windows 또는 Linux 운영체제(OS) 선택 및 소프트웨어, 웹 애플리케이션, 데이터베이스 등의 완전 제어 및 설치 권한 보유</li>
</ul>
</li>
<li>수직적 스케일링 (Vertical Scaling)<ul>
<li>정의<ul>
<li>가동 중인 EC2 인스턴스의 리소스 한계를 넘었을 때, 해당 인스턴스의 사양(CPU, 메모리 크기 등)을 직접 더 크게 변경하는 방식 (스케일 업 / 스케일 다운)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="2-amazon-ec2-인스턴스-유형">2. amazon ec2 인스턴스 유형</h3>
<ul>
<li>인스턴스 패밀리 (Instance Families)<ul>
<li>정의<ul>
<li>특정 워크로드에 최적화하여 CPU, 메모리, 스토리지, 네트워킹 자원을 다양하게 배합한 가상 서버 규격 그룹</li>
</ul>
</li>
</ul>
</li>
<li>5가지 인스턴스 패밀리 분류 (시험 단골 주제)<ul>
<li>범용 (General Purpose)<ul>
<li>정의<ul>
<li>컴퓨팅, 메모리, 네트워킹 자원을 균등하고 균형 있게 제공하는 인스턴스</li>
</ul>
</li>
<li>적합한 태스크<ul>
<li>웹 서버, 코드 리포지토리 등. 워크로드의 자원 요구 수준을 사전에 잘 모르는 상태에서 시작할 때 권장됨</li>
</ul>
</li>
</ul>
</li>
<li>컴퓨팅 최적화 (Compute Optimized)<ul>
<li>정의<ul>
<li>강력한 프로세서(CPU) 연산 파워에 고도로 집중된 인스턴스</li>
</ul>
</li>
<li>적합한 태스크<ul>
<li>게임 서버, 고성능 컴퓨팅(HPC), 배치 작업, 기계 학습(ML) 연산, 과학 모델링</li>
</ul>
</li>
</ul>
</li>
<li>메모리 최적화 (Memory Optimized)<ul>
<li>정의<ul>
<li>대규모 데이터셋을 메모리(RAM) 위에서 빠르게 처리하기 위해 고용량 메모리를 장착한 인스턴스</li>
</ul>
</li>
<li>적합한 태스크<ul>
<li>메모리 내 데이터베이스(In-memory DB), 실시간 빅데이터 분석</li>
</ul>
</li>
</ul>
</li>
<li>가속화된 컴퓨팅 (Accelerated Computing)<ul>
<li>정의<ul>
<li>CPU 이외에 그래픽 카드(GPU)나 FPGA 등 하드웨어 가속기(보조 프로세서)를 장착하여 전용 가속 기능을 제공하는 인스턴스</li>
</ul>
</li>
<li>적합한 태스크<ul>
<li>부동 소수점 수 계산, 3D 그래픽 처리, 데이터 패턴 매칭</li>
</ul>
</li>
</ul>
</li>
<li>스토리지 최적화 (Storage Optimized)<ul>
<li>정의<ul>
<li>로컬 스토리지에 존재하는 초대형 데이터셋에 대해 매우 높은 순차적 읽기/쓰기(I/O) 성능을 보장하는 인스턴스</li>
</ul>
</li>
<li>적합한 태스크<ul>
<li>분산 파일 시스템, 데이터 웨어하우스용 고성능 스토리지, 대용량 DB</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>인스턴스 크기 선택 및 가상화 유연성<ul>
<li>특징<ul>
<li>인스턴스 크기가 커질수록 컴퓨팅 용량이 늘어나지만 비용 또한 함께 증가하므로, 비즈니스 예산과의 균형을 맞추는 것이 중요함</li>
<li>한 번 프로비저닝한 인스턴스 유형과 크기에 영구적으로 종속되지 않으며, 요구 성능에 따라 다른 규격으로 신속하게 변경 및 전환할 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="3-aws-리소스를-프로비저닝하는-방법">3. aws 리소스를 프로비저닝하는 방법</h3>
<ul>
<li>AWS API (Application Programming Interface)<ul>
<li>정의<ul>
<li>AWS 서비스와 상호 작용하는 규칙을 사전에 정의해 둔 인터페이스</li>
</ul>
</li>
<li>특징<ul>
<li>리소스 생성, 변경, 삭제 등 AWS에서 수행되는 모든 관리 작업은 백그라운드에서 <strong>API 직접 호출 (API Call)</strong>을 통해 이루어짐</li>
</ul>
</li>
</ul>
</li>
<li>AWS API 상호 작용 방법 3가지 (시험 단골 주제)<ul>
<li>AWS Management Console (AWS 관리 콘솔)<ul>
<li>정의<ul>
<li>웹 브라우저를 기반으로 마우스 클릭을 통해 리소스를 제어하는 그래픽 사용자 인터페이스 (GUI)</li>
</ul>
</li>
<li>특징<ul>
<li>시각적이고 직관적이어서 클라우드 학습 초기 단계, 테스트 환경 구축, 예산/청구서 조회, 리소스 모니터링에 매우 적합함</li>
<li>프로덕션 환경에서 대규모 리소스를 반복적으로 수동 배포할 경우, 체크 실수나 오타 등 휴먼 에러(수동 오류)가 발생할 위험이 있음</li>
</ul>
</li>
</ul>
</li>
<li>AWS CLI (Command Line Interface)<ul>
<li>정의<ul>
<li>운영체제의 터미널/명령줄을 사용하여 텍스트 기반 명령어로 AWS 서비스를 호출하는 도구</li>
</ul>
</li>
<li>특징<ul>
<li>텍스트 명령어(예: <code>aws ec2 run-instances</code>로 인스턴스 생성)를 통해 작동하므로, 셸 스크립팅 등을 이용한 <strong>자동화</strong>가 가능하여 오류 없는 예측 가능한 인프라 배포에 유리함</li>
<li>브라우저 기반의 사전 설치 터미널인 AWS CloudShell을 통해서도 간편하게 실행할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>AWS SDK (Software Development Kit)<ul>
<li>정의<ul>
<li>특정 프로그래밍 언어(Python, Java, C# 등)용 라이브러리와 API 모음집을 제공하여 코드로 AWS 리소스를 다룰 수 있게 해주는 소프트웨어 개발 키트</li>
</ul>
</li>
<li>특징<ul>
<li>사용자의 애플리케이션 소스 코드 자체에 AWS 리소스 제어(인스턴스 목록 조회, 파일 업로드 등) 기능을 내장하여 고도로 정교한 프로그래밍 제어를 구현할 때 사용됨</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>컴퓨팅 및 공동 책임 (Shared Responsibility in Computing)<ul>
<li>대전제<ul>
<li>AWS는 클라우드 자체의 보안(하드웨어, 물리 인프라, 하이퍼바이저)을 담당함</li>
<li>고객은 클라우드 내부의 보안(애플리케이션, 데이터, 액세스 제어)을 책임짐</li>
</ul>
</li>
<li>비관리형 서비스 (Unmanaged Services)의 책임 모델<ul>
<li>정의<ul>
<li>사용자가 필요한 인프라의 세부 설정, 보안 구성 및 관리 태스크를 직접 수행해야 하는 서비스</li>
</ul>
</li>
<li>Amazon EC2 인스턴스 배포 시 고객의 책임 범위<ul>
<li>가상 가상 방화벽인 보안 그룹(Security Groups) 설정</li>
<li>게스트 운영 체제(OS) 관리, 보안 패치 및 업데이트 적용</li>
<li>데이터 암호화 및 인스턴스 내 구동 소프트웨어 보안 구성</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="4-데모-amazon-ec2-인스턴스-시작">4. 데모: amazon ec2 인스턴스 시작</h3>
<ul>
<li>EC2 인스턴스 생성 시 주요 구성 요소 (시험 연계 포인트)<ul>
<li>AMI (Amazon Machine Image)<ul>
<li>정의<ul>
<li>인스턴스를 시작하는 데 필요한 운영 체제(OS)와 기본 애플리케이션 구성이 들어 있는 템플릿</li>
</ul>
</li>
<li>구성 요소<ul>
<li>운영 체제 (OS), 스토리지 설정, 하드웨어 아키텍처 유형, 인스턴스 시작 권한, 사전 설치된 추가 소프트웨어</li>
<li>단 1개의 AMI를 템플릿으로 사용하여 완전히 동일한 설정을 가진 다수의 EC2 인스턴스를 동시에 시작할 수 있음</li>
</ul>
</li>
<li>AMI를 사용하는 3가지 방법 (획득 경로)<ul>
<li>자체 AMI 생성 (사용자 지정)<ul>
<li>필요에 따라 특정 소프트웨어 및 구성을 미리 세팅하여 빌드하는 나만의 맞춤형 이미지</li>
</ul>
</li>
<li>사전 구성된 AWS AMI<ul>
<li>일반적인 운영체제 및 핵심 소프트웨어가 탑재되어 AWS에서 기본 제공하는 표준 이미지</li>
</ul>
</li>
<li>AWS Marketplace 구매<ul>
<li>특정 사용 사례에 맞추어 전문 서드 파티 공급업체가 소프트웨어를 구성하여 제공하는 인증된 이미지를 구매하여 사용</li>
</ul>
</li>
</ul>
</li>
<li>AMI의 반복성 (Repeatability)<ul>
<li>정의<ul>
<li>모든 새 인스턴스에 일관된 환경을 보장하여 재현 가능하게 만드는 특성</li>
</ul>
</li>
<li>이점<ul>
<li>개발 및 테스트 환경이 완벽히 일치하여 배포 규모 조정에 유리하고, 설정 누락 등 휴먼 에러를 대폭 줄이며, 대규모 클라우드 환경 관리가 매우 단순해짐</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>인스턴스 유형 (Instance Type)<ul>
<li>정의<ul>
<li>인스턴스에 할당할 CPU 및 메모리 사양 결정 (예: <code>t2.micro</code>는 1 vCPU, 1GB RAM 제공)</li>
</ul>
</li>
</ul>
</li>
<li>키 페어 (Key Pair)<ul>
<li>정의<ul>
<li>생성된 인스턴스에 안전하게 원격 접속하기 위한 비밀키 인증 방식</li>
</ul>
</li>
<li>특징<ul>
<li>AWS 클라우드에 삽입되는 퍼블릭 키(Public Key)와 사용자가 다운로드하여 로컬에 안전하게 보관하는 프라이빗 키(Private Key) 한 쌍으로 작동함</li>
</ul>
</li>
</ul>
</li>
<li>네트워크 설정 (Network Settings)<ul>
<li>특징<ul>
<li>인스턴스로 들어오고 나가는 네트워크 트래픽 규칙 설정 (예: 외부 인터넷 사용자의 웹 서비스 접속을 위해 HTTP 트래픽 허용 옵션 활성화)</li>
</ul>
</li>
</ul>
</li>
<li>스토리지 구성 (Configure Storage)<ul>
<li>특징<ul>
<li>인스턴스에 가상 디스크 공간을 추가하는 설정 (예: gp3 EBS 볼륨을 할당하여 저장 공간 제공)</li>
</ul>
</li>
</ul>
</li>
<li>사용자 데이터 (User Data)<ul>
<li>정의<ul>
<li>인스턴스가 최초 부팅(시작)될 때 백그라운드에서 자동으로 딱 한 번 실행되는 셸 스크립트</li>
</ul>
</li>
<li>특징<ul>
<li>부팅 시점에 소프트웨어 자동 설치 및 환경 설정 작업을 자동화할 수 있음 (예: Nginx 웹 서버 자동 설치 및 기동 스크립트 구동)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>가동 확인<ul>
<li>특징<ul>
<li>인스턴스가 실행 중(Running) 상태가 되면, 할당된 퍼블릭 IP 주소를 웹 브라우저 주소창에 입력하여 Nginx 등 가동 중인 웹 서버의 작동 여부를 즉시 검증할 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="5-amazon-ec2-요금">5. amazon ec2 요금</h3>
<ul>
<li>EC2 6가지 핵심 요금 옵션 (시험 필수 출제)<ul>
<li>온디맨드 인스턴스 (On-Demand)<ul>
<li>정의<ul>
<li>장기 약정이나 선불금 없이, 인스턴스가 실행(Running)되는 동안 사용한 컴퓨팅 용량에 대해서만 비용을 지불하는 모델</li>
</ul>
</li>
<li>특징<ul>
<li>사용 패턴의 기준치(Baseline)를 파악하지 못한 초기 단계, 단기 테스트 및 실험, 예측이 불가능한 워크로드에 가장 권장됨</li>
</ul>
</li>
</ul>
</li>
<li>절감형 플랜 (Savings Plans)<ul>
<li>정의<ul>
<li>1년 또는 3년 기간 동안 시간당 일정 수준의 컴퓨팅 사용량(예: 시간당 $10 등)을 유지하기로 약정하여 최대 72%의 비용을 절감하는 요금제</li>
</ul>
</li>
<li>특징<ul>
<li>유연성이 매우 높음. 인스턴스 패밀리, 크기, OS, 테넌시, 리전 변경에 제약을 받지 않고 EC2 할인 적용 가능</li>
<li>EC2뿐만 아니라 Fargate, Lambda, SageMaker 사용량에도 동일하게 공유하여 할인이 적용됨</li>
</ul>
</li>
</ul>
</li>
<li>예약 인스턴스 (Reserved Instances - RI)<ul>
<li>정의<ul>
<li>꾸준하고 예측 가능한 상태(Steady-state)의 워크로드에 대해 1년 또는 3년 기간으로 사용 약정을 체결하여 온디맨드 대비 최대 75% 비용을 절감하는 옵션</li>
</ul>
</li>
<li>특징<ul>
<li>3가지 결제 옵션 제공: 전액 선결제(All Upfront), 부분 선결제(Partial Upfront), 선결제 없음(No Upfront)</li>
<li>동일 인스턴스 패밀리 내에서 유연한 크기 조정 및 리전 내 여러 가용 영역(AZ)에 할인이 자동 적용됨</li>
</ul>
</li>
</ul>
</li>
<li>스팟 인스턴스 (Spot Instances)<ul>
<li>정의<ul>
<li>AWS 내부의 미사용 예비 컴퓨팅 용량을 요청하여 온디맨드 가격 대비 최대 90% 할인된 가격으로 사용하는 인스턴스</li>
</ul>
</li>
<li>특징<ul>
<li>AWS에 용량이 부족해지면 인스턴스가 언제든지 강제 회수(중단)될 수 있으며, 회수 전 2분의 경고(알림)가 제공됨</li>
<li>시스템이 중단되어도 무방한 유연한 시작/종료 일괄(배치) 처리 작업, 데이터 분석, 대규모 테스트 워크로드에 매우 적합함</li>
</ul>
</li>
</ul>
</li>
<li>전용 호스트 (Dedicated Hosts)<ul>
<li>정의<ul>
<li>고객이 독점적으로 사용할 수 있도록 완전히 분리된 실제 물리적 서버 전체를 예약하는 방식</li>
</ul>
</li>
<li>특징<ul>
<li>인스턴스의 하드웨어 물리 배치 및 리소스 할당을 직접 완벽하게 제어할 수 있음</li>
<li>기존 소프트웨어 라이선스(BYOL - Bring Your Own License, 예: Windows, SQL Server)를 그대로 유지해야 하거나, 극도로 엄격한 물리 격리 및 규정 준수 요구가 있는 경우 사용</li>
</ul>
</li>
</ul>
</li>
<li>전용 인스턴스 (Dedicated Instances)<ul>
<li>정의<ul>
<li>다른 AWS 계정 고객의 인스턴스와 물리적으로 격리된 단일 테넌트 하드웨어에서 실행되는 인스턴스</li>
</ul>
</li>
<li>특징<ul>
<li>전용 호스트와 달리 실제 물리 서버의 인스턴스 배치나 리소스 세부 할당 제어 권한은 갖지 못하지만, 계정 수준의 물리적 격리 혜택과 공유 인프라의 유연성을 동시에 가질 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Amazon EC2 용량 예약 (Capacity Reservations)<ul>
<li>정의<ul>
<li>특정 가용 영역(AZ)에서 컴퓨팅 용량을 확실하게 미리 확보해 두는 설정</li>
</ul>
</li>
<li>특징<ul>
<li>예약한 리소스를 실제로 실행하지 않고 비워두더라도 온디맨드 요금과 동일하게 요금이 청구됨</li>
<li>용량 요구 사항이 엄격하고 절대 서비스 중단이 발생하면 안 되는 중요한(비즈니스 크리티컬) 워크로드에 사용됨</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="자동-스케일링-및-로드-밸런싱">자동 스케일링 및 로드 밸런싱</h2>
<h3 id="1-amazon-ec2-스케일링">1. Amazon EC2 스케일링</h3>
<ul>
<li>확장성 (Scalability) vs 탄력성 (Elasticity)<ul>
<li>확장성 (Scalability)<ul>
<li>정의<ul>
<li>늘어난 로드를 정상 처리하기 위해 자원을 추가할 수 있는 시스템의 구조적 능력</li>
</ul>
</li>
<li>특징<ul>
<li>단기적인 스케일링보다 주로 예상되는 성장을 감당하기 위한 장기적인 용량 계획에 활용됨</li>
</ul>
</li>
</ul>
</li>
<li>탄력성 (Elasticity)<ul>
<li>정의<ul>
<li>실시간 수요의 변화에 따라 필요 리소스를 자동으로 확보하거나 불필요 리소스를 차단하는 동적 조절 기능</li>
</ul>
</li>
<li>특징<ul>
<li>피크 트래픽 타임에는 자동 증설(스케일 아웃)하고, 한적한 밤 시간 등 수요가 적어지면 자동 해제(스케일 인)하여 최상의 비용 효율성을 보장함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>수평적 스케일링 (Horizontal) vs 수직적 스케일링 (Vertical)<ul>
<li>수평적 스케일링 (스케일 아웃 / 스케일 인)<ul>
<li>정의<ul>
<li>인프라 자원 풀에 동일한 규격의 서버 인스턴스를 추가하거나 삭제하는 방식 (병렬 처리 개수를 증가시킴)</li>
</ul>
</li>
</ul>
</li>
<li>수직적 스케일링 (스케일 업 / 스케일 다운)<ul>
<li>정의<ul>
<li>구동 중인 개별 단일 가상 서버 자체의 사양(CPU 파워, 메모리 용량 등)을 높이거나 낮추는 방식</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>고가용성을 위한 다중 가용 영역(AZ) 이중화 배포<ul>
<li>특징<ul>
<li>단일 장애점(SPOF - Single Point of Failure)을 방지하기 위해, 동일 아키텍처의 중복 인스턴스들을 서로 다른 가용 영역(AZ)에 분산 배포하는 것을 모범 설계 사례로 규정함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon EC2 Auto Scaling<ul>
<li>정의<ul>
<li>서비스 수요 변화에 발맞춰 실행 중인 EC2 인스턴스의 개수를 자동으로 증감시켜 가용성을 확보하는 완전 관리형 서비스</li>
</ul>
</li>
<li>작동 조건<ul>
<li><strong>Amazon CloudWatch</strong>가 수집한 핵심 지표(CPU 사용률, 네트워크 입출력 등) 데이터를 모니터링하여 자동으로 스케일링 작업이 트리거됨</li>
</ul>
</li>
<li>2가지 조정 접근 방식 (시험 출제율 높음)<ul>
<li>동적 스케일링 (Dynamic Scaling)<ul>
<li>실시간 수요 및 트래픽 변동치(예: CPU 점유율 80% 초과)에 즉각 반응하여 자원을 늘림</li>
</ul>
</li>
<li>예측 스케일링 (Predictive Scaling)<ul>
<li>과거 데이터 패턴과 기계 학습을 통해 예상되는 트래픽 패턴을 예측하고 미리 적절한 수의 인스턴스를 선제적으로 확보함</li>
</ul>
</li>
</ul>
</li>
<li>Auto Scaling 그룹 (ASG)의 3가지 핵심 설정값 (시험 빈출)<ul>
<li>최소 용량 (Minimum Capacity)<ul>
<li>정의: 워크로드를 상시 가동하기 위해 유지해야 하는 물리적 최소 인스턴스 수. 시스템이 이 수치 이하로는 축소되지 않음</li>
</ul>
</li>
<li>원하는 용량 (Desired Capacity)<ul>
<li>정의: Auto Scaling이 최적의 상태로 가동하기 위해 목표로 삼는 이상적인 인스턴스 수. 기본적으로 최소 용량과 연동됨</li>
</ul>
</li>
<li>최대 용량 (Maximum Capacity)<ul>
<li>정의: 트래픽 폭발 시 비용 과다 지출 및 초과 스케일링을 제한하는 인스턴스 개수의 상한선 임곗값</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="2-elastic-load-balancing을-사용하여-트래픽-전달">2. Elastic Load Balancing을 사용하여 트래픽 전달</h3>
<ul>
<li>Elastic Load Balancing (ELB)<ul>
<li>정의<ul>
<li>들어오는 애플리케이션 트래픽을 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 자동으로 분산시켜 시스템 성능과 신뢰성을 최적화하는 완전 관리형 부하 분산 서비스</li>
</ul>
</li>
<li>특징<ul>
<li>외부 인터넷 트래픽(퍼블릭)뿐만 아니라 내부 백엔드 아키텍처 티어 간의 트래픽(프라이빗)도 관리할 수 있음</li>
<li>로드 밸런서 자체의 스케일링이 자동으로 수행되어, 트래픽 유동성에 탄력적으로 대응함</li>
</ul>
</li>
</ul>
</li>
<li>ELB의 핵심 이점 (시험 연계)<ul>
<li>효율적인 트래픽 분산<ul>
<li>정의<ul>
<li>여러 가용 서버들로 트래픽을 고르게 나누어 단일 서버의 오버로드를 예방하고 전반적인 리소스 사용을 극대화함</li>
</ul>
</li>
</ul>
</li>
<li>Auto Scaling과의 연동 및 고가용성 보장<ul>
<li>정의<ul>
<li>Auto Scaling 그룹과 직접 유기적으로 연동하여, 백엔드 인스턴스가 생성되거나 해제될 때 동적으로 라우팅 풀에 추가 및 제외시킴</li>
<li>사용 가능한 정상 서버(인스턴스)로만 요청을 분산하여 무중단 상태를 유지함</li>
</ul>
</li>
</ul>
</li>
<li>시스템 결합 해제 (Decoupling) 및 관리 간소화<ul>
<li>정의<ul>
<li>프런트엔드 서비스가 개별 백엔드 인스턴스의 유동적인 IP를 직접 추적할 필요 없이, ELB가 제공하는 <strong>단일 웹 URL(단일 접점)</strong>만 바라보도록 설계하여 시스템 의존성을 완전히 분리함</li>
<li>하드웨어 패치, 유지 보수, 장애 복구 등의 수동 운영 오버헤드를 경감시킵니다.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>ELB의 4가지 주요 라우팅 방법<ul>
<li>라운드 로빈 (Round Robin)<ul>
<li>정의<ul>
<li>가동 중인 사용 가능한 모든 서버에 순차적으로 트래픽을 균등하게 분산시킴</li>
</ul>
</li>
</ul>
</li>
<li>최소 연결 (Least Connections)<ul>
<li>정의<ul>
<li>현재 활성화된 세션/연결 수가 가장 적은 서버를 식별하여 새 트래픽을 라우팅함</li>
</ul>
</li>
</ul>
</li>
<li>IP 해시 (IP Hash)<ul>
<li>정의<ul>
<li>클라이언트의 IP 주소를 고유값으로 매핑하여 항상 지정된 동일 서버로 일관되게 트래픽을 보냄 (세션 유지 필요 시 유용)</li>
</ul>
</li>
</ul>
</li>
<li>최소 응답 시간 (Least Response Time)<ul>
<li>정의<ul>
<li>응답 대기 시간이 가장 신속한 서버를 찾아 트래픽을 우선 전달하여 대기 시간을 최소화함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="3-메시징-및-대기열-처리">3. 메시징 및 대기열 처리</h3>
<ul>
<li>애플리케이션 아키텍처와 결합도 (Coupling)<ul>
<li>긴밀한 결합 (Tightly Coupled) / 모놀리스 (Monolith) 아키텍처<ul>
<li>정의<ul>
<li>애플리케이션의 모든 구성 요소(데이터베이스, 웹 서버, 비즈니스 로직 등)가 서로 직접 연결되어 동기적으로 통신하는 방식</li>
</ul>
</li>
<li>단점<ul>
<li>단 하나의 구성 요소에 장애가 발생하더라도 전체 시스템이 중단되는 연쇄 실패가 발생할 위험이 큼</li>
</ul>
</li>
</ul>
</li>
<li>느슨한 결합 (Loosely Coupled) / 마이크로서비스 (Microservices) 아키텍처<ul>
<li>정의<ul>
<li>각 구성 요소가 독립된 엔터티로 분리되어 메시지 대기열이나 이벤트를 통해 비동기적으로 간접 통신하는 방식</li>
</ul>
</li>
<li>장점<ul>
<li>특정 서비스에 장애가 발생해도 버퍼(대기열)가 메시지를 안전하게 보관하므로, 전체 시스템으로 장애가 전파되지 않고 가용성과 복원력이 유지됨</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>느슨한 결합을 지원하는 3대 AWS 통신 서비스 (시험 단골 주제)<ul>
<li>Amazon SQS (Simple Queue Service)<ul>
<li>정의<ul>
<li>소프트웨어 구성 요소 간에 모든 대규모 메시지를 전송, 저장, 수신할 수 있도록 지원하는 비동기식 메시지 대기열 서비스 (Pull 방식)</li>
</ul>
</li>
<li>작동 원리<ul>
<li>보낸 쪽(송신자)이 메시지 데이터를 대기열에 담아두면, 받는 쪽(수신자)이 원할 때 대기열에서 이를 꺼내(검색) 처리한 뒤 메시지를 명시적으로 삭제함</li>
</ul>
</li>
<li>장점<ul>
<li>수신 서버가 일시적으로 가동 중단되거나 트래픽이 급증(버스트)해도 대기열에 메시지가 안전하게 보존되므로 데이터 유실을 완전 방지함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon SNS (Simple Notification Service)<ul>
<li>정의<ul>
<li>게시자-구독자(Pub-Sub) 모델을 기반으로, 하나의 주제(Topic)에 등록된 다수의 구독자들에게 알림 메시지를 즉시 전송하는 완전 관리형 서비스 (Push 방식)</li>
</ul>
</li>
<li>작동 원리<ul>
<li>게시자가 특정 메시지를 게시하면, 대기하지 않고 모바일 푸시 알림, SMS 문자, 이메일, HTTP 웹훅 또는 Lambda 함수 등의 구독자들에게 즉각 전달(팬아웃)함</li>
</ul>
</li>
<li>SQS와의 결정적 차이점<ul>
<li>SQS는 메시지가 처리될 때까지 대기열에서 수령을 기다리지만, SNS는 수령 대기 없이 즉각적인 푸시 응답 및 다중 전송을 수행함</li>
</ul>
</li>
</ul>
</li>
<li>Amazon EventBridge<ul>
<li>정의<ul>
<li>다양한 소스(자체 커스텀 앱, AWS 서비스, 서드파티 SaaS 소프트웨어)에서 발생하는 실시간 데이터를 이벤트 버스(Event Bus)를 통해 다른 타깃 애플리케이션으로 안전하게 라우팅하는 서버리스 이벤트 버스 서비스</li>
</ul>
</li>
<li>장점<ul>
<li>이벤트 기반 시스템(Event-Driven System)의 중앙 허브 역할을 하여 서비스 간 통신 흐름의 수신, 필터링, 변환, 라우팅 처리를 극도로 단순화함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Cloud Practitioner Essentials - Module 1: 클라우드 소개]]></title>
            <link>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-1-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%86%8C%EA%B0%9C</link>
            <guid>https://velog.io/@oi_24/AWS-Cloud-Practitioner-Essentials-Module-1-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%86%8C%EA%B0%9C</guid>
            <pubDate>Sat, 13 Jun 2026 15:45:11 GMT</pubDate>
            <description><![CDATA[<h1 id="module-1-클라우드-소개">Module 1: 클라우드 소개</h1>
<h2 id="aws-클라우드">aws 클라우드</h2>
<h3 id="1-클라우드-컴퓨팅-개요">1. 클라우드 컴퓨팅 개요</h3>
<ul>
<li>클라우드 컴퓨팅의 정의<ul>
<li>인터넷을 통해 IT 리소스(컴퓨팅 파워, 스토리지, 데이터베이스 등)를 온디맨드(On-Demand)로 제공하고 사용한 만큼 종량제(Pay-as-you-go) 요금으로 지불하는 모델</li>
</ul>
</li>
<li>세부 핵심 개념 (시험 빈출 포인트)<ul>
<li>온디맨드 (On-Demand)<ul>
<li>필요한 만큼 즉시 리소스를 사용하고, 불필요해지면 즉시 삭제하여 요금 청구를 중단할 수 있는 유연함</li>
</ul>
</li>
<li>인터넷을 통한 원격 액세스<ul>
<li>인터넷 연결과 웹 브라우저만 있으면 전 세계 어디서든 AWS 계정에 로그인하여 물리적 접촉 없이 인프라를 프로비저닝하고 관리할 수 있음</li>
</ul>
</li>
<li>종량제 요금 (Pay-as-you-go)<ul>
<li>약정 계약이나 복잡한 승인 절차 없이 사용하지 않는 인프라는 프로비저닝을 해제하여 비용 낭비를 방지</li>
</ul>
</li>
</ul>
</li>
<li>인프라 관리 부담 해소<ul>
<li>과거<ul>
<li>자체 데이터 센터(온프레미스)를 구축하여 하드웨어 구매, 전원, 냉각, 물리 보안 등을 직접 관리해야 했음</li>
</ul>
</li>
<li>AWS 도입 후<ul>
<li>사용자는 물리적 인프라를 관리할 필요가 없어짐. 이로 인해 반복적이고 리소스 소모적인 인프라 유지 관리 태스크에서 벗어나 팀이 비즈니스 혁신과 가치 창출에만 집중할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>클라우드 배포 모델 (Cloud Deployment Models)<ul>
<li>클라우드 기반 배포 (Cloud-Based Deployment / Public Cloud)<ul>
<li>정의<ul>
<li>모든 애플리케이션 리소스를 클라우드(예: AWS)에 구축하거나 기존 시스템을 클라우드로 마이그레이션하여 운영하는 모델</li>
</ul>
</li>
<li>특징<ul>
<li>리소스가 클라우드 서비스 제공업체의 데이터 센터에 존재하므로, 물리적 인프라 및 가상화 제어에 대한 관리 부담이 전혀 없음. 온디맨드 스케일링과 유연한 비용 구조의 이점을 극대화할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>온프레미스 배포 (On-Premises Deployment / Private Cloud)<ul>
<li>정의<ul>
<li>자체 데이터 센터 내부에서 가상화 및 자원 관리 도구(Hypervisor 등)를 활용하여 사설 인프라를 운영하는 모델</li>
</ul>
</li>
<li>특징<ul>
<li>하드웨어와 가상화 인프라를 자사가 완전히 소유하고 직접 통제하므로 규정 준수나 보안 통제력은 높지만, 시스템 구축 및 유지 보수에 필요한 모든 기술/자본 비용을 직접 부담해야 함. 탄력성과 유연한 확장은 제한적임</li>
</ul>
</li>
</ul>
</li>
<li>하이브리드 배포 (Hybrid Deployment)<ul>
<li>정의<ul>
<li>클라우드 기반 리소스와 기존 온프레미스 레거시 시스템을 네트워크(VPN, Direct Connect 등)로 결합하여 상호작용하도록 하는 모델</li>
</ul>
</li>
<li>특징<ul>
<li>두 배포 방식의 이점을 결합. 예컨대 규정 준수와 데이터 보안이 중요한 레거시 데이터베이스는 온프레미스에 유지하고, 트래픽 유동성이 심한 프런트엔드 애플리케이션은 퍼블릭 클라우드에 배포하여 리소스를 유연하게 연동함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="2-aws-클라우드의-이점">2. aws 클라우드의 이점</h3>
<ul>
<li>고정 비용을 가변 비용으로 대체 (Trade upfront expense for variable expense)<ul>
<li>정의<ul>
<li>전통적인 온프레미스는 서버, 공간, 유지 관리 등 대규모 선행 투자(고정 비용)가 필요하며 자원 사용률과 관계없이 비용이 나감</li>
</ul>
</li>
<li>특징<ul>
<li>AWS는 대대적인 투자 없이 소규모로 시작할 수 있고, 매달 실제 사용한 만큼만 지불(가변 비용)하여 유연하게 예산을 절감함</li>
</ul>
</li>
</ul>
</li>
<li>거대한 규모의 경제로 이익 달성 (Benefit from massive economies of scale)<ul>
<li>정의<ul>
<li>AWS가 전 세계 수백만 고객의 자원을 위해 대량의 하드웨어를 대규모로 구매하므로 단가가 낮아짐</li>
</ul>
</li>
<li>특징<ul>
<li>하드웨어 단가 절감 효과는 고객에게 더 저렴한 가격(종량제 요금 절감)의 혜택으로 직접 환원됨</li>
</ul>
</li>
</ul>
</li>
<li>용량 추정 불필요 (Stop guessing capacity)<ul>
<li>정의<ul>
<li>온프레미스는 향후 예상치를 예측하여 과도한 용량의 하드웨어를 선구매(낭비 우려)하거나, 과소 예측 시 서버 부족으로 서비스 장애 및 고객 이탈을 겪음</li>
</ul>
</li>
<li>특징<ul>
<li>AWS는 예측이 필요 없으며, 필요할 때 즉시 리소스를 프로비저닝하고 스케일링 메커니즘을 사용해 몇 분 만에 자원을 늘리거나 줄일 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>속도 및 민첩성 향상 (Increase speed and agility)<ul>
<li>정의<ul>
<li>테스트 환경을 즉각 가동하여 새로운 혁신을 위한 실험을 수행할 수 있음</li>
</ul>
</li>
<li>특징<ul>
<li>시도가 실패하면 해당 자원을 즉시 삭제하고 비용 발생을 멈출 수 있어, 인프라 획득 시간을 획기적으로 단축하고 개발 생산성을 높임</li>
</ul>
</li>
</ul>
</li>
<li>데이터 센터 운영 및 유지 관리 비용 투자 불필요 (Stop spending money running and maintaining data centers)<ul>
<li>정의<ul>
<li>데이터 센터의 서버 랙 장착, 전원 공급, 냉각 유지 등 물리적인 하드웨어 유지 보수는 모두 AWS가 전담함</li>
</ul>
</li>
<li>특징<ul>
<li>기업은 비즈니스 가치와 직접적인 관련이 없는 기계적이고 물리적인 데이터 센터 관리에 시간과 인력을 허비하지 않고 자사 비즈니스에만 집중 가능</li>
</ul>
</li>
</ul>
</li>
<li>몇 분 만에 전 세계에 배포 (Go global in minutes)<ul>
<li>정의<ul>
<li>해외 진출 시 현지 데이터 센터를 구축할 필요 없이, 전 세계의 AWS 리전에 즉시 애플리케이션을 배포 가능</li>
</ul>
</li>
<li>특징<ul>
<li>수개월~수년이 걸리던 전 세계 서비스 확장을 단 몇 분 만에 낮은 대기 시간(Latency)으로 실현함</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="3-aws-글로벌-인프라-소개">3. aws 글로벌 인프라 소개</h3>
<ul>
<li>고가용성 및 내결함성의 정의<ul>
<li>고가용성 (High Availability)<ul>
<li>정의<ul>
<li>가동 중지 시간을 최소화하면서 시스템 및 애플리케이션에 계속 액세스할 수 있도록 보장하는 설계 방식</li>
</ul>
</li>
<li>특징<ul>
<li>단일 구성 요소의 실패(장애) 시 다른 구성 요소가 자동으로 그 역할을 대신하여 서비스를 유지함</li>
</ul>
</li>
</ul>
</li>
<li>내결함성 (Fault Tolerance)<ul>
<li>정의<ul>
<li>시스템의 일부 구성 요소가 여러 개 실패하더라도 데이터 손실이나 서비스 중단 없이 완전히 정상 작동할 수 있도록 아키텍처에 복원력을 구축하는 수준</li>
</ul>
</li>
<li>특징<ul>
<li>단일 실패 지점(SPOF)을 제거하기 위해 이중화(Redundancy)를 극대화하는 방식</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>AWS 글로벌 인프라 구성 요소<ul>
<li>리전 (Regions)<ul>
<li>정의<ul>
<li>전 세계 여러 지리적 영역에 독립적으로 분산되어 있는 물리적인 인프라 위치 그룹</li>
</ul>
</li>
<li>특징<ul>
<li>전 세계 고객과 가깝게 배치하여 네트워크 대기 시간(Latency)을 낮춤</li>
<li>기업은 극단적인 재난 대처를 위해 여러 리전에 인프라를 분산하여 다른 리전으로 장애 조치(Failover)를 수행할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>가용 영역 (Availability Zones - AZ)<ul>
<li>정의<ul>
<li>하나의 AWS 리전 내에서 지리적으로 분리되고 격리된 데이터 센터의 클러스터(위치 그룹)</li>
</ul>
</li>
<li>특징<ul>
<li>각 리전은 가동 중지 대비 및 고가용성(이중화)을 위해 최소 3개 이상의 AZ를 포함함</li>
<li>한 AZ의 자연재해나 정전이 다른 AZ에 영향을 주지 않도록 충분한 물리적 거리를 두고 설계됨</li>
</ul>
</li>
</ul>
</li>
<li>데이터 센터 (Data Centers)<ul>
<li>정의<ul>
<li>서버와 네트워크 하드웨어가 설치된 개별적인 물리 건물</li>
</ul>
</li>
<li>특징<ul>
<li>각 가용 영역(AZ)은 하나 이상의 독립된 데이터 센터로 구성됨</li>
<li>각 데이터 센터는 중복된 전력(발전기 등), 냉각 시설, 그리고 물리 및 네트워크 연결망을 보유함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="4-aws-공동-책임-모델">4. aws 공동 책임 모델</h3>
<ul>
<li>모델의 기본 개념<ul>
<li>정의<ul>
<li>AWS와 고객이 클라우드 환경의 보안을 보장하기 위해 각자의 역할을 분담하는 책임 모델</li>
</ul>
</li>
<li>대전제<ul>
<li>AWS의 책임<ul>
<li>클라우드 자체의 보안 (Security OF the Cloud)</li>
</ul>
</li>
<li>고객의 책임<ul>
<li>클라우드 내부의 보안 (Security IN the Cloud)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>AWS의 책임 영역 (Security OF the Cloud)<ul>
<li>물리적 인프라 계층<ul>
<li>정의<ul>
<li>실제 하드웨어 서버, 데이터 센터 건물, 물리적 진입 보안 조치 및 하드웨어 액세스 제어</li>
</ul>
</li>
</ul>
</li>
<li>글로벌 인프라 및 네트워크 계층<ul>
<li>정의<ul>
<li>전 세계 리전, 가용 영역, 엣지 로케이션에 구축된 네트워크 장비 및 케이블링 제어</li>
</ul>
</li>
</ul>
</li>
<li>가상화 하이퍼바이저 계층<ul>
<li>정의<ul>
<li>물리적 서버 위에 격리된 가상 환경을 생성하여 각 고객의 워크로드를 안전하게 분리하는 소프트웨어 계층</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>고객의 책임 영역 (Security IN the Cloud)<ul>
<li>게스트 운영 체제 (OS)<ul>
<li>정의<ul>
<li>인스턴스에 탑재되는 운영 체제에 대한 관리 및 암호화 키 소유권</li>
</ul>
</li>
<li>특징<ul>
<li>AWS는 고객 OS에 진입할 수 있는 백도어나 키가 없으므로, OS의 보안 패치 적용 및 취약점 조치 책임은 100% 고객에게 있음</li>
</ul>
</li>
</ul>
</li>
<li>애플리케이션 및 플랫폼 보안<ul>
<li>정의<ul>
<li>고객이 직접 탑재하여 실행하는 웹 앱, 비즈니스 로직, 타사 소프트웨어 보안</li>
</ul>
</li>
</ul>
</li>
<li>데이터 관리 및 접근 제어<ul>
<li>정의<ul>
<li>저장되는 데이터(소비자 정보, 금융/의료 데이터 등)의 외부 공개 범위 제어와 권한 설정</li>
</ul>
</li>
<li>특징<ul>
<li>데이터 암호화 설정 및 해독 키(KMS) 관리, IAM을 통한 계정 액세스 권한 제어는 전적으로 고객의 몫임</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="실제-환경에서의-클라우드">실제 환경에서의 클라우드</h2>
<h3 id="1-클라우드-개념을-실제-사용-사례에-적용">1. 클라우드 개념을 실제 사용 사례에 적용</h3>
<ul>
<li>글로벌 인프라 활용 (예: 글로벌 전자 상거래 회사)<ul>
<li>지연 시간 (Latency) 최적화<ul>
<li>특징<ul>
<li>인프라와 사용자의 물리적 거리가 멀어질수록 지연 시간이 길어짐</li>
<li>아일랜드(eu-west-1) 또는 싱가포르(ap-southeast-1) 등 고객의 주요 기반에 가장 가까운 리전을 선택해 배포하여 성능을 극대화함</li>
</ul>
</li>
</ul>
</li>
<li>초기 투자 배제 및 스타트업 경쟁력 확보<ul>
<li>특징<ul>
<li>대규모 사전 투자금 없이 즉시 글로벌 급 인프라를 확장하여, 소규모 기업이나 스타트업도 대기업과 대등하게 글로벌 비즈니스를 수행할 수 있음</li>
</ul>
</li>
</ul>
</li>
<li>고가용성 및 복원력 설계<ul>
<li>특징<ul>
<li>최소 2개 이상의 가용 영역(AZ)에 완전히 동일한 환경을 배포함</li>
<li>한 AZ에 장애가 나도 즉시 다른 AZ로 장애 조치(Failover)를 수행하여 중단 없는 서비스를 유지함</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>공동 책임 모델 활용<ul>
<li>보안 및 규정 준수 집중화<ul>
<li>특징<ul>
<li>기업은 물리 데이터 센터의 자물쇠 관리나 하드웨어 폐기 등 클라우드 자체의 보안을 직접 결정할 필요가 없음</li>
<li>대신 결제 시스템의 신용카드 데이터 보안, 고객 접근 권한 제어 등 비즈니스에 직접적으로 중요한 고차원적인 보안(클라우드 내부의 보안)에 인력을 집중할 수 있음</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Git Submodule에 대해 알아보자]]></title>
            <link>https://velog.io/@oi_24/Git-Submodule%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90</link>
            <guid>https://velog.io/@oi_24/Git-Submodule%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90</guid>
            <pubDate>Mon, 01 Jun 2026 00:43:22 GMT</pubDate>
            <description><![CDATA[<h2 id="git-submodule이란">Git Submodule이란?</h2>
<ul>
<li>하나의 Git 저장소 안에 다른 Git 저장소를 하위 디렉토리로 포함시켜 관리하는 기능임</li>
<li>메인 프로젝트에서 공통 라이브러리나 외부 모듈을 독립적으로 관리하고 싶을 때 사용함</li>
</ul>
<h2 id="왜-쓰는가">왜 쓰는가?</h2>
<ul>
<li><strong>공통 코드 관리</strong>: 여러 프로젝트에서 똑같이 사용하는 모듈이 있을 때, 매번 복사해서 붙여넣는 대신 서브모듈로 등록해서 코드 중복을 피할 수 있음</li>
<li><strong>독립적인 버전 관리</strong>: 서브모듈은 특정 커밋 해시를 가리킴. 서브모듈 원격 저장소에 새로운 커밋이 올라가도 메인 프로젝트가 자동으로 영향을 받지 않음. 원하는 시점에 직접 업데이트를 결정할 수 있어 안전함</li>
<li><strong>권한 분리</strong>: 메인 프로젝트 개발자와 서브모듈 개발자의 접근 권한을 다르게 설정할 수 있음</li>
</ul>
<h2 id="핵심-명령어-정리">핵심 명령어 정리</h2>
<h3 id="1-서브모듈-추가하기">1. 서브모듈 추가하기</h3>
<pre><code class="language-bash">git submodule add &lt;서브모듈_저장소_URL&gt; &lt;로컬_디렉토리_경로&gt;</code></pre>
<ul>
<li>명령어를 실행하면 메인 저장소 루트에 <code>.gitmodules</code> 파일이 생성됨</li>
<li>해당 파일에 서브모듈의 경로와 URL 정보가 기록되며, 메인 프로젝트는 서브모듈의 특정 커밋 해시를 가리키게 됨</li>
</ul>
<h3 id="2-서브모듈이-포함된-프로젝트-클론하기">2. 서브모듈이 포함된 프로젝트 클론하기</h3>
<ul>
<li>단순히 <code>git clone &lt;메인_저장소_URL&gt;</code>만 하면 서브모듈 디렉토리는 빈 폴더로만 나타남</li>
<li>서브모듈의 실제 소스코드까지 정상적으로 가져오려면 아래 두 가지 방법 중 하나를 선택해야 함</li>
</ul>
<p><strong>방법 A: 클론할 때 한 번에 가져오기</strong></p>
<pre><code class="language-bash">git clone --recursive &lt;메인_저장소_URL&gt;</code></pre>
<p><strong>방법 B: 이미 메인 프로젝트를 클론한 상태에서 가져오기</strong></p>
<pre><code class="language-bash">git submodule init
git submodule update
# 또는 한 줄로 해결
git submodule update --init --recursive</code></pre>
<h3 id="3-서브모듈-업데이트하기">3. 서브모듈 업데이트하기</h3>
<ul>
<li>서브모듈 원격 저장소의 최신 커밋을 가져와서 업데이트하고 싶을 때 사용함<pre><code class="language-bash">git submodule update --remote</code></pre>
</li>
</ul>
<h3 id="4-서브모듈-변경사항-저장하고-푸시하기">4. 서브모듈 변경사항 저장하고 푸시하기</h3>
<ul>
<li>서브모듈 디렉토리 내부에서 코드를 직접 수정한 경우의 프로세스임</li>
</ul>
<ol>
<li>서브모듈 디렉토리로 이동하여 변경사항을 커밋하고 서브모듈 원격 저장소에 푸시함</li>
<li>메인 프로젝트 디렉토리로 돌아와서 서브모듈의 변경된 커밋 해시 상태를 확인하고 메인 프로젝트 저장소에도 커밋 및 푸시를 진행함</li>
</ol>
<ul>
<li>메인 저장소에만 푸시하고 서브모듈 푸시를 깜빡하면 다른 팀원들이 코드를 당겨올 때 에러가 발생하므로 주의해야 함</li>
</ul>
<h2 id="주의할-점과-단점">주의할 점과 단점</h2>
<ul>
<li><strong>커밋 해시 기반 관리</strong>: 메인 프로젝트는 서브모듈 내부 파일의 세부 변경 사항을 직접 관리하지 않고 특정 &#39;커밋 해시&#39;만 기록함. 이 구조를 이해하지 못하면 협업할 때 꼬이기 쉬움</li>
<li><strong>싱크 맞추기 귀찮음</strong>: 팀원이 서브모듈 업데이트를 푸시한 경우, 다른 팀원들은 단순히 <code>git pull</code>만 해서는 안 되고 <code>git submodule update</code>를 추가로 실행해 주어야 함. 주기적으로 명령어를 쳐야 해서 번거로움</li>
<li><strong>히스토리 추적의 한계</strong>: 메인 프로젝트 커밋 로그만 봐서는 서브모듈 내부에서 정확히 어떤 코드가 어떻게 바뀌었는지 파악하기 어려움</li>
</ul>
<h2 id="한-줄-요약">한 줄 요약</h2>
<ul>
<li>여러 프로젝트에서 공통으로 쓰는 핵심 모듈을 분리해서 깔끔하게 관리하고 싶다면 귀찮음을 감수하고 도입할 가치가 충분함. 단, 협업 시 팀원들과 서브모듈 동기화 규칙을 확실히 정해두어야 삽질을 막을 수 있음</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[이슈 트래커만 쓰면 AI가 코드를 짜는 도구를 만들었음]]></title>
            <link>https://velog.io/@oi_24/%EC%9D%B4%EC%8A%88-%ED%8A%B8%EB%9E%98%EC%BB%A4%EB%A7%8C-%EC%93%B0%EB%A9%B4-AI%EA%B0%80-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%A7%9C%EB%8A%94-%EB%8F%84%EA%B5%AC%EB%A5%BC-%EB%A7%8C%EB%93%A4%EC%97%88%EC%9D%8C</link>
            <guid>https://velog.io/@oi_24/%EC%9D%B4%EC%8A%88-%ED%8A%B8%EB%9E%98%EC%BB%A4%EB%A7%8C-%EC%93%B0%EB%A9%B4-AI%EA%B0%80-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%A7%9C%EB%8A%94-%EB%8F%84%EA%B5%AC%EB%A5%BC-%EB%A7%8C%EB%93%A4%EC%97%88%EC%9D%8C</guid>
            <pubDate>Wed, 27 May 2026 01:58:34 GMT</pubDate>
            <description><![CDATA[<h1 id="전통적인-개발자의-역할이-바뀌고-있음">전통적인 개발자의 역할이 바뀌고 있음</h1>
<p>개발자의 역할이 바뀌고 있다고 생각함.</p>
<p>지금까지 개발자는 이슈를 읽고, 분석하고, 구현하고, 검증하는 전 과정을 직접 담당했음.
dev-nobiya는 이슈 확인부터 구현, 검증까지 Claude AI가 처리하고,
개발자는 최종 검토만 함.</p>
<p>이제 개발자는 짜는 사람이 아니라 보는 사람임.</p>
<hr>
<h2 id="dev-nobiya가-뭔데">dev-nobiya가 뭔데</h2>
<p>이슈 트래커에 구현 명세를 작성하고 <code>dev-nobiya run</code>만 실행하면,
브랜치 생성부터 구현, 코드 리뷰, push, 이슈 상태 업데이트까지 자동으로 처리됨.</p>
<pre><code class="language-bash">npm install -g dev-nobiya@beta
cd your-project
dev-nobiya setup   # 이슈 트래커 연동 (대화형)
dev-nobiya run     # 실행</code></pre>
<p>Linear, GitHub Issues, Jira 세 가지를 지원하고,
현재 npm에 베타 버전으로 배포되어 있음.</p>
<hr>
<h2 id="파이프라인이-어떻게-돌아가냐">파이프라인이 어떻게 돌아가냐</h2>
<pre><code>이슈 등록 (Todo 상태)
    ↓
브랜치 자동 생성 + 이슈 → In Progress
    ↓
플래닝: Claude가 work-plan.md 작성 → 검증 → 재플래닝  (최대 3회)
    ↓
구현: 태스크 순서대로 구현 → 자기검증 → 재구현  (최대 3회)
    ↓
코드 리뷰: 전체 diff 검토 → PASS/WARN/FAIL → 보완 후 재리뷰  (최대 5회)
    ↓
브랜치 push + 이슈 → Done + 알림 발송</code></pre><p>모든 단계에 사이클 상한선이 있어서 AI가 루프에 갇히는 일이 설계상 발생하지 않음.</p>
<h3 id="설계-포인트-플래너와-검증자를-분리함">설계 포인트: 플래너와 검증자를 분리함</h3>
<p>플래닝을 작성하는 Claude 세션과 그 플랜을 검증하는 Claude 세션이 분리되어 있음.
같은 세션이 스스로 검증하면 자기 결과물에 관대해지기 때문에,
독립된 세션이 &quot;이 플랜이 요구사항을 제대로 반영했나&quot;를 다시 확인함.</p>
<hr>
<h2 id="실제로-어떻게-쓰이냐">실제로 어떻게 쓰이냐</h2>
<p>예를 들어 운영자가 Jira에 이런 이슈를 올렸다고 하면:</p>
<blockquote>
<p>&quot;메인 페이지 상단에 있는 dev-nobiya 로고 글자가 좀 작아 보입니다. 조금 더 크게 키워주시면 좋겠습니다.&quot;</p>
</blockquote>
<p>개발자는 이걸 보고 구현 명세로 변환해서 별도 이슈를 등록함:</p>
<blockquote>
<p><code>views/index.ejs</code>에서 네비게이션 상단의 dev-nobiya 로고 텍스트 폰트 크기를 현재보다 10px 증가시킴.
완료 조건: 로고 텍스트가 기존보다 10px 크게 표시됨, 다른 레이아웃에 영향 없음.</p>
</blockquote>
<p>이 상태에서 <code>dev-nobiya run</code>을 실행하면:</p>
<ol>
<li>이슈 ID 기반으로 브랜치가 자동 생성됨</li>
<li>Claude가 이슈를 읽고 <code>work-plan.md</code>를 작성함</li>
<li><code>views/index.ejs</code>의 로고 클래스를 수정함</li>
<li>코드 리뷰 세션이 diff를 검토하고 PASS 판정을 내림</li>
<li>브랜치가 원격으로 push되고 이슈 상태가 Done으로 바뀜</li>
</ol>
<p>코드는 한 줄도 직접 건드리지 않았음.</p>
<hr>
<h2 id="파이프라인-외에-붙어있는-것들">파이프라인 외에 붙어있는 것들</h2>
<p><strong>멀티 이슈트래커</strong>
Linear, GitHub Issues, Jira를 모두 지원함.
어느 트래커를 쓰든 <code>dev-nobiya run</code> 명령어 하나로 동작함.</p>
<p><strong>한국어 / 영어</strong>
<code>dev-nobiya setup</code> 실행 시 언어를 선택할 수 있음.</p>
<p><strong>실시간 알림 (Discord / Slack)</strong>
단순히 &quot;완료됐습니다&quot; 수준이 아님.
어떻게 구현했는지, 리뷰에서 어떤 문제가 발견됐는지,
왜 PASS 또는 FAIL 판정이 났는지까지 구체적인 내용이 메시지로 옴.
터미널을 켜놓고 기다릴 필요 없이 알림만 보고 AI가 지금 어디서 무엇을 하는지 파악할 수 있음.</p>
<hr>
<h2 id="만들면서-배운-것">만들면서 배운 것</h2>
<h3 id="claude-code를-api가-아닌-cli로-쓴-이유">Claude Code를 API가 아닌 CLI로 쓴 이유</h3>
<p>처음에는 Anthropic API를 직접 호출하는 방식을 고려했음.
그런데 API는 파일 읽기/쓰기, 터미널 실행, 코드베이스 탐색 같은 도구 호출을 직접 구현해야 함.
Claude Code CLI는 그 도구들이 이미 내장되어 있고, <code>claude --print</code> 옵션으로 비대화형 실행이 가능함.
별도 API 키 없이 Claude Code 구독만으로 동작하는 것도 장점임.</p>
<h3 id="세션-분리가-품질을-높임">세션 분리가 품질을 높임</h3>
<p>하나의 긴 세션이 전부 처리하는 것보다, 역할을 명확히 나눈 짧은 세션 여러 개가 더 나은 결과를 냄.
플래너, 검증자, 구현자, 리뷰어가 각자 독립된 컨텍스트에서 판단하게 하면
이전 단계의 편향이나 실수를 다음 단계가 잡아낼 수 있음.</p>
<h3 id="루프에는-반드시-상한이-필요함">루프에는 반드시 상한이 필요함</h3>
<p>AI 세션을 루프로 돌릴 때 탈출 조건만 있으면 이론적으로 무한 루프에 빠질 수 있음.
플래닝 3회, 구현 3회, 리뷰 5회로 사이클 상한을 박아두고,
상한에 도달하면 현재 상태를 기준으로 무조건 다음 단계로 넘기는 구조가 필요함.</p>
<hr>
<h2 id="마치며">마치며</h2>
<p>현재 로컬 환경 전용 베타 버전임. 별도 서버나 인프라는 필요 없음.</p>
<p>앞으로 추가하고 싶은 것들이 있음. 원격 실행, 웹 대시보드, 더 많은 이슈트래커 지원 등.
그런데 지금 당장 가장 필요한 건 실제로 써본 사람들의 피드백임.</p>
<p>써보고 불편한 점, 안 되는 케이스, 궁금한 점 GitHub Issues에 남겨주면 반영하겠음.</p>
<p><strong>GitHub</strong>: <a href="https://github.com/csw9261/dev-nobiya">https://github.com/csw9261/dev-nobiya</a>
<strong>npm</strong>: <code>npm install -g dev-nobiya@beta</code></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[npm publish(CLI 패키지 배포)]]></title>
            <link>https://velog.io/@oi_24/npm-publishCLI-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%B0%B0%ED%8F%AC</link>
            <guid>https://velog.io/@oi_24/npm-publishCLI-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%B0%B0%ED%8F%AC</guid>
            <pubDate>Wed, 20 May 2026 05:57:44 GMT</pubDate>
            <description><![CDATA[<h2 id="1-packagejson-필수-항목-세팅">1. package.json 필수 항목 세팅</h2>
<p>npm에 배포하기 전에 <code>package.json</code>을 제대로 채워야 함. 빠뜨리면 npm 페이지가 허전하거나 검색에 안 잡힘.</p>
<pre><code class="language-json">{
  &quot;name&quot;: &quot;패키지명&quot;,
  &quot;version&quot;: &quot;0.1.0-beta.1&quot;,
  &quot;description&quot;: &quot;패키지 설명 (영어 권장)&quot;,
  &quot;license&quot;: &quot;MIT&quot;,
  &quot;author&quot;: &quot;깃헙유저명&quot;,
  &quot;homepage&quot;: &quot;https://github.com/유저명/레포명&quot;,
  &quot;repository&quot;: {
    &quot;type&quot;: &quot;git&quot;,
    &quot;url&quot;: &quot;https://github.com/유저명/레포명.git&quot;
  },
  &quot;bugs&quot;: {
    &quot;url&quot;: &quot;https://github.com/유저명/레포명/issues&quot;
  },
  &quot;keywords&quot;: [&quot;키워드1&quot;, &quot;키워드2&quot;],
  &quot;files&quot;: [&quot;dist/&quot;, &quot;prompts/&quot;],
  &quot;bin&quot;: {
    &quot;명령어명&quot;: &quot;./dist/index.js&quot;
  }
}</code></pre>
<p><strong>각 항목 설명:</strong></p>
<ul>
<li><code>keywords</code> — npm 검색 노출에 직결됨. 핵심 키워드 10개 이내로</li>
<li><code>files</code> — npm에 올라갈 파일/디렉토리만 명시. <code>src/</code>, <code>node_modules/</code> 등은 제외</li>
<li><code>bin</code> — CLI 툴이라면 필수. <code>명령어명</code>으로 터미널에서 실행 가능해짐</li>
</ul>
<hr>
<h2 id="2-버전-관리-semver">2. 버전 관리 (semver)</h2>
<p>npm은 <code>major.minor.patch</code> 형식의 semver를 따름.</p>
<table>
<thead>
<tr>
<th>버전 올리는 시점</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td>patch — 버그 수정</td>
<td>0.1.0 → 0.1.1</td>
</tr>
<tr>
<td>minor — 기능 추가 (하위 호환)</td>
<td>0.1.0 → 0.2.0</td>
</tr>
<tr>
<td>major — 하위 호환 깨지는 변경</td>
<td>0.1.0 → 1.0.0</td>
</tr>
</tbody></table>
<p>베타 배포 시엔 프리릴리즈 태그를 붙임:</p>
<pre><code>0.1.0-beta.1
0.1.0-beta.2</code></pre><hr>
<h2 id="3-prepublishonly-스크립트-추가">3. prepublishOnly 스크립트 추가</h2>
<p>TypeScript 프로젝트라면 publish 전에 빌드가 자동으로 돌도록 설정해두는 게 좋음. 빌드 까먹고 올리는 실수 방지.</p>
<pre><code class="language-json">&quot;scripts&quot;: {
  &quot;build&quot;: &quot;tsc&quot;,
  &quot;prepublishOnly&quot;: &quot;npm run build&quot;
}</code></pre>
<hr>
<h2 id="4-gitignore-vs-npm-배포-파일">4. .gitignore vs npm 배포 파일</h2>
<p><code>.gitignore</code>와 npm에 올라가는 파일은 별개임.</p>
<ul>
<li><strong>GitHub</strong>에 올라가는 것 → git이 추적하는 파일 전체</li>
<li><strong>npm</strong>에 올라가는 것 → <code>package.json</code>의 <code>files</code> 필드에 명시한 것만</li>
</ul>
<p>즉 <code>src/</code>를 GitHub에 공개하면서 npm엔 <code>dist/</code>만 올리는 구조가 가능함.</p>
<p>배포 전 확인:</p>
<pre><code class="language-bash">npm pack --dry-run  # 실제로 올라갈 파일 목록 미리 확인</code></pre>
<hr>
<h2 id="5-npm-계정-및-2fa-설정">5. npm 계정 및 2FA 설정</h2>
<pre><code class="language-bash">npm login  # 로그인
npm whoami  # 로그인 상태 확인</code></pre>
<p>2FA가 활성화된 계정이라면 publish 시 인증이 필요함. npmjs.com에서 <strong>Granular Access Token</strong>을 발급받아 사용하면 편함:</p>
<ol>
<li>npmjs.com → 프로필 → Access Tokens</li>
<li>Generate New Token → Granular Access Token</li>
<li>bypass two-factor authentication 체크</li>
<li>토큰 복사</li>
</ol>
<p>publish 시 토큰 사용:</p>
<pre><code class="language-bash">npm publish --tag beta --//registry.npmjs.org/:_authToken=&lt;토큰&gt;</code></pre>
<hr>
<h2 id="6-베타-배포">6. 베타 배포</h2>
<p><code>--tag beta</code>를 붙이면 <code>@beta</code> 없이는 설치가 안 됨. 일반 사용자가 실수로 불안정한 버전을 설치하는 걸 방지.</p>
<pre><code class="language-bash">npm publish --tag beta</code></pre>
<p>설치:</p>
<pre><code class="language-bash">npm install -g 패키지명@beta   # beta 태그
npm install -g 패키지명        # stable (태그 없음)</code></pre>
<hr>
<h2 id="7-패치-배포-업데이트">7. 패치 배포 (업데이트)</h2>
<p>코드 수정 후 배포할 때는 버전을 올리고 다시 publish:</p>
<pre><code class="language-bash"># package.json version 수정 후
npm publish --tag beta</code></pre>
<p>같은 버전으로 재배포는 불가. 반드시 버전을 올려야 함.</p>
<hr>
<h2 id="8-배포-취소">8. 배포 취소</h2>
<ul>
<li><strong>72시간 이내</strong> → <code>npm unpublish 패키지명@버전</code> 으로 완전 삭제 가능</li>
<li><strong>72시간 이후</strong> → 삭제 불가, deprecated 처리만 가능</li>
</ul>
<pre><code class="language-bash">npm deprecate 패키지명@버전 &quot;This version is no longer maintained.&quot;</code></pre>
<hr>
<h2 id="마치며">마치며</h2>
<p>처음엔 복잡해 보이지만 한 번 해보면 별거 없음. 핵심은:</p>
<ol>
<li><code>package.json</code> 꼼꼼히 채우기</li>
<li><code>files</code> 필드로 올라갈 파일 제어하기</li>
<li>베타는 <code>--tag beta</code>로 안전하게 배포</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[터미널 Claude Code vs 앱 Claude Code 탭]]></title>
            <link>https://velog.io/@oi_24/Claude-Code-CLI-vs-Claude.ai-%EC%95%B1%EC%9D%98-%EA%B7%9C%EC%B9%99%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@oi_24/Claude-Code-CLI-vs-Claude.ai-%EC%95%B1%EC%9D%98-%EA%B7%9C%EC%B9%99%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Wed, 20 May 2026 01:30:51 GMT</pubDate>
            <description><![CDATA[<p>Claude Code를 두 가지 방식으로 쓸 수 있음. <strong>터미널에서 <code>claude</code> 명령으로 실행</strong>하거나, <strong>Claude 데스크탑 앱의 Claude Code 탭</strong>에서 GUI로 실행하거나. 처음에는 둘이 완전히 다른 도구라고 생각했는데, 실제로 디스크 구조를 까보니 <strong>같은 엔진이 다른 UI로 실행되는 것</strong>에 가까웠음. 정리해서 공유함.</p>
<h2 id="1-결론부터--거의-같은-도구임">1. 결론부터 — 거의 같은 도구임</h2>
<p>두 환경은 <strong>같은 Claude Code 엔진</strong>을 공유함. 버전만 약간 다를 수 있음(앱은 번들된 버전, 터미널은 별도 설치).</p>
<p>확인 방법:</p>
<pre><code class="language-bash"># 터미널 버전
which claude
# /Users/choi/.local/bin/claude
claude --version
# 2.1.145 (Claude Code)

# 앱이 번들한 Claude Code
ls ~/Library/Application\ Support/Claude/claude-code/
# 2.1.142  ← 앱 안에 Claude Code가 통째로 들어 있음</code></pre>
<p>즉 <strong>앱은 Claude Code를 내장</strong>해서 GUI로 감싸 보여줄 뿐이고, 본질은 같음.</p>
<h2 id="2-무엇이-같은가--claude-디렉토리-공유">2. 무엇이 같은가 — <code>~/.claude/</code> 디렉토리 공유</h2>
<p>가장 중요한 부분. <strong>두 환경 모두 <code>~/.claude/</code> 를 똑같이 읽고 씀.</strong> 한쪽에서 만든 설정이 다른 쪽에 그대로 적용됨.</p>
<pre><code>~/.claude/
├── CLAUDE.md                ← 전역 규칙 (양쪽 동일하게 로드)
├── settings.json            ← 설정 (양쪽 공유)
├── projects/
│   └── -Users-choi-Developer-dev-nobiya/
│       └── memory/          ← 자동 메모리 (양쪽 공유)
├── plugins/                 ← 플러그인
└── sessions/                ← 터미널 세션</code></pre><p>따라서 다음은 <strong>양쪽에서 동일하게 동작</strong>함:</p>
<ul>
<li><code>~/.claude/CLAUDE.md</code> (전역 규칙)</li>
<li>프로젝트 루트의 <code>CLAUDE.md</code> (프로젝트 규칙)</li>
<li>자동 메모리 (<code>~/.claude/projects/{경로}/memory/</code>)</li>
<li>Skills, Hooks, MCP 서버 설정</li>
<li>권한 / 환경변수 / 슬래시 커맨드</li>
</ul>
<p>즉 <strong>터미널에서 정한 규칙을 앱에서도 그대로 쓸 수 있고</strong>, 반대도 마찬가지임. 메모리도 한쪽에서 쌓이면 다른 쪽에서 자동으로 로드됨.</p>
<h2 id="3-무엇이-다른가">3. 무엇이 다른가</h2>
<h3 id="ui--렌더링">UI / 렌더링</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>터미널</th>
<th>앱</th>
</tr>
</thead>
<tbody><tr>
<td>화면</td>
<td>텍스트 (ANSI)</td>
<td>GUI (네이티브 윈도우)</td>
</tr>
<tr>
<td>파일 트리</td>
<td>X (명령어로 ls)</td>
<td>O (사이드바)</td>
</tr>
<tr>
<td>다이어그램 / 이미지 미리보기</td>
<td>제한적</td>
<td>O</td>
</tr>
<tr>
<td>키바인딩 / 단축키</td>
<td>터미널 기본</td>
<td>앱 단축키 (<code>Cmd+K</code> 등)</td>
</tr>
<tr>
<td>멀티 탭</td>
<td>tmux 등 외부 도구</td>
<td>앱 자체 지원</td>
</tr>
</tbody></table>
<h3 id="세션-저장-위치">세션 저장 위치</h3>
<p>이건 분리되어 있음:</p>
<table>
<thead>
<tr>
<th>환경</th>
<th>세션 저장 위치</th>
</tr>
</thead>
<tbody><tr>
<td>터미널</td>
<td><code>~/.claude/sessions/</code></td>
</tr>
<tr>
<td>앱</td>
<td><code>~/Library/Application Support/Claude/claude-code-sessions/</code></td>
</tr>
</tbody></table>
<p>같은 작업을 양쪽에서 하면 세션 히스토리는 따로 쌓임. 다만 메모리·규칙은 공유되므로 컨텍스트 자체는 이어서 사용 가능.</p>
<h3 id="환경적-제약">환경적 제약</h3>
<ul>
<li><strong>터미널</strong> — shell 환경 그대로. tmux, ssh, 원격 서버 작업과 자연스럽게 결합됨. 백그라운드 프로세스 다루기 편함.</li>
<li><strong>앱</strong> — 로컬 GUI 환경. 그래픽 출력(이미지, 다이어그램)이 더 직관적. 원격 서버 작업은 불편함.</li>
</ul>
<h2 id="4-실용-가이드">4. 실용 가이드</h2>
<h3 id="규칙은-한-번만-작성하면-됨">규칙은 한 번만 작성하면 됨</h3>
<p>같은 <code>~/.claude/CLAUDE.md</code>를 양쪽이 읽으므로 <strong>중복 작성 불필요</strong>함. 프로젝트 규칙도 마찬가지로 프로젝트 루트의 <code>CLAUDE.md</code> 하나면 됨.</p>
<h3 id="메모리도-자동으로-공유됨">메모리도 자동으로 공유됨</h3>
<p>앱에서 작업하면서 쌓인 메모리가 터미널에도, 또 그 반대도 자동 반영. 사용자가 직접 옮길 필요 없음.</p>
<h3 id="어떤-걸-언제-쓰는-게-좋은가">어떤 걸 언제 쓰는 게 좋은가</h3>
<table>
<thead>
<tr>
<th>상황</th>
<th>추천 환경</th>
</tr>
</thead>
<tbody><tr>
<td>원격 서버 / SSH / tmux 작업</td>
<td>터미널</td>
</tr>
<tr>
<td>빠른 명령어 위주 작업</td>
<td>터미널</td>
</tr>
<tr>
<td>이미지·다이어그램 다루는 작업</td>
<td>앱</td>
</tr>
<tr>
<td>파일 트리 보면서 탐색하고 싶을 때</td>
<td>앱</td>
</tr>
<tr>
<td>모바일 / 다른 기기와 연동</td>
<td>앱</td>
</tr>
<tr>
<td>멀티 프로젝트 동시 작업 (탭)</td>
<td>앱</td>
</tr>
</tbody></table>
<h3 id="팀-공유-관점">팀 공유 관점</h3>
<p><code>CLAUDE.md</code>를 프로젝트 루트에 두고 git으로 커밋해두면 팀원이 어느 환경에서 Claude Code를 쓰든 같은 규칙으로 동작함. 환경별로 따로 공유할 필요 없음.</p>
<h2 id="5-한-줄-요약">5. 한 줄 요약</h2>
<ul>
<li><strong>터미널 Claude Code와 앱 Claude Code 탭은 같은 엔진</strong>, UI만 다름</li>
<li><strong><code>~/.claude/</code> 디렉토리를 공유</strong>하므로 CLAUDE.md·메모리·Skills 모두 자동으로 양쪽에 적용됨</li>
<li>다른 건 <strong>세션 저장 위치</strong>와 <strong>UI/환경적 제약</strong>뿐</li>
<li>그래서 규칙은 한 번만 작성하면 됨</li>
</ul>
<p>처음에는 별개의 도구처럼 보이지만, 실제로는 <strong>하나의 Claude Code를 두 가지 방식으로 띄운 것</strong>에 가까움. 환경에 맞춰 골라 쓰되, 규칙·메모리 관리는 한 곳에서 하면 됨.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Claude Code로 대형 오픈소스 분석하기 - 멀티에이전트 접근법]]></title>
            <link>https://velog.io/@oi_24/Claude-Code%EB%A1%9C-%EB%8C%80%ED%98%95-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EB%B6%84%EC%84%9D%ED%95%98%EA%B8%B0-%EB%A9%80%ED%8B%B0%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EC%A0%91%EA%B7%BC%EB%B2%95</link>
            <guid>https://velog.io/@oi_24/Claude-Code%EB%A1%9C-%EB%8C%80%ED%98%95-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EB%B6%84%EC%84%9D%ED%95%98%EA%B8%B0-%EB%A9%80%ED%8B%B0%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EC%A0%91%EA%B7%BC%EB%B2%95</guid>
            <pubDate>Fri, 17 Apr 2026 01:30:48 GMT</pubDate>
            <description><![CDATA[<h2 id="문제-컨텍스트가-커지면-퀄리티가-떨어진다">문제: 컨텍스트가 커지면 퀄리티가 떨어진다</h2>
<p>OpenTelemetry Collector 같은 대형 프로젝트를 분석할 때 한 세션에서 전부 처리하려고 하면 문제가 생긴다.</p>
<p>LLM은 컨텍스트 윈도우 안에서 처리하는 정보가 많아질수록 집중도가 떨어지고, 분석 퀄리티도 함께 낮아진다. 소스가 클수록 &quot;전체를 다 보여주는&quot; 방식은 오히려 역효과다.</p>
<pre><code>[X] 한 세션에서 전부 처리
소스 전체 → [단일 에이전트] → 퀄리티 낮은 분석

[O] 멀티에이전트
소스 전체 → 파트 분할 → [스페셜리스트 A] → 검토/검증
                       → [스페셜리스트 B] → 검토/검증  → 최종 합성
                       → [스페셜리스트 C] → 검토/검증</code></pre><p>핵심 원칙은 단순하다. <strong>좁은 컨텍스트 = 깊은 분석</strong></p>
<hr>
<h2 id="접근법-오케스트레이터--스페셜리스트">접근법: 오케스트레이터 + 스페셜리스트</h2>
<h3 id="구조">구조</h3>
<pre><code>오케스트레이터 (메인 세션)
  ├── 전체 구조 파악 및 분석 단위 확정
  ├── 서브에이전트들에게 파트 위임
  ├── 결과 검토 및 cross-cutting 검증
  └── 최종 합성
       ↑
스페셜리스트 에이전트들 (병렬 실행)
  ├── Agent A: 핵심 인터페이스 담당
  ├── Agent B: 데이터 수집/전송 담당
  ├── Agent C: 데이터 처리/라우팅 담당
  ├── Agent D: 서비스/확장 담당
  └── Agent E: 설정/인프라 담당</code></pre><h3 id="역할-분리">역할 분리</h3>
<table>
<thead>
<tr>
<th>역할</th>
<th>담당</th>
<th>컨텍스트 범위</th>
</tr>
</thead>
<tbody><tr>
<td>오케스트레이터</td>
<td>구조 파악, 위임, 검증, 합성</td>
<td>전체 (얕게)</td>
</tr>
<tr>
<td>스페셜리스트</td>
<td>담당 파트 심층 분석</td>
<td>부분 (깊게)</td>
</tr>
</tbody></table>
<p>오케스트레이터는 깊이 파지 않는다. 스페셜리스트가 가져온 결과를 <strong>검토하고 검증하고 보완 요청</strong>하는 게 주 역할이다.</p>
<hr>
<h2 id="opentelemetry-collector에-적용">OpenTelemetry Collector에 적용</h2>
<h3 id="프로젝트-구조">프로젝트 구조</h3>
<p>OpenTelemetry Collector는 멀티모듈 Go 프로젝트로, 컴포넌트 경계가 명확하게 디렉토리로 나뉘어 있어 에이전트 분할에 적합하다.</p>
<pre><code>opentelemetry-collector/
├── component/      # 핵심 인터페이스
├── pdata/          # 텔레메트리 데이터 모델
├── pipeline/       # 파이프라인 시그널 타입
├── consumer/       # 컨슈머 인터페이스
├── receiver/       # 데이터 수집
├── exporter/       # 데이터 전송
├── processor/      # 데이터 처리
├── connector/      # 파이프라인 라우팅
├── extension/      # 확장 기능
├── service/        # 서비스 오케스트레이션
├── otelcol/        # 메인 바이너리
├── confmap/        # 설정 처리
├── featuregate/    # 피처 플래그
└── internal/       # 내부 유틸리티</code></pre><h3 id="에이전트-분할-5개">에이전트 분할 (5개)</h3>
<table>
<thead>
<tr>
<th>에이전트</th>
<th>담당 디렉토리</th>
<th>분석 포인트</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Core</strong></td>
<td><code>component</code>, <code>pdata</code>, <code>pipeline</code>, <code>consumer</code></td>
<td>핵심 인터페이스, 데이터 모델, 의존성 방향</td>
</tr>
<tr>
<td><strong>Receiver/Exporter</strong></td>
<td><code>receiver</code>, <code>exporter</code></td>
<td>수집/전송 인터페이스, 구현체 패턴, helper 구조</td>
</tr>
<tr>
<td><strong>Processor/Connector</strong></td>
<td><code>processor</code>, <code>connector</code></td>
<td>데이터 변환 로직, 라우팅 메커니즘</td>
</tr>
<tr>
<td><strong>Service</strong></td>
<td><code>extension</code>, <code>service</code>, <code>otelcol</code></td>
<td>라이프사이클 관리, 파이프라인 조립, 진입점</td>
</tr>
<tr>
<td><strong>Infra</strong></td>
<td><code>confmap</code>, <code>featuregate</code>, <code>filter</code>, <code>scraper</code>, <code>internal</code></td>
<td>설정 해석, 피처 플래그, 공통 유틸리티</td>
</tr>
</tbody></table>
<hr>
<h2 id="구현-claude-code-agent-툴">구현: Claude Code Agent 툴</h2>
<p>Claude Code에서 이 패턴은 별도 인프라 없이 내장 <code>Agent</code> 툴만으로 구현된다.</p>
<h3 id="병렬-실행">병렬 실행</h3>
<pre><code class="language-python"># 메인 세션에서 여러 서브에이전트를 한 번에 호출
Agent(subagent_type=&quot;Explore&quot;, prompt=&quot;Core 분석: component, pdata...&quot;)
Agent(subagent_type=&quot;Explore&quot;, prompt=&quot;Receiver/Exporter 분석: receiver, exporter...&quot;)
Agent(subagent_type=&quot;Explore&quot;, prompt=&quot;Processor/Connector 분석: processor, connector...&quot;)
# → 병렬로 실행, 결과가 메인 세션으로 반환</code></pre>
<h3 id="결과-흐름">결과 흐름</h3>
<pre><code>스페셜리스트 결과 반환
    ↓
오케스트레이터가 검토
    ↓
cross-cutting concerns 교차 검증
    ↓
누락 부분 보완 요청 (필요시 추가 에이전트 실행)
    ↓
최종 합성</code></pre><hr>
<h2 id="프롬프트-설계-원칙">프롬프트 설계 원칙</h2>
<p>각 스페셜리스트 프롬프트에 반드시 포함해야 할 것:</p>
<ol>
<li><strong>담당 범위 명시</strong> - 어떤 디렉토리/패키지만 볼 것인지</li>
<li><strong>분석 포인트</strong> - 인터페이스, 의존성, 핵심 로직 중 무엇에 집중할지</li>
<li><strong>결과 형식</strong> - 오케스트레이터가 검토하기 좋은 구조화된 포맷</li>
<li><strong>경계 명시</strong> - 다른 에이전트 담당 영역은 깊이 들어가지 않도록</li>
</ol>
<p>오케스트레이터 프롬프트에 반드시 포함해야 할 것:</p>
<ol>
<li><strong>cross-cutting 체크리스트</strong> - 각 에이전트 결과 간 연결 포인트</li>
<li><strong>검증 기준</strong> - 누락/모순 여부 판단 기준</li>
<li><strong>보완 요청 조건</strong> - 어떤 경우에 추가 분석을 요청할지</li>
</ol>
<hr>
<h2 id="마치며">마치며</h2>
<p>이 접근법의 핵심은 <strong>컨텍스트 관리</strong>다. LLM에게 많은 정보를 한꺼번에 주는 것보다, 적절히 쪼개서 각자 깊이 파게 하고 메인이 검증하는 구조가 실제로 더 나은 결과를 만든다.</p>
<p>대형 오픈소스 프로젝트 분석뿐 아니라, 복잡한 버그 디버깅이나 아키텍처 리뷰에도 같은 패턴을 적용할 수 있다.</p>
]]></description>
        </item>
    </channel>
</rss>