[AWS] 클라우드 네이티브 AWS 아키텍쳐 설계 및 운영 (2)
Amazon VPC(Virtual Private Cloud)
- 사용자의 AWS 계정 전용 가상 네트워크
- 격리형 클라우드 리소스 (보안때문에 격리)
- 전체 네트워크 주소 범위는 172.31.0.0/16 (리전 단위)
서브넷
- 각각의 AZ에 1개씩 네트워크 주소가 할당된 VPC의 IP 주소 범위
- 172.31.32.0/20, 172.31.0.0/20, 172.31.16.0/29 (AZ 단위)
인터넷 게이트웨이
- VPC의 리소스와 인터넷 간의 통신을 활성화 하기 위해 VPC에 연결하는 게이트웨이
- 필수사항: VPC와 연결
- 라우팅 테이블에 할당 됨 (VPC 단위)
라우팅 테이블
VPC Peering
- VPC끼리 연결
- 프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC 간에 트래픽을 라우팅 할수 있도록 하기위한 두 VPC 사이의 네트워킹 연결
- 동일한 네트워크에 속하는 경우와 같이 VPC의 인스턴스가 서로 통신할 수O
- 사용자의 자체 VPC 또는 다른 AWS 계정의 VPC와 VPC 피어링 연결을 만들 수O
- VPC는 다른 리전에 있을 수O (리전 간 VPC 피어링 연결)
- AWS는 VPC의 기존 인프라를 사용하여 VPC피어링 연결을 생성합니다. 이는 게이트웨이도, VPN 연결도 아니며 물리적 하드웨어 각각에 의존X
Route53
- 도메인 서비스
- Amazon Route53을 도메인의 DNS 서비스로 사용할 수O
- Route53이 DNS 서비스인 경우, www.example.com과 같은 친숙한 도메인 이름을 컴퓨터 간 연결에 사용되는 192.0.2.1.등 숫자IP주소로 변환하여 인터넷 트래픽을 웹 사이트로 라우팅 함
- 사용자가 브라우저에 도메인 이름을 입력하거나 이메일을 보내면 DNS 쿼리가 Route53에 전달되며 이에 따라 적절한 값으로 응답 함
- 예를들어 Route53은 example.com 웹 서버의 IP주소를 사용하여 응답할 수O
EBS (Elastic Block Store)
- 인스턴스에 사용할 수 있는 블록 수준 스토리지 볼륨을 제공
- 블록: 블록단위로 데이터가 일정하게 저장할 수O
- OS, 애플리케이션 등 설치 할수O
<--> S3등은 설치X, 저장만 O - EBS 볼륨은 형식이 지정되지 않은 원시 블록 디바이스처럼 동작
- 이러한 볼륨을 인스턴스에 디바이스로 마운트 할 수O
- 동일한 인스턴스에 여러 볼륨을 탑재하고 한벙에 여러 인스턴스에 볼륨을 탑재할 수O
EBS Snapshot
- EBS 볼륨의 특정 시점 스냅샷을 생성하여 새 볼륨이나 데이터 백업의 기준으로 사용 할 수O
- 볼륨의 스냅샷이 주기적으로 생성되는 경우 스냅샷은 증분식이어서 새 스냅샷은 마지막 스냅샷 이후 변경된 블록만 저장
- 연결되어 사용중인 볼륨의 스냅샷을 만들 수O
- 하지만 스냅샷은 smapshot 명령을 실행할 때 Amazon EBS 볼륨에 기록된 데이터만 캡쳐 합
--> 이때 애플리케이션이나 운영 체제에 의해 캐시된 데이터가 제외될 수O
IAM (Identity and Access Management)
- AWS 서비스에 대한 액세스를 안전하게 제어하는 웹서비스
- IAM을 통해 사용자, 액세스 키와 같은 보안 자격 증명, 사용자와 애플리케이션이 어떤 AWS 리소스에 액세스 할 수 있는지
실습하기
1. VPC 만들기
- VPC를 삭제할 때는 연결된 EC2가 있다면 EC2를 제거한 후 삭제 할 수 있다.
- VPC 삭제하면 서브넷도 지워진다.
- 전세계 모든 기본 VPC는 172.31.0.0/16 이다.
- 기본 VPC도 삭제할 수O --> 기본 VPC 생성 기능 있다.
- VPC 생성
- 생성버튼 누르고 VPC NAME 작성(MY-VPC)
- IP설정(10.0.0.0/16) 한다.
- DNS 호스트 이름 편집 --> DNS 호스트 이름 활성화 체크
: EC2생성했을 때 IP말고 도메인이 있는데, 부여 받으려면 체크해야 함
2. 서브넷 생성
- 서브넷 생성 버튼 클릭
- 내가 만든 VPC를 클릭
- 서브넷 NAME 작성
- IP설정 한다.
- 서브넷 설정 편집 --> 자동 할당IP 설정 --> 퍼블릭 IPv4 주소 자동 할당 활성화 체크
3. 인터넷 게이트웨이 설정
- 인터넷 게이트웨이 1개당 1개의 VPC 연결 (1:1)
- 생성버튼 누르고 NAME 작성 (MY-IGW)
- VPC 연결 클릭 --> MY-VPC 선택
4. 라우팅 테이블 설정
- 라우팅 테이블 안에 인터넷 게이트웨이를 넣어줘야되기 때문에 인터넷 게이트웨이를 만든 후 만든다.
- MY-VPC의 라우팅테이블에서 라우팅 생성한다
--> 목적지:0.0.0.0/0 (모든 IP주소를 의미) , 타켓: 생성한 인터넷 게이트웨이 - 퍼블릭 IP 자동할당은 활성화 하기
- 고급 세부정보 --> 사용자 데이터에
#!/bin/bash
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>SEOUL</h1>" > /var/www/html/index.html
EC2 생성
- 인스턴스 시작(start가 아니라 launch 개념) 클릭
- OS, CPU, 메모리 등 선택
- 네트워크는 MY-VPC 선택
- 서브넷은 2A와 2C만 선택가능 (프리티어 계정)
- 보안그룹 생성
- SSH TCP 22
- HTTP TCP 80
- 모든 ICMP-IPv4 0-65535 위치무관 --> ping 확인할 때 사용
- 키페어 생성
5. 보안그룹(방화벽) 설정 - EC2
- default 보안그룹은 삭제되지 않음
- default 보안그룹은 사용하지도 않음 - 공격자들의 첫번째 타겟이 되기 때문
6. VPC Peering
- 도쿄 리전에서 EC2를 생성
- 서울리전 EC2와 도쿄리전 EC2 2개 다 접속한다.
- 서로에게 퍼블릭 IP로 핑 보내면 통신 됨
- 서로에게 프라이빗 IP로 핑 보내면 통신 X
피어링 연결
- 서울리전의 VPC --> 피어링 연결 --> 피어링 연결 생성 클릭
: 이름 작성(MY-PC) --> 피어링할 VPC 선택 (MY-VPC) - 피어링 할 다른 VPC 선택 --> 내 계정 / 다른리전 선택 (도쿄에 있는 내 계정)
- VPC ID(수락자): 도쿄의 VPC ID 확인 후 복사 --> 생성 클릭
- 도쿄 리전의 VPC --> 피어링 연결 가보면 --> 수락대기중인 피어링 연결이 있음 --> 요청 수락 하기
- 피어링 연결은 되었는데 Ping은 안됨
--> Why? 라우팅 테이블 설정을 해야함 - 도쿄리전에서 라우팅 테이블 설정 --> 라우팅 편집
- 목적지:10.0.0.0/16(서울로 가겠다), 타겟:피어링 연결
- 서울리전에서 라우팅 테이블 설정 --> 라우팅 편집
- 목적지:172.31.0.0/16(됴쿄로 가겠다), 타겟: 피어링 연결
7. Route 53
- DNS관리 --> 호스팅 영역 생성
: 도메인 이름에 구매한 도메인 작성 --> 생성 버튼 클릭 - 값/트래픽 라우팅 대상에 AWS의 네임 서버로 되어있음
-->도메인 구입한 곳에 가서 AWS의 네임 서버 붙여넣어 설정해준다. - 적용이 되면 도메인으로 접근 할 수O
- 레코드 생성
- 레코드 이름 작성 후
- 값에 EC2에서 퍼블릭IP를 넣어준다 --> 생성 버튼 클릭
- EC2와 연결된 레코드 이름을 브라우저 도메인으로 검색하면 EC2에서 만들었던 index.html 페이지가 뜸
8. EBS
- 볼륨 생성
- 무중단으로 서비스 할 수O
- 범용SSD, 8기가
- 가용영역 2A
--> 이전에 만들었던 EC2가 2A였음, 기존 EC2에 스토리지를 추가로 붙이고 싶은 것
lsblk // 연결된 블록 스토리지 확인 명령어
- 볼륨 연결
- 새로 만든 볼륨을 체크하고 볼륨 연결을 클릭
- 새로 만든 볼륨을 체크하고 볼륨 연결을 클릭
df -h //파일 시스템 사용가능 공간 확인
sudo mkfs -t xfs /dev/xvdf //포맷
sudo mkdir /data //마운트 될 폴더생성
sudo mount /dev/xvdf /data //마운트 명령어
sudo umount /data //마운트 끊는 명령어
sudo cp /etc/fstab /etc/tstab.orig //복사본 생성
sudo blkid //블록스토리지 ID 보여주는 명령어
sudo vi /etc/fstab
sudo vi /etc/fstab
- 스냅샷 생성
- 볼륨 선택 후 생성
- 스냅샷에서 볼륨 생성
- 가용영역을 2C로 하고 만들면 2A에 있던 볼륨이 2C로 복제 됨
- 스냅샷을 이용한 이미지 생성
- 볼륨에서 이미지 생성 버튼 --> 이미지 이름 작성 (MY-AMI) --> 이미지 생성 버튼 클릭
- AMI에 가보면 MY-AMI가 생성되어 있다.
- AMI 체크 후 AMI로 인스턴스 생성 클릭하면 인스턴스를 만들 수 있다.
- 스냅샷 복사
- 백업이라고 보면 됨
- 볼륨에서 스냅샷 복사 클릭
- 대상리전 오사카로 설정 할 수 O
--> 전송 비용 발생
Author And Source
이 문제에 관하여([AWS] 클라우드 네이티브 AWS 아키텍쳐 설계 및 운영 (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@combi_areum/AWS-클라우드-네이티브-AWS-아키텍쳐-설계-및-운영-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)