* Desired Capacity
EC2에 n개의 인스턴스가 유지되도록 했을 때의 그 n값. 즉, 유지되어야 하는 인스턴스의 최소 개수
- 만약 한개의 인스턴스가 지워진다면 master controller가 그 n개를 유지하기 위해 1개를 복제해서 새롭게 인스턴스 n개를 형성하도록 한다.
* AWS EKS Cluster(Elastic Kubernetes Service)
- 운반되는 애플리케이션을 scale하고, manage하고, 배치하기 위해 관리되는 aws 쿠버네티스 서비스이다.
- 자신이 직접 쿠버네티스를 설치, 운영하지 않아도 쿠버네티스를 사용할 수 있는 managed service이다.
- eks의 복제 기능으로 인스턴스의 개수를 desired capacity만큼 유지하도록 한다.
- 미리 스냅샷 등 복제해놓고 계속 복구하는 작업을 하게 된다.
인스턴스 만들기
클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services
개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정
aws.amazon.com
EC2를 검색해서 들어간 뒤, 인스턴스 메뉴에 들어간다
[인스턴스 시작] 클릭
네트워크 설정 - 편집 을 눌러야 수정 가능하다
VPC - My-VPC로 바꾼다
*프리 티어일 때, 서브넷은 2a or 2c에만 만들 수 있다
* 용량 예약
- 내가 오늘 퇴근할 때 얘를 컸으면, 다음날에 켜야 한다. 비용 절약 때문에(껐다 켜면 비용이 안들어감)
- aws에서는 이 공간을 밤새 보존하는게 아니라, 일부분은 남들이 이용할 수 있도록 열어둔다.
- 내가 바로 poweron을 한다고 해서 이 공간이 바로 확보되는것은 아니기 때문에, ec2가 바로 켜지지 않는 문제가 발생한다.
- 이를 해결하기 위해 용량 예약을 하는 것이다.
- 물론 비용은 발생한다.
* cp 다음에 -r 옵션이 필요하다.
사용자 데이터에 추가하는데, 이번에는 echo 로 index.html 파일을 만들지 않고, 깃허브에서 클론하여 index파일을 받아올 수 있도록 한다.
[인스턴스 시작]을 클릭한다.
새로고침 버튼을 눌러 보면 인스턴스가 생성된 것을 볼 수 있다.
그리고 퍼블릭 ip로 들어가면,
이런 홈페이지가 뜬다.
aws의 인스턴스와 alibaba의 도메인을 연결하기
https://dns.console.aliyun.com/
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。阿里云云计算、安全、大数据、人工智能、企
account.aliyun.com
alibaba cloud로 들어간 뒤, dns를 검색해서 들어간다.
저번에 생성했던 dnsa에 클릭해서 들어간다.
[Add Record] 클릭
Value에 방금 만든 aws 인스턴스의 public IP값을 넣는다.
그리고 [Confirm] 클릭
그리고 http://web01.cloudywinter.shop/
에 접속해본다.
아까 public ip와 동일한 창이 뜬다.
aws의 ip만 가지고도 alibaba의 도메인과 연결해서 사용할 수 있는 모습을 볼 수 있다.
Amazon VPC
- 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다
- AWS의 확장 가능한 인프라를 사용할 수 있다.
- 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 유사하다.
VPC 관련 용어
1. VPC
- Virtual Private Cloud
- 사용자의 AWS 계정 전용 가상 네트워크.
- 전체 네트워크 주소 범위는 172.31.0.0/16 (리전 단위)
2. 서브넷
- VPC를 쪼갠 조각들
- 각각의 AZ에 1개씩 네트워크 주소가 할당된 VPC의 IP 주소 범위
- 하나의 AZ에 하나의 서브넷이 할당된다.
- 172.31.0.0/20
- 172.31.16.0/20
- 172.31.32.0/20
- 172.31.48.0/20
(리전 단위)
- public subnet : 공인 인터넷과 통신 가능한 서브넷
- private subnet : 공인 인터넷이 차단된 사설 IP만 할당된 서브넷
* AZ( Availability Zone)
- 예를 들어, 서울 리전은 AZ가 3개이다. -> a, b, c
3. 라우팅 테이블
- 네트워크 트래픽을 전달할 위치를 결정하는 데 사용되는 라우팅이라는 규칙 집합
- 172.31.0.0/16 (서브넷 단위)
4. 인터넷 게이트웨이
- VPC의 리소스와 인터넷 간의 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이
- 라우팅 테이블에 할당됨(VPC 단위)
5. Network ACL(네트워크 액세스 제어)
- 서브넷을 오고 가는 모든 트래픽을 제어하는 역할
- Inbound(내부로의 통신), OutBound(외부로의 통신)를 기반으로 모든 통신을 허가함(서브넷 단위)
6. Security Gorup
- 인스턴스의 가상 방화벽 역할
- InBound는 모든 통신을 거부
- OutBound는 모든 통신을 허가
- 인스턴스 단위
- 즉, 들어오는 건 막고, 나가는건 연다
https://aws-hyoh.tistory.com/entry/VPC-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1
Virtual Private Cloud(VPC) 쉽게 이해하기 #1
VPC(Virtual Private Cloud) Amazon Virtual Private Cloud(Amazon VPC)에서는 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이..
aws-hyoh.tistory.com
좋은 글은 공유를..,,
1. VPC 생성하기
[Create VPC] 클릭
[DNS 호스트 이름 편집] 클릭
dns 호스트 이름을 활성화에 체크 한다. -이를 NEW-VPC와 MY-VPC에 적용한다.
퍼블릭 IPv4 DNS에 주소가 생겼다.
이걸로 접속 가능하다.
2. 서브넷 생성
서브넷 메뉴로 가서, [서브넷 생성]을 클릭한다.
192.168.16.0/20 : ~ 31.255 까지 사용할 수 있음
똑같이 private subnet도 만들어 준다. (여기서는 96~ 112.0까지..)
3. 인터넷 게이트웨이 생성
별 과정 없이 그냥 이름만 지정하면 된다.
(그림의 파란 줄)VPC와 게이트웨이를 연결하는 과정이 필요하다.
그래야 라우팅테이블에서 이용가능해진다.
그리고 라우팅테이블 메뉴로 들어가보면, 이름이 없는 테이블이 있다.
아까 전 작업으로 생성된것이다.
이름을 바꿔주자.
오른쪽 마우스 - 라우팅 편집
0.0.0.0을 향하는 트래픽이 그 다음으로 가면 거기서(인터넷 게이트웨이) 다음 장소를 알려준다! => 라우터를 거쳐 거쳐 간다.
아랫쪽에 [서브넷 연결] 메뉴 클릭해서 associate (=mapping, link 등과 같은 의미) 한다.
스크롤 내리면 [명시적 연결이 없는 서브넷] 목록이 뜨는데, 우측의 [서브넷 연결 편집]을 클릭한다.
PUBLIC SUBNET만 을 클릭한다.
다시 라우팅 테이블 탭을 들어간다.
똑같은 방식으로 서브넷 - PRIVATE만 선택한 뒤, 연결한다.
서브넷 메뉴로 들어간다.
퍼블릭 서브넷 4개에 [퍼블릭 IPv4 주소 자동 할당 활성화]를 체크한다.
VPC Peering
- 네트워크 보안
- IP가 private로 통신할수 있도록 해준다.
- 프라이빗 IPv4 주소 또는 IPv6를 사용하여 두 VPC간에 트래픽을 라우팅할수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결
실제로는 VPC가 분리되어 있기 때문에 필요한 작업이다.
- 같은 AWS 망 안에서 외부로 노출되지 않고 내부에서 통신할 수 있도록 함. => 보안 강화
- VPN 연결과 다름
<VPC A : 서울>
web server가 있음
public IP
10.0~ -> 나의 VPC
<VPC B : 도쿄>
DB가 있음
private IP -> 인터넷이 안됨
172.31 ~ -> 기본 VPC
*만약 public을 쓴다면 인터넷을 통해 public IP로 통신하면 된다.
172.31.**로 private로 Ping이 나가게 된다. -> 그다음 라우팅 테이블 세팅(next hope로 static하게 세팅)
=> 도쿄로 접속하려면 서울을 bastion으로, 서울을 경유해서만 갈 수 있다.
리전을 도쿄로 바꾼다.
왜 디폴트 VPC로만 안되는건가?
- 도쿄, 상파울로 등... 모든 리전의 디폴트 VPC의 IP가 172.31.0.0/16이다.
- IP대역이 같으면 VPC 피어링이 안된다. -> 충돌이 난다.(Conflict)
- 따라서 새로운 VPC를 만들어 줘야 한다.
새 탭을 열어서 도쿄의 ec2-인스턴스 메뉴로 간다.
[인스턴스 시작] 클릭
* 리전마다 별도의 ami가 존재한다.
그래서 서울의 ami와 도쿄의 ami가 다르다.(아이디를 비교해보면 다름)
키는 리전별로 운영되기 때문에, [새 키 페어 생성] 클릭한다.
네트워크 설정 - 편집 클릭
도쿄에 public ip를 주면 안되기 때문에 [퍼블릭 IP 자동 할당] - 비활성화 를 한다.
[인스턴스 시작]을 클릭해서 인스턴스를 생성한다.
이를 서울의 인스턴스에서 접속해본다.
서울 리전 - ec2 - 인스턴스로 들어간다.
iTerm로 들어간다.(혹은 moba Xterm으로 들어가도 OK!)
상단의 [연결]을 통해 접속한다.
여기서 도쿄의 private ip에 ping을 쳐보면 안나간다.
서울에서 수락을 해야 ping을 받을 수 있다.
VPC - 피어링 연결 메뉴로 간다.
[피어링 연결 생성]을 클릭한다.
요청자 : WEB01이 MY-VPC에 있기 때문에 요청자 VPC는 MY-VPC이다.
도쿄의 VPC ID를 복사해서 붙여넣는다.
만든 후 다시 도쿄의 VPC - 피어링 메뉴로 들어가보면
수락 대기 중인 VPC 피어링이 생긴 것을 볼 수 있다.
작업 - 요청 수락 을 누른다.
그러면 VPC Peering Connection이 설정되게 된다.
하지만 여전히 ping이 나가지 않는다.
링크가 되었지만, 서로간의 라우팅 정보가 필요하다.
IP network(사설)가 전혀 다르기 때문이다.(10.0..., 172.31.... 두개가 전혀 다르다 => 라우팅이 필요하다.)
따라서 라우팅 테이블을 세팅해줘야 한다.
상단에 초록색 창에서 [지금 내 라우팅 테이블 수정] 을 클릭한다.
라우팅이 2개가 있으므로 public을 위한 라우팅 테이블임을 알 수 있다.
[라우팅 편집]을 누른다.
- 서울의 MY-VPC정보를 입력한다.
- [피어링 연결]을 클릭해서 나오는 pcx를 선택한다.
[변경 사항 저장]을 한다.
도쿄->서울 로 가는 라우팅 테이블이 설정되었다.
이제 서울 -> 도쿄로 가는 라우팅 테이블을 설정해야 한다 -> 그래야 ping이 된다.(ping은 왕복이기 때문에)
서울의 VPC - 라우팅 테이블 메뉴로 간다.
public rtb를 수정 해야한다. - 왜냐하면 web01이 public subnet에 있기 때문이다
MY-PUBLIC-SUBNET-RTB의 라우팅 메뉴에서 [라우팅 편집]을 클릭한다.
도쿄의 기본 vpc의 IP를 입력한다.
[변경 사항 저장] 후 ping을 쳐본다.
잘 간다.
반대로 도쿄에서 서울로 핑이 가는 것도 확인해 본다.
-> ping은 왕복으로 움직이는 것이기 때문에, 도쿄에서 서울로 ping이 가는 지 확인하는 작업은 사실상 불필요하다.
하지만 도쿄는 public IP가 없으므로, 서울을 bastio삼아 접근해야 한다. 이 때, key가 필요하다.
일단 WEB01(서울 리전)으로 접속한다
tokyo-key.pem을 web01 넣는다.(moba Xterm을 이용)
그 다음 권한을 400으로 바꾼다
SSH로 접속한다.
애초에 퍼블릭 ip가 없으면 통신이 안된다 -> 하지만 aws는 가능하다!
왜냐하면 outbound내에서 연결된 게 있기 때문이다...
도쿄 - VPC - 탄력적 IP로 간 뒤, 따로 수정 없이 [탄력적 IP 주소 할당] 을 클릭한다.
인스턴스를 만든 뒤에 뒤늦게 public ip를 할당할 수는 없다. - 탄력적 IP를 생성한다.
도쿄의 인스턴스를 선택한다.
ping google.com을 해 보면 잘 간다.
사용이 끝났으면 탄력적 IP를 연결 해제 후 릴리스 해준다.(과금 방지!)
'Public Cloud > AWS' 카테고리의 다른 글
AWS 실습 8 (0) | 2022.06.15 |
---|---|
AWS 실습 7 (0) | 2022.06.14 |
AWS - RDS 개념, 실습 (0) | 2022.05.31 |
AWS - EC2 인스턴스 스토리지(EBS, EFS) (0) | 2022.05.30 |
AWS - EC2 Basic 2 (0) | 2022.05.27 |