EC2 인스턴스에 대한 IPv4 주소 관리
인스턴스를 시작할 때 퍼블릭 IPv4 주소를 인스턴스에 할당할 수 있습니다. 인스턴스(Instances) 페이지 또는 네트워크 인터페이스(Network Interfaces) 페이지를 통해 콘솔에서 인스턴스의 IPv4 주소를 볼 수 있습니다.
시작 시 퍼블릭 IPv4 주소 할당
각 서브넷은 퍼블릭 IP 주소가 할당되는 서브넷에서 인스턴스를 시작할지 여부를 결정하는 속성을 갖습니다. 기본적으로 기본이 아닌 서브넷의 이 속성은 false로 설정되고 기본 서브넷의 속성 값은 true입니다. 인스턴스를 시작할 때 퍼블릭 IPv4 주소 지정 기능을 사용하여 인스턴스에 퍼블릭 IPv4 주소가 할당되는지 여부를 제어할 수도 있습니다. 서브넷의 IP 주소 지정 속성의 기본 동작을 재정의할 수 있습니다. 퍼블릭 IPv4 주소는 Amazon의 퍼블릭 IPv4 주소 풀에서 할당되고 디바이스 색인이 0인 네트워크 인터페이스에 할당됩니다. 이 기능은 인스턴스 시작 시점의 특정 조건에 따라 달라집니다.
고려 사항
-
네트워크 인터페이스와 연결된 IP 주소를 관리하여 시작 후 인스턴스에서 퍼블릭 IP 주소 할당을 취소할 수 있습니다. 퍼블릭 IPv4 주소에 대한 자세한 내용은 퍼블릭 IPv4 주소 섹션을 참조하세요.
-
네트워크 인터페이스를 2개 이상 지정하면 퍼블릭 IP 주소를 자동 할당할 수 없습니다. 또한 디바이스 색인 0에 대해 기존 네트워크 인터페이스를 지정하면 퍼블릭 IP 자동 할당 기능을 사용하여 서브넷 설정을 재정의할 수 없습니다.
-
시작 도중에 퍼블릭 IP 주소를 인스턴스에 할당하는지의 여부에 관계없이 시작 후에는 인스턴스와 탄력적 IP 주소를 연결할 수 있습니다. 자세한 내용은 탄력적 IP 주소 섹션을 참조하세요. 또한, 사용자는 서브넷의 퍼블릭 IPv4 주소 지정 동작을 변경할 수 있습니다. 자세한 내용은 서브넷의 퍼블릭 IPv4 주소 지정 속성 수정을 참조하세요.
- Console
-
시작 시 퍼블릭 IPv4 주소를 할당하는 방법
절차에 따라 인스턴스를 시작하고 Network Settings(네트워크 설정)를 구성할 때 Auto-assign Public IP(퍼블릭 IP 자동 할당) 옵션을 선택합니다.
- AWS CLI
-
시작 시 퍼블릭 IPv4 주소를 할당하는 방법
run-instances 명령을 --associate-public-ip-address
옵션과 함께 사용합니다.
--associate-public-ip-address
- PowerShell
-
시작 시 퍼블릭 IPv4 주소를 할당하는 방법
-AssociatePublicIp
파라미터와 함께 New-EC2Instance cmdlet을 사용합니다.
-AssociatePublicIp $true
시작 시 프라이빗 IPv4 주소 할당
서브넷의 IPv4 주소 범위 중에서 IPv4 주소를 지정하거나 Amazon EC2가 선택하도록 할 수 있습니다. 이 주소는 기본 네트워크 인터페이스에 할당됩니다.
시작 시 IPv4 주소를 할당하는 방법은 인스턴스에 보조 IP 주소 할당 단원을 참조하세요.
- Console
-
시작 시 프라이빗 IPv4 주소를 할당하는 방법
인스턴스 시작 절차를 따릅니다. 네트워크 설정을 구성할 때 고급 네트워크 구성을 확장하고 기본 IP에 대한 값을 입력합니다.
- AWS CLI
-
시작 시 프라이빗 IPv4 주소를 할당하는 방법
run-instances 명령을 --private-ip-address
옵션과 함께 사용합니다.
--private-ip-addresses 10.251.50.12
Amazon EC2가 IP 주소를 선택하도록 하려면 이 옵션을 생략합니다.
- PowerShell
-
시작 시 프라이빗 IPv4 주소를 할당하는 방법
-PrivateIpAddress
파라미터와 함께 New-EC2Instance cmdlet을 사용합니다.
-PrivateIpAddress 10.251.50.12
Amazon EC2가 IP 주소를 선택하도록 하려면 이 파라미터를 생략합니다.
기본 IPv4 주소 보기
퍼블릭 IPv4 주소는 콘솔에서 네트워크 인터페이스의 속성으로 표시되지만 NAT를 통해 주 프라이빗 IPv4 주소와 매핑됩니다. 그러므로, 예를 들어 ifconfig
(Linux) 또는 ipconfig
(Windows)를 통해 인스턴스 네트워크 카드의 속성을 확인하는 경우 퍼블릭 IPv4 주소는 표시되지 않습니다.
- Console
-
- AWS CLI
-
인스턴스에 대한 기본 IPv4 주소를 보는 방법
아래와 같이 describe-instances 명령을 사용합니다.
aws ec2 describe-instances \
--instance-ids i-1234567890abcdef0
\
--query "Reservations[].Instances[].PrivateIpAddress" \
--output text
출력의 예시는 다음과 같습니다.
10.251.50.12
- PowerShell
-
인스턴스에 대한 기본 IPv4 주소를 보는 방법
Get-EC2Instance cmdlet을 사용합니다.
(Get-EC2Instance `
-InstanceId i-1234567890abcdef0
).Instances.PrivateIpAddress
출력의 예시는 다음과 같습니다.
10.251.50.12
인스턴스 메타데이터를 사용하여 IPv4 주소 보기
인스턴스 메타데이터를 검색하여 인스턴스에 대한 IPv4 주소를 가져올 수 있습니다. 자세한 내용은 인스턴스 메타데이터를 사용하여 EC2 인스턴스를 관리합니다. 섹션을 참조하세요.
인스턴스 메타데이터를 사용하여 IPv4 주소를 보는 방법
-
인스턴스에 연결합니다. 자세한 내용은 EC2 인스턴스에 연결 섹션을 참조하세요.
-
다음 명령 중 하나를 실행합니다.
- IMDSv2
-
Linux
Linux 인스턴스에서 다음 명령을 실행합니다.
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4
Windows
Windows 인스턴스에서 다음 명령을 실행합니다.
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
-Method PUT -Uri http://169.254.169.254/latest/api/token
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
-Method GET -Uri http://169.254.169.254/latest/meta-data/local-ipv4
- IMDSv1
-
Linux
Linux 인스턴스에서 다음 명령을 실행합니다.
curl http://169.254.169.254/latest/meta-data/local-ipv4
Windows
Windows 인스턴스에서 다음 명령을 실행합니다.
Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4
-
다음과 같은 명령 중 하나를 사용하여 퍼블릭 IP 주소에 액세스합니다. 인스턴스와 연결된 탄력적 IP 주소가 있으면 명령을 통해 탄력적 IP 주소가 반환됩니다.
- IMDSv2
-
Linux
Linux 인스턴스에서 다음 명령을 실행합니다.
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-ipv4
Windows
Windows 인스턴스에서 다음 명령을 실행합니다.
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
-Method PUT -Uri http://169.254.169.254/latest/api/token
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
-Method GET -Uri http://169.254.169.254/latest/meta-data/public-ipv4
- IMDSv1
-
Linux
Linux 인스턴스에서 다음 명령을 실행합니다.
curl http://169.254.169.254/latest/meta-data/public-ipv4
Windows
Windows 인스턴스에서 다음 명령을 실행합니다.
Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-ipv4