사진이 원활히 들어가지 않는 점 양해 부탁드립니다. 앞으로는 노션 페이지 복붙안하고 제대로 쓸게요 ㅠ
큰 네트워크를 작은 네트워크 단위로 나눈 것
IP주소의 네트워크 ID와 호스트 ID를 분리해줌!
예를 들어, 255.255.255.0은 처음 세 옥텟은 네트워크를, 마지막 옥텟은 호스트를 식별하는 데 사용
→ 이렇게 분리해주는 것을 서브네팅
IP주소를 대역에 따라 나눈 IP클래스 라는게 있는데, 각 클래스에는 기본 서브넷 마스크가 있다
IP주소와 기본 서브넷 마스크를 AND 연산한 결과 = 네트워크 ID
이때 서브넷 마스크의 Network ID부분은 1이 연속적으로 있어야 하고 Host ID부분은 0이 연속적으로 있어야 한다. → 이게 무슨말일까요?
원본 네트워크를 여러개의 서브넷으로 분리하는 과정
서브넷 마스크의 bit 수를 증가시키는 것!
예를 들어 C클래스인 192.168.32.0/24를 서브넷 마스크의 bit수를 1 증가시켜서 192.168.32.0/25로 변경해보자
192.168.32.0/24는 24개의 비트로 네트워크를 나타내고 나머지 8개 비트로 호스트를 나타내므로 할당 가능한 호스트의 수는 2^8-2=254개192.168.32.0/25로 변경하게 되면 네트워크ID부분: 24비트 → 25비트 호스트ID 부분: 8비트 → 7비트라우팅(Routing)이란, 패킷에 포함된 주소 등의 상세 정보를 이용하여 목적지까지 데이터 또는 메세지를 체계적으로 다른 네트워크에 전달하는 경로 선택하여 스위칭하는 과정
→ 데이터의 목적지가 어디인지 확인하여 빠르고 정확한 길을 찾아 전달해주는 것
네트워크 정보를 여러개로 나누어진 Sub-Network들을 모두 나타낼 수 있는 하나의 Network로 통합해서 보여주는 방법
서브네팅 ⊂ CIDR 관계
AWS에서는 서브넷을 CIDR이라 부른다
리전: 대규모의 서버 컴퓨터를 모아 둔 곳
가용영역: 리전을 한번 더 분산해서 배치한 것
AWS에서 제공하는 가상의 개인 네트워크 서비스(사설 IP 사용)
사용자는 VPC를 사용하여 AWS 클라우드의 격리된 부분에서 네트워크를 정의하고, 생성할 수 있으며, 이 네트워크 내에서 EC2 인스턴스 같은 AWS 리소스를 배포하고 실행할 수 있다
VPC 자체에서도 서브넷을 사용한다
→ 주의! VPC의 서브넷 아이피 대역에서는 실제 네트워크와 달리, 총 5개의 아이피 주소를 호스트에 할당 할 수 없다(1~5번째)
VPC 서브넷 중 외부와 통신이 원활하게 되는 서브넷 대역
인터넷 게이트웨이를 통해 밖으로 나가도록 라우팅 테이블 설정을 해줘야한다
외부와 단절된 서브넷 대역
**보안성 강조(포트포워딩)**
실습 1 VPC를 이용한 EC2 ~ 실습 4 - 탄력적 IP 설정하기까지
AWS에 로그인 후(교육용 계정 말고…) VPC를 검색한다 - 체크 리스트 참고!

VPC 생성에 들어와서 VPC등 말고 VPC만을 선택하고 아래 사진처럼 설정한다.

이제 서브넷을 만들 차례! 옆에 사이드 바에서 서브넷을 찾아주세요.
이후 서브넷 생성으로 가주세요!

아래 사진처럼 서브넷을 생성합니다.

이제 인터넷 게이트웨이를 만들 차례입니다!

인터넷 게이트웨이는 그냥 이름만 정해주면 됩니다.

이제 인터넷 게이트를 만들었으니 내버려두면 안되고 VPC에 연결을 해줍니다!

아까 만들었던 VPC에 연결을 합니다.

이제 다음으로 라우팅 테이블을 수정 합니다. (참고 내용)
[VPC > 라우팅 테이블]을 보시면 아래 사진을 확인할 수 있습니다.
1. 위에서 제가 말했듯이 public subnet은 외부로 나갈 때,
IG로 거치게 한 라우팅을 서브넷에 연결해주면 public subnet이 됩니다!
2. 라우팅 테이블은 VPC를 만들면 자동으로 만들어집니다! 우리는 수정만 하면 됩니다!

위 사진을 보시면 라우팅 테이블에 외부로 나가는 설정이 없는 것을 확인 가능합니다!

위 사진처럼 0.0.0.0/0(외부 아이피 대역)이 목적지일 때, 인터넷 게이트웨이로 나가도록 설정을 해주면 됩니다!


이제 외부로 나가도록( = 외부와 통신이 가능하도록) 설정이 된 라우팅을 서브넷에 연결해주면, 해당 서브넷은 이제 퍼블릭 서브넷이 됩니다!

이제 해당 라우팅 테이블을 원하는 서브넷에 연결을 해줍니다!

~VPC의 기본적인 설정 끗~
마지막으로 2가지 개념만 익히면 VPC에 EC2를 만들 준비가 끝나게 됩니다!

보안그룹은 아래 사진처럼 인바운드를 설정해주면 됩니다! 소스의 경우, IPv4로 설정하시면 됩니다!
당연하게도, VPC는 만들었던 VPC를 선택 해줘야 합니다.서울 리전인 것을 확인하고 EC2를 검색해 위 사진의 우측 위에 새 인스턴스 시작을 눌러주세요


이름을 정한 후, EC2의 운영체제를 선택합니다.

인스턴스 유형은 t2.micro t3.micro 등 micro 유형이 프리티어가 되니 micro를 선택해주세용

이제 키 페어를 선택 후 (없으면 만들면 됩니다! 키페어 생성 누르고 이름만 원하는 이름으로 한 뒤, 나머지 설정은 기본으로 두세용)
네트워크 설정에서 편집을 누른 뒤 위 사진처럼 해주세요!


이제 생성을 해주시면 됩니다. 생성 끗!
이 때, EC2를 중지 후 재실행을 하면 아이피 주소가 바뀝니다! 만약 실제 서비스를 EC2를 통해 제공하고 있었을 때, 아이피 주소가 바뀌게 된다면 많은 혼란이 생깁니다. 따라서 EC2가 꺼지더라도 아이피 주소가 바뀌지 않도록 탄력적 IP를 연결해주는 것이 필요합니다
이렇게 탄력적 아이피를 기본 설정을 아무것도 건드리지 않고 할당을 해주시면 됩니다!
이제 만들어진 탄력적 아이피를 연결 해주시면 됩니다.
이렇게 탄력적 아이피를 연결하고 싶은 인스턴스를 선택 후 연결을 선택해주세요사진처럼 Browse Remote Host를 선택해주세요

윈도우… 지만 Mac도 아마 저 사진과 같을겁니다…
이후 오른쪽에 펼쳐지는 창에서 아래 사진 상의 1. 2.를 클릭한 후 3번 설정을 따라해주세요.
Host에 연결하려는 EC2의 아이피주소를 기입하고 Username에 ubuntu를 기입하고,
키 페어로 인증을 선택한 후 컴퓨터 상에 저장된(키 페어 생성 시 저장 됩니다!) 키 페어를 넣습니다.

이제 테스트를 해보고 저렇게 아름다운 녹색이 뜨면 성공!

거의 다 왔습니다! ദ്ദി ᵔ∇ᵔ )

Nginx는 정적 컨텐츠를 처리하는 웹 서버로서의 역할을 합니다. 사용자의 HTTP 요청을 받아 적절한 웹 페이지를 반환합니다.
클라이언트와 백엔드 서버 사이에 위치하여 클라이언트의 요청을 실제 서버로 전달하고, 서버의 응답을 클라이언트로 반환하는 역할을 합니다.
클라이언트는 실제 서버의 존재를 알지 못하며, 모든 요청과 응답은 리버스 프록시 서버를 통해 이루어집니다.
Nginx는 로드 밸런싱 기능도 제공하여 여러 백엔드 서버로의 요청을 분산시킵니다.
이를 통해 단일 서버에 가해지는 부하를 줄이고, 웹 애플리케이션의 가용성과 신뢰성을 향상시킵니다.
메일 전송 프로토콜을 사용하는 클라이언트의 요청을 프록시하는 역할을 수행합니다.
SSL/TLS 암호화를 처리하며, 클라이언트와의 암호화된 연결을 유지하고 백엔드 서버로의 연결은 복호화된 상태로 유지할 수 있습니다.
Nginx는 캐시 기능을 통해 컨텐츠를 빠르게 제공할 수 있으며, 또한 데이터 압축 기능을 통해 대역폭 사용을 최적화할 수 있습니다.
이제 원격 접속을 한 터미널에서 아래 명령어를 통해 nginx를 설치해주세요
sudo apt update
sudo apt ugrade -y [이거 좀 오래걸림 ꌩ-ꌩ]
sudo apt install nginx -y

이제 브라우저에서 EC2 아이피 주소로 접속 시 저 화면이 뜨면 성공입니다!
만약 위 화면이 보이지 않는다면, EC2의 보안그룹에 TCP 80번 포트가 anywhere로 설정이 되어있나 확인해주시고 nginx가 제대로 설치가 되었는지 확인해주세요!