----------------------------------------------------------------------------------------------------
AWS architecure center --- 아키텍쳐 참고 가능 (https://aws.amazon.com/ko/architecture/)
aws quick starts -- 자동화된 표준 배포 (https://aws.amazon.com/ko/quickstart)
aws simple icon - 아키텍처 다이어그램 구축을 위해 설정된 공식 AWS 아이콘 (https://aws.amazon.com/ko/architecture/icons/)
AWS 용어 - 용어집 https://docs.aws.amazon.com/ko_kr/general/latest/gr/glos-chap.html
----------------------------------------------------------------------------------------------------
firefox - Console record for AWS (add-on)
- console 화면 녹화하여 그 결과를 JSON이나 YMAL 형태로 만들어 줌.
----------------------------------------------------------------------------------------------------
WAF- 백서로 제공 됨. ( AWS Well-Architected Framework 한국어 기술 백서(PDF 버전)를 공개합니다.)
- 한글 버전은 영문버전 보다 1~1.5년 늦음.
AWS Well-Architected Tool(https://aws.amazon.com/ko/well-architected-tool/)
모든 AWS 고객이 Well-Architected 검토를 이용할 수 있도록 하기 위해 AWS Well-Architected Tool을 새롭게 선보입니다. 이 도구는 아키텍트와 담당 관리자가 AWS 솔루션스 아키텍트의 도움 없이도 언제든지 AWS 워크로드를 검토할 수 있도록 설계된 셀프 서비스 도구입니다.
아키텍쳐에서 네트워킹이 가장중요함
VPC끼리 연결하려면 VPC peering 해야 서로 통신 가능함.(VPC간 IP대역이 중복되면 안됨, IGW는 필요없음)
-Public NW을 이용않음으로 보안이슈 및 DDoS 영향이 없음, 다만, NW이 복잡해짐으로 Transit G/W로 단순화 가능
*Transit gateway : 다른 VPC의 허브역할 수행(VPC연결을 많이 할 경우에 사용), Resource Manager를 통해서
Transit G/W를 타 계정에 공유해서 타계정의 VPC와 연동도 가능함.
→Transit G/W로 접근은 on-premise는 VPN방식만 가능, 일부 리전에서만 Direct Connect지원 됨.
EIP : 고정 public IP
Transit gateway : 허브개념 (최근에 나왔으며 문의가 많음)
- 연결을 많이 할 경우에 사용
cloudWatch: 모니터링 서비스
Cloudtrail- 호출되는 모든 로그를 기록하는 서비스
Elastic Beanstalk - 소스코드로 만드는 게 아니고 클릭 몇번으로 웹서버 등 구축 가능
> cloudFormaion 등도 생성(소스코드도...)
cloudFormaion : 소스코드로 인프라를 만들어 줌
[컨테이너서비스]
1. ECS (ALB로구성) - 컨테이너 Orchestration (EC2에 컨테이터를 만드는 대신 fargate로 생성)
AWS의 내부 리소스와 밀접하게 연결하여 사용하고 싶다면 선택
*fargate - 서버 또는 클러스터를 관리할 필요 없이 컨테이너 서비스를 가능하게 해주는 ECS를 위한 컴퓨팅엔진
(리소스 제어영역을 AWS에 넘겨서 ECS를 서버리스 환경같이 사용하게 함)
2. EKS (ELB외 내부에 Proxy 를 두어 Pods로 부하분산구성) - 컨테이너 Orchestration을 쿠버네티스 기반
외부 요소들 (Monitoring Tools 및 Hybrid Cloud 등등)과 연결하여 사용하고 싶다면 선택
step function - 순서도 만들어주는 서비스, lambda 로 설정시 lambda끼리 서로 동작하는게 아니라
step function에서 제어?
AWS란? - 프로그래밍 가능한 리소스, 동적 기능, 종량 과금제
> 장점
. 자본 비용을 가변 비용으로 대체
. 규모의 경제로 얻게 되는 이점
. 용량 추정 불필요
. 속도 및 민첩성 개선
. 중요한 문제에 집중
. 몇 분 만에 전 세계에 배포
AWS well architected 프레임워크(AWS Well-Architected Framework)
> 다섯가지 핵심 요소 : 보안, 안정성, 비용최적화,성능 효율성, 운영 우수성
1)보안 : IAM으로 자격증명 연동가능(AD, LDAP,등) - Cloud Trail로 추적 기능 활성화(S3에 data저장)
2)안정성 : Auto-Scaling
3)비용최적화 : Calculator, cost explorer, trusted advisor(standard, advanced 2개버전)
4)운영 우수성 : Cloud watch
5)성능 효율성
AWS 리전 표
> 어떤 리전에서는 제공하는 서비스가 다른 리전에서는 동일 서비스를 제공하지 않을 수 있음.
인프라에 대한 용어 (4가지) -AWS 글로벌 인프라 3가지 기억해야 함.
> AZ(가용영역) - 사용자 선택,
1. 리전 - 인프라 위치를 지리적 대표 도시 이름으로 논리적으로 표현한 의미임. ex)서울리전, 도쿄리전, 2개이상의 AZ (총 21개)
2. 엣지 로케이션 - 리전하고 별도의 시설
> 리저널 엣지 캐시
> aws 4가지 기능제공
Route53 (DNS), Cloud Front (CDN), AWS Shield, AWS Web Application Firewall(WAF)
=================================================================================
AZ-AZ간 : private link
리전-리전간 : AWS 백본 네트웍 연결
Edge location (4가지 서비스 제공)
> CloudFront
> Route53
> WAF
> shield
Regional edge cache
> 리전과 edge location 사이쯤에 Regional edge cache 가 있음
> edge location과 regional edge cache는 선택이 불가함
AWS 서비스
1. global
2. Region : S3, DDB
VPC 내부, VPC 외부에 만드는게 있음.
3. AZ : EC2,EBS,RDS
> 버킷 속 파일 중간에 디렉토리 만든다고 해서 파일 정보가 디렉토리에 속하지않음
. 디렉토리+파일 => 키값으로 저장
S3 서비스
> S3 객체 잠금 기능 : 위변조 하지 못하도록 할때 사용
> S3 - 객체 크기 5TB 제한, 그 외에 제한 없음.
- 대용량 분속 시 사용 가능
- 백업 도구로 사용 가능
> S3 transfer acceleration
- cloudFront edge locatiion 사용하여 아마존 네트웍 사용(중간 구간) : 비용발생
snowball- 테라 이동
> 디스크 box같은 것으로 데이터 배송하여 migration함
snowmobile- 페타 이동
> 컨테이너 트럭 같은 것으로 데이터 migration(트럭으로 이동)
저장후 액세스 안할경우 - S3 galcier 사용이 유리
cloudFront는 S3와 사용하는 것이 좋다(리전과 통신하는 비용 발생하지 않음)
검색을 해야하는 경우는 S3 galcier를 사용하지 않는 것이 좋다.
=====================================================
실습1
Amazon S3에 버킷 생성
사용자의 버킷에 콘텐츠 업로드
객체에 대한 액세스 활성화
웹 사이트 업데이트
============================================================
시험칠때 한국어로 보면 이해 안될때 영문 전환해서 잠깐 볼수 있음
영문으로 신청하면 한글로 못봄
30분 연장신청 가능하여, 신청 전에 30분 연장한 후 신청해야함.
130분=>160분(영문 시험)
solutions architect associate
> 2018년 8월 이후 신버전으로 변경됨.
비용효율적인 것은?
> 일단 구성은 다 됨.
============================================================
비관리형 서비스
- EC2에 EBS붙여서 DB설치하여 만들어야 함.
관리형 서비스
- RDS : 기존 오라클에서 쓰는 기능 중 안되는거 있을 수 있음.
이 경우 비관리형 서비스를 써야함
EC2 생성
AMI - Amazon Machine Image
- 사전구축, marketplace, 자체 생성(3가지 경우)
- 루트볼륨용 텔플릿, 시작권한, 블록 디바이스 매핑(EBS가 대부분,Instance 볼륨이 가능하나 휘발성임)
- AMI만들면 S3(아마존, 내 계정 S3가 아님)에 저장됨(비용발생)
EC2 사용자 데이터는 EC2 생성시 1번만 수행 됨(주의사항)
- 재기동할때는 수행되지 않음
*NAS서비스
EFS : 공유볼륨 (리눅스) - EC2에 연결(여러 EC2동시 Access, 리전간 공유가능)
- 가용영역,리전,VP, 계정
FSx : 공유볼륨 (윈도우)
- 가용영역
> NFS버전은 4.0만 지원함
EC2 요금 옵션
> 온디맨드 인스턴스 : 사용한 만큼
> 예약 인스턴스 : 1~3년 미리 예약 (앞보다 70% 저렴)
> 스팟 블록 : 온디맨드보다 90% 저렴
> 전용 옵션
- 전용 인스턴스 : 처음 선점한 사용자가 호스트 사용
- 전용 호스트 : 호스트가 지정, 호스트 아이디 제공
사용자의 인스턴스 추적 : 태그 활용
> 관리,검색, 필터링 가능
> 비용 분리 등 관리 용이함
> 태그 기준으로 패치 적용도 가능함.
> 운영자에게 꼭 필요함. 정책 만드는게 좋음. 태크 표준 만드는 게 좋음.
amazon RDS 마스터
> EC2 인스턴스와 연결
> AZ가 다른 EC2와 연결 가능함.
aurora - serverless 기능 추가
> 쿼리시에만 비용과금
dynamoDB - 완전 관리형 비관계형 데이터베이스
이벤트 중심 프로그래밍(서버리스) > lamda 수행
최상의 수평 확장 기능
- 글로벌 테이블 : 리전에 테이블 만들면, 다른 리전에 업데이트(복제) 됨
> 최근에 aurora도지원
-세션 정보는 dynamoDB 에 저장.(매우 중요, 고속 저장)
- 임시 데이터
기본 3개 복제됨(비동기 방식)
-일관성 옵션
> 최종 일관성 : 1개에만 쓰여도 읽기 가능(업데이트 되지 않은 정보 읽을 가능성 있음) -> 재 조회시 ....
> 강력한 일관성 : 3개가 모두 복제가 된 후 읽기 가능
-s3 와 유사하게 만들어짐. AZ 밖에 구성
============================================================================
(((네트웍 구성)))
VPC - Virtual Private Cloud
> 프라이빗 네트워크 공간
> 워크로드 논리적 격리
> 액세스 제어 및 보안설정
> 보안그룹, NACL 설정
> 가용영역에 걸쳐서 생성
> 단일 계정에 다중 VPC => 결제 1개
> 다중 계정 및 다중 VPC => 대규모 조직
> 계정당 리전당 VPC 5개까지...20개 리전에 총 100개 VPC 생성 가능
> CIDR 지정
subnet
> subnet 당 5개의 IP주소를 예약하여, 할당하여 사용할 수 없음.
> 하나의 가용영역에 존재
> 서브넷당 1개의 라우팅 테이블을 만드는 것을 권장
. 라우팅 테이블 1개로 여러 서브넷 연결하는 것이 가능하긴 함.
인터넷 게이트웨이
> 관리형 서비스
NAT 게이트웨이
> 관리형 서비스
> 퍼블릿 서브넷에 생성해야함.
NAT 인스턴스
> 비관리형 서비스
ELB 구성시 웹도 private에 구성해도 됨.
ENI
EIP
> 리전당 5개 허용
> 안써도 비용 발생
> NAT G/W에는 반드시 사용
보안그룹
> 방화벽
> 인스턴스 레벨에서 설정
> 상태저장 - 인바운드만 설정
NACL
> 서브넷 경계의 방화벽
> 모든 인바운드 아웃바운드 허용
> 상태 비저장 - 인바운드,아웃바운드 모두 설정
보안그룹과 NACL은 certi.에 많이 나옴
intelligent teering
> 날짜가 지나면 자동으로 이동
> access가 적은 데이터는 조금 더 저렴한 스토리지로 이동하여 비용을 줄일 수 있음.
정적 EC2는 S3만으로도 만들 수 있다.(정적 웹사이트)
S3는 무제한 갯수, 용량 (단 1개의 객체 최대 크기만 5테라 제한)
EC2 만들때 ID/PW로 접속하는 것을 권장 하지 않음
> keypair이용하여 접근
RDS - 수직 확장만 가능
DynamoDB- key, value - 비관계형
> 파티션키 : 중복제거 (필수)
> 정렬키:옵션
> 클로벌 테이블 - 여러 리전에 복제
multi-aging : standby DB : 작업 시 넘겨놓고 작업
ELB
> CLB : Classic
> ALB : application
> NLB : Network
VGW(Virtual private G/W) : VPN 연결시 사용
> 속도가 좀 떨어짐, 네트웍도 일정하지 않음
그래서 Aws Direct connet 사용 (1 or 10gbps 사용)
Aws Direct connet : DX로케이션이 있으며, AWS와 전용선 사용
> 고객사에서 DX로케이션까지 연결하면 AWS전용선 사용
> DX 로케이션이 가산센터(?) 인 것 같습니다.
VPC는 기본적으로 VPC끼리 격리
> 연결하려면 VPC peering 써야함.
> peering 하려면 사설 IP대역을 다르게 써야함
> 다른 리전간 VPC peering 쓸수 있음.
> 다른 계정의 VPC도 peering 가능
> 전이적 피어링관계는 안됨
A-B간, B-C간 피어링할때 A-C간은 자동으로 안됨
> 다른 VPC의 I-G를 사용하여 외부통신은 할 수 없음.
> VPC피어링 시 라우팅테이블 추가해야함(대상을 VPC피어링 이름으로...)
EndPoint : VPC내 Ec2가 VPC외부에 있는 S3,dynamoDB 연결할때 IGW가 아닌 사설망 형태도 연결하기 위해 사용
> 동일한 리전에서 써야함
> NAT G/W 없어도 S3 연결가능 (중요 포인트)
> 인터페이스 엔드포인트 : 프라이빗 IP가 만들어지며 통신
> 게이트웨이 엔드포인트 : ID가 생성되어 라우팅 테이블에 설정 가능
AWS transit Gateway : 여러 VPC와 연결, Direct connect, VPN 등을 연결해주는 허브역할
> VPC간 각각 peering 하지 않고 gateway사용 (매우 중요)
ELB connection Draining
> ELB에서 해시체크 하다가 이상있는 EC2를 제거해야하지만, 기존 사용자들을 위해 기다려주는 기능
ELB는 EC2의 상태확인
Route53 : DNS서비스
> ELB의 상태 확인
IAM
사용자: 1. 사용자명,암호 -> console작업
2. 액세스키ID, 비밀액세스키-> CLI,SDK
IAM정책은 AWS 서비스에 대한 액세스만 제어함.
정책(Json) 1. 자격증명 기반(대부분 서비스)
2. 리소스 기반 - 몇가지 리소스에만(S3,S3 glacier,KMS) 예)버킷
IAM정책은 거부가 우선임
정책은 사용자
그룹
역할에 권한부여
> 어플리케이션에는 정책 부여불가
역할은 사용자와 서비스에만 정책적용가능
> 사용자에게는 임시 권한을 부여하는 형태임 (로그인 직후엔 권한없음)
역할은 스위치다*****
> s3권한이 없던 유저가 역할을 통해 s3 접근 권한을 받으면, s3 접근가능함.
명시적 거부가 우선이지만 이경우는 다름.
역할
> 외부 인증 사용자에게 액세스 제공
AWS STS : 자격증명 서비스 (service token service)
SAML : SSO같은 기능
AWS Oraganizaions : 정책설정. 통합관리, 결제 통합 관리, 개별 권한 보다 우선함
S3 권한 부여(3가지방법)
> 자격증명(IAM)
> 버킷정책
> ACL
Auto scaling 방법(3가지)
- 예약 : 시간 정해서 조정
- 모니터링 : 사용율 변화에 따라 조정
- 예측 (서울리전에는 없음) : 머신러닝을 통해 예측해서 조정
===========================================
시험에 관한 FAQ :
http://bit.ly/aws-study-resource
acloud.guru : 교육 사이트
> discussion에서 tip 보면 좋음 , 7일 무료
==========================================