포도가게의 개발일지

AWS-SAA C-02 [벼락정리 및 합격] 본문

AWS

AWS-SAA C-02 [벼락정리 및 합격]

grape.store 2022. 3. 26. 13:55
반응형

IAM

  • IAM을 사용하면 직원이 많은 조직에 단일 계정으로 여러 사용자 생성및 관리가 가능
  • 사용자가 버킷이나 객체에 액세스 할 수 있는 권한을 중앙 집중식으로 관리 가능
  • IAM정책은 계정 내의 사용자에게만 S3 액세스 권한을 부여 가능
  • 권한 경계를 사용하여 직원이 만들고 관리하는 IAM 보안 주체에 부여할 수 있는 권한을 제어할수있습니다.
  • IAM role은 제 3자 외부 계정이 장기적인 자격증명 사용자의 액세스키 공유 없이 AWS 리소스에 액세스 할 수 있도록 하는 메카니즘을 제공합니다.(계정간 공유할 IAM role가능)
  • 제 3자 third party에게 정보를 제공해주기위해 해당 서비스에 접근권한을 줄 때 cross-account role을 부여해줌으로써 외부 aws계정에서 서비스에 접근을 하게 할 수 있다. IAM role은 3자에게 나의 aws resourece에 접근할수있는 임시적인 권한을 부여할수있다. 절대 장기자격증명(iam user's access key 등)을 주지 마라.

ECS

  • ECS는 완전 관리형 컨테이너 서비스입니다. ecs를 사용하여 aws에서 docker 컨테이너 애플리케이션을 쉽게 실행 보호할수 있다.
  • fargate 시작 유형을 통해 애플리케이션이 요청하는 vCPU 및 메모리 리소스의 사용하는 양에 대해 비용을 지불합니다.
  • fargate는 기본적으로 AZ영역으로 퍼져있습니다. 또한, ec2 인프라 관리의 복잡성을 해소하면서 가용성 영역 확산을 보장해준다.
  • 컨테이너 관리 서비스로서 확장성과 속도가 뛰어납니다.

VPn

  • vpn 연결이 여러개인경우 vpn cloudhub를 이용하여 사이트간 보안 통신을 제공할 수 있습니다.
  • aws site-to-site vpn을 이용하면 온프레미스 네트워크와 aws vpc에 안전하게 연결할수있습니다.
  • Transit gateway를 사용하면 여러 VPC간의 연결을 간소화 할 수 있습니다. 만일 transit gateway teunnel늘리면 속도도 증가됨 단일 VPN으로 transit gateway에 여결된 모든 vpc에 연결가능

S3

  • S3는 직접 SNS를 사용하지 못하고, S3 이벤트 알림을 사용하여 SNS에 이벤트를 보낼 수 있습니다.
  • S3는 키네시스에 직접 데이터를 보낼 수 없습니다.
  • case 객체가 실수로 사라지지 않도록, 버킷에 버전 관리 활성화, 삭제 MFA적용이 있다.
  • case 교차계정에서 S3 access 요청이 증가하는 상황 : S3 버키 정책 사용
  • S3 정책을 사용자, 그룹, 버킷 하나하나에 붙일 수 있으며, 다른 aws 계정 사용자에게 액세스 권한을 부여할 수 있습니다.
  • S3 정책을 사용하여 특정 조건에 액세스 허용이나 제한을 걸 수 있습니다. , 인터넷 액세스를 막기위해 end point사용 및 bucket 정책을 통해 access 접근을 막는다.
  • S3는 Security group(수신 발신 트래픽 제어) 지원 안됨
  • case 민감한 데이터 식별 및 모니터링 : Amazon guardDuty는 AWS계정, 워크로드, S3에 저장된 데이터를 지속적으로 모니터링하고 보호할 수 있는 위협감지 기능을 제공합니다. Macie는 중요 데이터 검색 보호 개인정보 보호 서비스, 점점증가하는 민감한 데이터 유형목록을 자동으로 감지.
  • case 처음 며칠동안은 액세스가 많지만 일정 시간이 지난 후 액세스 빈도가 급격하게 떨어질 때 비용 절감: S3 One Zone-IA는 접근빈도는 낮지만 필요할 때 빠른 접근이 필요한 데이터를 위한 정책, 기존보다 저렴하게 쓸수있음, 30일 접근없어야됨
  • S3 sync command 동기화 명령은 CopyObject api를 사용하여 s3 버킷간에 객체를 복사합니다.(버킷간의 복사는 이거)
  • s3 콘솔로는 1PB데이터를 전송못함 때문에 CLI 사용
  • S3와 EC2가 동일한 지역일 경우 데이터 전송 비용은 무료입니다.
  • 새 개체를 쓰거나 덮어쓴후 후속으로 오는 읽기 요청은 항상 최선버전의개체를 받습니다.
  • S3 upload 속도 향상, 멀티파트 업로드, transfer acceleration을 사용하여 더 빠르게 업로드 가능 S3upload 속도 제일빠름)
  • S3 replication은 S3 버킷간에 많은 수의 기존 개체를 복제하는 가장 간단한 방법 Cross region replication을 트리커
  • cloudFront 배포하는데 s3 버킷 제한하는 방법 -> OAI 생성해서 버킷은 액세스를 cloudFront로만 제한 가능
  • S3 select, s3 glacier select를 이용하여 고객이 s3에 저장된 데이터에서 구조화된 쿼리를 직접 실행할 수 있습니다.
  • S3 intelligent-tiering storage. : 객체 access 접근량에 따라 tier가 변동됨 사용되는 객체는 standard존재 스토리지 비용 자동 최적화, 30일 동안 객체에 액세스하지 않으면 자동으로 Infrequent Access 분류
  • S3는 정적 static 자원을 hosting할수있지만 server-side scripting은 불가능해
  • S3 Glacier은 가장 싸고, 만일 250mb까지는 신속 검색을통해 1~5분이내에 데이터를 찾을 수 있습니다. 즉시 접근은 standart-IA로 저장
    https://aws.amazon.com/ko/cloud-data-migration/

Data Sync

  • local storage와 aws 간에 지속적인 데이터 전송(복제 작업을 매일 매주 예약), 인터넷 접속의 짧은 격차가  필요할 땐 DataSync를 이용
  • no database, file system데이터 이동 시나리오에 사용, 규칙적인 반복 매일, 매초, 매시간에 적합
  • File system에 적합, 데이터 동기화 및 안전한 직접 연결

Glacier

    • Glacier Deep Archive : 많은 AWS 고객이 다량(페타바이트 이상)의 중요한 데이터를 수집하고 저장하지만, 이후로 접근하지 않는 경우가 많습니다. 추가 처리 또는 분석이 필요할 때를 대비해 수년 또는 수십 년 동안 저장하기도 합니다. 아카이브 및 복원을 관리하는 시스템을 구축하는 중이라면 복원이 시작되거나 완료될 때 SNS 주제, SQS 대기열 또는 Lambda 함수에 대한 알림을 수신하도록 선택할 수 있습니다., 중요하지만 자주 액세스 되지않은 데이터에 적합 제일쌈

FSx

  • 윈도우즈 서버에 구축된 완벽한 관리 스토리지를 제공하여 최종 사용자 파일 복원, 사용자 할당량, ACL을 포함한 다양한 관리 기능을 제공합니다.
  • Fsx 파일 저장소 SMB파일 공유 서비스는 windows, linux 및 mac에서 액세스 할 수 있습니다.
  • file gateway를 사용한다.
  • HPC + Linux나오면 FSx

Storage Gateway

  • Stroage Gateway는 하이브리드 클라우드 스토리지 서비스로, 온프레미스에서 사실상 무제한 클라우드 스토리지에 액세스 할 수 있습니다. 고객은 스토리지 게이트웨이를 사용하여 스토리지 관리를 단순화하고, 백업파일을 클라우드로 이동하고, 클라우드 스토리지가 지원하는 온프레미스 파일 공유를 사용하며, 온프레미스 애플리케이션을 위해 aws의 데이터에 대한 낮은 대기시간 액세스를 제공해줍니다.
  • file gateway를 사용하면 애플리케이션 데이터 파일과 백업 이미지를 s3 클라우드 스토리에서 내구성이 뛰어난 객체로 저장할 수 있다. 로컬 캐싱을 통해 s3의 데이터에 대한 smb 또는 nfs기반 액세스를 제공합니다.
  • 사내 애플리케이션에 클라우드 지원 iSCSI 블록 스토리지 볼륨을 제공합니다. s3에 저장 및 관리하고 캐시 모드 또는 저장모드로 작동됩니다. 볼륨 gateway 모드에서는 기본 데이터가 s3에 저장되고 자주 액세스 하는 데이터는 짧은 지연시간을 위해 로컬 캐시에 유지됩니다.

Database migration service

  • 이 서비스는 데이터베이스를 aws로 빠르고 안전하게 마이그레이션 할 수 있습니다. 출발 데이터베이스는 마이그레이션 중에 완전히 작동상태를 유지하여 해당 db와 연결된 애플리케이션의 가동 중지 시간을 최소화 합니다.
  • Aws database migration service를 이용하여 data들을 원할하게 마이그레이션 할 수 있습니다
  • case : S3 bucket에 가능한 한 최소한의 사간에 옮기려할 때 사용됨
  • DMS는 database 마이그레이션 전용,  datasync는 규칙적인 filesystem migration

 

 

Snowball Edge 

  • DMS서비스도 있지만 페타바이트 테라바이트에는 이게 더 적합한가보다
  • Snowball initial transfer로 한번만 데이터 이동 가능
  • Snowball 기능은 Data center에서 AWS로 데이터를 옮겨주는 서비스이다.
  • snowball 서비스는 주로 s3에 데이터를 옮길때 사용된다. dms와 같이 마이그레이션이지만 목적지가 다름

ElasticCache

  • 캐싱, 채팅, 지리공간, 기계학습, 트랜적션 및 분석처리 사용사례에 탁월
  • IAM 인증은 지원하지 않음
  • 레디스 인증 토큰을 사용하면 redis에서 클라이언트 명령을 실행 허용전에 토큰요구로 보안이 향상됩니다.

Amazon Neptune

  • 쇼셜네트워크 db에 최적화

GuardDuty

  • guardduty는 위협 감지 서비스로 aws계정, 워크로드, s3에 저장된 데이터를 보호하기 위해 모니터링한다.
  • guardduty는 cloudTrail이벤트, vpc 플로우 로그, dns 로그와 같은 여러 데이터 이벤트를 분석합니다.

cloudTrail

  • 클라우드 트레일은 aws 인프라 전반에서 작업과 관련된 계정 활동을 기록하고 모니터링 할 수 있습니다.
  • 일반적으로 api 호출을 분석하기 위해 사용됩니다.

VPN

  • Vitual private gateway는 vpn연결의 aws vpc 엔드포인트입니다.
  • vpn연결 : 온프레미스 장비와 vpc간의 보안 연결입니다.
  • vpn터널 : 고객 네트워크에서 aws로 데이터를 전달할수있는 암호화된 링크입니다.
  • 고객게이트웨이 : 고객 게이트웨이 디바이스에 대한 정보를 aws에 제공하는 서비스입니다.

Aurora

  • case auora를 좀 더 탄력적인 scaling을 할 수 있도록 : Replica사용 및 로드 밸런서 앞에 CloudFront 배포사용
  • replica(15개까지 가능)는 읽기 작업을 스케일 할 수있음, writer죽으면 reader를 writer로 자동승격하여 가용성에도 좋음
  • Aurora auto scaling(ASG랑 다르게 따로 설정)을 통해 급격한 Read 증가를 처리할 수 있음, 또한 불필요한 read replica를 없애 비용절감효과도 가능
  • aurora는 클라우드용 mysql, postgresql 호환 관계형 db로 데이터베이스 성능 및 가용성과 오픈소스 단순성 및 효율성을 결합합니다.
  • 오로라 글로벌 데이터베이스는 단일 오로라 데이터베이스를 여러 aws region에 배포하여 각 지역에서 짧은 대시기산(존나빠름 1분)으로 읽기를 가능하게 합니다. 글로벌 read와 빠른 재해복구(복구도 빠름)를 가능하게 해준다.
  • 동적으로 확장할수 있는 성능 좋은 rds다.
  • 기본 db 인스턴스 - 읽기 및 쓰기 작업 지원, 클러스터 볼륨의 모든 데이터를 수정을 실행, aurora 클러마터마다 기본 db가 하나씩 있습니다.
  • 복제본 - 기본 인스턴스와 동일한 클러스터 볼륨에 연결되며 읽기 작업만 지원합니다.
  • Rds는 수동 및 자동화된 스냅샷을 S3 버킷에 저장할수 있으므로, 백업 플랜에서 백업을 수행하는 빈도와 백업을 유지하는 기간을 제어할 수 있습니다.
  • Aurora는 기본인스턴스와 동일한 데이터 볼륨을 공유하기 때문에 복제 지연이 없고(복제가 오래걸려 기존인스턴스와 차이나는 문제가 있으면 무조건 aurora), 일반적으로 10 ms의 지연시간을 관측된다.
  • report만들때는 read replica사용 하여 만듬

Global Accelerator

  • 어플리케이션 가용성과 성능 향상서비스, UDP, TCP와 같은 비HTTP사용 사례에 적합
  • 이 서비스는 ELB의 도움을 받아 amazon EKS를 사용하여 다중 지역 stateless 애플리케이션을 배포할 수 있습니다.
  • static ip가 제공됩니다. 하나 또는 여러 지역에서 static IP주소를 제공해 어플리케이션 엔드포인트 고정 진입점 역할을 함

 

 

CloudFront

  • CDN 서비스로, 짧은 지연시간, 높은 전송속도로 전세계에 제공, 콘텐츠가 시청자에게 빠르게 제공
  • 엣지 로케이션을 이용하여 전세계에 제공, 엣지 로케이션에 아직 콘텐츠가 캐시안된경우 클라우드프론트는 최종소스에서 데이터 가져옴
  • S3에서 사용자에게 직접 전달하는 것보다 비용적 측면해서 효율적이다. s3에서 static 콘텐츠를 캐시하여 제공할수있다
  • 클라우드프론트를 이용하여 특정국가에서 오는 트래픽을 차단할수있다.
  • 지정된 언어를 기반으로 여러 버전으로 개체를 캐시할 수 있음 accept-language header를 이용하여

Lambda@Edge

  • lambda@edge(람다 확장판)를 이용하여 file을 리사이즈 하거나 변환하여 전송비용을 줄일 수 있는 case
  • 각 request와 response 특히 cache를 확인하는 전/후시점을 기준으로 lambda를 호출할수있음.

ACL

  • S3내에 ACL을 사용하여 액세스 권한은 부여 가능, 하지만 다른 계정 에게만 액세스 권한을 부여할 수 있다.

Route53

  • Geolocation routing policy는 사용자의 위치를 기준으로 트래픽을 라우팅할때 사용
  • geoproximity는 사용자와 리소스의 위치를 기반으로 가까운데로 라우팅 , 바이어스 세팅을 키면 지정된 리소스로 더 많은 트래픽을 보낼수있다.
 

Elastic Beanstalk

  • java로 개발된 웹 어플리케이션 서비스 배포 및 스케일에 좋음
  • 코드를 업로드만 하면 용량 설정, 로드 밸런싱, 자동 크기 조정, 모니터링까지 자동으로 처리
  • 사용자 지정 AMI를 이용하여 프로비저닝 시간을 개선할 수 있음

ELB

  • case ELB에서 모든 인스턴스를 비정상 표시했음 : heal check가 잘못되있거나, 인스턴스 보안그룹이 ELB트래픽을 막는경우
  • ALB는 osi 7 layer에 속함 요청을 수신! NLB는 4Layer ip 프로토콜 기준!으로 로드밸런싱
  • ALB에 http로들어오는 요청 https로 라우팅 시킬수있음

EventBrdge?

  • EventBridge는 다양한 소스의 데이터와 애플리케이션을 연결하는데 사용할수있는 서버리스 이벤트버스 서비스
  • 이벤트를 수신하고 이벤트를 대상으로 라우팅하는 규칙을 적용함
  • 이벤트 브릿지로 람다를 호출할려면 정책추가 action에 Invokelambdafunction과 principal에 Events.amazonaws.com을 입력

Lambda

  • 기본적으로 Lambda는 항상 AWS 소유 VPC내에서 작동 하므로 모든 public, 공용 aws api에 접근 가능
  • 만일 lambda를 vpc내에 배치하면 public에 접근하기 위해 NAT gateway를 사용해야함
  • 람다는 매우 빠르게 스케일링 가능해서 예상 임계값 설정 및 cloudWatch 경보 배포가 좋음
  • 람다의 배포 패키지 크기는 250MB를 초과 할 수 없다.
  • 람다는 할당한 메모리에 비례하여 cpu를 할당한다.
  • 람다는 Docker를 지원하지 않습니다., 15분 사용이 맥스
  • 내가 사용한 양만큼만 낸다 를 숙지

ASG

  • ASG는 자동 조정 및 관리를 위해 타겟그룹으로 EC2 인스턴스 모음을 포함 할 수 있습니다.
  • ASG 수명 주기 hook를 사용하여 그룹내 인스턴스가 시작하거나 종료할 때 지정 작업을 수행할 수 있다.(일시중지)
  • case 어플리케이션 성능 저하 발견, 잘못된 인스턴스 사용 : 시작구성은 수정 안됨, 새로 만들어야된다. 새로 만들고 auto scaling그룹 수정 후 더이상 안쓰는 시작구성 삭제 
  • ASG는 진짜 예측가능하면 미리 사전에 땡겨서 scaling할 수 있음
  • 시작구성은 auto scaling 그룹이 EC2 인스턴스를 시작하는데 사용하는 인스턴스 구성 템플릿 온디맨드 스팟 인스턴스 둘다는 못함

EC2

  • EC2 메타데이터는 실행 중인 인스턴스를 구성하거나 관리하는데 사용 인스턴스를 대기 상태로 변경 못함
  • 사용자 데이터는 인스턴스를 시작할 때 구동되는 스크립트이지 대기상태로 돌릴 수는 없음.
  • 시작 템플릿은 여러 정보를 인스턴스에 제공해줌, 온디맨드 스팟 인스턴스 모두 사용하여 관리 가능
  • 클러스터 배치 그룹은 네트워크 대기시간이 짧거나 네트워크 처리량이 높은 경우에 권장됩니다.
  • ec2 인스턴스를 시작하면 모든 인스턴스가 기본 하드웨어에 분산되어 상관된 오류를 최소하할려고 합니다. 스프레드 그룹은 그룹당 최대 7개의 인스턴스를 실행 할 수 있습니다.
  • 인스턴스가 실행 중인경우 사용자 데이터를 변경할 수없습니다.
  • 사용자데이터로 입력된 스크립트는 기본적으로 루트권한을 가집니다.
  • 중단 시간없이 지속적으로라면 spot인스턴스는 절대 아니다 -> 보장받기가 힘듬
  • EC2는 step scaling보다 target scaling을 권장합니다. 타겟스케일링은 설정된 값을 유지하기 위해 auto scaling을 하는 반면 step scaling은 해당 임계치에 도달하면 auto scaling을 하게 된다.
  • reserved는 1년 3년단위, 일 주 단위할려면 on-demand해야됨 이유는 schedule reserved 서비스 사라짐

Elasticsearch

  • apache lucene 기반의 java 오픈소스 분산 검색 엔진
  • 방대한 양의 데이터를 신속하게 리얼타임에 가깝게 저장 검색 분석가능

Redshift

  • redshift는 대규모 데이터 세트 분석을 위해 클라우드 기반 데이터 웨어하우징 제품이다.
  • redshift spectrum을 사용하면 대용량 데이터를 redshift테이블에 데이터 로드없이 s3의 파일에서 데이터를 효율적으로 검색할수있습니다.
  • semistructured(반구조화된) 데이터를 수집하고 저장할 수 있다. big data 프레임워크는 EMR(구조화) redshift(비구조화)에 사용

 

EBS

  • 볼륨 내부의 미사용 데이터는 암호화됩니다.
  • 볼륨에서 생성된 모든 스냅샷은 암호화 됩니다. 스냅샬할때 암호 키설정함
  • 볼륨과 인스턴스간에 이동하는 데이터는 암호화 됩니다.
  • 암호화된 볼륨 및 스냅샷을 생성할 때 aws KMS CMK(고객마스터키)를 사용합니다.
  • Ebs 볼륨은 EC2 인스턴스의 루트 볼륨으로 구성되어있습니다. 인스턴스를 시작할 때 루트 디바이스 볼륨에는 인스턴스를 부팅하는데 사용되는 이미지가 포함됩니다. 기본적으로 ami의 루트 볼륨은 인스턴스가 종료될 때 삭제되지만 deleteOn 옵션 선택으로 막을 수 있습니다. 루트가 아닌 ebs볼륨은 볼륨이 연결된 인스턴스를 종료 후에도 계속 사용할 수 있습니다.
  • gp2 I/O 요구사항이 보통 수준, 가끔식 집중적으로 발생하는 애플리케이션 광범위함
  • io1 I/O 집중적인 애플리케이션에 적합함 예측가능하고 우수함
  • st1 로그 처리와 같은 대규모 스트리밍 워크로드에 이상적 처리량이 뛰어남

EFS

  • Efs에 액세스할 있는 제어로 VPC 보안그룹과 IAM을 사용합니다. 네트워크 트래픽제어로는 VPC, IAM 정책을 efs에 연결하는데 EFS 액세스 포인트를 사용합니다.
  • EFS는 life cycle을 이용하여 infrequent하게 일어나는 data들을 비용 절감을 위해 EFS IA로 보관하게 된다.
  • s3보다 동시 access에 적합, shared file storage,
  • local caching 지원 안함
  • ACID한거같아 많은 인스턴스에서 접근하고 data가 동시 적용되니까 aotomic하게 작동해야되니까

암호화

  • 클라이언트 사이드 : SSL/TLS 또는 클라이언트 측 암호화를 사용하여 전송 중인 데이터를 보호할 수 있습니다.
  • 서버 사이드 : 데이터 저장전 객체 암호화를 AWS S3에 요청하며 다운로드할 때 복호화를 요청합니다.
  • 데이터 보호란 전송중과 미사용 상태(at rest) 데이터를 보호하는 것을 의미합니다.

AWS Direct Connect

  • 온프레미스에서 aws로 전용 네트워크 연결을 쉽게 설정할수있는 서비스 솔루션
  • 온프레미스에서 AWS로 전용 네트워크 연결을 쉽게 설정할 수 있는 클라우드 서비스 솔루션입니다. AWS Direct Connect로 AWS와 고객의 데이터 센터, 사무실 또는 코로케이션 환경 간에 프라이빗 연결을 설정할 수 있습니다. 이로 인해 인터넷 기반 연결보다 대역폭 처리량이 늘어나고 일관된 경험을 제공할 수 있습니다.
  • 지속적인 연결은 가능하지만 보안에는 취약
  • https://dev.classmethod.jp/articles/what-is-the-aws-dx-kr/

kinesis

  • 많은 데이터를 실시간 분석하는 바로 얘다, 데이터를 수집합니다.
  • case 분석이 완료되면 consumer에게 알림을 보낼 때 SNS사용 굳
  • case 생산자 소비자간의 데이터 잔달 속도 지연 : 더 좋은 퍼포먼스는 팬아웃 사용
  • Firehose는 안정적으로 로드하는 방법, 데이터 처리량에 맞게 자동으로 스케일됨, 압축하여 보내서 스토리지 양을 최소화
  • 키네시스 데이터 분석과 키네시스 데이터 스트림은 모두 실시간 수집 및 분석을 위한것이다. 데이터 손실 날수도있음
  • Firehose는 거의 실시간으로 데이터를 처리, 또한 웨어하우스인 redshift로 데이터를 전송하여 데이터가 손실되지 않도록 합니다. (목적지 s3버킷 redshift을 포함하여 데이터를 전달할수있습니다) ebs에 로드는 못함
  • redshift또한 데이터 분석을 위한 쿼리를 수행하기 위한 sql 인터페이스를 가지고 있다.

SNS

  • 분산 시스템 및 서버리스 어플리케이션을 분리할 수 있는(decoupling) 고사용성, 완전 관리형 pub/sub 메시지 서비스

SQS

  • 분산 시스템 및 서버리스 어플리케이션 분리 및 스키일 완전 관리형 메시지 queue 서비스
  • 메세지 손실이 없음, 알림을 보낼 수 없음
  • FIFO 방식은 전송된 정확한 순서대로 한번만 처리, 정렬이 필요,
  • 초당 최대 3000개 처리 가능, 기존 sqs -> fifo sqs로 마이그레이션할때 기존꺼 삭제후 새로만들어야됨, 접미사 .fifo
  • 가시성  시간을 늘려 다른 인스턴스가 message를 더 오랫동안 가져가지못해 한번만 처리하게 만들 수 있습니다.

AWS gateway endpoint

  • AWS 서비스로 향하는 트래픽에 대해 라우팅 테이블의 경로 대상으로 지정하는 게이트웨이, 요청조절 x

AWS API gateway

  • case 너무 갑작스러운 트래픽 급증 시 요청을 조절할려고 할 때 : API gateway, sqs, kinesis
  • 너무 많은 요청으로 인한 API 과부하를 막기위해 조절을 해줌, 계정의 모든 API에 대한 안정적인 속도와 요청 응답 버스트에 대한 제한을 설정
  • API 게이트웨이의 가장 기본적인 기능은 API 에 대한 인증과 인가 관련 기능이다. 인증은, API 를 호출하는 클라이언트에 대한 identity(신분)를 확인 해주는 기능이고, 인가는 클라이언트가 API를 호출할 수 있는 권한이 있는지를 확인해주는 기능이다. 
  •   
  •   

 

VPC

  • VPC endpoint 종류로(gateway, interface), DynamoDB, S3는 게이트웨이 엔드포인트가 필요하다.
  • 다이나모디비와 s3를 제외하고는 모든 서비스는 interface 게이트웨이를 사용합니다.
  • 엔드포인트를 이용해 IGW, NAT 디바이스, VPN 연결, AWS direct connet없이 privateLink를 통해 vpc 엔드포인트 서비스에 비공개로 연결할 수 있습니다.
  • 여러 VPC를 한번에 상호연결 효율적으로 한데 모아서 연결 Transit gateway사용
  • VPc endpoint 연결 방법은 (gateway, interface)endpoint생성 후 endpoint를 가리키는 route table을 생성, 
  • transit gateway : VPC와 온-프레미스 네트워크를 상호 연결하는데 사용할 수 있는 네트워크 전송 허브
  • 다른 aws계정 vpc 서비스가 내 vpc 서비스에 접근하고 싶을때 vpc sharing을 통해 참가하여 접근할 수 있다.

Secrets Manager

- password를 저장 즉 데이터를 암호화해서 저장 그리고 패스워드가 자동 로테이션

- Secrets Manager는 코드의 암호를 포함해 하드 코딩된 자격 증명을 Secrets Manager에서 프로그래밍 방식으로 보안 암호를 검색하도록 하는 API 호출로 바꿀 수 있습니다.

- RDS에 대한 자격증명 생성 및 secretes manager에 자격 증명 저장, 애플리케이션이 manager로부터자격증명 가져와서(로드해서) 접근

 

KMS

  • case S3에 민감한 데이터 올릴거고 데이터 암호화되야됨, 암호화 키는 매년 바뀌어야됨 : KMS에서 CMKS(customer master keys)를 사용 및 automatic으로 설정
  • 얘는 키관리만 한다.
  • KMS는 암호화키(고객 마스터키)를 관리해주는 서비스, 고객 마스터 키를 이용하여 data 암호화키(실제 data를 암호화하는 키)를 해독한다. 암호화된 데이터를 해독하는 순서는 kms서비스를 호출하여 data key를 cmk(고객마스터키)를 이용하여 해독한다. 해독된 data key를 이용하여 암호화된 해당 data를 복호화한다.

 

RDS

- 클라우드 관계형 데이터 베이스 서비스, sql

- 인스턴스 안쓰고 rds 쓰는 이유, 지속적인 백업파일, 타이스탬프 복원, 모니터링 대시보드, read replicas로 읽기 성능 개선

- multi-az 로 고가용성, 수직 수평 스케일가능, ssh로 접근 불가, 백업 ebs(gp2 or io1)으로 제어

- multi-az는 동기로 복구1분미만, read replica를 이용한 복구는 5분

- SQL server은 백업중에 I/O 작업이 잠시 지연됩니다.

- auto scaling기능은 다운타임 없이 데이터베이스 워크로드 증가에 따라 스토리지 용량을 자동으로 확장합니다.

- 백업관련해서 보존기간이 필요할때 rds backup은 snap shot을 통해 이뤄지는데 s3에 보관되고, 보존기간 계획설정을 통해 관리

 

DynamoDB

  • DAX(accelerator)은 성능을 최대 10배 향상시킨다. 고가용성 in-memory 캐시, dax는 기본적으로 dynamodb읽기를 네이티브하게 캐시하는데 사용됩니다.
  • Dax가 in-memory지 다이나모db는 in-memory아님 그냥 key-value형태, dynamoDB와 호환되는 캐싱서비스
  • real-time stream processing section, 밀리세컨드 응답, 대기시간이 짧은 솔루션
  • 예측할수없으면 on-demand모드 쓰자
  • DynamoDB 자동스케일링 서비스는 aws 애플리케이션 자동 스케일링 서비스를 사용하여 실제 트래픽 패턴에 따라 프로비저닝된 처리량 용량을 동적으로 조정합니다. 이를 통해 테이블 또는 글로벌 보조 인덱스는 프로비저닝된 읽기 및 쓰기 용량을 증가시켜 트래픽의 급격한 증가를 조절하지 않고 처리할 수 있습니다.
  • global table을 이용하여 게임게시판 랭킹시스템등에 빠른 응답속도 대응가능
  • 초당 100만개의 요청 처리는 rds보다는 nosql이 더 빠르게 응답을 제공하나보다.
  • 개체 크기가 400kb가 한계 때문에 문서나 이미지를 저장하는데 적합하지 않다. s3 object key값을 dynamo에 저장하는게 좋은 패턴

cloudWatch

  • case 인스턴스가 예기치 않게 정기적으로 정지 : cloudwatch로 경보 설정 및 인스턴스 재부팅(임시방편)
  • 클라우드워치 경보 작업으로 인스턴스를 자동 중지, 종료, 재부팅, 복구 경보 설정이 가능
  • 인스턴스를 모니터링하고 자동으로 재부텅하는 경보설정 가능(바로 되는데 굳이 Lambda 쓸 필요없음)
  • AWS 클라우드 리소스와 실행하는 어플리케이션 모니터링 경보를 사용하여 SNS를 통해 이메일 보낼수있습니다.
  • cloudWatch agent로 swap, memory util을 모니터링 할 수있습니다. 커스텀을 해야한다.

Web application firewall(WAF)

  • 와프를 사용하면 나의 로브밸런스를 지킬수있음 
  • AWS WAF는 웹을 보호하는 데 도움이 되는 웹 응용 프로그램 방화벽입니다. 애플리케이션 가용성에 영향을 미칠 수 있는 일반적인 웹 악용의 애플리케이션 보안을 손상하거나 과도한 리소스를 소비합니다.

AWS Shield Advanced

  • case 여러 aws 계정에서 활성화 했는데 예상보다 높은 비용 청구 : AWs 계정이 통합결제를 하면 속해있는 모든 계정들이 리소스를 소율할 수 있습니다.
  • Ddos 방어기능이 있는듯?

 

'AWS' 카테고리의 다른 글

CrowdSourcing  (0) 2022.04.04
Signed Url vs PreSigned Url  (0) 2022.03.27
AWS SAA-C02(decoupling)  (0) 2022.02.28
AWS SAA-C02(Serverless)  (0) 2022.02.28
AWS SAA-C02(CloudFront)  (0) 2022.02.27
Comments