220525

HyeonKi Jo·2022년 5월 25일
0
post-thumbnail

퍼블릭 클라우드

1. 클라우드 컴퓨팅 기술

  • 클라우드 컴퓨팅(Cloud Computing)은 인터넷 기반 컴퓨팅의 일종이다.
    • 인터넷에 연결된, 다른 컴퓨터자원을 빌려 이용하는 것이며, 인터넷이 없으면 이용할 수 없다.
    • 컴퓨팅 자원 (컴퓨터 네트워크, 서버(CPU, RAM), 스토리지, 애플리케이션, 서비스)에 대해 어디서나 접근이 가능하다.

2. 클라우드 종류

  • Public Cloud
  • Private Cloud : 우리는 Openstack과 ESXi를 사용해보았다.
  • Traditional Infrastructure
    • NAT (라우터)
    • 스토리지
    • 서버
    • vSwitch
  • HybridCloud
    • 위 세가지 종류의 클라우드를 목적에 따라 섞어서 사용하는 것을 말한다.
    • 주로 Public Cloud를 Service를 이용하는 불특정 사용자에게 허용하고,
    • Public 클라우드로 보안을 위해 격리된, 특정 사용자만 사용할 수 있게 허용한다.
  • 현재 컴퓨터에 Openstack서버가 존재하니, Hybrid 클라우드를 실습할 수 있다.

프라이빗 클라우드

  • 프라이빗 클라우드 (Private Cloud)는 내부적(OnPremises)으로나 서드파티(Off Premises, Cloud)에 의해 관리를 받는, 오직 하나의 회사를 위해 운영되는 클라우드 인프라스트럭처이다.
  • 클라우드(Off Premises)를 VPN이나 직접 연결하여 Public클라우드로 사용할 수 있다.
  • 또, GCP, Azure등 다른 클라우드를 Multi cloud로 사용하여, 한 클라우드가 다운되면, 다른 회사의 클라우드를 사용할 수 있게 클라우드를 설계할 수도 있다.

퍼블릭 클라우드

  • 퍼블릭 클라우드(Public Cloud)는 공개적 이용을 위해 열린 네트워크를 통해 렌더린되는 클라우드 이다.
  • 아마존 웹 서비스 (AWS), 마이크로소프트(Azure), 구글(GCP), Alibaba등 퍼블릭클라우드 서비스를 제공하는 회사들이 있다.

하이브리드 클라우드

  • 하이브리드 클라우드는 둘 이상의 클라우드 (Private + Public)의 조합으로 클라우드를 구성하는 것이다.

멀티 클라우드

  • 멀티 클라우드는 여러 퍼블릭 클라우드 (AWS + Azure)등, 둘 이상의 퍼블릭 클라우드 서비스 공급업체(CSP, Cloud Service Provider)를 사용하여, 단일 CSP에 대한 의존도를 줄이는 것이다.

3. 퍼블릭 클라우드

  • "관리 노력과 서비스 공급자의 상호 작용을 최소화하면서, 신속하게 제공하거나 해제할 수 있는 구성 가능한 컴퓨팅 리소스(Cpu, RAM, 서버, 스토리지, APP, 서비스 등)의 공유 풀(Cluster)에 어디서나 편리하게 필요한 시점에 네트워크(인터넷)로 접근할 수 있게 하는 모델이다."

    • 미국 국립표준기술협회
  • 필요한 만큼만 원할 때마다
  • 인터넷으로 IT자원을
  • 사용할 만큼만 지불하는
  • 대용량 서비스

퍼블릭 클라우드 서비스 마켓 쉐어

  • AWS - Fast, 다양한 서비스
  • MS(Azure) - MS-SQL,
  • Google(GCP) - Docker, Kubernates
  • Alibaba
  • IBM - Watson (AI서비스)\
  • KT cloud - 한국어 상담사

4. 퍼블릭 클라우드를 사용하는 이유

  • 용이한 IT 인프라 자원 관리
  • 바른 인프라 구축 속도
  • 신속한 글로벌 서비스 전개 (Public IP)
  • 급증하는 과폭주 트래픽에 대한 자동 확대 조정 (Auto Scailing)
  • 다양한 서비스로의 확장성 제공

5. 서비스로서의 퍼블릭 클라우드 유형

  • Packaged Software(On-Premises)
    • 서버 관리의 모든 부분을 관리자가 직접 관리해야 한다.
  • Infrastructure (as a Service, IaaS)
    • Packaged Software 서비스에서 가상화, 서버, 저장공간(Storage), Networking을 자동화 해준다. -> 가상서버(VM)을 만들어 주는것.
    • EC2(AWS), nova(OpenStack)을 예로 들 수 있다.
  • Platform (as a Service, PaaS)
    • IaaS에서 O/S와 Middleware, Runtime까지 관리해준다.
    • 점점 관리에 책임이 줄어 더 관리하기 쉬워진다.
    • 다만 그만큼 요금이 부과된다.
    • Elastic Beanstalk(AWS, beanstalk=콩나무)
      • 개발자가 소스코드를 압축파일로 beanstalk에 넣으면 압축해제, 분석하여 실행시켜주고, 알아서 로드밸런싱해준다.
    • 이런 자동화된 시스템들을 Paas라고 한다.
    • PaaS는 개념만 보면 완벽하지만 아직 개발 단계에 있어 부족한 부분이 많다.
  • Software (as a Service)
    • 이 경우에는 아예 개발도 필요 없다.
    • 회원가입만 한 후, 구독료만 접근하여 서비스 이용만하면 되는것,
    • 완제품 cloud를 사용하는 서비스이다.
    • MS-office 365
  • 이렇게 서비스가 점점 확대되고 있지만, 모든 사람들이 Public클라우드로 이동하지는 않는다. 비용이 그렇게 저렴하지 않고, 사용량이 많이 않을 때, 기존 시스템으로 이동하는 경우가 있다.

가상화 비교

  • 하이퍼바이저 타입1 가상화 (베어메탈)
    • HW -> Hypervisor -> VM, VM, VM
  • 하이퍼바이저 타입2 가상화 (호스트)
    • HW -> Host OS -> Hypervisor -> VM, vM, VM
  • OS수준 컨테이너형 가상화 (도커)

Scale Up과 Scale Out

  • Scale Up
    • 하나의 서버 컴퓨터의 성능을 높이는 것
    • CPU코어수 증가, Memory 업그레이드
    • 수직적 확장
  • Scale Out
    • 서버 컴퓨터를 복제하여 개수를 늘리는 것, 수평적 확장
  • Scale In
    • Scale Out과는 반대로, 자원이 필요 없을 때, 수평적 축소 하는것

6. AWS/Azure/GCP 서비스 비교

  • Compute Engine : VM생성 및 사용, nova(OpenStack)과 같다.

AWS

1. AWS란?

  • 세계적으로 가장 포괄정이며, 널리 채택되고 있는 클라우드 플랫폼

Region

  • 아시아 태평양(서울)리전
    • 2017년 즈음에 생성되었다.
    • ap-northease2 (Asia Pacific 북동) IP범위의 예시 : 172.31.0.0/16
  • ap-northeast-2a Subnet : 172.31.0.0/20
  • ap-northeast-2b Subnet : 172.31.16.0/20
  • ap-northeast-2c Subnet : 172.31.32.0/20
  • ap-northeast-2d Subnet : 172.31.48.0/20
    • 가상의 가용 영역(Availability Zone, AZ)
    • 2개이상의 데이터센터가 존재한다. (100km)이내
    • 가용영역에서 IP주소를 받기위해 각 영역별로 Subnet이 구성되어 있다.

서비스

  • 서비스 중 컴퓨팅 -> EC2를 가장 많이 사용하게 될 것이다.

2. AWS사용하기

IAM (AWS리소스에 대한 액세스 관리)

  • 루트사용자를 이용하는 것 보다는 사용자를 만들어서 그 사용자로 작업을 하는것이 좋다.
  • 팀프로젝트나 회사에서 여러 사람이 리소스에 접근해야 한다면, 사람마다 사용자의 권한을 관리해야 한다. 그러나 사람이 많을수록 관리가 힘들어 지기 때문에, 사용자 그룹을 생성해, 사용자의 권한을 제어한다.

AdministratorAccess(root계정)사용자 만들기

사용자 그룹 생성

  • 사용자 그룹 생성에 들어가서 이름을 admin으로 정해준다.
  • 권한 정책 연결에서 AdministratorAccess를 넣어준다.
    • root 계정이다.

사용자 생성

  • 이번엔 사용자를 생성해본다.
  • 이름을 정해주고, 자격증명의 유형을 선택해준다.
  • 액세스 키 - 프로그래밍 방식 액세스
    • CLI방식
  • 암호 - AWS 관리 콘솔 액세스
    • 웹 UI 접근 방식
  • 현재 계정은 root계정을 생성하기 때문에 두가지 자격증명을 모두 만들어준다.
    • 비밀번호를 미리 생성해서 전달할 수도 있지만, 처음에 랜덤 비밀번호로 접근 후, 사용자가 첫 로그인시 비밀번호를 정하도록 해줄 수 있다.
  • 그룹에 사용자를 추가할 수 있고, 기존 사용자의 권한을 복사할 수도 있다.
  • 마지막으로 설정을 검토한다.
  • 사용자 추가가 성공했다. 이때, 계정의 .csv파일은 안전하게 보관해야 한다. 이게 실수로 github등에 포함되게 되면 큰 문제가 일어날 수 있다.
  • 이제 새로운 사용자는 로그인을 할 때, 비밀번호를 다시 지정해야 할 것이다.
  • 여기서 암호 정책 변경 규칙에서 비밀번호생성 규칙을 생성해 줄 수 있다.
  • 위와 같이 어렵게 비밀번호 규칙을 지정할 수 있지만, 지금 실습용은 위 암호길이를 제외한 4가지 설정만 진행한다.

사용자 로그인 테스트

  • 먼저 Chrome이 아닌 파이어폭스로 들어가본다.
  • AWS에서 로그인 화면으로 이동해서, IAM사용자로 접근한다.
    • 이곳의 계정 ID는 root계정, 처음 생성한 계정의 계정ID를 입력한다.
  • 이곳에 있다.
  • 비밀번호는 아까 다운로드받은 .csv파일을 사용한다.
  • 비밀번호 변경 화면이 나왔다.



  • 아이폰 기준 google Authenticator어플로 QR 인증한다.

3. AWS 컴퓨트 서비스

  • Amazon Elastic Compute Cloud(Amazon EC2, VM)는 AWS 클라우드에서 확장 가능 컴퓨팅 용량을 제공한다. 우리는 Openstack에서 nova를 활용해 VM 인스턴스를 생성해 보았다.

EC2

  • 누르지 말아야 할것.
    • 인스턴스에서 아래 5가지는 사용하면 돈나가는 서비스이다.(선결제)...
      • 스팟요청
      • Savings Plans
      • 예약 인스턴스
      • 전용호스트
      • 용량예약
  • 대시보드의 역할은 한눈에 EC2 리소스 사용정보를 확인할 수 있다.
  • 대시보드를 확인해보면 나머지는 다 0인데 보안그룹 하나가 존재한다.
    • 이 보안그룹은 default보안그룹이다.
    • Openstack에서도 기본으로 Defalut 보안그룹이 존재했기 때문에 익숙하다. ==> 사용하지 않을 것이다.

EC2 인스턴스 생성



  • 생성하는데에, 이전 UI를 사용해본다.

1. AMI 선택

  • 첫번째는 OS(Image)를 선택한다.
    • OpenStack에서는 Glenth?와 비슷하게 Image를 활용한다.
  • AMI 는 인스턴스를 시작하는 데 필요한 소프트웨어 구성(OS, 어플리케이션 서버, APP)이 포함된 템플릿이다.
    • 어떠한 홈페이지, 어플리케이션 등 순수한 운영체제 뿐만 아니라 목적에 따라 추가적인 도구가 같이 설치된 이미지이다.
  • 또, Amazone Linux에서 HVM이 지원된다. CPU의 가상화 기술이 발달하여, VM의 명령어 번역이 CPU에서 처리해줘 명령어 번역 딜레이를 최소화하여 더 빠른 명령어 실행이 가능해진다.
  • Amazone Linux2는 CentOS7, Redhat7, Fedora과 매우 닮았다.
  • Amazon Linux 2를 사용한다.

2. 인스턴스 유형 선택

  • t2.micro를 사용한다.
    • 앞 알파벳(t)의 의미는 Flavor의 용도, 목적을 뜻한다.
  • 초창기 AWS에는 EBS(Elastic Block Storage)가 없었다.
    • 초창기에는 EC2가 지워지면 같이 지워지는 Instant Store volume이 있었다. 그래도 EBS보다 빠르다는 장점이 있었다.
  • EC2를 지워도 데이터는 남아있기 때문에, EBS는 영구적인 볼륨이다. 즉, 컴퓨팅 리소스와 분리가되는 볼륨 (영구적인 볼륨)이다.

3. 인스턴스 구성

  • 인스턴스 개수는 한번에 여러개의 인스턴스를 만들 때 사용한다.
  • 퍼블릭 IP 자동할당은 무료지만 이후 단점이 있다.
  • 서브넷은 아까 기록한 서울 리전의 가용영역을 설정하는 것이다.
    • 한 영역당 4091개가 사용 가능하다고 나와이있다.
    • 또 한 영역당 각각 100KM가량 떨어져 있다.
  • 배치그룹은 몇번째 캐비넷, 어디에 놓을 것이냐 하는 전략을 세워서 데이터가 빈번하게 통신될 수록 가까이 위치시킬 수 있다.
  • 용량 예약은 EC2 인스턴스가 만약 서버가 아니라, 작업중에만 사용하는 자원이라면, 퇴근할 때 종료하고 출근할 때 사용할 수 있게 할 수 있다.
    • 그러나 인스턴스를 시동할 때 컴퓨팅 리소스 사용이 몰려서 컴퓨팅자원을 확보하지 못할 가능성이 있다.
    • 때문에 이런일이 일어나지 않도록, 자원을 예약하는 것이다.
  • 도메인 조인 디렉토리는 AD(Active Directory)를 세팅할 수 있다.
    • AD(Active Directory)는 사용자 접근 인증을 구분지어서 접근할수 있게 없게 컨트롤 할 수 있다.
  • IAM 역할
    • 아무나 리소스를 사용할 수 없다. (접근제어)
  • 종료 방식은 Poweroff명령어를 뜻한다.
    • poweroff -> Stop (중지, 기본값)
      -> terminate(delete)(종료) - 인스턴스가 삭제된다.
  • 최대 절전 중지 동작
    • 오랜기간 사용하지 않으면, 현재 상태를 저장했다가 부팅할때 다시 불러오는 방법이다. 우리가 흔히 생각하는 윈도우의 절전모드를 생각할 수 있다.
  • 종료, 중지 방지 활성화: 우발적인 종료와 중지에서 보호한다.
  • 5분마다 한번씩 모니터링을 체크해서 그래프를 그려준다.
    • 모니터링을 1분간격으로 진행하도록 설정할 수 있다. (세부모니터링 활성화) 그러나 추가요금이 발생한다.
  • 테넌시
    • 여러 계정들이 어우려져 한 데이터센터, 컴퓨팅 자원을 공유한다. 그러나 보안상의 이유로 허용되지 않는다면, 단독으로 서버를 임대할 수 있다. (서버 호스팅 서비스) 전용으로 서버를 임대하여 사용하는 것이다.
  • 크레딧 사양
    • 서버에 사용자들이 갑자기 몰려 끊김이 생긴다면, CPU의 스케일 업 해주는 옵션이다. 무제한에 체크하면 무제한으로 CPU의 스케일을 올려준다.
  • 파일 시스템
    • EFS를 올리고, 그것을 마운트하기위한 설정이다.
  • 아래 사용자 데이터에서 OpenStack에서 사용했던 사용자 정의 데이터를 입력해본다.

4. 스토리지 추가

  • EBS 설정이다.
  • 기본 8Gb가 잡혀있다. 또, 이후 볼륨을 확장시킬 수 있다.
  • 스냅샷은 앞서 AMI 이미지가 복사의 형태로 주는데, 이 복사본이 스냅샷으로 주게된다.
  • 볼륨유형은 각각 성능의 차이가 조금씩 있다. 성능이 좋을수록 그만큼 비용이 올라간다.
  • 종료시 삭제 체크버튼은, EC2가 삭제될 때, EBS를 남기는지 삭제하는지 조건이다. 실습이니 종료시 삭제에 체크하지만 실무시에는 목적에 따라 설정한다.
  • 암호화
    • 볼륨전체를 암호화 하기도 하고, 큐에 저장된 데이터들도 모두 암호화 되어 저장해주기 위한 것이다.
  • 디바이스 (/dev/xvda)
    • 타입1 하이퍼바이저 를 사용하기 때문인데, XEN SERVER를 이용해왔기 때문에 XEN서버에서 사용하는 이름규칙 (앞에 X)를 그대로 사용하는 것이다.

5. 태그 추가

  • 키와 값으로 태그를 추가해준다.

6. 보안그룹 구성

  • 기존 보안그룹은 현재 default밖에 없기 때문에 새 보안그룹을 생성해서 만들어준다.
  • 먼저 SSH포트를 열어준다. (기본값)
    • 만약 윈도우 AMI를 사용했다면 RDP로 되어있을 것이다.
  • OpenStack에서 설정했던것처럼 설정해준다.

7. 인스턴스 시작 검토

  • 시작하기 ㄱ고고ㅗ고고고고
  • 현재 사용하는 키가 없으니, 새로 키를 생성해준다.

인스턴스 확인

  • 잘 생성되었다.
  • 퍼블릭 IP를 받았지만, 이 IP는 인스턴스가 중지되었다가 켜지면 IP가 바뀔 수 있다. 그래서 탄력적 IP를 따로 받아서 사용해야한다.
  • 웹서버의 IP가 바뀌면 도메인이 끊기기 떄문에 사용자들은 접속할 수 없게된다.
  • 프라이빗 IPv4주소도 받았다. 이것은 EC2에서 사용되는 IP주소이다. 이후 NAT에 대해 더 배울 것이다.
  • 테스트 페이지에 접속이 됬다.
  • 퍼블릭 도메인으로도 접속할 수 있었다.
profile
Talking Potato

0개의 댓글