[구름 k8s] TIS 2-1-1

Peppie·2022년 9월 5일
0

1. Cloud 개요

On-Premise 환경

IT 서비스 운영을 위해 직접적인 infrastructure를 구성하는 방식, 이전 또는 현재 주로 사용하는 환경

Client - Server 구조

Client: 서비스 요청
Server: 서비스 제공

Client - Server 구조에 동작하는 프로그램 유형

  • Front-end
    • end user (사용자) 사용
    • 클라이언트에서 동작하는 프로그램
  • Back-end
    • 서버 프로그램
    • 클라이언트에게 서비스를 제공하는 프로그램
  • ex) 웹서비스 제공 On-Premise 환경
    • Back-end 구성: infrastructure 구성 , 웹서버 프로그램 설치
      Apache, NginX, Node.js, Django, Flask, JSP, ASP 등...
    • Front-end 구성: 웹 브라우저 설치

On-premise 환경에서 server 구성

  • HW 구성

    처리 속도
    최대 용량에 맞춰서 구축 (일반적 형태)
    CPU : 처리 능력
    Memory : 기억 능력
    I/O Device : 입출력 능력(속도)

  • SW 구성

    • OS (운영체제) - HW ; Linux (RedHat 계열 / Debian 계열) , MS Windows Server, MacOS 등

    • Server 구성을 위한 SW
      Server 구성 프로그램 : Web Server, DB Engine, Main Server 등
      Server 구성 Framework : 서버 프로그램이 동작할 수 있는 환경
      • Library : 함수 (framework) 집합
      • Framework : 프로그램 Library와 프로그램 구조(template)를 포함한 Library
      • Node.js , JSP , ASP , Django , Flask... 등

    • Application 개발 환경 구축

On-Premise 환경 단점

  • 단시간 내 구축 X
  • (직접) 구축 초기 비용 많이 발생 -> 자본 비용
  • 확장성 떨어짐
  • 관리 어려움 (물리적 컴퓨터 여러 대)

Cloud 환경

  • Cloud service 제공 업체의 HW, SW 환경을 빌려서 사용 - 초기 자본 비용 발생 X
  • 사용한 만큼 비용 지불 => 후불제
  • 서비스 형태 (가상 환경)로 제공 => 자유로운 확장/축소
  • 네트워크 사용이 기본
  • 웹 기반 이용 : 클라이언트 프로그램으로 웹브라우저 사용

2. AWS 개요

AWS (Amazon Web Service)

참고1 / 참고2
Amazon 내부 운영 시스템을 발전시켜 외부 서비스 형태로 제공하는 public cloud service

AWS 장점

  • 자본 비용을 가변 비용으로 대체 -> 사용한 만큼만 비용 지출
  • 규모의 경제에 따른 혜택
  • 필요 용량에 대한 별도 추정 불필요 - AWS가 제공하는 서비스는 가상 환경을 기반으로 사용
  • 속도 및 민첩성 개선
  • 별도의 데이터 센터 운영에 따른 비용 불필요
  • 전세계 배포에 대한 편의성 제공

Cloud Service 유형

클라우드 서비스를 사용하는 대상/목적에 따라 선택 참고

IaaS (Infrastructure as a Service)

  • 서버 환경(infrastructure)만 빌려서 사용
  • 클라우드 서비스 업체에서 제공하는 infrastructure 활용
    • HW 환경
    • OS 환경
    • NW 환경

PaaS (Platform as a Service)

  • 플랫폼을 빌려서 사용 : Application을 개발/동작할 수 있는 환경
  • 클라우드 서비스 업체에서 제공하는 infrastructure와 플랫폼 활용
    • HW 환경
    • OS 환경
    • NW 환경
    • 서비스 제공을 위한 환경 : Library / Framework 등

SaaS (Service as a Service)

  • 사용자가 원하는 서비스 관련 application을 빌려서 사용
  • 클라우드 서비스 업체에서 제공하는 infrasturcture, 플랫폼, 서비스 활용
    • HW 환경
    • OS 환경
    • NW 환경
    • 서비스 제공을 위한 환경 : Library / Framework 등
    • 서비스 제공을 위한 application

Cloud 책임 모델

공동 책임 모델 적용

클라우드 서비스 제공 업체와 서비스 사용자 각각의 책임 영역을 구분해서 나누어 관리하는 모델

Cloud 배포 형태

public cloud

공개된 형태의 클라우드, 일반적인 클라우드 형태

private cloud

on-premise 환경을 클라우드 형태로 제공

hybrid cloud

public cloud와 private cloud를 혼합한 형태

가상화 (virtualization)

SW적으로 컴퓨터 시스템을 구성

가상화 종류

Hosted Hypervisor 가상화

  • 기존 OS (Host OS)와 별개로 가상화 SW를 이용해서 가상 HW를 구성/제공하는 가상화 방법
  • Hypervisor를 지원하는 CPU 환경에서만 가능
    Hypervisor 환경에서 가상 HW를 구성한 가상머신 (virtual machine)
  • Host OS와 Guest OS 별도 설치 사용 -> 자원관리 측면에서 많은 자원소모 발생
  • 가상머신의 크기가 SW적으로 하나의 컴퓨터에 대한 자원들을 관리하므로 용량이 큰 편
  • 가상화 SW

    VMWare
    VirtualBox

OS 가상화 (bare metal hypervisor)

  • 기존 OS (호스트 OS) kernel을 수정하여 가상화 기능 제공 => KVM
  • 가상의 HW 생성 없이 물리적인 HW를 가상화 기술을 이용하여 공유
  • 자원관리 측면에서 bare metal 방식보다 효과적 & 크기 측면에서도 더 적은 크기로 제공
  • public cloud 제공업체에서 주로 활용
  • public cloud의 모든 서비스는 가상환경을 이용하여 제공

Application 가상화

  • Application 실행 환경을 가상화하여 좀 더 쉽게 app을 배포/운영 장점
  • ex) docker

AWS Login

루트 사용자

  • ID : e-mail 사용
  • AWS 계정 생성시 사용한 e-mail 주소가 ID로 사용
  • 하나의 ID만 부여되고 모든 AWS 서비스를 제약 없이 사용할 수 있는 사용자
  • 과금 대상자

IAM 사용자

  • ID : 숫자 12자리
  • 사용자 이름
  • 일반 사용자가 주로 사용 -> 과금 대상 X
  • 루트 사용자나 일반 사용자에 의해서 생성
  • 역할에 따른 제한된 서비스만 사용 가능

AWS 서비스 이용 방법

AWS Console 이용

  • 일반적인 (가장 많이 사용) AWS 서비스 사용 방법 - GUI 방식
    AWS 서비스 셍성, 모니터링, 삭제, 변경 등을 GUI 방식으로 운영
  • dashboard를 통해 개별 서비스 현황 파악 가능
  • 시스템 운영자(관리자), application 개발자

AWS CLI (Command Line Interface, 명령 입력 방식) 이용

  • 명령 프롬프트(터미널)에서 명령어 기반으로 AWS 서비스 사용/관리 방법 - CUI
  • 명령을 통해 세세한 관리 수행
  • 별도의 설치 프로그램으로 AWS CLI 설치 후 사용
  • 시스템 운영자(관리자), application 개발자
  • CLI 사용을 위한 프로그램
    • Windows
      AWS 가상 컴퓨팅 사용시 : ssh client 프로그램 (putty, xshell 등)
      Windows에 직접 CLI 설치시: 명령 프롬프트, windows terminal, power shell 사용
    • Linux/MacOS - 터미널 프로그램

AWS SDK (Software Development Kit, SW 개발 환경) 이용

  • application program에서 API (Application Programming Interface, 함수 (function) 집합)를 이용하여 AWS 서비스 사용
  • 별도 설치 필요
  • application 개발자

IaC (Infrastructure as a Code) 이용

  • Infra 구축을 코드를 이용하여 관리하는 방법
  • AWS 서비스 생성 및 운영에 대한 내용을 Code 형식을 사용하여 일괄적으로 관리하는 방법
  • 복잡한 Infra를 일관성있게 유지하면서 관리하기 위한 목적
  • 시스템 운영자 (관리자)
  • 대표적인 IaC Utility

    AWS CloudFormation
    Ansible
    Terraform - Windows 환경에서 많이 사용

글로벌 인프라

참고

AWS 글로벌 인프라 특징

  • 보안
  • 가용성
  • 성능
  • 국제적 입지
  • 확장성
  • 유연성

리전 (Region)

  • AWS 서비스를 제공하는 물리적인 위치 (장소)
  • 리전별로 제공되는 서비스 및 비용 차이 발생
  • AWS 서비스를 사용하기 전에 반드시 사용할 리전 결정
  • 리전 선택시 고려사항
    • 규정 준수
    • 근접성 속도 - 참고: cloudping.info
    • 기능 가용성 : AWS 서비스는 리전별로 다름
    • 요금 : 서비스 요금이 리전에 따라 별도 책정 및 부과

가용 영역 (Availability Zone, AZ)

  • 리전 내 격리된 공간
  • 실제 데이터 센터 의미
  • 각 리전은 2~4개의 가용 영역 운영
  • AWS 서비스는 리전의 가용 영역을 지정하여 제공하는 경우 多

AWS 서비스 사용시 고려 사항

  • 리전 선택
  • 가용 영역 선택

    리전에 따라 AZ의 개수도 천차만별이니 유의

AWS 서비스 유형 - IaaS

앞으로 실습 때 사용할 유형 위주

Computing Service (가상 컴퓨터, 서버)

Amazon EC2 (Elastic Compute Cloud) : 실습 때 사용 예정

Network Service (가상 네트워크)

Amazon VPC (Virtual Private Cloud) : 실습 때 사용 예정

Storage Service (보조기억장치, 데이터/객체 저장)

  • Amazon EBS (Elastic Block Storage) : 실습 때 사용 예정
  • Amazon EFS (Elastic File Storage)
  • Amazon S3 (Simple Storage Service) : 실습 때 사용 예정

Relational Database Service (관계형 데이터베이스)

Amazon RDS (Relational Database Service) : 실습 때 사용 예정

사용자 관리 Service

IAM (Identity and Access Management Service) : 실습 때 사용 예정

3. TIF

드디어 본격적으로 AWS 과정이 시작되었다. 일단 오늘은 간단하게 이론만 다뤘는데 이론 자체는 예전에 AWS Cloud Pratitioner 자격증을 공부할 때 배웠던 내용대로라서 큰 어려움은 없었다. 다만 문제는 늘 그렇듯 실습인데, 이게 앞으로 어떻게 될련지는....스스로의 무운을 바래야지.

0개의 댓글