Search
🎇

Serverless 를 이용한 Multi-tenancy 서비스 만들기

발표자: 이상희, AWS
발표 자료
2023-01-13_serverless_multi_tenancy.pdf
3779.8KB

Tenant분리는 왜 해야 하나요?

Tenant분리는 리소스에 대한 간섭 분리

Multi-tenancy의 두가지 종류

silo model: 모든 리소스를 분리한다. 분석이 쉽다.
pool model: 자원 리소스, 모두 같이 사용한다.
AWS Tagging을 통해서 각각 Tenant별 비용 파악 가능
대부분 Pool 모델을 사용한다.

Cognito

Users Pools
일반 인증
Identity Pools
사용자가 AWS 리소스를 사용 가능하게…
IAM을 로그인 사용자에게 연결한다로 이해
발급된 Credential의 TTL이 굉장히 짧다. → 보안때문에…
IAM 과 함께하는 Cognito
Cognito API 또는 Identity Pool API를 통해 조회
DynamoDB 예제

OPA(Open Policy Agent)

Cognito Identity Pool 대체
AWS자원이외 외부 자원 접근 가능
k8s에서 많이 사용함.
API Gateway를 호출할 때 OPA를 통하는데,,
Lambda Cold Start가 문제가 된다면
권한 질의를 묶어서 요청하거나…
아니면,, Lambda말고 Container로 처리…
권한 관리자를 현재 사용중이면 그대로 사용해도 되나…
OPA에 포함된 Rego 언어를 통해서 Policy 를 쉽게 공유 가능~

OPA의 AWS 버전… → Amazon Verified Permissions

권한 관리만 가능하고…
비용 확인을 하려면..
AWS Tagging 또는 X-Ray로 트래킹
트래킹을 위한 레이어를 별도로 구현해야한다.