본문 바로가기

IT 매일매일

클라우드와 AWS의 기초

클라우드란?


-일반적으로 클라우드 컴퓨팅을 의미
-가상화된 컴퓨터의 다양한 자원과 애플리케이션을 온디맨드(사용자의 요구에 따라 바로 제공)로 제공


*온디맨드 (사용자의 요구에 따라 바로 제공)

가상화?

-컴퓨터의 주요 자원을 조금씩 빌려서 가상의 컴퓨터를 생성 (CPU, 메모리, 하드디스크)
-실제 본체 컴퓨터를 Host PC, 가상으로 만든 컴퓨터를 Guest PC라고 한다.
+ 가상화 컴퓨터는 어쩔 수 없이 자원을 많이 사용한다.

+ 도커의 장단점 = 컨테이너
Host PC의 운영 체제를 사용하다 보니, 다른 운영 체제의 도커를 사용할 수 없다.


+데이터 센터에서 PC최소 3대 준비하는 이유
메인 1, standby 1, 렉으로 2대 묶이고, 옆 렉에 보조 1대

왜 클라우드인가?

기존 방식은 
1. 서버로 사용할 컴퓨터를 구매
2. 서버를 관리자가 직접 설정
3. 서버를 둘 공간과 물리적인 서버의 관리가 필요

- 서버관리의 유연함 ↓
레이턴시(응답시간)가 빠름

클라우드

1. 사용할 만큼의 컴퓨터를 주문
2. 주문과 동시에 인터넷을 통해 서비스를 제공받음
3. 서버를 둘 광간이 필요 없으며 직접적인 관리는 서비스 제공업체가 알아서 처리
- 서버관리의 유연함 ↑
레이턴시(응답시간) 비교적 느리거나 빠른 서버를 사용하면 굉장히 비쌈

클라우드의 단점

1. 엔드 포인트에 가는 길목의 보안이 취약함.
2. IDC센터에 재난이 발생하면 거기에 올려둔 모든 서비스도 다 정지한다.

클라우드 이용 모델



AWS 클라우드 기초 이것저것 알아보기

오른쪽 내 이름 클릭 -  내 보안자격 증명 - 액세스 키 만들기 - .csv파일 다운로드 - 아이디, 키 - 내 서버 (서울) 오른쪽 값 적기 - 엔터 하면 파일 설치 됐다.

 

-결제 관련


aws 홈페이지 - 내 이름 - 결제 대시보드 - 왼쪽 Budgets - 예산 생성

-Region(리전)과 AZ(가용 영역)

VPC = Amazon VPC(Amazon Virtual Private Cloud)를 사용하면 정의한 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사하며 AWS의 확장 가능한 인프라를 사용한다는 이점이 있습니다.
가상으로 나만 쓸 수 있는 네트워크 망

-서브넷 = 각각의 가용 영역에 속해 있다.

-웹
검색 - VPC로 이동
VPC 생성 - 이름 설정 - ip버전 4 CDIR(100.100.0.0/16)
생성 후

웹 왼쪽 서브넷 생성

오른쪽 서브넷 생성 클릭

VPC 아까 생성한 것 설정

서브넷 이름

가용 영역

IPv4 설정


-인터넷 게이트웨이 설정

게이트웨이 생성

나의 VPC와 연결

선택 후 연결하기


-라우팅 테이블 = 다른 대역으로 찾아가기 위하여 경로를 적어놓는 테이블.

라우팅 편집 - 대상 IP 0.0.0.0/0 - 대상 이름 (igw-00f62d2449dc076cc) - 변경사항 저장 - 위 네트워크 망을 사용하는 PC를 생성

 

검색 - EC2 - 인스턴스 시작 - 이름 - 우분투 18.04 - 키페어 설정(없으면 생성) - 네트워크 설정(아까 만든 것) - 서브넷 설정(아까 만든 것) - 퍼블릭 IP - 활성화로 바꾸기

생성 후

Putty로 접속해 보기 - 퍼블릭 IP 입력 후 - SSH에서 내가 설정한 key파일 선택 - 실행 - 로그인 아이디 ubuntu - 끗

+ Ec2 2대 준비
OS : Ubuntu 18.04
type : t2.micro
HDD : 8gb 기본값

네트워크 설정 편집
az : ap-northeast-2a = public O
az : ap-northeast-2c = public X

*bastion host = GateWay와 직접 연결된 PC를 연결되지 않은 PC를 연결한다

*ACL, 보안그룹, 방화벽

ACL =  VPC에 설정하는 것, 전체 가상 PC 보안 = ACL
보안그룹(Sg) = 서비스마다 설정하는 것, 각각 보안 Sg(보안그룹 영역 설정 하면 여러 PC 보안그룹 설정 가능)

인바운드, 아웃바운드 규칙 설정?

*블랙리스트 = 접근 모두 허용, 특정 사용자만 차단
*화이트 리스트 = 접근 모두 차단, 특정 사용자만 허용

-EBS(Elastic Block Store)

*블록 스토리지 - 컴퓨터가 있어야 사용할 수 있는 가상의 하드 디스크
=EC2 같은 인스턴스에 연결하여 사용하는 스토리지
*객체 스토리지 - 컴퓨터가 없어도 사용할 수 있는 클라우드 상의 저장 공간
=가상 컴퓨터를 켜지 않아도 객체 스토리지는 웹 등등을 켤 수 있다.
*여기서 말하는 컴퓨터는 가상 컴퓨터를 의미함.

-볼륨(디스크 용량) 수정
인스턴스 선택 - 스토리지 - 볼륨 선택 - 볼륨 선택 - 오른쪽 위 수정 선택 - 용량 수정 - 저장

fdisk -l 용량 확인

-볼륨 용량 추가(우분투 안에서)
growpart /dev/xvda 1 (파티션 용량 추가)

lsblk

resize2fs /dev/xvda 1 (용량 추가 적용)

-aws 볼륨  생성(추가) (같은 영역대에 있는 상태로 생성해야 함) a2, c2

볼륨 - 볼륨 생성 -  용량 설정 - 가용 영역 설정 - 볼륨 생성

-aws 로드 밸런싱
= 대상 그룹에 있는 것들을 로드 밸런싱 해줌
                                (일단 애플리케이션 로드밸런서, IP로드 밸런서 정도만 사용)
로드 밸런스 생성 - 종류 3가지 중 선택해서 생성 - 그룹, 보안 선택 설정

Auto Scaling(=EC2 만들어 놓는 것과 비슷함)

(준비) 인스턴스의 이미지 생성 해놓기

시작 구성 - 시작 구성 생성 - AMI 선택(이미지) - 인스턴스 유형 - 보안그룹 설정 - 키 페어 설정  - 끝

오토 스케일링 그룹 생성

이름 - 시작 구성으로 전환, 선택 - VPC 설정 - 가용 영역 설정 - 기존 로드 밸런서 선택 - 용량 선택(2,2,8) - 대상 추적 크기 조정 정책 체크 - 인스턴스 요구 사항 60초 - 다음 - 다음 - 다음 - 그룹 생성 이후 부하 테스트 진행 하면 

CPU 사용량에 따라 인스턴스가 증가하여 부하를 나눠 받는다.

오토 스케일링 시작 구성에서 모니터링 가능

'IT 매일매일' 카테고리의 다른 글

Django - AWS S3 연동, AWS Lambda 함수 생성  (0) 2023.03.15
AWS S3 버킷 생성  (0) 2023.03.15
파이썬 기초 2  (0) 2023.02.20
파이썬 기초  (0) 2023.02.17
openstack 실습  (0) 2023.02.16