개발 기록

클라우드 컴퓨팅 첫 걸음 본문

코드프레소

클라우드 컴퓨팅 첫 걸음

수염차 2022. 3. 14. 21:10

코드프레소 Java 웹 개발 체험단 활동 중

클라우드 컴퓨팅 첫 걸음 강좌를 기반으로 작성하였습니다.

코드프레소 URL: https://www.codepresso.kr/


클라우드 컴퓨팅 핵심 개념

클라우드 컴퓨팅 개요

클라우드는 기업이 가장 필요로 하는 기술 1위

-클라우드 도입은 기업으로 하여금 사업의 본질에 집중할 수 있게 함

-기업은 경영의 효율성을 극대화 하기 위해 클라우드를 도입


클라우드 컴퓨팅 개념과 장점

클라우드 컴퓨팅이란

  • 인터넷을 통해 가상화 된 컴퓨터의 IT 리소스를 제공하는 것
  • 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미

특징

  • 컴퓨팅 자원을 원할 때, 원하는 만큼 사용 (수요에 따라 자원을 탄력적으로 일치 가능)
  • 사용 한 만큼만 요금을 지불

클라우드 컴퓨팅의 주요 특징

  1. On Demand
    • Computing Resource On Demand - Computing 자원도 내가 원할 때 언제든지 쓰자
  2. 대규모 확장성
    • 클라우드 사업자는 대규모의 Computing 자원을 미리 구축 - 수요에 따른 대규모 서버 증설 가능
  3. 종량제 과금
    • Cloud 서비스는 사용한 만큼만 지불
    • 초기 비용이 낮아 Risk를 줄일 수 있음
  4. 관리의 편의성
    • Cloud 사업자들이 IT 자원 관리에 필요한 기능을 제공하여 초기 관리가 용이

클라우드 컴퓨팅의 종류

클라우드 컴퓨팅 분류 기준

 

Service Modal

  1. IaaS - Infrastructure as a Service
    • IT 기본 자원만 제공
    • Server, Storage, Network
    • 새로 컴퓨터 하나 구매하는 개념
  2. SaaS - Software as a Service
    • 모든 기능이 동작하는 SW를 제공
  3. PaaS - Platform as a Service
    • IaaS에 OS, Middleware, Runtime 추가
    • 개념의 범위가 가장 넓음
    • 일반적으로 개발자를 대상으로 함
    • 코드 개발만 해서 배포하면 서비스 되는 환경을 제공
    • AWS Elastic Beanstalk , Google App Engine

Deployment Modal 

-클라우드를 실제 어떤 형태로 구축하는 지에 대한 View

  1. Public Cloud
    • Cloud 서비스를 필요로 하는 사용자 누구든지 사용 가능
    • 누구나 사용한 만큼 비용만 지불하면 됨
    • Cloud 사업자가 IT 자원을 서비스로 제공
  2. Private Cloud
    • 기업 및 기관 내부에서만 사용 가능한 클라우드 컴퓨팅 환경을 구축
    • 구축 난이도 높지만, 보안 / 법적 규체 등의 이유로 사용
  3. Hybrid Cloud
    • 퍼블릭과 프라이빗 클라우드를 조합해서 사용하는 형태
    • 시스템 별로 다르게 적용하거나, 프라이빗을 퍼블릭으로 확장해서 사용 ( 다양한 시나리오 존재 )

클라우드 컴퓨팅의 주요 용어

  1. Data Center
    • 수많은 서버들을 한 데 모아 네트워크로 연결해 놓은 시설 ( 서버와 네트워크 자원 등을 제공 )
    • Rack - 서버 또는 네트워크 장비들이 들어가는 프레임
    • 중요한 관리 포인트를 발열 관리
  2. Region
    • Data Center가 위치한 지역
    • 일반적으로 도시를 지칭하지만 서비스에 따라 국가를 지칭하는 경우도 있음
    • IT 리소스를 생성할 리전은 선택 가능 ( 한국에서도 전세계 데이터 센터의 자원 생성 가능 )
    • 리전 선택은 서비스 성능에 큰 영향을 미침 ( 대상 고객 지역과 자원 생성 리전이 가까워야 함 )
  3. Availability Zone
    • 고가용성을 위한 리전내 분산 된 데이터 센터
    • 하나의 리전은 두개 이상의 AZ으로 구성됨
    • 하나의 AZ는 하나의 데이터 센터
    • 서비스를 다수의 AZ에 분산하여 운영하면 특정 데이터 센터에 문제가 생겨도 다른 데이터 센터에 접속 가능 - 가용성(Availability) 높음
  4. Virtualization (가상화)
    • 소프트웨어로 가상의 하드웨어를 생성하는 기술
    • 가상의 하드웨어는 VM - Virtual Machine
    • Cloud 서비스에서 서버를 사용할 때, 물리적인 서버가 아닌 가상화 된 서버를 제공 받음


 

AWS 활용한 클라우드 컴퓨팅 실습

Amazon Web Service 소개와 회원 가입

  • 아마존에서 출시한 Cloud 서비스
  • 시장 점유율 세계 1위
  • 212개의 서비스 제공 - 인프라, 플랫폼, 인공지능, 빅데이터 등

주요 AWS Service

  • EC2 - 가상 서버
  • S3 - 오브젝트 스토리지
  • RDS - 관계형 데이터베이스
  • VPC - 가상 사설 네트워크
  • IAM - 사용자 인증 및 권한 관리

AWS EC2 서비스 개념

  • Elastic Cloud Compute
  • AWS의 가장 기본적인 자원 - 리눅스 서버, 윈도우 서버
  • 가상 머신 상에 OS가 설치 되어 있는 형태

EC2 인스턴스

  • EC2가 실행된 하나의 서버
  • 다양한 인스턴스 타입이 존재
    1. 범용 인스턴스 : 웹 서버 및 코드 리포지토리와 같이 이러한 리소스를 동등한 비율로 사용하는 애플리케이션에 적합
    2. 컴퓨팅 최적화 : 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
    3. 메모리 최적화 : 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공
    4. 가속화된 컴퓨팅 : 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 기능을 효율적으로 수행 (딥러닝 등 )
    5. 스토리지 최적화 : 로컬 스토리지에서 매우 큰 데이터 세트에 대해 많은 순차적 읽기 및 쓰기 액세스를 요구하는 워크로드를 위해 설계

AMI

  • Amazon Machine Image
  • 가상 머신은 이미지를 활용하여 생성
  • 이미지 - OS, 설치된 프로그램, 설정 등이 포함 된 파일
  • 이미지를 가상 서버에 적용하여 동일한 환경을 구성 가능
  • AWS 에서는 다양한 AMI 제공 (OS별, 목적별.. )

Security Group

  • EC2 인스턴스에 대한 보안 설정
  • 어떤 port를 접속 허용 할지 설정 (인바운드, 아웃바운드에 대해 설정 가능)
  • 접속 허용 할 Source 설정

Key Pair

  • EC2 인스턴스에 접속하기 위한 암호화 된 파일
  • AWS 처음 사용 시 새로운 키 페어 생성해야 함 ( 공유 금지 )

Elastic IP

  • EC2 인스턴스는 Private IP 와 Public IP를 보유
  • 기본적으로 할당 되는 Public IP는 인스턴스 재실행시 변경 됨
  • 영구적인 IP 설정을 위해서는 Elastic IP를 사용
  • Elastic IP는 실행 중인 인스턴스에 연동하여 사용하면 무료 (생성 후 사용하지 않으면 비용 발생)

AWS EC2 Windows 서버 생성 및 접속

windows 서버는 기본 포트가 ubuntu와 다름

연결 방법

 

원격 데스크톱 파일 다운로드 클릭 후

암호 가져오기 

-인스턴스 생성시 만들었던 키페어 등록

암호 해독 클릭후 나온 암호를 저장해둠

아까 다운 받았던 원격 데스크톱 파일 실행 후 윈도우 서버와 연결

예 누르면 됨

종료, 중지는 하단에 윈도우 버튼을 누르고 진행하면 됨


AWS EC2 NGINX 웹서버 활용 기초

아까 만들었던 우분투에 접속하여 nginx설치하기

nginx는 이런 서버안에 저장되어 있는 정적파일을 네트워크를 통해서 전달해주는 역할을 함

nginx는 기본적으로 80포트를 사용. 이 우분투 서버의 80포트에 접속하게 되면 해당 html파일을 볼 수 있음

인스턴스 인바운드 규칙에 80포트를 추가해서 접속을 허용해줌
ip뒤에 80은 생략 가능

기존 html 파일 삭제후 새 html 작성

브라우저에서 확인 가능

 

Comments