[AWS] 강의노트 - (1) 클라우드 컴퓨팅, AWS 서비스
AWS 강의 커리큘럼을 통해, 기본적인 사용법 학습과 경험을 취득하고자 수강을 시작했다!
애초에 코딩하면서 수기노트를 한 적도 까마득하며, 글씨 쓰는것도 귀찮아하는 나이기에 포스팅으로나마 주요내용을 정리하며 강의를 들으려한다!
- 강의 : CloudNet@와 함께하는 AWS 네트워킹 입문 (인프런 링크)
* CloudNet@ 측에서 강의영상 및 자료 저작권이 있어, 최대한 내용이해를 도울 수 있는 사진으로 대체해보려고 합니다 😁😁
☁️ 클라우드 컴퓨팅
인터넷을 통해 IT 서비스 사용요구가 있을 때(On-Demend), 자원을 제공하고 사용한 만큼 비용을 지불받는(Pay Per Use) 서비스
- 서버, 스토리지, 데이터베이스
- 민첩성 : 필요한 자원에 대해 빠르게 구동
- 탄력성 : 가변적인 환경에 유연하게 확장 및 축소
- 비용절감 : 사용량에 비례하여 비용을 지출
- 전통적인 IT 구축 환경(On-Premises)
공간(전산실, 데이터센터)에 하드웨어(장비) 및 네트워크&보안 시설이 구비되어 있었다. 이를 위한 인터넷도 구축.
- 장점 : 자산을 직접구축 및 보존이 가능. 물리장비에 직접 접근가능하여, 보안성이 우수
- 단점 : 확장성을 고려한 넉넉한 스펙을 구성해야 함. 탄력적인 운영이 제한됨. 높은 하드웨어 비용과 감가상각.
- 클라우드 컴퓨팅 서비스 유형(aaS, as-a-service)
클라우드 공급자와 사용자의 관리범위에 따라 분류
- IaaS(Infrastructure) : 공급자는 인프라(하드웨어 - 서버, DB, 스토리지) 만 제공, 사용자가 나머지 영역(운영체제, 미들웨어 등) 을 관리하는 방식
- PaaS(Platform) : 공급자가 인프라(하드웨어) 및 운영체제, 미들웨어, 런타임을 정의해 플랫폼 형태로 제공하는 방식. 사용자는 데이터, 애플리케이션만 관장
- SaaS(Software) : 공급자가 인프라(하드웨어), 운영체제, 애플리케이션까지 모든 영역을 정의해 소프트웨어 형태로 제공하는 방식
- On-Premises : 사용자가 인프라(하드웨어), 운영체제, 애플리케이션까지 모든 영역을 관장(SaaS와 정반대 개념)
- 클라우드 구축 모델
클라우드 자원의 위치, 소유권, 주체에 따라 분류가능.
- Public : 클라우드 자원의 주체가 클라우드 공급자에게 있음(On-Demand, Pay Per Use)
- Private : 클라우드 자원의 주체가 소유자에게 있음(On-Premises)
- Hybrid : 클라우드 구축 모델이 혼용된 상태. Public과 Private를 연계하여 운용되는 복합적인 형태.
☁️ AWS 클라우드 컴퓨팅 서비스
AWS(Amazon Web Service)는 Amazon의 자회사로, 글로벌 인프라를 통해 퍼블릭 클라우드 서비스를 제공
- AWS 글로벌 인프라
리전(Region)과 가용 영역 형태로 광범위한 글로벌 클라우드 인프라를 구성하고 있음
- 리전(Region) : 클라우드 서비스 자원이 모여있는 지리적 위치(현재 전세계 31개 리전 보유)
- 가용영역 : 리전 내 존재하는 데이터센터의 집합. 서로 초고속 네트워크로 연결되어 있어, 장애가 발생하면 다른 가용영역이 대체 (전세계 99개 가용영역 보유)
대한민국에도 서울 리전이 존재하며, 이 안에는 4개의 가용영역이 존재한다.
- AWS 클라우드 서비스
클라우드 서비스를 25가지로 대분류하고, 하위 세부 서비스는 총 200개 이상으로 구성된다.
- 컴퓨팅 서비스 : 클라우드 서버 자원에서 가상 서버를 생성하고 관리하는 서비스 - EC2, ECS, EKS, Lambda 등
- 네트워크 및 컨텐츠 전송 : 클라우드에서 생성한 다양한 자원들의 내/외부 통신을 위한 서비스 - VPC, ELB, Route53, Transit Gateway 등
- 스토리지 서비스 : 클라우드에 안정적이고 확장성 있는 데이터 스토어 서비스 - S3, EBS, EFS
- 데이터베이스 서비스 : 클라우드 상의 완전 관리형 데이터베이스 서비스 - RDS, Aurora, DynamoDB
* AWS 네트워킹 서비스
클라우드 자원 간 통신을 위한 서비스로, 클라우드 서비스의 기반이 되는 매우 중요한 영역
네트워킹을 통해 통신이 가능해지며, 효율적인 네트워킹 구성을 통해 안정성, 효율성, 비용절약 등을 확보 가능
- VPC(Virtual Private Cloud) : 클라우드 사용자 전용의 가상 프라이빗 클라우드 네트워크
- ELB(Elastic Load Balancing) : 트래픽을 부하 분산하여 전달하는 기능
- Route53 : 관리형 DNS로 도메인 등록 및 관리 서비스
☁️ AWS 사용 가이드
- 회원가입 : 회원가입 링크
- AWS 자원 관리방법
- AWS 관리 콘솔(콘솔 홈 링크) : 웹 기반 관리. 직관적이어서 가장 범용적으로 사용됨
- AWS CLI(Command Line Interface) : 셸 프로그램 상에서 명령어 기반으로 관리(awscli 오픈소스). 명령어가 길고 복잡함
- AWS SDK(Software Development Kit) : 연동된 특정 소프트웨어 개발 시 도움되는 개발도구로, 역시 난이도가 높음
- SSH 키 페어
자격증명을 위한 보안키(Secure Shell). EC2 인스턴스는 리눅스 운영체제로 운영되며, 이에 접근하기 위한 보안키가 필요하다.
보안키는 Public Key, Private Key 2가지로 구성되며, 이를 키 페어라고 부르는 것이다.
먼저, EC2 > 네트워크 및 보안 > 키 페어 메뉴에 접근해서, 새 키페어를 생성할 수 있다.
키 페어 유형은 RSA, ED25519 중에 RSA를 선택했다. (둘은 암호화 알고리즘으로, ED25519가 보안성이 더 높다. 참고링크)
Private Key파일은 .pem, .ppk 중에 .pem을 선택했다. (pem은 Base64며, ppk는 PuTTY로 윈도우FTP 등 때 변환이 필요. 참고링크)
키 페어 생성이 완료되면, Private Key는 자동으로 컴퓨터에 저장된다.
EC2 인스턴스 접근 시 SSH 클라이언트가 필요하나, 윈도우 OS는 별도의 클라이언트 없이도 자체 터미널로 접근 가능하다.
최초 의도는 AWS 전반적인 서비스를 경험해보고 싶었으나, 기본개념을 훑으면서 네트워킹 서비스에 치중되었음을 알게 되었다. 😅😅
다소 당황스럽지만, EC2 인스턴스 배포 후 네트워킹 서비스들을 적용하는 듯 하니 겸사겸사 심도있게 수강해봐야겠다.