오늘은 간단하게 VPC를 만들어보고 private서브넷과 public서브넷을 만들어 연결한 뒤
게이트웨이에 연결 하는것 까지 해보았다
생각보다 간단했지만 AWS에서 네트워크 연결하는 방법을 잊지말자!!
(전체적인 VPC 도안)
- 용어
AWS 서비스 - aws에서 제공하는 서비스
AWS 인스턴스 - aws를 이용하여 사용자가 생성한 실제 서비스 객체
객체
속성 - 객체 상태정보
행위 - 객체 상태 정보를 이용하거나 변형하는 동작
AWS 리소스 - aws서비스가 사용하는 자원
IAM(identity access management)
AWS 리소스에 대한 액세스를 안전하게 제어하기 위한 역할, 권한 설정 서비스
IAM을 사용하여 AWS 리소스를 사용하도록 인증(로그인) 및 권한 부여 대상 제어
IAM은 글로벌 서비스 ->
IAM 루트 관리자 계정
전체 AWS 서비스 및 계정 리소스에 대한 완전한 액세스 권한 부여
e-mail 주소와 암호로 로그인
MFA 적용을 통한 이중 인증 가능
IAM 사용자 계정
AWS에서 생성된 엔티티로서 AWS와 상호작용하기 위한 사람 또는 어플리케이션
최소권한 원칙 적용 - 필요한 AWS리소스에 대해 액세스 권한 부여
CLI/SDK 사용시 별도의 액세스 키 필요
기본적으로 주어진 권한은 없다!
각 IAM 사용자에게 필요한 권한 부여
IAM 메뉴 -> 사용자
유저 아이디 test20220906
비번 rudgus4175@@
권한은 기존 정책 직접 연결에서 ec2 readonlyaccess를 부여
태그 Name - test user 20220906
(태그는 AWS 인스턴스 식별 목적의 값, 항상 부여하는게 차후 AWS 인스턴스 식별시 도움이 됨)
네트워크 구성요소
포트번호 - 네트워크 통신을 수행하는 프로세스에 부여되는 번호, 2바이트 크기를 가짐
IP address - 네트워크에 연결된 compute(host)에 부여된 번호, AWS는 IP v4를 부여
CIDR 방식으로 host 식별
서브넷
네트워크에 연결된 호스트를 관리하기 위한 부분 네트워크
게이트웨이
외부 네트워크와 통신을 수행하기 위한 연결점
IPv4에서는 마지막 옥텟의 1번을 게이트웨이로 사용
라우터
네트워크에 연결된 host의 경로를 탐색하는 역할수행
라우팅 테이블에 연결된 host경로 정보 관리
vpc생성 들어기기 -> vpc만을 클릭
(vpc등을 선택하면 서브넷부터 라우터까지 만들수있음)
-> 이름 - 해당 인스턴스를 식별하기 위한 역할
-> IPv4 CIDR를 할당해주어야함 -> 10.0.0.0/16으로 설정함
VPC생성이후 설정 해야하는 내용
DNS 호스트 이름 - 활성화 시켜주어야한다
DNS 확인도 활성화 되어있어야한다!
VPC를 생성하면 기본 routing table이 자동 생성 된다.
VPC를 새로 생성한다는 것은 사설 네트워크 구성을 의미한다.
VPC 자체에 대한 비용은 무료
서브넷 생성시에 public과 private를 나눌 수는 없다.
인터넷에 연결되어 외부와 직접 통신이 가능한 subnet
인터넷 게이트웨이를 통하여 인터넷과 연결
양방향 통신
인터넷에 연결되어있지 않은 서브넷
VPC 내부 네트워크상에서만 가능
NAT Gateway를 사용하면 단방향 통신가능
VPC메뉴 -> 서브넷 누르고 생성 누르기
vpc선택하기 -> 이름 짓고 , 가용역역 설정 및 IPv4 CIDR 설정, Name 태그 부여
서브넷 수에 따라서 필요한 라우팅 테이블 생성!! (private 서브넷 하나, public 서브넷 하나)
네트워크 환경에서 호스트를 검색하는 경로 정보를 가지고 있는 네트워크 요소
라우팅 테이블 내용을 이용하여 연결 정보 구성
이름설정하고 - VPC 설정 하면 끝
VPC 메뉴 -> 라우팅 테이블
->원하는 라우팅테이블 누르고
-> 작업
-> 서브넷 연결 편집 들어가기
-> 연결할꺼만 클릭하기!
public subnet을 위한 라우팅 테이블에 인터넷 통신을 위한 라우팅 추가해야한다!!!
인터넷 통신을 위한 인터넷 게이트웨이가 라우터와 연결 되어야 한다!!
vpc메뉴 -> 인터넷 게이트웨이 -> 인터넷 게이트 웨이 생성 -> VPC연결
상태가 Attached로 바뀜
라우팅에 인터넷 게이트웨이 추가하기
결합 원하는 라우팅에서 라우팅 편집 -> 라우팅 추가
대상 : 라우팅 편집의 대상(통신할 대상) 그리고 인터넷 게이트 웨이 누르기
( -> 0.0.0.0/0 모든 IP를 대상으로 하겠다는 뜻, 호스트와 통신 가능)
컴퓨팅 서비스 - EC2
EC2구성
가상 H/W 구성
CPU type
Memory 크기
보조 기억장치 종류/ 크기/ I/O 속도
설치할 O/S
EC2가 위치할 네트워크
보안 그룹
EC2에 접속할 때 사용할 공개키
EC2메뉴에서 인스턴스 클릭 -> 인스턴스 시작
이름결정(WebServer)->
애플리케이션 및 OS이미지 설정 ->
AMI (Amazon machine image)
즉시 사용가능한 OS와 패키지를 가지고 있는 이미지
별도 os설치과정 없이 AMI를 이용하여 EC2에 바로 사용할 수 있도록 해주는 이미지->걍 압축파일
인스턴스 유형
cpu, memory, 보조 기억장치, 네트워크 대역을 결정
키페어(로그인)
EC2 인스턴스에 대한 접속(리눅스) - SSH를 이용
goorm-aicore0918-20220906
네트워크 설정 편집
vpc선택
퍼블릭 ip자동할당
보안 그룹 - 인스턴스 수준 방화벽
inbound 규칙- 모든 포트에 대하여 막혀있는 설정
outbound 규칙 - 모든 포트에 대하여 열려있는 설정
만약에 putty를 써서 접근하려면 ppk가 아닌 pem으로 키를 생성했다면
puttygen으로가서 ppk로 만들기 -> save privatekey를 누르면 됨!
putty에서 로그인할때 ec2-user를 적으면 끝
-> ec2인스턴스와 private IP가 같으면 끝@!!!
ec2인스턴스 종료가 삭제임!
인스턴스 -> 컴퓨터 세계(메모리)에서의 객체