이 포스트는 AWS 인증 자격시험 두 번째인,
AWS Certified Solutions Architect - Associate 취득기가 되겠습니다.
* Exam Name - AWS Certified Solutions Architect - Associate
* Exam Code - SAA-C01
* Online Class - Exam Readiness: AWS Certified Solutions Architect - Associate
이 시험준비에 앞서 AWS 기초격인 "Cloud Practitioner" 도전기는 아래 포스트를 참고해 주세요.
* Software | AWS Certified 자격증 취득기 - 1
- https://chocoball.tistory.com/entry/Software-AWS-Certified-1
이 온라인 강의에 접근하는 방법은, 위의 1편에서 다루어졌으니, 모르시는 분은 1편을 참고해 주세요.
0. 시작하기
이 시험이 묻고자 하는 내용과 범위 입니다.
Cloud Practitioner 와 취급하는 서비스 자체는 같은 것이나,
추구하고자 하는 목적에 부합하는 기능이나 case 들을 이용하여 어떻게 서비스 구성하는 것이 적절한지를 물어보는 형식입니다.
아래에서는 온라인 강의와 예시로 풀어진 문제들 위주로 정리했습니다.
시험보기 전, 이 포스트를 보고 다시금 요약 내용을 확인하는 용도로 생각하면 될 것 같습니다.
1. Design Resilient Architectures
* EC2 Instance Store
- Ephemeral volumes
- Only certain EC2 instances
- Fixed capacity
- Disk type and capacity depends on EC2 instance type
- Application-level durability
* Elastic Block Store
- Different types
- Encryption
- Snapshots
- Provisioned capacity
- Independent lifecycle than EC2 instance
- Multiple volumes striped to create large volumes
* Amazon EFS
- File storage in the AWS Cloud
- Shared storage
- Petabyte-scale file system
- Elastic capacity
- Supports NFS v4.0 and 4.1 (NFSv4) protocol
- Compatible with Linux-based AMIs for Amazon EC2
* Amazon S3
- Consistency model
- Storage classes & Durability - Standard, Standard-IA
- Encryption (data at rest) - SSE-S3, SSE-KMS, SSE-C
- Encryption (data in transit) - HTTPS
- Versioning
- Access control
- Multi-part upload
- Internet-API accessible
- Virtually unlimited capacity
- Regional Availability
- Highly Durable - 99.999999999%
* Amazon Glacier
- Data backup and archive storage
- Vaults and archives
- Retrievals - expedited, standard, bulk
- Encryption
- Amazon S3 object lifecycle policy
- Regionally availability
- Highly durable - 99.999999999%
* Fault Tolerance
The more loosely your system is coupled, the more easily it scales and the more fault-tolerant it can be
* CloudFormation
- Declarative programming language for deploying AWS resources.
- Uses templates and stacks to provision resources.
- Create, update, and delete a set of resources as a single unit (stack).
* AWS Lambda
- Fully managed compute service that runs stateless code (Node.js, Java, C#, Go and Python) in response to an event or on a time-based interval.
- Allows you to run without managing infrastructure like Amazon EC2 instances and Auto Scaling groups.
* Test Axioms
- Expect "Single AZ" will never be a right answer
- Using AWS managed services should always be preferred
- Fault tolerant and high availability are not the same thing
- Expect that everything will fail at some point and design accordingly
2. Design Performance Architectures
* Amazon EBS Volume Types
* Amazon S3 Buckets
- To upload your data (photos, videos, documents)
1. Create a bucket in one of the AWS Regions.
2. Upload any number of objects to the bucket.
- Bucket (Virtural hosted-based URLs)
http://bucket.s3.amazonaws.com
http://bucket.s3-aws-region.amazonaws.com
- Object
https://s3-ap-northeast-1.amazonaws.com/[bucket name]/Key (file name)
* Amazon S3: Payment Model
- Pay only for what you use
-- GBs per month
-- Transfer out of region
-- PUT, COPY, POST, LIST, and GET requests
- Free of charge
-- Transfer in to Amazon S3
-- Transfer out from Amazon S3 to Amazon CloudFront or the same region
* Amazon S3: Storage Classes
- General purpose: Amazon S3 Standard
-- Higher availability requirements: Use cross-region replication.
- Infrequently accessed data: Amazon S3 Standard - Infrequent Access
-- Lower cost per GB stored
-- Higher cost per PUT, COPY, POST, or GET request
-- 30-day storage minimum
* Lifecycle Policies
- Amazon S3 lifecycle policies allow you to delete or move objects based on age.
-- until 30 Days : Amazon S3 Standard
-- until 60 Days : Amazon S3 Standard - Infrequent Access
-- until 365 Days : Amazon Glacier
-- after 365 Days : Delete
* Amazon Databases
- Amazon Relational Database Service
- Amazon DynamoDB
- Amazon Redshift
* When to Use Amazon RDS
- Use Amazon RDS
-- Complex transactions or complex queries
-- A medium-to-high query/write rate
-- No more than a single worker node/shard
-- High durability
- Do not use Amazon RDS
-- Massive read/write rates (e.g., 150 K write/second)
-- Sharding
-- Simple GET/PUT requests and queries
-- RDBMS customization
* RDS Read Replicas
* DynamoDB: Provisioned Throughput
- Allocates resources based on throughput capacity requirements (read/write)
-- Read capacity unit (for an item up to 4 KB in size)
One strongly consistent read per second
Two eventually consistent reads per second
-- Write capacity unit (for an item up to 1 KB in size)
One write per second
* Caching in CloudFront
1. Request is routed to most optimal edge location.
2. Non-cached content is retrieved from the origin.
3. Origin content is transferred to CloudFront edge location for caching.
4. Data is transferred to end user.
* Caching with ElastiCache
* Memcached vs. Redis
- Memcached
-- Multithreading
-- Low maintenance
-- Easy horizontal scalability with Auto Discovery
- Redis
-- Support for data structures
-- Persistence
-- Atomic operations
-- Pub/sub messaging
-- Read replicas/failover
-- Cluster mode/sharded clusters
* Amazon CloudFront
- Use case and benefits
- Content - static and dynamic
- Origins - S3, EC2, ELB, HTTP server
- Protect private content
- Improve security
-- AWS Shield Standard and Advanced
-- AWS WAF
* Vertical Scaling vs. Horizontal Scaling
- Vertical scaling (Scale up and down)
-- Change in the specifications of instances (more CPU, memory)
- Horizontal scaling ( Scale in and out)
-- Change in the number of instances (add and remove instances as needed)
* Auto Scaling
- Launches or terminates instances
- Automatically registers new instances with load balancers
- Can launch across Availability Zones
* Implement Elasticity
* Auto Scaling
- Launches or terminates instances
- Automatically registers new instances with load balancers
- Can launch across Availa
* Auto Scaling Components
- Auto Scaling launch configuration
-- Specifies EC2 instance size and AMI name
- Auto Scaling group
-- References the launch configuration
-- Specifies min, max, and desired size of the Auto Scaling group
-- May reference an ELB
-- Health Check Type
- Auto Scaling policy
-- Specifies how much to scale in or scale out
-- One or more may be attached to Auto Scaling group
* CloudWatch Metrics
- Know what CloudWatch can monitor
-- CPU / Network / Queue Size
- Understand CloudWatch Logs
- Understand the difference between default and custom metrics
* Test Axioms
- If data is unstructured, Amazon S3 is generally the storage solution.
- Use caching strategically to improve performance.
- Know when and why to use Auto Scaling.
- Choose the instance and database type that makes the most sense for your workload and performance need.
3. Specify Secure Applications and Architectures
* Infrastructure
- Infrastructure
-- Shared responsibility model
- Protecting your AWS resources
-- Principle of least privilege
-- Identities
* Shared Responsibility Model
* Principle of Least Privilege
- Persons (or processes) can perform all activities they need to perform, and no more.
* AWS IAM
- Centrally manage users and user permissions in AWS.
- Using AWS IAM, you can:
-- Create users, groups, roles and policies.
-- Define permissions to control which AWS resources users can access
- IAM integrates with Microsoft Active Directory and AWS Directory Service using SAML identity federation.
* Identities
- IAM users: Users created within the account.
- Roles: Temporary identities used by EC2 instances, Lambdas, and external users.
- Federation: Users with Active Directory identities or other corporate credentials have role assigned in IAM.
- Web Identity Federation: Users with web identities from Amazon.com or other Open ID provider have role assigned using Security Token Service (STS).
* Compute/Network Architecture
- Virtual Private Cloud (VPC)
- Design your network architecture in the cloud
-- Security
-- Routing
-- Network isolation
-- Management
-- Bastion hosts
* Virtual Private Cloud
- Organization: Subnets
- Security: Security groups/access control lists
- Network isolation: Internet gateways/virtual private gateways/NAT gateways
- Traffic direction: Routes
* How to Use Subnets
- Recommendation: Use subnets to define internet accessibility.
- Public subnets
-- To support inbound/outbound access to the public internet, include a routing table entry to an internet gateway
- Private subnets
-- Do not have a routing table entry to an internet gateway
-- Not directly accessible from the public internet
-- To support restricted, outbound-only public internet access, typically use a "jump box" (NAT/proxy/bastion host)
* Security groups vs. Network ACL
* Security Groups
* VPC Connections
- Know the services to get traffic in or out of your VPC
-- Internet gateway: Connect to the internet
-- Virtual private gateway: Connect to the internet
-- AWS Direct Connect: Dedicated pipe
-- VPC peering: Connect to other VPCs
-- NAT gateways: Allow internet traffic from private subnets
* Outbound Traffic From Pirvate Instances
* Data Tier
- Data in transit
-- In and out of AWS
-- Within AWS
- Data at rest
-- Amazon S3
-- Amazon EBS
* Data in Transit
- Transferring data in and out of your AWS infrastructure
-- SSL over web
-- VPN for IPsec
-- IPsec over AWS Direct Connect
-- Import/Export/Snowball
- Data sent to the AWS API
-- AWS API calls use HTTPS/SSL by default
* Data at Rest
- Data stored in Amazon S3 is private by default, requires AWS credentials for access
-- Access over HTTP or HTTPS
-- Audit of access to all objects
-- Supports ACL and policies
--- Buckets
--- Prefixes (directory/folder)
--- Objects
- Server-side encryption options
-- Amazon S3-Managed Keys (SSE-S3)
-- KMS-Managed Keys (SSE-KMS)
-- Customer-Provided Keys (SSE-C)
- Client-side encryption options
-- KMS managed master encryption keys (CSE-KMS)
-- Customer managed master encryption keys (CSE-C)
* Managing Your Keys
- Key Management Service
-- Customer software-based key management
-- Integrated with many AWS services
-- Use directly from application
- AWS CloudHSM
-- Hardware-based key management
-- Use directly from application
-- FIPS 140-2 compliance
* Integrating AWS KMS
- Amazon EBS/S3/RDS/Redshift/Elastic Transcoder/WorkMail/EMR
* Test Axioms
- Lock down the root user
- Security groups only allow. Network ACLs allow explicit deny
- Prefer IAM Roles to access keys
4. Design Cost-optimized Architectures
* Amazon EC2 Pricing
- Clock hours of server time
- Machine configuration
- Machine purchase type
- Number of instatnces
- Load balancing
- Detailed monitoring
- Auto Scaling
- Elastic IP adresses
- Operating systems and software packages
* Amazon EC2: Ways to Save Money
- Reserved Instances
-- EC2 Reserved Instances (RI) provide a significant discount (up to 75%) compared to on-demand pricing.
-- RI Types: Standard IRs / Convertible RIs / Scheduled RIs
- Spot Instances
-- Spot Instances are spare compute capacity in the AWS Cloud available to you at steep discounts compared to on-demand prices (30 t0 45%)
* Amazon S3 Pricing
- Storage class
- Storage
- Requests
- Data transfer
* Amazon S3 Storage Classes
* Amazon EBS Pricing
- Considerations for estimating the cost of using Amazon EBS
-- Volumes
-- Input/output operations per second (IOPS)
-- Snapshots
-- Data transfer
* Serverless Architecture
- Recognize the opportunity to reduce compute spend through serverless architectures
-- AWS Lambda / S3 / DynamoDB / API Gateway
* Storage: Amazon CloudFront
- Use cases
-- Content - Static and dynamic
-- Origins - Amazon S3, EC2, Elastic Load Balancing, HTTP servers
- Cost Benefits
-- No cost for data transfer between S3 and CloudFront
-- Can be used to reduce the compute workload for EC2 instances
* Caching with CloudFront
Considerations for estimating the cost of using Amazon CloudFront:
* Test Axioms
- If you know it's going to be on, reserve it.
- Any unused CPU time is a waste of money.
- Use the most cost-effective data storage service and class.
- Determine the most cost-effective EC2 pricing model and instance type for each workload.
5. Define Operationally-excellent Architectures
* Operational Excellence
The ability to run and monitor systems to deliver business value and continually improve supporting processes and procedures.
- Prepare / Operate / Evolve
* Operational Excellence: Design Principles
- Perform operations with code
- Annotate documentation
- Make frequent, small, reversible changes
- Refine operations procedures frequently
- Anticipate failure
- Learn from all operational failures
* AWS Services Supporting Operational Excellence
- AWS Config
- AWS CloudFormation
- AWS Trusted Advisor
- AWS Inspector
- VPC Flow Logs
- AWS Cloud Trail
* CloudWatch
* Test Axioms
- IAM roles and easier and safer than keys and passwords
- Monitor metrics across the system
- Automate responses to metrics where appropriate
- Provide alerts for anomalous conditions
6. 자료
시험볼 때 참고한 덤프와 온라인 강의 정리 공유합니다.
* PDF dump
AWS-Solutions-Associate_V17.35.pdf
AWS-Solutions-Associate-KR_V17.35.pdf
AWS-Solutions-Architect-Associate_V16.75.pdf
AWS_Solutions_Architect_Associate_2016_pdf.zip
* ETE dump of 2018 / 2019
AWS_Solutions_Architect_Associate_2019_ete.zip.001
AWS_Solutions_Architect_Associate_2019_ete.zip.002
* On-line summary
AWS_SAA-C01_20190903_chocoball.pdf
* On-line practice (SAA-P01)
AWS_SAA-P01_20190922_chocoball.pdf
* Website dump
7. 등록
언제 시험볼까 고민만 하다가는 시간만 갈 것 같아, 첫시험 본 다음날 바로 다음 시험을 등록했습니다.
미리 가서 공부할 수 있는 환경이 조성된 KG ITBANK 로 결정. 시간은 아침 제일 빠른게 좋죠.
Cloud Practitioner 합격 후, 받은 50% discount 쿠폰을 사용해 봅니다.
오오오! 17만원이던게 반으로 깎이는 마술이!
이제 되돌아 가지 못합니다. 앞으로 나아가는 수 밖에.
주사위는 던져졌습니다.
보유하고 있는 덤프 및 공부 자료를 본 결과, 하루에 100문제 정도 풀 수 있는 시간을 확보해야 하네요.
만만치 않습니다만, 직접 AWS Management Console 에서 테스트 하면서 공부하니, 이제 좀 시스템이 실감이 나고 재미 있습니다.
8. SAA-P01
Architect - Associate 의 시험 코드는 SAA-C01 입니다.
네 맞아요, SAA-P01 은 Practice 시험 입니다. 인가된 시험장이 아닌 인터넷이 되는 어느곳에서든 시험삼아 보는 시험이지요.
본 시험은 비싸니, 감 잡으라고 만든 30분짜리 시험 입니다. 특별히 예약하지 않고, 등록 후 바로 시험볼 수 있습니다.
가격은 세금 포함 2만 5천원 정도 하는데,
Practitioner 를 따면, 이 Practice 시험을 공짜로 한번 볼 수 있는 바우처를 줍니다.
시험을 하나 pass 할 때 마다, Practice Voucher 와 50% discount 는 매번 나오니 아껴쓰지 않습니다.
Practice 시험을 선택하고 "Pay For Exam" 하면, 보통 시험 지불하는 화면이 아래처럼 나옵니다.
Payment 란에, 받은 Voucher 번호를 넣고 적용하면, 공짜가 되는 마술을 볼 수 있습니다.
저는 시험보기 이틀 전에 봤습니다.
지금까지 한 공부가 맞는 방법인지 확인하고, 틀렸으면 새로운 공부 전략을 짜기 위해서죠.
떨리는 마음으로 Start 를 눌러서 30분간 지옥을 맛봅니다. 아무리 연습이라도 모니터에 본 시험과 같이 나오니 긴장 엄청 됩니다.
제길슨... 52%. 이대로는 떨어진다는 소리 입니다.
이 Practice 시험 이후, 보고 있던 예전 dump 는 바로 버리고, 남은 하루 반을 오로지 최신 덤프 + 인터넷 최신 시험 예상 문제 사이트를 중심으로 빡쎄게 공부하게 됩니다.
예전 dump 를 바로 버린 이유는, 이 연습 시험을 통해, 예전 덤프에서의 간단한 시나리오 설명과 문제는 지금 출제 성향과 너무 다르다는걸 알았기 때문입니다. 정말 도움이 많이 되었습니다.
9. 시험 당일
새벽 5시에 일어나서 한시간 공부한 다음, 언제나처럼 목욕 재개 후, 길을 떠납니다.
버스타고 가면서 낮게 깔린 안개와 해뜨는 장면이 멋있어서 찍어 봤습니다.
이번이 세번째 방문인 KG ITBANK.
8시에 도착했으니, 한시간 가량 더 공부하고 시험 쳤습니다.
130분 동안, 65문제.
34초 남겨두고 End Test 버튼을 누를 만큼 저에게는 어려웠습니다.
시나리오에 맞는 답을 고르는려면 문제 본문을 읽어야 하는데, 이게 생각 외로 많이 걸립니다.
추가로, 어떤 놈이 주차장 출구 센서쪽에 주차를 한 바람에 새벽 내내 울려 퍼지는 알람소리로 잠을 설쳤더니만, 헤롱헤롱 했습니다.
머리와 몸을 쥐어 짜며 130분 꽉꽉 채웠습니다.
휴우~... 하얕게 불태웠어. 시험 끝나고 밖에 나오니 가을 햇빛에 눈이 부십니다.
그래도 여기까지 왔으니, 종로 보석상가 전경도 찍어 봅니다.
바로 옆에 공원으로 잘 조성이 되어 있더군요. 왠지 바로 회사 가기는 아쉬워서 잠시 들러보기로 합니다.
조선시대 왕의 행사 때, 행진에 사용된 종묘전교도 건너가 보구요.
공원 한쪽에 있는 "월남 이상재 선생" 동상도 봤습니다.
독립운동가시고, 1927년 독립운동중에 서거하셨다고 합니다.
전혀 모르던 우리의 자랑스런 독립 운동가셨군요. 꼭 기억하겠습니다.
동상 뒤쪽에 쓰인 글귀가 좋아서 찍어 봤습니다.
오늘 우리를 있게 해준, 너무나도 감사한 우리 조상님들 입니다.
감사합니다. 잊지 않겠습니다. 열씸히 살겠습니다.
공원을 지나 버스타러 가던 길에 있는 큰 학원 건물 입니다. 희한하게 이런 모양의 건물이 몇 개 더 있습니다.
경사면을 없애고, 그냥 똑바로 위에까지 올렸으면 공간이 더 많이 나왔을 터인데... 왜 이렇게 디자인 했을까요?
노인들 분만 서명하고 있었습니다. 이런 천막이 두 개 더 있더군요. 오로지 노인 분들만...
시간이 점심시간이 거의 다 되어 버려서, 버전에 갔던 버거킹에는 자리가 없을 것 같았습니다.
정류장 근처까지 오니 못보던 버거가게가 있네요.
세트메뉴로 하니 9,800원이 나왔습니다. 오늘만큼은 수고한 나에게 선물이라고 생각하고 맛있게, 그리고 여유 있게 먹었습니다.
음? 건너편에 SUBWAY 가! 다음 시험때는 저기에서 먹어야겠습니다.
한화 빌딩 앞에서 버스를 타는데, 태양전지 발전 정류소라 합니다. 제가 좋아하는 태양 전지라니!
그러고 보니 정류소 지붕 위에 태양 전지판이 설치되어 있었습니다. ECO 는 좋은 것입니다.
10. 결과
운이 좋았는지 다행히 PASS 하였습니다!!!
점수는 720 커트라인에 755점. 역시 이 맛에 시험 칩니다. (라고 하기엔 매번...)
분야별로 본다면, 전반적으로 고루 나왔네요.
Benefit 도 새로이 갱신 되었습니다. 정말 매번 패스할 때 마다 공짜 Practice 와 50% discount 가 나오는군요.
FIN
시험은 dump 로 하는게 아닌 것이라고 이번에 배우게 되었습니다.
Dump 처럼 나왔더라도 dump 와 동일하게 나온 것은 5문제 될까 말까...
Solution Architect 시험인지라, 상황을 제시하고 해결 위한 답을 찾아야 합니다.
답들도 서로 비슷비슷하게 해 놔서, 해당 지식을 확실히 알고 있지 못하면, 문제를 풀 수 없습니다.
온라인 강의에서 했던 말이 계속 귀에 맴돕니다.
"get hands dirty"
쉽게 공부하지 말고, 직접 손으로 해보면서 불편하게 공부하라는 이야기 입니다.
이 문구가 이 시험의 근본을 설명한다고 생각합니다.
쥐어 짜면서 공부했지만, 결과가 좋아서 기분이 너무 좋습니다.
이제 Architect - Professional 을 위해 다시 시작합니다.
'Software' 카테고리의 다른 글
Software | AWS Certified 자격증 취득기 - 3 (12) | 2020.02.02 |
---|---|
Software | GAIQ - Google Analytics for Beginners (2) | 2020.01.09 |
Software | AWS Certified 자격증 취득기 - 1 (12) | 2019.09.04 |
Software | Daum AdFit 등록해 보기 (0) | 2019.08.30 |
Software | SyntaxHighlighter v4.0.1 로 업데이트 하기 (0) | 2019.07.09 |