ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS solutions Architect Associate 오답노트 1
    aws 2021. 2. 14. 18:25

    1. ALB based health check vs EC2 based health check

    ALB는 ALB based health check만 할 수 있는 반면,
    ASG는  ALB based health check와 EC2 based health check 둘다 할 수 있다.

    ALB과 ASG 둘 다 ALB based health check를 사용하길 권장된다.

    둘이 다를 경우(ASG가 EC2 based health check를 사용할 경우) 문제가 발생할 수 있다.

    (ALB는 ec2가 unhealthy하다 판단해서 제외했는데, 정작 ASG는 해당 ec2가 건강하다 생각해서 새로운 ec2를 런칭하지 않는 문제)

     

    2. EBS vloume types

    EBS volume types는 두 종류로 나뉜다.

    1) SSD는 read/write에 최적화 되어있고, I/O 사이즈가 작다. 주 성능 특성은 IPOS다.

    2) HDD는 큰 처리량(Throughput)에 유리하다.

     

    *중요: Throughput Optimized HDD (st1)Cold HDD (sc1) 는 boot volume으로 사용이 불가능하다!

     

    3. CMK 삭제했을 때

    CMK(customer master key)는 지우기를 눌러도 바로 지워지지 않는다.

    디폴트 30일, min 7일, max30일 이후에 지워진다. 이 기간동안엔 pending상태이다.

    즉 실수로 cmk를 지웠을 경우, 아직 30일(디폴트)이 지나지 않았다면 CMK deletion을 cancel하면 된다.

     

    4. Snowball Edge Storage Optimized device, site-to-site VPN, Snowmobile

    1) 스노우볼은 최대 용량이 80TB다. 외부 인프라에서 aws인프라로 큰 데이터를 이전할 때 쓰인다.

    2) Snowmobile은 최대 10PB의 대에터를 migrate 할 때 쓰인다.

    3). site-to-site VPN을 통해 외부 데이터 센터와 AWS Cloud를 연동할 수 있다.

    하지만 단점이 있는데, low latency, high throughput connection을 제공할 수 없다. (AWS Direct Connect plu VPN이 그 역할)

     

    5. AWS Direct Connect plus VPN

    사내 시스템과 aws 사이에 dedicated network connection을 만들어 주는 서비스다.

    low latency, increased bandwidth 등등이 특징이다.

    -참고로 AWS Direct Connect도 있는데, 이건 encrypted connection을 제공하지 않는다.

     

    6. Route 53 geolocation routing policy, CloudFront georestriction

    특정 지역(국가)의 접근을 차단하거나, 허용하는 기능.

     

    7.  S3 Standard-Infrequent Access(S3 Standard-IA)

    자주 사용되지 않는 데이터면서(예시에선 1년에 1달) 빠른 접근 속도, high durability, high throughput, low latency가 필요할 때 사용하는 s3.

     

    8. Amazon S3 Intelligent-Tiering (S3 Intelligent-Tiering)

    자동으로 s3데이터들을 the most cost-effective access tier로 옮겨주는 s3.

     

    9. API Gateway의 RESTful API와 WebSocket API

    1) RESTful API는 stateless client-server communication을 지원한다.

    2) WebSocket API는 WebSocket protocol을 통해 stateful, full-duplex comminication을 지원한다.

     

    10. SSE-KMS, SSE-S3, SSE-C, clinet-side encryption

    1) SSE-KMS

    AWS KMS는 Key Management Service의 약자다. 

    server-side encryption(SSE-KMS)을 사용하면

    customer-managed CMK를 이용?할 수 있고, 이 경우 누가 언제 CMK를 썼는지 추적이 가능하다.

    2) SSE-S3

    Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3)를 사용하면,

    각 object들은 unique key로 encrypt된다. 이 경우, 누가 언제 키를 썼는지 추적은 불가능하다.

    3) SSE-C

    : server-Side Encryption with Customer-Provided Keys

    내가 encryption key를 관리하고, s3가 encryption을 관리한다.

    이경우에도 누가 언제 키를 썼는지 추적이 불가능하다.

    4) clinet-side encryption

    -내가 직접 키를 제공해야 한다.

     

    11. S3 versioning

    version-enable은 설정 시 돌이킬 수 없다(unversioned state로 돌아갈 수 없다!).

     

    12. EFS, EBS, S3 비용 비교

    EFS는 사용한 resource에 대해서만 과금된다. ($0.30 per GB per month)

    EBS General Purpose SSD(gp2)볼륨은 $0.10 per GB month다. 과금은 이 용량 중  실제 얼마나 사용됐는지와는 상관없다.

    S3 Standard storage는 $0.023 per GB per month.

     

    13. AWS Lambda 동시 호출 수

    : 현재 lambda는 동시 호출 1000회까지 가능하다. 이를 넘어설 경우, AWS support에 연락에 account limit 을 raise해달라 요청해야 한다.

     

    14. NLB vs ALB

    1초에 수백만 requests를 받아내는 상황 즉, low latency, high throughput workloads가 필요한 경우엔  NLB가 더 제격이다.

    참고로 NLB는 Layer 4에서, ALB는 layer 7 에서 동작한다.

     

    15. ASG의 scheduled action, lifecycle hook.

    1) scheduled action

    : 특정 시간에 스케일링 작업이 일어나도록 지정하는 기능이다. 

    "매일 18시에 스케일 아웃을 해라" 같은 작업이 가능하다(구체적인 사항은 따로 설정 해야한다.)

     

    2) lifecycle hook

    instance가 새로 생기거나 사라질 때 custom action을 지정할 수 있다.sdfsdfdsfsdfsdfsdfsdfadasdf

    예를 들어 새로  런칭하는 instance에 뭔가를 설치하거나 설정을 지정해줄 수 있고,

    인스턴스가 지워지기 전에 log files을 다운받게 할 수 있다. 

     

    16. Instance Store

    Instance Store는 EC2에 일시적인 block-level storage를 제공한다.

    이 storage는 호스트 컴퓨터의 물리적 디스크에 위치한다.

    적합한 사용 사례:

    buffers, caches, scratch data, temporary content,  같이 자주 바뀌는 데이터와,

    인스턴스간 데이터를 공유하며 공용 사용되는 경우.

    한 인스턴스가 down되도 문제가 발생하지 않는다.

    EFS보다 비용측면에서 유리하다.

    비용은 instance 사용 비용에 포함된다.

     

    17. SQS

    serverless, 서비스를 decouple해서 microservice가 가능하게 해줌. 

     

    18. KDS(Kinesis Data Stream)

    real-time data stream 서비스. 대용량 처리 가능(massively scalable and durable).

    serverless는 아니다!

    KDS can continuously capture gigabytes of data per second from hundreds of thousands of sources such as website clickstreams, database event streams, financial transactions, social media feeds, IT logs, and location-tracking events.


    19. EC2 요금 vs Fargate 요금

    1) EC2는 ec2 instance와 EBS volume에 의해 과금된다.

    2) Fargate는 컨테이너가 사용한 vCPU와 memory resource에 의해 과금된다.

     

    20. VPC endpoint

    VPC endpoint로 vpc와 연결할 수 있고, 이때 internet gateway, NAT device, VPN connection, AWS Direct Connect connection같은 건 필요 없다. VPC endpoint는 AWS PrivateLink를 통해 작동한다.

    VPC내에 있는 인스탄스는 다른 리소스와 통신하기 위해 public IP를 사용하지 않아도 된다.

    VPC와 다른 서비스간의 통신은 아마존 네트워트 내에서 이루어지기 때문이다.

    VPC endpoint에는 두 종류가 있다.

    1) interface endpoint

    : elastic network interface로 지정한 서브넷의 ip주소 범위에 속하는 private IP로 작동한다. 이 IP가 entry point역할을 한다.

    2) gateway endpoint

    :  route table에서 타켓으로 지정한 게이트웨이로, S3, Dynamo DB에서 이 기능이 지원된다.

     

    21. Amazon MQ

    다른 메세지 브로커(예를 들어 RabbitMQ)에서 migrate해오고 싶을 땐 Amazon MQ를 쓰면 된다.

    SQS도 큐긴 하지만 migration을 지원하진 않는다.

    Amazon MQ는 message broker 서비스다. (for Apache ActiveMQ)

     

    22. Aurora DB의 priority (failover 관련)

    Aurora DB 특징: distributed, fault-tolerant, self-healing storage system, auto-scales up to 64 TB 등등.

    Aurora에선 각각의 Read Replica는 priority tier를 가진다(0-15까지).

    failover발생시, highest priority(가장 숫자가 작은) db가 재생된다.

    우선순위가 같을 시엔 사이즈가 더 큰게 재생된다.

    사이즈마져 같을 땐 같은 것 중 랜덤하게 생성된다.

    따라서 아래 4개가 있다 치면 failover시 3)이 promote 된다.

    1) Tier-10(16TB)

    2)Tier-15 (32TB)

    3)Tier-1(32TB)
    4)Tier-1(16TB)

     

    23. Target Tracking Scaling Policies

    target tracking scaling policy는 사용자가 scaling metric과 target value를 정한다.

    cloud watch가 scaling policy를 trigger한다.

    scaling policy는 지정한 target value에 도달 혹은 가까이 왔을 때 add or delete하는 기능을 수행한다.

     

    -step scaling policy와 simple scaling policy는 scaling metric과 threshold값을 설정하지만,

    CPU utilization을 메트릭으로 사용할 순 없다.

     

    -ASG는 cloudwatch alarm을 스케일링의 직접적인 도구로는 쓸 수 없다.

     

    24. AWS Lambda가 지원하는 언어(runtime)

    C#/.NET

    Go

    Java

    Node.js

    Python

    Ruby

     

    25. Deploy EC2 instances

    1. Elastic Fabric Adapter

    EFA로 배포하면 인스턴스 간의 상호작용 성능이 높아진다. 

    high levels of inter-node communication이 필요할 때 쓴다.

     

    2. cluster placement group

    한 az안에서 인스턴스들을 묶어준다. 대부분의 트래픽이 그룹 내 인스턴스들끼리 이루어질 때 쓰면 유리하다.

    low network latency와 high network throughput이 필요할 때도 유리하다.

     

    3. spread placement group

    인스턴스들을 서로 다른 물리적 공간에 위치시켜 위험에 대비한다.

    그룹 1개내의 1az당 최대 7개 인스턴스까지 가능하다. 

    high levels of inter-node nommunications과 high network traffic에선  불리하다.

     

    4. partition placement group

    인스턴스들이 한 파티션에 속하고, 서로 다른 파티션은 서로 다른 하드웨어를 쓴다.

    Hadoop, Cassandra, Kafka에서 주로 쓰인다.

    한 az당 최대 7개의 partition을 가질 수 있다.

    한 region에서 여러 az에 partition이 생길 수 있으므로, 

    high levels of inter-node nommunications과 high network traffic에선  불리하다.

     

    26. AWS Neptune

    Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. Neptune is not an in-memory database

     

    27. s3 클래스 변경 안되는 것

    다른 클래스에서 s3 standard 클래스로 변경은 안된다.

     

    28. SQS(standard, FIFO)

    FIFO는 선입선출을 무조건 보장하고, standard는 선입선출 원칙이지만 무조건 보장되진 않는다.

    FIFO큐는 1초에 300개까지 처리(send, receive, delete) 가능하다.

    batch로 한 작업 당 메세지 10개를 처리할 경우 1초에 3000개까지 가능하다.

     

    29. AdministratorAccess 권한으로도 할 수 없는 것.

    AdministratoerAccess IAM user는 거의 모든 것을 할 수 있지만 아래 나열된 것들은 할 수 없다.

    - change account name or root password or root email address,

    -change AWS support plan,

    -close AWS account,

    -enable MFA on S3 bucket delete,

    -create Cloudfront key pair, register for GovCloud.

     

    30. S3 Transfer Acceleration, multipart uploads 

    한국에서 미국 s3에 큰 파일을 올릴 경우 속도가 느릴 수 있는데,

    이렇게 먼거리에서 큰 파일을 올릴 때 속도를 빠르게 하는데 도움이 되는 두 가지가 바로

    s3 transfer acceleration, multipart uploads다.

    - s3 transfer acceleration: enables fast, easy, and secure transfers of files over long distances between your client and an S3.

    이 기능은 cloudfront의 edge location을 사용해서, aws 내부 통신망을 이용해 빠르게 데이터를 전송한다.

    - multipart uploads: 큰 파일을 여러 조각으로 나눠 업로드 하는 방식.

    100 MB가 넘는 파일이라면 이 방식을 고려하자.

     

     

    31. ALB routing 

    아래 나열된 routing들이 다 가능하다.

    - path-based Routing

    - Host-based Routing

    - HTTP header-based routing

    - HTTP method-based routing

    - Query string parameter-based routing

    - Source IP address CIDR-based routing

     

    32. Upgrade RDS to the database engin level

    multi-AZ에 primary와 stanby등 여러 database를 뒀다 해도

    엔젠 레벨 업그레이드를 할 땐 모든 데이터베이스가
    동시에 downtime에 들어간다. downtime은 db 사이즈에 따라서 달라진다.

     

    33. AWS Redshift
    Amazon Redshift is a fully-managed petabyte-scale cloud-based data warehouse product designed for large scale data set storage and analysis.

    Using Amazon Redshift Spectrum, you can efficiently query and retrieve structured and semistructured data from files in Amazon S3 without having to load the data into Amazon Redshift tables. Amazon Redshift Spectrum resides on dedicated Amazon Redshift servers that are independent of your cluster. Redshift Spectrum pushes many compute-intensive tasks, such as predicate filtering and aggregation, down to the Redshift Spectrum layer. 

     

    34. S3 Intelligent-Tiering storage class

    - 자동으로 데이터들을 두 종류의 클래스(자주 접근하는 클래스와 그렇지 않은 클래스)로 분류해서 저장한다.

    - cost optimization

     

    35. AMI를 다른 지역으로 copy했을 때.

    우선 ami와 snapshot은 region간 공유가 안된다.

    region A에서 만든 ami를 region B에서 볼 수없다.

    따라서 A의 ami를 B에서 쓰려면 이걸 copy해야한다.

    그런데 ami는 snapshot을 기반으로 만들어지기 때문에,

    ami를 copy해서 옮겨놓을 때 자동으로 snapshot도 생긴다.

     

    36. ELB target group different region

    다른 region에 있는 target으로 ELB가 트래픽을 보낼 수 없다!

     

    37. Multi-AZ vs RDS read replicas 

    MultiAZ를 설정하면 자동으로 primary DB가 생성되고

    데이터를 동기적(synchronously)으로 다른 AZ에 있는 standby instance에게 전달한다.

    1 지역에 최소 2개의 AZ를 쓴다.

     

    read replicas는 좀 더 고성능인데, snapshot을 사용해 second DB를 만든다.

    원래 서버 데이터에 변화가 생기면 비동기적으로read replica 데이터를 update한다.

    동일 AZ, Cross-AZ, Cross-Region까지 가능하다.

     

    38. default cross-zone setting of ALB, NLB

    ALB: by default, enabled

    NLB: by default, disabled

     

    39. s3 prefix

    s3는 bucket내의 prefix 별로 PUT/COPY/POST/DELETE의 경우 초당 3,500개,

    GET/HEAD의 경우 초당 5,500개의 reuqest를 처리할 수 있다.

    prefix가 10개라 치면 GET request는 초당 55,000개가 처리 가능하다.

     

    40. ElastiCache 

    Redis

    Amazon ElastiCache for Redis is a blazing fast in-memory data store that provides sub-millisecond latency to power internet-scale real-time applications. Amazon ElastiCache for Redis is a great choice for real-time transactional and analytical processing use cases such as caching, chat/messaging, gaming leaderboards, geospatial, machine learning, media streaming, queues, real-time analytics, and session store. ElastiCache for Redis supports replication and archival snapshots right out of the box. 

     

    Memcached

     Amazon ElastiCache for Memcached is a Memcached-compatible in-memory key-value store service that can be used as a cache or a data store. Amazon ElastiCache for Memcached is a great choice for implementing an in-memory cache to decrease access latency, increase throughput, and ease the load off your relational or NoSQL database. Session stores are easy to create with Amazon ElastiCache for Memcached. ElastiCache for Memcached does not support replication and archival snapshots

     

    DocumentDB (ElastiCache는 아님)

    Amazon DocumentDB is a fast, scalable, highly available, and fully managed document database service that supports MongoDB workloads. As a document database, Amazon DocumentDB makes it easy to store, query, and index JSON data. DocumentDB cannot be used as a caching layer for a relational database.

     

    41. permissions boundary

    A permissions boundary can be used to control the maximum permissions employees can grant to the IAM principals (that is, users and roles) that they create and manage. As the IAM administrator, you can define one or more permissions boundaries using managed policies and allow your employee to create a principal with this boundary. The employee can then attach a permissions policy to this principal. However, the effective permissions of the principal are the intersection of the permissions boundary and permissions policy. As a result, the new principal cannot exceed the boundary that you defined. 

     

    42. DynamoDB Accelerator (DAX)

    Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement – from milliseconds to microseconds – even at millions of requests per second. DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring developers to manage cache invalidation, data population, or cluster management.

     

    43. Redshift

    Amazon Redshift is a fully-managed petabyte-scale cloud-based data warehouse product designed for large scale data set storage and analysis. 

     

    44. Amazon Kinesis Data Firehose

    Amazon Kinesis Data Firehose is the easiest way to load streaming data into data stores and analytics tools. It can capture, transform, and load streaming data into Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, and Splunk, enabling near real-time analytics with existing business intelligence tools and dashboards you’re already using today. It is a fully managed service that automatically scales to match the throughput of your data and requires no ongoing administration. It can also batch, compress, and encrypt the data before loading it, minimizing the amount of storage used at the destination and increasing security. serverless

     

    45. The spreadsheet on the EFS file system can be accessed from EC2 instances running in other AWS regions by using an inter-region VPC peering connection

    Amazon Elastic File System (Amazon EFS) provides a simple, scalable, fully managed elastic NFS file system for use with AWS Cloud services and on-premises resources.

    Amazon EFS is a regional service storing data within and across multiple Availability Zones (AZs) for high availability and durability. Amazon EC2 instances can access your file system across AZs, regions, and VPCs, while on-premises servers can access using AWS Direct Connect or AWS VPN.

    You can connect to Amazon EFS file systems from EC2 instances in other AWS regions using an inter-region VPC peering connection, and from on-premises servers using an AWS VPN connection.

    댓글

Designed by Tistory.