1교시 : AWS 소개 - 이국희 팀장
- 클라우드는 전기나 수도에 비견될 수 있다.
- 그만큼 필요에 따라 각종 서비스를 손쉽게 이용할 수 있다는 의미
- 기존의 복잡한 단계를 거치는 서버 구비과정을 최소화 시킬 수 있다는 장점
- 수도꼭지만 틀면 원하는 서비스 제공을 받을 수 있다는 점
- 아마존의 서비스는 레고 블럭들의 접근방법과 유사
- 어린이들이 원하는 형태를 상상 하는대로 만들수 있다는 점
- 여러가지 서비스는 아래와 같이 비유됨
- CPU+RAM => Amazon EC2 (가상서버)
- HDD => Amazon EBS
- 웹하드 => Amazon S3
- 결론은 딸래미들의 상상력을 키우는데 효과적인 레고를 사주자!.. 얼마나 좋은지 비교할 수 있도록 미미의 집 같이 사줘야지
- 클라우드 환경은 모든 요소가 추상화
- 근본적인 특징. 사용자는 하이레벨 수준의 개념만 이해하고 사용이 가능.
- 로우레벨에 대한 내용은 아마존이 신경 써줌
- 즉 표준화
- 오늘 수업에서 학습한 내용
- 로드밸런싱 서비스 ELB(Elastic Load Balancing)
- 데이터베이스 RDS(Relational Database Service)
- AZ == 데이터센터
- 아마존은 한 지역내에 복수의 데이터센터를 운영
- 자연재해에 대한 대비책. 즉 고가용성을 보장하는 인프라
- 데이터간의 데이터 통신은 single ms를 보장하는 네트웍 인프라로 구성
- 보안
- 책임 분담 슬라이드 참고
- 2006년부터 시작한 서비스. 현재까지 수많은 고객의 사례를 통해서 입증된 보안성
- 모든 접속시도를 기록하는 Bastion Server
- AWS 다층(Multi-tier) 보안그룹 기능을 제공하고 있어 편리하게 방화벽 설정 가능
- IAM 사용자 계정
- 개별 IAM 계정을 생성해서 각 사용자별로 보안 자격 증명을 부여
- VPC 서브넷 통제
- 퍼블릭/프라이빗 서브넷, 인터넷 게이트웨이, NAT와 같은 제공 기능을 활용해 낮은 레벨의 네트워크 제약 적용
2교시 : AWS 스토리지 - 양승도 수석(솔루션 아키텍트)
- 빨간색 블럭은 스토리지 영역이라고 인식하면 됨
- Amazon S3
- 버킷 : account 당 100개의 버킷을 만들 수 있음
- 1byte ~ 5TB까지 가능; 버킷 용량은 무한대
- 한번에 5기가까지고 슬라이싱도 지원.. 멀티파트 업로드 지원
- 객체저장 버킷 : 메타 데이터로 구성
- 컨텐츠의 리밋이 없음
- 확장성이 뛰어난 구조
- ACL 제공하여 접속 제어 관리 가능
- 수명관리 기능을 통해 업로드 후 30일이 지난 파일을 삭제하도록 하는 것도 가능
- AWS로의 모든 업로드 전송량은 무료
- Amazon Glacier
- 아카이빙을 목적으로 하는 서비스
- 굉장히 저렴한 스토리지
- 즉 데이터 업로드 후 사용할 경우 요청 후 3~5시간 서비스 준비 시간
- 가끔 액세스 되는 데이터를 위해 최적화
- 1GB 당 월 $0.01
- Amazon EBS(Elastic Block Store)
- EC2와 함께 사용되는 스토리지 볼륨
- 구체적인 오퍼레이션은 슬라이드 참조
- 백업된 스냅샷은 Amazon S3로 보관
- 지속되어야 하는 스토리지를 위해 사용
- OS 부트 디바이스 / 루트 파일 시스템; 2차 볼륨 / 파일 시스템
- 데이터베이스 스토리지를 위한 기술적 토대
- IOPS EBS 볼륨은 표준 EBS 볼륨보다 고가
- EBS 모범 사례 슬라이드 참고
- AWS Storage Gateway
- NAS 역활을 해주는 서비스. 데이터 저장은 S3로
- Amazon Import/Export
- 대용량 데이터의 가져오기/내보내기
- 고객사 데이터를 스토리지 디바이스로 다이렉트 전송
- 단 시간내에 원하는 작업을 수행
- S3 데모
- Static Website Hosting 정적인 파일 서빙을 위해 ec2를 쓰지말고 S3로 서비스 하는것이 더 효율적
- 원하는 콘텐츠을 업로드하고 http/https로 access 가능한 점
- S3를 이용한 사이트는 simple monthly calculator가 S3를 사용해 서비스 제공
- 아마존 CTO가 운영중인 블로그 All Things Distributed 사이트도 마찬가지로 S3로 운영.. jekyll로 콘텐츠 관리하고 있다는 점도 눈에 띔
- 다운로드 받아가는 사람이 콘텐츠에 대한 비용을 지불할 수 있도록 기능 제공.. 단, AWS 사용자에 한해서
- Versioning 기능을 통해 svn, git과 같은 형상관리 가능 제공
3교시 : 컴퓨팅 서비스 & 네트워크
- EC2 : 용량 조절 가능한 가상 서버
- aws cli tool 제공
- gui operation에 대응되는 기능들을 모두 사용 가능
- Amazon Elastic MapReduce (EMR)
- 기존에 수동으로 만들던 EC2 구성하고 hadoop 소프트웨어 설치하고 하는 일련의 과정을 자동화 시켜둔 것
- 기존의 구성을 한꺼풀 더 씌워서 쓰기 편하게 하도록 하는게 주목적
- Amazon Auto Scaling
- 서버대수를 늘리는 작업 자체를 자동화하는 기능
- Amazon EC2 용량을 자동으로 스케일
- 사용량의 가변성이 있는 애플리케이션에 적합
- 추가 요금 없이 제공
- 서비스의 삼위 일체 슬라이드 참조
- ELB, CloudWatch, Auto Scaling
- Amazon Virtual Private Cloud(VPC)
- 외부에 공개시키지 않을 서버들에 대해서 적용하는 네트웍 설정
- private ip 대역은 자유롭게 설정 가능
- 아마존과 사내 서버와 연결하는 구성 가능. Amazon VPC 슬라이드 참고
- 사내망 확장을 Amazon VPC를 통해서도 가능
- AWS Direct Connect 서비스는 사내망 확장 과정에서 네트웍 연결속도 안정성 보장을 위해 적용 가능한 서비스
- Amazon Route 53
- 전세계 엣지로케이션에 퍼져있는 글로벌 네트워크를 이용해 글로벌 서버네트워크 활용 가능
- latency 기반으로 client 접속 region을 결정해주는 기능
- ELB
- 복수의 데이터 센터(AZ)에 걸쳐서 적용이 가능
- public elb, private elb 구성이 가능
- private elb 구성은 was 서버에 한해서 구성하는 형태로 많이 쓰인다고 함
4교시 : 관리형 서비스 & 데이터베이스
- 파란색 블럭은 NoSQL, 데이터베이스 관련된 서비스
- 학습 목표
- Dynamo DB 이해
- RDS 개념 설명, RDS 실행
- Amazon RDS(Relational Database Service)
- 시간 소모적인 데이터베이스 관리 업무 대행, Time to Market 가능..
- EC2에 직접 구성을 하는것도 가능하지만 모든 설정이나 백업등의 관리들도 직접 수행
- 친숙한 MySQL, Oracle과 SQL Server 데이터베이스의 전체 기능을 활용
- MySQL, PostgreSQL, ORACLE, SQL Server 4가지 서비스 제공
- Multi-AZ Deployment : 자동적으로 HA 구조를 설정해줌. 즉 Master Slave 구조로 서버 구성
- Security Group == 방화벽 정책
- Automatic Backup : 5분단위로 EBS 스냅샷을 찍어 S3에 보관
- rr == Read Replica 구성
- 최근에 mysql에 한해 Cross Region Read Replica 서비스 지원
- 이런 어려운 구성은 amazon 직원을 불러다 지원을 받는게 좋음
- Amazon Dynamo DB
- NoSQL DB 서비스
- SSD를 사용해 빠르고 예측 가능한 성능
- “Amazon RDS와 Amazon Dynamo DB” 슬라이드를 통해 둘간의 차이점에 직관적으로 확인 가능
- Read 4k, Write 1k
- 만약 서비스에서 데이터 사이즈가 기본 데이터량보다 많다면 설정을 통해 확장 필요
- Amazon ElasticCache
- Memcached, Redis(작년 하반기 출시) 호환 온디맨드형 캐시 클러스터
- Amazon Redshift
- 2013년 12월 출시된 서비스, 가장 빠르게 성장
- DW 전용 서비스, 기존 BI 툴과의 연계 가능
- 확장성은 1.6PB 가능
5교시 : 배포와 관리
- 초록색 블럭은 권한관리에 관한 모든 서비스 관리
- AWS IAM(Identity Access Management)
- 계정생성 시 기입한 email account는 master account 타입
- 평소에는 master account 사용은 거의 하지 않는 것을 권고
- 초기 사용자 생성작업만 수행하도록 권고
- master account를 공유하는건 보안상 비추
- AWS API 이용은 web ui(관리콘솔), rest, soap 3가지 방법으로 가능
- User Permission
- api by api 수준으로 policy 지정가능. 즉 특정 api에 대해 상세하게 제한하는 것이 가능
- AWS account 하부 사용자계정 로그인용 URL이 따로 제공한다는 점이 눈에 띔
- Amazon CloudWatch
- 리소스 사용률, 운영 성능과 전반적인 요청 패턴에 대한 가시성
- 인프라 차원에서 측정하는 지표를 토대로 서비스 제공
- 내부 애플리케이션 지표를 통해 서비스를 이용하려면 Custom 측정치를 CloudWatch에 등록
- aws cloudwatch put-metric-data
- 최대 2주간의 측정치를 보관, 커스터마이징 가능
- Amazon Elastic Beanstalk
- 개발자를 위한 편한 기능 제공, war 파일 업로드 만으로 클라우드에서 테스트 가능, java, c#, ruby
- Amazon CloudFormation
- 손으로 구성한 템플릿 덤프를 떠서 다른 Region에 이식 하는것이 가능. 즉 일본에 구성 해둔것을 미국에 그대로 적용하는 것이 가능, 구성을 찍어내는 용도
- 템플릿 구성은 json 파일로 export 받을 수 있고 svn, git으로 버전관리도 가능해 이력관리가 가능
- 사이트를 통해 다양한 Amazon CloudFormation 템플릿(드루팔과 같은 서비스 제공)