2022. 12. 14. 18:47ㆍstudy
S3
- aws의 구성 blocks
- 무한 스토리지
- backbone으로 이용. EBS snapshot이 저장되는 곳.
- 보관비용 절감도 가능.
- application&Media hosting 가능
- Data lake & 빅데이터 분석
- 객체저장.
Buckets : directory,
global unique name을 가져야한다.(모든 계정 내에 고유해야함)
region 단위에서 생성
명명시
- 대문자 밑줄 문자 사용 X
- 3~63자 사이여야함
- IP가 아니어야하고
- 반드시 소문자나 숫자로 시작해야함
Max Object 5TB
5GB이상 올릴 때는 분할해서 올려야한다.
prefix
S3 Security
User based
- IAM policies - 사용자에 IAM 정책을 연결해서 S3 버킷에 엑세스한다
Resource Based
- Bucket Policies - 버킷에 바로 연결되는 정책으로 다른 계정의 요청이나 공용 요청 등을 허용, 거절
- Object Access Control LIst(ACL) - 객체 수준에서 누가 무엇을 하는지 상세하게 정의
- Bucket Access Control List(ACK) -
Note
명시적 거부 없음
Encryption : 암호화를 사용해서 객체를 암호화
- 일반적인 웹 사용자가 S3 Bucket에 접근하기 위해서 S3 버킷 정책을 연결해서 공용액세스를 허용.
- IAM 사용자의 경우에는 IAM Policy(정책)에서 S3 버킷에 관한 액세스 권한을 줍니다.
- EC2 Instance 의 경우에는 EC2 Instance Role 생성해서 IAM permissions를 EC2 Instance Role에 연결
- IAM User Other AWS account 의 경우에는 S3 Bucket Policy를 생성해서 교차 계정 엑세스(S3 Bucket Policy Allows Cross-Account)를 허용
JSON 기반 정책과 IAM 정책과비슷.
JSON 기반정책
리소스 : 어떤 객체와 버킷에 엑세스 권한 줄 것인지 정의
Action : Set of API 를 허용할지 거부할지
Effect : Allow/Deny
Principal : The account or user to apply th policy to
User S3 Bucket 정책
S3 Websites
정적인 사이트 구축에 용의(www)
버킷을 공용으로 설정해 두지 않으면 403에러가 발생
(S3 에 바로 파일 집어넣는게 가능.)
Static website hosting 에서 설정(Edit에서 Enable 설정.)
S3 - Versioning
파일 버전 관리 활성화
파일 업데이트 할 때마다 새로운 버전을 얻음. 버전1,2,3
장점 : 의도치 않은 삭제 방지, 복원가능
버전 관리를 활성화 전에 버전관리하지 않은 모든 파일은 버전이 null -> 버전 관리를 중단하고 이전 버전을 사제하지 않으면 그대로 S3에 남아있음.
(delete marker 가 남아음.)
Access Logs
기록확인 할 목적. 분석 도구로 파악가능. 문제의 근본 확인, 사용량 확인. 자동으로 로그 기록 분석가능.
새로운 버킷 생성->이전 생성한 Bucket의 Properties에서 Server access logging에서 수정-> Enable, Target bucket을 설정.(로그 기록용 bucket의 이름 넣기)
S3 Replication(CRR(다른리전의복사)&SRR(같은리전의복사))
버전관리(versioning) 활성화해야함
- Cross Region Replication(CRR)
- Same Region Replication(SRR)
비동기 방식(복제는 이면에서 발생해서)
파일을 복제할 수 있는 권한을 받아와야함.
새 Bucket 생성->복제할 Bucket에 가서->Management의 Create Replication선택-> 복사 받을 버킷이름 설정.
S3 Storage Classes
Durability
- High durability, 1000만개의 객체 보관 가능
- 1만년에 한번 객체 소실
- 모든 스토리지 클래스는 내구성 같음
Availability : 얼마나 간단하게 만드는 것이 가능한가?(이용의 편리성)
- 클래스에 따라 다름.
- 서비스를 처리할 때 오류가 발생할 확률 1년에 53분 정도
종류
:
1. S3 Standard - General Purpose
99.99% 가용성
2. S3 Storage Classes - IA
- 빠른 엑세스.
- Standard 보다는 저렴하지만 검색비용 발생
- 재해 복구와 백업에 이상적
3. S3 One Zone-IA
: 내구성은 높고 단일 AZ(가용영역), 데이터 손실 위험있음.
4. S3 Glacier Storage Classes
: 아카이브와 백업에 적합한 저비용 객체 스토리지
5. S3 Glacier IR(Instant Retrieval)
: 분기에 한 번 데이터에 액세스 할 때 적합합니다. 90일 보관
6. S3 Glacier FR(formerly Amazon S3 Glacier)
: 유연한 무료 검색기능 제공, 1~5분의 빠른 검색, 3~5시간의 표준검색 5~12시간의 무료 대량검색
7. S3 Glacier Deep Archive - for long term storage
: 12시간 표준, 48시간 대량옵션, 검색 시간이 아주 많이 들지만 가장 저렴하게 이용가능.
8. S3 IT(Intelligent-Tiering)
: 사용패턴을 기반으로 액세스 계층이동. 매월 모티너링과 자동화 요금 발생, 검색요금 발생 x
S3 Object Lcok & Glacier Vault Lock
WORM (Write Once Read Many) Model
S3 Object Lock
한번 작성하면 특정 시간 동안 해당 객체의 버전을 삭제하여 차단함으로써 그 누구도 건들지 못하게 하는거
Glacier Vault Lcok
나중에 편집할 수 없도록함.
S3 Encryption
No Encryption :
Server-Side Encryption : 서버에서 파일에 잠금
Client-Side Encryption : user가 잠금(업로드전)
Shared Responsibility Model for S3
사진
Amazon S3 Standard-Infrequent Access로 자주 액세스하지 않는 데이터를 저장하고 필요할 때 신속하게 액세스할 수 있으며 내구성이 높으며 재해 발생 시 데이터 손실을 방지하기 위해 여러 가용 영역에 저장됩니다. 재해 복구, 백업 등을 위해 데이터를 저장하는 데 사용할 수 있습니다
\Amazon Glacier Deep Archive는 가장 비용 효율적인 옵션으로 검색시간 요구 사항이 없는 경우 데이터를 아카이브할때 사용됩니다. 12시간 또는 48시간 내에 데이터를 검색할 수 있습니다.
S3 Glacier Vault Lock을 사용하면 볼트 잠금 정책으로 개별 S3 Glacier Vault에 대한 규정 준수 제어를 쉽게 배포하고 시행할 수 있습니다. Vault Lock 정책에서 “write once read many” (WORM)와 같은 제어를 지정하고 향후 편집에서 정책을 잠글 수 있습니다. 일단 잠기면 정책을 더 이상 변경할 수 없습니다
AWS Storage Gateway는 한도없는 클라우드 스토리지에 대한 온-프레미스 액세스를 제공하는 하이브리드 클라우드 스토리지 서비스입니다.AWS 스토리지 게이트웨이는 거의 무제한의 클라우드 스토리지에 대한 온-프레미스 액세스를 제공하는 하이브리드 클라우드 스토리지 서비스입니다. 데이터베이스를 마이그레이트하기 위해 쓰이진 않습니다.
AWS Snow Family
네트워크를 통해 데이터 전송에 걸리는 시간을 단축.
대역폭
안정성
보완성이 높은 디바이스
물리적 경로 사용.
1. Data migration : 데이터를 마이그레이션 할 때
- Snowcone : 튼튼하고 가볍고 보완성이 높음. 8tb
- Snowball Edge : 대용량 42tb 80tb
- Snowball 엣지는 petabyte 규모의 데이터를 이동하는 데 가장 적합하며 컴퓨팅 기능을 제공합니다. Snowball 집합을 사용하여 10PB 미만의 데이터를 이동하는 것이 좋기 때문에 사용에 조심하세요. 이정도 분량 이상은 Snowmobile을 사용하는 것이 더 적합합니다.
- Snowball Edge 스토리지 최적화 장치는 대규모 데이터 마이그레이션 및 반복적인 전송 워크플로우는 물론 더 높은 용량이 필요한 로컬 컴퓨팅에도 적합합니다.
- Snowball Edge 컴퓨팅 최적화는 기계 학습, 풀 모션 비디오 분석, 분석 및 로컬 컴퓨팅 스택과 같은 고성능 워크로드를 위한 강력한 컴퓨팅 리소스를 제공합니다. 하지만 로컬 컴퓨팅 용량을 제공함에도 불구하고 AWS Snowball 엣지 컴퓨팅 최적화 디바이스는 데이터 전송에 가장 부적합하며 대신 위에서 언급한 고성능 워크로드에는 적합합니다.
- Snowmobile : 트럭. eb 가능. 10pb 이상이용 추천
2. Edge computing : 데이터 수집하거나 처리
: 데이터가 엣지 로케이션(인터넷이 없거나 클라우드로부터 먼 상태의 모든 로케이션, 움직이는 차량이나 배위 )에서 생성되는 동안 데이터 처리
엣지 로케이션에서 머신 러닝으로 데이터를 전처리하고 클라우드로 보내지 않은 채 사전에 미디어 스트림을 트랜스코딩하며 데이터를 다시 aws로 전송해야 할 시에는 Snowball Edge나 Snowcone으로 다시 aws로 보내느 방법
- Snowcone : 2CPUs, 4GB of Memory, Wired or wireless access, 보조배터리로 충전
- Snowball Edge : 고성능. 머신러닝 가능, 42tb, EC2 instance & AWS Lambda 가능
3. AWS OpsHub
사용자의 컴퓨터나 노트북에 설치하는 소프트웨어로 클라우드에서 쓰지 않고 컴퓨터에 직접 다운로드 하는 소프트웨어
단일 또는 클러스터로 묶임, 파일 전송, 실행중인 인스턴스 실행 및 관리.
(Snow Family 관리 툴)
migration(데이터나 소프트웨어를 한 시스템에서 다른 시스템으로 이동시키는 것.)
Hybrid Cloud for Storage
사용자의 온프레미스 환경과 AWS 간의 교두보를 제공
쓰는 경우 : 마이그레이션을 수행할 때에
1. 너무 긴 클라우드의 마이그레이션 시간
2. 보안요건
3. 클라이언스 요건
4. IT정책
S3을 이용할려고하면 AWS Storage Gateway를 써야한다.
AWS 내 사용자의 온프레미스 데이터와 클라우드 데이터를 연결해줌
버킷 정책은 Amazon S3 리소스에 권한을 부여하기 위한 JSON 문서입니다
수명 주기 규칙을 사용하여 S3 객체를 다른 스토리지 클래스로 전환해야 하는 시점 또는 일정 시간 후 객체를 삭제해야 하는 시점을 정의할 수 있습니다.
Databases Intro
Relation Database
-빠른 Provisioning
-Automated Backup & Restore
-Monitoring
NoSQL Databases
-Flexibility
-Scalability
-High-Performance
-Highly functional
-ex) JSON
AWS RDS Overview
RDS 다중 AZ 배포의 주요 목적은 고가용성이며 RDS 읽기 전용 복제본(replica)의 주요 목적은 스케일성입니다. 또한 다중 리전 배포의 주요 목적은 재해 복구 및 로컬 성능입니다.
Relation Database Service
SQL
- Postres
- MySQL
- MariaDB
- Oracle
- Microsoft SQL Server
- Aurora
- 자동 Provisioning
- 지속적인 백업, 특정 시간 복구
- 모니터링
- 복제본 읽기
- 다중 가용영역
- 유지보수 업그레이드(윈도우)
- 스케일링
- 스토리지
- ssh 불가
Amazon Relational Database Service(RDS)를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하면서 비용 효율적이고 크기 조정 가능한 용량을 제공합니다. 사용자가 애플리케이션에 집중하여 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원합니다.
Amazon RDS는 여러 데이터베이스 인스턴스 유형(메모리, 성능 또는 I/O 최적화)으로 제공되며 Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database 및 SQL Server를 비롯한 6개의 익숙한 데이터베이스 엔진 중에서 선택할 수 있습니다. AWS Database Migration Service를 사용하여 기존 데이터베이스를 Amazon RDS로 손쉽게 마이그레이션 또는 복제할 수 있습니다.
Amazon RDS를 사용하면 프로젝트 개념 정립부터 배포에 이르기까지 모든 작업을 쉽게 처리할 수 있습니다. Amazon RDS Management Console, Amazon RDS 명령줄 인터페이스 또는 간단한 API 호출을 통해 몇 분이면 프로덕션용 관계형 데이터베이스의 성능을 활용할 수 있습니다. 인프라를 프로비저닝하거나 데이터베이스 소프트웨어를 설치 및 유지 관리할 필요가 없습니다.
대부분의 경우 가동을 중단하지 않고 마우스 클릭 몇 번 또는 한 번의 API 호출만으로도 데이터베이스의 컴퓨팅 및 스토리지 리소스를 확장할 수 있습니다. 많은 Amazon RDS 엔진 유형에서 하나 이상의 읽기 전용 복제본을 시작하여 기본 데이터베이스 인스턴스로부터 읽기 트래픽을 오프로드하도록 지원합니다.
Amazon RDS는 다른 Amazon Web Services에서 사용하는 것과 동일한 안정성이 높은 인프라에서 실행됩니다. 다중 AZ DB 인스턴스를 프로비저닝하는 경우 Amazon RDS에서 다른 가용 영역(AZ)에 있는 예비 인스턴스에 데이터를 동기식으로 복제합니다. Amazon RDS에는 자동화된 백업, 데이터베이스 스냅샷, 자동 호스팅 교체를 비롯하여 중요한 프로덕션 데이터베이스의 안정성을 강화하는 여러 가지 기능이 있습니다.
Amazon RDS는 가장 까다로운 데이터베이스 애플리케이션을 지원합니다. 두 가지 SSD 지원 스토리지 옵션, 즉 고성능 OLTP 애플리케이션에 최적화된 옵션과 비용 효율적인 범용 사례를 위한 옵션 중에서 선택할 수 있습니다. 또한 Amazon Aurora는 1/10 비용으로 상용 데이터베이스와 같은 성능을 제공합니다.
Amazon RDS를 사용하면 데이터베이스에 대한 네트워크 액세스를 손쉽게 제어할 수 있습니다. 또한, Amazon Virtual Private Cloud(VPC)에서 데이터베이스 인스턴스를 실행할 수 있으므로 데이터베이스 인스턴스를 격리하고 업계 표준 암호화 IPsec VPN을 통해 기존 IT 인프라에 연결할 수 있습니다. 많은 Amazon RDS 엔진 유형에서 저장 시 암호화 및 전송 시 암호화를 지원합니다.
Amazon Aurora
Amazon Aurora는 클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스로, 기존 엔터프라이즈 데이터베이스의 성능 및 가용성과 오픈 소스 데이터베이스의 단순성 및 비용 효율성을 결합합니다. AWS의 독점 기술입니다
- PostgreSQL & MySQL지원
- 클라우드에 적합하여 3~5배 향상된 성능.
- 스토리지는 자동으로 10g~64tb까지 증가
Amazon Aurora는 고급 상용 데이터베이스의 속도 및 안정성과 오픈 소스 데이터베이스의 단순성과 비용 효율성을 결합한 관계형 데이터베이스 엔진입니다. SQL 기능이 있지만 반드시 서버리스일 필요는 없습니다.
생성방법(중요 시험에 나옴.)
Amazon ElasticCache Overview
일래스티 캐시를 사용하여 관리형 Redis or Memcahed DB를 이용
in-memory db(높은 성능과 짧은 지연시간 )
워크로드를 줄임(RDS DB는 동일한 쿼리 반복 실행시 과부하가 있음)
보통은 elb에서 ec2로 그리고 RDS에서 값을 받아와서 속도가 느리지만 일부를 ElastiCache in-memory database를 이용해서 RDS DB의 부하를 낮추고 처리속도를 높이기 위해 캐시 이용하는 목적.
Amazon ElastiCache는 클라우드에서 Memcached 또는 Redis 프로토콜 호환 서버 노드를 쉽게 배포하고 실행할 수 있는 웹 서비스입니다. ElastiCache 캐시는 고성능, 짧은 지연 시간을 제공하는 인메모리 데이터베이스입니다. 읽기 집약적인 워크로드에 대한 데이터베이스 부하를 줄이는 데 도움이 됩니다.
Amazon ElastiCache는 클라우드에서 인메모리 캐시를 쉽게 배포, 운영 및 확장할 수 있는 웹 서비스입니다. 인메모리 캐시 서비스임에도 불구하고 DynamoDB 전용은 아니며 예를 들어 다른 데이터베이스에서도 사용할 수 있습니다.
DynamoDB
세 개의 가용 영역에 걸쳐 복제본을 두고 운영됨.
NoSQL DB
막대한 작업량 소화가능. 서버리스 DB
초당 수백만 건의 요청.
빠르고 지속성이 있음.
비용이 적고 asg가 있음.
DynamoDB는 규모에 상관없이 빠르고 유연한 비관계형 데이터베이스 서비스입니다. 다운타임 없이 확장할 수 있고 초당 수백만 개의 요청을 처리할 수 있으며 빠르고 일관된 성능을 제공합니다.
다운타임 없이 확장할 수 있고 초당 수백만 건의 요청을 처리할 수 있는 NoSQL 데이터베이스를 설정하려고 합니다.
DAX(DynamoDB Accelerator)
Fully Managed in-memory cache(완전 관리형 인 메모리 캐시)
가장 최근에 읽힌 데이터를 불러올 때 DAX를 캐시로 이용(DynamoDB 전용)
테이블에 접속할 때 빠르고 확장성 보안성 가용성인 높음.
DynamoDB - Global Tables
: 여러 리전에서 가능함.
어느 한 리즌에서 Read/Write가 이루어져도 다른리전에 있는 DynamoDB에서도 똑같은 작업이 이루어지고 다른 리전에서 접속할 경우 가장 짧은 지연시간을 갖는 리전에서 엑세스 가능.
Redshift Overview
PostgreSQL을 기반으로 함. but OLTP(Online Transaction Processing)는 안씀
분석과 데이터 웨어하우징에 활용.
열 형식 데이터 스토리지(Columnar storage of data)
대규모 병렬 쿼리 실행, 프로비저닝(provisioned)한 인스턴스에 비용 청구
BI tools
Amazon EMR(Elastic MapReduce)
Hadoop clusters(빅 데이터)를 생성하고 처리.
EMR : 모든 EC2의 인스턴스의 프로비저닝과 구성담당, 빅데이터 관점에서 분석, 오토스케일링 가능, 머신 러닝 등에 사용.
Amazon EMR은 기업, 연구원, 데이터 분석가 및 개발자가 방대한 양의 데이터를 쉽고 비용 효율적으로 처리할 수 있도록 하는 웹 서비스입니다. EMR은 방대한 양의 데이터를 분석하고 처리하기 위해 Hadoop 클러스터(빅 데이터) 생성을 지원합니다
Amazon Athena
서버리스 쿼리 서비스
Amazon Athena는 표준 SQL을 사용하여 Amazon S3의 데이터를 쉽게 분석할 수 있는 대화형 쿼리 서비스입니다. Athena는 서버리스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.
객체 분석함. 쿼리 언어를 통해 해당 파일을 생성하면 따로 로드할 필요없고 S3에 저장된거를 분석.
CSV, JSON, ORC, Avro, Parquet 등 지원하는 파일은 다양
Presto 엔진 사용.
A,azpm QuickSight에서 이용하기도 함.
데이터 스캔을 줄이므로 비용절감
비즈니스 인텔리전스나 분석, 보고 vpc흐름 로그 등 aws 로그 분석에 이용하면 좋음.
S3 분석
Amazon QuicSight
서버리스 머신 러닝 비지니스 인텔리전스 서비스로 대화형 대쉬보드 제공.
비지니스 분석 시각화
S3, RedShift등에 사용.
DocumentDB
MongoDB에 사용. NoSQL 저장 쿼리 제이슨 데이터 쿼리에 사용.
초당 수백번의 워크로드를 사용할 수 있도록 확장가능.
Amazon DocumentDB(MongoDB와 호환)는 MongoDB 워크로드를 지원하는 빠르고 확장 가능하며 가용성이 높은 완전 관리형 문서 데이터베이스 서비스입니다.
Amazon Neptune
완전 관리형 그래프 db. 소셜네트워크에 이용.
3AZ 15 read replicas
소셜네트워크와 같이 고도로 연결된 데이터셋을 다루는 어플리케이션을 구축 및 실행할 때 사용.
복잡하고 어려운 쿼리를 실행하는 대에 최적화, 수십억개 관를 저장가능
Amazon Neptune은 고도로 연결된 데이터 세트와 함께 작동하는 애플리케이션을 쉽게 구축하고 실행할 수 있는 빠르고 안정적인 완전 관리형 그래프 데이터베이스 서비스입니다. 지식 그래프, 사기 탐지, 추천 엔진, 소셜 네트워킹 등에 사용할 수 있습니다.
ex) 위키피디아
Amazon QLDB
(Quantum Ledger DB) 금융거래(recording financial transactions)를 기록하는 장부의 역할. 3AZ . 변경내역을 확인, db에 작성후 수정 삭제 불가능
암호 서명(삭제된 내용없음.) 확인가능. 금융 규정과 흡사. 중앙집중형 요소가 있음.
Amazon QLDB는 중앙의 신뢰할 수 있는 기관이 소유한 투명하고 변경 불가능하며 암호화로 검증 가능한 트랜잭션 로그를 제공하는 완전 관리형 원장 데이터베이스입니다. Amazon QLDB는 각각의 모든 애플리케이션 데이터 변경 사항을 Detective하고 시간이 지남에 따라 완전하고 검증 가능한 변경 기록을 유지합니다.
Amazon Managed BlockChain
탈중앙화 요소가 있음. 신뢰할 수 있는 중앙기관이 없어도 어플리케이션을 구축 가능. 공용 블렉체인에 가입.
HYPERLEDGER FABRIC, ethereum이 호환 가능.
관리형 블록체인(Amazon Managed Blockchain)은 널리 사용되는 오픈 소스 프레임워크인 Hyperledger Fabric 및 Ethereum을 사용하여 스케일링 가능한 블록체인 네트워크를 쉽게 생성하고 관리할 수 있는 완전 관리형 서비스입니다. 여러 당사자가 중앙통제기관 없이 transaction(트랜잭션)을 실행할 수 있습니다.
DMS (Database Migration Service)
데이터 베이스 간 데이텅의 마이그레이션 서비스
신속하고 빠르게 마이그레이션하여 복원과 자가 복구를 수행가능.
oracle도 가능.
AWS Glue
Glue 는 관리형 추출, 변환 및 로드 서비스. ETL서비스(데이터셋에 대한 분석을 수행할 때에 올바르지 않거나 원하는 형식이 이 아닐 때에 유용하게 쓰입니다. 즉 데이터를 준비하고 변환할 수 있는 서비스).
AWS Glue는 고객이 분석을 위해 데이터를 쉽게 준비하고 로드할 수 있는 완전 관리형 Extract, Transform, Load, ETL(추출, 변환 및 로드) 서비스입니다.
서버리스 서비스를 사용하여 분석을 위해 로드할 수 있도록 데이터를 준비하려고 합니다.
기존에는 서버를 사용하여 작업수행을 하지만 서버리스 서비스인 Glue를 써서 데이터 변환에만 신경쓰고 나머지는 Glue에게 맡김.
즉즉 db에서 데이터 추출하고 변환하고 다른 곳에 로드. 지휘.
Glue Data Catalog : catalog of datasets
AWS 인프라 내 데이터 셋의 카탈로그 제공. 모든 항목에 대한 참조가 있음. 서버에서 데이터셋 검색. 적합한 스키마 구축할 때 쓰임.
AWS Glue 데이터 카탈로그는 모든 데이터 자산에 대한 구조 및 운영 메타데이터를 저장하는 중앙 리포지토리입니다. 주어진 데이터 세트에 대해 테이블 정의, 물리적 위치를 저장하고 비즈니스 관련 속성을 추가하고 이 데이터가 시간 경과에 따라 어떻게 변경되었는지 Detective할 수 있습니다.
작동원리
Docker
컨테이너에 앱을 패키징함. 모든 운영체제에서 쉽게 실행할 수 잇음.호환성 문제가 사라짐. 작업량 사라짐.
도커 리포지토리에 이미지 구함.
하나의 서버에 여러 리포지토리 가능.
AWS에서 도커 이용하는 방법
ECS (Elastic Container Service) :
- 도커 컨테이너( Docker Container )를 사용하기 위함.
- 사전에 우리는 프로비저닝과 인프라를 자체적으로 유지해야함
- 인스턴스를 사전에 만들어야함.
- ALB 와의 통합을 책임짐.
- 사전에 ecs서비스에 의해서 다른 컨테이너에서 실행
: 새로운 Docker Container를 가질 때마다 어떤 EC2인스턴스를 도커 컨테이너에 위치할지 알고 잇음.
Fargate
AWS에서 도커 컨테이너를 실행할 때 사용.
인프라를 프로비저닝 할 필요가없음.
EC2 인스턴스 만들거나 관리할 필요 없음.
서버리스 서비스.
Fargate를 사용하면 AWS에서 Docker 컨테이너를 시작할 수 있으며 인프라를 프로비저닝 및 유지 관리할 필요가 없습니다(=관리할 EC2 인스턴스 없음). 서버리스입니다
**provisioning(프로비저닝) : IT인프라르 설정하는 프로세스, 사용자와 시스템에서 사용할 수 있도록, 데이터와 리소스에 대한 액세스를 관리하는 데 필요한 단계를 지칭.
- 서버 프로비저닝 : 리소를 기반으로 네트워크에서 사용될 서버를 설정, 데이터센터에 물리적 하드웨어 설치, 소프트웨어 설치 및 설정, 운영 체제 및 애플리케이션 및 미들웨어, 소토리지 연결
- 사용자 프로비저닝 : 액세스 권한과 인증 권한을 모니터링 하는 Identity관리 유형.
- 네트워크 프로비저닝 : 사용자 서버 컨테이너 가 액세스 할 네트워크를 설정하는 작업으로 구성. 통신 서비스 제공
- 서비스 프로비저닝 : 서비스 설정과 이와 관련된 데이터 관리를 포함하는 프로비저닝. 클라우드 인파를 설정하는 데 사용.
ECR (Elastic Container Registry)
AWS의 사설 도커 레지스트리.
도커이미지를 저장해서 Fargate에서 컨테이너를 만듬.
Elastic Container Registry, ECR(Elastic 컨테이너 레지스트리)는 ECS 또는 Fargate에서 실행할 수 있도록 Docker 이미지를 저장하는 서비스입니다.
ECS를 사용하면 AWS에서 Docker 컨테이너를 시작할 수 있지만 인프라(예: EC2 인스턴스)를 프로비저닝하고 유지 관리해야 합니다.
Serverless
개발자가 서버 관리할 필요없이 코드 또는 함수를 배포하는 일.
Lambda
서버가 필요하지않고 가상 함수를 가지게 됩니다. 시간에 제한을 받음. 짧은 유형의 실행. Run on-demand
이득 : 가격정책이 쉬움. 쓴만큼 지불함.
반응형 서비스. 모니터링이 쉬움.
함수당 리소스를 가져오기 쉬옴.
많은 언어 제공.
• 간편한 가격:
- 요청당 지불 및 계산 시간
- 1,000,000개의 AWS 람다 요청과 400,000GB의 컴퓨팅 시간이 포함된 무료 계층
• 전체 AWS 서비스 제품군과 통합
• Event-Driven: 필요할 때 AWS가 함수를 호출합니다
• 많은 프로그래밍 언어와 통합됨
• AWS CloudWatch를 통한 간편한 모니터링
• 기능당 더 많은 리소스를 쉽게 확보할 수 있습니다(최대 10GB의 RAM!)
• RAM을 늘리면 CPU와 네트워크도 향상됩니다!
Lambda Container Image : 실제 도커 컨테이너를 Lambda에서 실행하게 해주지만 컨테이너 이미지를 반드시 Lambda Runtime API에 구현되어야 합니다.
람다 컨테이너 이미지
• 컨테이너 이미지는 람다 런타임 API를 구현해야 합니다
• 임의 도커 이미지를 실행하는 데는 ECS/Fargate가 선호됩니다
계산방법
:by the time run x by the RAM provisioned
by the number of invocations(호출된 횟수)
호출시간 제한은 15분(Invocation time : up to 15m, 메소드를 호출하는데 걸리는 시간.)
Amazon API Gateway
Example : building a serverless API
외부 클라이언트가 Lambda에 접근하기 위해서 API Gateway를 걸쳐야함.
Serverless and scalaable
Supports RESTful APIs and WebSocket APIs
보안 사용자인증 모니터링 api key
Amazon API Gateway는 개발자가 규모에 상관없이 API를 쉽게 생성, 게시, 유지 관리, 모니터링 및 보호할 수 있는 완전 관리형 서버리스 서비스입니다.
Amazon Batch(일괄처리)
Fully managed batch processing at any scale
어떤 규모에서도 배치처리가 가능.
batch는 처음과 끝이 있음. 특정 시점에 실행함.<-> to continuous
동적으로 EC2 인스턴스나 스팟 인스턴스를 실행시킴.
알맞은 개수로 스케일링하고 작업실행 -> 비용최적화
AWS Batch를 사용하면 개발자, 과학자 및 엔지니어가 AWS에서 수십만 개의 배치 컴퓨팅 작업을 쉽고 효율적으로 실행할 수 있습니다. AWS Batch는 제출된 배치 작업의 볼륨 및 특정 리소스 요구 사항을 기반으로 최적의 수량 및 유형의 컴퓨팅 리소스(예: CPU 또는 메모리 최적화 인스턴스)를 동적으로 프로비저닝합니다.
Amazon Lightsail(일괄처리)
독립 실행형 서비스
가상서버, 스토리지, DB, 네트워크를 한곳에서 구축가능. 가격저렴 예측가능.
'study' 카테고리의 다른 글
AWS整理 5 - Cloud、Security (0) | 2023.02.08 |
---|---|
AWS整理4 INFRA (0) | 2023.01.17 |
aws 整理2 (0) | 2022.11.30 |
Ruby on Rails 環境設定 (0) | 2022.11.30 |
aws整理2ec2, iam, elb, asg (한국어) (0) | 2022.11.30 |