AWS란?
Amazon Web Services(AWS)는 전 세계적으로 분포한 데이터 센터에서 175개가 넘는 완벽한 기능의 서비스를 제공하는, 세계적으로 가장 포괄적이며, 널리 채택되고 있는 클라우드 플랫폼이다.
빠르게 성장하는 스타트업, 가장 큰 규모의 엔터프라이즈, 주요 정부 기관을 포함하여 수백만 명의 고객이 AWS를 사용하여 비용을 절감하고, 민첩성을 향상시키고, 더 빠르게 혁신하고 있다.
AWS의 특장점
- 초기 비용 없이 사용한 만큼만 지불하는 종량 과금제 방식
- 온프레미스 서버 구축 기간과 비교하여 빠른 인프라 구축 속도
- 온프레미스 서버 환경의 리소스 확장 시와 달리 사전 리소스 확보 불필요
- 인스턴스(가상 서버) 라이프사이클의 손쉬운 관리
- 고가용성 및 무정지 장애허용 시스템 구축에 필요한 서비스 제공
- API 제공으로 서비스 관리 자동화 용이
AWS 비용
- 온 디맨드 인스턴스: 짧은 워크로드, 예측 가능한 가격
- 예약 : (최소 1년)
- 예약 인스턴스: 긴 워크로드
- 가변 예약 인스턴스: 유연한 인스턴스가 있는 긴 워크로드
- 스케쥴 예약 인스턴스: ex) 매주 목요일 오후 3시에서 6시 사이
- 스팟 인스턴스: 짧은 워크로드, 저렴하지만 인스터스를 잃을 수 있음.
- 전용 호스트: 전체 물리적 서버를 예약하고 인스턴스 배치를 제어해야함.
온 디맨드 인스턴스
- 사용한 만큼 요금 지불 (첫 번째 1분후 초당 청구)
- 비용은 가장 높지만 선불 결제는 없다.
- 장기 약정이 없다.
- 애플리케이션의 작동 방식을 예측할 수 없는 단기 및 중단 없는 워크로드에 권장
예약 인스턴스
- 주문형에 비해 최대 75% 할인
- 장기 약정으로 사용한 것에 대해 선결제
- 예약 기간은 1년 또는 3년
- 특정 인스턴스 유형을 예약
- 정상 상태 사용 응용 프로그램 (데이터베이스)에 권장
- 가변 예약 인스턴스
- EC2 인스턴스 유형을 변경할 수 있다.
- 최대 54% 할인
- 스케쥴된 예약 인스턴스
- 예약 한 시간 내에 시작
스팟 인스턴스
- 주문형에 비해 최대 90% 할인
- 최대 가격이 현재 스팟 가격보다 낮은 경우 언제든지 "손실"할 수 있는 인스턴스
- AWS에서 가장 비용 효율적인 인스턴스
- 장애에 탄력적인 워크로드에 유용
- Batch 작업
- 데이터 분석
- 이미지 처리
- 중요한 작업이나 데이터베이스에는 적합하지 않음
- 그레이트 콤보: 기준선 + 예약 주문형 및 피크에 대한 스팟 예약 인스턴스
전용 호스트
- 한 사용자를 위한 물리적 전용 EC2 서버
- EC2 인스턴스 배치를 완전히 제어
- 3년 동안 사용자의 계정에 할당
- 비용이 비싸다
- 복잡한 라이선싱 모델 (BYOL - Bring Your Own License: 기존 보유 라이센스 사용)이 있는 소프트웨어에 유용
- 또는 강력한 규제 또는 규정 준수 요구가 있는 회상의 경우.

Amazon VPC
VPC란?
사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사하다.
- Virtual Private Colud (VPC): 사용자의 AWS 계정 전용 가상 네트워크. 전체 네트워크 주소 범위는 172.31..0.0./16 (리전 단위)
- 서브넷: 각자의 AZ에 1개씩 네트워크 주소가 할당된 VPC의 IP 주소 범위. ( ex. 172.31.0.0./20, 172.31.16.0/20, 172.31.32.0/20, 172.31.48.0/20 .....)
VPC 생성



서브넷 생성
'서브넷 추가'를 눌러 다음 서브넷들을 추가한다. (이름에 맞는 가용영역을 고른다.)
- my-pub-2a: 10.31.0.0/20
- my-pub-2b: 10.31.16.0/20
- my-pub-2c: 10.31.32.0/20
- my-pub-2d: 10.31.48.0/20
- my-pvt-2a: 10.31.64.0/20
- my-pvt-2b: 10.31.80.0/20
- my-pvt-2c: 10.31.96.0/20
- my-pvt-2d: 10.31.112.0/20


Public 서브넷들만 해야할 설정 편집이 있다.

인터넷 게이트웨이 생성
인터넷 게이트웨이가 있어야지 라우팅 테이블을 통해 퍼블릭 서브넷들을 진짜로 'Public'으로 만들 수 있다.


라우팅 테이블 편집




이제 프라이빗을 위한 라우팅 테이블을 생성한다.




EC2 (Elastic Compute Cloud)
EC2란?
안전하고 크기 조정이 가능한 컴퓨팅 자원을 클라우드에서 제공하는 웹 서비스.
개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계.
Amazone EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있다.
컴퓨팅 리소스에 대한 포괄적인 제어권을 제공하며, Amazon의 검증된 컴퓨팅 환경에서 실행할 수 있다.
EC2 인스턴스 생성






#!/bin/bash
yum install -y httpd
systemctl enable --now httpd
echo "<h1>seoul</h1>" > /var/www/html/index.html

VPC Peering
VPC Peering이란?
VPC 피어링 연결은 프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결이다.
- 동일한 네트워크에 속하는 경우와 같이 VPC와 인스턴스가 서로 통신할 수 있다. (서로의 프라이빗 끼리 통신 가능)
- 사용자의 자체 VPC 또는 다른 AWS 계정의 VPC와 VPC 피어링 연결을 만들 수 있다. (ex: 거래처와의 연결)
- VPC는 다른 리전에 있을 수 있다.(리전 간 VPC 피어링 연결이라고도 함)
- AWS는 VPC의 기존 인프라를 사용하여 VPC 피어링 연결을 생성한다. 이는 게이트웨이도, VPN 연결도 아니며 물리적 하드웨어 각각에 의존하지 않는다.

도쿄 EC2 생성







#!/bin/bash
apt update
apt install -y apache2
echo "<h1>tokyo</h1>" > /var/www/html/index.html

이제 MobaXterm으로 접속한다.


두 리전들은 인터넷을 통한 퍼블릭 접속은 잘 된다. 하지만, 프라이빗 주소로는 아직 통신이 안된다. (VPC가 다르기 때문)


피어링 연결 생성
이제, VPC 피어링을 통해 두 리전 끼리 퍼블릭이 아닌 프라이빗 주소로도 통신이 되도록 해줄 것이다.
먼저 서울 리전에서 피어링 연결 요청을 보낸다.


이제 도쿄 리전에서 피어링 연결을 수락한다.


아직 VPC가 연결이 됐을 뿐, 서로 다른 네트워크 주소인데 라우팅 테이블 세팅이 안됐으므로, 아직 트래픽 송수신이 안된다.
그러므로 라우팅 테이블을 설정해준다.


트래픽은 양방향이므로, 반대쪽인 서울에서도 라우팅 정보를 해야한다.


이제 서로의 프라이빗 주소끼리 통신이 된다.


Route 53
Route 53이란?
Amazon Route 53을 도메인의 DNS 서비스 (예: example.com)로 사용할 수 있다.
Route 53이 DNS 서비스인 경우, www.example.com과 과 같은 친숙한 도메인 이름을 컴퓨터 간 연결에 사용되는 192.0.2.1 등 숫자 IP 주소로 변환하여 인터넷 트래픽을 웹 사이트로 라우팅합니다.
사용자가 브라우저에 도메인 이름을 입력하거나 이메일을 보내면 DNS 쿼리가 Rotue 53에 전달되며 이에 따라 적절한 값으로 응답한다. 예를 들어 Route 53은 example.com 웹 서버의 IP 주소를 사용하여 응답할 수 있다.
EBS (Elastic Block Store)
EBS (Elastic Block Store)이란?
인스턴스에 사용할 수 있는 블록 수준 스토리지 볼륨을 제공한다.
EBS 볼륨은 형식이 지정되지 않은 원시 블록 디바이스처럼 동작한다. 이러한 볼륨을 인스턴스에 디바이스로 마운트할 수 있다.
동일한 인스턴스에 여러 볼륨을 탑재하고 한 번에 여러 인스턴스에 볼륨을 탑재할 수 있다. 이러한 볼륨 위에 파일 시스템을 생성하거나 하드 드라이브와 같은 블록 디바이스를 사용하는 것처럼 볼륨을 사용할 수 있다.
인스턴스에 연결된 볼륨의 구성을 동적으로 변경할 수 있다.
스토리지 확장에 용이하며, 미리 준비할 필요 없이 서비스 중에도 필요할 때 마다 추가 가능하다.
EBS 생성 및 불륨 마운트



## 불륨 마운트
# 포멧
sudo mkfs -t ext4 /dev/xvdf
# 마운트
sudo mount /dev/xvdf /mnt

루트 불륨 확장




## 루트 불륨 확장
# xvda의 1번 파티션의 용량을 늘려줌.
sudo growpart /dev/xvda 1


# xvda1가 마운트된 '/'의 크기도 수정한다.
sudo xfs_growfs -d /

다시 정리하자면,
1. 콘솔창에서 불륨의 크기를 늘린다.
2. 파티션의 용량도 크기를 늘린다.
3. 마운트된 디렉토리의 크기도 늘린다.
이 세개의 과정을 거쳐야 루트 불륨의 크기를 확장할 수 있다.
EBS Snapshot
EBS Snapshot이란?
EBS 볼륨의 특정 시점 스냅샷을 생성하여 새 볼륨이나 데이터 백업의 기준으로 사용할 수 있다.
볼륨의 스냅샷이 주기적으로 생성되는 경우 스냅샷은 증분식이어서 새 스냅샷은 마지막 스냅샷 이후 변경된 블록만 저장한다.
연결되어 사용 중인 볼륨의 스냅샷을 만들 수 있다. 하지만 스냅샷은 snapshot 명령을 실행할 때 Amazon EBS 볼륨에 기록된 데이터만 캡처한다. 이때 애플리케이션이나 운영 체제에 의해 캐시된 데이터가 제외될 수 있다.
스냅샷 생성
테스트를 위한 파일을 'seoul' 서버에 MobaXterm으로 업로드한다.
# food.tar파일을 다음 경로에 풀기
sudo tar xvf food.tar -C /var/www/html




스냅샷으로 이미지 생성
스냅샷 자체로 인스턴스를 만들 수 없으므로, 이미지를 생성해야한다.


스냅샷으로 생성한 이미지를 다른 리전으로 전송




복사한 AMI로 인스턴스 시작






'메가존 클라우드 2기 교육 > AWS' 카테고리의 다른 글
AWS - 클라우드 보안(공인인증서 발급 및 HTTPS 보안 연결), 아마존 Inspector, CloudWatchLog (0) | 2023.05.02 |
---|---|
AWS - CloudFront, Certificate Manager, 클라우드 보안(키 유출 대책) (0) | 2023.05.01 |
AWS - EFS, NAT 게이트웨이 , S3 (0) | 2023.04.28 |
AWS - Auto Scaling (0) | 2023.04.27 |
AWS - IAM, RDS, ELB(NLB, ALB), Route 53, 워드프레스 (0) | 2023.04.26 |