2016. 11. 4. 11:22
Brain Trainning/Cloud
AWS (AWSome Day 2016)
Amazon Web Service
- DB 서비스 : MySQL, Oracle, SQL Server, PostgreSQL, Amazon Aurora, MariaDB, Multi-AZ Synchronous replication
- 도입 업체 : 삼성, 미래에셋, 주요 게임사 등등
Amazon RDS (Relational Database Service)
- Amazon RDS는 Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL 및 MariaDB 중에서 선택할 수 있도록 6개의 익숙한 데이터베이스 엔진을 제공합니다.
- Read replicas are available in Amazon RDS for MySQL, PostgreSQL, and Amazon Aurora
1교시 : AWS 소개 및 역사
- 아마존이 잘 만들어서 열심히 서비스 하고 있다.
- Management Console 제공하니까 잘 써라.
2교시 : AWS 스토리지 및 콘텐츠 전송
1. Simple Storage Service (S3)
- http://johnsmith.s3.amazonaws.com/photos/puppy.jpg
- 버킷에 저장할 수 있는 객체 수에는 제한이 없음. 객체 크기 최대 5TB.
- REST 및 SOAP 인터페이스 제공
2. Amazon Glacier
- 매우 저렴한 데이터 보관을 위한 Storage 서비스
3. Amazon Elastic Block Store (EBS)
- Block Level Storage (볼륨 서비스) 최대 16TB까지 생성
- EC2에 직접 연결하여 볼륨으로 사용.
- 필요한 경우 스냅샷을 Amazon S3에 저장 해줌.
- 수명주기 : 생성 -> EC2에 붙임 -> (백업)S3에 스냅샷 저장 -> 분리 -> 삭제
- GB당 3 IOPS 제공. (용량이 증가하면 IOPS도 증가)
- 프로비전된 IOPS (PIOPS) : DB등에서 고성능의 IOPS를 요구할때 선택
4. AWS Storage Gateway
- 아마존에서 다운 받은 하나의 VM(소프트웨어 패키지) 이미지를 iSCSI 연결을 통해 로컬 볼륨처럼 사용할 수 있고 여기에 저장되는 데이터는 아마존의 S3로 자동 저장되는 구조. 서버용 Dropbox 드라이브? (Bandwidth 에 영향을 좀 받을 수 있는)
5. AWS Import/Export
- Amazon S3 또는 Amazon EBS에서 대량 데이터 송수신 속도를 가속화.
- 택배(DHL, Fedex 등)로 디스크를 보내면 아마존에서 서버에 붙여서 대량의 데이터를 빠르게 전송할 수 있도록 하는 서비스 - 반대도 가능
- Export 는 S3에서만 가능
6. Amazon CloudFront (CDN 서비스)
- 최종 사용자에게 쉽고 비용 효율적으로 콘텐츠를 배포할 수 있는 방법
- 엣지 로케이션의 글로벌 네트워크를 통해 동적, 정적, 스트리밍 및 대화형 콘텐츠를 포함하는 전체 웹 사이트 전송
7. Amazon Elastic File System (NAS 서비스 - Beta임)
- 공유 Storage 서비스를 위해 S3 API 를 활용해야 하는 불편함을 EFS 를 통해 NAS 처럼 액세스
3교시 : AWS 컴퓨팅 제품
1. Amazon Elastic Compute Cloud (EC2)
- 컴퓨팅 요구 사항의 변화에 따라 컴퓨팅 파워를 조정
- Linux(배포판 선택 가능) 와 Windows 를 선택
- 사용방법 : AWS 리전(AZ) 선택 -> AMI(AWS Marketplace 에서 선택 가능)에서 EC2 인스턴스 선택 -> CPU, Memory, 네트워크 를 고려하여 인스턴스 유형 선택 -> IP주소, 보안 그룹 등 선택
- 백업을 위한 스냅샷 (API를 통해 S3의 어느 위치에 저장되었는지 확인가능)
- AWS 를 가입하면 기본적으로 무료로 사용할 수 있는 프리터어 제공
2. Auto Scaling
- Amazon EC2 용량을 자동으로 조정 (Scale Out 과 Scale In 자동)
- 사용자가 지정한 조건(정책)에 의해 자원 사용량에 따라 Instance를 늘림.
- ELB (Elastic Load Balancing) + CloudWatch (리소스 사용률 모니터링을 통해 사이즈 조절)를 통해서 Auto Scaling 을 제공
3. Amazon Virtual Private Cloud (VPC)
- 고객이 정의한 가상 네트워크에서 AWS리소스를 시작할 수 있도록 AWS 클라우드상에 프라이빗하고 격리된 공간을 프로비저닝
- 가상 네트워크 환경을 완벽하게 제어함.
- Amazon Elastic IP : 고정 IP 서비스
- Amazon VPC를 암호화된 VPN 연결을 통해 자체 IT 인프라에 연계가능.
4. AWS Direct Connect (전용선 서비스)
- 고객의 온프레미스 환경(자체 서버 운영 환경)과 AWS간의 전용 네트워크 연결 구축 (물리적인 구축)
- 1G, 10G만 가능하지만 파트너를 통해 조절 가능
5. Amazon Route 53 (DNS 서비스)
- 최종 사용자를 인터넷 애플리케이션으로 라우팅 (도메인 이름 등록 제공)
- 특정 지역에서 들어온 트래픽을 특정 엔드포인트로 전달해주는 기능도 제공
6. Elastic Load Balancing
- 여러 인스턴스에 걸쳐 트래픽 분산
- Amazon EC2 인스턴스에 대한 HTTP, HTTPS 및 TCP 트래픽의 라우팅과 밸런싱 지원
- 제약 조건 : L4 서비스만 할 수 있음. (Port 기반), L7 역할은 하지 않음. EC2 에 대해서만 가능.
4교시 : AWS 관리형 서비스 및 데이터베이스
1. Amazon Relational Database Service (RDS)
- MySQL, PostgreSQL, Oracle, SQL Sever, Amazon Aurora 지원
- 이중에서 Replication 은 MySQL, PostgreSQL, Aurora 가 제공
- 자동으로 데이터베이스 소프트웨어 패치 및 데이터베이스 백업 (Standby 부터 패치 진행함)
- 한번의 API 호출을 통해 관계형 데이터베이스 인스턴스와 관련된 컴퓨팅 리소스 또는 스토리지 용량을 확장)
- Amazon RDS의 기본 기능은 VPC 에서 실행되는지와 관계없이 동일. 백업, 소프트웨어 패치 자동 장애 탐지 및 복구를 관리 (Version 패치는 어떻게?)
2. Amazon DynamoDB (NoSQL)
- 용량의 제한이 없으며, SSD를 사용해 빠르고 예측 가능한 성능을 제공
- 테이블 별로 필요한 요청 용량을 쉽게 프로비저닝하고 변경 가능. (테이블을 생성하고 용량을 지정)
- Sharding 은 어떻게? (특정 요구 성능 및 크기에 따라 자동 파티셔닝하여 Sharding 을 함)
3. Amazon ElastiCache (인메모리 서비스)
- 필요한 용량의 EC2를 선택 -> Cache 엔진 선택 (Memcached, Redis) -> (A-S 구조로 구축 - 알아서)
- Memcached 호환 및 Redis 호환 온디맨드형 캐시 클러스터
- 용도 : DB티어 앞에서 캐시(읽기가 많으며 변화가 거의 없는 데이터), 타 AWS Service 와 함께 사용.
- 읽기 중심의 여러 애플리케이션 워크로드에서 지연 시간을 단축하고 처리량을 높여줌.
4. Amazon Redshift (DW 전용 서비스)
- 데이터 웨어하우스 클러스터를 설정하고, 운영하며, 확장하는 데 필요한 모든 작업을 관리하는 페타바이트 규모의 서비스
- 클러스터를 확장해 성능을 높일 수 있는 간단한 방법
- PostgreSQL 엔진을 활용하여 만든 DW 서비스
5교시 : AWS 배포 및 관리
1. AWS Identity and Access Management (IAM)
- AWS 사용자 및 그룹을 생성 및 관리
- 사내 디렉터리와 AWS 서비스 간 자격 증명 연동을 가능하게 함. (LDAP에서 사요한는 그룹과 사용자를 그대로 인증없이 AWS를 사용할 수 있도록 지원)
- AWS의 리소스에 대한 권한관리도 모두 가능
2. Amazon CloudWatch
- 리소스 사용률, 운영 성능 및 전체 수요 패턴에 대한 모니터링 (가상화 된 서비스에 대한 모니터링)
- AWS Management Console, API, SDK 또는 CLI를 통해 엑세스 가능
- 필요한 지표(아파치의 세션 정보, 특정 프로세스의 메모리, Access Log, Error Log 등)를 CloudWatch로 인터페이스하여 모니터링하고 이벤트 발생 가능.
3. AWS Elastic Beanstalk
- Web Application 의 배포 및 규모 조정에 특화된 서비스
- 서비스 플랫폼 선택(Java, Python, Docker, Ruby 등) -> 단일 or Auto Scaling 선택 -> 세부옵션 선택 -> 완료. -> Source Upload
- Docker 와 유사한 플랫폼?
4. AWS CloudFormation
- 템플릿 및 연관된 리소스 모음을 배포 및 업데이트하기 위한 매우 유연한 서비스. 리소스 모음을 ‘스택’ 이라고 하고 AWS Management Console, AWS CloudFormation 명령줄 도구 또는 API 사용
- Elastic Beanstalk 와는 다르게 세부 설정을 해야 하는 서비스 (JSON 형식의 텍스트 파일을 이용)
- AWS 서비스 대부분을 사용자가 Setting 파일을 통해 생성 배포 가능.
- CloudFormer를 통해 기존 서비스에서 Formation용 JSON을 뽑아낼 수 있음.
5. AWS OpsWorks
- Beanstalk 와 CloudFormation 의 중간즈음 되는 서비스. Chef의 관리형 서비스와 유사한. Ruby를 알아야 함.
- Chef 레시피 및 Bash 스크립트를 를 그대로 활용해 여러 EC2들의 설정을 변경할 수 있음.
- Python, Java 등으로 만든 서비스 구성 전체를 스택 이라 하고, 이를 다시 DB, WAS 등의 관련 리소스로 계층화 하고, 마지막으로 인스턴스 위에 앱을 서비스 할 수 있도록 함. (스택이란 함께 관리하고자 하는 컴퓨터 인프라와 애플리케이션을 나타냄)
기타
Amazon 소수 오프라인 교육 참가 : 확인 필요 (학습링크 : https://aws.qwiklab.com)
'Brain Trainning > Cloud' 카테고리의 다른 글
[Cloud] Amazon EBS Disk Performance 참고 자료 (0) | 2011.07.27 |
---|---|
[Cloud] 아마존 클라우드 25달러 ~ 쿠폰 도착 (0) | 2011.07.26 |
[Cloud] 아마존 클라우드 세미나 내용 (6) | 2011.06.27 |