AWS 온라인 컨퍼런스 참여기
평소 프로젝트를 하면서 AWS의 EC2, S3등을 사용한 경험이 있다. 하지만 프로젝트때는 정신없이 사용하고 배포하는것에만 중점을 두다보니 조금 더 공부가 필요하다고 느낀 차에 AWS에서 온라인 컨퍼런스를 진행 한다는것을 발견했다!
클라우드는 개발할때 필수적이고, 비용적인 측면도 굉장히 중요하기 때문에 레퍼런스를 참여하게 되었다. 이번에 진행된 AWS 온라인 컨퍼런스는 기업이 아닌 개인으로도 참여를 할 수 있고, 발표자료도 제공되어 충분히 뜻깊은 시간이였다. 총 5번의 강연을 진행하였는데, 클라우드, 클라우드 핵심 서비스인 컴퓨팅, 스토리지, 데이터베이스, 네트워킹, 보안과 관련하여 컨퍼런스가 진행되었다.
강연 1. 클라우드
🏢 온프레미스란?
온프레미스는 기업의 서버를 클라우드와 같이 ‘가상의 공간’이 아니라 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식이다. 클라우드와 반대로 실제 물리적인 하드웨어와 소프트웨어를 구입해 특정 공간에 직접 인프라 환경을 구성한다.
☁️ 클라우드란?
클라우드는 인프라를 더 이상 하드웨어라고 생각하지 않고 소프트웨어라고 생각하고 사용할 수 있다. 온프레미스처럼 직접 물리적인 환경을 구축하지 않고 필요한 IT 자원만을 선택하여 구축하는 방식이다.
☁️ 클라우드의 장점
- 선행비용을 가변 비용으로 대체
- 속도 및 민첩성 향상
- 규모의 경제로 얻게되는 이점
- 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
- 용량추정 불필요
☁️ 클라우드 서비스 유형
👉🏻 인프라형 서비스(IaaS)
- 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- 컴퓨팅 자원에 운영체제나 애플리케이션 등의 소프트웨어 탑재 및 실행
- 하위의 클라우드 인프라를 제어하거나 관리하지 않지만 스토리지, 애플리케이션에 대해서는 제어권 가짐
👉🏻 플랫폼형 서비스(PaaS)
- 인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
- SaaS의 개념을 개념 플랫폼에도 확장한 방식으로 개발을 위한 플랫폼을 구축할 필요없이, 필요한 개발 요소 웹에서 빌려 쓸 수 있게 하는 모델
- OS, 애플리케이션과 애플리케이션 호스팅 환경 구성의 제어권을 가짐
👉🏻 소프트웨어형 서비스(SaaS)
- 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
🌏 리전(Region)이란?
리전은 AWS의 서비스들이 제공되는 서버의 물리적인 위치 즉, AWS가 데이터센터를 클러스터링하는 물리적 위치를 의미한다.
🌏 리전(Region)의 선택 기준
AWS EC2를 구성할 때 대한민국에 있는 리전을 선택한 경험이 있다. 해당 리전은 어떤식으로 선택해야 더 좋은 인프라를 구성할 수 있을까?
리전을 선택하는 기준은 데이터 거버넌스, 지연시간을 고려해야한다. 데이터 거버넌스란 고객의 데이터가 서비스해야하는 특정 지역에 있어야 하는 경우, 특정 지역의 리전을 선택해야한다. 두번째 지연시간이다. 지연시간은 이용할 최종 사용자에게 가까운 거리를 선택한다. 거리가 짧은 리전을 선택하면, 낮은 지연시간으로 더 빠르게 서비스 할 수 있다.
🏢 AWS에서 제공하는 서비스들!
강연 2. 컴퓨팅(Computing)
- EC2(Elastic Compute Cloud) : 클라우드 서버 인스턴스
- AWS Lambda: 서버 없이 작성한 프로그래밍 코드를 실행하는 환경을 만들어줌
- ELB(Elastic Load Balancing) : 트래픽을 분산해주는 역활을 하여 고가용성 서비스를 구축할 수 있도록 합니다.
- Auto Scaling: 트래픽에 따라 EC2 인스턴스들을 확장해주는 서비스 위의 ELB와 함께 사용되는 기능으로 특정 트래픽을 초과시 자동으로 EC2 인스턴스를 생성하고 다시 트래픽이 줄어들면 추가 생성하였던 EC2 인스턴스들을 삭제하는 유연한 서비스를 구축할 수 있도록 도와주는 서비스입니다.
- AMI(Amazon Machine Images): AWS에서 제공되는 가상머신 이미지(AWS에서 기본으로 제공하는 이미지일수도 있으며, 다른 유저 혹은 벤더들이 만들어놓은 머신 이미지도 많습니다.)
프로젝트 때 써봤던 EC2에 대해 좀 더 자세히 알아보자면 EC2는 Amazon Elastic Computer Cloud로 직역하면 클라우드 컴퓨터이다. EC2는 사용자가 원하는 형태(웹서버, 데이터 서버등)로 구성할 수 있다. EC2의 인스턴스는 가상 컴퓨팅 환경이며, AMI는 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있다.
AWS EC2는 AMI라고 부르는 이미지를 기반으로 구성할 수 있는데, AMI는 스토리지볼륨, 시작권한, 디바이스 매핑에 정보를 가지고 있다. AWS는 Marketplace를 제공하는데, Marketplace는 앱스토어 같은 곳으로 원하는 AMI를 구입할 수 있다!
💵AWS 가격 정책 용어
- On-Demand(온디맨드) Instance: 기본적으로 사용하는 과금 방식으로, 사용한 시간 만큼 비용을 지불하는 형태
- Reserved(예약) Instance: 일정 기간 인스턴스 사용을 약속하고, 그에 대한 할인을 적용받는 방식
- Spot(스팟) Instance: 입찰 방식의 사용방법으로 사용자가 입찰 가격을 제시해놓으면, 아마존에서 남는 인스턴스들에 대해서 Spot 가격을 책정하는데, 이 가격이 입찰가격 내로 들어오면 인스턴스가 기동되는 방식 입찰 가격이 넘어가면 자동으로 Spot Instance는 다시 종료 됩니다. 항상 실행시키는 업무가 아닌 특정 작업 배치 돌릴 서버용도로 사용이 적합하다.
🤷🏻♀️ 효율적인 EC2 선택기준은 뭘까?
AWS에서 제공하는 EC2는 약 400여가지라고 한다. 그럼 효율적으로 선택하는 기준은 무엇일까? 내가 제작할 프로젝트를 잘고 적절한 인스턴스를 사용하는 것이 중요하다. 기본적으로 EC2의 온디맨드 비용은 사용하는 OS 유형에 따라 초당 시간당 과금된다. 예를 들어 24시간 연중무휴로 사용되지만 세건 정도의 요청만 들어오는 사내시스템일 경우 실제 사용하는 시간은 적지만 24시간의 비용을 지불해야한다. 이럴때는 서버리스 컴퓨팅을 사용하면 비용을 절약할 수 있다!
인스턴스 | 사용사례 |
범용 (EX. A1, T3, T3a, T2, M6g,M5) | - 트래픽이 적은 웹사이트 및 웹 애플리케이션 - 소규모 데이터베이스와 중규모 데이터베이스 |
컴퓨팅 최적화 (EX. C5, C5n, C4, C7g) | - 고성은 웹서버 - 동영상 인코딩 |
메모리 최적화 (EX. R5, R5n, X1e, X1, z1d) | - 고성능 데이터베이스 - 분산형 메모리 캐시 |
스토리지 최적화 (EX. I3, I3en, D2, H1) | - 데이터 웨어하우징 - 로그 또는 데이터 처리 애플리케이션 |
엑셀레이티드 컴퓨팅 (EX. P3, P2, Inf1, G4) | - 3D 시각화 - 기계학습 |
강연 3. 스토리지, 데이터베이스
🪣 AWS 스토리지
스토리지란 컴퓨터 데이터를 저장하는 저장소의 역할을 수행하는 부품이다. AWS S3는 클라우드상 확장이 가능하고 내구성이 뛰어난 객체 스토리지로 HTTP 프로토콜과 연동되는 스토리지 정적 사이트를 호스팅하는데 사용할 수도 있다. 이미지 파일이나 웹 사이트 정적 요소 관리등을 할 수 있으며, 파일 마다 버전관리가 가능하다.
- 콘텐츠 저장 및 배포
- 백업 및 아카이빙
- 빅 데이터 분석
- 재해 복구
- 정적 웹 사이트 호스팅
📂 AWS 데이터베이스
- DynamoDB: AWS의 NoSQL 데이터베이스 서비스
- RDS(Relational Database Service): RDBMS 클라우드 서비스 Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server등을 지원
- ElastiCache: Database Caching 서비스.Memcached, Redis 호환을 지원
Amazon RDS
RDS Amazon Relational DataBase Service의 약자로 Amazon RDS를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하면서, 비용 효율적이고 크기 조정 가능한 용량을 제공합니다. 사용자가 애플리케이션에 집중해 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원한다.
강연 4. 네트워킹, 보안
- CloudFront: AWS의 CDN 서비스, 리전에 상관없이 엣지 로케이션 기준으로 가장 가까운 곳에서 파일 캐시를 가져오기 때문에 속도도 빠르며 비용도 EC2 혹은 S3로 서비스를 제공하는것 보다 더 저렴하다.
- Route 53: AWS의 DNS 서비스, EC2 / ELB 같은 서비스와 결합하여 사용이 가능하며 Route 53으로 L4 혹은 GSLB(Global Server Load Balancing)를 구축 할 수 있다.
- VPC(Virtual Private Cloud): 클라우드 가상 네트워크 구축 서비스로서 내부망(VPN)을 구축하거나 서브넷을 나눠 네트워크를 용도별로 관리가 가능하도록 제공
Amazon Virtual Pricate Cloud(VPC)
VPC는 AWS Cloud의 개인 네트워크 공간이다. 리전 범위의 서비스이며, 선택한 리전의 가용역역에 걸쳐서 생성된다. VPC는 IP 주소의 범위 선택, 서브넷 생성, 라우팅 테이블 및 인터넷 게이트 웨이 구성등 가상네트워킹 환경을 사용자가 직접 제어할 수 있다.
- 서브넷 : 워크로드를 네트워크에서 격리하는기능제공 서브넷 안에 EC2 인스턴스를 배치할 수 있음
- 퍼블릿 서브넷 : 공용 인터넷에서 직접 엑세스 가능
- 프라이빗 서브넷 : 공용 인터넷에서 직접 엑세스 할 수 없음
- ELB : 로드 밸런서가 수신되는 애플리케이션 네트워크 트래픽을 분산시킴
출처 : AWS AWSOME DAY 온라인 컨퍼런스 발표자료, AWS
'회고록' 카테고리의 다른 글
[WIL]🙈PINTOS_KAIST : Project 3. VIRTUAL MEMORY (2) : Memory Management 🙉 (0) | 2022.12.01 |
---|---|
[WIL]🙈PINTOS_KAIST : Project 2. User Programs (1) Argument Passing (0) | 2022.11.22 |
[WIL]🙈PINTOS_KAIST : Project 1. THREADS (1) Alarm Clock 🙉 (0) | 2022.11.20 |
👩🏼💻TIL : 16. 🎄🎄RED-BLACK 트리를 구현하자🎄🎄 (0) | 2022.10.25 |
👩🏼💻TIL : 13. CODE Review (0) | 2022.10.20 |
댓글