Home AWS Solution Architect Associate 취득기
Post
Cancel

AWS Solution Architect Associate 취득기

Solution Architect Associate

IAM (Identity and Access Management)

  • IAM : IP대역 문제에서, 예를들어 10.100.100.0/24 라면 처음 4개와 마지막 IP는 AWS에서 사용하므로 사용할 수 없다.
    • 0,1,2,3,255 는 AWS에서 예약해두었다.
    • DB 플러그인을 통한 데이터베이스 인증(단기토큰)을 사용하여 DB 엑세스 보안을 만들기도 한다.
  • RAM (Resource Access Manager) : AWS 조직 내에서 AWS 리소스를 쉽고 안전하게 공유할 수 있는 서비스

  • AWS Config : AWS 리소스의 구성을 평가, 감사 할 수 있는 서비스.
    • AWS 리소스 구성을 지속적으로 모니터링 및 기록하고, 원하는 구성에 대해 기록된 구성을 자동으로 식별


Storage

  • instance store
    • 최대 I/O 성능
  • ebs (elastic block storage) : ec2 에 연결하여 사용하는 인스턴스 독립적인 block storage
    • AMI가 설치되는 EBS 루트 볼륨이 생성됨
    • 단일 가용영역(AZ) 에 있어야 연결 가능
    • snap-shot 기능을 통해 ebs 볼륨 백업 가능
    • 수명주기관리자 정책을 통해 스냅샷 생성 일정을 자동화 가능
    • KMS (AWS Key Management Service) 를 통해 EBS 볼륨 암호화 가능
    • 여러 EC2에 동시 연결(Multi-Attach) 가능 (단,프로비저닝된 IOPS SSD만 가능)
    • 인스턴스 수명과 독립적이며 서비스 중단 없이 볼륨 유형, 크기, IOPS 용량을 수정할 수 있다.
  • efs (elastic file system) : 리눅스 환경의 ec2 인스턴스에서 연결하기 위한 NFS
    • NFS 프로토콜을 지원하며 여러 가용영역에 있는 수십~수백대의 EC2 연결 가능
  • S3 (Amazon Simple Storage Service)
    • 내구성 99.999999999%
    • 멀티파트업로드 : 대용량의 파일을 분할하여 병렬로 S3에 업로드. 완료 전까지 계속 남아있으므로 수명주기정책으로 관리 필요함
    • Amazone S3 Transfer Acceleration 을 통해 장거리 파일을 빠르고 쉽게 전송가능 (Gloal Accelerator의 경우 TCP,UDP 트래픽을 빠르게 전송함)
    • S3 Storage Class
      • S3 Standard
      • S3 Intelligent - Tiering
      • S3 Standard - IA
      • S3 One Zone - IA
      • Glacier Instant Retrieval
      • S3 Glacier / Glacier Flexible Retrieval : 신속검색을 통해 15분 이내로 데이터 접근이 가능함
      • S3 Glacier Deep Archive
  • Storage Gateway : 데이터 복제 후 통합 솔루션!
    • on-premise <-> aws cloud storage 간 연결. local cache 기능 통해 aws storage와 짧은 지연시간 엑세스를 유지 (실시간 전송 및 저장 가능)
    • S3 File Gateway : NFS, SMB protocol 을 이용해서 S3에서 객체를 저장하고 검색(NFS!)
    • FSx File Gateway : SMB protocol 을 이용해서 Windows File Server 내의 파일을 저장하고 검색 < Luster는 고성능
    • Volume Gateway : ISCSI 연결을 이용해 볼륨을 EBS 스냅샷으로 저장 및 백업 가능 -> on-premise block storage 대체 가능함
    • Tape Gateway : S3 Glacier 또는 Deep Archive 로 백업하여 저장비용 최소화
    • Hardware Appliance : on-premise 에 서버 등 인프라가 부족한 데이터 센터의 경우, Storage Gateway Software 가 미리 설치된 기기를 구해하여 운용가능
    • Cached Volume : 데이터를 S3에 저장하고, on-premise 네크워크에서 로컬로 자주 엑세스하는 데이터 하위 세트 사본을 보유
  • AWS DataSync : 마이그레이션 솔루션!
    • on-premise <-> aws cloud storage 간 데이터 전송 및 복제(데이터 마이그레이션)를 자동화.
    • NFS, SMB protocol 지원하며, on-premise 데이터를 s3, efs, fsx 등으로 마이그레이션 하거나 S3 Glacier로 아카이빙
  • Snow Family
    • snowball 사용 시, S3 Glacier 볼트를 대상으로 바로 선택 불가하며, S3 수명주기 정책을 생성하여 S3 Glacier로 전환해야 한다.


DataBase

  • RDS (Relational Database Service) : 여러 RDBMS의 엔진을 AWS에서 제공함, 백업 S3에 저장
    • DB 다운타임 없이 스토리지 용량 만큼 자동으로 확장 가능 (Storage Auto Scaling)
    • FailOver 동작하는 경우 : 기본스토리지오류, 가용성 문제
    • Too many Connection 시 RDS Proxy 사용
    • 3가지 스토리지 유형 -> 범용(일반), 프로비저닝 IOPS(빠른 I/O), 마그네틱(가장 낮은 엑세스 빈도)
    • RDS Replica의 경우, 읽기성능향상에 도움
    • 자동백업 (Automated backup)
      • 5분마다 백업하므로 5분전까지 복구가능 / 35일 보관가능
    • 스냅샷 (DB Snapshots) / 보존기간 없음
    • 복구하면 새로운 엔드포인트 가지는 신규 DB인스턴스 생성됨
    • SSL,TLS 사용함, KMS (AWS Key Management Service) 통해 모든 DB엔진에 대한 암호화 가능
    • RDS Audit Logs 통해 보안 감사에 활용가능
    • 향상된 모니터링 지표는 OS프로세스, RDS자식프로세스
  • ElastiCache : DB응답성능 개선을 위한 인메모리 데이터스토어 (1ms 미만의 응답시간)
    • Memcached -> 멀티쓰레드 지원
    • Redis -> 싱글쓰레드만 지원, 스냅샷 백업, 복제, 고가용성 가능
  • DynamoDB : key-value 기반 NoSQL DB서비스 이며, 서버리스. 짧은 지연시간, 수백만개 요청에 빠른 응답
    • 용량에 맞게 자동으로 Auto-Scaling 가능
    • DAX (DynamoDB Accelerator) 를 통해 인메모리 캐싱 가능 : 밀리초 단위로 줄어듬
    • TTL 설정해서 일정 시간 지나면 삭제가능
    • DynamoDB Streams : 변경 항목에 대해 캡쳐 가능하고, Kinesis DataStream으로 보낼 수 있음
    • 1) 트래픽 발생 시 : 예측 가능한 경우에는 Auto-Scaling 을 사용
    • 2) 트래픽 발생 시 : 예측 불가능한 경우에는 On-Demand 를 사용
  • Amazon Athena : 표준 SQL 을 사용해 Amazon S3에 저장된 데이터를 분석할 수 있는 쿼리 서비스. 데이터 로드 없이 S3 원본에 저장된 데이터에 대해 SQL 쿼리 수행
    • JSON -> Apache Parque로 변환 시 월등한 속도를 보임
  • Amazone Aurora : RDS 호환형 관계형 데이터베이스
    • 1초 RPO(복구시점목표), 1분 RTO(복구시간목표)
    • RDS에서 제공하는 읽기 전용 복제본, KMS 암호화, 스냅샷 백업, Auto-Scaling 등 제공
    • AWS 에서 만든 서비스로, 다른 RDS 보다 저렴한 비용에 성능이 더 뛰어남
    • 클러스터 기반 구성이며 따라서 연결을 추상화하기 위한 내장 리더 엔드포인트를 사용함
    • Aurora Replicas 의 경우, 마스터 DB 장에 발생 시 최대 30초 이내에 복제본 중 하나가 기본 인스턴스로 Failover 가능
    • Amazone Aurora Serverless : 에측할 수 없는 워크로드에 자동 스케일링하는 솔루션
  • Amazone QLDB (Quantum Ledger DataBase) : 암호적으로 검증 가능한 트랜젝션 로그를 제공하는 완전관리형 레더 데이터베이스

  • Amazone RedShift : 빅데이터 분석용. RedShift Spectrum의 경우, Amazone S3의 구조화되지 않은 데이터에 대해 SQL쿼리를 직접 실행할 수 있다.


Network

  • Route53 : AWS에서 제공하는 DNS서비스이며 라우팅 정책 생성, VPC 생성 등 가능
    • 단순라우팅, 가중치기반, 지리적위치, 지연시간 등
    • 레코드 유형
      • A : 도메인 to IPv4
      • AAAA : 도메인 to IPv6
      • CNAME : 도메인 to 도메인
      • ALIAS : 도메인 to AWS리소스
      • 기타 : MX(메일) NS(DNS식별) SOA(도메인정보및권한)
  • lambda + api gateway 주로 사용


Application - 통합

  • SQS (Simple Queue Service) : poll 방식으로 메세지를 전송
    • 일정 횟수 이상 시도 후 처리되지 못한 메세지는 DLQ로 이동하여 보관한다
    • 중복이 발생할 수 있다. 이런 경우 Amazone Simple Workflow 사용 or SQS FIFO Queue 사용
  • API GateWay : 개발자가 API를 생성, 게시, 모니터링, 보안 유지를 할 수 있게 해주는 서비스
    • RESTful API, WebSocket API를 지원
  • Kinesis : 실시간 데이터를 손쉽게 수집, 처리 분석하는 서비스
    • Kinesis Data Streams : 데이터 스트림을 다른 AWS 서비스로 전송
      • 실시간 (Realtime)이며 추가된 시점부터 최대 24시간동안 접근할 수 있고, 한도는 7일까지이다.
      • 최대 1년 보관의 데이터 스토리지가 있음
      • 중복되지 않음
    • Kinesis Data Firehose : 데이터 스트림을 AWS 데이터 스토어 로 ETL
      • 준실시간 (Near Realtime), DynamoDB로는 못보냄
      • 데이터 스토리지 없음
    • Kinesis Data Analytics : SQL, Apache Flink로 데이터 스트림 분석
    • Kinesis Video Strams : 비디오 스트림을 수집, 저장 및 처리


ELB (Elastic Load Balancer)

  • NLB (Network Loab Balancer) : TCP,UDP,TLS 요청을 로드 밸런싱해야 하는 경우 사용
    • Static IP는 NLB 에서만 할당 가능하다. (예를들어, 고정 IP를 허용하는 방화벽 IP 해제의 경우, NLB를 사용해야 한다.)
  • ALB (Application Load Balancer) : Http, Https, gRPC등 요청을 로드 밸런싱 해야 하는 경우 사용
    • 리스너 규칙, 경로 기반으로 라우팅 설정이 가능함
    • 도메인이 SSL 트래픽을 제공하도록 허용하는 것은 SNI(서버 이름 표시)를 사용해서 클라이언트에 대한 최적의 TLS 인증서를 자동으로 선택하게 한다.
  • Gateway LB : 경로기반 라우팅을 지원하지 않음


CloudFront

  • CDN (Contents Delivery Network)
  • edge location의 contents caching을 통해 콘텐츠를 사용자에게 더 빨리 배포하도록 지원함
  • origin -> cloudfront 간의 전송비용은 부과되지 않음
  • OAI (Origin Access Identiy) 를 통해 S3 Bucket의 엑세스를 CloudFront를 통해서만 할 수 있게 강제함!
  • Http 프로토콜 처리에 적합함 (<-> tcp의 경우 global accelator)
  • Origin Group : CloudFront 에 대한 고가용성
    • origin 장애조치를 사용해 CloudFront를 설정 -> 기존의 origin을 사용할 수 없게되면 자동으로 보조 origin으로 전환해줌


보안 및 자격증명

  • AWS Cognito
    • application에 대한 로그인 및 인증을 제공 (계정과 통합 가능)
  • AWS Secret Manager : 데이터베이스 자격증명, 암호 등 중앙에서 제어 가능
    • 코드의 하드코딩된 내용을 프로그래밍(API) 방식으로 가져올 수 있음
  • GuardDuty
    • AWS 계정 및 워크로드에서 악의적 활동을 모니터링, 위협 참지
  • Macie
    • 머신러닝을 통해 AWS에서 민감 데이터를 보호
  • Inspector
    • 컨테이너, EC2에서 SW 취약성 검증
  • WAF (Web Application Firewall)
    • Http 에서 동작하며, ALB, API Gateway, CloudFront 에 적용가능.
    • WAF - ACL (Access Control List) 를 통해 악성 IP, 국가 차단, SQL injection 방어, DDos 방어 등이 가능함 < 더 안전한건 AWS sheild
  • CloudTrail : AWS 계정이 수행하는 작업에 대해 로그를 기록함
    • 관리 콘솔 및 API 호출 기록
    • 로그는 CloudWatch logs 또는 s3 버킷에 저장 가능
    • KMS 사용해서 암호화 가능 -> AWS Config 규칙을 통해 리소스 구성이 규정준스를 하고 있는지 규칙 생성 가능
    • CloudTrail Insight를 사용해서 비정상적인 활동을 감지 가능
    • S3로 올긴 이후에도 CloudTrail 로그파일에 대한 CRUD 확인 가능하므로 AWS 계정의 거버넌스, 규정, 감사 등에 이용한다.
  • AWS STS(Security Token Service) : 임시 토큰 서비스(단기 자격증명)
    • LDAP(Lightweight Directory Access Protocol) 디렉토리 통합시, ID 스토어가 SAML과 호환되지 않은 경우 등 사용


관리 및 거버넌스

  • CloudWatch : AWS Cloud 리소스와 AWS에서 실행되는 application 모니터링 서비스. 지표를 수집, 추적, 사용율 확인가능
    • EC2 인스턴스에 대한 중지, 종료, 재부팅 등의 알람을 생성해 동작하게 할 수 있다.
    • CloudWatch Agent를 통해 CloudWatch Logs insight로 로그 데이터를 분석한다.
    • 기본적으로는 메모리 사용량을 모니터링하지 않으므로 EC2 인스턴스에 CloudWatch agent를 설치해야 한다.


Computing - Container

  • ECS : 도커
    • 서비스의 평균 메모리 사용률이 너무 높을 때 클러스터 확장 가능
    • 클러스터의 CPU 사용률이 너무 높을 떄 클러스터 확장 가능
  • EKS

  • AWS Fargate : 서버리스 컨테이너 서비스
    • 서버 프로비저닝, 패치 적용, 클러스터 용량 관리 & 인프라 관리를 AWS에서 자동으로 수행
    • ECS 및 EKS 와 연동
    • Amazon ECS가 컴퓨팅에 Fargate를 사용하면 애플리케이션이 유휴 상태일 때 비용이 발생하지 않음.


ETC

  • AWS Glue : 클릭스트림 ETL 서비스
  • Amazone Workspaces : 가상 테스크탑
  • AWS X-Ray : Amazon API GW 분석 모니터링
  • AWS CloudFormation 종속성 확인 : CloudFormation 템플릿의 CreationPolicy
  • OpenID Connect : WebId Fed
  • HPC (고성능컴퓨팅) : EC2에 EFA (Elastic Fabric Adapter) 연결
  • EC2 휴지기간은 300초
  • AWS Step Functions : 서버리스 워크플로우
  • ACL : Local -> EC2 인스턴스로 SSH 연결을 하려면?
      1. Security Group에서 인바운드 규칙 허용 (stateful 하므로)
      1. NACL 에서 in,out 트래픽 허용 (stateless 하므로)
  • RDP, SSH 연결을 하지 않고도 RUN(명령실행)으로 EC2 구성 가능
  • AutoScaling 축소정책
      1. 가장 많은 가용영역 인스턴스
      1. 가장 오래된 구성
      1. 다음 청구시간에 가장 가까운
  • AutoScaling Group에 EC2 추가하려면?
    • 인스턴스를 시작하는 AMI가 여전히 유요한가?
    • AutoScaling Group에서 정의된 가용영역 중 하나에서 시작되었는가?
    • EC2 중지할 필요는 없다.
  • Lamda@Edge는 CloudFront 기능이며, 지리적으로 더 가까운 코드를 실행하게함
  • 인도북부 등 지역전체는 지리근접라우팅
  • Site To Site VPN 구성요소는?
    • 고객 게이트웨이, 가상 프라이빗 게이트웨이
  • 메타데이터 검색하는 Curl > localhost는 사용불가함. 169.254.169.254 가 맞음.
  • DR 파일럿 라이트 전략은 미리 리소스를 세팅해 중시해두고, 상황 발생시 가동한다.
  • Amazon ECS가 컴퓨팅에 Fargate를 사용하면 애플리케이션이 유휴 상태일 때 비용이 발생하지 않음.
  • Active Directory를 사용중이라면, AWS Directory Service Ad Connector를 사용하는것이 좋다.
  • S3 업로드 문제없는지 여부는 HTTP200 결과코드 및 MD5 체크섬으로 확인한다.
  • 서브넷이 인터넷과 붙는데는 NAT gateway or NAT instance가 필요
  • cognito app인증
  • 다중 AZ RDS 실패하면 기본 인스턴스 -> 대기 인스턴스로 CNAME 변경됨
  • storage gateway - Cached Volume : 데이터를 S3에 저장하고, on-premise 네크워크에서 로컬로 자주 엑세스하는 데이터 하위 세트 사본을 보유
  • Anycast 고정IP면 CloudFront 아니고 Global Accelerator
This post is licensed under CC BY 4.0 by the author.