오늘도 https://brunch.co.kr/@topasvga/2502
이 블로그를 보면서 정리했다.
1. VPC
Virtual Private Cloud라는 것으로 가상 네트워크를 말한다.
왼쪽은 vpc를 사용해서 ec2를 정리한 모습이고, 오른쪽은 vpc를 사용하지않아 산포되어 있는 상태이다.
관리의 편리성을 위해 vpc를 사용한다.
2. VPC 보안
VPC 라는 가상 네트워크 안에 여러가지가 있는데,
1) VPC 라우팅 테이블(Routing Table)
- 서브넷 혹은 게이트웨이를 통해서 네트워크 트래픽이 어디로 향하는지에 대해 결정할 때 사용되는 routes라는 몇가지 룰을 포함
- 네트워크 트래픽을 통과시켜주기 위해 서브넷과 게이트웨이를 통과함을 알 수 있다
2) 서브넷 ACL(Network Access Control Lists ;네트워크 엑세스 제어 목록)
- VPC를 위한 하나 이상의 서브넷에서 들어오고 나가는 트래픽을 제어하기 위한 방화벽(firewall) 역할을 하는 추가적인 보안 계층
- 네트워크 ACLs는 연결된 서브넷을 위한 서브넷 단(level)에서 inbound(들어오는) 및 outbound(나가는) 트래픽 둘 다 제어하는 방화벽(firewall) 역할
- ACL은 라우팅 테이블을 지나 서브넷으로 들어가고 나가는(inbound & outbound) 트래픽을 제어
3) 탄력적 네트워크 인터페이스 보안그룹(ENI, Elastic Network Interface Security Group)
- 동일한 가용 영역의 EC2 인스턴스 간에 이동할 수 있는 가상 네트워크 인터페이스. 프라이빗 IP 주소, 탄력적 IP 주소, MAC 주소 유지
- 여러 네트워크 인터페이스를 하나의 인스턴스에 연결하면 유용
- 인스턴스를 위해 들어오고(inbound) 나가는(outbound) 트래픽을 제어해주는 가상 방화벽(firewall) 역할
4) 서드파티 호스팅 기반 보안 제품
3. ELB(Elastic Load Balnacer)
총 4개의 로드밸런서가 있음
- Network Load Balancer (NLB)
- NLB는 L4 (Network Layer) 계층에서 작동한다.
- TCP/UDP 트래픽을 로드밸런싱하여 내부 인스턴스로 전달
- TCP/UDP 서버를 구축할 때 NLB는 굉장히 낮은 지연시간으로 최적의 성능을 보여줌
- 로드 밸런서에 대한 고정 IP 주소를 지원
- Application Load Balancer (ALB)
- ALB는 L7계층 (Application Layer)에서 작동
- HTTP/HTTPS 트래픽을 처리하는 로드밸런싱에 최적화(80, 443 port forwarding)
- ALB는 Path-based routiong을 지원하여 ALB에 연결된 인스턴스들은 여러개의 URL과 path를 가질 수 있다
- WebSocket 이나 HTTP/1.1 이상의 프로토콜 지원, 향상된 라우팅 정책 등의 기능으로 인해서 기존의 CLB 보다 많은 장점을 포함
- Classic Load Balancer (CLB)
- 가장 오래된 로드밸런서로 ELB의 가장 기본적인 형태(aws에서 권장하지 않는 LB)
- L4 계층부터 L7계층까지 로드밸런싱이 가능
- TCP, SSL, HTTP, HTTPS 등 다양한 프로토콜을 수용할 수 있고, Sticky Session 의 기능도 제공
- CLB는 하나의 URL만 가질 수 있다
- GateWay Load Balancer (GWLB)
- 2020년 11월 13일에 출시
- 타사 가상 어플라이언스의 간편한 배포 , 확장성 및 고가용성을 제공
- 기존 3rd-party를 이용하여 방화벽을 구축하는 경우에 발생하는 운영 복잡도 증가 및 제약 사항에 대한 문제점들을 해결
4. Route53
- route53은 네임서버로 도메인(Domain)을 관리하는 서버이다.
일반적인 경우
- 일반적으로 웹서버의 VIP(Virtual IP; 로드밸런싱의 대상이 되는 여러 서버들을 대표하는 가상의 아이피) 를 도메인으로 등록한다.
- 사용자가 해당 네임서버의 정보로 사이트에 접속한다.
Route53
- 사용자 데이터 유입
- 인터넷 게이트웨이를 통해 통신
- ELB(Elastic Load Balancer)에 도메인이 매칭되어 있어 ELB 접속
- ELB 아래의 서버에 접속한다.
- 즉, DNS 등록 시 서버 IP를 등록하는 것이 아니라 Route53에 ELB VIP를 등록하기 때문에 서버 IP가 바뀌어도 네임서버는 바뀌지 않으므로 교체해줄 필요가 없다는 뜻(자동으로 교체해줌)!
5. 공동 책임 모델
- AWS 기초 서비스와 글로벌 인프라는 AWS 책임이다.
- 그외 모든것들은 고객의 책임이다.
AWS | 고객 |
일부 객체의 보안을 책임 | 나머지 객체의 보안에 책임 |
인프라 내 결함을 패치하고 수정할 책임 | 게스트 OS 및 애플리케이션 패치를 적용할 책임 |
인프라 장치의 구성을 유지 관리 | 자신의 게스트 OS, DB 및 애플리케이션을 구성할 책임 |
클라우드 자체의 보안 | 클라우드 내부의 보안 |
6. IAM
1) IAM은 AWS 리소스에 대해 엑세스를 안전하게 제어한다.
- 사용자, 그룹, 역할에 맞는 권한 할당을 한다.
- 인증과 권한 부여를 한다.
- 인증은 로그인 계정을 말한다.
- 권한 부여(인가)는 리소스 사용(생성, 삭제, 변경)할 수 있는 권한 부여를 말한다.
*정책과 역할을 비교해야한다.
- 정책은 역할과 IAM 사용자에게 부여할 수 있다.
- 정책은 한 사람 한 그룹 단위로 할당해주지만 역할은 다수의 사람이 역할을 맡을 수 있다
2) 정책
- 계속 제공되는 권한이다.
- DB, S3, EC2 생성 삭제 등의 권한을 정책이라고 한다.
3) 역할
- AWS 리소스에도 할당 가능
- EC2에도 할당가능하며 사용자가 해당 EC2에 들어가면 해당 역할을 가지게 된다.
- 정책을 역할에 할당한다.
- 임시로 자격증명이 제공된다.
정책 | 역할 |
하나의 IAM 사용자, 그룹 단위에 부여 | 역할을 부여받은 모든 대상 |
장기 또는 영구적 자격 증명 | 임시 보안 자격 증명 |
정책을 부여받은 동안 권한 획득 | 특정시간 동안만 권한 획득 |
4) 정책과 역할 부여 방법
정책 | 역할 |
1. 정책을 생성 | 1. 역할을 생성 |
2. 정책을 IAM 사용자에게 부여 | 2. 정책을 역할에 부여 |
3. 사용자는 해당 권한을 정책이 부여된 동안 지속적으로 사용가능 | 3. 사용자는 역할을 위임받음 |
4. IAM 사용자에게 해당 권한을 회수하기 위해서는 부여된 정책을 회수해야함 | 4. 정해진 시간 뒤 역할은 자동적으로 회수됨 |
7. IAM 정책 유형
자격 증명 기반 정책은 사용자, 그룹 또는 역할에 연결되는 정책을 의미하고 리소스 기반 정책은 리소스에 연결되는 정책을 의미한다.
- 자격 증명 기반 정책은 단순하게 정책을 부여한 자격 증명(IAM 사용자 또는 사용자 그룹 및 역할)이 무슨 작업을 어느 리소스에서 어떤 조건에서 수행할 수 있는지를 제어하는 정책
- 리소스 기반 정책은 Amazon S3 버킷과 같은 리소스에 연결하는 정책이다. 리소스 기반 정책은 인라인 정책이며 관리형 리소스 기반 정책은 없다.
8. AWS CloudTrail vs CloudWatch
- CloudWatch는 AWS 서비스 및 자원 활동에 초점을 맞추고, 그 상태와 성능에 대해 보고(report)
- CloudTrail은 AWS 환경에서 수행 된 모든 작업의 로그
CloudWatch | CloudTrail |
AWS 클라우드 리소스와 AWS에서 실행되는 애플리케이션의 모니터링 서비스 | AWS 계정 거버넌스, 컴플라이언스, 운영 감사, 리스크 감사를 가능하게하는 서비스 |
메트릭 수집 및 추적 로그 파일의 수집 및 모니터링, 알람 설정, AWS 리소스 사용량 변화에 자동으로 대응 | AWS 인프라 작업 관련 계정 활동을 기록하고 지속적으로 모니터링 및 유지 |
어플리케이션 사용자의 활동과 API 사용 추적이 된다. | AWS Console을 사용한 사용자의 활동이 추적이 된다. |
어플리 케이션 사용자의 로그가 남는다. | AWS 환경에서 수행 된 모든 작업의 로그가 남는다. |
AWS에서 무슨 일이 일어나고 있나?"특정 서비스 또는 응용 프로그램의 모든 이벤트를 기록 | AWS에서 누가 무엇을합니까?"서비스 또는 리소스에 대한 API 호출 |
9. AWS Trusted Advisor
AWS Management Console에 Management Tools 카테고리에 Trusted Advisor라는 서비스가 있다.
- 비용 최적화, 성능, 보안, 내결함성, 서비스 한도에서 AWS를 효율적으로 사용하고 있는 지 알려주는 서비스이다.
- 비지니스 서포트 레벨 이상의 계정에만 모든 항목을 체크해주고 무료이다.(일부 유료)
- 녹색(문제없다), 노란색(조사필요), 빨간색(조치해라)라는 3가지로 구분해서 알려주며, 논거도 상세히 알려준다.
- AWS Management Console에서 확인하거나 CSV로 결과를 다운로드 받을 수 있다. 관련 API도 제공한다.
라우팅테이블
ACL, 보안그룹
LB
https://potato-yong.tistory.com/131
공동책임모델
https://cord-ai.tistory.com/122
IAM
IAM 정책유형
https://dev.classmethod.jp/articles/what-is-aws-iam-policies-kr/
CloudTrail vs CloudWatch
Trusted Advisor
https://blog.wisen.co.kr/pages/blog/blog-detail.html?idx=4713
'자격증공부 > AWS Certified Developer - Associate' 카테고리의 다른 글
AWS Certified Developer – Associate 자격증 공부 6일차 (0) | 2023.03.06 |
---|---|
AWS Certified Developer – Associate 자격증 공부 5일차 (0) | 2023.03.05 |
AWS Certified Developer – Associate 자격증 공부 3일차 (0) | 2023.03.03 |
AWS Certified Developer – Associate 자격증 공부 2일차 (0) | 2023.03.02 |
AWS Certified Developer – Associate 자격증 공부 1일차 (0) | 2023.03.01 |