- AWS 소개 및 역사
- AWS 기본 서비스: EC2, VPC, S3, EBS
- AWS 보안, 자격 증명 및 액세스 관리: IAM
- AWS 데이터베이스: RDS, DynamoDB
- AWS 관리 도구: Auto Scaling, CloudWatch, Elastic Load Balancing, Trusted Advisor
AWS 역사 | 2006년도 시작(15년) |
클라우드 장점과 혜택 | 가변 비용화, 민첩성, 용량 추정 불필요, 운영유지관리, 빠른 배포, 규모의 경제 이점(대규모) - 규모의 경제 : 매년 5회의 가격 인하 정책 제공(15년동안 85회) |
글로벌 인프라 용어 - 가용 영역, 리전 |
가용 영역(AZ) : 데이터센터의 클러스터, 데이터센터 1개이상의 논리적 그룹 리전 : 2개 이상의 가용영역으로 구성 |
네트워크 구성 서비스 VPC | 사용자만의 격리된 네트워크 VPC 범위가 커서 서브넷을 나누어서 사용 : public1, public2, private1, private2 |
Public subnet | 인터넷으로 접근 가능한 리소스에 사용(Web접속) |
Private subnet | 인터넷으로 접근 불가한 리소스에 사용(App/DB 접근) |
Subet 구성 | 일반적으로 2+2로 만듦 2 Public subnet + 2 Private subnet |
3 tier 아키텍처 | Web서버 + App서버 + DB서버 |
NACL | 서브넷에 대한 접근 제어하는 방화벽(Network Access Control List) 특정 IP/포트만 열어 주는 동작에 적용 |
NACL와 SG | NACL : 서브넷을 통과 여부 SG : 서브넷을 통과한 요청이 리소스 접근 시 허용 여부 관리 |
VPC의 보안 | SG, NACL, Key pair 연결 과정 : 라우팅 --> NACL --> 서브넷 --> 보안그룹 --> 인스턴스 |
Security Group | VPC에 종속 Inbound만 설정하면 됨(Outbound는 모두 허용임) |
외부에서 접속 위한 IGW(인터넷게이트웨이) |
외부 인터넷에서 VPC내의 리소스에 접속 가능하게 해주는 서비스 |
EC2 인스턴스 | 물리적 개념과 달리 임시적으로 쓰는 개념의 자원(필요시 쓰고 불필요시 삭제) |
인스턴스 메타데이터 | 인스턴스 정보 관리하는 데이터 |
인스턴스 메타데이터 보는법 | curl http://169.254.169.254/latest/meta-data |
인스턴스 User data | 인스턴스 생성 시 동작하는 스크립트 작성 |
EBS | 스토리지 자원으로 EC2에 붙여서 사용, SSD타입과 HDD타입이 있음 EBS스냅샷 : EBS 백업을 통해서 생성, 생성된 결과는 S3에 저장 |
서버 구성 | EC2 + EBS 를 함께 사용해서 하나의 서버 구성 가능 |
프로비저닝 | 공급, 준비, 대비 의 개념, 사전에 미리 준비해 두었다가 사용가능하게 하는 절차 |
S3 | 웹하드의 개념의 서비스, 저렴한 저장용 스토리지, URL주소로 저장 내용 관리 VPC밖에서 쓸 수 있는 스토리지 서비스 동영상 같은 데이터를 저장 |
Auto Scaling | 자원을 늘리고 줄이는 서비스 만든지 오래 된 리소스를 먼저 지우는 방식으로 적용 |
IAM(identity & access) | 서비스 사용 가능(접근 가능) 유무에 대한 권한 제공 서비스 |
RDS | 관계형 데이터베이스 서비스 |
ELB | elastic load balancer 다수 EC인스턴스를 대상으로 트래픽을 균형있게 분산 |
인스턴스 비용 절감 | 최신 세대를 사용하면 비용 절감율 상승 |
Elastic IP | 고정IP로 제공되는 리소스 (NAT IP로 활용) |
Bucket | root 폴더를 의미 - 루트 폴더를 만들어서 객체 저장 - 한 계정에 100개까지의 버킷 생성 가능 |
S3는 오브젝트 스토리지 | 한 번 올리고 여러 사람이 받아갈 때 사용하기 위한 용도(성능을 발휘), 최대 5TB 크기까지 내구성 우수, HTTPS/엔드포인트로 받아 갈 수 있음, 암호화, 로그 감사 가능, REST API 제공 용도 : 백업, 파일호스팅, 미디어 호수팅, 소프트웨어 전송, AMI 및 스냅샷 저장 오브젝트 : 메타데이터를 포함해서 객체 생성 |
S3 보안 | ACL, 버킷 Policy, IAM 정책 |
S3 요금 | 스토리지 요금, 요청 요금(get object), 데이터 전송 요금 다운로드 시 비용 발생, 다수에게 공유한 경우 비용 발생 높아질 수 있으니 관리 필요 |
S3유형 | Standard Standard-IA : 접근을 자주 하지 않는 데이터 보관(Infrequent Access) -> 20% 저럼 One Zone-Infrequent Access : 단일 가용영역 --> standard보다 40% 저렴 Glacier : 컴플라이언스 보관 기준 충족(3년, 5년 등) , Standard보다80% 저렴, 복원시간 1~5분 Glacier Deep Archive : 복원시간 12시간 소요, Glacier보다 50% 저렴 |
EBS | 운영체제 설치, 추가 볼륨 - SSD 타입 : 범용 gp2, 프로비저닝 IOPS io1 - HDD 타입 : 처리량 최적화 HDD(빅데이터), cold HDD EBS요금 : 저장공간비용, IOPS비용 |
EC2인스턴스 스토리지 | 휘발성 스토리지 : 인스턴스 중단 또는 종료 시 데이터가 자동으로 삭제됨 성능이 EBS 대비 우월해서 사용 : 무료, 최대 365천IOPS 용도 : Buffer, Cache, 스크래치 데이터 |
실습) EC2 인스턴스 생성 절차 |
![]() 1) AMI : 머신 이미지 선택 ![]() 4) 스토리지 추가 |
실습) VPC 구축 및 웹서버 시작 AWS Technical Essentials - 실습 - 웹 서버 구축 과제 1: VPC 생성 |
![]() ![]()
|
실습 : VPC 생성 - VPC name - AZ - public subnet - private subnet |
![]() |
실습) Lauch VPC Wizard![]() |
![]()
|
실습) Routing Table 환경 | ![]() - local : VPC 내부 통신 |
실습) Route Table 설정 |
![]() ![]() |
![]() - private subnet은 로컬 이외에는 NAT로 라우팅 ![]() - public subnet은 로컬 이외에는 IGW로 라우팅 |
|
Security Group | ㅇ VPC선택 : VPC에 종속되므로 ㅇ Inbound Rule 선택 : Protocol, Port |
보안
책임공유 모델 | CSP의 보안책임영역과 고객의 보안책임영역이 분리된 모델 |
물리적 보안 | 비공개 AWS 데이터 센터, 허가받은 직원에 대한 이중-팩터 인증 |
보증 프로그램 | ![]() |
SSL 엔드포인트 | 보안전송 HTTPS |
멀티티어 Security Group | tier별 보안그룹 생성 필요 : 다른 모든 포트는 차단됨 - 웹티어 보안그룹, 애플리케이션 티어 보안 그룹, 데이터베이스 티어 보안그룹 ![]() |
VPC | private sunet : 인터넷 접근을 원천 차단 NAT로 내부 보호 |
IAM | 전체 서비스의 접근 권한 관리 - IAM 사용자 및 액세스 관리 - 역할 및 권한 관리 - 자격증명 연동 사용자 및 권한 관리 Policy - permission의 집합 - Policy를 유저나 그룹에 할당 Role : 임시 자격 증명 (User: 영속 자격 증명, 한 번 id/pwd받으면 지속 사용 가능) - 토큰 만료 시간 기준으로 사용 허가가 종료, 필요 시 다시 접속 시도해서 허가 받아야 함 - 해킹이 되더라도 시간이 경과되면 권한이 만료되어 접근 불가하여 보안관리에 유용함 |
IAM 인증 | 1) id/passwd 방식 2) 액세스키와 보안 접근키(secret access key)로 접근 : SDK |
IAM의 그룹 | 유저를 그룹으로 관리 |
IAM Policy | Statement 의 나열 - Action : Effect, Resource, Condition{IpAddress{SourceIp:ㅇㅇㅇ}} policy 지정 대상 : 사용자, 그룹, 역할에 부여 가능 - user를 만들어 주기 보다는 역할을 만들어서 제공하는 것이 권장됨 . 역할을 부여하고, trust관계로, 자원 액세스 |
Role | EC2안에서는 Metadata로 지정해서 Key값이 외부 노출되지 않도록 관리 |
IAM 모범 사례 | 루트 액세스 키를 삭제 개별 IAM 사용자 생성 그룹을 사용해서 IAM 사용자에게 권한 지정 최소한의 권한 부여 강력한 암호 정책 구성 권한 있는 사용자에 대해 멀티 팩터 인증을 활성화 인스턴스에서 실행되는 애플리케이션에 역할 사용 자격 증명을 공유하기보다는 역할을 사용하여 위임 자격증명을 주기적으로 교체 불필요한 사용자와 자격증명을 제거 보안 강화를 위해 정책 조건 사용 계정내 모니터링 |
CloudTrail | AWS API 호출을 기록, 정보와 함께 로그 파일을 S3에 전송 - 2주간 사용료 무료 |
데이터베이스
SQL과 NoSQL | SQL : 고정 스키마, 행렬 테이블, 수직적 확장(scale-up) NoSQL : 동적 스키마, key-value 데이터, 수평적 확장(scale-out) |
RDS | 관계형DB 서비스 Aurora : 성능 좋고 프로그램 변경 불필요(드라이버 그대로 사용해서 마이그레이션 용이) |
RDS 장점 | 빠른 배포, 애플리케이션 호환성, 성능 우수, 확장성, 보안, 비용 효율적 |
RDS 백업 | 자동 백업 : 시점 복원 수동 스냅샷 : 수동 백업 |
SPOF 문제 해소 Multi AZ | 데이터베이스를 다른 가용영역에 이중화 - master-slave : slave로 접속점 변경을 통해서 장애 극복 |
RDS 모범 사례 | 모니터링 : Mem, CPU, 스토리지 Multi AZ 배포 : 장애 대비 자동 백업 : 새벽에 기동 I/O 용량 증대 : 프로비저닝된 IOPS 활용 DNS 데이터 캐시 : TTL 30초 미만으로 설정 |
DynamoDB | 수평적 확장으로 무제한 데이터 저장 성능이 일정 : 예측 가능한 성능 자동으로 관리되는 완전관리형 : 사용자는 테이블만 생성해서 사용하면 됨 기본키 : 파티션키, 정렬키 - 처음에 파티션키만 입력하면 자동으로 관리됨 |
DynamoDB읽기/쓰기 용량 모드 | 프로비저닝 모드 : 미리 예상해서 용량 지정해서 사용(예상될 경우 사용, 비용 저렴해짐) 온디맨드 모드 : 요청당 비용(초기에 저렴하지만 용량이 정해지면 프로비저닝 모드 보다 비쌈) |
RDS ->DynamoDB | 새로운 웹 규모, 많은 수의 작은 쓰기 및 읽기 단순한 데이터 모델 범위 위주의 쿼리 애플리케이션 요구 사항에 따라 원활한 온디맨드 확장 성능-시스템에 따라 자동으로 최적화 안정성 및 가용성, 내구성 |
실습 환경) |
![]() |
실습) 1) DB Security Group 2) DB Subnet Group 3) DB Instance 4) Connect |
RDS DB 인스턴스에 대한 VPC Security Group 생성 - Name : DB Security Group (Permit access from Web Security Group) - Inbound Rule : Type은 MySQL/Aurora(3306), Source는 Web Security Group DB Subnet그룹 생성 - Multi AZ(10.0.1.0, 10.0.3.0) RDS DB 인스턴스 생성 : 4붅 정도 소요(Modifying 또는 Available 상태까지 대기) - Settings : DB instance identifier, Master username, Master password, Confirm password - DB instance size : Burstable classes (includes t classes) - Connectivity : Virtual Private Cloud(VPC) - VPC security group : DB Security Group 선택 - Additional configuration : Initial database name, automatic backups, monitoring 데이터베이스 확인 - Connect섹션 : Endpoint 필드값 Endpoint, Database, Username, Password ![]() |
ALB & Auto Scaling
Load balancer | ALB NLB |
CloudWatch | agent 서비스 : 서버에 설치하여 로그 수집 가능 |
EC2 Auto Scaling | 추가 요금 없이 사용 가능 내결함성 향상, 가용성 향상, 비용관리 개선 |
Auto Scaling 그룹 | 원하는 용량 : desired capacity 최소 크기 최대 크기 |
예약된 이벤트 대응 | 사전에 프로비저닝을 해 둔 상태에서 대응이 필요 - 갑작스런 증가 시 오토스케일의 대응에 한계 |
Trusted Advisor | 비용 최적화, 성능, 보안, fault tolerance, service limits - 경고 사항을 알려주고, 고치는 방법까지 제공 |
실습 환경) - auto scaling - CloudWatch |
![]() |
![]() |
|
실습) |
AMI Template 생성 : 오토스케일용 ALB 생성 - public subnet에 생성, 가용영역 2군데에 배포, SG(Web Security Group) - Routing : target group을 만들어서 로드 분산 EC인스턴스 템플릿 생성 : launch templates - 명칭(일련번호), 버전, AMI(WebServer), SG(80번포트) Auto Scaling group - Launch template 으로 설정 - Network> VPC 영역> Subnets (Private Subnet1, Private Subnet2) // ALB만 노출 Target group Health check : 시간 200초 지표 수집 Group size Scaling policy : CPU Target value 확인 방법 - ALB의 DNS name으로 접속 가능 |
'ITPE metacog > Cloud metacog' 카테고리의 다른 글
[AWS SAP] HPC 클러스터 최대 성능 달성 (0) | 2021.04.13 |
---|---|
[AWS SAP] S3에 동시 업로드 실패 대응과 비용 관리 (0) | 2021.04.13 |
[AWS SAP] 온프레미스의 Elasticsearch를 클라우드로 마이그레이션 (0) | 2021.04.08 |
[AWS SAP] 인터넷 접속이 없는 VPC내 EC2에서 애플리케이션 동작 (0) | 2021.04.08 |
[AWS SAP] 세션데이터를 개별 웹서버와 디커플 (0) | 2021.04.07 |