<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>dev-rocket.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Fri, 23 Jan 2026 06:25:20 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>dev-rocket.log</title>
            <url>https://velog.velcdn.com/images/dev-rocket/profile/ab6c91f8-96c1-4704-9124-e9a7e80166a6/image.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. dev-rocket.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/dev-rocket" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[CloudFront, CRR의 차이점은 뭘까 ?]]></title>
            <link>https://velog.io/@dev-rocket/CloudFront-CRR%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AD%98%EA%B9%8C</link>
            <guid>https://velog.io/@dev-rocket/CloudFront-CRR%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AD%98%EA%B9%8C</guid>
            <pubDate>Fri, 23 Jan 2026 06:25:20 GMT</pubDate>
            <description><![CDATA[<hr>
<h3 id="cloudfront">CloudFront</h3>
<p>: 전셰게 리전을 대상으로 하는 엣지 로케이션</p>
<ul>
<li>정적 컨텐츠 배포시 용이</li>
<li>전세계 엣지 네트워크</li>
<li>국가 IP로 접근제한,허용 가능</li>
</ul>
<h4 id="사용하는-용도">사용하는 용도</h4>
<p>S3 정적 컨텐츠(이미지, 영상) 및 동적 컨텐츠(API) 가속</p>
<p>HTTP/HTTPS(TCP) 기반의 웹 트래픽 처리에 최적화 (Layer 7)</p>
<h4 id="price--price-class">Price &amp; Price Class</h4>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/6b86e630-b478-4a94-b8d4-e1446a0441c1/image.png" alt=""></p>
<p>(공부하면서 신기했던 포인트는 유럽,아메리카 지역보다 아시아 리전의 요금이 더 비쌈)
<img src="https://velog.velcdn.com/images/dev-rocket/post/000f1cb0-ee1a-4369-9029-0d605a350009/image.png" alt=""></p>
<h4 id="price-class-all">Price Class All</h4>
<ul>
<li>최상의 성능이며 모든 리전을 대상으로함</li>
</ul>
<h4 id="price-class-200">Price Class 200</h4>
<ul>
<li>가장 비싼 리전 제외</li>
</ul>
<h4 id="price-class-100">price Class 100</h4>
<ul>
<li>가장 저렴한 리전만 사용</li>
</ul>
<h3 id="crrcross-region-replication">CRR(Cross-Region-Replication)</h3>
<p>: 전세계 대상으로 하는 엣지 로케이션이 아님 (원하는 리전 설정)</p>
<ul>
<li>읽기 전용</li>
<li>전세계 리전으로 하는 대상 X</li>
<li>캐싱이 되지 않으며 실시간으로 갱신</li>
</ul>
<h4 id="사용하는-용도-1">사용하는 용도</h4>
<ul>
<li>일부 리전에만 배포를 할 때</li>
<li>특정 리전에서의 낮은 지연율을 의도할 때</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--hv5p5nhh</link>
            <guid>https://velog.io/@dev-rocket/--hv5p5nhh</guid>
            <pubDate>Tue, 02 Dec 2025 22:15:17 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--o107myir</link>
            <guid>https://velog.io/@dev-rocket/--o107myir</guid>
            <pubDate>Wed, 26 Nov 2025 14:45:16 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--egkggsdr</link>
            <guid>https://velog.io/@dev-rocket/--egkggsdr</guid>
            <pubDate>Mon, 24 Nov 2025 10:54:04 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--02d9mqjc</link>
            <guid>https://velog.io/@dev-rocket/--02d9mqjc</guid>
            <pubDate>Tue, 18 Nov 2025 07:52:41 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--j8b7trok</link>
            <guid>https://velog.io/@dev-rocket/--j8b7trok</guid>
            <pubDate>Thu, 13 Nov 2025 10:40:15 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/-</link>
            <guid>https://velog.io/@dev-rocket/-</guid>
            <pubDate>Mon, 10 Nov 2025 12:07:54 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--jrdz360u</link>
            <guid>https://velog.io/@dev-rocket/--jrdz360u</guid>
            <pubDate>Fri, 07 Nov 2025 09:50:49 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS VPC 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-VPC-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@dev-rocket/AWS-VPC-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Wed, 05 Nov 2025 11:02:16 GMT</pubDate>
            <description><![CDATA[<h4 id="aws-vpc-virtual-private-cloud-정의">AWS VPC (Virtual Private Cloud) 정의</h4>
<p>VPC는 AWS에서 사용자가 <strong>직접 네트워크를 설계하고 제어할 수 있는 가상 사설 네트워크</strong>로,
클라우드 상에서 마치 자신의 데이터센터를 구축한 것처럼 <strong>IP 주소, 서브넷, 라우팅, 보안 설정</strong> 등을 자유롭게 구성할 수 있다.</p>
<hr>
<h3 id="vpc의-핵심-목적">VPC의 핵심 목적</h3>
<table>
<thead>
<tr>
<th>목적</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>네트워크 분리 (Isolation)</td>
<td>각 사용자마다 독립된 가상 네트워크(VPC)를 생성하여, 외부 환경과 논리적으로 격리된 공간 제공</td>
</tr>
<tr>
<td>제어 및 커스터마이징 (Control)</td>
<td>IP 범위, 서브넷, 라우팅, 보안 정책(Security Group, NACL) 등을 사용자가 직접 관리 가능</td>
</tr>
<tr>
<td>보안 강화 (Security)</td>
<td>퍼블릭/프라이빗 서브넷 구조를 통해 인터넷 접근 경로를 통제하고, 내부 자원 보호 가능</td>
</tr>
<tr>
<td>확장성 (Scalability)</td>
<td>다중 AZ에 걸친 네트워크 설계와 피어링(VPC Peering)으로 대규모 서비스 구성 가능</td>
</tr>
<tr>
<td>하이브리드 연결 (Hybrid)</td>
<td>온프레미스 네트워크와 Direct Connect, VPN을 통해 안전하게 통합 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="vpc-주요-구성요소">VPC 주요 구성요소</h3>
<table>
<thead>
<tr>
<th>구성 요소</th>
<th>설명</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td><strong>VPC</strong></td>
<td>사용자가 정의한 가상 네트워크</td>
<td>CIDR: <code>10.0.0.0/16</code></td>
</tr>
<tr>
<td><strong>Subnet</strong></td>
<td>VPC 내 IP 범위를 분할한 네트워크 단위 (Public / Private)</td>
<td>Public Subnet: <code>10.0.1.0/24</code>, Private Subnet: <code>10.0.2.0/24</code></td>
</tr>
<tr>
<td><strong>Route Table</strong></td>
<td>트래픽이 어디로 갈지 결정하는 라우팅 규칙 집합</td>
<td>IGW, NAT Gateway, VPC Peering 등으로 라우팅</td>
</tr>
<tr>
<td><strong>Internet Gateway (IGW)</strong></td>
<td>퍼블릭 서브넷의 인터넷 통신 허용</td>
<td>Public Subnet ↔ Internet</td>
</tr>
<tr>
<td><strong>NAT Gateway / NAT Instance</strong></td>
<td>Private Subnet의 아웃바운드 인터넷 접근 허용 (Inbound 차단)</td>
<td>Private EC2 → Internet</td>
</tr>
<tr>
<td><strong>Elastic IP (EIP)</strong></td>
<td>고정 퍼블릭 IP, IGW나 NAT Gateway와 연결</td>
<td>고정된 외부 접근 주소</td>
</tr>
<tr>
<td><strong>Security Group (SG)</strong></td>
<td>인스턴스 수준의 방화벽 (Stateful)</td>
<td>TCP 22, TCP 80 허용</td>
</tr>
<tr>
<td><strong>Network ACL (NACL)</strong></td>
<td>서브넷 수준의 방화벽 (Stateless)</td>
<td>Subnet 단위 접근 제어</td>
</tr>
<tr>
<td><strong>VPC Peering / Transit Gateway</strong></td>
<td>여러 VPC 간 통신 연결</td>
<td>VPC 간 내부 트래픽 연결</td>
</tr>
<tr>
<td><strong>VPC Endpoint</strong></td>
<td>인터넷 없이 AWS 서비스(S3, DynamoDB 등)에 연결</td>
<td>Private Subnet → S3 접근</td>
</tr>
</tbody></table>
<hr>
<h3 id="public-subnet-vs-private-subnet-비교">Public Subnet vs Private Subnet 비교</h3>
<table>
<thead>
<tr>
<th>구분</th>
<th>Public Subnet</th>
<th>Private Subnet</th>
</tr>
</thead>
<tbody><tr>
<td>인터넷 연결</td>
<td>IGW를 통해 외부와 통신 가능</td>
<td>직접 연결 불가 (NAT Gateway 필요)</td>
</tr>
<tr>
<td>주 사용 목적</td>
<td>웹 서버, 프록시, 로드밸런서 등</td>
<td>DB, 내부 백엔드 서버</td>
</tr>
<tr>
<td>보안 수준</td>
<td>상대적으로 낮음</td>
<td>외부 차단으로 높음</td>
</tr>
<tr>
<td>트래픽 경로</td>
<td>Route Table에 IGW 등록</td>
<td>Route Table에 NAT Gateway 등록</td>
</tr>
</tbody></table>
<hr>
<h3 id="vpc-보안-구성-요소-비교">VPC 보안 구성 요소 비교</h3>
<table>
<thead>
<tr>
<th>구분</th>
<th>Security Group</th>
<th>Network ACL</th>
</tr>
</thead>
<tbody><tr>
<td>적용 범위</td>
<td>인스턴스(ENI) 단위</td>
<td>서브넷 단위</td>
</tr>
<tr>
<td>상태 추적(Stateful)</td>
<td>✅ 응답 트래픽 자동 허용</td>
<td>❌ 요청/응답 모두 명시해야 함</td>
</tr>
<tr>
<td>기본 규칙</td>
<td>모든 트래픽 차단</td>
<td>모든 트래픽 허용</td>
</tr>
<tr>
<td>주 용도</td>
<td>세부 인스턴스 접근 제어</td>
<td>Subnet 전체의 보안 경계 설정</td>
</tr>
</tbody></table>
<hr>
<h3 id="vpc-고급-구성-요소">VPC 고급 구성 요소</h3>
<table>
<thead>
<tr>
<th>구성 요소</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>VPC Endpoint (Gateway / Interface)</strong></td>
<td>프라이빗 네트워크 내에서 AWS 서비스(S3, DynamoDB 등)에 접근할 수 있는 연결 방식</td>
</tr>
<tr>
<td><strong>VPC Peering</strong></td>
<td>서로 다른 VPC 간의 직접 통신 (단방향 전송 불가)</td>
</tr>
<tr>
<td><strong>Transit Gateway</strong></td>
<td>여러 VPC 및 온프레미스 네트워크를 중앙집중형으로 연결하는 허브</td>
</tr>
<tr>
<td><strong>Direct Connect</strong></td>
<td>온프레미스 ↔ AWS 간 전용선 연결로 안정적인 네트워크 구성</td>
</tr>
<tr>
<td><strong>Flow Logs</strong></td>
<td>VPC, Subnet, ENI 수준의 트래픽 로그 수집 (CloudWatch로 전송 가능)</td>
</tr>
</tbody></table>
<hr>
<h3 id="vpc-설계-시-고려사항">VPC 설계 시 고려사항</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>핵심 내용</th>
</tr>
</thead>
<tbody><tr>
<td>CIDR 블록 설계</td>
<td>충분한 IP 확보 (<code>/16</code> 권장), 중복 방지</td>
</tr>
<tr>
<td>AZ 분산</td>
<td>고가용성 확보를 위해 최소 2개 AZ 사용</td>
</tr>
<tr>
<td>서브넷 분리</td>
<td>퍼블릭 / 프라이빗 역할 분리 및 보안 강화</td>
</tr>
<tr>
<td>보안 정책</td>
<td>SG + NACL 병행 설계</td>
</tr>
<tr>
<td>내부 통신 최적화</td>
<td>VPC Endpoint, Peering, Transit Gateway 활용</td>
</tr>
</tbody></table>
<hr>
<h3 id="정리">정리</h3>
<blockquote>
<p>VPC는 AWS 클라우드 환경에서의 <strong>네트워크 설계의 근간</strong>으로,
사용자가 직접 네트워크 범위, 라우팅, 서브넷, 보안 정책을 구성하여
<strong>격리된 환경 속에서 안전하고 유연한 애플리케이션 인프라</strong>를 구축할 수 있게 한다.</p>
</blockquote>
<blockquote>
<p>실제 아키텍처 설계에서는 <strong>Public/Private Subnet 구분, NAT Gateway 배치, Security Group/NACL 규칙 설정</strong>을 함께 고려해야 한다.</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[-]]></title>
            <link>https://velog.io/@dev-rocket/--f07hv1l5</link>
            <guid>https://velog.io/@dev-rocket/--f07hv1l5</guid>
            <pubDate>Mon, 03 Nov 2025 03:36:39 GMT</pubDate>
            <description><![CDATA[<p>-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Study Chanllenge Day3]]></title>
            <link>https://velog.io/@dev-rocket/Kubernetes-Study-Chanllenge-Day3</link>
            <guid>https://velog.io/@dev-rocket/Kubernetes-Study-Chanllenge-Day3</guid>
            <pubDate>Sun, 02 Nov 2025 10:16:22 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/dev-rocket/post/fd38ce26-f60c-48db-8a85-5ffd59bcf48a/image.png" alt="https://zesty.co/finops-glossary/replicasets-in-kubernetes/"></p>
<hr>
<h3 id="replicaset과-deployment-핵심-정리">ReplicaSet과 Deployment 핵심 정리</h3>
<blockquote>
<p>쿠버네티스에서 애플리케이션을 안정적으로 운영하기 위해서는
<strong>Pod를 일정 개수로 유지하고</strong>, <strong>무중단으로 새 버전을 배포할 수 있는 구조</strong>가 필요하다.
이 역할을 담당하는 대표적인 리소스가 바로 <strong>ReplicaSet</strong>과 <strong>Deployment</strong>다.</p>
</blockquote>
<hr>
<h3 id="replicaset이란">ReplicaSet이란</h3>
<blockquote>
<p>ReplicaSet은 <strong>지정된 수의 Pod를 항상 일정하게 유지</strong>하는 역할을 한다.
즉, 사용자가 원하는 개수(예: 3개)로 Pod를 정의하면,
쿠버네티스가 실제 실행 중인 Pod의 수를 지속적으로 감시하고
부족하면 새로 만들고, 초과하면 제거한다.</p>
</blockquote>
<blockquote>
<p>이때 ReplicaSet은 <strong>Pod의 이름으로 직접 관리하지 않고</strong>,
<strong>label(라벨)</strong> 과 <strong>selector(선택자)</strong> 를 기준으로 Pod를 식별한다.
즉, 특정 label을 가진 Pod만 ReplicaSet의 관리 대상이 되며,
새로 생성되는 Pod에도 동일한 label이 붙어야 관리 범위 안에 포함된다.</p>
</blockquote>
<h4 id="핵심-동작-개념">핵심 동작 개념</h4>
<ul>
<li>Pod가 의도한 개수보다 줄면 자동으로 새로 생성</li>
<li>반대로 너무 많으면 불필요한 Pod를 제거</li>
<li>label과 selector가 일치하는 Pod만 관리 대상이 됨</li>
<li>Pod의 이름은 ReplicaSet이 자동으로 생성하며, 사용자는 직접 관리하지 않는다</li>
</ul>
<h4 id="구조-요약">구조 요약</h4>
<p>ReplicaSet은 크게 다음 세 부분으로 구성된다.</p>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><code>metadata</code></td>
<td>ReplicaSet의 이름 및 라벨 정보</td>
</tr>
<tr>
<td><code>spec.replicas</code></td>
<td>유지할 Pod의 개수</td>
</tr>
<tr>
<td><code>spec.selector</code></td>
<td>어떤 Pod를 관리할지 구분하는 기준(라벨 선택자)</td>
</tr>
<tr>
<td><code>spec.template</code></td>
<td>새로 만들 Pod의 기본 템플릿(라벨, 이미지, 포트 등 정의)</td>
</tr>
</tbody></table>
<h4 id="동작-원리-요약">동작 원리 요약</h4>
<ol>
<li>사용자가 <code>replicas: 3</code> 으로 정의</li>
<li>ReplicaSet이 <code>selector</code> 조건에 맞는 Pod를 감시</li>
<li>Pod가 2개면 → 새 Pod 1개 추가</li>
<li>4개면 → 1개 삭제
이 과정을 지속적으로 반복해 <strong>지정된 수를 항상 유지</strong>한다.</li>
</ol>
<p>결국 ReplicaSet은 <strong>label과 selector를 기준으로 Pod를 그룹화하고</strong>,
그 그룹 내에서 지정된 개수를 자동으로 유지하도록 동작한다.</p>
<hr>
<h3 id="deployment란">Deployment란</h3>
<blockquote>
<p>Deployment는 ReplicaSet을 기반으로 <strong>버전 관리와 롤링 업데이트 기능을 추가한 리소스</strong>다.
즉, <strong>ReplicaSet을 직접 다루지 않아도 애플리케이션의 배포·업데이트를 자동으로 처리</strong>한다.</p>
</blockquote>
<h4 id="deployment의-역할">Deployment의 역할</h4>
<ul>
<li>새로운 버전의 이미지를 배포할 때,
기존 Pod를 한꺼번에 삭제하지 않고 순차적으로 교체(무중단 배포).</li>
<li>이전 버전 ReplicaSet의 상태를 기억하기 때문에
문제가 생기면 언제든 <strong>이전 버전으로 롤백 가능</strong>.</li>
<li>내부적으로 ReplicaSet을 생성·관리하지만,
사용자는 Deployment 단위로만 조작한다.</li>
</ul>
<h4 id="deployment의-주요-필드">Deployment의 주요 필드</h4>
<table>
<thead>
<tr>
<th>필드</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td><code>metadata.name</code></td>
<td>Deployment 이름</td>
</tr>
<tr>
<td><code>spec.replicas</code></td>
<td>유지할 Pod 개수</td>
</tr>
<tr>
<td><code>spec.selector.matchLabels</code></td>
<td>관리할 Pod의 라벨 기준</td>
</tr>
<tr>
<td><code>spec.template</code></td>
<td>Pod 템플릿 (컨테이너 이미지, 포트 등)</td>
</tr>
<tr>
<td><code>strategy</code></td>
<td>업데이트 방식 (RollingUpdate 또는 Recreate)</td>
</tr>
</tbody></table>
<hr>
<h3 id="deployment의-작동-방식">Deployment의 작동 방식</h3>
<ol>
<li>사용자가 Deployment를 정의하고 <code>kubectl apply</code> 실행</li>
<li>쿠버네티스가 해당 정의를 바탕으로 ReplicaSet 생성</li>
<li>ReplicaSet이 필요한 수만큼 Pod를 배포</li>
<li>이미지 버전이 바뀌면 새 ReplicaSet을 만들어 순차적으로 교체 (Rolling Update)</li>
<li>문제가 생기면 이전 ReplicaSet을 활성화해 복구 (Rollback)</li>
</ol>
<hr>
<h3 id="replicaset-vs-deployment-비교">ReplicaSet vs Deployment 비교</h3>
<table>
<thead>
<tr>
<th>구분</th>
<th>ReplicaSet</th>
<th>Deployment</th>
</tr>
</thead>
<tbody><tr>
<td>주요 목적</td>
<td>지정된 수의 Pod 유지</td>
<td>배포 및 버전 관리</td>
</tr>
<tr>
<td>Pod 생성/삭제</td>
<td>직접 정의된 템플릿 기준</td>
<td>내부 ReplicaSet 자동 관리</td>
</tr>
<tr>
<td>업데이트</td>
<td>수동 관리</td>
<td>Rolling Update 지원</td>
</tr>
<tr>
<td>롤백 기능</td>
<td>없음</td>
<td>이전 버전으로 되돌리기 가능</td>
</tr>
<tr>
<td>실제 운영에서의 사용</td>
<td>보조 리소스</td>
<td>주로 Deployment 사용</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Study Chanllenge Day2]]></title>
            <link>https://velog.io/@dev-rocket/Kubernetes-Study-Chanllenge-Day2</link>
            <guid>https://velog.io/@dev-rocket/Kubernetes-Study-Chanllenge-Day2</guid>
            <pubDate>Sat, 01 Nov 2025 13:08:22 GMT</pubDate>
            <description><![CDATA[<hr>
<h3 id="pod">Pod</h3>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/06f1e2af-c257-4bf8-a2fb-072ab72acbb4/image.png" alt=""></p>
<p>Pod는 쿠버네티스가 <strong>컨테이너를 실행하고 관리하기 위해 만든 논리적 단위</strong>이다.</p>
<ul>
<li>보통 하나의 Pod에는 컨테이너가 한 개 들어가지만,
함께 동작해야 하는 컨테이너라면 여러 개를 하나의 Pod로 묶을 수도 있다.</li>
<li>Pod 내부의 컨테이너들은 같은 네트워크(IP, 포트 공간)를 공유하며,
필요에 따라 볼륨을 통해 데이터를 교환한다.</li>
<li>Pod 단위로 상태 점검 또는 자동 복구 정책을 적용할 수 있다.</li>
</ul>
<p>즉, Pod는 단순히 컨테이너를 모아놓은 묶음이 아니라
<strong>애플리케이션이 실행되기 위한 최소한의 환경</strong>이라고 볼 수 있다.</p>
<hr>
<h3 id="node">Node</h3>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/2076c707-bd62-4d98-b93d-1cf9c7ff5e47/image.png" alt=""></p>
<p>Node는 <strong>Pod가 실제로 실행되는 서버</strong>를 의미한다.
물리 서버일 수도 있고, 클라우드상의 가상 머신일 수도 있다.</p>
<ul>
<li>하나의 Node에는 여러 Pod가 동시에 배포될 수 있다.</li>
<li>Node는 Control Plane에서 내려오는 명령에 따라 Pod를 생성하거나 삭제하며 클러스터의 일부로 동작한다.</li>
</ul>
<hr>
<h3 id="node의-주요-구성요소">Node의 주요 구성요소</h3>
<table>
<thead>
<tr>
<th>구성요소</th>
<th>역할</th>
</tr>
</thead>
<tbody><tr>
<td>kubelet</td>
<td>Node에서 Pod를 실행하고 상태를 Control Plane에 보고</td>
</tr>
<tr>
<td>Container Runtime</td>
<td>컨테이너를 실제로 띄우는 프로그램 (containerd, CRI-O 등)</td>
</tr>
<tr>
<td>kube-proxy</td>
<td>네트워크 트래픽을 올바른 Pod로 전달하고 연결 경로를 관리</td>
</tr>
</tbody></table>
<p>이 세 가지가 함께 동작해야 Node가 정상적으로 Pod를 실행할 수 있다</p>
<hr>
<h2 id="control-plane과-node의-관계">Control Plane과 Node의 관계</h2>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/802488f6-9c20-4c29-b030-3cf135849093/image.png" alt=""></p>
<p>쿠버네티스는 크게 두 영역으로 나뉜다.</p>
<table>
<thead>
<tr>
<th>구분</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>Control Plane</td>
<td>클러스터의 전체 상태를 제어하고, 새로운 Pod를 어디에 배치할지 결정하는 영역</td>
</tr>
<tr>
<td>Data Plane(Node)</td>
<td>애플리케이션이 실제로 실행되는 영역으로, Pod가 이곳에서 동작한다</td>
</tr>
</tbody></table>
<p>조금 더 쉽게 접근해보면</p>
<p>Control Plane - 두뇌 , Data Plane - 두뇌의 명령을 실행하는 구현체</p>
<hr>
<h3 id="pod와-node의-상호작용">Pod와 Node의 상호작용</h3>
<ul>
<li>사용자가 <code>kubectl</code> 명령이나 API를 통해 Pod를 생성하면,
Control Plane의 스케줄러가 어떤 Node에 배치할지 결정한다.</li>
<li>이후 kubelet이 해당 Node에서 Pod를 띄우고, 런타임이 컨테이너를 실행한다.</li>
<li>이런 구조 덕분에 쿠버네티스는 여러 서버(Node)에 걸쳐 애플리케이션을 유연하게 관리할 수 있다.</li>
</ul>
<hr>
<p><img src="blob:https://velog.io/66188f1b-3771-4468-9581-daccfc6f94cb" alt="업로드중.."></p>
<p>이 상위 리소스들은 다음 기능을 제공한다.</p>
<ul>
<li>Pod의 자동 생성과 삭제</li>
<li>장애 발생 시 재생성</li>
<li>여러 인스턴스 복제와 확장</li>
<li>무중단 배포(rolling update)</li>
</ul>
<p>즉, 사용자는 Pod 자체를 직접 다루기보다, Pod를 대신 관리해주는</p>
<p>리소스를 통해 안정적인 운영을 하게 된다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Study Challenge Day1]]></title>
            <link>https://velog.io/@dev-rocket/Inflearn-Kubernetes-Study-Challenge-Day1</link>
            <guid>https://velog.io/@dev-rocket/Inflearn-Kubernetes-Study-Challenge-Day1</guid>
            <pubDate>Sat, 01 Nov 2025 11:47:00 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/dev-rocket/post/66e7bc18-6967-4b34-948d-22b3fb15630f/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Database 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-Database-%EC%A0%95%EB%A6%AC-yleyi5ig</link>
            <guid>https://velog.io/@dev-rocket/AWS-Database-%EC%A0%95%EB%A6%AC-yleyi5ig</guid>
            <pubDate>Tue, 28 Oct 2025 07:55:41 GMT</pubDate>
            <description><![CDATA[<h3 id="🗄️-aws-database-services-데이터베이스-서비스">🗄️ AWS Database Services (데이터베이스 서비스)</h3>
<h4 id="📘-정의">📘 정의</h4>
<blockquote>
<p>AWS Database 서비스는 <strong>애플리케이션 특성에 맞춘 다양한 데이터베이스를 관리형으로 제공</strong>함.
관계형, 비관계형(NoSQL), 인메모리, 분석용 등 목적별로 선택 가능하며,
<strong>백업·확장·장애 복구를 자동화하여 운영 부담을 최소화</strong>함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-서비스">⚙️ 주요 서비스</h3>
<table>
<thead>
<tr>
<th>서비스</th>
<th>유형</th>
<th>주요 목적</th>
</tr>
</thead>
<tbody><tr>
<td><strong>RDS</strong></td>
<td>관계형 데이터베이스</td>
<td>완전관리형 RDBMS</td>
</tr>
<tr>
<td><strong>Aurora</strong></td>
<td>클라우드 전용 RDBMS</td>
<td>고성능·고가용성</td>
</tr>
<tr>
<td><strong>DynamoDB</strong></td>
<td>NoSQL</td>
<td>서버리스 키-값/문서형 DB</td>
</tr>
<tr>
<td><strong>ElastiCache</strong></td>
<td>인메모리 캐시</td>
<td>초저지연 데이터 접근</td>
</tr>
<tr>
<td><strong>Redshift</strong></td>
<td>데이터 웨어하우스</td>
<td>대규모 분석·BI</td>
</tr>
<tr>
<td><strong>DMS</strong></td>
<td>데이터 마이그레이션</td>
<td>DB 이전 및 복제 자동화</td>
</tr>
</tbody></table>
<hr>
<h3 id="🧱-amazon-rds-relational-database-service">🧱 Amazon RDS (Relational Database Service)</h3>
<h4 id="📘-정의-1">📘 정의</h4>
<blockquote>
<p>RDS는 <strong>관계형 데이터베이스를 완전관리형으로 제공하는 서비스</strong>임.
백업, 패치, 장애 복구, 확장을 AWS가 자동으로 처리함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-특징">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>지원 엔진</strong></td>
<td>MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Aurora</td>
</tr>
<tr>
<td><strong>자동 백업</strong></td>
<td>스냅샷 기반 자동 백업 및 시점 복구(PITR) 지원</td>
</tr>
<tr>
<td><strong>Multi-AZ 배포</strong></td>
<td>Primary + Standby 구성으로 고가용성 확보</td>
</tr>
<tr>
<td><strong>Read Replica</strong></td>
<td>읽기 부하 분산 및 읽기 전용 복제본 운영</td>
</tr>
<tr>
<td><strong>보안 구성</strong></td>
<td>IAM 인증, KMS 암호화, VPC 서브넷 연결 가능</td>
</tr>
<tr>
<td><strong>확장성</strong></td>
<td>스토리지 자동 확장 기능 제공 (최대 64TB)</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시">💡 사용 예시</h3>
<ul>
<li>웹/앱 서비스의 메인 데이터베이스</li>
<li>트랜잭션 중심 OLTP 시스템</li>
<li>자동 백업 기반 데이터 복구 환경</li>
</ul>
<hr>
<h3 id="⚡-amazon-aurora">⚡ Amazon Aurora</h3>
<h4 id="📘-정의-2">📘 정의</h4>
<blockquote>
<p>Aurora는 <strong>AWS가 직접 개발한 클라우드 전용 고성능 RDBMS</strong>로,
MySQL 및 PostgreSQL과 호환되며 <strong>상용 DB 수준의 성능과 안정성</strong>을 제공함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-특징-1">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>고성능</strong></td>
<td>MySQL 대비 최대 5배, PostgreSQL 대비 3배 빠름</td>
</tr>
<tr>
<td><strong>스토리지 구조</strong></td>
<td>6중 복제(3개 AZ × 2복제본)로 내구성 강화</td>
</tr>
<tr>
<td><strong>자동 장애 복구</strong></td>
<td>장애 시 리더 인스턴스로 자동 페일오버</td>
</tr>
<tr>
<td><strong>Serverless 옵션</strong></td>
<td>Aurora Serverless V2로 자동 스케일링 지원</td>
</tr>
<tr>
<td><strong>Global Database</strong></td>
<td>리전 간 복제 지연 1초 미만, 글로벌 서비스 대응</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-1">💡 사용 예시</h3>
<ul>
<li>대규모 트랜잭션 처리 서비스</li>
<li>글로벌 사용자 대상 시스템</li>
<li>자동 확장 기반 서버리스 DB 환경</li>
</ul>
<hr>
<h3 id="🌍-amazon-dynamodb">🌍 Amazon DynamoDB</h3>
<h4 id="📘-정의-3">📘 정의</h4>
<blockquote>
<p>DynamoDB는 <strong>완전관리형 NoSQL 데이터베이스</strong>로,
<strong>키-값(Key-Value) 및 문서(Document)</strong> 구조를 지원하며 밀리초 단위 응답 속도를 보장함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-특징-2">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>서버리스 구조</strong></td>
<td>인스턴스 관리 없이 테이블 단위 사용</td>
</tr>
<tr>
<td><strong>Auto Scaling</strong></td>
<td>트래픽 변화에 따라 처리량 자동 조정</td>
</tr>
<tr>
<td><strong>DynamoDB Streams</strong></td>
<td>실시간 데이터 변경 이벤트 처리</td>
</tr>
<tr>
<td><strong>TTL 지원</strong></td>
<td>만료된 항목 자동 삭제</td>
</tr>
<tr>
<td><strong>Global Table</strong></td>
<td>다중 리전 간 실시간 데이터 복제</td>
</tr>
<tr>
<td><strong>보안</strong></td>
<td>IAM 인증 및 KMS 암호화 지원</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-2">💡 사용 예시</h3>
<ul>
<li>IoT 센서 데이터 저장</li>
<li>세션 관리, 실시간 랭킹 서비스</li>
<li>서버리스 애플리케이션의 백엔드 DB</li>
</ul>
<hr>
<h3 id="⚙️-amazon-elasticache">⚙️ Amazon ElastiCache</h3>
<h4 id="📘-정의-4">📘 정의</h4>
<blockquote>
<p>ElastiCache는 <strong>인메모리 캐시 서비스</strong>로,
Redis 또는 Memcached 엔진을 기반으로 <strong>초저지연 데이터 접근</strong>을 지원함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-특징-3">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>엔진 선택</strong></td>
<td>Redis(복제/퍼시스턴스 지원) 또는 Memcached(단순 캐시)</td>
</tr>
<tr>
<td><strong>인메모리 구조</strong></td>
<td>메모리 기반으로 고속 데이터 처리</td>
</tr>
<tr>
<td><strong>세션 캐싱</strong></td>
<td>로그인 세션, 실시간 랭킹, 카운터 등 사용</td>
</tr>
<tr>
<td><strong>Multi-AZ 복제</strong></td>
<td>Redis의 자동 장애조치(Failover) 기능</td>
</tr>
<tr>
<td><strong>모니터링 통합</strong></td>
<td>CloudWatch로 캐시 적중률, 메모리 사용량 관리</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-3">💡 사용 예시</h3>
<ul>
<li>RDS/DynamoDB 쿼리 결과 캐싱</li>
<li>실시간 채팅·랭킹 시스템</li>
<li>세션 및 토큰 관리</li>
</ul>
<hr>
<h3 id="📊-amazon-redshift">📊 Amazon Redshift</h3>
<h4 id="📘-정의-5">📘 정의</h4>
<blockquote>
<p>Redshift는 <strong>대규모 데이터 분석용 컬럼형 데이터 웨어하우스(DWH)</strong> 서비스로,
페타바이트 단위 데이터를 빠르게 질의하고 BI 분석에 활용함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-특징-4">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>컬럼 기반 저장</strong></td>
<td>쿼리 최적화 및 고압축 효율</td>
</tr>
<tr>
<td><strong>MPP 아키텍처</strong></td>
<td>병렬 처리로 대용량 데이터 분석</td>
</tr>
<tr>
<td><strong>Spectrum 기능</strong></td>
<td>S3의 데이터 직접 쿼리 가능 (ETL 불필요)</td>
</tr>
<tr>
<td><strong>백업/복원</strong></td>
<td>S3 자동 백업 및 스냅샷 복원</td>
</tr>
<tr>
<td><strong>BI 통합</strong></td>
<td>QuickSight, Tableau 등과 연동 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-4">💡 사용 예시</h3>
<ul>
<li>로그 및 클릭스트림 분석</li>
<li>데이터 웨어하우스 및 BI 대시보드</li>
<li>대규모 ETL 처리 환경</li>
</ul>
<hr>
<h3 id="🔄-aws-dms-database-migration-service">🔄 AWS DMS (Database Migration Service)</h3>
<h4 id="📘-정의-6">📘 정의</h4>
<blockquote>
<p>DMS는 <strong>온프레미스 또는 다른 클라우드의 DB를 AWS로 손쉽게 마이그레이션</strong>하는 서비스임.
이기종 간(Oracle → Aurora 등) 이전도 지원하며 <strong>운영 중단 없이 전환 가능</strong>함.</p>
</blockquote>
<hr>
<h3 id="⚙️-주요-특징-5">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>지원 방향</strong></td>
<td>온프레미스 ↔ AWS / AWS ↔ AWS</td>
</tr>
<tr>
<td><strong>지원 엔진</strong></td>
<td>RDS, Aurora, DynamoDB, Redshift 등</td>
</tr>
<tr>
<td><strong>CDC 기반 복제</strong></td>
<td>실시간 변경 데이터 캡처 (Change Data Capture)</td>
</tr>
<tr>
<td><strong>Zero Downtime</strong></td>
<td>서비스 중단 없이 실시간 마이그레이션 가능</td>
</tr>
<tr>
<td><strong>자동화</strong></td>
<td>Schema 변환, 오류 로깅, 복제 모니터링 지원</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-5">💡 사용 예시</h3>
<ul>
<li>Oracle → Aurora PostgreSQL 이전</li>
<li>MySQL → RDS 전환</li>
<li>운영 DB → Redshift 실시간 복제</li>
</ul>
<hr>
<h3 id="📘-서비스-비교-요약">📘 서비스 비교 요약</h3>
<table>
<thead>
<tr>
<th>서비스</th>
<th>유형</th>
<th>대표 특징</th>
<th>주요 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td><strong>RDS</strong></td>
<td>관계형</td>
<td>관리형 RDB, Multi-AZ, 백업 지원</td>
<td>일반 웹 DB</td>
</tr>
<tr>
<td><strong>Aurora</strong></td>
<td>관계형</td>
<td>클라우드 전용 고성능 DB</td>
<td>대규모 트랜잭션</td>
</tr>
<tr>
<td><strong>DynamoDB</strong></td>
<td>NoSQL</td>
<td>서버리스, 초고속, 자동 확장</td>
<td>IoT, 세션 저장</td>
</tr>
<tr>
<td><strong>ElastiCache</strong></td>
<td>캐시</td>
<td>인메모리 구조, 초저지연</td>
<td>세션/캐시</td>
</tr>
<tr>
<td><strong>Redshift</strong></td>
<td>분석</td>
<td>컬럼형 DWH, MPP 구조</td>
<td>로그·데이터 분석</td>
</tr>
<tr>
<td><strong>DMS</strong></td>
<td>마이그레이션</td>
<td>이기종 DB 이전, 실시간 복제</td>
<td>DB 전환 및 동기화</td>
</tr>
</tbody></table>
<hr>
<h3 id="🧾-정리">🧾 정리</h3>
<p>AWS Database 계열은 <strong>운영형(OLTP) → 캐시 → 분석(OLAP) → 마이그레이션</strong>으로 이어짐.</p>
<p>설계 시 고려 포인트:</p>
<blockquote>
<ul>
<li>트랜잭션 vs 분석 중심 (RDS/Aurora vs Redshift)</li>
</ul>
</blockquote>
<ul>
<li>관계형 vs 비관계형 (RDS/Aurora vs DynamoDB)</li>
<li>캐싱으로 응답속도 향상 필요 시 (ElastiCache)</li>
<li>DB 이전 및 복제 자동화 필요 시 (DMS)</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Compute 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-Compute-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@dev-rocket/AWS-Compute-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Sun, 26 Oct 2025 12:21:47 GMT</pubDate>
            <description><![CDATA[<h3 id="🖥️-amazon-ec2-elastic-compute-cloud">🖥️ Amazon EC2 (Elastic Compute Cloud)</h3>
<h4 id="정의">정의</h4>
<p>EC2는 <strong>가상 서버(인스턴스)</strong> 를 제공하는 AWS의 핵심 컴퓨팅 서비스임.
사용자는 CPU·메모리·스토리지·네트워크 조합을 선택하여 원하는 형태의 서버를 구성할 수 있음.
즉, <strong>클라우드에서 자유롭게 생성·확장·종료 가능한 가상 머신</strong>.</p>
<hr>
<h3 id="⚙️-주요-특징">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>온디맨드 서버</strong></td>
<td>사용한 만큼만 과금 (초 단위 과금)</td>
</tr>
<tr>
<td><strong>인스턴스 타입</strong></td>
<td>범용, 컴퓨팅 최적화, 메모리 최적화, GPU 등 다양한 옵션</td>
</tr>
<tr>
<td><strong>루트 볼륨</strong></td>
<td>EBS(기본) 또는 Instance Store 선택 가능</td>
</tr>
<tr>
<td><strong>구매 옵션</strong></td>
<td>On-Demand / Reserved / Spot / Savings Plan</td>
</tr>
<tr>
<td><strong>Placement Group</strong></td>
<td>Cluster(고성능), Spread(장애분산), Partition(대규모 분산)</td>
</tr>
<tr>
<td><strong>보안 그룹 (SG)</strong></td>
<td>인스턴스 트래픽 제어 방화벽 (Stateful)</td>
</tr>
<tr>
<td><strong>Elastic IP</strong></td>
<td>고정 공인 IP 주소 할당 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시">💡 사용 예시</h3>
<ul>
<li>웹/애플리케이션 서버</li>
<li>데이터베이스 서버</li>
<li>HPC, GPU 기반 머신러닝 연산</li>
<li>Auto Scaling 그룹 내 워커 노드</li>
</ul>
<hr>
<hr>
<h3 id="🌀-amazon-ec2-auto-scaling">🌀 Amazon EC2 Auto Scaling</h3>
<h4 id="정의-1">정의</h4>
<p>Auto Scaling은 <strong>트래픽 변화에 따라 EC2 인스턴스를 자동으로 추가·제거</strong>하는 기능임.
가용성과 비용 효율을 동시에 확보함.</p>
<hr>
<h3 id="⚙️-주요-구성요소">⚙️ 주요 구성요소</h3>
<table>
<thead>
<tr>
<th>구성요소</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Launch Template</strong></td>
<td>인스턴스 설정(AMI, 타입, 보안그룹 등)</td>
</tr>
<tr>
<td><strong>Auto Scaling Group (ASG)</strong></td>
<td>트래픽에 따라 EC2 인스턴스 조절</td>
</tr>
<tr>
<td><strong>Scaling Policy</strong></td>
<td>CloudWatch 지표 기반 자동 확장/축소</td>
</tr>
<tr>
<td><strong>Health Check</strong></td>
<td>비정상 인스턴스 자동 교체</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-1">💡 사용 예시</h3>
<ul>
<li>CPU 사용률 기반 자동 확장</li>
<li>트래픽 급증 대응</li>
<li>장애 복구 자동화</li>
</ul>
<hr>
<h3 id="☁️-aws-lambda">☁️ AWS Lambda</h3>
<h4 id="정의-2">정의</h4>
<p>Lambda는 <strong>서버 관리 없이 코드를 실행하는 서버리스 컴퓨팅 서비스</strong>임.
이벤트 기반으로 실행되며 사용량만큼 과금됨.</p>
<hr>
<h3 id="⚙️-주요-특징-1">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>서버리스 구조</strong></td>
<td>인프라 관리 불필요 (AWS 자동 관리)</td>
</tr>
<tr>
<td><strong>이벤트 기반 실행</strong></td>
<td>S3, DynamoDB, API Gateway 등과 연동</td>
</tr>
<tr>
<td><strong>지원 언어</strong></td>
<td>Python, Node.js, Java, Go 등</td>
</tr>
<tr>
<td><strong>비용 구조</strong></td>
<td>요청 수와 실행 시간 기준 과금</td>
</tr>
<tr>
<td><strong>통합 서비스</strong></td>
<td>CloudWatch Logs, Step Functions 등과 통합</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-2">💡 사용 예시</h3>
<ul>
<li>고객이 S3 업로드 시 자동 처리</li>
<li>주문 내역이 DynamoDB에 새로 추가될 때마다 결제 처리 자동 수행</li>
<li>API Gateway 백엔드 함수</li>
<li>서버리스 데이터 파이프라인</li>
<li>백엔드 작업 자동화 스크립트</li>
</ul>
<hr>
<h3 id="🚀-aws-elastic-beanstalk">🚀 AWS Elastic Beanstalk</h3>
<h4 id="정의-3">정의</h4>
<p>Elastic Beanstalk은 <strong>코드만 업로드하면 AWS가 자동으로 인프라를 구성·운영</strong>하는 PaaS 서비스임.
EC2, Auto Scaling, ALB, CloudWatch를 자동으로 통합 관리함.</p>
<hr>
<h3 id="⚙️-주요-특징-2">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>완전관리형 배포 환경</strong></td>
<td>인프라 구성, 확장, 모니터링 자동</td>
</tr>
<tr>
<td><strong>지원 언어</strong></td>
<td>Python, Java, Node.js, .NET, PHP 등</td>
</tr>
<tr>
<td><strong>배포 방식</strong></td>
<td>Rolling, Immutable, Blue/Green</td>
</tr>
<tr>
<td><strong>환경 유형</strong></td>
<td>Web Server / Worker 환경 선택 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-3">💡 사용 예시</h3>
<ul>
<li>웹 애플리케이션 자동 배포</li>
<li>테스트/스테이징 환경 구성</li>
<li>인프라 지식이 없는 개발자용 플랫폼</li>
</ul>
<hr>
<h3 id="🐳-amazon-ecs-elastic-container-service">🐳 Amazon ECS (Elastic Container Service)</h3>
<h4 id="정의-4">정의</h4>
<p>ECS는 <strong>Docker 컨테이너를 실행·관리하는 AWS 전용 오케스트레이션 서비스</strong>
EC2 또는 서버리스 Fargate 런타임을 선택할 수 있음.</p>
<hr>
<h3 id="⚙️-주요-특징-3">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>컨테이너 관리</strong></td>
<td>Task, Service 단위로 배포/유지</td>
</tr>
<tr>
<td><strong>런타임 옵션</strong></td>
<td>EC2 (직접 관리) / Fargate (서버리스)</td>
</tr>
<tr>
<td><strong>Task Definition</strong></td>
<td>컨테이너 실행 설정(JSON 형식)</td>
</tr>
<tr>
<td><strong>ALB 통합</strong></td>
<td>서비스별 트래픽 분배 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-4">💡 사용 예시</h3>
<ul>
<li>마이크로서비스 아키텍처 운영</li>
<li>CI/CD 파이프라인 배포</li>
<li>서버리스 컨테이너 (Fargate 기반)</li>
</ul>
<hr>
<h3 id="☸️-amazon-eks-elastic-kubernetes-service">☸️ Amazon EKS (Elastic Kubernetes Service)</h3>
<h4 id="정의-5">정의</h4>
<p>EKS는 <strong>Kubernetes를 완전관리형으로 제공하는 서비스</strong>로,
제어 플레인(Control Plane)을 AWS가 자동으로 관리함.</p>
<hr>
<h3 id="⚙️-주요-특징-4">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Managed Control Plane</strong></td>
<td>자동 업그레이드, 패치, 고가용성 보장</td>
</tr>
<tr>
<td><strong>노드 구성</strong></td>
<td>EC2 또는 Fargate 선택 가능</td>
</tr>
<tr>
<td><strong>네트워킹</strong></td>
<td>Pod 단위 IP 부여 (VPC CNI)</td>
</tr>
<tr>
<td><strong>통합성</strong></td>
<td>IAM, ALB Controller, CloudWatch와 연동 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-5">💡 사용 예시</h3>
<ul>
<li>쿠버네티스 기반 애플리케이션 관리</li>
<li>온프레미스 + AWS 하이브리드 클러스터</li>
<li>Pod 단위 MSA 아키텍처</li>
</ul>
<hr>
<h3 id="📘-서비스-비교-요약">📘 서비스 비교 요약</h3>
<table>
<thead>
<tr>
<th>서비스</th>
<th>유형</th>
<th>대표 특징</th>
<th>주요 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td><strong>EC2</strong></td>
<td>IaaS</td>
<td>유연한 제어, 완전한 OS 접근</td>
<td>웹/DB 서버</td>
</tr>
<tr>
<td><strong>Auto Scaling</strong></td>
<td>관리형</td>
<td>트래픽 기반 확장</td>
<td>웹 트래픽 대응</td>
</tr>
<tr>
<td><strong>Lambda</strong></td>
<td>서버리스</td>
<td>이벤트 기반, 무서버 실행</td>
<td>백엔드 자동화</td>
</tr>
<tr>
<td><strong>Beanstalk</strong></td>
<td>PaaS</td>
<td>코드 기반 자동 배포</td>
<td>웹 앱 개발</td>
</tr>
<tr>
<td><strong>ECS</strong></td>
<td>컨테이너</td>
<td>AWS 네이티브 오케스트레이션</td>
<td>MSA, CI/CD</td>
</tr>
<tr>
<td><strong>EKS</strong></td>
<td>컨테이너(K8s)</td>
<td>쿠버네티스 표준 환경</td>
<td>하이브리드 MSA</td>
</tr>
</tbody></table>
<hr>
<h3 id="🧾-정리">🧾 정리</h3>
<p>AWS Compute 계열은 <strong>IaaS → PaaS → Serverless → Container</strong></p>
<p>설계 시 고려 포인트</p>
<ul>
<li>인프라 제어 수준 (EC2 vs Lambda)</li>
<li>컨테이너 관리 복잡도 (ECS vs EKS)</li>
<li>자동화 및 확장 정책 (Auto Scaling / Beanstalk)</li>
<li>비용 최적화 전략 (Fargate, Spot, Savings Plan)</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Storage 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-Storage-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@dev-rocket/AWS-Storage-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Thu, 23 Oct 2025 10:21:24 GMT</pubDate>
            <description><![CDATA[<h3 id="📦-amazon-ebs-elastic-block-store">📦 Amazon EBS (Elastic Block Store)</h3>
<h4 id="정의">정의</h4>
<p>EBS는 <strong>EC2 인스턴스 전용 블록 스토리지 서비스</strong>로,
가상 하드디스크처럼 동작함.
운영체제(OS), 데이터베이스, 애플리케이션 데이터 등
<strong>고성능·지속 저장이 필요한 데이터</strong>에 사용됨.</p>
<hr>
<h3 id="⚙️-주요-특징">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>블록 스토리지</strong></td>
<td>파일 단위가 아닌 블록 단위로 저장됨 (로우 레벨 I/O)</td>
</tr>
<tr>
<td><strong>EC2 전용</strong></td>
<td>반드시 EC2 인스턴스에 연결되어야 사용 가능함</td>
</tr>
<tr>
<td><strong>지속성</strong></td>
<td>인스턴스 종료 후에도 데이터 유지됨 (EBS Volume은 별도 존재)</td>
</tr>
<tr>
<td><strong>가용성</strong></td>
<td>동일 AZ 내에서 복제되어 안정적임</td>
</tr>
<tr>
<td><strong>스냅샷 (Snapshot)</strong></td>
<td>S3에 백업 가능함. 다른 리전으로 복사 가능함</td>
</tr>
<tr>
<td><strong>성능 옵션</strong></td>
<td>gp3 (범용 SSD), io2 (고성능 IOPS SSD), st1/sc1 (HDD) 제공됨</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시">💡 사용 예시</h3>
<ul>
<li>EC2 루트 볼륨</li>
<li>데이터베이스 스토리지 (MySQL, PostgreSQL 등)</li>
<li>지속성이 필요한 로그/트랜잭션 저장소</li>
</ul>
<hr>
<h3 id="🗂️-amazon-efs-elastic-file-system">🗂️ Amazon EFS (Elastic File System)</h3>
<h4 id="정의-1">정의</h4>
<p>EFS는 <strong>NFS(Network File System)</strong> 기반의 공유 파일 스토리지임.
여러 EC2 인스턴스에서 동시에 접근 가능함.</p>
<hr>
<h3 id="⚙️-주요-특징-1">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>파일 스토리지</strong></td>
<td>디렉터리·파일 구조 지원 (POSIX 호환)</td>
</tr>
<tr>
<td><strong>다중 인스턴스 공유</strong></td>
<td>여러 EC2에서 동시에 마운트 가능함</td>
</tr>
<tr>
<td><strong>자동 확장</strong></td>
<td>저장 용량 자동 조정됨 (무제한 확장)</td>
</tr>
<tr>
<td><strong>AZ 간 고가용성</strong></td>
<td>리전 내 여러 AZ에 자동 복제됨</td>
</tr>
<tr>
<td><strong>비용 최적화 모드</strong></td>
<td>Standard / Infrequent Access (IA) 두 가지 티어 지원함</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-1">💡 사용 예시</h3>
<ul>
<li>웹서버 간 공유 파일 저장소 (예: 이미지, 로그)</li>
<li>머신러닝 학습 데이터 공유 디렉터리</li>
<li>컨테이너 기반 워크로드의 공용 파일 저장</li>
</ul>
<hr>
<h3 id="💽-amazon-fsx">💽 Amazon FSx</h3>
<h4 id="정의-2">정의</h4>
<p>FSx는 <strong>특정 파일시스템을 완전관리형으로 제공하는 서비스</strong>임.
Windows, Lustre, NetApp 등 특정 워크로드에 특화된 파일 시스템 제공함.</p>
<hr>
<h3 id="⚙️-주요-유형">⚙️ 주요 유형</h3>
<table>
<thead>
<tr>
<th>유형</th>
<th>설명</th>
<th>사용 예시</th>
</tr>
</thead>
<tbody><tr>
<td><strong>FSx for Windows File Server</strong></td>
<td>SMB 기반 윈도우 파일시스템</td>
<td>AD 연동, 사내 파일서버</td>
</tr>
<tr>
<td><strong>FSx for Lustre</strong></td>
<td>HPC(고성능 컴퓨팅)용 병렬 파일시스템</td>
<td>AI/ML 데이터 분석</td>
</tr>
<tr>
<td><strong>FSx for NetApp ONTAP</strong></td>
<td>NetApp 기능 AWS 버전</td>
<td>Snapshot, Clone 등 고급 기능 활용</td>
</tr>
<tr>
<td><strong>FSx for OpenZFS</strong></td>
<td>오픈소스 ZFS 기반</td>
<td>데이터 무결성 중심 워크로드</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-2">💡 사용 예시</h3>
<ul>
<li>사내 파일서버 클라우드 이전</li>
<li>대규모 AI/ML 트레이닝용 데이터 처리</li>
<li>NetApp 환경을 AWS로 마이그레이션</li>
</ul>
<hr>
<h3 id="🧱-aws-storage-gateway">🧱 AWS Storage Gateway</h3>
<h4 id="정의-3">정의</h4>
<p>Storage Gateway는 <strong>온프레미스 환경과 AWS 스토리지를 연결하는 하이브리드 서비스</strong>임.
로컬 서버에서 AWS S3, EBS, Glacier 등을 사용하는 것처럼 동작함.</p>
<hr>
<h3 id="⚙️-주요-모드">⚙️ 주요 모드</h3>
<table>
<thead>
<tr>
<th>모드</th>
<th>설명</th>
<th>사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td><strong>File Gateway</strong></td>
<td>로컬 파일을 S3에 자동 업로드 (NFS/SMB 기반)</td>
<td>온프레미스 백업</td>
</tr>
<tr>
<td><strong>Volume Gateway</strong></td>
<td>블록 스토리지(EBS 스타일) 캐싱/스냅샷 제공</td>
<td>DB 백업</td>
</tr>
<tr>
<td><strong>Tape Gateway</strong></td>
<td>가상 테이프(VTL)로 Glacier 연동</td>
<td>장기 보관 아카이브</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-3">💡 사용 예시</h3>
<ul>
<li>온프레미스 NAS → S3 전송</li>
<li>하이브리드 백업 환경 구성</li>
</ul>
<hr>
<h3 id="🧊-aws-backup">🧊 AWS Backup</h3>
<h4 id="정의-4">정의</h4>
<p>AWS Backup은 <strong>EBS, RDS, DynamoDB, EFS, FSx 등 다양한 서비스의 백업을 통합 관리</strong>함.</p>
<hr>
<h3 id="⚙️-주요-특징-2">⚙️ 주요 특징</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>중앙 관리</strong></td>
<td>여러 서비스의 백업 정책을 한 곳에서 관리 가능함</td>
</tr>
<tr>
<td><strong>자동화 정책</strong></td>
<td>스케줄 기반 백업/보존 주기 설정 가능함</td>
</tr>
<tr>
<td><strong>Cross-Region Backup</strong></td>
<td>다른 리전으로 백업 복제 가능함</td>
</tr>
<tr>
<td><strong>Cross-Account Backup</strong></td>
<td>다른 계정으로 백업 전송 가능함 (DR 목적)</td>
</tr>
<tr>
<td><strong>암호화 지원</strong></td>
<td>KMS 통합 암호화 가능함</td>
</tr>
</tbody></table>
<hr>
<h3 id="💡-사용-예시-4">💡 사용 예시</h3>
<ul>
<li>EBS, RDS, DynamoDB 백업 관리</li>
<li>규제 준수용 장기 보존 정책 구성</li>
<li>다계정 DR 아키텍처 구성</li>
</ul>
<hr>
<h3 id="📘-서비스-비교-요약">📘 서비스 비교 요약</h3>
<table>
<thead>
<tr>
<th>서비스</th>
<th>유형</th>
<th>접근 방식</th>
<th>주요 사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td><strong>EBS</strong></td>
<td>블록</td>
<td>EC2 전용</td>
<td>운영체제, DB, 트랜잭션 로그</td>
</tr>
<tr>
<td><strong>EFS</strong></td>
<td>파일</td>
<td>NFS</td>
<td>웹서버 공유, 데이터 분석</td>
</tr>
<tr>
<td><strong>FSx</strong></td>
<td>파일(특수)</td>
<td>SMB/NFS 등</td>
<td>Windows, HPC, NetApp</td>
</tr>
<tr>
<td><strong>Storage Gateway</strong></td>
<td>하이브리드</td>
<td>온프레미스 ↔ AWS</td>
<td>백업, DR, 데이터 이전</td>
</tr>
<tr>
<td><strong>Backup</strong></td>
<td>관리형 백업</td>
<td>콘솔/API</td>
<td>다서비스 자동 백업 관리</td>
</tr>
</tbody></table>
<hr>
<h3 id="🧾-정리">🧾 정리</h3>
<p>AWS Storage 계열 서비스는 단순 저장소를 넘어
<strong>운영 환경(EC2), 협업(파일 공유), 분석(HPC), 백업/DR</strong> 등
다양한 목적에 맞게 활용됨.</p>
<hr>
<p>설계 시 고려해야 할 포인트</p>
<ul>
<li>EC2 연동 여부 (EBS vs EFS)</li>
<li>온프레미스 연계 여부 (Storage Gateway)</li>
<li>백업/복구 정책 (AWS Backup)</li>
<li>규제/보존 요구사항 (FSx, Glacier, Object Lock 등)</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS S3 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-S3-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@dev-rocket/AWS-S3-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Wed, 15 Oct 2025 11:42:09 GMT</pubDate>
            <description><![CDATA[<h3 id="aws-s3">AWS S3</h3>
<p> 정의 : S3는 <strong>AWS에서 제공하는 객체 스토리지 서비스</strong>로,
데이터를 파일 단위(Object 단위)로 저장하고 인터넷을 통해 접근할 수 있다.
EC2가 ‘가상 서버’라면, S3는 ‘무한히 확장 가능한 클라우드 저장소’라고 이해할 수 있다.</p>
<hr>
<h2 id="s3의-핵심-목적">S3의 핵심 목적</h2>
<table>
<thead>
<tr>
<th>목적</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>확장성 (Scalability)</td>
<td>데이터 용량에 제한이 없으며 자동으로 확장 가능</td>
</tr>
<tr>
<td>내구성 (Durability)</td>
<td>여러 AZ에 복제 저장하기 때문에 데이터 유실이 0에 수렴</td>
</tr>
<tr>
<td>가용성 (Availability)</td>
<td>다중 AZ 분산 저장으로 장애 발생 시에도 데이터 접근 가능</td>
</tr>
<tr>
<td>보안성 (Security)</td>
<td>IAM 정책, 버킷 정책, 암호화(KMS) 등으로 접근 제어</td>
</tr>
<tr>
<td>비용 효율성 (Cost Optimization)</td>
<td>사용한 스토리지와 요청량만큼만 과금 (Pay-as-you-go)</td>
</tr>
</tbody></table>
<hr>
<h2 id="⚙️-s3-주요-구성요소">⚙️ S3 주요 구성요소</h2>
<table>
<thead>
<tr>
<th>구성요소</th>
<th>설명</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td>Bucket</td>
<td>데이터를 저장하는 컨테이너</td>
<td>my-project-data</td>
</tr>
<tr>
<td>Object</td>
<td>S3에 저장되는 실제 데이터 (파일 단위)</td>
<td>image.png, log.txt</td>
</tr>
<tr>
<td>Key</td>
<td>버킷 내에서 Object를 구분하는 고유 식별자</td>
<td>images/profile/user1.png</td>
</tr>
<tr>
<td>Region</td>
<td>데이터가 저장되는 물리적 위치</td>
<td>ap-northeast-2 (서울), us-east-1</td>
</tr>
<tr>
<td>Storage Class</td>
<td>접근 빈도에 따라 비용과 성능이 다른 저장 유형</td>
<td>Standard, IA, Glacier</td>
</tr>
<tr>
<td>Versioning</td>
<td>동일한 파일의 변경 이력을 관리</td>
<td>version ID별로 복원 가능</td>
</tr>
<tr>
<td>Lifecycle Policy</td>
<td>자동으로 스토리지 클래스 전환 또는 삭제</td>
<td>30일 후 Glacier로 이동</td>
</tr>
<tr>
<td>Encryption</td>
<td>저장 데이터 암호화 기능</td>
<td>SSE-S3, SSE-KMS</td>
</tr>
<tr>
<td>Object Lock</td>
<td>특정 기간 동안 객체 삭제 방지</td>
<td>규제 준수용 백업</td>
</tr>
<tr>
<td>Access Point</td>
<td>대규모 데이터셋에 대한 접근 제어 단순화</td>
<td>분석팀 전용 접근 경로 생성</td>
</tr>
</tbody></table>
<hr>
<h3 id="s3와-iam의-관계">S3와 IAM의 관계</h3>
<ul>
<li>S3 리소스 접근은 <strong>IAM 정책 또는 버킷 정책</strong>으로 제어됨</li>
<li>EC2나 Lambda가 S3에 접근할 때는 <strong>IAM Role을 부여</strong>해
Access Key 없이 안전하게 API 호출 가능</li>
</ul>
<p>📌 <strong>예시:</strong>
EC2 → IAM Role 부여 → S3 버킷 접근 (<code>s3:GetObject</code>, <code>s3:PutObject</code>)</p>
<hr>
<h3 id="🧊-s3-저장-클래스-비교">🧊 S3 저장 클래스 비교</h3>
<table>
<thead>
<tr>
<th>클래스</th>
<th>특징</th>
<th>사용 예시</th>
</tr>
</thead>
<tbody><tr>
<td>Standard</td>
<td>자주 접근하는 데이터, 높은 내구성/가용성</td>
<td>웹 애플리케이션, 정적 콘텐츠</td>
</tr>
<tr>
<td>Standard-IA (Infrequent Access)</td>
<td>가끔 접근하지만 빠른 접근이 필요한 데이터</td>
<td>백업, 로그</td>
</tr>
<tr>
<td>One Zone-IA</td>
<td>단일 AZ에 저장, 비용 저렴</td>
<td>재생성 가능한 데이터</td>
</tr>
<tr>
<td>Glacier Instant Retrieval</td>
<td>즉시 복원 가능한 아카이브용</td>
<td>자주 조회되는 백업</td>
</tr>
<tr>
<td>Glacier Flexible Retrieval</td>
<td>수 분~수 시간 내 복원 가능</td>
<td>장기 보관 데이터</td>
</tr>
<tr>
<td>Glacier Deep Archive</td>
<td>가장 저렴, 12시간 내 복원</td>
<td>규제/기록용 보관</td>
</tr>
<tr>
<td>Intelligent-Tiering</td>
<td>접근 패턴에 따라 자동으로 클래스 이동</td>
<td>접근 패턴이 불확실한 데이터</td>
</tr>
</tbody></table>
<hr>
<h3 id="💰-s3-비용-구조">💰 S3 비용 구조</h3>
<p><strong>S3 비용 = 저장 용량 + 전송량</strong></p>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>스토리지 사용량</td>
<td>저장된 데이터 용량(GB 단위)</td>
</tr>
<tr>
<td>요청(Request)</td>
<td>GET, PUT, LIST 등의 API 호출 횟수</td>
</tr>
<tr>
<td>데이터 전송</td>
<td>AWS 밖으로 나가는 아웃바운드 트래픽</td>
</tr>
<tr>
<td>Lifecycle Transition</td>
<td>스토리지 클래스 간 이동 시 발생하는 비용</td>
</tr>
<tr>
<td>복제 비용</td>
<td>Cross-Region Replication 사용 시 추가 과금</td>
</tr>
</tbody></table>
<h4 id="비용-절감-팁"><strong>비용 절감 팁</strong></h4>
<ul>
<li>자주 접근하지 않는 데이터는 Glacier/IA로 이동</li>
<li>S3 Intelligent-Tiering으로 자동 전환</li>
<li>CloudFront를 이용해 트래픽 절감</li>
</ul>
<hr>
<h3 id="🗂️-s3-버전-관리--백업">🗂️ S3 버전 관리 &amp; 백업</h3>
<table>
<thead>
<tr>
<th>기능</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>Versioning</td>
<td>파일 변경 시 이전 버전 자동 보존</td>
</tr>
<tr>
<td>Replication</td>
<td>다른 리전에 자동 복제 (CRR, SRR)</td>
</tr>
<tr>
<td>Object Lock</td>
<td>데이터 삭제 및 변경 방지</td>
</tr>
<tr>
<td>AWS Backup</td>
<td>중앙 집중식 백업 관리 서비스</td>
</tr>
</tbody></table>
<hr>
<h3 id="🔏-s3-보안-관리">🔏 S3 보안 관리</h3>
<table>
<thead>
<tr>
<th>주제</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>IAM Policy</td>
<td>사용자별 접근 권한 정의</td>
</tr>
<tr>
<td>Bucket Policy</td>
<td>버킷 전체에 대한 접근 제어 설정</td>
</tr>
<tr>
<td>ACL (Access Control List)</td>
<td>객체 수준 접근 제어 (현재는 권장 X)</td>
</tr>
<tr>
<td>Encryption</td>
<td>SSE-S3, SSE-KMS, Client-side Encryption 지원</td>
</tr>
<tr>
<td>Public Access Block</td>
<td>외부 공개 방지를 위한 기본 설정</td>
</tr>
<tr>
<td>MFA Delete</td>
<td>삭제 시 다중 인증 요구</td>
</tr>
</tbody></table>
<hr>
<h3 id="⚙️-s3-관리-포인트">⚙️ S3 관리 포인트</h3>
<table>
<thead>
<tr>
<th>주제</th>
<th>핵심 내용</th>
</tr>
</thead>
<tbody><tr>
<td>Lifecycle Rule</td>
<td>일정 기간 후 자동 삭제 또는 Glacier 이동</td>
</tr>
<tr>
<td>CloudWatch Metrics</td>
<td>요청 수, 오류율, 데이터 전송량 모니터링</td>
</tr>
<tr>
<td>S3 Event Notification</td>
<td>객체 업로드/삭제 시 Lambda, SNS, SQS 트리거</td>
</tr>
<tr>
<td>Transfer Acceleration</td>
<td>글로벌 엣지 네트워크를 통한 업로드 가속</td>
</tr>
<tr>
<td>Static Website Hosting</td>
<td>정적 웹사이트를 S3 버킷으로 호스팅 가능</td>
</tr>
<tr>
<td>Cross-Region Replication</td>
<td>다른 리전으로 자동 백업 복제</td>
</tr>
<tr>
<td>Access Analyzer</td>
<td>잘못된 공개 권한 탐지 기능</td>
</tr>
</tbody></table>
<hr>
<h3 id="s3-활용-예시">S3 활용 예시</h3>
<table>
<thead>
<tr>
<th>시나리오</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>정적 웹사이트 호스팅</td>
<td>HTML/CSS/JS 파일을 S3에 저장 후 URL로 제공</td>
</tr>
<tr>
<td>백업 및 로그 저장</td>
<td>CloudTrail, ALB, EC2 로그를 장기 보관</td>
</tr>
<tr>
<td>데이터 분석 파이프라인</td>
<td>Athena, Glue, Redshift와 연계해 데이터 레이크 구성</td>
</tr>
<tr>
<td>CI/CD 아티팩트 저장</td>
<td>빌드 결과물, 배포 파일 저장소로 활용</td>
</tr>
</tbody></table>
<hr>
<h3 id="🧾-정리">🧾 정리</h3>
<p>S3는 AWS의 대표적인 객체 스토리지 서비스로, 높은 내구성과 확장성을 제공하며 다양한 스토리지 클래스와 연계 서비스(CloudFront, Glacier, Lambda 등)를 통해 데이터 백업, 분석, 웹 호스팅 등 다양한 용도로 활용 가능하다.</p>
<p>실제 시스템 설계에서는 <strong>접근 패턴, 암호화 정책, Lifecycle 관리, 비용 구조</strong>를
함께 고려해야 효율적이고 안전한 스토리지 구성이 가능하다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS EC2 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-EC2</link>
            <guid>https://velog.io/@dev-rocket/AWS-EC2</guid>
            <pubDate>Thu, 09 Oct 2025 08:55:40 GMT</pubDate>
            <description><![CDATA[<h4 id="aws-ec2-elastic-compute-cloud-정의">AWS EC2 (Elastic Compute Cloud) 정의</h4>
<p>EC2는 클라우드에서 가상 서버(Instance)를 제공하는 서비스로, 사용자는 필요한 컴퓨팅 자원을 유연하게 생성하고 관리할 수 있으며 AWS에서 사용하는 가상의 컴퓨터라고 이해할 수 있다.</p>
<hr>
<h3 id="ec2의-핵심-목적">EC2의 핵심 목적</h3>
<table>
<thead>
<tr>
<th>목적</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>컴퓨팅 리소스 제공</td>
<td>CPU, 메모리, 스토리지, 네트워크 등을 자유롭게 구성 가능한 서버 환경</td>
</tr>
<tr>
<td>확장성 (Scalability)</td>
<td>Auto Scaling을 통해 트래픽 변화에 따라 인스턴스를 자동으로 증감</td>
</tr>
<tr>
<td>비용 효율성 (Cost Optimization)</td>
<td>사용한 만큼만 지불하며, Spot/Reserved Instance를 활용해 비용 절감 가능</td>
</tr>
<tr>
<td>가용성 (Availability)</td>
<td>여러 AZ(Availability Zone)에 인스턴스를 분산 배치하여 서비스 중단 위험 최소화</td>
</tr>
<tr>
<td>유연한 배포 (Flexibility)</td>
<td>다양한 운영체제, AMI, 네트워크 설정을 선택 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="ec2-주요-구성요소">EC2 주요 구성요소</h3>
<table>
<thead>
<tr>
<th>구성 요소</th>
<th>설명</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td>AMI (Amazon Machine Image)</td>
<td>인스턴스의 운영체제 및 소프트웨어 템플릿</td>
<td>Ubuntu, Amazon Linux, Windows Server</td>
</tr>
<tr>
<td>Instance Type</td>
<td>CPU, 메모리, 네트워크 성능의 조합</td>
<td>t2.micro, m5.large, c6g.xlarge</td>
</tr>
<tr>
<td>EBS (Elastic Block Store)</td>
<td>인스턴스의 영구 스토리지</td>
<td>OS용 Root Volume, 데이터 Volume</td>
</tr>
<tr>
<td>Instance Store</td>
<td>인스턴스 종료 시 삭제되는 임시 로컬 스토리지</td>
<td>캐시, 임시 처리용 데이터</td>
</tr>
<tr>
<td>Security Group</td>
<td>인스턴스의 가상 방화벽 (인바운드/아웃바운드 규칙 설정)</td>
<td>TCP 22(SSH), TCP 80(HTTP) 허용</td>
</tr>
<tr>
<td>Key Pair (SSH Key)</td>
<td>인스턴스 접근을 위한 인증 키</td>
<td>ec2-key.pem</td>
</tr>
<tr>
<td>Elastic IP (EIP)</td>
<td>고정 퍼블릭 IP</td>
<td>외부 서비스 접근 시 사용</td>
</tr>
<tr>
<td>Elastic Network Interface (ENI)</td>
<td>가상 네트워크 카드</td>
<td>보조 NIC, Multi-homing 구성</td>
</tr>
<tr>
<td>Placement Group</td>
<td>인스턴스 배치 전략</td>
<td>Cluster / Spread / Partition</td>
</tr>
</tbody></table>
<hr>
<h3 id="ec2와-iam의-관계">EC2와 IAM의 관계</h3>
<p>EC2 인스턴스에서도 다른 AWS 리소스(S3, DynamoDB 등)에 접근할 수 있다.
이를 위해 IAM Role을 EC2에 연결하면, 인스턴스 내부 애플리케이션이 Access Key 없이 안전하게 AWS API를 호출할 수 있다.</p>
<p>예시: EC2 → IAM Role 부여 → S3 버킷 접근 (<code>s3:GetObject</code>)</p>
<hr>
<h3 id="ec2-요금-유형-비교">EC2 요금 유형 비교</h3>
<table>
<thead>
<tr>
<th>유형</th>
<th>특징</th>
<th>비고</th>
</tr>
</thead>
<tbody><tr>
<td>On-Demand</td>
<td>사용한 만큼만 지불, 약정 없음</td>
<td>테스트 환경, 예측이 어려운 워크로드</td>
</tr>
<tr>
<td>Reserved Instance (RI)</td>
<td>1~3년 약정으로 최대 75% 절감</td>
<td>장기적이고 안정적인 서비스</td>
</tr>
<tr>
<td>Spot Instance</td>
<td>AWS의 남는 컴퓨팅 자원을 고정 할인율(최대 90%)로 제공, 필요 시 회수될 수 있음</td>
<td>비핵심 작업, 배치형 연산, 테스트·데이터 분석 등 중단 허용 가능한 작업</td>
</tr>
<tr>
<td>Savings Plan</td>
<td>RI보다 유연하게 적용 가능, 인스턴스 패밀리 무관</td>
<td>다양한 워크로드 혼합 환경</td>
</tr>
<tr>
<td>Dedicated Host/Instance</td>
<td>물리 서버 단독 사용</td>
<td>라이선스 요구, 규제 준수 환경</td>
</tr>
</tbody></table>
<hr>
<h3 id="ec2-수명-주기">EC2 수명 주기</h3>
<ol>
<li>Launch : AMI, Instance Type, Key, Security Group 설정 후 시작</li>
<li>Running : SSH 또는 RDP로 접속 및 사용</li>
<li>Stop : 일시 중지 (EBS는 유지됨)</li>
<li>Terminate : 인스턴스 및 EBS 삭제 (복구 불가)</li>
</ol>
<hr>
<h3 id="ec2-관리-포인트">EC2 관리 포인트</h3>
<table>
<thead>
<tr>
<th>주제</th>
<th>핵심 내용</th>
</tr>
</thead>
<tbody><tr>
<td>User Data</td>
<td>인스턴스 시작 시 자동 실행되는 초기 설정 스크립트</td>
</tr>
<tr>
<td>Elastic Load Balancer (ELB)</td>
<td>여러 EC2 인스턴스에 트래픽을 분산</td>
</tr>
<tr>
<td>Auto Scaling Group (ASG)</td>
<td>트래픽 변화에 따라 인스턴스를 자동 증감</td>
</tr>
<tr>
<td>CloudWatch</td>
<td>CPU, 네트워크 등 모니터링 및 알람 설정</td>
</tr>
<tr>
<td>EBS Snapshot</td>
<td>EBS 볼륨 백업, AMI 생성에 활용</td>
</tr>
<tr>
<td>Placement Group 전략</td>
<td>Cluster(고성능), Spread(분산), Partition(대규모 분산) 구성 방식 선택 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="정리">정리</h3>
<blockquote>
<p>EC2는 AWS 클라우드에서 제공하는 가상 서버 서비스로 필요한 컴퓨팅 자원을 유연하게 사용할 수 있으며,
Auto Scaling, ELB, IAM Role 등과 연계하여 확장성과 보안성을 동시에 확보할 수 있다.</p>
</blockquote>
<blockquote>
<p>실제 시스템 설계에서는 EC2의 요금제, IAM Role 설정,현재 상황 및 Auto Scaling 구조를 함께 고려하는 것이 중요하다.</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS IAM 정리]]></title>
            <link>https://velog.io/@dev-rocket/AWS-IAM-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@dev-rocket/AWS-IAM-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Tue, 07 Oct 2025 11:43:19 GMT</pubDate>
            <description><![CDATA[<hr>
<h4 id="iam-정의">IAM 정의</h4>
<p><strong>IAM (Identity and Access Management)</strong> 은
AWS 리소스(예: EC2, S3, RDS 등)에 접근할 수 있는 사용자와 권한을 관리하는 서비스다.</p>
<p>쉽게 말하면 “누가(AWS User, Role, Principal)가 무엇(Resource)에 어떤 방식으로(Action) 접근할 수 있는가”를 정의하는 시스템이다.</p>
<hr>
<h4 id="iam의-핵심-목적">IAM의 핵심 목적</h4>
<ol>
<li><p><strong>인증(Authentication)</strong></p>
<ul>
<li>누가 로그인했는지를 식별</li>
<li>예: 사용자, 애플리케이션, 외부 ID 제공자 등</li>
</ul>
</li>
<li><p><strong>인가(Authorization)</strong></p>
<ul>
<li>인증된 사용자가 어떤 행동을 할 수 있는지 결정</li>
<li>정책(Policy)을 통해 서비스별로 세밀하게 제어</li>
</ul>
</li>
<li><p><strong>보안 관리(Security Control)</strong></p>
<ul>
<li>MFA(다단계 인증), 임시 자격 증명(STS Token), 최소 권한 원칙(Least Privilege Principle) 등을 통해 계정 보안 강화</li>
<li>사용자의 접근 권한 주기적 검토, 비활성 계정 관리, Access Key 회전(rotate)을 통해 용이한 유지보수</li>
</ul>
</li>
</ol>
<hr>
<h3 id="iam-주요-구성요소">IAM 주요 구성요소</h3>
<table>
<thead>
<tr>
<th align="left">구성 요소</th>
<th align="left">설명</th>
<th align="left">예시</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>User</strong></td>
<td align="left">AWS에 로그인할 수 있는 개별 계정</td>
<td align="left">ex) <code>dev_user</code>, <code>admin_user</code></td>
</tr>
<tr>
<td align="left"><strong>Group</strong></td>
<td align="left">여러 사용자를 묶어 동일한 권한 부여</td>
<td align="left">ex) <code>Developers</code>, <code>Auditors</code></td>
</tr>
<tr>
<td align="left"><strong>Role</strong></td>
<td align="left">특정 서비스나 외부 사용자에게 임시 권한 부여</td>
<td align="left">ex) EC2 → S3 접근용 Role</td>
</tr>
<tr>
<td align="left"><strong>Policy</strong></td>
<td align="left">권한을 정의한 JSON 형식의 문서</td>
<td align="left">ex) <code>&quot;Action&quot;: &quot;s3:*&quot;, &quot;Resource&quot;: &quot;*&quot;</code></td>
</tr>
<tr>
<td align="left"><strong>STS</strong></td>
<td align="left">임시 자격 증명을 발급하는 서비스</td>
<td align="left">ex) <code>AssumeRole</code>, 연동 로그인 등</td>
</tr>
</tbody></table>
<hr>
<h3 id="iam-policy-구조-예시">IAM Policy 구조 예시</h3>
<pre><code class="language-json">{
  &quot;Version&quot;: &quot;2012-10-17&quot;,
  &quot;Statement&quot;: [
    {
      &quot;Effect&quot;: &quot;Allow&quot;,
      &quot;Action&quot;: &quot;s3:ListBucket&quot;,
      &quot;Resource&quot;: &quot;arn:aws:s3:::example-bucket&quot;
    }
  ]
}</code></pre>
<ul>
<li><strong>Effect</strong>: <code>Allow</code> 또는 <code>Deny</code></li>
<li><strong>Action</strong>: 허용할 작업 (예: <code>s3:GetObject</code>)</li>
<li><strong>Resource</strong>: 적용 대상 리소스</li>
<li><strong>Condition</strong>: 특정 조건(IP, 시간대 등)</li>
</ul>
<hr>
<h3 id="iam의-역할-요약">IAM의 역할 요약</h3>
<table>
<thead>
<tr>
<th align="left">역할</th>
<th align="left">설명</th>
</tr>
</thead>
<tbody><tr>
<td align="left">사용자 관리</td>
<td align="left">사람·애플리케이션 계정 생성 및 접근 제어</td>
</tr>
<tr>
<td align="left">권한 제어</td>
<td align="left">리소스별 접근 정책 관리</td>
</tr>
<tr>
<td align="left">보안 강화</td>
<td align="left">MFA, 비밀번호 정책, 세션 관리</td>
</tr>
<tr>
<td align="left">교차 계정 접근</td>
<td align="left">Cross-account Role로 다른 계정 리소스 접근 가능</td>
</tr>
</tbody></table>
<hr>
<h3 id="정리">정리</h3>
<blockquote>
<p>IAM은 필요에 의해 “누가, 무엇에, 어떻게 접근할 수 있는가”를 정의하는 AWS의 권한 관리 시스템이다.</p>
<p>모든 AWS 서비스는 IAM 위에서 동작하며, 보안 설계의 첫 단계는 항상 IAM 구조를 올바르게 잡는 것이다.</p>
</blockquote>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Route53 실습]]></title>
            <link>https://velog.io/@dev-rocket/AWS-Route53-%EC%8B%A4%EC%8A%B5</link>
            <guid>https://velog.io/@dev-rocket/AWS-Route53-%EC%8B%A4%EC%8A%B5</guid>
            <pubDate>Fri, 03 Jan 2025 20:41:45 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>시작하기 전에 </p>
</blockquote>
<p>실습 전 리전이 왜 글로벌로 되어있을까? 라는 의문이 있었지만</p>
<p>AWS 자체에서 설정한 값이라 하기에 넘어가기로 했다.</p>
<blockquote>
<p>실습순서</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/512dc9b8-3446-48b9-a204-5f99e1b78868/image.png" alt=""></p>
<p>AWS Route53 검색 -&gt; 도메인 등록 -&gt; 사용할 도메인 찾기</p>
<p>필자의 경우는 실습용도라 가장 값이 저렴한 .click 도메인을 선택</p>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/a755056e-fd6f-4dfd-82f8-d4748384b213/image.png" alt=""></p>
<p>도메인의 주소 선택하기 -&gt; 결제진행 </p>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/38579bc0-9b76-46e9-93b2-a3e9f3584f56/image.png" alt=""></p>
<p>필자의 경우 해당 도메인은 실습용이라 자동 갱신을 비활성화 했다.</p>
<p>(만약 도메인을 장기적으로 사용하실 분은 기간을 넓게 설정하면 됩니다!)</p>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/18635cc5-4d5b-415e-b600-3ca63e2b8c95/image.png" alt=""></p>
<p>도메인을 결제할 이용자의 결제 정보를 입력하면 된다.</p>
<p>한가지 주의할 점은 이메일의 경우 구매한 도메인이 잘 작동하는지</p>
<p>확인하는 메일이 발송되기 때문에 기입하는 과정에서 주의를 해야한다.</p>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/ed6535e4-822f-4e23-87c6-0855980c4a69/image.png" alt=""></p>
<p>위와같은 메일을 받았다면 성공!</p>
<p><img src="https://velog.velcdn.com/images/dev-rocket/post/358489b9-b4af-43cf-9514-2206848b43a4/image.png" alt=""></p>
<p>서칭을 해보니 도메인이 보통 빠르면 1~2시간 길면 반나절 정도 지난 후,</p>
<p>상태가 진행 중&#39;에서 &#39;성공&#39; 바뀐다고 한다. (필자는 30분정도 걸렸습니다)</p>
<hr>
<p>이후 ELB를 생성하여 연결하면 끝!</p>
<p>현재는 HTTP로만 통신을 하는데 추후에 EKS 다루면서 HTTPS로 마이그레이션도</p>
<p>해볼 계획이다.</p>
]]></description>
        </item>
    </channel>
</rss>