VPC Endpoint
VPC Endpoint 을 생성합니다.
Last updated
Was this helpful?
VPC Endpoint 을 생성합니다.
Last updated
Was this helpful?
VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 AWS PrivateLink 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있습니다. VPC의 인스턴스는 서비스의 리소스와 통신하는 데 퍼블릭 IP 주소를 필요로 하지 않습니다.
특장점 및 고려사항
프라이빗 연결을 통하여 보안 측면을 강화할 수 있습니다.
인터넷게이트웨이를 통하지 않으므로 데이터 전송에 발생하는 비용을 절감할 수 있습니다.
IAM을 통하여 접근 권한을 관리할 수 있습니다.
동일한 리전에 속한 서비스에 대해서만 연결이 가능합니다.
VPC 엔드 포인트 유형 중에 인터페이스 엔드포인트와 엔트포인스 서비스를 통한 연결을 AWS에서는 프라이빗링크(Privatelink)라고 합니다.
Privatelink 및 Endpoint 참고 링크 : https://docs.aws.amazon.com/ko_kr/vpc/latest/privatelink/endpoint-services-overview.html
랩 통하여 Private EC2로 연결할 수 있는 방법으로 VPC Endpoint를 연결하여 Session Manager로 접속하는 방법을 확인합니다.또한 S3 연결을 위한 엔드포인트도 생성을 합니다.
Session Manager 는 완전 관리형 AWS 시스템 관리자를 위한 관리할 수 있는 기능 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스 온프레미스 인스턴스 대화형 원클릭 브라우저 기반 셸 또는 를 통한 및 가상 머신VMs) AWS Command Line Interface (AWS CLI). Session Manager 는 인바운드 포트를 열 필요 없이 감사 가능한 보안 인스턴스 관리를 제공합니다. 접속 호스트 유지 또는 가 SSH 키를 관리합니다. Session Manager 또한 를 사용하면 인스턴스에 대한 제어된 액세스를 요구하는 회사 정책을 쉽게 준수할 수 있습니다. 엄격한 보안 관행 인스턴스 액세스 세부 정보가 있는 감사 가능한 및 전체 로그 는 최종 사용자에게 관리형 인스턴스에 대한 간단한 원클릭 교차 플랫폼 액세스를 여전히 제공합니다.
Session Manager 참고 링크 : https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/session-manager.html
본 랩에서는 Session Manager를 통해서 PRIVATE subnet에 있는 인스턴스를 연결합니다.
AWS Management Console의 서비스 찾기에서 “EC2”를 검색하고 선택합니다.
좌측 EC2 메뉴의 Instances에서 [Launch Instances] 을 클릭합니다.
AMI(Amazon Machine Image) - Amazon Linux 2 AMI, SSD Volume type 64-bit (x86) 선택
Instance type - t2.micro
Instance 세부 정보를 기입합니다.
세부 정보
값
값
Number of Instance
1
1
Network
IMD-VPC
IMD-VPC
Subnet
IMD-PRIVATE-A
IMD-PRIVATE-C
Auto-assign Public IP
disable
disable
Monitoring
Enable CloudWatch detailed monitoring
Enable CloudWatch detailed monitoring
Advanced Details > User data
사용자 데이터 값
사용자 데이터 값
Private IP
10.1.11.101
10.1.12.101
Add Tag
Key : Name , Value : PRIVATE-EC2-A01
Key : Name , Value : PRIVATE-EC2-C01
Security Group
Create a new S.G : IMD-PRI-SG
IMD-PRI-SG
Advanced Details > User data 에 아래 사용자 데이터 값을 복사하여 입력합니다.
[Next: Add Storage] 클릭하여 스토리지(EBS)를 정의합니다.
Volume type - General Purpose SSD (gp3) 로 변경
[Next: Add Tags] 클릭하여 Tag 정보를 입력합니다.
Key - Name
Value - PRIVATE-EC2-A01
[Next: Configure Security Group] 클릭하여 새로운 Security Group(보안그룹)을 생성합니다.
Create a new security group 선택
Name : "IMD-PRI-SG" 입력
Description : Security Group for IMD-PRIVATE 입력
Type
Source
SSH
Anywhere
HTTPS
Anywhere
[Review and Launch] 를 클릭하여 입력된 정보를 검토 후 [Launch] 를 클릭합니다.
Key pari 선택에 대한 팝업창이 뜨며, 5-1에서 생성한 Key pair, "IMD-PUB-PPK", 를 선택합니다.
[Launch Instances] 를 클릭하면, 최종적으로 EC2 instance가 생성됩니다.
Private EC2 Instance는 외부에서 접속이 불가능하기 때문에, 아래와 같은 방법을 통해서 접속이 가능합니다.
Public subnet에서 Bastion host를 배치하여 SSH Agent Forwarding 또는 SSH Proxy Tunneling을 통한 접속
Client 측에서 AWS CLI - Session Manager Plugin을 통한 콘솔 접속
AWS 관리 콘솔에서 EC2를 위한 Session Manager 기반으로 접속
PRIVATE Subnet에 있는 EC2 instance 에 연결하기 위해서는 Session Manager(SSM) role을 EC2에 부여해야 합니다.
"PRIVATE-EC2-A01" instance를 선택 후, [Actions] > [Security] > [Modify IAM role] 을 클릭합니다
[Create new IAM role]을 클릭하여 새로운 IAM 생성 페이지로 이동합니다.
[Create role] 을 클릭하여 EC2 instance에 대한 SSM role을 생성합니다.
AWS service - EC2 선택
[Next: Permission] 클릭
SSM 으로 관련 정책을 검색하여 "AmazonEC2RoleforSSM" 선택
[Next: Tags] 클릭
tags - Key: Name , Value: RoleforSSM
[Next: Review] 클릭
Role name - "IMD-EC2RoleforSSM" 입력
[Create role] 클릭
EC2의 "Modify IAM role" 탭으로 다시 이동하여 생성한 role, "IMD-EC2RoleforSSM" 을 선택합니다.
"PRIVATE-EC2-C01"에 대해서도 생성한 role, "IMD-EC2RoleforSSM"을 부여합니다.
SSM role을 부여한것 만으로는 PRIVATE-EC2에 접속할 수 없습니다. VPC Endpoint 설정이 완료되어야 Session Manager를 통한 연결이 가능힙니다.
VPC 메뉴에서 Endpoints 창으로 이동하여, "Create Endpoint"를 수행합니다.
Service category - AWS services
ssmmessages 검색 및 선택
VPC - "IMD-VPC" 선택
Availability Zone - "IMD-PRIVATE-A" , "IMD-PRIVATE-C" 선택
https 프로토콜에 대한 인바운드 접근이 허용되어 있는 Security group을 생성합니다. 랩에서는 기존에 생성한 "IMD-PRI-SG"를 선택합니다.
Select security groups - "IMD-PRI-SG" 선택
"Create Endpoint" 클릭
생성된 Endpoint의 Subnet 탭을 선택하여 각 Subnet당 ENI(Elastic Network Interface)가 생성된 것을 확인합니다.
System Manager 메뉴로 이동하여 Session Manager로 이동합니다. [Start Session]을 클릭하여 대상 instance를 확인합니다. 만약 PRIVATE-EC2 instance가 생성된 후에 Session Manager를 생성하였다면, 대상 instance가 보이지 않습니다.
대상 instance, PRIVATE-EC2 를 재 시작하면 정상적으로 instance가 확인됩니다.
접속할 instance를 선택 후, [Connect]를 클릭합니다. [Session Manager] 탭으로 이동하여 접속합니다.
Session Manager 연결 시, IAM role에 의해서 ssm-user 계정으로 로그인이 됩니다. ec2-user 계정으로 변경(switch user)를 합니다.
지금까지 EC2 인스턴스에서 공용 리소스에 액세스하려는 경우 인터넷 게이트웨이 또는 일부 NAT 인스턴스를 이용해야했습니다. VPC 엔드 포인트라는 개념을 통해 VPC에서 S3로 접근이 가능해지면, 신뢰성 높은 안전한 S3 연결을 제공합니다.
Amazon S3 Endpoint 참고 링크 : https://aws.amazon.com/ko/blogs/korea/anew-vpc-endpoint-for-amazon-s3/
VPC 메뉴에서 Endpoints 창으로 이동하여, [Create Endpoint]를 수행합니다.
Service category - AWS services
s3 검색 및 선택
"Gateway" Type이 s3 서비스를 선택
VPC - "IMD-VPC" 선택
Route Table ID - "PUBLIC-RT" , "PRIVATE-RT" 의 ID 선택
S3로 연결되는 경로가 기존 Internet gateway에서 Endpoint로 변경됨에 따라 연결 중인 세션이 있는 경우 일시 중단이 발생됩니다.
Policy - Full Access 선택
Tag - Key: Name , Value: IMD-S3-Endpoint 입력
PURBLIC-RT와 PRIVATE-RT에 정상적으로 S3 Endpoint 경로가 추가 되었는지 확인합니다.
Endpoint Lab을 성공적으로 완료하였습니다.