Cloud 24

[클라우드 활용] 13주차

1. 클라우드 보안 위협 개요클라우드 채택이 늘어날수록 **공격 표면(Attack Surface)**도 함께 확대된다.공격 표면이 확대되는 이유리소스와 API가 인터넷을 통해 노출됨 → 공격자가 물리적으로 접근하지 않아도 공격 가능서버, 데이터베이스, 스토리지, API, 관리 콘솔 등 공격 경로가 다양화자동화·DevOps 환경에서 빠른 배포로 보안 검증 절차가 짧아지는 경우 발생클라우드 vs 온프레미스 보안 차이구분 온프레미스 클라우드격리 방식물리적 보안·망 분리논리적 격리 기반주요 위험물리적 침입설정 오류, 서비스 취약점멀티 테넌트 위험없음하이퍼바이저 취약점, 컨테이너 격리 실패 시 다중 고객 영향 가능클라우드 보안 사고 통계Cloud Security Alliance 보고서: 60% 이상의 클라우드 보..

[클라우드 활용] 12주차

1. 고가용성(High Availability)이란?**고가용성(HA)**은 서비스를 가능한 한 오랫동안 중단 없이 지속적으로 제공하는 능력이다.장애가 발생해도 빠르게 복구하거나 자동으로 우회하여 서비스 지속성을 유지하는 것이 목표단순히 "서버가 켜져 있다"는 의미가 아니라, 장애 상황에서도 서비스가 살아있는 상태를 뜻함가용성 수준별 중단 시간 (1년 기준)가용성 연간 중단 시간 비고99%약 87시간다소 자주 중단될 수 있음99.9%약 8시간 45분일반 중소 서비스 수준99.99%약 52분AWS 권장 수준99.999%약 5분금융, 헬스케어 등 민감 시스템2. AWS 리전과 가용 영역(AZ)의 관계구성 요소구성요소 특징AZ (Availability Zone)독립된 전원, 냉각, 보안 시스템 보유AZ 간 네..

[클라우드 활용] 11주차

1. AWS 계정(Account)이란?AWS 계정은 AWS 리소스를 사용할 수 있는 고유한 논리 단위다.계정 ID는 12자리 숫자로 구성됨 (예: 467382719145)계정 생성 시 IAM 루트 유저가 자동 생성되며, 이 루트 유저 하에 다수의 IAM User를 생성할 수 있음한 계정 안에서 수많은 서비스와 리소스를 생성·운영 가능요금·보안·리소스가 계정 단위로 독립적으로 관리됨 → 계정마다 결제, 보안, 리소스 격리가 분리됨2. 다계정(Multi-Account) 환경이 필요한 이유단일 계정 구조의 문제점실제 사례로 이해해보자. Engineering Team과 Product Team이 하나의 계정을 공유하는 상황에서 발생할 수 있는 문제들:프로덕션 배포가 예상보다 오래 걸려 영업 데모에 영향을 준다개발..

[클라우드 프로그래밍] 14주차

RBAC이란?RBAC(Role-Based Access Control)는 쿠버네티스에서 권한을 역할 단위로 정의하고 주체에게 부여하는 보안 메커니즘이다.대상: kubectl을 사용하는 사용자, 서비스 계정(ServiceAccount), 그룹⚠️ 자주 나오는 함정: "RBAC은 동작이 복잡하다" → 틀림. 동작 자체는 단순하지만 설정할 것이 많아 관리가 까다로운 것이다.RBAC 핵심 구성 요소리소스 범위 설명Role특정 네임스페이스해당 네임스페이스 내 리소스에 대한 권한 정의ClusterRole클러스터 전체클러스터 전체 리소스(Node, PV 등)에 대한 권한 정의RoleBinding특정 네임스페이스Role/ClusterRole을 주체에게 연결ClusterRoleBinding클러스터 전체ClusterRole..

[클라우드 프로그래밍] 13주차

쿠버네티스 로그 관리 개요파드 수가 급격히 증가하면 kubectl logs 명령만으로는 로그를 제대로 관리하기 어렵다. 기업에서는 **수집 후 전달 모델(collect-then-forward)**을 따르는 로그 프레임워크를 사용한다.EFK 스택 구성:Fluentd / Fluent Bit: 컨테이너 로그 수집 (수집기)Elasticsearch: 로그 저장 및 색인Kibana: 로그 시각화 및 검색 프런트엔드쿠버네티스는 각 컨테이너의 로그를 노드의 /var/log/containers/ 디렉터리에 파일로 저장한다. 로그 파일 이름 형식: 파드명_네임스페이스명_컨테이너명_컨테이너ID.log💡 시험 포인트: 로그 파일 이름에는 파드명, 네임스페이스, 컨테이너명이 포함되지만 노드의 IP 주소는 포함되지 않는다.F..

[클라우드 프로그래밍] 12주차

헬름이란?헬름(Helm)은 쿠버네티스용 패키지 관리 도구다. 여러 개의 YAML 매니페스트 스크립트를 하나의 차트(Chart) 단위로 묶어 공개 또는 비공개 리포지터리에 공유하고, 명령 한 번으로 설치/업그레이드/삭제를 관리할 수 있게 해준다.💡 시험 포인트: 헬름 = 쿠버네티스의 패키지 관리자. apt, brew, npm처럼 동작한다고 이해하면 됨.# 리포지터리 추가helm repo add kiamol https://kiamol.nethelm repo update# 차트 검색helm search repo vweb --versions# 차트 기본값 확인helm show values kiamol/vweb --version 1.0.0# 설치 (기본값 오버라이드)helm install --set servic..

[클라우드 프로그래밍] 11주차

파드와 컨테이너의 통신파드는 하나 이상의 컨테이너가 공유하는 네트워크 및 파일 시스템을 제공하는 가상 환경이다. 파드에 속한 컨테이너는 모두 같은 노드에서 동작하며, 모든 컨테이너가 동일한 IP 주소(파드의 IP)를 갖는다. 같은 파드 내부의 컨테이너 간 통신에는 localhost 주소를 사용하며, 각 컨테이너는 서로 다른 포트를 주시해야 한다.💡 시험 포인트: 멀티컨테이너 파드 내부 통신 주소는 localhost 또는 127.0.0.1이다. 외부 IP나 노드 IP가 아님에 주의.spec: containers: - name: sleep image: kiamol/ch03-sleep volumeMounts: - name: data mountPath: /data-rw ..

[클라우드 프로그래밍] 10주차

쿠버네티스에서 애플리케이션에 설정이 전달되는 과정쿠버네티스에서 컨테이너에 설정값을 주입하는 데 쓰는 리소스는 **컨피그맵(ConfigMap)**과 비밀값(Secret) 두 가지이며, 두 리소스 모두 포맷 제한 없이 데이터를 보유할 수 있다.컨피그맵과 비밀값의 데이터는 클러스터 속에서 다른 리소스와 독립적인 장소에 보관된다. 파드 정의에서 이 데이터를 읽어 오도록 할 수 있으며, 데이터가 전달되는 과정에도 다양한 설정이 가능하다. 다른 쿠버네티스 리소스와 마찬가지로 kubectl create 명령을 사용하거나 YAML 정의를 읽어 들여 생성할 수 있다.다른 리소스와 달리 컨피그맵과 비밀값은 스스로 어떤 기능을 하지 않으며, 단지 적은 양의 데이터를 저장하는 것이 목적이다. 리소스는 파드로 전달되어 컨테이너..

[클라우드 프로그래밍] 9주차

1차시 — 파드와 디플로이먼트로 컨테이너 실행하기쿠버네티스는 어떻게 컨테이너를 실행하고 관리하는가컨테이너는 단독으로 동작하지 않고 **파드(Pod)**에 포함되어 동작한다. 우리는 파드를 통해 컨테이너를 관리한다.간단한 파드라면 YAML 파일을 따로 정의하지 않고도 명령행에서 바로 실행할 수 있다.# 컨테이너 하나를 담은 파드를 실행한다kubectl run hello-kiamol --image=kiamol/ch02-hello-kiamol# 파드가 준비 상태가 될 때까지 기다린다kubectl wait --for=condition=Ready pod hello-kiamol# 클러스터에 있는 모든 파드의 목록을 출력한다kubectl get pods# 파드의 상세 정보를 확인한다kubectl describe po..

[클라우드 응용 SW 개발] 13, 14주차

등장하는 서비스들부터 정리하자Azure에서 컨테이너를 다루는 서비스는 크게 세 가지다.서비스 한 줄 요약ACR (Azure Container Registry)내 Docker 이미지를 저장하는 프라이빗 저장소AKS (Azure Kubernetes Service)쿠버네티스를 Azure가 대신 관리해주는 서비스Web App for Containers컨테이너 기반 웹앱을 쉽게 배포하는 PaaS세 개가 독립적으로 쓰이기도 하지만 보통 같이 쓴다.흐름으로 보면 이렇다.코드 작성 → Docker로 이미지 빌드 → ACR에 이미지 push → AKS 또는 ..