-
AWS Certified Cloud Practitioner 취득을 위한 A to Z 개념 정리Cloud 2023. 5. 2. 14:04반응형
목차
1. EC2
2. VPC
3. IAM
4. S3
5. CloudTrail
6. 데이터 베이스 유형
1. EC2
Amazon Elastic Compute Cloud (Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스입니다. 이 서비스를 사용하면 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있습니다. Amazon EC2는 개발자가 컴퓨팅 리소스를 확보하고 구성하는 데 필요한 시간을 단축하고, 빠르게 용량을 확장하거나 축소할 수 있도록 합니다.
1-1. AMI
AMI(Amazon Machine Image)는 EC2 인스턴스를 시작하는 데 필요한 정보를 제공하는 템플릿입니다. AMI에는 인스턴스의 루트 볼륨에 대한 정보(예: 운영 체제, 애플리케이션 서버)와 시작 권한이 포함됩니다.
1-2. 인스턴스
- 인스턴스 유형 (예: t2.micro)
- EC2 인스턴스 유형은 CPU, 메모리, 스토리지, 네트워킹 용량 등의 조합으로 구성됩니다.
- t2.micro는 범용 인스턴스 유형으로, 1 vCPU와 1 GiB 메모리를 제공합니다.
1-2-1. CloudWatch를 이용한 EC2 모니터링
Amazon CloudWatch를 사용하면 EC2 인스턴스의 성능을 모니터링하고 경보를 설정할 수 있습니다. CloudWatch는 CPU 사용률, 디스크 읽기/쓰기, 네트워크 전송량 등의 지표를 제공합니다.
1-2-2. EC2의 특징 - 수직 확장, 인스턴스 유형 변경 (예: t2.micro -> t2.small)
EC2 인스턴스는 수직 확장이 가능합니다. 즉, 인스턴스 유형을 변경하여 더 많은 리소스를 제공할 수 있습니다. 예를 들어, t2.micro에서 t2.small로 변경하면 CPU와 메모리가 두 배로 증가합니다.
1-2-3. 인스턴스 상태
EC2 인스턴스는 여러 가지 상태가 있습니다. 예를 들어, 시작 중(pending), 실행 중(running), 중지 중(stopping), 중지됨(stopped), 종료 중(shutting-down), 종료됨(terminated) 등이 있습니다. 각 상태는 인스턴스의 라이프사이클을 나타냅니다.
1-3. 사용자 데이터
사용자 데이터는 EC2 인스턴스 시작 시 스크립트나 클라우드-이니셜라이제이션 데이터를 제공하는 방법입니다. 사용자 데이터는 인스턴스 시작 시 한 번만 실행됩니다.
#!/bin/bash yum update -y yum install httpd -y service httpd start chkconfig httpd on echo "Hello World" > /var/www/html/index.html
2. VPC
VPC는 가상 사설 클라우드(Virtual Private Cloud)의 약자로, 사용자가 정의한 가상 네트워크입니다.
2-1. VPC - 서브넷
VPC 내에서는 서브넷(subnet)이라는 작은 네트워크 단위로 구성됩니다.
서브넷은 VPC 내에서 IP 주소 범위를 지정하여 생성할 수 있습니다. 서브넷은 일반적으로 퍼블릭(public)과 프라이빗(private)으로 구분됩니다.
퍼블릭 서브넷은 인터넷과 직접 연결되어 있어 외부에서 접근이 가능한 서브넷입니다. 반면, 프라이빗 서브넷은 인터넷과 직접 연결되어 있지 않아 외부에서 접근이 불가능한 서브넷입니다.
2-2. 관리형 서비스 라우팅 테이블, 서브넷 구성법
VPC 내에서 트래픽을 제어하기 위해서는 라우팅 테이블(routing table)을 사용합니다. 라우팅 테이블은 네트워크 트래픽을 전달할 목적지를 지정하는 역할을 합니다.
서브넷을 구성하는 방법은 다양합니다. 일반적으로는 VPC를 생성한 후, 서브넷을 생성하고 라우팅 테이블에 연결하는 방식으로 구성합니다. 이때, 각 서브넷의 IP 주소 범위와 라우팅 테이블의 라우팅 규칙을 설정해야 합니다.
2-3. VPC 보안
VPC에서 보안을 설정하는 방법은 크게 보안 그룹(Security Group)과 네트워크 ACL(Network ACL)로 나뉩니다.
2-3-1. 보안그룹
보안 그룹은 연결된 리소스에 도달하고 나갈 수 있는 트래픽을 제어하는 역할을 합니다. 예를 들어, EC2 인스턴스와 연결된 보안 그룹은 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어합니다. 보안 그룹은 해당 보안 그룹이 생성된 VPC의 리소스에만 연결할 수 있습니다.
2-3-2. ACL
네트워크 ACL은 서브넷 수준에서 특정 인바운드 또는 아웃바운드 트래픽을 허용하거나 거부하는 역할을 합니다. VPC에 대한 기본 네트워크 ACL을 사용하거나, 보안 그룹에 대한 규칙과 유사한 규칙을 사용하여 VPC에 대한 사용자 지정 네트워크 ACL을 생성하여 VPC에 보안 계층을 추가할 수 있습니다.
EC2 인스턴스에 접근하는 방법은 여러 가지가 있습니다. 예를 들어, VPC를 새로 생성하여 EC2와 RDS 인스턴스를 개설하고 연결시키면 외부에서는 EC2에만 접근 가능하고 RDS는 접근할 수 없습니다. RDS는 EC2를 거쳤을 때만 접근 가능하게 만들 수 있습니다.
4. IAM
IAM은 AWS Identity and Access Management의 약자로, AWS 클라우드 인프라 안에서 신분과 접속/접근을 관리하기 위한 서비스입니다.
4.1. 사용자
IAM 사용자는 AWS 계정에 대한 액세스 권한을 가진 개인이나 서비스를 의미합니다. 사용자에게는 정책(policy)을 부여하여 허용하거나 거부할 수 있는 권한을 지정할 수 있습니다. 정책을 생성할 때는 최소 권한 부여의 표준 보안 조언을 따르거나, 작업 수행에 필요한 최소한의 권한만 부여하는 것이 좋습니다.
4-2. 그룹
IAM 그룹은 여러 IAM 사용자를 묶어서 관리하는 역할을 합니다. 그룹에도 정책을 부여하여 허용하거나 거부할 수 있는 권한을 지정할 수 있습니다.
4-3. 역할
IAM 역할은 AWS 리소스에서 사용할 수 있는 권한 세트를 의미합니다. 역할에도 정책을 부여하여 허용하거나 거부할 수 있는 권한을 지정할 수 있습니다. 역할은 TTL(Time To Live)과 최소 권한을 지정하여 보안성을 높일 수 있습니다.
5. S3
Amazon Simple Storage Service(Amazon S3)는 인터넷 스토리지 서비스로, 개발자가 웹 규모의 컴퓨팅 작업을 더 쉽게 수행할 수 있도록 지원합니다.
5-1. IAM 역할을 사용한 S3 접근
IAM 역할을 사용하여 S3 리소스에 접근하는 방법이 있습니다. IAM 역할은 AWS 리소스에서 사용할 수 있는 권한 세트를 의미합니다. IAM 역할에 정책을 부여하여 허용하거나 거부할 수 있는 권한을 지정할 수 있습니다.
5-2. 버킷 정책과 Principal
버킷 정책은 Amazon S3 리소스에 권한을 부여하는 데 사용할 수 있는 액세스 정책 옵션입니다. 버킷 정책은 JSON 기반 액세스 정책 언어를 사용합니다.
Principal은 AWS 계정 또는 IAM 엔터티(사용자, 그룹, 역할)를 의미합니다. 버킷 정책에서 Principal 요소를 사용하여 특정 AWS 계정 또는 IAM 엔터티에 대한 액세스 권한을 지정할 수 있습니다.
5-2-1. 정책 체크
명시적 거부와 IAM 허용이 충돌하는 경우, 명시적 거부가 우선됩니다. 즉, IAM 정책에서 특정 리소스에 대한 액세스를 허용하더라도 버킷 정책에서 해당 리소스에 대한 명시적 거부가 설정되어 있으면 액세스가 거부됩니다.
5-3. 버킷 정책 vs ACL
버킷 정책과 ACL(Access Control List)은 모두 Amazon S3 리소스에 대한 액세스 권한을 제어하는 방법입니다. 버킷 정책은 버킷 수준에서 액세스 권한을 제어하는 반면, ACL은 객체 수준에서 액세스 권한을 제어합니다.
5-4. CloudFront
Amazon CloudFront는 AWS의 콘텐츠 전송 네트워크(CDN) 서비스로, 사용자에게 빠르고 안전하게 콘텐츠를 전달하는 데 사용됩니다.
5-4-1. S3와 CloudFront 함께 사용하는 이유와 이점
S3와 CloudFront를 함께 사용하면 콘텐츠 전송 속도와 안전성이 향상됩니다. CloudFront는 전 세계의 엣지 로케이션에서 콘텐츠를 캐시하여 전송 속도를 높이고 비용 절감 등의 이점이 있습니다.
6. CloudTrail
CloudTrail은 AWS 계정의 운영 및 위험 감사, 거버넌스 및 규정 준수를 활성화하는 데 도움이 되는 AWS 서비스입니다. 사용자, 역할 또는 AWS 서비스가 수행하는 작업들은 CloudTrail에 이벤트로 기록됩니다. 이벤트에는 AWS Management Console, AWS Command Line Interface 및 AWS SDK 등에서 수행하는 모든 작업들이 포함됩니다
반응형'Cloud' 카테고리의 다른 글
Bastion 호스트, VPC private 엔드포인트를 사용한 Amzon S3 (0) 2023.05.02 AWS RDS를 사용하여 MySQL workbench 연동 (0) 2023.05.02 AWS Certified Cloud Practitioner [CLF-C01] 자격증 취득하기 (0) 2023.05.01 AWS S3 정적 웹사이트 호스팅 및 S3 사용법 알아보기 (0) 2023.04.28