Now Loading ...
-
-
-
☁️[AWS] 프로비저닝(Provisioning)은 무엇일까요?
☁️[AWS] 프로비저닝(Provisioning)은 무엇일까요?
프로비저닝(Provisioning)은 IT 및 클라우드 컴퓨팅에서 필요한 자원을 준비하고 할당하는 과정을 의미합니다.
EC2와 같은 클라우드 서비스에서 프로비저닝(Provisioning)은 사용자가 요청한 사양에 맞춰 컴퓨팅 자원(서버, 네트워크, 스토리지 등)을 설정하고 배치하여 사용할 수 있도록 준비하는 것을 뜻합니다.
1️⃣ 프로비저닝(Provisioning)의 의미.
프로비저닝(Provisioning)은 물리적/가상 자원을 사용 가능한 상태로 설정하는 일련의 작업으로, 다음을 포함합니다.
1. 지원의 준비 : CPU, 메모리, 스토리지, 네트워크 대역폭 등 컴퓨팅 자원을 할당.
2. 운영체제 및 소프트웨어 설치 : 특정 운영체제와 필요 소프트웨어 설치.
3. 네트워크 구성 : IP 주소, DNS, 방화벽(Security Group) 등 설정.
4. 사용자 정의 설정 : 특정 애플리케이션이나 환경 변수 설정.
2️⃣ EC2에서의 프로비저닝 과정.
AWS EC2에서 프로비저닝은 다음과 같은 단계를 거칩니다.
1️⃣ 인스턴스 사양 선택.
CPU, 메모리, 디스크 용량, 네트워크 성능 등을 포함한 EC2 인스턴스 유형 선택.
2️⃣ AMI(Amazon Machine Image) 선택.
운영 체제와 기본 소프트웨어를 포함한 이미지 선택.
예: Amazon Linux, Ubuntu, Windows 등
3️⃣ 네트워크 및 보안 설정.
VPC, 서브넷, Security Group 등을 설정하여 네트워크 환경을 구성.
4️⃣ 스토리지 할당.
EBS(Elastic Block Store) 또는 인스턴스 스토리지 크기와 유형 선택.
5️⃣ 태크 추가(Optional)
관리 용이성을 위해 인스턴스에 태그 추가.
6️⃣ 실행.
설정이 완료되면 프로비저닝 과정을 통해 인스턴스가 생성되고 사용 가능.
3️⃣ 프로비저닝의 종류.
1️⃣ 사전 프로비저닝(Pre-Provisioning)
자원을 미리 준비해 놓는 방식.
장점: 요청 시 대기 시간이 거의 없음.
단점: 비효율적인 자원 낭비 가능성.
2️⃣ 즉시 프로비저닝(On-Demand Provisioning)
요청이 들어올 때 즉시 자원을 할당.
장점: 자원을 효율적으로 사용.
단점: 요청 처리 시간이 다소 증가할 수 있음.
3️⃣ 자동 프로비저닝(Automated Provisioning)
스크립트나 툴(AWS CLI, CloudFormation, Terraform 등)을 이용해 자원을 자동으로 설정.
대규모 환경에서 인프라 관리가 간소화됨.
4️⃣ 프로비저닝이 중요한 이유
1️⃣ 유연성.
필요한 자원을 필요할 때 할당받아 효율적으로 사용 가능.
2️⃣ 확장성.
트래픽 증가 시 자원을 추가로 프로비저닝하여 성능을 유지.
3️⃣ 비용 절감.
사용하지 않는 자원을 해제하거나 최소한의 자원을 유지.
4️⃣ 시간 절약.
자동화된 프로비저닝으로 수작업을 줄여 빠른 배포 가능.
5️⃣ EC2에서 프로비저닝의 장점.
빠른 배포 : 몇 분 내에 새로운 서버를 생성 가능.
효율성 : 필요한 만큼만 자원을 사용해 비용을 절감.
가변성 : 프로비저닝된 인스턴스를 필요에 따라 조정(스케일 업/다운) 가능.
자동화 : 스크립트를 사용하여 일관된 환경을 반복적으로 배포 가능.
6️⃣ 결론.
프로비저닝(Provisioning)은 클라우드 컴퓨팅 환경에서 필수적인 작업으로, EC2는 이를 매우 효율적으로 처리할 수 있도록 설계되어 있습니다.
사용자는 프로비저닝 과정을 통해 자신에게 적합한 환경을 빠르게 생성하고 관리할 수 있습니다.
-
☁️[AWS] EC2란 무엇일까요?
☁️[AWS] EC2란 무엇일까요?
EC2는 Amazon Elastic Compute Cloud의 약자로, AWS(Amazon Web Services)에서 제공하는 가상 서버(Virtual Server) 서비스입니다.
EC2는 사용자가 원하는 만큼 컴퓨팅 자원을 프로비저닝(provisioning)하고, 필요할 때 즉시 확장하거나 축소할 수 있는 유연한 환경을 제공합니다.
1️⃣ EC2의 주요 특징.
1️⃣ 가상 서버 제공.
EC2는 클라우드에서 가상 서버(인스턴스)를 실행할 수 있도록 해줍니다.
사용자는 물리적인 서버를 구입하거나 유지보수할 필요 없이, 필요한 사양과 운영 체제를 선택하여 즉시 서버를 실행할 수 있습니다.
2️⃣ 확장성.
스케일 업(Scale Up) : CPU, 메모리, 스토리지 용량 등을 증가.
스케일 아웃(Scale Out) : 더 많은 서버 인스턴스를 추가.
3️⃣ 종량제 요금제.
사용한 만큼만 비용을 지불하는 방식으로 운영됩니다.(Pay-as-you-go)
4️⃣ 다양한 인스턴스 유형.
컴퓨팅 최적화(Compute Optimized) : 고성능 CPU가 필요한 작업.
메모리 최적화(Memory Optimized) : 데이터베이스, 빅데이터 작업에 적합.
스토리지 최적화(Storage Optimized) : 대량의 읽기/쓰기 작업에 적합.
범용(General Purpose) : 다양한 작업에 적합.
5️⃣ 유연한 OS 선택.
다양한 운영 체제 지원 : Amazon Linux, Ubuntu, CentOS, Red Hat, Windows 등.
6️⃣ 가용성 영역 및 리젼.
리젼(Region) : 물리적으로 떨어진 지리적 위치.
가용성 영역(AZ, Availability Zone) : 동일 리젼에 위치한 독립적인 데이터 센터.
2️⃣ EC2의 주요 개념.
1️⃣ EC2 인스턴스.
가상 서버로, EC2에서 실행되는 단위입니다.
원하는 사양(CPU, RAM, 스토리지)을 선택하여 생성할 수 있습니다.
2️⃣ AMI(Amazon Machine Image)
EC2 인스턴스에서 사용할 운영 체제 및 소프트웨어의 템플릿입니다.
사용자 지정 AMI를 생성하여 배포 가능.
3️⃣ EBS(Elastic Block Store)
EC2 인스턴스에서 사용하는 스토리지입니다.
데이터를 영구적으로 저장하며, 인스턴스를 중지하거나 종료해도 데이터가 유지됩니다.
4️⃣ Elastic IP
고정된 공인 IP 주소로, 인스턴스를 재시작해도 IP 주소가 변경되지 않도록 설정.
5️⃣ Security Group
EC2 인스턴스의 방화벽 역할을 하는 보안 그룹.
특정 포트(예: 22번 포트의 SSH 접속 허용)를 열거나 닫아 네트워크 트래픽을 제어합니다.
6️⃣ Auto Scaling
트래픽 증가나 감소에 따라 EC2 인스턴스의 수를 자동으로 조정하는 기능.
7️⃣ Load Balancer
여러 EC2 인스턴스에 걸쳐 트래픽을 분산시켜 성능과 가용성을 높이는 역할.
3️⃣ EC2의 주요 사용 사례.
1️⃣ 웹 애플리케이션 호스팅.
EC2는 웹 서버(Apache, Nginx 등)나 애플리케이션 서버(Spring Boot, Node.js 등)를 호스팅하는 데 자주 사용됩니다.
2️⃣ 데이터베이스 서버.
MySQL, PostgreSQL 같은 RDBMS나 MongoDB, Cassandra 같은 NoSQL 데이터베이스 서버를 실행.
3️⃣ 빅데이터 처리.
Apache Hadoop이나 Spark 클러스터를 실행하여 빅데이터 분석.
4️⃣ 배치 처리.
배치 작업(예: 백업, 데이터 변환, 분석 작업)을 처리.
5️⃣ 개발 및 테스트 환경.
소규모 테스트 및 QA 환경을 빠르게 설정하고 제거할 수 있습니다.
6️⃣ 게임 서버.
대규모 멀티플레이어 게임 서버를 호스팅.
4️⃣ EC2의 장점과 단점.
1️⃣ 장점.
1. 유연성 : 다양한 인스턴스 유형 및 리소스를 제공.
2. 비용 효율성 : 필요할 때만 서버를 실행하고 사용한 만큼만 지불.
3. 확장성 : 트래픽 증가에 따라 인스턴스를 추가하거나 제거 가능.
4. 관리 용이성 : 물리적 서버 관리 부담이 없음.
5. 글로벌 가용성 : 여러 리전에서 서비스 제공.
2️⃣ 단점.
1. 초기 설정 복잡성 : 네트워크 설정(Security Group, VPC 등)이 초보자에게는 다소 복잡.
2. 예상치 못한 비용 : 인스턴스를 계속 실행하면 비용이 빠르게 증가할 수 있음.
3. 성능 한계 : 특정 워크로드에서는 물리적 서버가 더 나은 성능을 제공할 수 있음.
5️⃣ EC2 사용 방법.
1️⃣ 인스턴스 생성.
AWS Management Console, CLI, SDK를 사용하여 EC2 인스턴스를 생성.
인스턴스 유형, 운영 체제, 스토리지를 선택.
2️⃣ 접속.
SSH 또는 RDP(Remote Desktop Protocol)를 통해 인스턴스에 접속.
3️⃣ 애플리케이션 배포.
애플리케이션 코드나 데이터를 인스턴스에 업로드하고 실행.
4️⃣ 관리.
Auto Scaling, CloudWatch 등을 사용해 성능 모니터링 및 관리.
6️⃣ EC2와 다른 AWS 컴퓨팅 서비스 비교.
서비스
설명
사용 사례
EC2
가상 서버 제공
모든 유형의 애플리케이션 서버
Elastic Beanstalk
EC2, RDS 등을 자동으로 프로비저닝 및 관리
간단한 웹 애플리케이션 배포
Lambda
서버리스 컴퓨팅, 코드 실행만 지원
이벤트 기반 작업 (예: 이미지 처리)
ECS/EKS
컨테이너 오케스트레이션 지원
Docker 기반의 컨테이너 애플리케이션 배포
7️⃣ 결론.
EC2는 AWS의 핵심 서비스 중 하나로, 클라우드 가상 서버를 빠르고 유연하게 실행할 수 있게 해줍니다.
다양한 애플리케이션 배포 및 관리에 적합하며, 클라우드 컴퓨팅 환경에서 필수적으로 사용되는 서비스 입니다.
-
-
-
-
-
-
-
☁️[AWS] 테넌시(Tenancy)
☁️[AWS] 테넌시(Tenancy).
“테넌시(Tenancy)” 라는 용어는 원래 부동산에서 사용되던 개념으로, 특정 공간을 임차하거나 소유하는 상태를 의미합니다.
“이 개념이 IT와 클라우드 컴퓨팅으로 확장되면서, 테넌시는 리소스나 환경을 특정 사용자나 조직이 사용하거나 소유하는 방식으로 사용됩니다.”
1️⃣ 테넌시의 일반적인 개념.
1️⃣ 부동산에서의 테넌시.
정의
테넌시는 주로 임차인이 집이나 건물을 사용하는 권리를 가지고 있는 상태를 의미합니다.
테넌시는 임대 계약을 통해 특정 기간 동안 특정 부동산을 사용하는 권리를 확보하게 됩니다.
유형
테넌시는 단독 테넌시(한 사람이 독점으로 사용)와 공동 테넌시(여러 사람이 함께 사용) 등으로 구분될 수 있습니다.
2️⃣ IT와 클라우드 컴퓨팅에서의 테넌시.
정의
IT 분야에서 테넌시는 특정 사용자나 조직이 IT 자원(서버, 네트워크, 데이터베이스 등)을 사용하는 상태를 의미합니다.
이 용어는 특히 클라우드 컴퓨팅에서 자주 사용되며, 리소스가 물리적 또는 논리적으로 어떻게 격리되고 공유되는지를 설명하는 데 사용됩니다.
유형
클라우드 컴퓨팅에서 테넌시는 주로 다음 두 가지 유형으로 구분됩니다.
단일 테넌시(Single-Tenancy)
한 명의 사용자나 조직이 독점적으로 자원을 사용하는 환경. 물리적 하드웨어 또는 소프트웨어 환경이 다른 사용자와 공유되지 않습니다.
예를 들어, 전용 서버 또는 전용 호스트 환경이 해당됩니다.
다중 테넌시(Multi-Tenancy)
여러 사용자나 조직이 동일한 물리적 하드웨어 또는 소프트웨어 환경을 공유하는 환경. 하지만 각 사용자의 데이터와 리소스는 논리적으로 격리되어 있습니다.
대부분의 퍼블릭 클라우드 서비스는 다중 테넌시 구조를 채택하고 있습니다.
3️⃣ 테넌시의 중요성.
자원 격리
테넌시는 사용자가 특정 IT 자원을 다른 사용자와 공유할지, 아니면 독립적으로 사용할지를 결정하는 중요한 요소입니다.
이를 통해 보안 수준을 강화하거나 비용을 절감할 수 있습니다.
보안 및 규정 준수
일부 조직은 규제 요구 사항을 충족하기 위해 단일 테넌시를 요구할 수 있습니다.
이 경우 물리적 자원을 다른 조직과 공유하지 않음으로써 보안성을 높일 수 있습니다.
비용 효율성
다중 테넌시는 자원을 공유함으로써 비용을 절감할 수 있습니다.
클라우드 서비스 제공자는 다중 테넌시를 통해 자원을 최적화하고, 이를 통해 사용자가 더 저렴한 비용으로 서비스를 이용할 수 있도록 합니다.
🎯 요약
“테넌시(Tenancy)” 는 특정 자원을 사용자 또는 조직이 사용하는 방식과 관련된 개념입니다.
부동산에서는 임차 관계를 의미합니다.
IT와 클라우드 컴퓨팅에서는 리소스가 어떻게 배치되고 격리되는지를 설명하는 용어로 사용됩니다.
클라우드 환경에서 테넌시의 선택은 보안, 성능, 비용에 큰 영향을 미칩니다.
-
☁️[AWS] 서브넷?
☁️[AWS] 서브넷(Subnet).
AWS애서 서브넷(Subnet)은 VPC(Virtual Private Cloud) 내에서 네트워크를 세분화하고 리소스를 논리적으로 분리하는 방법입니다.
서브넷은 VPC 내의 특정한 IP 주소 범위를 갖는 네트워크 세그먼트를 나타내며, AWS에서 네트워크 인프라를 구축하고 관리하는 데 중요하는 역할을 합니다.
1️⃣ VPC와 서브넷의 관계.
VPC(Virtual Private Cloud)
AWS에서 제공하는 가상 네트워크로, 사용자가 자신의 클라우드 리소스를 배치하고 관리할 수 있는 격리된 네트워크 환경입니다.
VPC는 사용자가 직접 IP 주소 범위, 서브넷, 라우팅 테이블, 네트워크 게이트웨이 등을 설정할 수 있도록 합니다.
서브넷(Subnet)
서브넷은 VPC 내에서 특정 IP 주소 범위를 갖는 작은 네트워크 세그먼트입니다.
“각 서브넷은 VPC의 전체 IP 주소 범위 내에서 특정한 부분을 할당받아 사용합니다.”
2️⃣ 서브넷의 유형.
퍼블릭 서브넷(Public Subnet)
인터넷 게이트웨이(Internet Gateway)에 연결된 서브넷으로, 이 서브넷에 배치된 리소스(예: EC2 인스턴스)는 퍼블릭 IP 주소를 가지며 인터넷과 직접 통시할 수 있습니다.
웹 서버와 같은 인터넷과 직접 연결이 필요한 리소스를 퍼블릭 서브넷에 배치합니다.
프라이빗 서브넷(Private Subnet)
인터넷 게이트웨이에 연결되지 않은 서브넷으로, 이 서브넷에 배치된 리소스는 퍼블릭 IP 주소가 없으며, 직접적으로 인터넷과 통신할 수 없습니다.
데이터베이스 서버와 같이 인터넷과 직접 연결될 필요가 없는 리소스를 프라이빗 서브넷에 배치합니다.
인터넷에 접속해야 할 경우, NAT 게이트웨이 또는 NAT 인스턴스 를 통해 간접적으로 인터넷에 접근할 수 있습니다.
3️⃣ 서브넷의 가용 영역(Availability Zone).
각 서브넷은 특정 가용 영역(AZ)에 속합니다.
이는 가용 영역마다 독립적인 네트워크 세그먼트를 구성할 수 있게 해줍니다.
예를 들어, VPC 내에 여러 가용 영역이 있을 때, 각각의 가용 영역에 서브넷을 만들어 고가용성 아키텍처를 구축할 수 있습니다.
4️⃣ 라우팅 테이블과 서브넷.
각 서브넷은 하나의 라우팅 테이블(Routing Table)과 연결됩니다.
라우팅 테이블은 네트워크 트래픽이 어떻게 라우팅되는지를 결정합니다.
예를 들어, 퍼블릭 서브넷은 라우팅 테이블에 인터넷 게이트웨이로 가는 경로가 설정되어 있지만, 프라이빗 서브넷은 그런 경로가 없습니다.
5️⃣ 서브넷의 보안 그룹 및 네트워크 ACL.
보안 그룹(Security Groups)
서브넷에 배치된 리소스(예: EC2 인스턴스)에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽입니다.
보안 그룹은 상태 기반으로 동작하며, 인스턴스 수준에서 적용됩니다.
네트워크 ACL(Network Access Control List)
서브넷 수준에서 적용되는 보안 레이어로, 서브넷 내의 모든 리소스에 대한 트래픽을 제어합니다.
네트웨크 ACL은 상태 비저장(State-less)으로, 각각의 요청과 응답을 별도로 처리합니다.
6️⃣ 서브넷의 사용 사례.
웹 서버 및 애플리케이션 서버 배치
퍼블릭 서브넷에 배치하여 외부에서 접근 가능한 웹 서버와 애플리케이션 서버를 운영합니다.
데이터베이스 서버 및 내부 애플리케이션 배치
프라이빗 서브넷에 배치하여 외부 접근이 제한된 안전한 네트워크 환경에서 데이터베이스 서버나 비공개 애플리케이션을 운영합니다.
멀티 AZ 아키텍처
각 가용 영역에 서브넷을 만들어 장애가 발생해도 시스템이 지속적으로 운영될 수 있는 고가용성 아키텍처를 구축합니다.
7️⃣ 서브넷과 CIDR 블록.
각 서브넷은 CIDR(Classless Inter-Domain Routing) 블록으로 정의된 IP 주소 범위를 가집니다.
예를 들어 '10.0.1.0/24' 와 같은 형태의 CIDR 블록이 서브넷의 IP 주소 범위를 정의합니다.
이 CIDR 블록에 따라 서브넷 내에서 사용 가능한 IP 주소의 범위가 결정됩니다.
🎯 서브넷을 잘 설계하고 구성하는 것은 AWS에서 네트워크 인프라를 최적화하고 보안을 강화하는 데 매우 중요합니다.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
☁️[AWS] 인바운드 규칙(Inbounds Rules)와 아웃바운드 규칙(Outbound Rules)
☁️[AWS] 인바운드 규칙(Inbounds Rules)와 아웃바운드 규칙(Outbound Rules).
AWS EC2 인스턴스의 보안 그룹은 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽 역할을 합니다.
보안 그룹에는 인바운드(들어오는 트래픽) 및 아웃바운드(나가는 트래픽) 규칙이 있으며, 각 규칙은 특정 유형의 트래픽을 허용하거나 차단할 수 있습니다.
1️⃣ 인바운드 규칙(Inbound Rules)
인바운드 규칙은 외부에서 인스턴스로 들어오는 트래픽을 제어합니다.
이 규칙에 따라 특정 IP 주소나 IP 범위에서 오는 트래픽만 허용됩니다.
예시
SSH 접속을 허용하기 위해 포트 22번에서 들어오는 트래픽을 허용할 수 있습니다.
이 경우, 특정 IP 주소(예: 203.0.113.0/24)에서 SSH 접속이 가능하도록 설정할 수 있습니다.
웹 서버를 운영 중이라면 HHTP(포트 80) 또는 HTTPS(포트 443) 트래픽을 허용할 수 있습니다.
중요한 점
보안 그룹은 허용 규칙만 존재하며, 명시적으로 허용된 트래픽만 인스턴스로 들어올 수 있습니다.
기본적으로, 보안 그룹에 명시되지 않은 모든 인바운드 트래픽은 차단됩니다.
2️⃣ 아웃바운드 규칙(Outbound Rules)
아웃바운드 규칙은 인스턴스에서 외부로 나가는 트래픽을 제어합니다.
기본적으로 모든 아웃바운드 트래픽이 허용되지만, 필요에 따라 이를 제한할 수 있습니다.
예시
인스턴스가 특정 외부 서비스로의 연결을 허용하도록, 해당 서비스의 IP 주소나 포트로 나가는 트래픽을 허용할 수 있습니다.
만약 인스턴스가 외부로 데이터를 보내는 것을 제한하고자 한다면, 특정 포트나 IP 주소로의 나가는 트래픽을 차단할 수 있습니다.
중요한 점
기본적으로 아웃바운드 트래픽은 모두 허용되지만, 아웃바운드 규칙을 설정하여 특정 트래픽만 허용하도록 제한할 수 있습니다.
3️⃣ 보안 그룹 작동 방식
보안 그룹은 상태 정보를 가지고 있습니다. 즉, 인스턴스로 들어오는 요청이 허용되었다면, 그 요청에 대한 응답은 아웃바운드 규칙과 관계없이 허용됩니다.
보안 그룹은 AWS 계정 수준에서 관리되며, 여러 인스턴스에 동일한 보안 그룹을 적용할 수 있습니다.
보안 그룹의 변경 사항은 즉시 적용되므로, 보안 그룹을 수정하면 해당 인스턴스에 바로 반영됩니다.
🙋♂️ 마무리
보안 그룹을 올바르게 설정하는 것은 EC2 인스턴스를 안전하게 운영하기 위해 매우 중요합니다.
인바운드 규칙을 통해 접근을 제한하고, 필요에 따라 아웃바운드 규칙을 설정하여 인스턴스의 네트워크 트래픽을 제어할 수 있습니다.
-
-
☁️[AWS] 서비스 제공 형태에 따른 클라우드 분류.
☁️[AWS] 서비스 제공 형태에 따른 클라우드 분류.
클라우드 서비스는 제공하는 서비스에 따라 SasS, PaaS, IaaS 로 나눌 수 있습니다.
SaaS(Software as a Service)
응용 프로그램을 서비스로 제공하는 형태입니다.
많은 사람이 사용하는 Gmail, Dropbox, Office365, Zoom이 대표적인 SaaS 입니다.
PaaS(Platform as a Service), IaaS(Infrastructure as a Service)
응용 프로그램을 만들기 위한 기능을 서비스로 제공합니다.
이 서비스는 직접 응용 프로그램을 개발하는 사용자를 위한 서비스로, 사용자는 제공 받은 기능을 조합해 응용 프로그램을 개발합니다.
PaaS와 IaaS의 차이는 클라우드 서비스 제공자가 관리하는 범위입니다.
PaaS
클라우드 서비스 제공자는 OS 및 미들웨어까지 관리하고, 필수 기능만 사용자에게 제공합니다.
AWS에서 관리형 서비스로 제공하는 RDS나 DynamoDB, Lambda 등이 여기에 해당합니다.
유지보수는 AWS가 담당하며 사용자는 AWS에서 제공하는 범위 안에서 자유롭게 기능을 이용할 수 있습니다.
IaaS
서버 및 네트워크 기능만 제공하며 설정과 관리는 사용자의 몫입니다.
AWS의 EC2와 VPC, EBS와 같이 사용자가 자유롭게 설정할 수 있는 서비스가 IaaS에 해당합니다.
-
-
-
-
-
-
-
-
-
Touch background to close