베하 ! 엄...팀입니다
이번 주제에서는 AWS Client VPN을 이용해서 VPC 내부에 있는 Private Server에 별도의 Client IP를 Allow List에 등록하지 않고도 접속하는 과정에 대해 설명드리겠습니다. 일반적으로 인터넷 게이트웨이와 라우팅이 되지 않는 Private Server에 접속하기 위해선 Public Server를 통해 접속하는 과정이 필요한데요, 이 과정에서는 Public Server에 Client IP를 등록을 해주는 과정이 필요합니다.
하지만 AWS Client VPN 서비스를 이용하면 별도의 Client IP에 대해서는 등록을 하지 않아도 VPC 외부 클라이언트에서 AWS VPC 내부 리소스로 안전하게 접근할 수 있습니다.
1. VPC 생성
2. Private 서버 생성
3. CA 생성
https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#ad
cd ~
git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa build-server-full server nopass
./easyrsa build-client-full client1.domain.tld nopass
mkdir ~/private/
cp pki/ca.crt ~/private/
cp pki/issued/server.crt ~/private/
cp pki/private/server.key ~/private/
cp pki/issued/client1.domain.tld.crt ~/private
cp pki/private/client1.domain.tld.key ~/private/
cd ~/private/
4. 인증서 가져오기
https://console.aws.amazon.com/acm/home
cat server.crt # 인증서 본문
cat server.key # 인증서 프라이빗 키
cat ca.crt # 인증서 체인
5. Client VPN 엔드포인트 생성
https://ap-northeast-2.console.aws.amazon.com/vpc/home?region=ap-northeast-2#ClientVPNEndpoints:
- CIDR
- UDP
6. 엔드포인트 - 대상 네트워크 연결
- 접속할 서버가 있는 VPC, 서브넷 선택
7. 엔드포인트 - 보안 그룹 연결
8. 엔드포인트 - 권한 부여 규칙 추가
9. 클라이언트 구성 다운로드
10. 구성 파일 수정
https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoint-export.html
cd ~/Downloads
vi downloaded-client-config.ovpn
# 상위 링크 참고하여 프로필 설정 파일을 수정한다 <cert>client1.domain.tld.crt</cert>
cat ~/private/client1.domain.tld.crt
# 상위 링크 참고하여 프로필 설정 파일을 수정한다 <key>client1.domain.tld.key</key>
cat ~/private/client1.domain.tld.key
11. AWS Client VPN for Desktop 설치
https://aws.amazon.com/ko/vpn/client-vpn-download/
brew install --cask aws-vpn-client # 맥 패키지 관리자로 설치할 경우
#brew install --cask openvpn-connect # 해당 Application은 연결이 안되었음.
12. 클라이언트 실행 후 위에서 수정한 프로필을 추가합니다.
13. Connect 후 Private 서버로 접속 확인
감사합니다.
References.
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] AWS Systems Manager란 (0) | 2023.07.07 |
---|---|
[AWS] Step Functions (0) | 2023.07.07 |
[AWS] AWS CodeDeploy (0) | 2023.07.06 |
AWS DB FailOver 알람 받기 (0) | 2023.07.06 |
[AWS]S3 -CloudFront-Route53을 이용한 리다이렉트 (0) | 2023.07.05 |
댓글