Linux 인스턴스의 인바운드 트래픽 권한 부여
보안 그룹을 통해 인스턴스로 들어오는 트래픽 및 인스턴스에 도달할 수 있는 트래픽의 유형을 제어할 수 있습니다. 예를 들어 홈 네트워크에 속하는 컴퓨터만 SSH를 사용하여 인스턴스에 액세스하도록 허용할 수 있습니다. 인스턴스가 웹 서버인 경우 외부 사용자가 웹 서버의 콘텐츠를 탐색할 수 있도록 모든 IP 주소가 HTTP 또는 HTTPS를 사용하여 인스턴스에 액세스하도록 허용할 수 있습니다.
기본 보안 그룹과 새로 생성한 보안 그룹에는 인터넷에서 해당 인스턴스에 대한 액세스를 허용하지 않는 기본 규칙이 포함되어 있습니다. 자세한 내용은 기본 보안 그룹 및 사용자 지정 보안 그룹 섹션을 참조하세요. 인스턴스에 대한 네트워크 액세스를 가능하게 하려면 인스턴스의 인바운드 트래픽을 허용해야 합니다. 인바운드 트래픽을 위한 포트를 열려면 인스턴스 시작 시 연결한 보안 그룹에 규칙을 추가합니다.
인스턴스에 연결하려면 컴퓨터의 퍼블릭 IPv4 주소에서 비롯되는 SSH 트래픽에 권한을 부여하는 규칙을 설정해야 합니다. 추가 IP 주소 범위에서 비롯되는 SSH 트래픽을 허용하려면 인증할 각 범위에 대해 다른 규칙을 추가합니다.
IPv6용 VPC를 활성화하고 IPv6 주소로 인스턴스를 시작했다면, 퍼블릭 IPv4 주소 대신 IPv6 주소를 사용해 인스턴스에 연결할 수 있습니다. 로컬 컴퓨터에 IPv6 주소가 있고 IPv6를 사용하도록 컴퓨터를 구성해야 합니다.
Windows 인스턴스에 대한 네트워크 액세스를 가능하게 하려면 Windows 인스턴스용 Amazon EC2 사용 설명서에서 Windows 인스턴스의 인바운드 트래픽 권한 부여 단원을 참조하십시오.
시작하기 전에
인스턴스에 액세스해야 하는 대상(예: 단일 호스트 또는 신뢰할 수 있는 특정 네트워크, 로컬 컴퓨터의 퍼블릭 IPv4 주소)을 결정합니다. Amazon EC2 콘솔의 보안 그룹 편집기는 로컬 컴퓨터의 퍼블릭 IPv4 주소를 자동으로 검색할 수 있습니다. 또는 인터넷 브라우저에서 "내 IP 주소"와 같은 검색 구문을 사용하거나 Check IP
주의
0.0.0.0/0
을 사용하면 모든 IPv4 주소에서 SSH를 사용하여 인스턴스에 액세스할 수 있습니다. ::/0
을(를) 사용하면 모든 IPv6 주소에서 인스턴스에 액세스할 수 있습니다. 특정 주소나 IP 주소 범위에서만 인스턴스 액세스를 허용하도록 설정해야 합니다.
EC2 Instance Connect을 사용하여 인스턴스에 대한 SSH 액세스를 지원할지 여부를 결정하세요. EC2 Instance Connect을 사용하지 않을 경우, 이를 제거하거나 IAM 정책에서 ec2-instance-connect:SendSSHPublicKey
작업을 거부하는 것을 고려하십시오. 자세한 내용은 EC2 Instance Connect 제거 그리고 EC2 Instance Connect의 IAM 사용자 권한 구성을 참조하세요.
Linux 인스턴스의 인바운드 SSH 트래픽에 대한 규칙 추가
보안 그룹은 연결된 인스턴스에 대한 방화벽 역할을 하여 인스턴스 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어합니다. SSH를 사용하여 IP 주소에서 Linux 인스턴스에 연결할 수 있게 하는 규칙을 보안 그룹에 추가해야 합니다.
보안 그룹에 IPv4를 통한 인바운드 SSH 트래픽에 대한 규칙 추가(콘솔)
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
위의 탐색 모음에서 보안 그룹을 생성할 리전을 선택합니다. 보안 그룹은 리전에 고유하므로 인스턴스를 생성한 리전과 동일한 리전을 선택해야 합니다.
-
탐색 창에서 인스턴스를 선택합니다.
-
인스턴스를 선택하고 화면 하단에서 [보안(Security)] 탭을 선택합니다. [보안 그룹(Security groups)]에 인스턴스와 연결된 보안 그룹이 나열됩니다. [인바운드 규칙(Inbound rules)]에는 인스턴스에 적용되는 인바운드 규칙의 목록이 표시됩니다.
-
새 규칙을 추가할 보안 그룹의 경우 보안 그룹 ID 링크를 선택하여 보안 그룹을 엽니다.
-
[인바운드 규칙(Inbound rules)] 탭에서 [인바운드 규칙 편집(Edit inbound rules)]을 선택합니다.
-
[인바운드 규칙 편집(Edit inbound rules)] 페이지에서 다음을 수행합니다.
-
[Add another rule]을 선택합니다.
-
유형의 경우 SSH를 선택합니다.
-
필드를 로컬 컴퓨터의 퍼블릭 IPv4 주소로 자동으로 채우려면 [소스(Source)]에서 [내 IP(My IP)]를 선택하면 됩니다.
또는 [소스(Source)]에서 [사용자 지정(Custom)]을 선택하고 컴퓨터 또는 네트워크의 퍼블릭 IPv4 주소를 CIDR 표기법으로 입력해도 됩니다. 예를 들어 IPv4 주소가
203.0.113.25
인 경우 이 단일 IPv4 주소를 CIDR 표기법으로 나열하려면203.0.113.25/32
를 입력합니다. 회사에서 주소를 범위로 할당하는 경우 전체 범위(예:203.0.113.0/24
)를 입력합니다.IP 주소 확인에 대한 자세한 내용은 시작하기 전에 섹션을 참조하세요.
-
규칙 저장을 선택합니다.
-
IPv6 주소로 인스턴스를 시작했고 IPv6 주소를 사용하여 인스턴스에 연결하려면 SSH를 통한 인바운드 IPv6 트래픽을 허용하는 규칙을 추가해야 합니다.
보안 그룹에 IPv6을 통한 인바운드 SSH 트래픽에 대한 규칙 추가(콘솔)
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
위의 탐색 모음에서 보안 그룹을 생성할 리전을 선택합니다. 보안 그룹은 리전에 고유하므로 인스턴스를 생성한 리전과 동일한 리전을 선택해야 합니다.
-
탐색 창에서 인스턴스를 선택합니다.
-
인스턴스를 선택하고 화면 하단에서 [보안(Security)] 탭을 선택합니다. [보안 그룹(Security groups)]에 인스턴스와 연결된 보안 그룹이 나열됩니다. [인바운드 규칙(Inbound rules)]에는 인스턴스에 적용되는 인바운드 규칙의 목록이 표시됩니다.
-
새 규칙을 추가할 보안 그룹의 경우 보안 그룹 ID 링크를 선택하여 보안 그룹을 엽니다.
-
[인바운드 규칙(Inbound rules)] 탭에서 [인바운드 규칙 편집(Edit inbound rules)]을 선택합니다.
-
[인바운드 규칙 편집(Edit inbound rules)] 페이지에서 다음을 수행합니다.
-
[Add another rule]을 선택합니다.
-
유형의 경우 SSH를 선택합니다.
-
[소스(Source)]에서 [사용자 지정(Custom)]을 선택하고 컴퓨터의 IPv6 주소를 CIDR 표기법으로 입력합니다. 예를 들어, IPv6 주소가
2001:db8:1234:1a00:9691:9503:25ad:1761
인 경우 단일 IP 주소를 CIDR 표기법으로 나열하려면2001:db8:1234:1a00:9691:9503:25ad:1761/128
을 입력합니다. 회사에서 주소를 범위로 할당하는 경우 전체 범위(예:2001:db8:1234:1a00::/64
)를 입력합니다. -
규칙 저장을 선택합니다.
-
참고
인스턴스 자체가 아닌 로컬 시스템에서 다음 명령을 실행해야 합니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2 액세스 단원을 참조하세요.
명령줄을 사용하여 보안 그룹에 규칙을 추가하려면 다음을 수행합니다.
-
다음 명령 중 하나를 사용하여 인스턴스와 관련된 보안 그룹을 찾습니다.
-
describe-instance-attribute(AWS CLI)
aws ec2 describe-instance-attribute --region
region
--instance-idinstance_id
--attribute groupSet -
Get-EC2InstanceAttribute(AWS Tools for Windows PowerShell)
PS C:\>
(Get-EC2InstanceAttribute -Regionregion
-InstanceIdinstance_id
-Attribute groupSet).Groups
두 명령 모두 다음 단계에서 사용하는 보안 그룹 ID를 반환합니다.
-
-
다음 명령 중 하나를 사용하여 보안 그룹에 규칙을 추가하세요.
-
authorize-security-group-ingress(AWS CLI)
aws ec2 authorize-security-group-ingress --region
region
--group-idsecurity_group_id
--protocol tcp --port 22 --cidrcidr_ip_range
-
Grant-EC2SecurityGroupIngress(AWS Tools for Windows PowerShell)
Grant-EC2SecurityGroupIngress
명령에는 보안 그룹 규칙에 사용할 프로토콜, 포트 범위 및 IP 주소 범위를 설명하는IpPermission
파라미터가 필요합니다. 다음 명령은IpPermission
파라미터를 생성합니다.PS C:\>
$ip1 = @{ IpProtocol="tcp"; FromPort="22"; ToPort="22"; IpRanges="cidr_ip_range
" }PS C:\>
Grant-EC2SecurityGroupIngress -Regionregion
-GroupIdsecurity_group_id
-IpPermission @($ip1)
-
인스턴스에 보안 그룹 할당
인스턴스를 시작할 때 인스턴스에 보안 그룹을 할당할 수 있습니다. 규칙을 추가하거나 제거하면 해당 보안 그룹을 할당한 모든 인스턴스에 변경 내용이 자동으로 적용됩니다.
인스턴스를 시작한 이후에는 해당 보안 그룹을 변경할 수 없습니다. 자세한 내용은 인스턴스의 보안 그룹 변경 단원을 참조하십시오.