개발 기록
클라우드 컴퓨팅 첫 걸음 본문
코드프레소 Java 웹 개발 체험단 활동 중
클라우드 컴퓨팅 첫 걸음 강좌를 기반으로 작성하였습니다.
코드프레소 URL: https://www.codepresso.kr/
클라우드 컴퓨팅 핵심 개념
클라우드 컴퓨팅 개요
-클라우드 도입은 기업으로 하여금 사업의 본질에 집중할 수 있게 함
-기업은 경영의 효율성을 극대화 하기 위해 클라우드를 도입
클라우드 컴퓨팅 개념과 장점
클라우드 컴퓨팅이란
- 인터넷을 통해 가상화 된 컴퓨터의 IT 리소스를 제공하는 것
- 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미
특징
- 컴퓨팅 자원을 원할 때, 원하는 만큼 사용 (수요에 따라 자원을 탄력적으로 일치 가능)
- 사용 한 만큼만 요금을 지불
클라우드 컴퓨팅의 주요 특징
- On Demand
- Computing Resource On Demand - Computing 자원도 내가 원할 때 언제든지 쓰자
- 대규모 확장성
- 클라우드 사업자는 대규모의 Computing 자원을 미리 구축 - 수요에 따른 대규모 서버 증설 가능
- 종량제 과금
- Cloud 서비스는 사용한 만큼만 지불
- 초기 비용이 낮아 Risk를 줄일 수 있음
- 관리의 편의성
- Cloud 사업자들이 IT 자원 관리에 필요한 기능을 제공하여 초기 관리가 용이
클라우드 컴퓨팅의 종류
Service Modal
- IaaS - Infrastructure as a Service
- IT 기본 자원만 제공
- Server, Storage, Network
- 새로 컴퓨터 하나 구매하는 개념
- SaaS - Software as a Service
- 모든 기능이 동작하는 SW를 제공
- PaaS - Platform as a Service
- IaaS에 OS, Middleware, Runtime 추가
- 개념의 범위가 가장 넓음
- 일반적으로 개발자를 대상으로 함
- 코드 개발만 해서 배포하면 서비스 되는 환경을 제공
- AWS Elastic Beanstalk , Google App Engine
Deployment Modal
-클라우드를 실제 어떤 형태로 구축하는 지에 대한 View
- Public Cloud
- Cloud 서비스를 필요로 하는 사용자 누구든지 사용 가능
- 누구나 사용한 만큼 비용만 지불하면 됨
- Cloud 사업자가 IT 자원을 서비스로 제공
- Private Cloud
- 기업 및 기관 내부에서만 사용 가능한 클라우드 컴퓨팅 환경을 구축
- 구축 난이도 높지만, 보안 / 법적 규체 등의 이유로 사용
- Hybrid Cloud
- 퍼블릭과 프라이빗 클라우드를 조합해서 사용하는 형태
- 시스템 별로 다르게 적용하거나, 프라이빗을 퍼블릭으로 확장해서 사용 ( 다양한 시나리오 존재 )
클라우드 컴퓨팅의 주요 용어
- Data Center
- 수많은 서버들을 한 데 모아 네트워크로 연결해 놓은 시설 ( 서버와 네트워크 자원 등을 제공 )
- Rack - 서버 또는 네트워크 장비들이 들어가는 프레임
- 중요한 관리 포인트를 발열 관리
- Region
- Data Center가 위치한 지역
- 일반적으로 도시를 지칭하지만 서비스에 따라 국가를 지칭하는 경우도 있음
- IT 리소스를 생성할 리전은 선택 가능 ( 한국에서도 전세계 데이터 센터의 자원 생성 가능 )
- 리전 선택은 서비스 성능에 큰 영향을 미침 ( 대상 고객 지역과 자원 생성 리전이 가까워야 함 )
- Availability Zone
- 고가용성을 위한 리전내 분산 된 데이터 센터
- 하나의 리전은 두개 이상의 AZ으로 구성됨
- 하나의 AZ는 하나의 데이터 센터
- 서비스를 다수의 AZ에 분산하여 운영하면 특정 데이터 센터에 문제가 생겨도 다른 데이터 센터에 접속 가능 - 가용성(Availability) 높음
- 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가 실행된 하나의 서버
- 다양한 인스턴스 타입이 존재
- 범용 인스턴스 : 웹 서버 및 코드 리포지토리와 같이 이러한 리소스를 동등한 비율로 사용하는 애플리케이션에 적합
- 컴퓨팅 최적화 : 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
- 메모리 최적화 : 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공
- 가속화된 컴퓨팅 : 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 기능을 효율적으로 수행 (딥러닝 등 )
- 스토리지 최적화 : 로컬 스토리지에서 매우 큰 데이터 세트에 대해 많은 순차적 읽기 및 쓰기 액세스를 요구하는 워크로드를 위해 설계
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파일을 볼 수 있음
기존 html 파일 삭제후 새 html 작성
'코드프레소' 카테고리의 다른 글
처음 시작하는 SQL 프로그래밍 -2 (0) | 2022.03.19 |
---|---|
Spring Boot를 활용한 웹 개발 초급 (0) | 2022.03.14 |
처음 시작하는 SQL 프로그래밍 (0) | 2022.02.22 |
Spring Boot 웹 개발 입문 (0) | 2022.02.15 |
SW 유지보수성 향상을 위한 Clean Code (0) | 2022.02.15 |
Comments