
Virtual Private Cloud : 사용자 전용 가상 프라이빗 클라우드
*VPC 구성 요소
*VPC의 보안 그룹과 ACL
- VPC
- VPC 요약도 1
- VPC 요약도 2
- VPC의 사설 IP
- 서브넷팅 개념(기존 범위보다 적게)
- 라우터의 기능을 이용해서 서로 연결
- 보안그룹(ssh, http)
- 내부와 외부 통신(프라이빗: 내부 통신, 퍼블릭: 외부 통신 가능)
- 기본 리소스
- 기본 VPC
- 기본 서브넷
- 기본 라우팅 테이블
- 기본 게이트 웨이
- 기본 ACL
삭제 금지
*VPC, 게이트웨이, 라우팅, EC2 생성 및 SSH접속
- VPC(서브넷) 생성하기, CIDR 조정하기
- VPC 생성된 것 확인
- VPC 생성 정보 확인
- DNS 확인, DNS 호스트 이름 비활성화를 활성화
- DNS 확인이 활성화 된것 확인
*서브넷 생성 /

- 서브넷 생성하기
- 가용 영역과 CIDR 조정해주기
*서브넷을 하나더 생성 ,
- 백업용 서브넷 생성(기존 서브넷이 고장났을 때를 대비해서)
- mytest-subnet-1과 서브넷 범위가 겹치지 않게 생성
- 서브넷 생성 확인
*EC2생성

⇒ 인스턴스 생성 후 접속 해보면 접속 안됨 . (게이트웨이가 없어서)
- 인스턴스 생성(EC2)
- 서브넷 연결하고 퍼블릭 IP 자동할당 활성화
- 보안 그룹 생성(ssh와 httpd)
- ssh 연결이 안되는 것 확인( 연결 x )
*게이트웨이 생성 하고 접속
- VPC와 EC2 연결
- 인터넷 게이트웨이 생성
- 게이트웨이 생성된 것 확인
- VPC와 인터넷 게이트웨이 연결 (인터넷 게이트웨이에서, 외부로 나갈 수 있게)
- VPC와 인터넷 게이트웨이 연결된 것 확인
*라우팅 테이블 편집
- 라우팅 연결
- 라우팅 편집에서 인터넷 게이트웨이와 연결 (내부로 통신 할 수 있게)
- 라우팅 연결된 것 확인
-순서 : VPC생성 ⇒ 서브넷 생성 ⇒ 게이트웨이 생성 ,VPC에 연결 ⇒라우팅 테이블 생성 과
게이트웨이에 연결 ⇒ 인스턴스 생성과 접속
*리소스 삭제 [ EC2 , 게이트웨이, VPC, 서브넷, 라우팅 테이블 ]
- EC2와 연결 완료(ssh)
*VPC생성 :
- VPC 생성(CIDR 설정)
- VPC 생성하고 생성정보 확인
- 네트워크 ACL - 인바운드와 아웃바운드 규칙으로 보안 지정
- 서브넷 생성(VPC 지정)
- public으로 생성(가용영역, CIDR 주의)
- 생성 후 가용영역, IPv4, 라우팅 테이블, VPC가 제대로 설정되었는지 확인
- public 서브넷과 라우팅 테이블 연결
- public 서브넷과 라우팅 테이블 연결 확인
- public 서브넷과 라우팅 연결 세부 내용 확인
- 서브넷 연결 정보에서도 라우팅이 잘 연결되었는지 확인
- 인터넷 게이트 웨이 생성 후
- 게이트 생성 확인
- 생성한 VPC와 연결
- VPC와 연결된 것 확인
- 라우팅 테이블로 이동 후 인터넷 게이트 웨이와 연결 설정 후 저장
- 라우팅 테이블에서도 라우팅 연결이 되었는지 확인
- 보안 그룹 생성(ssh와 httpd)
- 보안 그룹 생성된 것 확인
- ec2 생성
- VPC 지정하고 퍼블릭 ip 할당, 보안 그룹 선택
- ssh에 접속 확인
- ip address 확인
- curl 명령어로 웹 호출 확인
- 웹 페이지 설정 후 확인 (보안 정책을 내 IP만으로 해놔서 로컬 PC로는 접속이 되지만 다른 PC에서는 접속이 안된다)

-서브넷 생성 과 명시적 서브넷 연결
- VPC 지정
- private 서브넷 설정
- private 서브넷의 생성된 정보 확인
- 라우팅 테이블 생성
- 라우팅 테이블 생성 확인
- 라우팅 테이블 세부 정보 확인
*NAT게이트웨이 생성 ( 퍼블릭과 프라이빗이 있기 때문에 )

- NAT gateway 생성(public과 private으로 나눠져 있기 때문에)
- public subnet 선택( public이 외부로 나가기 때문에 )
- NAT 게이트웨이 생성 확인
생성 클릭 ⇒ Pending ⇒ Available로 변경 됨.

*라우팅 테이블 편집

- 라우팅 테이블 편집
- NAT 게이트웨이와 라우팅 연결 설정(탄력적 ip: 인스턴스 종료해도 ip가 남아있다)
- NAT 게이트웨이와 라우팅 연결 확인
-EC2생성 이름 [test-private-ec2] 및 나머지는 똑같고 보안그룹 생성 , 후 맨 아래에
[고급세부정보] ec2-user 인증키 등록

- private EC2 생성
- private 생성후 인증 필요 고급 설정 밑 부분에 복사하기
- 네트워크 설정
생성 클릭 후 네트워킹 정보 확인 및 각각의 EC2에 SSH접속
- private 인스턴스 생성 후 정보 확인 ,
- 서로 다른 ip를 가지고 있다 (public과 private) , public 인스턴스 public ip: 43.202.62.253
- private 인스턴스 public ip: 43.203.195.216
- public 인스턴스 public ip로 ssh 접속
- private 인스턴스 public ip로 ssh 접속

*AWS 클라우드의 대표적인 장점 중 하나.
*Auto scaling 용어

*오토 스케일링을 할때 정책
- 템플릿을 통해 EC2 생성
- 템플릿 이름과 버전 지정
- OS 지정
- 인스턴스 유형 선택, 키 페어 지정
- 기존 보안 그룹 선택
- 퍼블릭 ip만 활성화
- 템플릿 형성된 것 확인
- 템플릿 세부 정보 확인
-오토스케일링 그룹 / 이름 입력 [다음] / 가용영역은 2곳 선택 [a,b] / 고급 옵션은 기본 /
- auto scaling 그룹 생성
- 템플릿 선택하고 이름 지정
- VPC 지정하고 서브넷 2개 선택(하나는 백업용)
- 상태 확인 유예 기간: 대기 시간
- 원하는 용량 2개( 인스턴스 개수 )
- 최소용량: 원하는 용량 보다 작고 , 최대용량: 원하는 용량보다 크게 설정, 대상 추적 크기 조정 정책 클릭
- 템플릿을 만든 후 템플릿을 안 지우면 인스턴스가 지워지지 않는다(체크 해제하면 인스턴스 원하는 용량으로 인스턴스 용량 조절 가능)
- 알림 추가 설정
- 자동으로 인스턴스 생성
- 인스턴스 종료하면 템플릿을 통해 인스턴스 생성
-오토 스케일링에서 EC2 수량 변경 해보기
- 그룹 세부 정보 편집을 통해 인스턴스 개수 조절 가능
- 인스턴스를 3개로 설정
- 자동으로 인스턴스 생성
-서비스 삭제 시에는 수량을 0으로 설정 후 [그룹] 과 [템플릿] 삭제 하면됨.
*CloudFormation 서비스
스택 생성 /

-이름 입력 , 키네임 지정 [다음] / 스택 옵션 구성[다음] / 맨 아래 체크 하고 전송

- 스택 생성
- yaml 파일을 통해 원하는 VPC와 서브넷 등을 자동으로 생성
- 스택 세부 정보 지정(이름만 변경)
- 리소스 생성 승인
- 스택 생성 확인
- 잠시 기달리면 CREATE_IN_COMPLETE 가 되면 생성 완료
- 생성된 VPC와 서브넷, 인스턴스, 보안 그룹, ALB 확인(yaml 파일과 비교)
*생성된 EC2 정보 확인
*자원 삭제시 하나 하나 찾아서 삭제 하기보다 [스택을 삭제] 하면 모두 삭제가됨.
