AWS 강의

하루·2025년 2월 18일
post-thumbnail

클라우드 서비스 이해와 실무

목차

  1. 클라우드 서비스에 대한 이해
    • IT 정보 기술 최근 동향
    • IT 인프라 아키텍처와 클라우드 서비스
    • 클라우드 서비스 모델
  2. 클라우드 서비스 기반 기술
    • 클라우드 서비스를 위한 가상화 기술
    • 클라우드 서비스를 위한 네트워크 기술
    • 클라우드 서비스를 위한 보안 기술
  3. 클라우드 서비스 아키텍처
    • MSA(Micro Service Architecture)
    • AWS의 주요 서비스
    • 클라우드의 활용 아키텍처
  4. 클라우드 서비스 전환과 운영
    • 클라우드 서비스 전환
    • 클라우드 서비스 보안
    • 클라우드 서비스 모니터링

최신 기술 동향

=>클라우드 기술은 4차 산업혁명 빅데이터, 인공지능, 사물인터넷 등을 이루게 한 근간이 되는 핵심 인프라 기술이다.

  1. 인공지능
    • ChatGPT와 같은 지능을 가지는 서비스를 제공하는 컴퓨터 시스템 및 알고리즘
  2. 빅데이터
    • 대얄의 다양한 데이터를 분석하여 의미있는 정보와 인사이트를 도출하는 기술
  3. 사물인터넷
    • IoT(Internet of Things) 사람, 사물, 데이터 등 모든 것이 인터넷으로 서로 연결 기술 및 서비스
  4. 가상현실
    • 컴퓨터 그래픽과 인터페이스를 사용하여 실제와 유사한 가상 세계를 생성하는 기술
  5. 자율주행
    • 자동차 등의 차량이 스스로 주행하고 조작되는 기술

빅데이터 사례

빅데이터는 대량 데이터를 수집, 저장, 분석하여 가치를 추출하고 기업에게 의미 있는 정보를 제공하는 분석 기술이다.

빅데이터 절차

데이터수집 -> 데이터가공(정제) -> 데이터 추출/선택 -> 데이터 저장 -> 분석 -> 적용활용

On-Premise의 구조?

On-Premise 시슨템은 기업이 직접 보유하는 시스템들로 일반적으로 CLient - Server 또는 3 - Tier 환경으로 구성된다.

On-Premise의 Client-Server아키텍처

사용자(Client) - WEB(Server) - WAS(Server) - DB(Server)

IT 인프라의 구성 요소

IT 서비스 구축 및 운영을 위한 기반 기술과 플랫폼 하드웨어, 네트워크, 운영체제, 미들웨어 등이 있다.

- IT Infrastructure의 구성 요소의 예

구성요소 설명

하드웨어 - 서버 장비 (CPU, 메모리), 전원장장치

  • 데이터 저장을 위한 스토리지
    소프트웨어(운영체제) -장비를 제어하기 위한 시스템 소프트웨어
  • 임베디드 운영체제, 사용자 데스크탑 운영체제, 서버 운영체제
    소프트웨어(미들웨어) - 서비스의 기능 동작과 제어를 위한 기반 소프트웨어
  • 서비스 소프트웨어 개발 편의성 향상
    소프트웨어(DBMS) - 데이터를 저장, 관리, 활용하기 위한 관리 소프트웨어
    소프트웨어(응용 소프트웨어) - 사용자 요구사항을 충족하기 위한 소프트웨어
    네트웨크 - 사용자 <-> 정보서비스, 서비스간 정보 교환 및 기능 연동을 위한 통신

IT 인프라 시스템 구성
IT 시스템은 인프라 서버 위에서 애플리케이션이 구동되고, 애플리 케이션 간 통신이나 구성을 이루는 아키텍처로 이뤄진다.

애플리케이션 - API서버, 개발 언어, 개발방법론
아키텍처 - 3-tier 구조, MSA
인프라 - 네트워크, 서버, 프로토콜

클라이언트 - 서버 연계

클라이언트와 서버 간의 통신을 기반으로 서비스나 앱은 네이티브 형태로 배포되거나 웹으로 구현되고 이들은 서버와의 연동을 통해 구성된다.

애플리케이션 개발 방법론

개발 방법론은 체계적으로 관리하고 효율적인 개발하기 위해 정의된 방법론이다. 크게 폭포수, 애자일 방식으로 수행된다.

폭포수 개발 방법론

요구분석
---- 설계
--------- 개발
-------------- 테스트
--------------------- 배포
-------------------------- 운영

  • 시스템을 구축하는 SI형 사업에서 주로 사용되는 개발 방법론으로 프로젝트 발주처의 요구사항을 분석하는 일을 시작으로 설계하고, 해당 내용을 개발하고, 테스트, 배포 하는 식으로 프로젝트가 진행됨.

애자일 방법론

  • 백로그는 기능을 구현하고자 하는 리스트에 해당이 되며 이 백로그를 정의하고, 우선순위를 도출하여 개발을 하는 방식으로 서비스나 앱을 만들 때 주로 사용되며 운영을 병행하는 때 적용하는 개발 방법론임.

DevOps란 ?

DevOps는 소프트웨어 개발과 운영을 통합하여 지속적인 협업과 자동화를 통해 속도와 품질을 향상시키는 문화와 방법론이다.

Plan - 요구사항 관리, 협업 도구
Create - 코드 개발, 버전 관리, 지속적 통합, 빌드
Verify - 테스트, 품질/성능 검토
Packaging - 배포 이전 단계
Release - 변경 사항 관리, 릴리즈 승인/자동화
Configure - 인프라 구성 및 관리, 프로비저닝
Monitor - 성능 모니터링, 사용자 경험

DevOps 내 개발과 운영

개발 / 운영 차이

  • 개발의 가치 >빠른 개발, 신기술활용
  • 운영의 가치 > 안정화, 품질, 보안

개발/운영 공통

  • 상호 의존적이며 제품과 서비스를 빠르고 안정적으로 배포하는 것이 목적

도구

  • DevOps CI/CD 파이프라인과 보안 Tool의 유기적 결합

자동화

  • 효율성과 정확성을 위해 모든 과정 자동화(Automation)

CI/CD 구성

지속적 통합과 지속적인 배포를 위한 자동화된 프로세스와 도구를 활용하여 구성하는 것이다.

클라우드 컴퓨팅이란?

IT 컴퓨팅, 디스크 등의 자원을 제공하고 사용자가 필요한 만큼 사용하고 사용한 만큼만 비용을 지불하는 컴퓨팅 모델이다.

클라우드 컴퓨팅 특징

클라우드 서비스의 특징은 필요에 따른 유연한 확장성, 대규모 데이터 처리 가능, 24/7 가용성, 비용 절감 및 운영의 간편성과 유지보수성을 제공한다.

- 클라우드 컴퓨팅의 특징

  1. 확장성
  2. 대용량처리
  3. 가용성
  4. 비용절감
  5. 유지보수성

특징설명

  1. 확장성
    • 클라우드 환경에서는 필요에 따라 리소스를 신속하게 확장하거나 축소 가능
  2. 대용량처리
    • 클라우드는 대용량의 데이터나 복잡한 작업을 처리할 수 있는 처리 능력
  3. 가용성
    • 클라우드 플랫폼은 다양한 지역에 분산된 데이터 센터를 가지고 있어 고 가용성을 제공
  4. 비용절감
    • 클라우드를 사용하면 하드웨어나 인프라 사용한 리소스에 대해서만 비용을 지불하여 비용절감
  5. 유지보수성
    • 클라우드 공급자가 하드웨어 및 소프트 웨어의 유지보수와 업그레이드를 담당하므로 유지보수 용이함.

클라우드 서비스 유형

클라우드 서비스 유형에는 형태에 따라서 퍼블릭 클라우드, 프라이빗 클라우드, 하이브리드 클라우드 등과 같은 종류가 있다.

Public 클라우드 : AWS, Azure, GCP 등의 공용 클라우드 서비스
Private 클라우드 : 기업의 데이터 센터 내 클라우드 환경 구성
멀티 클라우드 : 여러 CSP(public 클라우드)를 조합해서 사용하는 방식
하이브리드 클라우드 : On-Premise 서버와 클라우드를 조합하여 사용하는 방식

클라우드 서비스 모델

On-Premise 및 Iaas, Paas, SaaS 관리 영역

클라우드 서비스의 핵심 가상화

가상서버, 컨테이너, 네트워크. 스토리지 등의 가상화 기술이 클라우드 서비스의 핵심 기술이다.

가상화의 주요기능 및 특징

가상 머신 (Virtual Machines, VMs) : 하나의 물리적 서버에서 여러 개의 가상 서버를 동시에 실행하는 기술
컨테이너 가상화 (Containerization) : 운영체제를 공유하면서 애플리케이션을 독립적인 환경에서 실행하는 기술
소프트웨어 정의 네트워킹 (Software-Defined Networking, SDN) : 네트워크 인프라를 가상화하여 유연한 제어와 자동화를 가능케 하는 기술
스토리지 가상화 (Storage Virtualization) : 물리적 스토리지 자원을 가상화하여 효율적인 관리와 액세스를 제공하는 기술

가상머신

컨테이너

컨테이너는 프로그램이 동작되기 위한 최소한의 요소들을 묶어 패키징 한 독립적인 실행 단위 및 배포 가능한 가상화 기술이다.

VM vs 컨테이너(Container)

가상 머신은 OS를 포함하여 GigaBytes 단위로 용량이 크고 기동 시간이 오래 걸린다. 컨테이너는 용량이 MegaBytes 단위 이고, 배포가 용이하며 기동 시간이 짧다.

도커(Docker)

도커는 컨테이너화 기술을 사용하여 애플리케이션을 실행하고 배포하는 오픈 소스 플랫폼이다. 애플리케이션(컨테이너 이미지)를 배포 및 구동할 수 있는 컨테이너 엔진의 종류이다.

도커 이미지 활용

쿠버네티스

네트워크 이론

TCP/IP 4 Layer

DNS의 동작 원리

DNS는 Record type으로 DNS 정보를 관리한다. 도메인 이름과 IP주소 간의 매핑을 담당하고, 요청에 따라서 IP값을 응답하는 역할을 한다.

IT보안의 개념

IT 보안은 정보 시스템과 데이터의 기밀성, 무경성, 가용성을 유지하고 외부 위협으로부터 보호하는 기술과 정책의 종합적인 접근이다.

클라우드/IT 인프라 보안의 기본 요구사항

기밀성

  • Confidenti
  • 권한이 있는 사람 혹은 시스템만 관련 정보를 확인/참조할 수 있다.
    무결성
  • Integrity
  • 임의의 정보 조작 및 변경으로 부터 정보를 보호한다.
    가용성
  • Availability
  • 정당한 요구에 대하여 서비스를 항상 제공할 수 있어야 한다.
    법적 준거성
  • 법률, 제도, 규칙에 준하여 개발하고 관리해야 한다.

클라우드 보안 구성

클라우드 서비스 제공자의 서비스 카테고리를 참고하여, 보안을 기반으로 네트워크 및

클라우드 보안 기술/관리

클라우드 보안 기술은 보안 표준, 네트워크, 접근 제어, 클라우드 인프라, 데이터로 분류할 수 있다. 기술적, 관리적 보안으로 클라우드 컴퓨팅 보안을 수행한다.

클라우드 보안 서비스 기반 아키텍처 설계

클라우드 기반 서비스에 대한 요구 사항 및 클라우드 컴퓨팅의 보안 취약점을 고려하여 보안 아키텍처를 설계한다.

클라우드 서비스 아키텍처

  1. MSA(Micro Service Architecture)
  2. AWS의 주요 서비스
  3. 클라우드의 활용 아키텍처

클라우드 컴퓨팅 - 업계 동향

클라우드 간 연계와 통합관리를 위한 기술이 성숙함에 따라 많은 기업들이 운영비용 절감 효과 및 디지털 트랜스포메이션을 위한 하이브리드/멀티 클라우드로 전환하는 추세이다.

클라우드 네이티브 > MSA 지향

유연성, 민첩성 및 확장성을 제공하는 MSA를 적용하는 기업이 증가하고 있으며, 빠른 개발 속도 및 변경을 견딜 수 있는 유연한 아키텍처 구조를 지향하고있다.

클라우드 컴퓨팅 - MSA 소개

MSA는 애플리케이션을 작은, 독립적인 기능 단위인 마이크로서비스로 분할하는 소프트웨어 아키텍처이다.
독립적으로 배포 실행될 수 있는 작은 애플리케이션으로 구성된다.

MSA 구조 특징

MSA 구조로 설계 구축하면 가질 수 있는 장점들이 있다.

AWS 서비스 히스토리

주요 클라우드 서비스의 히스토리

AWS의 주요 서비스

컴퓨팅, 네트워킹, 스토리지, 데이터베이스, 분석, 응용 등 다양한 서비스를 사용할 수 있다.

AWS 글로벌 인프라 구조

리즌은 AWS의 전 세계적으로 분포한 데이터 센터 그룹을 의미하며, 가용 영역은 각 리즌 내에서 독립된 데이터 센터로 구성되어 안정성과 가용성을 보장한다.

EC2(Elastic Compute Cloud)

AWS EC2는 가상 컴퓨팅 환경을 제공하는 서비스이다.

ELB(Elastic Load Balancer)

Load balancer는 EC2 인스턴스 앞에서 인터넷의 트래픽을 분기 처리한다.

Auto Scaling

Auto Scaling은 컴퓨팅 자원(예: 가상 서버 또는 컨테이너)의 수를 트래픽에 맞게 자동으로 조정하는 기능이다.

EBS 볼륨

  • EBS(Elastic Block Store)는 클라우드 컴퓨팅 환경에서 사용되는 영구적인 블록 수준의 스토리지 서비스이다.
  • EBS 볼륨은 데이터를 저장하고, 읽고, 쓸 수 있는 가상의 네트워크 기반 디스크이다.

S3(Simple Storage Service)

Amazon S3는 Amazon Web Services(AWS)의 객체 스토리지(Object Storage) 서비스이다.

RDS(Relational Database Service)

클라우드에서 관계형 데이터 베이스를 간편하게 사용할 수 있게 해주는 서비스이다.

클라우드 컴퓨팅 구축 사례

기업의 핵심 전략, 기관의 업무 유형을 고려하여 EKS, VM, MQ 등의 아키텍처 구성으로 클라우드 컴퓨팅을 구축한다.

백업 및 복구

AWS 백업/복구 도구를 활용하여 OS, DB, Disk, Volume을 중심으로 백업 및 복구를 지원한다.

0개의 댓글