https://inpa.tistory.com/category/Amazon%20Cloud/AWS
1. AWS IAM
IAM 이란?
IAM(AWS Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. IAM을 사용하여 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어합니다.
물리 데이터 센터를 생각해봅시다. 출입이 허가된 인원들은 출입 카드를 통해 출입하거나, 리스트에 방문 기록을 하고 허가를 받아야 합니다. IAM은 이러한 데이터 센터의 출입 권한을 부여하는 출입카드나, 방문 허가 같은 기능을 가지고 있는 AWS 서비스입니다. 보안 주체가 인증(Authentication)과 권한부여(Authorization)을 받아 리소스에 대한 요청을 승인하는 것이 IAM의 주요 작동 방식입니다. (자세한 사항은 참고자료에서 확인해주세요.)
2. AWS S3
Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스다. 일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야 하는데 S3는 이와 같은 것을 대행한다. 트래픽에 따른 시스템적인 문제는 걱정할 필요가 없어진다. 또 파일에 대한 접근 권한을 지정 할 수 있어서 서비스를 호스팅 용도로 사용하는 것을 방지 할 수 있다. 아래는 S3의 주요한 기능적인 특성들이다.
- 많은 사용자가 접속을 해도 이를 감당하기 위해서 시스템적인 작업을 하지 않아도 된다.
- 저장할 수 있는 파일 수의 제한이 없다.
- 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있다.
- 파일에 인증을 붙여서 무단으로 엑세스 하지 못하도록 할 수 있다.
- HTTP와 BitTorrent 프로토콜을 지원한다.
- REST, SOAP 인터페이스를 제공한다.
- 데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다.
- 버전관리 기능을 통해서 사용자에 의한 실수도 복원이 가능하다.
- 정보의 중요도에 따라서 보호 수준을 차등 할 수 있고, 이에 따라서 비용을 절감 할 수 있다. (RSS)
AWS S3(Simple Storage Service에서 사용되는 용어
- 객체 - object, AWS는 S3에 저장된 데이터 하나 하나를 객체라고 명명하는데, 하나 하나의 파일이라고 생각하면 된다.
- 버킷 - bucket, 객체가 파일이라면 버킷은 연관된 객체들을 그룹핑한 최상위 디렉토리라고 할 수 있다. 버킷 단위로 지역(region)을 지정 할 수 있고, 또 버킷에 포함된 모든 객체에 대해서 일괄적으로 인증과 접속 제한을 걸 수 있다.
- 버전관리 - S3에 저장된 객체들의 변화를 저장. 예를들어 A라는 객체를 사용자가 삭제하거나 변경해도 각각의 변화를 모두 기록하기 때문에 실수를 만회할 수 있다.
- RSS - Reduced Redundancy Storage의 약자로 일반 S3 객체에 비해서 데이터가 손실될 확률이 높은 형태의 저장 방식. 대신에 가력이 저렴하기 때문에 복원이 가능한 데이터, 이를테면 섬네일 이미지와 같은 것을 저장하는데 적합하다. 그럼에도 불구하고 물리적인 하드 디스크 대비 400배 가량 안전하다는 것이 아마존의 주장
- Glacier - 영어로는 빙하라는 뜻으로 매우 저렴한 가격으로 데이터를 저장 할 수 있는 아마존의 스토리지 서비스
3. AWS Cloudfront
- CDN(Contents Delivery Network) 역할을 해주는 것 - 엣지 로케이션(임시 데이터 저장소 센터) 배치
4. AWS Lambda
FaaS (function as a service)
람다에 함수 작성 -> 함수가 호출되었을 때 실행
장점
- 비용절감, 빠른 개발
단점
- 리소스 제한
- Stateless
- ColdStart
5. AWS API Gateway
- HTTP API : API 프록시 기능정도만 필요할 때 적합. 단순 / 저렴하고 빠르다.
- REST API : API 관리 기능, 요청/응답에 대한 제어가 필요할 경우 적합, 복잡 / 비싸고 느리다.
- WebSocket API : 웹소켓 용도. 실시간 애플리케이션에서 주로 사용한다.
6. AWS Route 53
클라우드 Domain Name System (DNS) 웹 서비스
Route 53 은 사용자의 요청을 Amazon EC2 인스턴스, Elastic Load Balancing 로드 밸런서, Amazon S3 버킷 등 AWS 에서 실행되는 인프라에 효과적으로 연결하고, AWS 외부의 인프라로 라우팅하는데도 Route 53 사용이 가능하다.
7. AWS DynamoDB
서버리스 기반 Key-Value NoSQL 데이터베이스
8. AWS SQS, SNS
- SQS: Simple Queue Service
- 가벼운 관리형 메시지 대기열
- pull(polling) 기반으로 메시지 처리 (즉, 메시지 가져오기 방식)
- SNS: Simple Notification Service
- push 기반으로 메시지를 실시간 전달
- 시간이 관건인 메시지 전달
9. AWS SES
Simple Email Service
사용자의 이메일 주소와 도메인을 사용해 SMTP방식과 API방식으로 이메일을 보내고 받기 위한 경제적이고 손쉬운 방법을 제공하는 아마존의 이메일 플랫폼입니다.
작동방식
- 이메일 발신자 쪽에서 Amazon SES에게 하나 이상의 수신자에게 이메일을 전송하는 요청을 보냄
- 요청이 유효하면 Amazon SES가 이메일을 수락
- Amazon SES는 인터넷을 통해 수신자의 수신 장치에 메시지를 보냅니다
- 이 시점에서 다양한 가능성이 존재합니다. 예:
- ISP가 성공적으로 메시지를 수신자의 수신함으로 전송합니다.
- 수신자의 이메일 주소가 존재하지 않습니다. 따라서 ISP가 Amazon SES로 반송 메일 알림을 전송합니다.
- 수신자가 메시지를 수신하지만 이를 스팸으로 여겨 ISP에게 수신 거부를 제기합니다.
이메일 형식
이메일 방식의 구성은 아래의 내용 처럼 헤더, 본문 및 엔벌로프로 구성됩니다.
- 헤더 - 라우팅 지침과 메시지에 대한 다양한 정보를 포함합니다. (발신자 주소, 수신자 주소, 제목, 날짜 등)
- 본문 - 메시지 텍스트 자체를 포함합니다.
- 엔벨로프 - SMTP 세션에서 이메일 클라이언트와 메일 서버 사이에 통신되는 실제 라우팅 정보를 포함합니다.
10. AWS Cognito
회원가입, 로그인 기능 제공
- 토큰 생성
AWS Cognito에는 사용자 풀과 자격 증명 풀 두 가지가 있습니다.
- 사용자 풀 - 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 모음
- 자격 증명 풀 - 다른 AWS 서비스에 대한 사용자 액세스 권한을 부여
'Cloud > AWS' 카테고리의 다른 글
AWS Amplify로 MAU 측정하기 (0) | 2023.07.06 |
---|---|
AWS API gateway 권한오류 (0) | 2023.03.13 |
Dynamo db 게시판 Schema 설계 (0) | 2023.03.12 |
AWS dynamodb Partition Key (1) | 2023.03.12 |
AWS Lambda layer 사용이유 (0) | 2023.03.12 |