<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>rosa_5eau.log</title>
        <link>https://velog.io/</link>
        <description>₍ ᐢ. ̫ .ᐢ ₎</description>
        <lastBuildDate>Tue, 21 Jan 2025 04:25:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>rosa_5eau.log</title>
            <url>https://velog.velcdn.com/images/rosa_5eau/profile/527b8b56-0155-41d3-b2bb-128e51abf700/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. rosa_5eau.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/rosa_5eau" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[AWS] AWS 클라우드 네트워크 기반 인프라 구성 (S3 정적 웹사이트 호스팅)]]></title>
            <link>https://velog.io/@rosa_5eau/AWS-AWS-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B0%98-%EC%A0%95%EC%A0%81-%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8-%ED%98%B8%EC%8A%A4%ED%8C%85</link>
            <guid>https://velog.io/@rosa_5eau/AWS-AWS-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B0%98-%EC%A0%95%EC%A0%81-%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8-%ED%98%B8%EC%8A%A4%ED%8C%85</guid>
            <pubDate>Tue, 21 Jan 2025 04:25:46 GMT</pubDate>
            <description><![CDATA[<h1 id="aws-프로젝트-vpc-구성-ec2-생성-및-s3-정적-웹사이트-호스팅">AWS 프로젝트: VPC 구성, EC2 생성 및 S3 정적 웹사이트 호스팅</h1>
<blockquote>
<p>설정값은 전부 임의의 값으로, 변형하여 구성 가능합니다.</p>
</blockquote>
<h2 id="1-vpc-구성-및-네트워크-설계"><strong>1. VPC 구성 및 네트워크 설계</strong></h2>
<h3 id="11-vpc-생성"><strong>1.1. VPC 생성</strong></h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/2899b20e-2a10-45d0-aab9-179566ddfb7e/image.png" alt=""></p>
<ol>
<li>AWS Management Console에서 <strong>VPC</strong> 서비스로 이동합니다.</li>
<li><strong>&quot;Create VPC&quot;</strong>를 클릭하고 다음을 설정합니다:<ul>
<li><strong>Name tag</strong>: <code>MyVPC</code></li>
<li><strong>IPv4 CIDR block</strong>: <code>10.0.0.0/16</code></li>
</ul>
</li>
<li><strong>Create VPC</strong>를 클릭합니다.</li>
</ol>
<h3 id="12-서브넷-생성"><strong>1.2. 서브넷 생성</strong></h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/eb5f73e5-c7ad-4aa1-885a-0a78b75ce80d/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/2a681cd2-6803-4d44-b78f-b1df965c7c35/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/83418dde-fe71-498b-91ff-8b6363b65949/image.png" alt=""></p>
<h4 id="퍼블릭-서브넷-생성">퍼블릭 서브넷 생성</h4>
<ol>
<li><strong>Subnets</strong> 탭에서 <strong>&quot;Create subnet&quot;</strong>을 클릭합니다.</li>
<li>설정:<ul>
<li><strong>Name tag</strong>: <code>PublicSubnet1</code></li>
<li><strong>Availability Zone</strong>: <code>us-east-1a</code></li>
<li><strong>IPv4 CIDR block</strong>: <code>10.0.1.0/24</code></li>
</ul>
</li>
<li><strong>Create subnet</strong>을 클릭합니다.</li>
</ol>
<h4 id="프라이빗-서브넷-생성">프라이빗 서브넷 생성</h4>
<ol>
<li><strong>Subnets</strong> 탭에서 다시 <strong>&quot;Create subnet&quot;</strong>을 클릭합니다.</li>
<li>설정:<ul>
<li><strong>Name tag</strong>: <code>PrivateSubnet1</code></li>
<li><strong>Availability Zone</strong>: <code>us-east-1a</code></li>
<li><strong>IPv4 CIDR block</strong>: <code>10.0.2.0/24</code></li>
</ul>
</li>
<li><strong>Create subnet</strong>을 클릭합니다.</li>
</ol>
<h3 id="13-인터넷-게이트웨이-연결"><strong>1.3. 인터넷 게이트웨이 연결</strong></h3>
<p>(위에 분리되었다는 창은 신경쓰지 마세요..^^)
<img src="https://velog.velcdn.com/images/rosa_5eau/post/758eef39-90e2-4689-a761-326bdb850395/image.png" alt=""></p>
<ol>
<li><strong>Internet Gateways</strong> 탭에서 <strong>&quot;Create internet gateway&quot;</strong>를 클릭합니다.<ul>
<li><strong>Name tag</strong>: <code>MyIGW</code></li>
</ul>
</li>
<li>생성 후, <strong>Actions &gt; Attach to VPC</strong>를 선택하여 VPC에 연결합니다.</li>
</ol>
<h3 id="14-라우팅-테이블-설정"><strong>1.4. 라우팅 테이블 설정</strong></h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/ea74fd87-7318-419d-932c-8f36cfd43363/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/4d8d7c57-0ff3-401f-b0c4-0ea844a5ad1e/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/1e55bbc7-077a-450a-9faa-77f0d482640e/image.png" alt=""></p>
<h4 id="퍼블릭-라우팅-테이블-생성">퍼블릭 라우팅 테이블 생성</h4>
<ol>
<li><strong>Route Tables</strong> 탭에서 <strong>&quot;Create route table&quot;</strong>을 클릭합니다.</li>
<li>설정:<ul>
<li><strong>Name tag</strong>: <code>PublicRT</code></li>
<li><strong>VPC</strong>: <code>MyVPC</code></li>
</ul>
</li>
<li>생성 후, <strong>Routes</strong> 섹션에서 라우트를 추가합니다:<ul>
<li><strong>Destination</strong>: <code>0.0.0.0/0</code></li>
<li><strong>Target</strong>: <code>MyIGW</code></li>
</ul>
</li>
<li><strong>Subnet associations</strong> 탭에서 <code>PublicSubnet1</code>을 연결합니다.</li>
</ol>
<h4 id="프라이빗-라우팅-테이블-생성">프라이빗 라우팅 테이블 생성</h4>
<ol>
<li><strong>Route Tables</strong> 탭에서 <strong>&quot;Create route table&quot;</strong>을 클릭합니다.</li>
<li>설정:<ul>
<li><strong>Name tag</strong>: <code>PrivateRT</code></li>
<li><strong>VPC</strong>: <code>MyVPC</code></li>
</ul>
</li>
<li>생성 후, 프라이빗 서브넷을 연결합니다.</li>
</ol>
<h3 id="15-nat-게이트웨이-구성"><strong>1.5. NAT 게이트웨이 구성</strong></h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/9627894c-8f8e-45a7-9328-edd92b67b129/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/ac4cf465-d469-4cbb-9edd-caa6c5420a89/image.png" alt=""></p>
<ol>
<li><strong>NAT Gateways</strong> 탭에서 <strong>&quot;Create NAT gateway&quot;</strong>를 클릭합니다.<ul>
<li><strong>Subnet</strong>: <code>PublicSubnet1</code></li>
<li><strong>Elastic IP allocation</strong>: 새 Elastic IP 생성 및 연결 (탄력적 IP 할당)</li>
</ul>
</li>
<li><strong>PrivateRT</strong>에서 라우트를 추가합니다:<ul>
<li><strong>Destination</strong>: <code>0.0.0.0/0</code></li>
<li><strong>Target</strong>: NAT 게이트웨이.</li>
</ul>
</li>
</ol>
<hr>
<h2 id="2-ec2-인스턴스-생성"><strong>2. EC2 인스턴스 생성</strong></h2>
<h3 id="21-ec2-인스턴스-생성"><strong>2.1. EC2 인스턴스 생성</strong></h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/d75636f8-44e9-4e08-be21-fd34390affc1/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/2c6ed46a-b0bf-4c74-bc04-1beb4a82c9b7/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/a6c8681c-8217-4295-99cf-1dacaa68dc64/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/29d70442-5499-4e60-96c9-52e83b346680/image.png" alt=""></p>
<ol>
<li>EC2 대시보드에서 <strong>Launch instances</strong>를 클릭합니다.</li>
<li>설정:<ul>
<li><strong>Name</strong>: <code>MyEC2Instance</code></li>
<li><strong>AMI</strong>: Amazon Linux 2 선택</li>
<li><strong>Instance type</strong>: <code>t2.micro</code></li>
<li><strong>Key pair</strong>: 새 키 페어 생성 또는 기존 키 선택</li>
<li><strong>Network</strong>:<ul>
<li><strong>VPC</strong>: <code>MyVPC</code></li>
<li><strong>Subnet</strong>: <code>PublicSubnet1</code></li>
<li><strong>Auto-assign public IP</strong>: 활성화</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3 id="22-보안-그룹-생성"><strong>2.2. 보안 그룹 생성</strong></h3>
<ol>
<li>새 보안 그룹 추가:<ul>
<li><strong>Name</strong>: <code>MySecurityGroup</code></li>
<li><strong>Inbound rules</strong>:<ul>
<li><strong>SSH (22)</strong>: 특정 IP만 허용 (예: <code>192.168.x.x/32</code>)</li>
<li><strong>HTTP (80)</strong>: <code>0.0.0.0/0</code>, <code>::/0</code></li>
<li><strong>HTTPS (443)</strong>: <code>0.0.0.0/0</code>, <code>::/0</code></li>
</ul>
</li>
<li><strong>Outbound rules</strong>: 기본값 유지 (모든 트래픽 허용)</li>
</ul>
</li>
<li>보안 그룹을 인스턴스에 연결합니다.</li>
</ol>
<h3 id="23-ssh-접속"><strong>2.3. SSH 접속</strong></h3>
<ol>
<li>생성된 인스턴스의 퍼블릭 IP를 복사합니다.</li>
<li>SSH로 접속:<pre><code class="language-bash">ssh -i &quot;key-file.pem&quot; ec2-user@&lt;Public-IP&gt;</code></pre>
</li>
</ol>
<hr>
<h2 id="3-s3-정적-웹사이트-호스팅"><strong>3. S3 정적 웹사이트 호스팅</strong></h2>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/7b59a74e-976c-45c6-8976-09ec5772cb97/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/d07d86f2-52f5-4ab2-abfd-27c0ce93e5fd/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/d23d2039-95ef-4c9e-9c5e-9effb757ce7d/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/befce699-03e5-483b-9d19-d06719685dee/image.png" alt="">
(업로드를 안하면 이런 화면이 뜹니다. 당황하지 마세요.)</p>
<h3 id="31-s3-버킷-생성"><strong>3.1. S3 버킷 생성</strong></h3>
<ol>
<li>S3 대시보드에서 <strong>Create bucket</strong>을 클릭합니다.<ul>
<li><strong>Name</strong>: <code>my-static-website</code></li>
<li><strong>Region</strong>: 동일한 리전 (예: <code>us-east-1</code>)</li>
<li><strong>Block Public Access</strong>: 해제</li>
</ul>
</li>
</ol>
<h3 id="32-버킷-정책-설정"><strong>3.2. 버킷 정책 설정</strong></h3>
<ol>
<li><strong>Permissions &gt; Bucket Policy</strong> 섹션에서 다음 정책을 추가합니다:<pre><code class="language-json">{
    &quot;Version&quot;: &quot;2012-10-17&quot;,
    &quot;Statement&quot;: [
        {
            &quot;Sid&quot;: &quot;PublicReadGetObject&quot;,
            &quot;Effect&quot;: &quot;Allow&quot;,
            &quot;Principal&quot;: &quot;*&quot;,
            &quot;Action&quot;: &quot;s3:GetObject&quot;,
            &quot;Resource&quot;: &quot;arn:aws:s3:::my-static-website/*&quot;
        }
    ]
}</code></pre>
</li>
</ol>
<h3 id="33-정적-웹사이트-호스팅-활성화"><strong>3.3. 정적 웹사이트 호스팅 활성화</strong></h3>
<ol>
<li><strong>Properties &gt; Static website hosting</strong>에서 <strong>Enable</strong>을 설정합니다:<ul>
<li><strong>Index document</strong>: <code>index.html</code></li>
<li><strong>Error document</strong>: <code>error.html</code></li>
</ul>
</li>
</ol>
<h3 id="34-파일-업로드"><strong>3.4. 파일 업로드</strong></h3>
<ol>
<li><strong>Objects &gt; Upload</strong>:<ul>
<li><code>index.html</code> 및 <code>error.html</code> 파일 업로드</li>
</ul>
</li>
</ol>
<h3 id="35-웹사이트-확인"><strong>3.5. 웹사이트 확인</strong></h3>
<ol>
<li><strong>Properties &gt; Static website hosting</strong>의 <strong>Endpoint</strong> URL을 복사합니다.</li>
<li>브라우저에서 URL로 웹사이트에 접근합니다:<ul>
<li>예: <code>http://my-static-website.s3-website-us-east-1.amazonaws.com</code></li>
</ul>
</li>
</ol>
<hr>
<h2 id="프로젝트-결과"><strong>프로젝트 결과</strong></h2>
<ol>
<li><strong>VPC</strong>: 퍼블릭 및 프라이빗 서브넷으로 구성된 안전한 네트워크 환경</li>
<li><strong>EC2</strong>: 퍼블릭 서브넷에 배포된 인스턴스에서 SSH 및 HTTP 접근 가능</li>
<li><strong>S3</strong>: 정적 웹사이트가 S3를 통해 호스팅되어 URL로 접근 가능</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드] 클라우드 용어 정리 (3)]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-3</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-3</guid>
            <pubDate>Wed, 15 Jan 2025 07:20:53 GMT</pubDate>
            <description><![CDATA[<h1 id="시스템-성능-확장성-가용성">시스템 성능, 확장성, 가용성</h1>
<h2 id="1-성능-performance">1. 성능 (Performance)</h2>
<h3 id="정의">정의</h3>
<p>시스템이 주어진 작업을 얼마나 빠르고 효율적으로 처리할 수 있는지를 나타냅니다.</p>
<h3 id="주요-지표">주요 지표</h3>
<ul>
<li><strong>처리량 (Throughput):</strong> 단위 시간당 처리 가능한 작업 수.</li>
<li><strong>응답 시간 (Response Time):</strong> 요청에 대한 응답까지 걸리는 시간.</li>
<li><strong>지연 시간 (Latency):</strong> 데이터 전송이 시작되고 목적지에 도달할 때까지의 시간.</li>
</ul>
<h3 id="개선-방법">개선 방법</h3>
<ol>
<li><strong>하드웨어 업그레이드:</strong> CPU, 메모리, 네트워크 대역폭 개선.</li>
<li><strong>캐싱:</strong> Redis, Memcached 등을 사용해 자주 사용하는 데이터를 메모리에 저장.</li>
<li><strong>비동기 처리:</strong> 작업을 동기적으로 처리하지 않고 비동기적으로 분산.</li>
</ol>
<hr>
<h2 id="2-확장성-scalability">2. 확장성 (Scalability)</h2>
<h3 id="정의-1">정의</h3>
<p>시스템이 증가하는 부하를 처리할 수 있도록 확장될 수 있는 능력입니다.</p>
<h3 id="유형">유형</h3>
<ul>
<li><strong>수직 확장 (Vertical Scaling):</strong> 단일 서버의 성능을 높이는 방식.</li>
<li><strong>수평 확장 (Horizontal Scaling):</strong> 서버의 수를 늘려 부하를 분산하는 방식.</li>
</ul>
<h3 id="주요-고려-사항">주요 고려 사항</h3>
<ol>
<li><strong>비용:</strong> 수직 확장은 고성능 하드웨어 비용 증가, 수평 확장은 추가 서버 비용 발생.</li>
<li><strong>부하 분산 (Load Balancing):</strong> 확장된 서버 간 트래픽을 균등하게 배분.</li>
<li><strong>데이터 동기화:</strong> 여러 서버 간 데이터 일관성을 유지.</li>
</ol>
<h3 id="개선-방법-1">개선 방법</h3>
<ol>
<li><strong>Auto Scaling:</strong> 트래픽 변화에 따라 서버를 자동으로 늘리거나 줄이는 기능.</li>
<li><strong>분산 시스템 설계:</strong> 데이터베이스 샤딩, 마이크로서비스 아키텍처 등.</li>
</ol>
<hr>
<h2 id="3-가용성-availability">3. 가용성 (Availability)</h2>
<h3 id="정의-2">정의</h3>
<p>시스템이 지속적으로 작동 가능하며, 장애 상황에서도 서비스를 제공할 수 있는 능력입니다.</p>
<h3 id="주요-지표-1">주요 지표</h3>
<ul>
<li><strong>Uptime:</strong> 시스템이 가동 중인 시간의 비율.</li>
<li><strong>MTTF (Mean Time To Failure):</strong> 평균적으로 시스템이 실패 없이 작동하는 시간.</li>
<li><strong>MTTR (Mean Time To Repair):</strong> 장애 발생 시 복구까지 걸리는 시간.</li>
</ul>
<h3 id="개선-방법-2">개선 방법</h3>
<ol>
<li><strong>이중화 (Redundancy):</strong> 주요 구성 요소를 중복 설정하여 장애 시 대체 가능.</li>
<li><strong>장애 조치 (Failover):</strong> 장애 발생 시 자동으로 대체 서버로 전환.</li>
<li><strong>모니터링 도구 사용:</strong> Prometheus, Grafana, CloudWatch 등으로 실시간 상태 감시.</li>
</ol>
<hr>
<h2 id="성능-확장성-가용성의-상호-관계">성능, 확장성, 가용성의 상호 관계</h2>
<ul>
<li><strong>성능:</strong> 현재 시스템의 효율성을 보장.</li>
<li><strong>확장성:</strong> 성능 저하 없이 부하를 처리할 수 있도록 준비.</li>
<li><strong>가용성:</strong> 서비스의 연속성을 보장.</li>
</ul>
<p>확장성을 통해 성능 저하를 방지하고, 가용성을 통해 장애 발생 시에도 안정적인 서비스를 제공합니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드] 클라우드 용어정리 (2)]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9A%A9%EC%96%B4%EC%A0%95%EB%A6%AC-2</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9A%A9%EC%96%B4%EC%A0%95%EB%A6%AC-2</guid>
            <pubDate>Wed, 15 Jan 2025 07:12:35 GMT</pubDate>
            <description><![CDATA[<h1 id="수직-확장-vertical-scaling-vs-수평-확장-horizontal-scaling">수직 확장 (Vertical Scaling) vs 수평 확장 (Horizontal Scaling)</h1>
<h2 id="1-수직-확장-vertical-scaling">1. 수직 확장 (Vertical Scaling)</h2>
<h3 id="정의">정의</h3>
<p>기존 서버의 성능을 업그레이드하거나 리소스를 추가하여 처리 능력을 향상시키는 방식입니다. 이를 통해 단일 서버의 하드웨어 성능을 개선하여 더 많은 요청을 처리할 수 있습니다.</p>
<h3 id="특징">특징</h3>
<ul>
<li><strong>단일 서버 기반:</strong> 한 대의 서버에서만 성능이 개선되며, 서버가 다운되면 시스템 전체가 중단될 수 있습니다.</li>
<li><strong>즉각적인 성능 개선:</strong> 하드웨어 업그레이드가 완료되면 즉시 성능 향상을 체감할 수 있습니다.</li>
</ul>
<h3 id="장점">장점</h3>
<ol>
<li><strong>관리 용이성:</strong> 시스템 구조가 단순하므로 관리와 운영이 간단합니다.</li>
<li><strong>애플리케이션 변경 불필요:</strong> 대부분의 경우 기존 애플리케이션 코드를 수정하지 않아도 성능이 개선됩니다.</li>
<li><strong>빠른 구현:</strong> 하드웨어 업그레이드로 바로 적용 가능하여 시간 소모가 적습니다.</li>
</ol>
<h3 id="단점">단점</h3>
<ol>
<li><strong>확장의 물리적 한계:</strong> 서버의 최대 용량에 도달하면 더 이상 업그레이드가 불가능합니다.</li>
<li><strong>단일 장애점:</strong> 단일 서버에 의존하므로, 서버 장애 시 전체 시스템이 중단될 위험이 있습니다.</li>
<li><strong>비용 문제:</strong> 고성능 하드웨어는 비용이 크게 증가하며, 장기적으로 비효율적일 수 있습니다.</li>
</ol>
<p><strong>예시)</strong></p>
<ul>
<li>t2.medium 인스턴스를 t2.large로 업그레이드</li>
<li>물리적 서버에 RAM, CPU 코어 또는 디스크 용량 추가</li>
</ul>
<hr>
<h2 id="2-수평-확장-horizontal-scaling">2. 수평 확장 (Horizontal Scaling)</h2>
<h3 id="정의-1">정의</h3>
<p>여러 대의 서버를 추가하여 시스템의 처리 능력을 향상시키는 방식입니다. 각 서버는 동일한 역할을 수행하며, 로드 밸런싱을 통해 트래픽을 분산 처리합니다.</p>
<h3 id="특징-1">특징</h3>
<ul>
<li><strong>분산 아키텍처:</strong> 여러 대의 서버가 협력하여 작업을 처리하며, 특정 서버에 장애가 발생해도 시스템이 가용성을 유지할 수 있습니다.</li>
<li><strong>확장성:</strong> 필요에 따라 서버 수를 유동적으로 조정 가능하며, 클라우드 환경에서 특히 유용합니다.</li>
</ul>
<h3 id="장점-1">장점</h3>
<ol>
<li><strong>무한 확장 가능:</strong> 이론적으로 더 많은 서버를 추가하여 성능을 계속 확장할 수 있습니다.</li>
<li><strong>높은 가용성:</strong> 장애 허용 설계를 통해 일부 서버에 문제가 생겨도 서비스가 중단되지 않습니다.</li>
<li><strong>비용 효율성:</strong> 서버를 추가적으로 늘리는 방식이므로 초기 비용이 적으며, 필요에 따라 점진적으로 확장 가능합니다.</li>
</ol>
<h3 id="단점-1">단점</h3>
<ol>
<li><strong>운영 복잡성:</strong> 여러 대의 서버를 관리하고 모니터링하는 데 추가적인 노력이 필요합니다.</li>
<li><strong>데이터 일관성 문제:</strong> 분산 환경에서는 데이터 동기화를 보장하기 위한 추가 설계가 필요합니다.</li>
<li><strong>네트워크 의존성 증가:</strong> 서버 간 통신량이 늘어나 네트워크 병목 현상이 발생할 수 있습니다.</li>
</ol>
<p><strong>예시)</strong></p>
<ul>
<li>Auto Scaling 그룹을 통해 t2.micro 서버를 추가 배포</li>
<li>Kubernetes로 클러스터를 확장하여 트래픽 분산</li>
<li>AWS Lambda와 같은 서버리스 아키텍처 활용</li>
</ul>
<hr>
<h2 id="3-수직-확장--수평-확장-비교">3. 수직 확장 / 수평 확장 비교</h2>
<table>
<thead>
<tr>
<th>방식</th>
<th>설명</th>
<th>적용 상황</th>
<th>한계점</th>
</tr>
</thead>
<tbody><tr>
<td><strong>수직</strong></td>
<td>서버 성능 up</td>
<td>소규모 트래픽이나 간단한 애플리케이션에 적합</td>
<td>성능 향상에 물리적 한계가 있음</td>
</tr>
<tr>
<td><strong>수평</strong></td>
<td>서버 수량 up</td>
<td>대규모 트래픽 처리, 가용성과 확장성이 중요한 경우</td>
<td>데이터 동기화나 로드 밸런싱 등 추가적인 설계 필요</td>
</tr>
</tbody></table>
<h3 id="추가-비교">추가 비교</h3>
<ol>
<li><p><strong>확장 속도:</strong></p>
<ul>
<li><strong>수직 확장:</strong> 하드웨어 업그레이드가 완료되면 바로 적용 가능</li>
<li><strong>수평 확장:</strong> 서버를 추가하고 네트워크 구성 및 로드 밸런싱 설정까지 시간이 소요될 수 있음</li>
</ul>
</li>
<li><p><strong>비용:</strong></p>
<ul>
<li><strong>수직 확장:</strong> 고성능 하드웨어는 초기 비용이 크고, 업그레이드 한계에 도달하면 비효율적</li>
<li><strong>수평 확장:</strong> 클라우드 기반에서는 Pay-as-you-go 모델로 비용을 효율적으로 관리 가능</li>
</ul>
</li>
<li><p><strong>가용성:</strong></p>
<ul>
<li><strong>수직 확장:</strong> 단일 장애점(Single Point of Failure)으로 인해 높은 위험</li>
<li><strong>수평 확장:</strong> 서버 분산으로 장애 허용(Fault Tolerance)이 우수</li>
</ul>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] 파이썬과 장고의 작동원리]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EA%B3%BC-%EC%9E%A5%EA%B3%A0%EC%9D%98-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC</link>
            <guid>https://velog.io/@rosa_5eau/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EA%B3%BC-%EC%9E%A5%EA%B3%A0%EC%9D%98-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC</guid>
            <pubDate>Wed, 15 Jan 2025 06:49:49 GMT</pubDate>
            <description><![CDATA[<h2 id="🐍-파이썬의-작동-원리">🐍 <strong>파이썬의 작동 원리</strong></h2>
<h3 id="💻-인터프리터-언어">💻 인터프리터 언어</h3>
<ul>
<li><strong>파이썬 코드</strong>는 소스 코드를 한 줄씩 읽고 해석하는 <strong>인터프리터</strong>에 의해 실행된다.</li>
<li>실행 흐름:<ol>
<li><strong>파이썬 소스 코드 작성</strong>: <code>.py</code> 파일을 작성한다.</li>
<li><strong>바이트코드로 변환</strong>: 인터프리터가 코드를 <code>.pyc</code> 바이트코드로 변환한다.</li>
<li><strong>실행</strong>: 파이썬 가상 기계(PVM)이 바이트코드를 실행한다.</li>
</ol>
</li>
</ul>
<h3 id="🧱-객체지향-언어">🧱 객체지향 언어</h3>
<ul>
<li>모든 것이 <strong>객체(Object)</strong>로 표현된다.</li>
<li>클래스와 객체를 사용해 데이터를 구조화하고 동작을 정의한다.</li>
</ul>
<h3 id="📦-모듈과-패키지-시스템">📦 모듈과 패키지 시스템</h3>
<ul>
<li>파이썬은 다양한 기능을 모듈 단위로 나누어 제공한다.</li>
<li>예) <code>os</code>, <code>sys</code>, <code>json</code> 같은 기본 모듈, <code>django</code> 같은 서드파티 모듈.</li>
</ul>
<hr>
<h2 id="🌐-장고의-작동-원리">🌐 장고의 작동 원리</h2>
<p>장고는 <strong>웹 프레임워크</strong>로, <strong>웹 요청(Request)</strong>을 처리해 <strong>응답(Response)</strong>을 반환하는 작업을 자동화한다.
장고의 작동 원리를 간단히 정리해보면 다양한 구조가 독립적인 역할을 수행한다.</p>
<hr>
<h3 id="💡-장고-요청-응답-흐름의-이해-request-response-cycle">💡 장고 요청-응답 흐름의 이해 (Request-Response Cycle)</h3>
<ol>
<li><p><strong>클라이언트의 요청</strong>:</p>
<ul>
<li>사용자가 브라우저에서 URL(예: <code>http://example.com/blog/</code>)을 요청한다.</li>
<li>이 요청은 HTTP 프로토콜을 통해 장고 서버로 전달된다.</li>
</ul>
</li>
<li><p><strong>WSGI 서버 처리</strong>:</p>
<ul>
<li>장고는 <strong>WSGI(Web Server Gateway Interface)</strong> 서버를 통해 요청을 받는다.</li>
<li>WSGI는 HTTP 요청을 Python 애플리케이션에서 처리할 수 있도록 중개 역할을 한다.</li>
<li>WSGI는 장고와 웹 서버(Apache, Nginx) 간의 인터페이스 역할을 한다.</li>
</ul>
</li>
<li><p><strong>URL 라우팅</strong>:</p>
<ul>
<li>요청 URL은 <code>urls.py</code>에서 <strong>어느 뷰(View)</strong>가 요청을 처리할지 결정한다.</li>
<li>예) <code>/blog/</code> 요청은 <code>blog.views.index</code> 함수로 전달된다.</li>
</ul>
</li>
<li><p><strong>뷰(View) 처리</strong>:</p>
<ul>
<li>뷰(View)는 요청 데이터를 받고 비즈니스 로직을 처리한다.</li>
<li>필요시 데이터베이스(Model)와 상호작용해 데이터를 가져온다.</li>
<li>결과 데이터를 템플릿(HTML)에 전달한다.</li>
</ul>
</li>
<li><p><strong>템플릿 렌더링</strong>:</p>
<ul>
<li>템플릿 시스템은 HTML 파일과 데이터를 결합하여 최종 HTML 응답을 생성한다.</li>
</ul>
</li>
<li><p><strong>응답 반환</strong>:</p>
<ul>
<li>생성된 HTML 파일이 HTTP 응답으로 클라이언트(브라우저)에게 반환된다.</li>
</ul>
</li>
</ol>
<hr>
<h3 id="🧩-장고의-mtv-아키텍처">🧩 장고의 MTV 아키텍처</h3>
<p>장고는 <strong>MTV (Model-Template-View)</strong> 구조를 사용한다. 개발자는 가장 편하게 구조적인 구현을 수행할 수 있다.</p>
<table>
<thead>
<tr>
<th>구조 요소</th>
<th>역할</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Model</strong></td>
<td>데이터베이스 구조와 동작 정의 (데이터 저장, 조회, 수정 등).</td>
</tr>
<tr>
<td><strong>View</strong></td>
<td>요청을 처리하고, 필요한 데이터를 가져와 템플릿에 전달.</td>
</tr>
<tr>
<td><strong>Template</strong></td>
<td>사용자 화면(HTML)을 정의하고 데이터를 동적으로 렌더링한다.</td>
</tr>
</tbody></table>
<p><strong>예제: 블로그 글 요청 처리</strong></p>
<ul>
<li>URL: <code>/blog/</code></li>
<li>요청 흐름:<ol>
<li>URL: <code>/blog/</code> → <code>urls.py</code>에서 <code>blog.views.index</code> 뷰로 전달.</li>
<li>뷰(View): 데이터베이스에서 블로그 글을 가져와 템플릿에 전달.</li>
<li>템플릿(Template): 가져온 데이터를 HTML에 렌더링하여 사용자에게 반환.</li>
</ol>
</li>
</ul>
<hr>
<h3 id="🔗-장고-orm의-역할">🔗 장고 ORM의 역할</h3>
<p>장고는 <strong>ORM(Object-Relational Mapping)</strong>을 사용해 데이터베이스와 상호작용한다.</p>
<ul>
<li>ORM은 파이썬 객체와 데이터베이스 간의 변환을 제공한다.</li>
<li>SQL을 직접 작성하지 않아도 데이터를 저장/조회할 수 있다.</li>
</ul>
<p><strong>ORM을 통한 데이터 저장</strong></p>
<pre><code class="language-python"># blog/models.py
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()

# 데이터 저장
post = Post(title=&quot;My First Post&quot;, content=&quot;Hello, Django!&quot;)
post.save()

# 데이터 조회
all_posts = Post.objects.all()</code></pre>
<p><strong><code>filter</code>, <code>update</code>, <code>delete</code> 메서드 예시</strong></p>
<pre><code class="language-python">  # 데이터 필터링
  filtered_posts = Post.objects.filter(title__contains=&quot;Django&quot;)

  # 데이터 업데이트
  Post.objects.filter(id=1).update(title=&quot;Updated Title&quot;)

  # 데이터 삭제
  Post.objects.filter(id=1).delete()</code></pre>
<hr>
<h3 id="🛡️-장고-미들웨어-요약">🛡️ 장고 미들웨어 요약</h3>
<p>장고는 요청(Request)과 응답(Response) 사이에 다양한 <strong>미들웨어</strong>를 사용해 보안, 성능, 다국어 지원 등을 자동화한다.</p>
<h4 id="주요-미들웨어"><strong>주요 미들웨어</strong></h4>
<ul>
<li><strong>CSRF 미들웨어</strong>: Cross-Site Request Forgery(CSRF) 공격을 방지하여 요청의 안전성을 보장.</li>
<li><strong>SessionMiddleware</strong>: 세션 데이터를 관리하고 요청과 사용자 데이터를 연결.</li>
<li><strong>AuthenticationMiddleware</strong>: 사용자의 인증 상태를 확인하고 <code>request.user</code> 객체를 제공.</li>
<li><strong>CommonMiddleware</strong>: URL 정리(슬래시 추가/제거)와 브라우저 동작 수정.</li>
<li><strong>SecurityMiddleware</strong>: HSTS, X-Content-Type-Options 등 보안 헤더 추가.</li>
<li><strong>MessageMiddleware</strong>: 임시 메시지를 저장하고 전달.</li>
<li><strong>LocaleMiddleware</strong>: 사용자 언어 설정을 처리해 다국어 지원.</li>
</ul>
<h4 id="사용-미들웨어-확인"><strong>사용 미들웨어 확인</strong></h4>
<p><code>settings.py</code>에서 활성화된 미들웨어는 <code>MIDDLEWARE</code> 항목에서 확인할 수 있다.</p>
<pre><code class="language-python">MIDDLEWARE = [
    &#39;django.middleware.security.SecurityMiddleware&#39;,
    &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
    &#39;django.middleware.common.CommonMiddleware&#39;,
    &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
    &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
    &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
    &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;,
]</code></pre>
<h4 id="사용자-정의-미들웨어"><strong>사용자 정의 미들웨어</strong></h4>
<p>필요에 따라 직접 미들웨어를 작성하여 프로젝트의 요구 사항에 맞는 동작을 추가할 수 있다.</p>
<pre><code class="language-python">from django.utils.deprecation import MiddlewareMixin

class CustomMiddleware(MiddlewareMixin):
    def process_request(self, request):
        print(&quot;Request processed&quot;)

    def process_response(self, request, response):
        print(&quot;Response processed&quot;)
        return response</code></pre>
<hr>
<h3 id="📂-장고의-주요-파일-역할">📂 장고의 주요 파일 역할</h3>
<table>
<thead>
<tr>
<th>파일</th>
<th>역할</th>
</tr>
</thead>
<tbody><tr>
<td><code>manage.py</code></td>
<td>장고 프로젝트 관리 명령어 (서버 실행, 마이그레이션 등).</td>
</tr>
<tr>
<td><code>settings.py</code></td>
<td>프로젝트 설정 (데이터베이스, 앱, 미들웨어, 정적 파일 등).</td>
</tr>
<tr>
<td><code>urls.py</code></td>
<td>URL 요청을 뷰(View)로 라우팅.</td>
</tr>
<tr>
<td><code>views.py</code></td>
<td>요청을 처리하고 응답 생성.</td>
</tr>
<tr>
<td><code>models.py</code></td>
<td>데이터베이스 구조 정의 및 ORM 관리.</td>
</tr>
<tr>
<td><code>admin.py</code></td>
<td>관리자 페이지 설정.</td>
</tr>
<tr>
<td><code>templates/</code></td>
<td>사용자 화면을 구성하는 HTML 템플릿 저장.</td>
</tr>
<tr>
<td><code>static/</code></td>
<td>정적 파일 (CSS, JS, 이미지 등).</td>
</tr>
</tbody></table>
<hr>
<h3 id="🗂-장고의-정적-파일-관리">🗂 장고의 정적 파일 관리</h3>
<p>장고는 CSS, JavaScript, 이미지와 같은 <strong>정적 파일</strong>을 관리하기 위한 구조를 제공한다.</p>
<ul>
<li><strong>정적 파일 디렉토리</strong>: <code>static/</code> 디렉토리를 사용해 정적 파일을 저장.</li>
<li><code>settings.py</code>에 정적 파일 관련 설정:<pre><code class="language-python">STATIC_URL = &#39;/static/&#39;
STATICFILES_DIRS = [BASE_DIR / &quot;static&quot;]</code></pre>
</li>
<li>정적 파일 로딩:<pre><code class="language-html">{% load static %}
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;{% static &#39;css/style.css&#39; %}&quot;&gt;</code></pre>
</li>
</ul>
<hr>
<h3 id="🛠-장고-관리-페이지의-강점">🛠 장고 관리 페이지의 강점</h3>
<p>장고는 기본 제공 <strong>관리자 페이지(admin)</strong>를 통해 데이터를 쉽게 관리할 수 있다.</p>
<ul>
<li><p><code>admin.py</code> 파일에서 데이터베이스 모델을 등록하면 관리자 페이지에서 이를 제어 가능.</p>
</li>
<li><p>관리자 페이지 등록 예시:</p>
<pre><code class="language-python">from django.contrib import admin
from .models import Post

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = (&#39;title&#39;, &#39;created_at&#39;)
    search_fields = (&#39;title&#39;,)</code></pre>
</li>
</ul>
<hr>
<h3 id="✏️-장고-폼-시스템">✏️ 장고 폼 시스템</h3>
<p>장고는 폼을 생성, 렌더링, 검증하는 강력한 시스템을 제공한다.</p>
<ul>
<li><p><strong>폼 클래스 정의</strong>:</p>
<pre><code class="language-python">from django import forms
from .models import Post

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = [&#39;title&#39;, &#39;content&#39;]</code></pre>
</li>
<li><p><strong>폼을 템플릿에 렌더링</strong>:</p>
<pre><code class="language-html">&lt;form method=&quot;post&quot;&gt;
    {% csrf_token %}
    {{ form.as_p }}
    &lt;button type=&quot;submit&quot;&gt;Save&lt;/button&gt;
&lt;/form&gt;</code></pre>
</li>
<li><p><strong>폼 검증 및 저장</strong>:</p>
<pre><code class="language-python">if request.method == &#39;POST&#39;:
    form = PostForm(request.POST)
    if form.is_valid():
        form.save()</code></pre>
</li>
</ul>
<hr>
<h3 id="🚀-장고의-강점-요약">🚀 장고의 강점 요약</h3>
<ul>
<li><strong>빠른 개발</strong>: 장고는 많은 기능(인증, 관리 페이지 등)을 기본 제공하여 빠르게 개발 가능.</li>
<li><strong>보안</strong>: SQL 인젝션, XSS, CSRF 등 주요 보안 문제를 기본적으로 해결.</li>
<li><strong>확장성</strong>: Django REST Framework(DRF)를 활용한 REST API, WebSocket 등 다양한 기능 통합.</li>
<li><strong>커뮤니티</strong>: 풍부한 문서와 오픈소스 커뮤니티의 지원.</li>
</ul>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] 자동화 쉘 스크립트 작성]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-%EC%9E%90%EB%8F%99%ED%99%94-%EC%89%98-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%91%EC%84%B1</link>
            <guid>https://velog.io/@rosa_5eau/Linux-%EC%9E%90%EB%8F%99%ED%99%94-%EC%89%98-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%91%EC%84%B1</guid>
            <pubDate>Mon, 06 Jan 2025 07:59:01 GMT</pubDate>
            <description><![CDATA[<h1 id="시스템-관리-백업-로그-분석-및-사용자-관리">시스템 관리, 백업, 로그 분석 및 사용자 관리</h1>
<h2 id="개요">개요</h2>
<ol>
<li>시스템 자원 모니터링</li>
<li>사용자 데이터 백업</li>
<li>로그 파일 분석</li>
<li>사용자 계정 관리</li>
</ol>
<p>(스크립트는 <strong>조건문</strong>, <strong>반복문</strong>, <strong>함수</strong>를 활용하여 작성되었습니다.)</p>
<hr>
<h2 id="쉘-스크립트-코드">쉘 스크립트 코드</h2>
<pre><code class="language-bash">#!/bin/bash

# 로그 파일 정의
LOG_FILE=&quot;/var/log/sysadmin.log&quot;
BACKUP_DIR=&quot;/backup&quot;
USER_FILE=&quot;user_list.txt&quot;

# 로그 기록 함수
log() {
    echo &quot;$(date &#39;+%Y-%m-%d %H:%M:%S&#39;) - $1&quot; &gt;&gt; $LOG_FILE
}

# 시스템 자원 모니터링 함수
monitor_system() {
    echo &quot;--- 시스템 자원 상태 ---&quot; &gt;&gt; $LOG_FILE
    echo &quot;CPU 사용률:&quot; &gt;&gt; $LOG_FILE
    top -b -n1 | grep &quot;%Cpu(s)&quot; &gt;&gt; $LOG_FILE
    echo &quot;메모리 사용률:&quot; &gt;&gt; $LOG_FILE
    free -h &gt;&gt; $LOG_FILE
    echo &quot;디스크 사용률:&quot; &gt;&gt; $LOG_FILE
    df -h &gt;&gt; $LOG_FILE
    echo &quot;-------------------------&quot; &gt;&gt; $LOG_FILE
    log &quot;시스템 자원 모니터링 완료&quot;
}

# 사용자 데이터 백업 함수
backup_users() {
    if [ ! -d &quot;$BACKUP_DIR&quot; ]; then
        mkdir -p &quot;$BACKUP_DIR&quot;
    fi

    for user in $(cat $USER_FILE); do
        home_dir=&quot;/home/$user&quot;
        if [ -d &quot;$home_dir&quot; ]; then
            tar -czf &quot;$BACKUP_DIR/${user}_backup_$(date &#39;+%Y%m%d&#39;).tar.gz&quot; &quot;$home_dir&quot;
            log &quot;$user의 홈 디렉터리가 성공적으로 백업되었습니다&quot;
        else
            log &quot;$user의 홈 디렉터리가 존재하지 않습니다&quot;
        fi
    done
}

# 로그 분석 함수
analyze_logs() {
    log &quot;로그 분석 시작&quot;
    grep -i &quot;error&quot; /var/log/syslog &gt;&gt; $LOG_FILE
    log &quot;로그 분석 완료&quot;
}

# 사용자 관리 함수
manage_users() {
    while read -p &quot;사용자 이름 입력 (종료하려면 &#39;exit&#39;): &quot; user; do
        if [ &quot;$user&quot; == &quot;exit&quot; ]; then
            break
        fi

        if id &quot;$user&quot; &amp;&gt;/dev/null; then
            echo &quot;$user 사용자 계정이 이미 존재합니다.&quot;
            log &quot;$user 사용자 계정이 이미 존재합니다&quot;
        else
            sudo useradd -m &quot;$user&quot;
            log &quot;$user 사용자 계정이 생성되었습니다&quot;
            echo &quot;$user 사용자 계정이 생성되었습니다.&quot;
        fi
    done
}

# 메인 함수
main() {
    echo &quot;자동화 스크립트 실행 중...&quot;
    log &quot;자동화 스크립트 시작&quot;

    monitor_system
    backup_users
    analyze_logs
    manage_users

    log &quot;자동화 스크립트 완료&quot;
    echo &quot;스크립트 실행이 완료되었습니다.&quot;
}

# 스크립트 실행
main</code></pre>
<hr>
<h2 id="스크립트-실행-단계">스크립트 실행 단계</h2>
<ol>
<li><p><strong>필요 파일 준비</strong></p>
<ul>
<li><code>user_list.txt</code> 파일에 백업 대상 사용자 이름을 추가합니다.<pre><code>echo -e &quot;user1\nuser2\nuser3&quot; &gt; user_list.txt</code></pre></li>
</ul>
</li>
<li><p><strong>스크립트 실행 권한 부여</strong></p>
<pre><code class="language-bash">chmod +x automation.sh</code></pre>
</li>
<li><p><strong>스크립트 실행</strong></p>
<pre><code class="language-bash">./automation.sh</code></pre>
</li>
</ol>
<hr>
<h2 id="주요-기능-설명">주요 기능 설명</h2>
<h3 id="1-시스템-자원-모니터링">1. <strong>시스템 자원 모니터링</strong></h3>
<ul>
<li>CPU, 메모리, 디스크 사용량을 확인하여 로그 파일에 기록.</li>
</ul>
<h3 id="2-사용자-데이터-백업">2. <strong>사용자 데이터 백업</strong></h3>
<ul>
<li>사용자 목록(<code>user_list.txt</code>)을 읽어 사용자 홈 디렉터리를 압축 백업.</li>
</ul>
<h3 id="3-로그-파일-분석">3. <strong>로그 파일 분석</strong></h3>
<ul>
<li><code>/var/log/syslog</code>에서 &quot;error&quot; 메시지를 검색하여 로그 파일에 기록.</li>
</ul>
<h3 id="4-사용자-계정-관리">4. <strong>사용자 계정 관리</strong></h3>
<ul>
<li>사용자 계정 존재 여부를 확인하고, 없으면 새 계정을 생성.</li>
</ul>
<hr>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/e19178a9-4794-43a6-909e-b24a31668135/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] Overlay2 파일시스템으로 관리하는 디렉토리 만들기]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-Overlay2-%ED%8C%8C%EC%9D%BC%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9C%BC%EB%A1%9C-%EA%B4%80%EB%A6%AC%ED%95%98%EB%8A%94-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
            <guid>https://velog.io/@rosa_5eau/Linux-Overlay2-%ED%8C%8C%EC%9D%BC%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9C%BC%EB%A1%9C-%EA%B4%80%EB%A6%AC%ED%95%98%EB%8A%94-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0</guid>
            <pubDate>Mon, 06 Jan 2025 07:56:45 GMT</pubDate>
            <description><![CDATA[<h1 id="docker-overlay2-파일-시스템">Docker Overlay2 파일 시스템</h1>
<h2 id="1-overlay2-파일-시스템-소개">1. Overlay2 파일 시스템 소개</h2>
<p><code>Overlay2</code>는 Docker에서 사용하는 기본 스토리지 드라이버로, <strong>Copy-on-Write(COW)</strong>를 기반으로 합니다. 여러 레이어를 효율적으로 관리하며, 컨테이너 간 자원 공유와 디스크 공간 절약에 유리합니다.</p>
<h3 id="특징">특징</h3>
<ul>
<li><strong>효율적인 레이어 관리</strong>: 동일한 이미지를 기반으로 여러 컨테이너를 생성할 때 중복 데이터 없이 운영 가능.</li>
<li><strong>Copy-on-Write(COW)</strong>: 데이터 변경 시에만 실제로 복사 및 수정.</li>
<li><strong>빠른 읽기/쓰기</strong>: 단일 디렉터리에 기반한 데이터 관리.</li>
</ul>
<hr>
<h2 id="2-overlay2-디렉터리-구조">2. Overlay2 디렉터리 구조</h2>
<p>Docker는 <code>/var/lib/docker/overlay2</code> 디렉터리에 파일 시스템 데이터를 저장합니다.</p>
<h3 id="주요-디렉터리와-파일">주요 디렉터리와 파일</h3>
<ul>
<li><code>/var/lib/docker/overlay2/&lt;layer-id&gt;</code><ul>
<li><strong>Diff</strong>: 특정 레이어의 파일 변경 내용을 저장.</li>
<li><strong>Lower</strong>: 부모 레이어를 가리키는 메타데이터.</li>
<li><strong>Merged</strong>: 컨테이너 실행 시 마운트된 통합 파일 시스템.</li>
<li><strong>Work</strong>: OverlayFS 작업 디렉터리.</li>
</ul>
</li>
</ul>
<pre><code class="language-bash">/var/lib/docker/overlay2/
  |-- &lt;layer-id&gt;/
      |-- diff/     # 현재 레이어의 변경 파일
      |-- lower/    # 부모 레이어 정보
      |-- merged/   # 컨테이너가 보는 통합 디렉터리
      |-- work/     # 임시 작업 디렉터리</code></pre>
<hr>
<h2 id="3-overlay2-파일-시스템-관리">3. Overlay2 파일 시스템 관리</h2>
<h3 id="1-docker-컨테이너-실행-시-파일-구조-확인">(1) Docker 컨테이너 실행 시 파일 구조 확인</h3>
<h4 id="새로운-컨테이너-생성-및-실행">새로운 컨테이너 생성 및 실행</h4>
<pre><code class="language-bash">docker run -it --name test-container ubuntu bash</code></pre>
<h4 id="overlay2-디렉터리-확인">Overlay2 디렉터리 확인</h4>
<p>컨테이너가 실행된 후, 관련 파일은 <code>/var/lib/docker/overlay2</code>에 저장됩니다:</p>
<pre><code class="language-bash">ls /var/lib/docker/overlay2</code></pre>
<hr>
<h3 id="2-컨테이너의-파일-변경-추적">(2) 컨테이너의 파일 변경 추적</h3>
<h4 id="파일-생성-및-확인">파일 생성 및 확인</h4>
<p>컨테이너 내부에서 파일 생성:</p>
<pre><code class="language-bash">touch /test-file</code></pre>
<p>호스트에서 생성된 파일 확인:</p>
<pre><code class="language-bash">ls /var/lib/docker/overlay2/&lt;layer-id&gt;/diff</code></pre>
<h4 id="변경된-파일은-diff-디렉터리에-저장됩니다">변경된 파일은 <code>diff</code> 디렉터리에 저장됩니다.</h4>
<hr>
<h3 id="3-중복-데이터-관리">(3) 중복 데이터 관리</h3>
<p>Overlay2는 레이어를 공유하여 동일한 이미지를 사용하는 컨테이너 간 중복 데이터를 줄입니다. </p>
<h4 id="확인-방법">확인 방법</h4>
<ol>
<li>여러 컨테이너 실행:<pre><code class="language-bash">docker run -it --name container1 ubuntu bash
docker run -it --name container2 ubuntu bash</code></pre>
</li>
<li>동일한 레이어 ID 확인:<pre><code class="language-bash">docker inspect container1 | grep -i &quot;merged&quot;
docker inspect container2 | grep -i &quot;merged&quot;</code></pre>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] 네트워크 구성 및 트러블 슈팅]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B5%AC%EC%84%B1-%EB%B0%8F-%ED%8A%B8%EB%9F%AC%EB%B8%94-%EC%8A%88%ED%8C%85</link>
            <guid>https://velog.io/@rosa_5eau/Linux-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B5%AC%EC%84%B1-%EB%B0%8F-%ED%8A%B8%EB%9F%AC%EB%B8%94-%EC%8A%88%ED%8C%85</guid>
            <pubDate>Mon, 06 Jan 2025 07:52:10 GMT</pubDate>
            <description><![CDATA[<h1 id="ifconfig-ip-iptables">ifconfig, ip, iptables</h1>
<h2 id="1-네트워크-인터페이스-설정">1. 네트워크 인터페이스 설정</h2>
<h3 id="1-ifconfig를-사용한-네트워크-인터페이스-관리">(1) <code>ifconfig</code>를 사용한 네트워크 인터페이스 관리</h3>
<h4 id="네트워크-상태-확인">네트워크 상태 확인</h4>
<pre><code class="language-bash">ifconfig</code></pre>
<h4 id="네트워크-인터페이스-활성화">네트워크 인터페이스 활성화</h4>
<pre><code class="language-bash">sudo ifconfig eth0 up</code></pre>
<h4 id="네트워크-인터페이스-비활성화">네트워크 인터페이스 비활성화</h4>
<pre><code class="language-bash">sudo ifconfig eth0 down</code></pre>
<h3 id="2-ip-명령어로-네트워크-관리">(2) <code>ip</code> 명령어로 네트워크 관리</h3>
<h4 id="네트워크-인터페이스-상태-확인">네트워크 인터페이스 상태 확인</h4>
<pre><code class="language-bash">ip addr show</code></pre>
<h4 id="새로운-ip-주소-추가">새로운 IP 주소 추가</h4>
<pre><code class="language-bash">sudo ip addr add 192.168.1.100/24 dev eth0</code></pre>
<h4 id="기존-ip-주소-제거">기존 IP 주소 제거</h4>
<pre><code class="language-bash">sudo ip addr del 192.168.1.100/24 dev eth0</code></pre>
<h4 id="기본-게이트웨이-설정">기본 게이트웨이 설정</h4>
<pre><code class="language-bash">sudo ip route add default via 192.168.1.1</code></pre>
<hr>
<h2 id="2-방화벽-설정-iptables">2. 방화벽 설정: <code>iptables</code></h2>
<h3 id="1-기본-체인-정책-설정">(1) 기본 체인 정책 설정</h3>
<h4 id="input-forward-output-정책-설정">INPUT, FORWARD, OUTPUT 정책 설정</h4>
<pre><code class="language-bash">sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT</code></pre>
<h3 id="2-특정-포트-허용">(2) 특정 포트 허용</h3>
<h4 id="ssh22번-포트-허용">SSH(22번 포트) 허용</h4>
<pre><code class="language-bash">sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT</code></pre>
<h4 id="http80번-포트-허용">HTTP(80번 포트) 허용</h4>
<pre><code class="language-bash">sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT</code></pre>
<h3 id="3-규칙-목록-확인">(3) 규칙 목록 확인</h3>
<pre><code class="language-bash">sudo iptables -L -v</code></pre>
<h3 id="4-규칙-삭제">(4) 규칙 삭제</h3>
<h4 id="첫-번째-규칙-삭제">첫 번째 규칙 삭제</h4>
<pre><code class="language-bash">sudo iptables -D INPUT 1</code></pre>
<hr>
<h2 id="3-네트워크-문제-진단-및-해결">3. 네트워크 문제 진단 및 해결</h2>
<h3 id="1-연결-상태-확인-ping">(1) 연결 상태 확인: <code>ping</code></h3>
<h4 id="외부-서버와-연결-테스트">외부 서버와 연결 테스트</h4>
<pre><code class="language-bash">ping google.com</code></pre>
<h3 id="2-라우팅-테이블-확인-route">(2) 라우팅 테이블 확인: <code>route</code></h3>
<h4 id="현재-라우팅-테이블-보기">현재 라우팅 테이블 보기</h4>
<pre><code class="language-bash">route -n</code></pre>
<h3 id="3-dns-문제-확인-nslookup">(3) DNS 문제 확인: <code>nslookup</code></h3>
<h4 id="도메인-이름-확인">도메인 이름 확인</h4>
<pre><code class="language-bash">nslookup google.com</code></pre>
<h3 id="4-활성-연결-보기-netstat">(4) 활성 연결 보기: <code>netstat</code></h3>
<h4 id="열려-있는-포트-및-연결-확인">열려 있는 포트 및 연결 확인</h4>
<pre><code class="language-bash">netstat -tuln</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] 시스템 성능 모니터링 및 분석]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%84%B1%EB%8A%A5-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%EB%B0%8F-%EB%B6%84%EC%84%9D</link>
            <guid>https://velog.io/@rosa_5eau/Linux-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%84%B1%EB%8A%A5-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%EB%B0%8F-%EB%B6%84%EC%84%9D</guid>
            <pubDate>Mon, 06 Jan 2025 07:45:15 GMT</pubDate>
            <description><![CDATA[<h1 id="top-htop-sar">top, htop, sar</h1>
<h2 id="1-top-명령어">1. <code>top</code> 명령어</h2>
<p><code>top</code>은 실시간으로 시스템의 프로세스와 성능을 모니터링할 수 있는 기본적인 도구입니다.</p>
<h3 id="실행">실행</h3>
<pre><code class="language-bash">top</code></pre>
<h3 id="주요-키">주요 키</h3>
<ul>
<li><code>q</code>: 종료</li>
<li><code>h</code>: 도움말 보기</li>
<li><code>k</code>: 특정 프로세스 종료</li>
<li><code>P</code>: CPU 사용량 기준 정렬</li>
<li><code>M</code>: 메모리 사용량 기준 정렬</li>
<li><code>T</code>: 실행 시간 기준 정렬</li>
</ul>
<h3 id="모니터링-항목">모니터링 항목</h3>
<ul>
<li>CPU 사용률</li>
<li>메모리 사용량</li>
<li>각 프로세스의 상태 및 자원 소비</li>
</ul>
<hr>
<h2 id="2-htop-명령어">2. <code>htop</code> 명령어</h2>
<p><code>htop</code>은 <code>top</code>의 대안으로, 더 직관적인 UI와 다양한 기능을 제공합니다. </p>
<h3 id="설치">설치</h3>
<p>Ubuntu/Debian:</p>
<pre><code class="language-bash">sudo apt install htop</code></pre>
<p>CentOS/RedHat:</p>
<pre><code class="language-bash">sudo yum install htop</code></pre>
<h3 id="실행-1">실행</h3>
<pre><code class="language-bash">htop</code></pre>
<h3 id="주요-기능">주요 기능</h3>
<ul>
<li>마우스로 조작 가능</li>
<li>프로세스를 트리 구조로 표시</li>
<li>CPU, 메모리, 스왑 사용률을 시각적으로 표현</li>
</ul>
<h3 id="주요-키-1">주요 키</h3>
<ul>
<li><code>F3</code>: 검색</li>
<li><code>F9</code>: 프로세스 종료</li>
<li><code>F5</code>: 트리 모드</li>
</ul>
<hr>
<h2 id="3-sar-명령어">3. <code>sar</code> 명령어</h2>
<p><code>sar</code>은 시스템 성능을 기록하고 분석할 수 있는 강력한 도구입니다. </p>
<h3 id="설치-1">설치</h3>
<p>Ubuntu/Debian:</p>
<pre><code class="language-bash">sudo apt install sysstat</code></pre>
<p>CentOS/RedHat:</p>
<pre><code class="language-bash">sudo yum install sysstat</code></pre>
<h3 id="실행-2">실행</h3>
<ul>
<li>실시간 CPU 사용률 확인:<pre><code class="language-bash">sar -u 1 5</code></pre>
</li>
<li>메모리 사용률 확인:<pre><code class="language-bash">sar -r 1 5</code></pre>
</li>
<li>네트워크 트래픽 확인:<pre><code class="language-bash">sar -n DEV 1 5</code></pre>
</li>
</ul>
<h3 id="로그-파일-확인">로그 파일 확인</h3>
<p><code>sar</code>은 <code>/var/log/sysstat/</code>에 성능 데이터를 기록합니다. 이를 분석하려면:</p>
<pre><code class="language-bash">sar -f /var/log/sysstat/sa&lt;날짜&gt;</code></pre>
<p>예:</p>
<pre><code class="language-bash">sar -f /var/log/sysstat/sa01</code></pre>
<hr>
<h3 id="top-및-htop-활용"><code>top</code> 및 <code>htop</code> 활용</h3>
<ul>
<li>실시간으로 높은 리소스를 소비하는 프로세스를 종료하거나 확인.</li>
</ul>
<h3 id="sar-활용"><code>sar</code> 활용</h3>
<ul>
<li>특정 시간대의 성능 병목 현상을 분석하고 로그로 확인 가능.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] 사용자 및 권한]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-%EC%82%AC%EC%9A%A9%EC%9E%90-%EB%B0%8F-%EA%B6%8C%ED%95%9C</link>
            <guid>https://velog.io/@rosa_5eau/Linux-%EC%82%AC%EC%9A%A9%EC%9E%90-%EB%B0%8F-%EA%B6%8C%ED%95%9C</guid>
            <pubDate>Mon, 06 Jan 2025 07:43:16 GMT</pubDate>
            <description><![CDATA[<h1 id="사용자-계정-생성-그룹-할당-파일-및-디렉터리-권한-변경-실습">사용자 계정 생성, 그룹 할당, 파일 및 디렉터리 권한 변경 실습</h1>
<h2 id="1-사용자-계정-생성">1. 사용자 계정 생성</h2>
<p><code>useradd</code> 명령을 사용하여 새로운 사용자 계정을 생성합니다.</p>
<pre><code class="language-bash">sudo useradd -m -s /bin/bash newuser</code></pre>
<ul>
<li><code>-m</code>: 사용자 홈 디렉터리 생성</li>
<li><code>-s</code>: 사용자 기본 쉘 설정 (예: <code>/bin/bash</code>)</li>
</ul>
<h3 id="사용자-비밀번호-설정">사용자 비밀번호 설정</h3>
<p>생성한 사용자 계정에 비밀번호를 설정합니다.</p>
<pre><code class="language-bash">sudo passwd newuser</code></pre>
<h2 id="2-그룹-생성-및-사용자-그룹-할당">2. 그룹 생성 및 사용자 그룹 할당</h2>
<h3 id="새로운-그룹-생성">새로운 그룹 생성</h3>
<p><code>groupadd</code> 명령을 사용하여 그룹을 생성합니다.</p>
<pre><code class="language-bash">sudo groupadd newgroup</code></pre>
<h3 id="사용자에게-그룹-추가">사용자에게 그룹 추가</h3>
<p><code>usermod</code> 명령으로 사용자를 그룹에 추가합니다.</p>
<pre><code class="language-bash">sudo usermod -aG newgroup newuser</code></pre>
<ul>
<li><code>-aG</code>: 기존 그룹에 추가</li>
</ul>
<h3 id="확인">확인</h3>
<p>사용자가 속한 그룹을 확인하려면:</p>
<pre><code class="language-bash">groups newuser</code></pre>
<h2 id="3-파일-및-디렉터리-생성">3. 파일 및 디렉터리 생성</h2>
<h3 id="디렉터리-및-파일-생성">디렉터리 및 파일 생성</h3>
<p>생성한 사용자 계정을 위한 디렉터리와 파일을 만듭니다.</p>
<pre><code class="language-bash">sudo mkdir /home/newuser/testdir
sudo touch /home/newuser/testdir/testfile.txt</code></pre>
<h2 id="4-파일-및-디렉터리-권한-변경">4. 파일 및 디렉터리 권한 변경</h2>
<h3 id="소유권-변경-chown">소유권 변경 (<code>chown</code>)</h3>
<p>생성한 디렉터리와 파일의 소유권을 변경하여 새로운 사용자와 그룹이 소유하도록 설정합니다.</p>
<pre><code class="language-bash">sudo chown newuser:newgroup /home/newuser/testdir
sudo chown newuser:newgroup /home/newuser/testdir/testfile.txt</code></pre>
<h3 id="권한-변경-chmod">권한 변경 (<code>chmod</code>)</h3>
<p><code>chmod</code> 명령으로 파일과 디렉터리의 권한을 설정합니다.</p>
<pre><code class="language-bash">sudo chmod 750 /home/newuser/testdir
sudo chmod 640 /home/newuser/testdir/testfile.txt</code></pre>
<ul>
<li><code>750</code>: 디렉터리 소유자는 읽기, 쓰기, 실행 가능. 그룹은 읽기, 실행 가능. 기타 사용자는 접근 불가.</li>
<li><code>640</code>: 파일 소유자는 읽기, 쓰기 가능. 그룹은 읽기 가능. 기타 사용자는 접근 불가.</li>
</ul>
<h2 id="5-결과-확인">5. 결과 확인</h2>
<h3 id="소유권-및-권한-확인">소유권 및 권한 확인</h3>
<pre><code class="language-bash">ls -ld /home/newuser/testdir
ls -l /home/newuser/testdir/testfile.txt</code></pre>
<h2 id="6-정리">6. 정리</h2>
<h3 id="사용자-삭제">사용자 삭제</h3>
<p>테스트한 사용자 계정을 삭제합니다.</p>
<pre><code class="language-bash">sudo userdel -r newuser</code></pre>
<h3 id="그룹-삭제">그룹 삭제</h3>
<p>테스트한 그룹을 삭제합니다.</p>
<pre><code class="language-bash">sudo groupdel newgroup</code></pre>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/77ed8690-9424-431f-b8bd-0c4732e0554b/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드] 클라우드 용어 정리 (1)]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-1</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-1</guid>
            <pubDate>Sat, 04 Jan 2025 02:12:56 GMT</pubDate>
            <description><![CDATA[<h1 id="온프레미스-클라우드-하이브리드">온프레미스, 클라우드, 하이브리드</h1>
<h2 id="온프레미스-on-premise">온프레미스 (On-premise)</h2>
<ul>
<li>전용 하드웨어 또는 회사의 기존 데이터 센터 인프라가 지원하는 단일 테넌트 환경.</li>
<li>성능에 민감한 워크로드는 클라우드 전용 데이터 웨어하우스보다 온프레미스 및 하이브리드 클라우드 배포에 더 적합</li>
</ul>
<h3 id="온프레미스-장점">온프레미스 장점</h3>
<ul>
<li>대기 시간이 낮은 로컬 성능</li>
<li>완전한 기술 스택 제어</li>
<li>인프라에 대한 물리적 액세스</li>
<li>데이터 센터 자산 보존</li>
</ul>
<h3 id="온프레미스-단점">온프레미스 단점</h3>
<ul>
<li>높은 하드웨어 비용 및 감가상각</li>
<li>상대적으로 제한된 탄력성</li>
<li>기업은 오류 및 보안 사고에 대한 전적인 책임을 집니다.</li>
<li>최첨단 애널리틱스 기능에 대해 낮은 액세스</li>
<li>지원 종료 및 교체로 인한 문제</li>
</ul>
<h2 id="클라우드">클라우드</h2>
<ul>
<li>클라우드 공급자가 네트워크를 통해 여러 조직과 인프라, 플랫폼 및 애플리케이션의 일부 조합을 공유하는 클라우드 서비스 모델.</li>
<li>데이터 볼륨이 증가하고 데이터 소스의 수가 증가함에 따라 적응할 수 있는 방대한 리소스와 유연성을 제공</li>
<li>엔터프라이즈 데이터 성장률은 주로 데이터 애널리틱스 프로젝트로 인해 향후 2년 동안 40%를 초과할 것으로 예상</li>
<li>과도한 비용이 발생하는 것을 방지하기 위해 필요에 따라 여러 클라우드와 온프레미스 리소스에 연결할 수 있는 최신 데이터 플랫폼이 지원되는 일관된 전략이 필요</li>
</ul>
<h3 id="클라우드-장점">클라우드 장점</h3>
<ul>
<li>엄청난 확장성과 탄력성</li>
<li>&quot;종량제&quot; 가격 책정 모델</li>
<li>공급자가 가동 시간, 가용성 및 보안의 일부 측면을 담당</li>
<li>AI 및 머신 러닝과 같은 혁신으로 빠르게 확장되는 기능 세트</li>
</ul>
<h3 id="클라우드-단점">클라우드 단점</h3>
<ul>
<li>일부 워크로드에 과도할 수 있는 대기 시간</li>
<li>주문형으로만 청구되는 경우 예측할 수 없는 가격 책정</li>
<li>가변성/일정한 활용도 없이 워크로드에서 가장 비용 효율이 떨어짐</li>
</ul>
<h2 id="하이브리드">하이브리드</h2>
<ul>
<li>하나 이상의 퍼블릭 클라우드 서비스를 고객 환경에서 실행되는 단일 테넌트 데이터 플랫폼에 연결하여 퍼블릭 클라우드를 온프레미스 인프라와 결합한 방식</li>
<li>IT 리소스, 서비스, 기능 통합</li>
<li>수평 확장 및 프로비저닝 자동화</li>
<li>환경 간의 자유로운 워크로드 이동</li>
<li>프로세스 조정 및 통합 관리 제공</li>
<li>프라이빗 및 퍼블릭 클라우드는 물론 에지 위치에서 애플리케이션 배포 자동화 </li>
</ul>
<h3 id="하이브리드-클라우드-장점">하이브리드 클라우드 장점</h3>
<ul>
<li>애플리케이션을 배치할 위치와 하이브리드 컴퓨팅을 수행할 위치를 결정 가능</li>
<li>향상된 성능 및 감소된 지연 시간</li>
<li>가장 적합한 환경에서 작동할 수 있는 유연성을 제공</li>
<li>데이터 센터 비용을 늘리지 않고도 클라우드 컴퓨팅 용량을 확장 가능</li>
<li>기존 인프라를 확장하거나 대체할 필요 없이 AI 및 머신러닝과 같은 최신 기술을 활용 가능</li>
</ul>
<h3 id="하이브리드-클라우드-단점">하이브리드 클라우드 단점</h3>
<ul>
<li>사내 하드웨어와 필요한 추가 소프트웨어 및 도구에 투자 및 유지보수 필요</li>
<li>IT팀과 비즈니스 사용자 모두에게 새로운 기술 전문성이 필요</li>
<li>클라우드 환경의 복잡도 상승</li>
<li>데이터 전송 동기화가 어려움</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Django Project OJS (1)]]></title>
            <link>https://velog.io/@rosa_5eau/Django-Project-OJS</link>
            <guid>https://velog.io/@rosa_5eau/Django-Project-OJS</guid>
            <pubDate>Fri, 03 Jan 2025 15:40:21 GMT</pubDate>
            <description><![CDATA[<h2 id="왜-갑자기-장고해">왜 갑자기 장고해?</h2>
<p>그냥~</p>
<p>..</p>
<p>은 아니고 파이썬 프로젝트 ci/cd 작업을 위해서 일단 파이썬으로 REST API 만들기로 하였는데 그러는 김에!!!!!!! 내 사이트 전에 flask로 만들었던 거 장고로 다시 만들어보자 우와~ 라는 생각에서 그러한 일이 되었습니다.</p>
<h2 id="장고-시작하기">장고 시작하기</h2>
<p>파이썬... 깔아두셨죠?</p>
<p>안깔아 두셨다구요?
그럼 파이썬 먼저 깔아봅시다.</p>
<pre><code class="language-bash">brew install python #brew로 파이썬 설치
python --version #파이썬 잘 설치되었는지 확인</code></pre>
<p>홈브루 편리한 녀석.</p>
<p>장고에 앞서 일단 mise와 uv를 깔아봅시다.
mise는 파이썬 버전 관리를 편리하게 해주는 툴이고
uv는 pip처럼 패키지를 다운받는 툴인데 이거 아주 물건입니다. 속도도 빠르고 </p>
<p>사이트에 나와있는대로 curl로 깔아도 되고, 그냥 간편하게 homebrew로 깔아도 됩니다.
저는 homebrew로 깔아보았습니다.</p>
<pre><code class="language-bash">brew install mise
brew install uv</code></pre>
<p>그리고 차근차근 해 봅시다.</p>
<pre><code class="language-bash">uv init [project name]</code></pre>
<p>이렇게 만들어두고 code . 을 쳐서 vscode를 연 다음에</p>
<pre><code class="language-bash">uv venv #가상환경 설정
source .venv/bin/activate #activation</code></pre>
<p>이러면 파이썬 프로젝트 하나가 뚝딱.
여기에 이제 장고를 입혀볼까요?</p>
<pre><code class="language-bash">uv add Django</code></pre>
<p>뚝----딱.
아주 쉽죠?</p>
<pre><code class="language-bash">uv tree #종속성 조회
uv sync #pyproject.toml을 기반으로 종속성 설치</code></pre>
<p>위의 애들은 알아두면 좋은 uv 명령어들.
그리고 이제 서버를 돌려볼까요.</p>
<pre><code class="language-bash">python manage.py runserver</code></pre>
<p>이대로 입력하고 기본적으로 <code>localhost:8000</code>으로 들어가면 </p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/cc49cc5c-9dae-4919-bc17-f70396e2f161/image.png" alt=""></p>
<p>짜잔~</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] 루트 도메인을 www로 리디렉션해야 하는 이유]]></title>
            <link>https://velog.io/@rosa_5eau/%EB%A3%A8%ED%8A%B8-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%84-www%EB%A1%9C-%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</link>
            <guid>https://velog.io/@rosa_5eau/%EB%A3%A8%ED%8A%B8-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%84-www%EB%A1%9C-%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</guid>
            <pubDate>Fri, 20 Dec 2024 07:37:45 GMT</pubDate>
            <description><![CDATA[<h1 id="왜-www">왜? www...</h1>
<p>루트 도메인(<code>example.com</code>)을 <code>www</code> 서브도메인(<code>www.example.com</code>)으로 리디렉션하는 것은 역사적, 기술적, 관리적 이유로 인해 권장되고 있다. vercel로 프론트 배포를 진행하다가 알게된 사실이었는데 궁금해서 찾아본 것들을 정리하려 한다.</p>
<hr>
<h2 id="1-역사적-이유">1. 역사적 이유</h2>
<ul>
<li><strong>초기 표준</strong>: 초기 인터넷에서는 <code>www</code>를 월드 와이드 웹(World Wide Web)을 나타내는 표준 방식으로 사용하며, 다른 프로토콜인 <code>ftp</code>나 <code>mail</code>과 구분했다.<ul>
<li>예: <code>www.example.com</code>은 웹사이트, <code>ftp.example.com</code>은 파일 전송, <code>mail.example.com</code>은 이메일 서버를 나타냄.</li>
</ul>
</li>
<li>시간이 지나면서 <code>www</code>는 웹사이트를 대표하는 것으로 인식되었고, 이 관행은 지금까지 유지되고 있다.</li>
</ul>
<hr>
<h2 id="2-기술적-이유">2. 기술적 이유</h2>
<h3 id="루트-도메인의-제약">루트 도메인의 제약</h3>
<ul>
<li><strong>DNS 제한</strong>: 루트 도메인(<code>example.com</code>)은 A 또는 AAAA 레코드(IPv4/IPv6)만 사용할 수 있으며, CNAME 레코드(별칭)를 사용할 수 없다.</li>
<li><strong>CDN 호환성</strong>: 많은 CDN은 트래픽 최적화를 위해 CNAME 레코드를 사용하므로, <code>www</code>가 더 유연하다.</li>
</ul>
<h3 id="www의-유연성">www의 유연성</h3>
<ul>
<li><strong>서브도메인의 독립성</strong>: <code>www</code>는 서브도메인이므로 루트 도메인과 별도로 구성 및 관리할 수 있다.</li>
<li><strong>동적 DNS 설정</strong>: CNAME을 사용하여 제3자 서비스로 쉽게 연결하거나 리디렉션 설정을 변경할 수 있다.</li>
</ul>
<hr>
<h2 id="3-관리적-이유">3. 관리적 이유</h2>
<h3 id="seo검색-엔진-최적화">SEO(검색 엔진 최적화)</h3>
<ul>
<li><strong>정규 URL(Canonical URL)</strong>: <code>www</code>를 기본 도메인으로 설정하면 트래픽과 검색 순위를 하나의 URL로 통합하여 중복 콘텐츠 문제를 방지할 수 있다.</li>
<li><strong>리디렉션 일관성</strong>: 루트 도메인을 <code>www</code>로 리디렉션하면 검색 엔진과 사용자 모두가 선호하는 도메인에 접속할 수 있다.</li>
</ul>
<h3 id="브랜드-관리">브랜드 관리</h3>
<ul>
<li>대규모 조직은 일반적으로 특정 서비스에 서브도메인을 사용한다:<ul>
<li><code>api.example.com</code> → API</li>
<li><code>blog.example.com</code> → 블로그</li>
<li><code>www.example.com</code> → 메인 웹사이트</li>
</ul>
</li>
</ul>
<hr>
<h2 id="4-사용자-경험">4. 사용자 경험</h2>
<ul>
<li><strong>명확한 식별</strong>: <code>www</code>는 URL이 웹사이트임을 사용자에게 명확히 알려준다.</li>
<li><strong>호환성</strong>: 과거에는 <code>www</code>가 루트 도메인보다 오래된 브라우저와 네트워크에서 더 안정적으로 작동했으며, 이러한 관행은 여전히 유지되고 있다.</li>
</ul>
<hr>
<h2 id="5-운영적-이유">5. 운영적 이유</h2>
<h3 id="ssltls-인증서">SSL/TLS 인증서</h3>
<ul>
<li>일부 인증서 제공자는 루트 도메인을 포함하지 않는 경우가 있었기 때문에, <code>www</code>를 기본값으로 설정하는 것이 더 안정적이었다.</li>
</ul>
<h3 id="트래픽-관리">트래픽 관리</h3>
<ul>
<li><strong>로드 밸런싱</strong>: <code>www</code> 서브도메인은 CDN이나 별도 서버와 연결될 수 있어 대규모 트래픽을 더 효율적으로 처리할 수 있다.</li>
</ul>
<hr>
<h2 id="결론">결론</h2>
<ol>
<li><strong>기술적 유연성</strong>: 고급 DNS 및 CDN 구성을 가능하게 함.</li>
<li><strong>SEO 장점</strong>: 중복 콘텐츠를 방지하고 정규 URL 처리를 강화.</li>
<li><strong>사용자 명확성</strong>: 일관적이고 인식하기 쉬운 웹 경험 제공.</li>
<li><strong>확장성</strong>: 더 나은 트래픽 분배와 운영 신뢰성을 지원.</li>
</ol>
<p><code>www</code>로 리디렉션하는 것이 일반적인 관행이지만 반드시 따라야 하는 것은 아니다. 서비스의 요구 사항에 따라 루트 도메인(<code>example.com</code>)을 기본값으로 유지할 수도 있다. 선택은 기술적, 운영적 필요에 따라 결정하면 된다.</p>
<p><del>별개로 www... 좀 웃긴 것 같다w 쑻</del></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] 리눅스 기본 명령어]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4</link>
            <guid>https://velog.io/@rosa_5eau/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4</guid>
            <pubDate>Wed, 11 Dec 2024 07:53:43 GMT</pubDate>
            <description><![CDATA[<ul>
<li><code>ls</code></li>
<li><code>cd</code></li>
<li><code>cp</code></li>
<li><code>mv</code></li>
<li><code>rm</code></li>
<li><code>mkdir</code> </li>
</ul>
<hr>
<h2 id="1-ls-디렉터리-내용-보기">1. <strong><code>ls</code>: 디렉터리 내용 보기</strong></h2>
<h3 id="사용법">사용법</h3>
<pre><code class="language-bash">ls            # 현재 디렉터리의 내용 표시
ls -l         # 자세한 정보(권한, 소유자, 크기 등) 표시
ls -a         # 숨김 파일 포함 표시
ls -lh        # 파일 크기를 사람이 읽기 쉬운 형식으로 표시</code></pre>
<h3 id="예제">예제</h3>
<pre><code class="language-bash">ls /home      # /home 디렉터리의 내용 표시</code></pre>
<hr>
<h2 id="2-cd-디렉터리-이동">2. <strong><code>cd</code>: 디렉터리 이동</strong></h2>
<h3 id="사용법-1">사용법</h3>
<pre><code class="language-bash">cd directory_path  # 지정된 디렉터리로 이동
cd ..              # 상위 디렉터리로 이동
cd ~               # 홈 디렉터리로 이동</code></pre>
<h3 id="예제-1">예제</h3>
<pre><code class="language-bash">cd /var/log   # /var/log 디렉터리로 이동
cd ..         # 상위 디렉터리로 이동</code></pre>
<hr>
<h2 id="3-cp-파일-복사">3. <strong><code>cp</code>: 파일 복사</strong></h2>
<h3 id="사용법-2">사용법</h3>
<pre><code class="language-bash">cp source_file target_file            # 파일 복사
cp -r source_directory target_directory  # 디렉터리 복사</code></pre>
<h3 id="예제-2">예제</h3>
<pre><code class="language-bash">cp file.txt /home/user/backup/       # file.txt를 /home/user/backup/로 복사
cp -r /var/www /home/user/backup/    # /var/www 디렉터리를 복사</code></pre>
<hr>
<h2 id="4-mv-파일-또는-디렉터리-이동이름-변경">4. <strong><code>mv</code>: 파일 또는 디렉터리 이동/이름 변경</strong></h2>
<h3 id="사용법-3">사용법</h3>
<pre><code class="language-bash">mv source_file target_file           # 파일 이름 변경
mv source_file target_directory      # 파일 이동</code></pre>
<h3 id="예제-3">예제</h3>
<pre><code class="language-bash">mv old_name.txt new_name.txt         # 파일 이름 변경
mv file.txt /home/user/documents/    # 파일 이동</code></pre>
<hr>
<h2 id="5-rm-파일-및-디렉터리-삭제">5. <strong><code>rm</code>: 파일 및 디렉터리 삭제</strong></h2>
<h3 id="사용법-4">사용법</h3>
<pre><code class="language-bash">rm file_name                         # 파일 삭제
rm -r directory_name                 # 디렉터리 삭제
rm -f file_name                      # 강제로 파일 삭제</code></pre>
<h3 id="예제-4">예제</h3>
<pre><code class="language-bash">rm file.txt                          # file.txt 삭제
rm -r /home/user/temp/               # temp 디렉터리와 내용 삭제</code></pre>
<blockquote>
<p><strong>주의:</strong> 삭제된 파일은 복구가 어려우니 주의하기.</p>
</blockquote>
<hr>
<h2 id="6-mkdir-디렉터리-생성">6. <strong><code>mkdir</code>: 디렉터리 생성</strong></h2>
<h3 id="사용법-5">사용법</h3>
<pre><code class="language-bash">mkdir directory_name                 # 새 디렉터리 생성
mkdir -p parent/child                # 상위 디렉터리가 없으면 함께 생성</code></pre>
<h3 id="예제-5">예제</h3>
<pre><code class="language-bash">mkdir new_folder                     # new_folder 생성
mkdir -p /home/user/project/data     # 상위 디렉터리와 함께 생성</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] 자동화 목적의 Shell파일 구성]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-%EC%9E%90%EB%8F%99%ED%99%94-%EB%AA%A9%EC%A0%81%EC%9D%98-Shell%ED%8C%8C%EC%9D%BC-%EA%B5%AC%EC%84%B1</link>
            <guid>https://velog.io/@rosa_5eau/Linux-%EC%9E%90%EB%8F%99%ED%99%94-%EB%AA%A9%EC%A0%81%EC%9D%98-Shell%ED%8C%8C%EC%9D%BC-%EA%B5%AC%EC%84%B1</guid>
            <pubDate>Wed, 11 Dec 2024 07:23:59 GMT</pubDate>
            <description><![CDATA[<h1 id="반복-작업-자동화를-위한-쉘-스크립트-작성">반복 작업 자동화를 위한 쉘 스크립트 작성</h1>
<h2 id="1-기본-쉘-스크립트-작성">1. 기본 쉘 스크립트 작성</h2>
<h3 id="1-스크립트-파일-생성">(1) 스크립트 파일 생성</h3>
<pre><code class="language-bash">nano automation.sh</code></pre>
<h3 id="2-기본-구조-작성">(2) 기본 구조 작성</h3>
<pre><code class="language-bash">#!/bin/bash
# 반복 작업 자동화를 위한 쉘 스크립트

echo &quot;자동화 작업 시작&quot;

# 실제 사용자 홈 디렉터리 경로를 동적으로 설정
USER_HOME=$(eval echo ~${SUDO_USER})

# 파일 생성
touch &quot;$USER_HOME/newfile.txt&quot;
echo &quot;파일 생성 완료: $USER_HOME/newfile.txt&quot;

# 파일 권한 변경
chmod 644 &quot;$USER_HOME/newfile.txt&quot;
echo &quot;파일 권한 변경 완료: 644&quot;

# 패키지 설치 (예: curl)
sudo apt update &amp;&amp; sudo apt install -y curl
echo &quot;curl 설치 완료&quot;

echo &quot;자동화 작업 완료&quot;</code></pre>
<h3 id="3-실행-권한-부여">(3) 실행 권한 부여</h3>
<pre><code class="language-bash">chmod +x automation.sh</code></pre>
<h3 id="4-스크립트-실행">(4) 스크립트 실행</h3>
<pre><code class="language-bash">./automation.sh</code></pre>
<p>실행이 제대로 되면</p>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/5632f281-9b22-4bb3-b65d-4b214095cae4/image.png" alt=""></p>
<p>script 실행 한 번으로 여러가지 작업이 가능해진다
(물론 curl은 이미 깔려있다고...)</p>
<hr>
<h2 id="2-스크립트-설명">2. 스크립트 설명</h2>
<ul>
<li><code>#!/bin/bash</code>: Bash 쉘에서 실행할 스크립트임을 명시합니다.</li>
<li><code>touch</code>: 새 파일을 생성합니다.</li>
<li><code>chmod</code>: 파일의 권한을 변경합니다.</li>
<li><code>sudo apt install</code>: 패키지를 설치합니다.</li>
</ul>
<hr>
<h2 id="3-추가-팁">3. 추가 팁</h2>
<h3 id="1-변수-사용">(1) 변수 사용</h3>
<p>반복되는 값은 변수로 관리하여 유지보수성을 높입니다.</p>
<pre><code class="language-bash">#!/bin/bash
FILENAME=&quot;/home/username/newfile.txt&quot;
chmod 644 $FILENAME</code></pre>
<h3 id="2-조건문-활용">(2) 조건문 활용</h3>
<p>조건에 따라 작업을 분기 처리합니다.</p>
<pre><code class="language-bash">if [ ! -f &quot;/home/username/newfile.txt&quot; ]; then
  touch &quot;/home/username/newfile.txt&quot;
  echo &quot;새 파일을 생성했습니다.&quot;
else
  echo &quot;파일이 이미 존재합니다.&quot;
fi</code></pre>
<h3 id="3-루프-활용">(3) 루프 활용</h3>
<p>반복 작업을 효율적으로 처리합니다.</p>
<pre><code class="language-bash">for i in {1..5}; do
  touch &quot;/home/username/file_$i.txt&quot;
  echo &quot;file_$i.txt 생성 완료&quot;
done</code></pre>
<hr>
<h2 id="4-스크립트-예제-자동화-패키지-설치">4. 스크립트 예제: 자동화 패키지 설치</h2>
<pre><code class="language-bash">#!/bin/bash
# 설치할 패키지 목록
PACKAGES=(&quot;curl&quot; &quot;wget&quot; &quot;vim&quot;)

echo &quot;패키지 설치 시작&quot;
for pkg in &quot;${PACKAGES[@]}&quot;; do
  sudo apt install -y $pkg
  echo &quot;$pkg 설치 완료&quot;
done
echo &quot;모든 패키지 설치 완료&quot;</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Linux] /, /home, /etc, /var 의 역할과 구조]]></title>
            <link>https://velog.io/@rosa_5eau/Linux-home-etc-var-%EC%9D%98-%EC%97%AD%ED%95%A0%EA%B3%BC-%EA%B5%AC%EC%A1%B0</link>
            <guid>https://velog.io/@rosa_5eau/Linux-home-etc-var-%EC%9D%98-%EC%97%AD%ED%95%A0%EA%B3%BC-%EA%B5%AC%EC%A1%B0</guid>
            <pubDate>Wed, 11 Dec 2024 06:55:43 GMT</pubDate>
            <description><![CDATA[<h1 id="리눅스-주요-디렉터리의-역할과-탐색-방법">리눅스 주요 디렉터리의 역할과 탐색 방법</h1>
<h2 id="1-주요-디렉터리와-역할">1. 주요 디렉터리와 역할</h2>
<h3 id="-root-directory"><strong>&#39;/&#39; (Root Directory)</strong></h3>
<ul>
<li>리눅스 파일 시스템의 최상위 디렉터리</li>
<li>모든 디렉터리와 파일은 <code>/</code> 아래에 존재</li>
<li>주로 시스템의 전체 구조를 탐색하는 시작점</li>
</ul>
<h3 id="home"><strong>&#39;/home&#39;</strong></h3>
<ul>
<li>사용자별 홈 디렉터리를 저장</li>
<li>예: <code>/home/username</code></li>
<li>사용자의 개인 파일, 설정, 다운로드 등이 저장</li>
</ul>
<h3 id="etc"><strong>&#39;/etc&#39;</strong></h3>
<ul>
<li>시스템 설정 파일 및 초기화 스크립트가 저장</li>
<li>주요 설정 파일:<ul>
<li><code>/etc/passwd</code>: 사용자 정보</li>
<li><code>/etc/fstab</code>: 파일 시스템 마운트 정보</li>
<li><code>/etc/hostname</code>: 시스템 호스트 이름</li>
</ul>
</li>
</ul>
<h3 id="var"><strong>&#39;/var&#39;</strong></h3>
<ul>
<li><strong>가변 데이터</strong>를 저장 (로그, 캐시, 메일 등).</li>
<li>주요 디렉터리:<ul>
<li><code>/var/log</code>: 시스템 로그 파일</li>
<li><code>/var/www</code>: 웹 서버의 기본 문서 루트</li>
<li><code>/var/cache</code>: 캐시 데이터</li>
</ul>
</li>
</ul>
<h3 id="bin"><strong>&#39;/bin&#39;</strong></h3>
<ul>
<li>기본적인 실행 파일이 저장된 디렉터리</li>
<li>예: <code>ls</code>, <code>cp</code>, <code>mv</code> 같은 명령어에 대한 실행 파일</li>
</ul>
<h3 id="usr"><strong>&#39;/usr&#39;</strong></h3>
<ul>
<li>사용자 프로그램과 라이브러리가 저장되는 공간</li>
<li><code>/usr/bin</code>: 일반 사용자 명령어</li>
<li><code>/usr/lib</code>: 라이브러리 파일</li>
</ul>
<h3 id="opt"><strong>&#39;/opt&#39;</strong></h3>
<ul>
<li>선택적(application) 패키지가 설치되는 디렉터리</li>
<li>외부 소프트웨어나 서드파티 애플리케이션이 저장됨</li>
</ul>
<h3 id="tmp"><strong>&#39;/tmp&#39;</strong></h3>
<ul>
<li>임시 파일을 저장하는 디렉터리</li>
<li>시스템 재부팅 시 삭제됨</li>
</ul>
<h3 id="dev"><strong>&#39;/dev&#39;</strong></h3>
<ul>
<li>장치 파일(Device Files)이 저장</li>
<li>예: <code>/dev/sda</code> (디스크), <code>/dev/tty</code> (터미널).</li>
</ul>
<hr>
<h2 id="2-디렉터리-탐색-방법">2. 디렉터리 탐색 방법</h2>
<h3 id="1-디렉터리-이동">(1) <strong>디렉터리 이동</strong></h3>
<pre><code class="language-bash">cd /etc    # /etc로 이동
cd /var    # /var로 이동
cd ~       # 홈 디렉터리로 이동</code></pre>
<h3 id="2-디렉터리-내용-보기">(2) <strong>디렉터리 내용 보기</strong></h3>
<pre><code class="language-bash">ls          # 현재 디렉터리 내용 보기
ls -l       # 상세 정보 보기
ls -a       # 숨김 파일 포함 보기</code></pre>
<h3 id="3-현재-위치-확인">(3) <strong>현재 위치 확인</strong></h3>
<pre><code class="language-bash">pwd         # 현재 디렉터리 경로 출력</code></pre>
<h3 id="4-파일-내용-확인">(4) <strong>파일 내용 확인</strong></h3>
<pre><code class="language-bash">cat filename         # 파일 내용 출력
less filename        # 페이지 단위로 파일 읽기
nano filename        # 파일 편집</code></pre>
<h3 id="5-디렉터리-구조-보기">(5) <strong>디렉터리 구조 보기</strong></h3>
<pre><code class="language-bash">tree /              # 디렉터리 트리 구조 보기 (tree 명령어 설치 필요)</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드 전반] 클라우드 아키텍처]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98</guid>
            <pubDate>Thu, 05 Dec 2024 08:09:31 GMT</pubDate>
            <description><![CDATA[<h2 id="1-요구사항-분석">1. 요구사항 분석</h2>
<p>애플리케이션을 설계 전 분석해야 할 사항들:</p>
<ul>
<li><strong>기능 요구사항</strong>: 웹 페이지, 데이터 저장, 사용자 인증 등.</li>
<li><strong>트래픽 요구사항</strong>: 초기 사용 예상량 및 확장 가능성.</li>
<li><strong>비용</strong>: 클라우드 서비스 사용에 따른 예산.</li>
</ul>
<hr>
<h2 id="2-웹-애플리케이션">2. 웹 애플리케이션</h2>
<h3 id="1-특징">1) 특징</h3>
<ul>
<li>정적 페이지(웹 사이트) + 동적 페이지</li>
<li>데스크탑 애플리케이션(프로그램)처럼 상호작용이 가능</li>
<li>특정 기능을 가짐(정보 검색 등)</li>
<li>정보나 자료 등의 콘텐츠 관리 시스템과 함께 작동</li>
</ul>
<h3 id="2-구조">2) 구조</h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/39d978da-8a9e-4f66-b0c0-4894cdb284bf/image.png" alt=""></p>
<ol>
<li><strong>Client (사용자)</strong>:  
브라우저에서 요청을 전송. 사용자 인터페이스와 정적 콘텐츠 제공.</li>
<li><strong>Server (백엔드 서버)</strong>:  
비즈니스 로직을 처리하고, 데이터베이스와 통신.</li>
<li><strong>Database (데이터 저장소)</strong>:  
데이터를 저장하고 관리하는 역할.</li>
</ol>
<h3 id="3-3단-계층-3-tier-architecture">3) 3단 계층 (3-Tier Architecture)</h3>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/4a200cef-e261-466d-a4f0-e4f59f243cba/image.png" alt=""></p>
<ol>
<li><strong>Presentation Layer (UI)</strong>:<ul>
<li>사용자 요청 처리 및 사용자 인터페이스 제공.</li>
<li>예: <strong>AWS S3</strong>, <strong>CloudFront</strong>.</li>
</ul>
</li>
<li><strong>Application Layer (Logic)</strong>:<ul>
<li>API 요청 처리 및 비즈니스 로직 실행.</li>
<li>예: <strong>AWS EC2</strong>, <strong>AWS Lambda</strong>, <strong>API Gateway</strong>.</li>
</ul>
</li>
<li><strong>Data Layer (Storage)</strong>:<ul>
<li>데이터를 저장하고 관리.</li>
<li>예: <strong>AWS RDS</strong>, <strong>DynamoDB</strong>.</li>
</ul>
</li>
</ol>
<hr>
<h2 id="3-기본-아키텍처-구성요소">3. 기본 아키텍처 구성요소</h2>
<h3 id="1-프론트엔드-frontend">1) 프론트엔드 (Frontend)</h3>
<ul>
<li>사용자와 상호작용하는 애플리케이션의 UI.</li>
<li><strong>사용 기술</strong>: HTML, CSS, JavaScript(React, Angular, Vue.js 등).</li>
<li><strong>호스팅</strong>:  <ul>
<li><strong>CDN(Content Delivery Network)</strong>: 빠른 콘텐츠 전송을 위해 AWS CloudFront, Azure CDN, 또는 Cloudflare 사용.</li>
<li><strong>정적 파일 호스팅</strong>: AWS S3, Azure Blob Storage 등을 활용.</li>
</ul>
</li>
</ul>
<h3 id="2-백엔드-backend">2) 백엔드 (Backend)</h3>
<ul>
<li>비즈니스 로직 처리, 데이터베이스와 상호작용.</li>
<li><strong>사용 기술</strong>: Node.js, Spring Boot, Django, Express.js 등.</li>
<li><strong>배포 방법</strong>:  <ul>
<li>가상 머신(EC2, Azure Virtual Machines).</li>
<li>컨테이너(AWS ECS, Azure AKS, Google Kubernetes Engine).</li>
<li>서버리스 컴퓨팅(AWS Lambda, Azure Functions).</li>
</ul>
</li>
</ul>
<h3 id="3-데이터베이스">3) 데이터베이스</h3>
<ul>
<li>데이터를 저장하고 관리.</li>
<li><strong>유형</strong>:  <ul>
<li><strong>관계형 데이터베이스</strong>: MySQL, PostgreSQL (AWS RDS, Azure SQL Database).</li>
<li><strong>NoSQL 데이터베이스</strong>: MongoDB, DynamoDB.</li>
</ul>
</li>
<li><strong>배포 방법</strong>: 클라우드 관리형 데이터베이스 서비스(RDS, Cloud SQL 등) 추천.</li>
</ul>
<h3 id="4-네트워크와-보안">4) 네트워크와 보안</h3>
<ul>
<li><strong>로드 밸런서</strong>: 트래픽 분산 및 고가용성(AWS ALB, Azure Load Balancer).</li>
<li><strong>가상 네트워크</strong>: 보안 그룹과 서브넷 구성(VPC).</li>
<li><strong>HTTPS와 SSL 인증서</strong>: 사용자 데이터 보호를 위해 SSL/TLS 적용(AWS ACM, Let&#39;s Encrypt).</li>
</ul>
<hr>
<h2 id="4클라우드-아키텍처-설계의-주요-특징">4.클라우드 아키텍처 설계의 주요 특징</h2>
<h3 id="1-확장성-scalability">1) <strong>확장성 (Scalability)</strong></h3>
<ul>
<li><strong>Auto Scaling Group</strong>: <ul>
<li>웹 서버와 애플리케이션 서버의 자원을 자동으로 확장/축소.</li>
<li>트래픽 증가에 따라 클라우드 리소스가 동적으로 반응.</li>
</ul>
</li>
<li>클라우드 환경에서는 수요에 따라 리소스를 추가하거나 줄일 수 있음.</li>
</ul>
<h3 id="2-고가용성-high-availability">2) <strong>고가용성 (High Availability)</strong></h3>
<ul>
<li><strong>Elastic Load Balancer (ELB)</strong>:<ul>
<li>사용자 요청을 여러 서버로 분산하여 장애를 방지.</li>
</ul>
</li>
<li><strong>RDS Standby</strong>:<ul>
<li>데이터베이스의 장애 시 복구를 위해 스탠바이 복제본 설정.</li>
</ul>
</li>
<li>여러 가용 영역(AZ)에 자원을 분산하여 높은 서비스 가용성 유지.</li>
</ul>
<h3 id="3-보안-security">3) <strong>보안 (Security)</strong></h3>
<ul>
<li><strong>Amazon Route 53</strong>:<ul>
<li>도메인 네임 시스템(DNS)으로 사용자 요청을 올바른 리소스로 라우팅.</li>
<li>DNS 기반 보안 설정 가능.</li>
</ul>
</li>
<li><strong>IAM 및 SSL</strong>:<ul>
<li>보안 계층 및 데이터 암호화를 통한 사용자 보호.</li>
</ul>
</li>
</ul>
<h3 id="4-유지보수-및-관리-manageability">4) <strong>유지보수 및 관리 (Manageability)</strong></h3>
<ul>
<li><strong>CloudWatch</strong>:<ul>
<li>시스템 로그와 상태를 모니터링하여 성능 관리.</li>
</ul>
</li>
<li><strong>SNS Notifications</strong>:<ul>
<li>오류 또는 상태 변화 시 알림 제공.</li>
</ul>
<hr>
</li>
</ul>
<h2 id="5-단계별-클라우드-아키텍처-설계-방법">5. 단계별 클라우드 아키텍처 설계 방법</h2>
<h3 id="단계-1-기본-구성">단계 1: 기본 구성</h3>
<ul>
<li>프론트엔드: S3와 CloudFront를 사용해 정적 콘텐츠를 호스팅.</li>
<li>백엔드: EC2 또는 Lambda를 사용하여 API를 제공.</li>
<li>데이터베이스: RDS 또는 DynamoDB를 통해 데이터 관리.</li>
</ul>
<h3 id="단계-2-확장-및-최적화">단계 2: 확장 및 최적화</h3>
<ul>
<li><strong>오토스케일링(Auto Scaling)</strong>: EC2 인스턴스나 컨테이너를 사용해 트래픽 증가 시 자동으로 확장.</li>
<li><strong>캐싱</strong>: Redis 또는 Memcached를 사용해 데이터베이스 부하를 줄임.</li>
<li><strong>CDN 활용</strong>: 전 세계 사용자에게 빠른 콘텐츠 제공.</li>
</ul>
<h3 id="단계-3-모니터링과-로깅">단계 3: 모니터링과 로깅</h3>
<ul>
<li><strong>모니터링</strong>: 클라우드 제공업체의 모니터링 도구(AWS CloudWatch, Azure Monitor)로 애플리케이션 상태를 확인.</li>
<li><strong>로깅</strong>: 로그 데이터를 중앙화하여 디버깅 및 분석(S3, Elasticsearch 등).</li>
</ul>
<hr>
<h2 id="6-클라우드-아키텍처-설계">6. 클라우드 아키텍처 설계</h2>
<p><img src="https://velog.velcdn.com/images/rosa_5eau/post/1d6ebad3-022d-4a4e-8cc8-ba704b136f9e/image.jpg" alt=""></p>
<h3 id="1-계층별-구성-요소">1) 계층별 구성 요소</h3>
<h4 id="1-presentation-layer-프레젠테이션-계층"><strong>(1) Presentation Layer (프레젠테이션 계층)</strong></h4>
<ul>
<li><strong>Amazon Route 53</strong>:<ul>
<li>사용자 요청을 처리하며 도메인 이름을 관리.</li>
</ul>
</li>
<li><strong>Amazon CloudFront</strong>:<ul>
<li>정적 콘텐츠를 빠르게 제공하기 위한 CDN(Content Delivery Network).</li>
</ul>
</li>
<li><strong>Amazon S3 Bucket</strong>:<ul>
<li>정적 파일(이미지, HTML, CSS, JavaScript)을 저장.</li>
</ul>
</li>
</ul>
<h4 id="2-application-layer-애플리케이션-계층"><strong>(2) Application Layer (애플리케이션 계층)</strong></h4>
<ul>
<li><strong>Elastic Load Balancer (ELB)</strong>:<ul>
<li>사용자 요청을 Auto Scaling Group의 웹 서버에 분배.</li>
</ul>
</li>
<li><strong>Web Server &amp; App Server</strong>:<ul>
<li>웹 서버는 사용자 요청을 처리하고, 애플리케이션 서버는 비즈니스 로직을 실행.</li>
</ul>
</li>
<li><strong>Auto Scaling Group</strong>:<ul>
<li>트래픽 증가/감소에 따라 서버를 동적으로 추가/제거.</li>
</ul>
</li>
</ul>
<h4 id="3-data-layer-데이터-계층"><strong>(3) Data Layer (데이터 계층)</strong></h4>
<ul>
<li><strong>Amazon RDS</strong>:<ul>
<li>관계형 데이터베이스 서비스로 데이터를 저장.</li>
<li>스탠바이 인스턴스를 설정하여 장애 발생 시 복구 가능.</li>
</ul>
</li>
<li><strong>Elastic Cache</strong>:<ul>
<li>Redis 또는 Memcached를 사용하여 데이터 캐싱, 데이터베이스 부하 감소.</li>
</ul>
</li>
</ul>
<h4 id="4-monitoring--notification-모니터링-및-알림"><strong>(4) Monitoring &amp; Notification (모니터링 및 알림)</strong></h4>
<ul>
<li><strong>CloudWatch</strong>:<ul>
<li>로그와 메트릭 데이터를 수집하여 시스템 상태를 모니터링.</li>
</ul>
</li>
<li><strong>Amazon SNS Notifications</strong>:<ul>
<li>상태 변경이나 오류 발생 시 알림 전송.</li>
</ul>
</li>
</ul>
<h3 id="2-아키텍처-설계의-흐름">2) 아키텍처 설계의 흐름</h3>
<ol>
<li><strong>사용자 요청</strong>:  <ul>
<li>사용자가 <code>www.yourApp.com</code>에 접속하면 요청이 <strong>Amazon Route 53</strong>으로 전달.</li>
</ul>
</li>
<li><strong>정적 파일 제공</strong>:  <ul>
<li>정적 데이터는 <strong>Amazon CloudFront</strong>와 <strong>S3 Bucket</strong>에서 제공.</li>
</ul>
</li>
<li><strong>로드 밸런싱</strong>:  <ul>
<li><strong>Elastic Load Balancer</strong>가 트래픽을 <strong>Web Server</strong>와 <strong>App Server</strong>로 분배.</li>
</ul>
</li>
<li><strong>비즈니스 로직 처리</strong>:  <ul>
<li><strong>App Server</strong>가 요청에 따라 데이터를 처리.</li>
</ul>
</li>
<li><strong>데이터 저장 및 캐싱</strong>:  <ul>
<li>데이터는 <strong>Amazon RDS</strong>에 저장되고, <strong>Elastic Cache</strong>로 캐싱 처리.</li>
</ul>
</li>
<li><strong>모니터링과 알림</strong>:  <ul>
<li><strong>CloudWatch</strong>가 애플리케이션 상태를 모니터링하고, 문제가 발생하면 <strong>SNS Notifications</strong>로 알림 전송.</li>
</ul>
</li>
</ol>
<h3 id="3-특징-요약">3) 특징 요약</h3>
<ul>
<li><strong>확장성</strong>: Auto Scaling과 캐싱을 통해 트래픽 증가에 유연하게 대응.</li>
<li><strong>고가용성</strong>: ELB와 RDS 스탠바이로 장애에 대비.</li>
<li><strong>보안</strong>: Route 53, SSL, IAM으로 보안 계층 강화.</li>
<li><strong>유지보수</strong>: CloudWatch와 SNS로 효율적인 시스템 관리 가능.</li>
</ul>
<hr>
<h2 id="7-추가-고려-사항">7. 추가 고려 사항</h2>
<h3 id="비용-관리">비용 관리</h3>
<ul>
<li><strong>프리티어 사용</strong>: AWS, Azure, GCP의 프리티어를 활용하여 초기 비용 절감.</li>
<li><strong>Pay-as-you-go</strong>: 사용량 기반 과금으로 효율적인 비용 관리.</li>
</ul>
<h3 id="보안">보안</h3>
<ul>
<li><strong>IAM (Identity and Access Management)</strong>: 최소 권한 원칙으로 접근 제어.</li>
<li><strong>데이터 암호화</strong>: 전송 중(TLS) 및 저장 중(AES) 암호화.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드 전반] 클라우드 보안 기초]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%B3%B4%EC%95%88-%EA%B8%B0%EC%B4%88</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%B3%B4%EC%95%88-%EA%B8%B0%EC%B4%88</guid>
            <pubDate>Thu, 05 Dec 2024 05:37:55 GMT</pubDate>
            <description><![CDATA[<h2 id="1-주요-보안-문제와-위협-요소">1. 주요 보안 문제와 위협 요소</h2>
<h3 id="1-데이터-보안-문제">1) 데이터 보안 문제</h3>
<ul>
<li><strong>데이터 유출</strong><br>민감한 데이터가 무단으로 노출되거나 유출될 위험.</li>
<li><strong>데이터 손상</strong><br>잘못된 데이터 관리로 데이터가 손상되거나 삭제될 가능성.</li>
</ul>
<h3 id="2-인증-및-접근-통제-문제">2) 인증 및 접근 통제 문제</h3>
<ul>
<li><strong>약한 인증 및 권한 설정</strong><br>사용자 계정에 대한 약한 비밀번호와 미흡한 권한 설정이 문제.</li>
<li><strong>내부 위협</strong><br>내부 직원 또는 권한을 가진 사용자에 의한 의도적 또는 비의도적 보안 사고.</li>
</ul>
<h3 id="3-네트워크-보안-문제">3) 네트워크 보안 문제</h3>
<ul>
<li><strong>중간자 공격 (MITM)</strong><br>데이터 전송 중 해커가 트래픽을 가로채는 공격.</li>
<li><strong>DDoS 공격</strong><br>클라우드 서비스를 과부하 상태로 만들어 정상적인 서비스를 방해.</li>
</ul>
<h3 id="4-멀티-테넌트-환경의-보안">4) 멀티 테넌트 환경의 보안</h3>
<ul>
<li>여러 사용자가 동일한 물리적 서버를 공유하는 환경에서 데이터 격리가 제대로 이루어지지 않으면, 데이터 유출 가능성이 존재.</li>
</ul>
<h3 id="5-규제-및-컴플라이언스">5) 규제 및 컴플라이언스</h3>
<ul>
<li>국가별 또는 산업별 규제와 표준을 준수하지 않을 경우 법적 문제가 발생.</li>
</ul>
<hr>
<h2 id="2-주요-대응-방법">2. 주요 대응 방법</h2>
<h3 id="1-데이터-보안-강화">1) 데이터 보안 강화</h3>
<ul>
<li><strong>암호화</strong>  <ul>
<li>저장 데이터: 데이터가 클라우드에 저장될 때 암호화(AES, RSA 등).</li>
<li>전송 데이터: HTTPS/TLS 프로토콜을 통해 데이터 전송 암호화.</li>
</ul>
</li>
<li><strong>백업 및 복구 계획</strong>  <ul>
<li>정기적인 데이터 백업과 복구 테스트를 통해 데이터 손실 방지.</li>
</ul>
</li>
<li><strong>데이터 지역화</strong>  <ul>
<li>민감한 데이터는 특정 지역(규제 요건)에 저장.</li>
</ul>
</li>
</ul>
<h3 id="2-인증-및-접근-통제">2) 인증 및 접근 통제</h3>
<ul>
<li><strong>다중 인증 (MFA)</strong>  <ul>
<li>로그인 시 비밀번호와 함께 추가 인증 수단(SMS, 앱 인증) 사용.</li>
</ul>
</li>
<li><strong>최소 권한 원칙</strong>  <ul>
<li>사용자와 애플리케이션에 필요한 최소한의 권한만 부여.</li>
</ul>
</li>
<li><strong>IAM (Identity and Access Management)</strong>  <ul>
<li>사용자와 자원의 접근 권한을 중앙에서 관리.</li>
</ul>
</li>
</ul>
<h3 id="3-네트워크-보안-강화">3) 네트워크 보안 강화</h3>
<ul>
<li><strong>방화벽 설정</strong>  <ul>
<li>가상 네트워크 방화벽(Virtual Firewall)을 설정하여 불필요한 트래픽 차단.</li>
</ul>
</li>
<li><strong>DDoS 방어</strong>  <ul>
<li>클라우드 제공업체의 DDoS 방어 서비스 활용(AWS Shield, Azure DDoS Protection).</li>
</ul>
</li>
<li><strong>VPN 및 전용 네트워크 사용</strong>  <ul>
<li>민감한 데이터 전송 시 가상 사설 네트워크(VPN) 사용.</li>
</ul>
</li>
</ul>
<h3 id="4-멀티-테넌트-환경-보안">4) 멀티 테넌트 환경 보안</h3>
<ul>
<li><strong>가상화 보안 강화</strong>  <ul>
<li>가상 머신 간 데이터 격리를 위한 하드웨어 및 소프트웨어 보안 설정.</li>
</ul>
</li>
<li><strong>보안 모니터링</strong>  <ul>
<li>클라우드 제공업체의 보안 로그와 경고 시스템을 실시간으로 모니터링.</li>
</ul>
</li>
</ul>
<h3 id="5-규제-및-컴플라이언스-준수">5) 규제 및 컴플라이언스 준수</h3>
<ul>
<li><strong>규정 준수 확인</strong>  <ul>
<li>GDPR, HIPAA, ISO 27001 등 관련 규제를 준수하는 클라우드 제공업체 선택.</li>
</ul>
</li>
<li><strong>감사 및 보고</strong>  <ul>
<li>정기적인 보안 감사와 규제 준수 보고서를 준비.</li>
</ul>
</li>
</ul>
<hr>
<h2 id="3-클라우드-제공업체의-보안-도구-활용">3. 클라우드 제공업체의 보안 도구 활용</h2>
<ul>
<li><strong>AWS</strong>: AWS Shield (DDoS 방어), AWS Key Management Service (암호화 키 관리).</li>
<li><strong>Azure</strong>: Azure Security Center (위협 탐지 및 보안 관리), Azure Sentinel (SIEM 솔루션).</li>
<li><strong>Google Cloud</strong>: Cloud Armor (DDoS 방어), Identity-Aware Proxy (인증 강화).</li>
</ul>
<hr>
<h2 id="4-보안-사고-발생-시-대응-절차">4. 보안 사고 발생 시 대응 절차</h2>
<ol>
<li><strong>사고 탐지</strong>  <ul>
<li>보안 모니터링 시스템(SIEM)을 통해 비정상적인 활동 감지.</li>
</ul>
</li>
<li><strong>사고 분석</strong>  <ul>
<li>사고의 범위와 원인을 분석하여 영향을 받은 자원 식별.</li>
</ul>
</li>
<li><strong>사고 대응</strong>  <ul>
<li>데이터 복구, 접근 권한 변경, 네트워크 차단 등의 즉각적인 조치.</li>
</ul>
</li>
<li><strong>사후 감사</strong>  <ul>
<li>사고 원인을 철저히 조사하고 재발 방지 대책 수립.</li>
</ul>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드 전반] 클라우드 배포 모델]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%B0%B0%ED%8F%AC-%EB%AA%A8%EB%8D%B8</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%B0%B0%ED%8F%AC-%EB%AA%A8%EB%8D%B8</guid>
            <pubDate>Thu, 05 Dec 2024 04:52:44 GMT</pubDate>
            <description><![CDATA[<h2 id="1-공용-클라우드-public-cloud">1. 공용 클라우드 (Public Cloud)</h2>
<ul>
<li><p><strong>개념</strong><br>공용 클라우드는 클라우드 서비스 제공업체가 소유 및 운영하며 여러 사용자가 공유하는 인프라를 기반으로 서비스를 제공. 인터넷을 통해 접근 가능.</p>
</li>
<li><p><strong>특징</strong>  </p>
<ul>
<li>자원은 여러 고객이 공유하지만, 데이터와 서비스는 각 사용자가 독립적으로 사용.</li>
<li>사용자는 자원의 소유권이 없고, 필요에 따라 자원을 임대.</li>
</ul>
</li>
<li><p><strong>장점</strong></p>
<ul>
<li>비용 효율성: 초기 투자 비용 없이 사용한 만큼만 지불.</li>
<li>확장성: 필요할 때 자원을 즉시 확장 가능.</li>
<li>유지보수 감소: 클라우드 제공업체가 관리 책임을 짐.</li>
</ul>
</li>
<li><p><strong>단점</strong>  </p>
<ul>
<li>보안 우려: 자원이 공유되므로 보안에 민감한 데이터 관리에 제한이 있을 수 있음.</li>
<li>맞춤화 한계: 특정 요구사항에 따라 서비스 커스터마이징이 어려움.</li>
</ul>
</li>
<li><p><strong>사용 사례</strong><br>스타트업, 테스트 및 개발 환경, 대규모 트래픽 처리.</p>
</li>
</ul>
<hr>
<h2 id="2-사설-클라우드-private-cloud">2. 사설 클라우드 (Private Cloud)</h2>
<ul>
<li><p><strong>개념</strong><br>사설 클라우드는 특정 조직이 단독으로 사용하는 클라우드 환경. 온프레미스 또는 제3자 호스팅 데이터 센터에 배포 가능.</p>
</li>
<li><p><strong>특징</strong>  </p>
<ul>
<li>자원은 단일 조직에만 독점적으로 제공.</li>
<li>인프라를 사용자 조직이 소유하거나 관리.</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>높은 보안: 데이터와 애플리케이션이 전적으로 조직 내부에서 관리됨.</li>
<li>맞춤화 가능: 조직의 요구에 따라 클라우드를 설계 및 운영 가능.</li>
</ul>
</li>
<li><p><strong>단점</strong>  </p>
<ul>
<li>높은 비용: 초기 구축 비용과 유지보수 비용이 높음.</li>
<li>확장성 제한: 자원을 확장하려면 물리적 인프라를 추가해야 함.</li>
</ul>
</li>
<li><p><strong>사용 사례</strong><br>금융 기관, 정부 기관, 보안이 중요한 데이터 관리.</p>
</li>
</ul>
<hr>
<h2 id="3-하이브리드-클라우드-hybrid-cloud">3. 하이브리드 클라우드 (Hybrid Cloud)</h2>
<ul>
<li><p><strong>개념</strong><br>하이브리드 클라우드는 공용 클라우드와 사설 클라우드를 조합하여 사용하는 모델. 데이터를 유연하게 이동/관리.</p>
</li>
<li><p><strong>특징</strong>  </p>
<ul>
<li>두 환경의 장점을 통합하여 특정 요구사항에 따라 자원을 분리.</li>
<li>민감한 데이터는 사설 클라우드에서, 일반 데이터는 공용 클라우드에서 처리.</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>유연성: 데이터와 애플리케이션을 적합한 환경에서 실행 가능.</li>
<li>비용 최적화: 민감하지 않은 데이터는 공용 클라우드로 처리하여 비용 절감.</li>
</ul>
</li>
<li><p><strong>단점</strong>  </p>
<ul>
<li>복잡성: 공용 및 사설 환경 간 데이터 통합과 관리를 위한 기술적 노력이 필요.</li>
<li>보안 문제: 데이터 이동 시 보안 위험이 증가할 수 있음.</li>
</ul>
</li>
<li><p><strong>사용 사례</strong><br>전자상거래, 대규모 데이터 처리 및 분석, 규제를 준수해야 하는 기업.</p>
</li>
</ul>
<hr>
<h2 id="4-멀티-클라우드-multi-cloud">4. 멀티 클라우드 (Multi-Cloud)</h2>
<ul>
<li><p><strong>개념</strong><br>멀티 클라우드는 여러 클라우드 서비스 제공업체의 공용 클라우드를 동시에 사용하는 배포 모. 특정 작업에 최적화된 서비스를 선택하여 사용.</p>
</li>
<li><p><strong>특징</strong>  </p>
<ul>
<li>여러 클라우드 제공업체를 조합하여 사용.</li>
<li>특정 벤더에 종속되지 않음(Vendor Lock-In 회피).</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>서비스 최적화: 각각의 클라우드에서 최고의 기능 활용.</li>
<li>장애 대비: 한 클라우드에서 문제가 발생하더라도 다른 클라우드를 사용할 수 있음.</li>
</ul>
</li>
<li><p><strong>단점</strong>  </p>
<ul>
<li>관리 복잡성: 여러 클라우드 환경을 통합 관리해야 함.</li>
<li>비용 증가: 각 클라우드의 사용 요금을 별도로 관리해야 함.</li>
</ul>
</li>
<li><p><strong>사용 사례</strong><br>글로벌 기업, 고가용성을 요구하는 서비스, 다양한 지역에서 운영되는 애플리케이션.</p>
</li>
</ul>
<hr>
<h2 id="클라우드-배포-모델-비교">클라우드 배포 모델 비교</h2>
<table>
<thead>
<tr>
<th>배포 모델</th>
<th>주요 특징</th>
<th>장점</th>
<th>단점</th>
<th>사용 사례</th>
</tr>
</thead>
<tbody><tr>
<td><strong>공용 클라우드</strong></td>
<td>다수의 사용자와 자원 공유</td>
<td>비용 절감, 확장성, 유지보수 감소</td>
<td>보안 우려, 맞춤화 한계</td>
<td>스타트업, 테스트 환경</td>
</tr>
<tr>
<td><strong>사설 클라우드</strong></td>
<td>특정 조직에서 독점 사용</td>
<td>보안 강화, 맞춤화 가능</td>
<td>높은 비용, 확장성 제한</td>
<td>금융, 정부, 고보안 환경</td>
</tr>
<tr>
<td><strong>하이브리드 클라우드</strong></td>
<td>공용+사설 클라우드 조합</td>
<td>유연성, 비용 최적화</td>
<td>관리 복잡성, 데이터 보안 위험</td>
<td>전자상거래, 데이터 분석</td>
</tr>
<tr>
<td><strong>멀티 클라우드</strong></td>
<td>여러 클라우드 제공업체 활용</td>
<td>서비스 최적화, 장애 대비</td>
<td>관리 복잡성, 비용 증가</td>
<td>글로벌 기업, 고가용성 요구 환경</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드 전반] 클라우드 서비스 모델]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%AA%A8%EB%8D%B8-IaaS-PaaS-SaaS-DBaaS</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%AA%A8%EB%8D%B8-IaaS-PaaS-SaaS-DBaaS</guid>
            <pubDate>Thu, 05 Dec 2024 04:14:46 GMT</pubDate>
            <description><![CDATA[<h1 id="클라우드-서비스-모델">클라우드 서비스 모델</h1>
<p>클라우드 서비스는 제공 방식과 사용 목적에 따라 <strong>IaaS</strong>, <strong>PaaS</strong>, <strong>SaaS</strong>, <strong>DBaaS</strong>로 구분. 각 모델은 IT 요구사항에 맞는 맞춤형 솔루션을 제공함.</p>
<hr>
<h2 id="1-iaas-infrastructure-as-a-service">1. IaaS (Infrastructure as a Service)</h2>
<ul>
<li><p><strong>개념</strong><br><strong>IaaS</strong>는 가상화된 IT 인프라(서버, 스토리지, 네트워크 등)를 제공하는 서비스.
물리적인 하드웨어를 소유하지 않고, 필요한 자원을 온디맨드 방식으로 사용.</p>
</li>
<li><p><strong>제공 방식</strong><br>클라우드 제공업체는 가상화된 자원을 제공. 
사용자는 이 자원 위에서 직접 운영체제를 설치하거나 애플리케이션을 실행.</p>
</li>
<li><p><strong>사용 예시</strong>  </p>
<ul>
<li>데이터센터 구축 없이 서버를 임대하여 웹 애플리케이션을 실행.</li>
<li>네트워크 인프라를 가상화하여 트래픽 처리를 확장.</li>
</ul>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li>AWS EC2</li>
<li>Microsoft Azure Virtual Machines</li>
<li>Google Compute Engine</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>자원의 유연한 확장성.</li>
<li>초기 투자 비용 감소.</li>
<li>사용한 만큼만 비용 지불.</li>
</ul>
</li>
</ul>
<h2 id="2-paas-platform-as-a-service">2. PaaS (Platform as a Service)</h2>
<ul>
<li><p><strong>개념</strong><br><strong>PaaS</strong>는 애플리케이션 개발에 필요한 플랫폼(운영체제, 런타임 환경, 개발 도구 등)을 제공하는 서비스. 
인프라 관리 부담 없이 애플리케이션 개발과 배포에 집중 가능.</p>
</li>
<li><p><strong>제공 방식</strong><br>클라우드 제공업체가 서버, 스토리지, 네트워크뿐만 아니라 개발 및 배포 환경도 제공. 
코드 작성 및 테스트, 배포에만 집중 가능.</p>
</li>
<li><p><strong>사용 예시</strong>  </p>
<ul>
<li>개발팀이 프로토타입을 빠르게 생성하고 테스트.</li>
<li>DevOps 환경에서 CI/CD를 통해 지속적인 배포 및 통합.</li>
</ul>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li>AWS Elastic Beanstalk</li>
<li>Google App Engine</li>
<li>Microsoft Azure App Service</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>개발 시간 단축.</li>
<li>복잡한 인프라 관리 필요 없음.</li>
<li>팀의 생산성 향상.</li>
</ul>
</li>
</ul>
<hr>
<h3 id="paas의-세부-서비스-종류">PaaS의 세부 서비스 종류</h3>
<h4 id="1-idaas-identity-as-a-service">1. IDaaS (Identity as a Service)</h4>
<ul>
<li><p><strong>개념</strong><br><strong>IDaaS</strong>는 사용자 인증 및 액세스 관리를 위한 서비스를 제공. 
클라우드 환경에서의 보안 관리와 통합 로그인(Single Sign-On, SSO)을 지원.</p>
</li>
<li><p><strong>사용 예시</strong>  </p>
<ul>
<li>조직 내에서 SSO를 통해 편리한 사용자 인증 관리.</li>
<li>OAuth나 SAML을 사용한 인증 및 권한 부여.</li>
</ul>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li>Okta</li>
<li>Azure Active Directory</li>
<li>Google Identity Platform</li>
</ul>
</li>
</ul>
<hr>
<h4 id="2-dbaas-database-as-a-service">2. DBaaS (Database as a Service)</h4>
<ul>
<li><p><strong>개념</strong><br><strong>DBaaS</strong>는 데이터베이스 관리 시스템(DBMS)을 클라우드 환경에서 제공하는 서비스. 
데이터베이스 설치, 유지보수, 백업 등의 작업을 할 필요 X.</p>
</li>
<li><p><strong>사용 예시</strong>  </p>
<ul>
<li>전자상거래 사이트의 주문 데이터 관리.</li>
<li>실시간 데이터 분석을 위한 대규모 데이터 저장소.</li>
</ul>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li>AWS RDS (Relational Database Service)</li>
<li>Google Cloud SQL</li>
<li>Microsoft Azure SQL Database</li>
<li>MongoDB Atlas</li>
</ul>
</li>
</ul>
<hr>
<h4 id="3-faas-function-as-a-service">3. FaaS (Function as a Service)</h4>
<ul>
<li><p><strong>개념</strong><br><strong>FaaS</strong>는 서버리스(Serverless) 컴퓨팅의 한 형태로, 특정 함수(Function) 단위로 코드를 실행할 수 있는 서비스를 제공. 
사용자는 서버를 관리하지 않고, 함수 실행에만 비용을 지불.</p>
</li>
<li><p><strong>사용 예시</strong>  </p>
<ul>
<li>사용자가 업로드한 이미지를 자동으로 처리(예: 리사이징).</li>
<li>이벤트 기반 작업(예: 데이터베이스 업데이트 시 알림 전송).</li>
</ul>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li>AWS Lambda</li>
<li>Google Cloud Functions</li>
<li>Microsoft Azure Functions</li>
</ul>
</li>
</ul>
<hr>
<h3 id="paas와-하위-서비스의-장점">PaaS와 하위 서비스의 장점</h3>
<ol>
<li><p><strong>관리 부담 감소</strong><br>인프라와 운영체제 관리 없이 개발과 운영에만 집중할 수 있습니다.</p>
</li>
<li><p><strong>확장성</strong><br>애플리케이션 요구 사항에 따라 자원을 유연하게 확장 가능.</p>
</li>
<li><p><strong>비용 효율성</strong><br>사용한 만큼만 비용 지불(FaaS, DBaaS 등).</p>
</li>
<li><p><strong>생산성 향상</strong><br>개발 및 배포 과정이 간소화되어 출시 시간을 단축.</p>
</li>
</ol>
<hr>
<h3 id="paas와-하위-서비스-비교">PaaS와 하위 서비스 비교</h3>
<table>
<thead>
<tr>
<th>서비스 유형</th>
<th>주요 제공 내용</th>
<th>사용자 역할</th>
<th>주요 예시</th>
</tr>
</thead>
<tbody><tr>
<td><strong>PaaS</strong></td>
<td>개발 플랫폼</td>
<td>코드 작성 및 배포</td>
<td>Google App Engine, Elastic Beanstalk</td>
</tr>
<tr>
<td><strong>IDaaS</strong></td>
<td>사용자 인증 및 권한 관리</td>
<td>사용자 인증/로그인 시스템 연동</td>
<td>Okta, Azure Active Directory</td>
</tr>
<tr>
<td><strong>DBaaS</strong></td>
<td>데이터베이스 관리</td>
<td>데이터 쿼리 및 저장</td>
<td>AWS RDS, MongoDB Atlas</td>
</tr>
<tr>
<td><strong>FaaS</strong></td>
<td>이벤트 기반 함수 실행</td>
<td>함수 작성 및 이벤트 트리거 설정</td>
<td>AWS Lambda, Google Cloud Functions</td>
</tr>
</tbody></table>
<hr>
<h2 id="3-saas-software-as-a-service">3. SaaS (Software as a Service)</h2>
<ul>
<li><p><strong>개념</strong><br><strong>SaaS</strong>는 완성된 소프트웨어를 인터넷을 통해 제공하는 서비스. 
소프트웨어를 설치하거나 유지보수할 필요 없이 바로 사용 가능.</p>
</li>
<li><p><strong>제공 방식</strong><br>클라우드 제공업체가 소프트웨어를 호스팅.
사용자는 브라우저나 앱을 통해 접근.</p>
</li>
<li><p><strong>사용 예시</strong>  </p>
<ul>
<li>이메일 서비스(예: Gmail, Outlook).</li>
<li>협업 툴(예: Google Workspace, Microsoft Teams).</li>
<li>CRM 소프트웨어(예: Salesforce).</li>
</ul>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li>Google Workspace</li>
<li>Dropbox</li>
<li>Salesforce</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>사용자 친화적인 접근성.</li>
<li>유지보수 비용 감소.</li>
<li>업데이트가 자동으로 적용.</li>
</ul>
</li>
</ul>
<hr>
<h2 id="각-서비스-모델-비교">각 서비스 모델 비교</h2>
<table>
<thead>
<tr>
<th>서비스 모델</th>
<th>제공 범위</th>
<th>사용자 역할</th>
<th>주요 예시</th>
</tr>
</thead>
<tbody><tr>
<td><strong>IaaS</strong></td>
<td>서버, 스토리지 등 인프라</td>
<td>운영체제 설치, 애플리케이션 관리</td>
<td>AWS EC2, Google Compute Engine</td>
</tr>
<tr>
<td><strong>PaaS</strong></td>
<td>애플리케이션 개발/배포 환경</td>
<td>코드 작성 및 애플리케이션 배포</td>
<td>AWS Elastic Beanstalk, Google App Engine</td>
</tr>
<tr>
<td><strong>SaaS</strong></td>
<td>완성된 소프트웨어</td>
<td>소프트웨어 사용</td>
<td>Gmail, Slack</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[[클라우드 전반] 클라우드 서비스 제공업체]]></title>
            <link>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%A0%9C%EA%B3%B5%EC%97%85%EC%B2%B4</link>
            <guid>https://velog.io/@rosa_5eau/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EC%A0%84%EB%B0%98-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%A0%9C%EA%B3%B5%EC%97%85%EC%B2%B4</guid>
            <pubDate>Thu, 05 Dec 2024 03:07:17 GMT</pubDate>
            <description><![CDATA[<h1 id="주요-클라우드-서비스-제공업체">주요 클라우드 서비스 제공업체</h1>
<h2 id="1-amazon-web-services-aws">1. Amazon Web Services (AWS)</h2>
<ul>
<li><p><strong>소개</strong><br>Amazon이 제공하는 세계 최대의 클라우드 서비스 플랫폼으로, IaaS, PaaS, SaaS 서비스를 모두 제공</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>EC2</strong>: 가상 서버 호스팅</li>
<li><strong>S3</strong>: 스토리지 서비스</li>
<li><strong>RDS</strong>: 관리형 데이터베이스 서비스</li>
<li><strong>Lambda</strong>: 서버리스 컴퓨팅 서비스</li>
<li><strong>CloudFront</strong>: 콘텐츠 전송 네트워크(CDN) 서비스</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>글로벌 데이터 센터 네트워크</li>
<li>다양한 서비스와 높은 확장성</li>
<li>강력한 보안과 규정 준수</li>
</ul>
</li>
</ul>
<hr>
<h2 id="2-microsoft-azure">2. Microsoft Azure</h2>
<ul>
<li><p><strong>소개</strong><br>Microsoft가 제공하는 클라우드 플랫폼으로, Windows 환경과의 호환성이 강점</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>Virtual Machines</strong>: 가상 서버</li>
<li><strong>Azure Blob Storage</strong>: 객체 스토리지 서비스</li>
<li><strong>Azure DevOps</strong>: 통합 개발 도구</li>
<li><strong>Azure AI</strong>: 인공지능 및 머신러닝 서비스</li>
<li><strong>Power BI</strong>: 데이터 분석 및 시각화 도구</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>Microsoft 소프트웨어와의 높은 통합성(예: Office 365, Dynamics)</li>
<li>하이브리드 클라우드 솔루션 지원</li>
<li>강력한 엔터프라이즈 지원</li>
</ul>
</li>
</ul>
<hr>
<h2 id="3-google-cloud-platform-gcp">3. Google Cloud Platform (GCP)</h2>
<ul>
<li><p><strong>소개</strong><br>Google이 제공하는 클라우드 서비스로, 데이터 분석과 머신러닝에 강점을 지님</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>Compute Engine</strong>: 가상 머신 서비스</li>
<li><strong>BigQuery</strong>: 데이터 분석 플랫폼</li>
<li><strong>Kubernetes Engine</strong>: 컨테이너 오케스트레이션 서비스</li>
<li><strong>Cloud AI</strong>: 머신러닝 플랫폼</li>
<li><strong>Cloud Storage</strong>: 객체 스토리지 서비스</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>강력한 데이터 분석 및 AI 기능</li>
<li>비용 효율적인 가격 정책</li>
<li>오픈소스 및 컨테이너 기술에 특화</li>
</ul>
</li>
</ul>
<hr>
<h2 id="4-ibm-cloud">4. IBM Cloud</h2>
<ul>
<li><p><strong>소개</strong><br>IBM이 제공하는 클라우드 서비스로, 기업용 솔루션과 하이브리드 클라우드에 중점을 둠</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>IBM Watson</strong>: AI 및 데이터 분석 서비스</li>
<li><strong>Cloud Foundry</strong>: 오픈소스 PaaS 플랫폼</li>
<li><strong>Virtual Servers</strong>: 가상 서버 서비스</li>
<li><strong>IBM Blockchain</strong>: 블록체인 솔루션</li>
<li><strong>Cloud Object Storage</strong>: 스토리지 서비스</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>기업 맞춤형 솔루션 제공</li>
<li>강력한 AI 및 블록체인 기술</li>
<li>하이브리드 클라우드 환경에 적합</li>
</ul>
</li>
</ul>
<hr>
<h2 id="5-oracle-cloud">5. Oracle Cloud</h2>
<ul>
<li><p><strong>소개</strong><br>Oracle이 제공하는 클라우드 플랫폼으로, 데이터베이스 솔루션에 특화</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>Oracle Autonomous Database</strong>: 자동화된 데이터베이스 관리</li>
<li><strong>Oracle Cloud Infrastructure (OCI)</strong>: 고성능 컴퓨팅 및 스토리지</li>
<li><strong>ERP Cloud</strong>: 엔터프라이즈 리소스 관리 솔루션</li>
<li><strong>HCM Cloud</strong>: 인적 자원 관리 솔루션</li>
<li><strong>EPM Cloud</strong>: 성과 관리 솔루션</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>강력한 데이터베이스 관리 기능</li>
<li>엔터프라이즈 애플리케이션 통합</li>
<li>높은 성능과 안정성</li>
</ul>
</li>
</ul>
<hr>
<h2 id="6-alibaba-cloud">6. Alibaba Cloud</h2>
<ul>
<li><p><strong>소개</strong><br>중국 최대의 클라우드 서비스 제공업체로, 아시아 시장에서 강력한 영향력을 발휘</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>Elastic Compute Service (ECS)</strong>: 가상 서버</li>
<li><strong>Object Storage Service (OSS)</strong>: 객체 스토리지</li>
<li><strong>MaxCompute</strong>: 데이터 분석 서비스</li>
<li><strong>Alibaba Cloud CDN</strong>: 콘텐츠 전송 네트워크</li>
<li><strong>AI 및 IoT 서비스</strong>: 인공지능 및 사물 인터넷 서비스</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>아시아 지역에서의 강력한 지원</li>
<li>가격 경쟁력이 높음</li>
<li>로컬 규정 준수와 높은 확장성</li>
</ul>
</li>
</ul>
<hr>
<h2 id="7-naver-cloud-platform-ncp">7. Naver Cloud Platform (NCP)</h2>
<ul>
<li><p><strong>소개</strong><br>네이버가 제공하는 클라우드 서비스 플랫폼으로, 한국 시장에 특화된 서비스를 제공</p>
</li>
<li><p><strong>주요 서비스</strong>  </p>
<ul>
<li><strong>Compute</strong>: 가상 서버 및 GPU 서버</li>
<li><strong>Storage</strong>: 블록 스토리지, 객체 스토리지, NAS 등</li>
<li><strong>Database</strong>: RDS, NoSQL, Redis 서비스</li>
<li><strong>AI Services</strong>: 클로바(CLOVA) 기반 AI 서비스</li>
<li><strong>Security</strong>: 클라우드 보안 및 DDoS 방어 서비스</li>
<li><strong>Media Services</strong>: 실시간 스트리밍 및 미디어 처리</li>
</ul>
</li>
<li><p><strong>장점</strong>  </p>
<ul>
<li>한국 지역에 최적화된 서비스와 규정 준수.</li>
<li>네이버 생태계와의 강력한 통합(예: 네이버 워크스페이스).</li>
<li>비교적 저렴한 비용으로 다양한 서비스를 제공.</li>
</ul>
</li>
</ul>
<hr>
<h2 id="클라우드-서비스-선택-시-고려-사항">클라우드 서비스 선택 시 고려 사항</h2>
<ol>
<li><p><strong>요구사항 적합성</strong><br>비즈니스 요구사항에 따라 적합한 서비스 선택</p>
</li>
<li><p><strong>비용 구조</strong><br>초기 투자 및 유지 비용을 분석하여 적합한 요금제 선택</p>
</li>
<li><p><strong>확장성 및 성능</strong><br>서비스 사용량 변화에 따른 확장성 및 성능을 평가</p>
</li>
<li><p><strong>데이터 보안</strong><br>데이터 암호화, 백업 및 규정 준수 여부 검토</p>
</li>
<li><p><strong>지원 지역</strong><br>글로벌 또는 특정 지역에서의 서비스 지원 여부<img src="blob:https://velog.io/9c65ee7b-ccae-4a32-9bae-d9eac5c9b6d5" alt="업로드중..">
확인</p>
</li>
</ol>
]]></description>
        </item>
    </channel>
</rss>