💡Today I Learned
- AWS 클라우드 실습에 대한 첫 번째 수업을 진행했습니다.
- 인스턴스 생성, Elastic beanstalk 생성 실습
1. 클라우드 서비스
: 클라우드 컴퓨팅 IT 리소스를 인터넷을 통해 온디맨드(↔온프레미스)로 제공, 사용한 만큼만 비용 지불
: 물리적 데이터센터, 서버를 구입/소유/유지하는 대신 클라우드 공급자(ex: AWS)로부터 필요에 따라 컴퓨팅파워, 스토리지, DB와같은 기술 서비스에 access
- 장점
: 민첩성 / 탄력성(필요한 양 증감) / 비용절감 / On demand / 관리 용이성
- 대표적인 AWS(Amazon Web Services)
: 가장 많이 사용되는 클라우드 플랫폼
: 서비스 중심의 회사들은 거의 AWS를 사용
- 기타: MS Azure, 구글 GCP, 오라클 OCI, IBM 클라우드, 알리바바 클라우드, KT 클라우드, 네이버 NCP(네이버 클라우드 플랫폼)
- 클라우드 서비스 사용 비중 (리소스 관점에서 할당받는 양)
On Premises(own server) < IAAS(virtual machines, 하드웨어단을 가상화) < PAAS(할당받은 리소스 위에서 app, data만 설치해서 사용) < SAAS(전부 다 만들어져있는 리소스를 할당받음)
2. EC2
: AWS에서 가장 보편적으로 사용하는 서비스
: 논리적인 리소스 서버를 할당받음
3. EC2 용어
- 인스턴스: 가상 컴퓨팅 환경 → EC2는 하나의 인스턴스 마다의 별도의 서비스를 이용할 수 있음
- AMI(아마존 머신 이미지): 서버에 필요한 os, sw들이 적절히 구성된 상태로 제공되는 템플릿, 인스턴스 쉽게 만들 수 있음
- 인스턴스 유형: cpu, 메모리, 스토리지, 네트워킹 용량 .. 여러가지 구성 제공
- 키 페어: 만든 인스턴스에 로그인하기위한 정보 (보안)
- 인스턴스 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨, 인스턴스 중단/최대 절전 모드 전환/종료 시 삭제됨
- 아마존 EBS(Elastic Block Store): 영구 스토리지 볼륨에 데이터 저장
- 보안 그룹: 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 설정하는 방화벽 기능
- 탄력적 IP 주소(Elastic IP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소 (각 인스턴스들은 별도의 ip, 도메인들을 제공함 → 인스턴스를 내렸다 올리거나, 재시동하는 경우 다른 도메인, ip로 설정됨 → 이를 고정적으로 제공해주는 서비스)
- 태그: 사용자가 생성해 EC2 리소스에 할당할 수 있는 메타데이터 (EC2 뿐만 아니라 다른 아마존 서비스에도 가능)
- Virtual Private Cloud(VPC): 논리적으로 격리돼있지만 원할 때마다 고객의 네트워크와 간편히 연결할 수 있는 가상 네트워크
4. EC2 만들기 실습
- 키 페어 만들기 → 만든 EC2 인스턴스에 접속할 수 있는 유일한 키 만들기
: EC2 > 키 페어 생성 > 키 이름 설정 > 키 페어 유형 .pem(MacOS)로 설정 > 생성
$ chmod 400 mykey.pem
$ ssh -i ["키 페어 파일명"] ec2-user@[인스턴스의 퍼블릭 IPv4 DNS 주소]
: 400 으로 권한 변경 (change mode)
: 인스터스 생성 후 [퍼블릭 IPv4 주소] 혹은 [퍼블릭 IPv4 DNS]로 접속 가능 ← 서버 내렸다 올릴 때마다 변경됨
5. AWS 기본 용어
- 가상화
: 물리적 컴퓨터 HW를 보다 효율적으로 활용할 수 있도록 해주는 프로세스, 클라우드 컴퓨팅의 기반을 제공하는 기술
- 가상머신(VM)
: SW형식으로 물리적 컴퓨팅을 시뮬레이션 하는 가상 환경
- 스냅샷
: 특정 시점에 스토리지의 파일 시스템을 포착(스냅샷)해 보관하는 기술, 순간의 리소스나 프로세스를 저장해서 특정 시점으로 서버를 구동할 수 있게 해줌
: ex) 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터 복구 가능
: 백업(원본 데이터를 그대로 복사해 다른 곳에 저장)과 달리 초기 생성 시 or 데이터의 변경이 있기 전까지는 스토리지 공간 차지 x
: 메타데이터의 복사본에 해당, 생성에 오랜 시간 걸리지 x, 장애 발생 시 빠르게 데이터를 복원
- 데이터 센터
: 수많은 서버 모아 네트워크로 연결해놓은 시설
- Region
: DC가 위치한 지역, IT 리소스를 생성할 리전을 선택 가능, 대상 고객의 지역 & 자원 생성 리전이 최대한 가까워야 함, 국가마다 자원사용 비용이 다름
- 가용영역(Availability Zone)
: 하나의 Region은 두 개 이상의 AZ으로 구성됨
*) AZ(가용영역) = AWS 리전 내에서 물리적으로 격리된 데이터 센터, 각 AZ는 서로 다른 전력/네트워크 인프라로 분리됨
*) 서브넷(subnet) = 각 AZ 내에서 네트워크를 더 세분화하여 관리하기 위한 논리적 단위 (논리적으로 분리된 네트워크 영역)
6. 탄력적 IP
: 탄력적 IP 생성 후 만들어둔 인스턴스에 연결 (고정 IPv4 주소 사용 가능)
: default로 5개 생성 가능 (꼭 필요한 곳에 할당..)
: 서버 내리거나 올려도 고정적인 IP 사용할 수 있음
: 할당된 탄력적 IP를 다시 반환할 수 있음 (할당한 인스턴스에서 떼서 다른 곳에 재할당 가능)
7. Elasticbeanstalk
: 여러 서버 인스턴스를 사용해 애플리케이션을 실행/관리하는 플랫폼
: 애플리케이션을 실행하는 여러 서버들을 관리하는 도구
: 애플리케이션의 확장성,가용성을 향상시키기 위해 여러 서버 인스턴스를 사용하는 클라우드 환경에서 사용
: 애플리케이션을 실행하는 인프라에 대해 자세히 알지 못해도 AWS 클라우드에서 app을 신속하게 배포/관리 가능
: 선택/제어에 대한 제한 없이 관리 복합성 줄일 수 있음
: 애플리케이션을 업로드하기만 하면 Elastic beanstalk에서 용량 프로비저닝, 로드밸런싱, 오토스케일링, 조정, 상태 모니터링 등 세부 정보를 자동으로 처리
: Go, Java, .NET, Node.js, PHP, Python, Ruby에서 개발된 app 지원함
: 애플리케이션 배포 시 EB가 선택된 지원 가능 플랫폼 버전을 구축 + EC2 등의 AWS 리소스를 하나 이상 프로비저닝해서 app 실행
💡Furthermore
AWS IAM (EC2 인스턴스가 필요한 작업을 수행하도록 허용하는 관리형 정책이 있는 IAM 인스턴스 프로파일) 개념- Elasticbeanstalk 환경 생성 완료 후 Ebs 대시보드에서 (실습 내용으로) config 수정하기
- .pem 키 권한 변경하는 이유
'데브코스 > TIL' 카테고리의 다른 글
[TIL] 7주차_Day28: AWS 클라우드 실습 (3) (1) | 2023.11.22 |
---|---|
[TIL] 7주차_Day27: AWS 클라우드 실습 (2) (1) | 2023.11.21 |
[TIL] 6주차_Day25: 데이터 웨어하우스와 SQL과 데이터분석 (5) (1) | 2023.11.20 |
[TIL] 6주차_Day24: 데이터 웨어하우스와 SQL과 데이터분석 (4) (1) | 2023.11.20 |
[TIL] 6주차_Day23: 데이터 웨어하우스와 SQL과 데이터분석 (3) (2) | 2023.11.19 |