우분투 설치

오픈 스택을 설치하는 방법으로는 3가지가 있다

1. 메뉴얼을 이용한 설치

2. Devstack을 이용한 설치

3. 자동화 툴을 이용한 설치


Devstack을 이용하여 설치하기 위해 OS는 리눅스 환경에서 진행해야 하기 때문에 OS를 먼저 설치해준다

대표적인 리눅스 OS인 CentOS와 Ubuntu가 있는데 오픈스택은 Ubuntu를 기반으로 만들어졌기 때문에 Ubuntu를 설치하도록 한다


준비 환경 : VMware, UbuntuOS.iso, 고급 사양의 PC

(오픈스택으로 사용자들에게 서비스를 제공해주어야 하기 때문에 사양은 높으면 높을수록 좋다)

최소 PC 사양 : CPU 8 Core / RAM 16GB - 뇌피셜



1. VMware - New Virtual Muchine 새로운 가상머신 Ubuntu로 만들어준다





2. 본인은 CPU Core 2개, 메모리 4GB 스펙의 가상머신을 만들었는데

나중에 오픈스택 인스턴트 하나도 못만들고 계속 뻗어서 아무것도 할 수 없었다

최소 가상머신 사양을 메모리 8GB를 권장




3. 보통 가상머신과는 달리 바로 본체 디스크에 가상 디스크 공간을 할당해준다




4. 언어는 혹시 모를 에러 방지를 위해 한국어가 아닌 영어로 진행한다




5. 우분투 설치를 진행한다




6. 다시 영어로 선택해서 진행




7. 어느 나라든 상관은 없지만 본인은 미국



8. 키보드 설정은 기본 설정값인 <No>



9. 다시 언어는 미국 영어




10. 기본값인 맨 위의 미국 영어




11. 네트워크 설정도 기본설정값인 <No>




12. 그리고 나중에 설치 이후에 네트워크를 설정할 수 있기 때문에 일단 설치를 위해 나중에 설정하겠다고 진행




13. Hostname은 아무 이름이나 상관없으나 본인은 openstack




14. username도 아무 이름이나 상관이 없기 때문에 본인 이니셜로 진행



15. user password 설정으로 본인은 암호1.




16. 비밀번호가 취약하다고 하지만 본인은 <Yes>로 강행




17. 홈 디렉토리를 암호화할지 설정하는 것으로 <Yes>로 진행




18. 지역시간을 설정하는데 본인은 미국을 택했기에 그냥 기본값으로 진행




19. 디크스 파티션 설정은 맨 위 설정으로 진행

Guided - use entire disk




20. 디스크 파티션 설정으로 기본 디스크로 진행




21. 기본값 그대로 <Yes>




22. 자동 업데이트는 하지 않는 걸로 진행

No automatic updates




23. 설치할 소프트웨어를 선택하는 단계로 맨 밑 3가지를 체크하고 진행

standard system uilities

Virtual Machine host

OpenSSH server

(체크/해제는 Space, 다음 설치 단계 진행은 Enter)




24. GRUB boot loader 설정으로 기본값인 <Yes>로 진행




25. 계속 진행하고나서 설정한 user로 로그인하면 우분투 준비 완료


우분투 설치 끝

Cloud Service of OpenStack


OpenStack

Iaas 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로 원래는 NASN와 Rackspace가 공동으로 시작한 오픈소스 프로젝트


1. 시스템 관련 클라우드 서비스

- Nova

인스턴스를 생성하고 관리하는 서비스(쉽게 Nova = VM)

2. 스토리지 관련 클라우드 서비스

- Swift

객체 스토리지


- Cinder

블록 스토리지


3. 네트워크 관련 클라우드 서비스

- Neutron

네트워크와 IP 주소들을 관리하는 서비스로 OpneFlow나 SDN 기술로 큰 규모의 네트워크를 지원할 수 있으며

IDS, Load Balancing, VPN 등과 같은 서비스의 확장 프레임워크를 제공한다


4. 데이터 관련 클라우드 서비스

-Glance

이미지 파일 관련 관리 서비스(ex. ISO 파일, 스냅샷 등)


- Ceilometer


5. 기타 클라우드 서비스

- Horizon

대시보드 제공


- Keystone

인증 관련


- Designate

DNS Server

Cloud Service of Amazon

1. 시스템 관련 클라우드 서비스

- EC2(Elastic Compute Cloud)

클라우드 환경에서 서버를 할당받아 사용하는 서비스, 서버 호스팅과 유사한 개념이지만 실제 물리적인 서버를 할당받는 서버 호스팅과 달리

클라우드 환경에서 가상 서버를 할당받는다는 점이 다르고 쉽게 가상 머신 하나를 할당받아서 사용하는 거라 생각하면 쉽다


- Auto Scaling(Scale up & down)

수요에 따라 EC2의 규모를 자동으로 조절할 수 있는 서비스

ex. Web Server의 CPU load가 50% 이상일 때 새로운 Web Server를 추가하도록 설정 가능


2. 스토리지 관련 클라우드 서비스

- S3(Simple Storage Service) : 네트워크 스토리지 개념

객체 스토리지 서비스로 네트워크로 접근이 가능하고 EC2에서 마운트해서 사용할 수도 있다

스토리지 혼자 존재 가능(ex. NAS Server)    // iptime + 디스크 개념으로 네트워크 접근이 가능한 저장 공간


- EBS(Elastic Block Storage) : 서버에 추가할 수 있는 HW 스토리지 개념

EC2 인스턴스에서 사용할 수 있는 블록 스토리지로 용량 및 IOPS 설정 등이 가능

스토리지 혼자 존재 불가능


- Glacier

저비용 데이터 보관 및 백업 서비스로 자주 사용되지 않는 데이터를 보관 및 백업하는데 유용한 서비스


- CloudFront

콘텐츠 전송용 웹 서비스로 CDN과 비슷한 서비스(보통 콘텐츠 데이터가 크다)

EC2나 S3같은 서비스에서 사용 시 가장 가까운 엣지로 자동 라우팅되어 콘텐츠 전송 속도를 향상시킬 수 있다


- Storage Gateway

AWS 스토리지와 로컬 스토리지를 연동해주는 서비스(ex. 네이버 클라우드 마운트)

로컬에 있는 DAS, NAS, SAN 등과 같은 장비와 S3을 연동해서 메인 데이터는 S3에 두고 접근 빈도가 높은 데이터는 로컬 스토리지에 캐싱하거나

모든 데이터는 로컬 스토리지에 두고 일정 시간에 따라 주시적으로 데이터ㄹ의 스냅샷을 S3에 저장하는 등의 서비스

- Import / Export

대용량 데이터를 이동식 디바이스에 직접 Import / Export해주는 서비스

ex. 외장 하드를 직접 Amazon에 보내서 데이터를 Import 또는 Export 후 다시 돌려받는 것


3. 네트워크 관련 클라우드 서비스

- DirectConnect

AWS와 직접 연결된 전용 네트워크 서비스


- Route 53

DNS 서비스


- VPC(Virtual Private Cloud)

VPN 개념의 사설 네트워크 서비스


- Elastic Load Balancing

L4 장비가 해주는 Load Balancing 서비스


4. 데이터 관련 클라우드 서비스

- RDS(Relational Database Service)

RDBMS 클라우드 서비스(MySQL, Oracle, PostgreSQL, SQL Server 지원)

EC2에 새로운 인스턴스 생성 후 RDBMS를 직접 설치하여 사용할 수도 있지만

RDS를 사용할 경우 AWS 전문가가 관리해주기 때문에 유지보수 및 보안 이슈를 획기적으로 줄일 수 있다

하지만 서버에 직접 접근 권한은 없기 때문에 사용 시 제한이 있을 수 있다


- DynamoDB

Amazon에서 제공하는 NoSQL 데이터 베이스


- Elastic Cache

Caching 서비스, Memcached, Redis 지원


- EMR(Elastic MapReduce) : 데이터 분석기술 - 큰 데이터를 분석 후 관련지어 맵핑, 축소 과정을 반복하는 기술

AWS에서 제공하는 Hadoop 프레임워크 상에서 사용할 수 있는 MapReduce 서비스

데이터의 종류나 크기에 따라 MapReduce에 필요한 리소스의 가변폭이 큰 경우 유용하다

하지만 EMR를 이용하기 위해서 반드시 Hadoop도 AWS에 구축되어야 한다

* Hadoop(하둡) : 크게 HDFC, MapReduce 2가지 기능이 있는 프레임워크로 저사양 시스템들을 묶어서 슈퍼 컴퓨터로 만드는 방식

* MapReduce는 알고리즘이고 Word Cloud가 이 알고리즘을 이용한 것


- Data Pipeline

서버 또는 스토리지 간 주기적인 데이터 이동을 지원하는 서비스


** MySQL, Oracle, PostgreSQL, SQL Server, Redis, Memcached를 제외한 다른 애플리케이션들은 직접 설치하거나

EC2에 새로운 인스턴스를 생성할 때 Amazon Marketplace에서 포함된 OS를 선택해야 한다

Cloud Computing


Cloud

정의

Cloud = Cloud Computing

클라우드 컴퓨팅이란 내 자원이 아닌 네트워크를 통해 제공되는 클라우드 사업자의 컴퓨터에서 작업을 처리하는 것


NIST(미국 국립 표준 기술 연구소 : National Institute of Standards and Technology)에서 말하는 클라우드 컴퓨팅

공유 구성이 가능한 컴퓨팅 리소스(네트워크, 서버, 스토리지, 애플리케이션 서비스)의 통합을 통해 어디에서나 편하게

요청에 따라 네트워크를 통해 접근이 가능한 모델


NIST에서 말하는 클라우드의 특징

- 주문형 셀프 서비스 : 개별 관리 화면을 통해 서비스 이용 가능(이용자가 직접 웹에서 주문하여 이용)

- 광범위한 네트워크 접속 : 여러 가지 장비를 통해 서비스에 접속(컴퓨터, 모바일 등)

- 리소스 공유 : 사업자의 컴퓨터 리소스를 여러 사용자가 공유하는 방식

- 신속한 확장성 : 이용자의 필요에 따라 스케일 업 & 다운 가능

- 측정 가능한 서비스 : 이용한 만큼의 요금 부과, 종량제



등장 배경

1980    메인 프레임에서 대부분 처리        // 메인 컴퓨터 하나가 모든 것을 처리하고 나머지 클라이언트의 사양은 좋지 않다

1990    클라이언트에서도 처리 기능이 추가        // 어느 정도 클라이언트에서도 처리 가능

2000    사내 서버에서 처리        // 같은 작업에 대한 공유 문제 때문에 중앙 서버에서 많은 것을 처리

현재    서버에서 처리하는 것을 같으나 서버 소유X        // 네트워크 내 서버가 아닌 다른 어딘가의 서버에서 많은 것을 처리


클라우드는 이전부터 존재했던 개념이었고 이전까지는 실제로 구현하는데 여러 문제가 존재(가상화문제, 네트워크 속도, 보안 문제 등)

하지만 계속된 기술적 발전으로 현재는 실제 상용화 가능



Cloud 장점

On-Premise(기존에 사용하던 인프라)와 Cloud를 비교

- 비용 : 특정 영역에서는 기존 방식보다 저렴할 수 있지만 모든 부분에서 그런 것은 아니다(이용자의 상황마다 다르다)

클라우드 이용료냐 VS 온프레미스 운영비(서버실 임대료, 시스템 장비, 운영비)냐

- 안전성과 신뢰성 : 지리적, 물리적, 관리적으로 안전한 곳에 데이터 센터를 구축하고 전문가가 관리하기 때문에 비교적 안전하다

하지만 한 번 피해를 입을 경우 피해 규모는 훨씬 크다(온프레미스 피해 : 교통사고 / 클라우드 기업 피해 : 비행기 추락사고)

아직까지 클라우드 서비스가 공격받아서 피해를 받은 사례는 없다

- 확장성 : 이용자가 언제든지 원할 때 확장 또는 축소 가능, 프로그램이나 서비스를 통해 자동화 가능

확실하게 Cloud의 확장성은 On-Premise보다 우수하다

- 생산성과 퍼포먼스 그리고 속도


클라우드 서비스 모델

사업자

- Saas(Software as a Service)    // 사스라고 읽는다

시스템 + OS + SW, 모두 설치된 완제품 시스템을 제공

- Paas(Platform as a Service)    // 파스라고 읽는다

시스템 + OS 만 설치된 시스템을 제공하며 SW는 사용자가 직접 설치

- Iaas(Infra as a Service)    // 이아스라고 읽는다

시스템 만 설치된 시스템을 제공하며 OS나 SW는 사용자가 직접 설치

기존

Iaas 

Paas 

Saas 

애플리케이션

애플리케이션

애플리케이션 

애플리케이션 

데이터 

데이터 

데이터 

데이터 

런타임 

런타임 

런타임 

런타임 

미들웨어 

미들웨어 

미들웨어 

미들웨어 

OS 

 OS

OS 

OS 

가상화 

가상화 

가상화 

가상화 

서버 

서버 

서버 

서버 

스토리지 

스토리지 

스토리지 

스토리지 

네트워크 

네트워크 

네트워 

네트워크 

 빨간 글씨 클라우드 서비스로 제공되는 서비스




사용자

- Public Cloud

클라우드 사업자(ex. 구글, 아마존)가 구축한 시스템, 네트워크를 통해 사업자가 제공하는 서비스를 이용하는 방식

- Private Cloud

사용자가 직접 클라우드 사업자처럼 시스템을 구축하거나, 서비스를 이용하여 클라우드 환경을 구성하여 이용하는 방식

> On-Premise Private Cloud

사용자가 데이터 센터와 클라우드 환경 직접 구축

> Hosted Private Cloud

데이터 센터는 클라우드 서비스를 이용, 클라우드 환경만 직접 구축

- Community Cloud

여러 기업이나 단체가 하나의 데이터 센터 및 클라우드 환경 구축

- Hybrid Cloud

위의 클라우드 종류들 중 2가지 이상 혼합된 클라우드 방식

+ Recent posts