VPC
-> VPC 생성
클릭
VPC 생성
이름 : 이름-VPC
IPv4 CIDR 블록 : 10.0.0.0/16
나머지 기본값으로 나둔 후 -> VPC 생성
클릭
VPC
-> 서브넷
-> 서브넷 생성
클릭
서브넷 생성
VPC ID : 생성한 VPC 선택
서브넷 이름 : 이름-Public-SN
가용영역 : ap-northeast-2a
IPv4 블록 : 10.0.0.0/24
서브넷 생성
클릭
서브넷 생성 완료 !
VPC
-> 인터넷 게이트웨이
-> 인터넷 게이트웨어 생성
클릭
인터넷 게이트웨이 생성
이름 태그 : 이름-IGW
인터넷 게이트웨어 생성
클릭
인터넷 게이트웨어 생성 후 작업
클릭 -> VPC 연결
클릭
생성한 VPC 선택 후 -> 인터넷 게이트웨어 연결
클릭
VPC
-> 라우팅 테이블
클릭 -> 라우팅 테이블 생성
클릭
라우팅 테이블 생성
이름 : 이름-Public-RT
VPC : 생성한 VPC 선택
라우팅 테이블 생성
클릭
라우팅 테이블 생성 완료 !
생성한 퍼블릭 라우팅 테이블 클릭 후 -> 서브넷 연결
클릭 -> 서브넷 연결 편집
클릭
서브넷 연결 편집
생성한 퍼블릭 서브넷
클릭 후 -> Save associations
클릭
다시 생성한 퍼블릭 라우팅 클릭 -> 라우팅
클릭 -> 라우팅 편집
클릭
Destination : 0.0.0.0/0
Target : Internet-gateway
변경사항 저장
클릭
EC2
클릭 -> 인스턴스
-> 인스턴스 시작
클릭
AMI 선택
Linux 2
클릭 후 선택
클릭
인스턴스 유형 선택
기본 값 -> 다음: 인스턴스 세부 정보 구성
클릭
인스턴스 세부 정보 구성
네트워크 : 생성한 VPC 선택
서브넷 : 퍼블릭 서브넷 선택
퍼블릭 IP 자동 할당 : 활성화
나머지 기본 값으로 나둔 후 -> 다음: 스토리지 추가
클릭
스토리지 추가
기본 값 -> "다음: 태그 추가` 클릭
태그 추가
키 : Name
값 : Public-EC2
검토 및 시작
클릭
시작하기
클릭
체크박스 선택 후 -> 인스턴스 시작
클릭
인스턴스 생성 완료 !
생성한 인스턴스 클릭 후 -> 연결
클릭 -> SSH 클라이언트
클릭 후 명령어 복사
터미널을 킨 후, Key 파일이 있는 폴더 경로로 들어가 아까 복사한 명령어를 넣어주면 접속 완료 !
#네트워크 인터페이스 확인
ip -br -c addr show
or
ifconfig # 이제 이 명령어 쓰면 아재라네요.. ㅠ
# 구글로 ping 가는 지 확인
ping 8.8.8.8
# 외부 접속 시 공인IP 정보 확인
curl ipinfo.io
마지막으로 퍼블릭 테이블까지 캡쳐하면 첫번째 실습 끝 !
VPC
-> 서브넷
-> 서브넷 생성
클릭
서브넷 생성
VPC ID : 생성한 VPC 선택
서브넷 이름 : 이름-Private-SN
가용영역 : ap-northeast-2c
IPv4 블록 : 10.0.1.0/24
서브넷 생성
클릭
프라이빗 서브넷 생성 완료 !
VPC
-> NAT 게이트웨이
클릭 -> NAT 게이트웨이 생성
클릭
NAT 게이트웨이 생성
이름 : 이름-NAT
서브넷 : 퍼블릭 서브넷
탄력적 IP 할당 : `탄력적 IP 할당` 클릭
NAT 게이트웨이 생성
클릭
VPC
-> 라우팅 테이블
클릭 -> 라우팅 테이블 생성
클릭
라우팅 테이블 생성
이름 : 이름-Private-RT
VPC : 생성한 VPC 선택
라우팅 테이블 생성
클릭
생성한 프라이빗 라우팅 테이블 클릭 후 -> 서브넷 연결
클릭 -> 서브넷 연결 편집
클릭
서브넷 연결 편집
생성한 프라이빗 서브넷
클릭 후 -> Save associations
클릭
다시 생성한 프라이빗 라우팅 클릭 -> 라우팅
클릭 -> 라우팅 편집
클릭
Destination : 0.0.0.0/0
Target : NAT-gateway
변경사항 저장
클릭
인스턴스 설정
전부 퍼블릭 인스턴스와 설정이 같고, 인스턴스 세부 구성
, 태그 추가
부분만 다르다
인스턴스 세부 구성
네트워크 : 생성한 VPC
서브넷 : Private 서브넷
퍼블릭 IP 자동 할당 : 비활성화
하단에 고급 세부 정보
에서 사용자 데이터에 작성
#!/bin/bash
(
echo "qwe123"
echo "qwe123"
) | passwd --stdin root
sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
service sshd restart
다음: 스토리지 추가
클릭
태그 추가
키 : Name
값 : Private-EC2
검토 및 시작
클릭
퍼블릭 주소를 확인해보면 프라이빗 인스턴스에는 없다는 걸 볼 수 있다
퍼블릭 인스턴스에서 ssh root@프라이빗 주소
를 입력하면 접속 완료 !
#네트워크 인터페이스 확인
ip -br -c addr show
or
ifconfig # 이제 이 명령어 쓰면 아재라네요.. ㅠ
# 구글로 ping 가는 지 확인
ping 8.8.8.8
# 외부 접속 시 공인IP 정보 확인
curl ipinfo.io
마지막으로 프라이빗 테이블까지 캡쳐하면 과제 완료 !
참고 자료 : AFOS[2기] 노션 내용