AWS 특강 1회차(23. 6. 26.) 학습 정리
소프트웨어 마에스트로 14기로 활동하면서 전담 멘토님께서 주관하시는 AWS 특강을 수강하게 되었고, 해당 특강을 통해 학습한 키워드를 재학습하여 내 지식으로 만들고자 게시글을 작성하게 되었다.
IP Address
Internet Protocol Address
의 약자로, 컴퓨터 네트워크에서 장치들이 서로를 식별하고 통신할 수 있도록 하는 고유한 숫자이다. IP 주소는 인터넷에 연결된 각 기기에 할당되며, 전세계적으로 고유한 주소이다. IP 주소를 통해 기기들은 서로를 식별하고 데이터를 주고 받을 수 있다.
IPv4
32bit(4Byte) 숫자로 표현되며 일반적으로 [xxx.xxx.xxx.xxx](http://xxx.xxx.xxx.xxx)
형식으로 표기된다. 예를 들어, 192.168.0.1은 흔히 사용되는 IPv4 주소 형식이다.
IPv6
기존에 있던 IPv4의 주소 공간이 고갈되기 시작하면서 이에 대한 문제를 해결하기 위해 나온 새로운 IP 주소 체계이다. 128비트의 숫자로 표현되며 일반적으로 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:
와 같은 형식으로 표기된다. 예를 들어 2001:0db8:85a3:0000:0000:8a2e:0370:7334
는 IPv6 주소의 예시이다.
CIDR
Classless Inter-Domain Routing
의 약어로, IP 주소를 보다 효율적으로 관리하기 위해 개발된 주소 체계이다. 이전에는 IP 주소 할당에 클래스 기반의 체계가 사용되었으나, CIDR은 이러한 클래스 기반 체계의 한계와 낭비를 해결하고자 도입되었다.
CIDR은 IP 주소를 주소/접두사 길이
의 형태로 표기하는데, 주소는 IP 주소 자체를 의미하고 접두사 길이는 네트워크 주소 부분의 비트 수를 나타낸다. 이를 통해 IP 주소 공간을 보다 유연하게 분할할 수 있다.
예를 들어, 192.168.0.0/24
라는 CIDR 표기는 192.168.0.0
부터 192.168.0.255
까지의 256개의 IP 주소를 나타낸다. 여기서 /24
는 네트워크 주소 부분의 비트 수가 24라는 의미인데, 따라서 마지막 8비트가 호스트 주소로 사용되고, 이를 통해 256개의 호스트를 지원할 수 있다.
CIDR은 IP 주소 할당과 라우팅 테이블 관리를 단순화하고, IP 주소 공간의 효율성을 높이는데 사용된다. 또한, IPv4 주소 부족 문제를 해결하고 IPv6의 보다 큰 주소 공간을 관리하는 데에도 활용된다.
Public IP vs Private IP
Public IP
인터넷에 직접 접근할 수 있는 공개된 IP 주소이다. 인터넷 서비스 제공자(ISP)에 의해 할당되며, 전 세계에서 고유한 주소이다. Public IP 주소는 인터넷 상에서 기기나 네트워크를 식별하고 통신할 수 있게 해주고, 인터넷을 통해 웹 사이트에 접속하거나 인터넷 네트워크를 이용할 때, 해당 기기의 Public IP 주소를 사용하여 통신이 이루어진다.
Private IP
비공개적인 주소로 사설 네트워크에서 사용되는 주소이다. 사설 네트워크는 일반적으로 가정이나 사무실 내부의 로컬 네트워크를 의미하는데, 인터넷과 연결되지 않거나 인터넷에서 직접 접근할 수 없는 네트워크이다. Private IP 주소는 사설 네트워크 내에서 기기들을 식별하고 통신할 때 사용된다. 사설 네트워크에서 사용되는 IP 주소 범위는 표준에 따라 정의되어 있으며, 가장 흔히 사용되는 사설 IP 주소 범위는 아래와 같다.
- IPv4
10.0.0.0/8
:10.0.0.0
~10.255.255.255
172.16.0.0/12
:172.16.0.0
~172.31.255.255
192.168.0.0/16
:192.168.0.0
~192.168.255.255
- IPv6
fc00::/7
Private IP는 사설 네트워크에서만 유효하며, 인터넷 상에서는 직접 접근할 수 없다. 따라서 사설 네트워크으의 기기들은 인터넷에 접속하기 위해 NAT(Network Address Translation)와 같은 메커니즘을 사용하여 Public IP 주소와 통신하게 된다.
AWS VPC
VPC
Virtual Private Cloud의 약자로, 클라우드 컴퓨팅 환경에서 제공되는 가상의 사설 네트워크(Private Network)이다. VPC는 Amazon Web Services(AWS)에서 사용되는 용어로 널리 알려져 있으나, 다른 클라우드 제공업체들도 유사한 개념을 가지고 있다.
VPC는 사용자가 클라우드 상에서 자체적으로 가상의 네트워크를 구성할 수 있도록 해준다. 이 가상의 네트워크는 사용자의 요구에 맞게 IP 주소 범위, 서브넷, 라우팅 테이블, 네트워크 게이트웨이 등을 설정하여 구성할 수 있다. 기본적으로 Route Table, NACL, Security Group 등과 같은 리소스들(default resources)을 제공한다.
Subnet
네트워크 대역을 용도에 맞게 작은 단위(하위 네트워크)로 분할하는 기술이다. 주로 IP 주소 관리와 네트워크 트래픽 제어를 위해 사용된다. 일반적으로 네트워크는 여러 대의 컴퓨터와 장치들이 연결된 큰 규모의 네트워크로 구성되는데, 이때 Subnet을 사용하면 큰 네트워크를 작은 단위로 분할할 수 있다. 이 작은 네트워크들은 서로 다른 서브넷에 속하게 되며, 각 서브넷은 고유한 IP 주소 범위를 가지고 있다. Subnet은 IP 주소와 마찬가지로 CIDR 표기법으로 표현되는데, VPC의 CIDR 범위를 초과할 수 없다(VPC CIDR > Subnet CIDR).
Subnet은 다양한 목적으로 사용될 수 있다. 일반적으로 네트워크 관리자는 서브넷을 사용하여 네트워크 트래픽을 분리하고 관리할 수 있다. 또한 보안 그룹이나 방화벽 설정 등을 서브넷 단위로 적용하여 네트워크 보안을 강화할 수도 있기 때문에, 가상화 환경에서 가상 서버들을 구분하고 구성할 때 유용하게 사용된다. Subnet을 인터넷으로부터 접근 여부
에 따라 Public Subnet
과 Private Subnet
으로 분류할 수 있다.
Public Subnet의 경우 외부 인터넷과 직접 통신이 가능한 서브넷으로 DMZ(Demilitarized zone)라고도 한다. 내부 네트워크와 외부 네트워크 사이에 존재하는 서브넷으로, DMZ는 외부에서 내부 네트워크로 직접적인 접근을 제한하면서 필요한 서비스의 접근을 허용하는 구성을 제공할 수 있다. 예를 들어 웹 서버, 이메일 서버, FTP 서버 등은 DMZ에 위치하여 외부로부터의 접근을 받을 수 있도록 구성한다. Public Subnet은 인터넷이 되는 곳(Public IP 할당이 가능한 구간)이라고도 볼 수 있다.
Private Subnet은 외부 인터넷과는 격리된 내부 네트워크에서 사용되는 서브넷이다. Public IP 할당이 되지 않는 구간이기 때문에 사설 IP 주소를 가지며, 인터넷에서 직접 접근할 수 없다. Private Subnet에 배치된 리소스(예: 데이터베이스 서버, 애플리케이션 서버)는 내부 네트워크에서만 접근 가능하며, 외부로부터의 접근은 제한된다. Private Subnet은 주로 보안이 중요한 데이터나 내부 시스템을 보호하기 위해 사용된다.
Private Subnet은 사설 IP 주소 대역이 할당되어 있기 때문에, 외부 네트워크와 통신할 수 없고, 이를 위해 Public Subnet에 있는 호스트가 외부 네트워크와 통신하기 위해 사용되는 것이 NAT(Network Address Translation)이다.
NAT
Network Address Translation
의 약자이다. 네트워크에서 IP 주소를 변환하는 기술로, Public Subnet과 Private Subnet 중간에서 네트워크 주소를 번역해주는 작업을 한다. 위에서 언급한 대로 일반적으로 사설 네트워크 내에서 사용되는 IP 주소는 인터넷 상에서 유일한 공인 IP 주소와 충돌하지 않도록 사설 IP 주소 대역으로 할당된다. 하지만 인터넷으로 통신해야 하는 경우, 사설 IP 주소는 인터넷에서 인식되지 않기 때문에 공인 IP 주소로 변환되어야 하는데, 이때 사용되는 것이 NAT이다.
NAT는 사설 네트워크 내부의 여러 컴퓨터들이 하나의 공인 IP 주소를 사용하여 인터넷에 접속할 수 있도록 해준다. 이를 위해 NAT 장치는 내부 네트워크와 외부 네트워크 간의 패킷을 전달하면서, 내부 IP 주소와 포트 정보를 공인 IP 주소와 포트 정보로 변환한다. 이렇게 변환된 패킷은 외부 네트워크로 전달되고, 응답 패킷이 돌아올 때에도 NAT 장치에서 변환 작업을 통해 올바른 컴퓨터로 전달된다. NAT는 일반 가정에서 사용되는 공유기나 기업의 방화벽 장치에서 주로 구현되며, 네트워크의 보안과 IP 주소 관리를 효율적으로 수행하는 데 도움을 준다.
NAT를 사용함으로서 얻을 수 있는 점은 아래와 같다.
1. **사설 IP 주소 사용 가능**: NAT를 통해 사설 네트워크에서 인터넷 접속이 가능
2. **보안 강화**: 내부 네트워크의 구성 요소들은 공인 IP 주소로 직접 노출되지 않으므로 보안이 강화됨
3. **IP 주소 공간 절약**: 여러 사설 IP 주소를 하나의 공인 IP 주소로 변환하여 IP 주소 공간을 절약할 수 있음
4. **연결 공유**: NAT 장치는 내부 네트워크의 여러 컴퓨터가 하나의 공인 IP 주소로 인터넷에 접속할 수 있도록 연결을 공유함
NAT는 Public NAT와 Private NAT로도 분류할 수 있다.
Public NAT는 하나의 Public IP에서 여러 컴퓨터들이 있을 때, 인터넷 통신 시 중간에서 브로커 역할을 수행하기 위한 작업을 한다. 사설 네트워크에서 공인 네트워크로의 통신을 가능하게 하는 NAT 구성이다. 일반적으로 사설 IP 주소를 가진 호스트들이 공인 IP 주소로 변환되어 인터넷과 통신할 수 있게 해준다. Public NAT는 주로 가정이나 기업의 네트워크에서 사용되며, 여러 사설 IP 주소를 공유하는 호스트들이 외부 인터넷에 접속할 수 있도록 한다.
Private NAT는 Private Subnet에 위치한 호스트들이 인터넷과 통신하기 위해 사용되는 NAT 구성이다. Private Subnet은 사설 IP 주소 대역을 사용하고, 외부 인터넷에서는 직접 접근할 수 없다. Private NAT는 Private Subnet에 있는 호스트들의 사설 IP 주소를 공인 IP 주소로 변환하여 외부와 통신이 가능하도록 한다.
간단하게 요약하면, Public NAT는 사설 네트워크에서 공인 네트워크로의 통신을 가능하게 하고, Private NAT는 Private Subnet에 있는 호스트들이 인터넷과 통신하기 위해 사용된다. Public NAT는 사설 IP 주소를 가진 호스트들이 인터넷에 접속할 수 있도록 하며, Private NAT는 Private Subnet 내에서 호스트들이 인터넷과 통신하기 위해 사설 IP 주소를 공인 IP 주소로 변환한다.
SNAT와 DNAT로도 분류할 수 있다. SNAT는 Source NAT의 약어로 출발지 IP 변환을 의미하는데, 일반적으로 사설 네트워크에서 공인 네트워크로의 통신을 위해 사용되고, DNAT는 Destination NAT의 약어로 목적지 IP 주소 변환을 의미하고, 일반적으로 공인 네트워크에서 사설 네트워크로의 통신을 위해 사용된다.
Subnet Group
하나 이상의 Subnet을 그룹화한 것이다. 주로 클라우드 서비스 제공 업체에서 제공하는 가상화된 네트워크 환경에서 사용된다. Subnet Group을 생성하면 해당 그룹에 속하는 Subnet들을 지정할 수 있는데 이 Subnet들은 일반적으로 같은 가용 영역(AZ)에 있거나 동일한 VPC 내에 위치하게 된다.
Subnet Group은 아래와 같이 구분해볼 수도 있다.
- net (network)
- ALB / NLB / Gateway
- app (application)
- Application Workload
- API Server, Batch Job, Worker
- data
- DB, Storage
Availability Zone (AZ)
AZ는 클라우드 서비스 제공 업체가 제공하는 가용성(시스템이 사용자 또는 클라이언트에게 지속적으로 서비스를 제공할 수 있는 정도를 나타내는 지표
)과 내결함성을 갖춘 물리적인 데이터 센터의 개념이다. 클라우드 제공 업체는 서로 다른 위치(물리적으로 분리된 구역)에 여러 개의 AZ를 구축하여 네트워크 연결 및 서비스 배치를 통해 고가용성을 제공한다. AZ는 하나 이상의 데이터 센터로 구성되어 있는데, 특정 지역의 정전이나 호우, 지진 등과 같은 천재지변으로 부터 분리되도록 충분한 안전거리가 확보된 구역으로 설정되어야 한다. (계정 > 리전 > AZ 순으로 범위가 좁혀짐)
AWS의 서울 리전의 경우에는 총 4개의 AZ가 존재하고, 일반적으로는 3개의 AZ를 사용하게 되는데, 그 이유는 고가용성과 비용 때문이다.
고가용성(High Availability)의 경우에는 2대 이상의 AZ를 둠으로써 Active-Active 혹은 Active-Standby 구조를 구축하거나 홀수(3대/5대/7대)로 구성된 쿼럼(Quorum)을 구축하기 위해서이다. 쿼럼의 예로는 Kubernetes의 etcd, Kafka의 Zookeeper, Consul, ElasticSearch의 Master Node가 있다.
고가용성을 제공하기 위해서는 크게 프로세스 레벨, 호스트 레벨, 데이터센터 레벨, 리전 레벨로 고려할 수 있는데, 여러 개의 AZ를 사용하는 것은 데이터센터 레벨에서 고가용성을 고려하는 것이라 볼 수 있다.
비용(Cost) 측면은 예시를 들어서 설명하는 것이 이해가 쉬울 것이다. 30대의 서버로 1000 tps 트래픽을 감당할 때, AZ를 3개 사용할 경우 각 AZ 당 10대의 서버가 있을 것이다. 이 경우에 AZ1에 장애가 발생하면 남은 20대로 1000 tps 트래픽을 감당할 것이고 이는 33.33%의 손실이 발생하는 것을 의미한다. 하지만 32대의 서버로 1000 tps 트래픽을 감당할 때, AZ를 4개 사용할 경우 각 AZ 당 8대의 서버가 존재할 것이고, 마찬가지로 AZ1이 장애가 발생하게 되면 남은 24대가 1000 tps 트래픽을 감당함으로써 25%의 손실이 발생할 것이다. 결과적으로 AZ를 한 개 더 사용함으로써 장애가 발생했을 때 발생하는 손실을 줄일 수 있다.
추가적으로, AWS의 가장 많은 비용을 차지하는 것 중 하나는 Cross AZ 트래픽(AZ간 발생하는 트래픽) 비용이라고 한다.
SSH Agent Forwarding
SSH 클라이언트와 SSH 서버 간의 안전한 인증을 위해 사용되는 메커니즘이다. SSH Agent Forwarding을 사용하면 로컬 컴퓨터(클라이언트)에 있는 SSH 에이전트(일반적으로는 SSH 에이전트 프로세스인 ssh-agent)를 원격 서버(SSH 서버)로 전달하여 인증 요청을 처리할 수 있게 된다. 일반적인 SSH 인증 방식에서는 클라이언트가 SSH 키를 사용하여 원격 서버에 접속할 때마다 해당 키의 비밀번호를 입력해야 한다. 그러나 SSH Agent Forwarding을 사용하면 클라이언트의 SSH 에이전트에 등록된 키를 사용하여 원격 서버에 접속할 수 있으며, 비밀번호 입력 없이 인증이 이루어진다.
SSH 클라이언트에의 백그라운드에서는 SSH Agent 데몬이 실행되는데 이는 클라이언트의 SSH 키 관리와 인증 요청을 처리하는 역할을 한다. SSH Agent 데몬이 위에서 말한 SSH 에이전트 프로세스인 ssh-agent라는 이름의 프로세스이다.
Traffic
Inbound
Ingress라고도 부르며, 망 외부에서 망 내부로 흐르는 네트워크 트래픽을 의미한다. 즉 외부 시스템이 내부 시스템으로 들어오는 데이터 및 연결 요청을 포함한다. 예를 들어, 웹 서버에 대한 클라이언트의 HTTP 요청
이나 이메일 서버로 들어오는 전자 메일
은 Inbound 트래픽에 해당하게 된다.
Outbound
Egress라고도 부르며, 망 내부에서 망 외부로 흐르는 네트워크 트래픽을 의미한다. 즉 내부 시스템이 외부 시스템으로 나가는 데이터 및 연결 요청을 포함한다. 예를 들어, 내부 시스템에서 외부 서버로의 HTTP 요청
, 이메일 클라이언트가 외부 이메일 서버로의 전송
등은 Outbound 트래픽에 해당하게 된다.
Route Table
네트워크에서 패킷이 전송될 때 어떤 경로를 따라야 하는지를 결정하는 데 사용되는 테이블이다. 네트워크 장비(라우터, 스위치 등)에 저장되어 있으며, 네트워크 트래픽의 목적지 주소와 관련된 경로 정보를 포함한다. 라우트 테이블에는 다음과 같은 정보가 포함될 수 있다.
- 목적지 네트워크 주소 : 목적지 IP 주소 혹은 IP 주소 범위를 지정
- 다음 홉 (Next Hop) : 목적지로 패킷을 전송하기 위해 사용해야 하는 다음 네트워크 장비의 주소
- 인터페이스 : 패킷이 다음 홉으로 전달될 때 사용해야 하는 네트워크 인터페이스
Gateway
네트워크에서 서로 다른 두 개의 네트워크 혹은 서브넷 간에 데이터를 전달하는 역할을 하는 네트워크 장비이다. 네트워크 트래픽을 받아들이고, 해당 트래픽을 다른 네트워크로 전달하는 중개자 역할을 수행한다.
일반적으로 네트워크의 경계에 위치하며, 네트워크를 다른 네트워크 또는 외부 인터넷과 연결한다. 패킷이 수신된 경로에 따라 적절한 처리를 수행하여 패킷을 전달하며, 패킷의 출발지 및 목적지 IP 주소를 확인하여 적절한 라우팅 결정을 내린다.
Internet Gateway
VPC와 인터넷 간의 통신을 가능하게 하는 Gateway이다. VPC 내의 Public Subnet과 연결되어 있으며, VPC 내의 인스턴스들이 인터넷과 통신할 수 있도록 한다. 이를 통해 VPC 내의 인스턴스들은 인터넷에 접근하고, 인터넷에서 들어오는 응답 트래픽을 받을 수 있다.
또한, 인터넷으로 나가는 트래픽을 처리하는 역할도 한다. VPC 내의 Public Subnet에 있는 인스턴스들은 Public IP 주소를 할당받아 인터넷에 직접 연결될 수 있다.
Internet Gateway는 Inbound traffic은 필터링하지 않고 외부에서 들어오는 모든 트래픽을 허용하지만, Outbound traffic은 VPC의 라우팅 테이블에 의해 제어된다. 또한, VPC 내부에서 Private Subnet으로 들어오는 트래픽은 Block을 하지 않고, Private Subnet의 인스턴스들은 인터넷으로 직접 통신할 수 없다.
NAT Gateway
Network Address Translation (네트워크 주소 번역) Gateway의 약어이다. Private Subnet 내의 인스턴스들이 인터넷과 통신할 수 있도록 해주는 Gateway이다. Private Subnet 내의 인스턴스가 인터넷 Outbound 통신을 허용하기 위해 사용한다. Private Subnet에 있는 인스턴스가 인터넷에 연결되는 경우, 트래픽은 NAT Gateway를 통해 변환되어 Public IP 주소로 나가게 된다.
NAT Gateway는 Outbound traffic에 사용되며, 인바운드 트래픽은 허용되지 않는다. 이는 NAT Gateway가 생성된 VPC 내부의 인스턴스들이 인터넷으로 연결된 상태에서는 인터넷에서 직접 해당 인스턴스로 접근할 수 없도록 보안을 제공한다.
NAT Gateway는 고가용성을 제공하며, 여러 가용 영역에 걸쳐 배포될 수 있다. 이를 통해 신뢰성 높은 Outbound 처리와 자동 확장이 가능하다. 또한, NAT Gateway는 AWS 관리형 서비스로서 유지보수나 관리에 신경쓰지 않고도 사용할 수 있다.
추가로 NAT Gateway는 트래픽 변환을 위해 Elastic IP 주소를 사용한다. Elastic IP 주소는 NAT Gateway에 고정적으로 할당되어 인터넷에 대한 고유한 식별자 역할을 한다.
VPN Gateway
Virtual Private Gateway의 약자이다. VPN(가상 사설 네트워크)을 통해 원격 사용자나 다른 VPC와의 안전한 연결을 제공한다. VPN 게이트웨이는 IPsec(Internet Protocol Security) 프로토콜을 사용하여 암호화된 터널을 생성하고, 인터넷을 통해 데이터를 안전하게 전송한다. 이를 통해 VPN 게이트웨이는 AWS 클라우드와 사설 네트워크 간에 안전한 통신 환경을 제공할 수 있다.
결과적으로 네트워크 확장성과 보안성을 강화하여 원격 액세스 및 사이트 간 연결을 통해 AWS 클라우드와 다른 네트워크 간의 안전한 통신을 지원한다.
Customer Gateway
VPN 연결의 한쪽 끝점으로 작동하며, AWS 측에서는 VPN Gateway(VPN 게이트웨이)를 사용하여 해당 연결의 다른 끝점을 제공한다. Customer Gateway와 VPN Gateway는 함께 구성하여 안전하고 신뢰할 수 있는 AWS 클라우드와 고객 네트워크 간의 연결을 확립한다.
Transit Gateway
여러 개의 가상 프라이빗 클라우드(VPC) 및 온프레미스 네트워크 간의 연결을 효율적으로 관리하기 위한 중앙 집중식 게이트웨이이다. 기존의 복잡한 VPC 피어링 구성이나 별도의 가상 프라이빗 네트워크 연결(VPN 또는 Direct Connect)을 설정할 필요 없이, 단일 트랜짓 게이트웨이를 통해 여러 네트워크 간의 통신을 처리할 수 있도록 한다.
NACL
Network Access Control List의 약자이다. VPC에서 트래픽을 제어하기 위해 사용되는 보안 그룹과 유사한 기능을 제공하는 서비스이다. Subnet 수준에서 동작하며, Inbound 및 Outbound traffic에 대한 액세스 규칙을 정의하여 traffic의 허용 또는 거부를 제어할 수 있다. 각 Subnet에는 하나의 NACL이 연결되며, NACL은 Subnet의 모든 인스턴스에 대한 트래픽을 제어한다. NACL의 주요 특징은 아래와 같다.
- 액세스 제어: Subnet 내부 및 외부의 트래픽에 대한 액세스를 제어
- 순서 기반 규칙: NACL 규칙은 순서에 따라 적용되며, 상위 규칙부터 하위 규칙으로 처리되기 때문에 규칙의 순서가 트래픽의 처리에 영향을 미침
- Subnet 수준 제어: NACL은 Subnet 단위에서 동작하며, Subnet에 연결된 모든 인스턴스에 대한 traffic을 제어함
- Stateless: 인바운드 트래픽에 대한 응답 트래픽은 자동으로 허용되기 때문에 인바운드 규칙과 해당하는 아웃바운드 규칙이 필요
Security Group
VPC에서 인스턴스의 네트워크 트래픽을 제어하기 위해 사용되는 가상 방화벽이다. 인스턴스 수준에서 동작하기 때문에 ENI 혹은 Server에 연결하고, Inbound 및 Outbound 트래픽에 대한 액세스 규칙을 정의하여 트래픽의 허용 또는 거부를 관리한다. 주요 특징은 아래와 같다.
- 인스턴스 단위 제어: 각 인스턴스에 연결되어 해당 인스턴스의 트래픽을 제어하고, 인스턴스를 생성할 때 하나 이상의 보안 그룹을 선택하여 할당할 수 있음
- Inbound 및 Outbound 규칙: 인바운드 및 아웃바운드 트래픽에 대한 액세스 규칙을 정의함
- 프로토콜 및 포트 기반 필터링: P 프로토콜, 포트 번호, 소스 및 대상 IP 주소 등을 기반으로 트래픽을 필터링함
- Stateful: 연결 상태를 추적하며, 인바운드 트래픽에 대한 아웃바운드 트래픽을 자동으로 허용함
- 다층 보안 구성: 여러 보안 그룹을 생성하고 인스턴스에 할당함으로써 다층의 보안을 구성할 수 있음
ENI
Elastic Network Interface의 약자이다. VPC에서 가상 네트워크 인터페이스를 나타낸다. 가상 인스턴스와 VPC 사이의 네트워크 연결을 제공하며, 인스턴스의 네트워크 트래픽을 관리하는 데 사용된다. 물리적인 LAN CARD의 역할을 한다.
EIP
Elastic IP의 약자로, VPC에서 사용되는 고정된 공인 IP 주소이다. 인스턴스나 다른 네트워크 리소스에 연결되어 해당 리소스의 공인 IP 주소를 제공하는 역할을 수행한다. 쉽게 생각하면 공인 IP를 대여해주는 서비스라고 생각하면 된다.
EIP는 해당 리소스와 계속 연결되며, 리소스를 중지하거나 다시 시작해도 IP 주소가 변경되지 않는다. 또한, 가상 인스턴스와 독립적으로 관리되기 때문에 인스턴스를 중지하거나 제거하더라도 EIP는 유지되며, 다른 인스턴스에 연결할 수 있다.