-
[AWS] EC2 Instance Connect 환경 구축하고 private instance에 연결하기클라우드/AWS 2023. 8. 9. 19:34
- ec2 instance connect는 새로나온 서비스
- 기존의 bastion host를 통해서 private instance에 접근하자 얺고 엔드포인트를 통해 접근하는 방식임
- 기본적으로 private subnet에 엔드포인트를 생성해두면, 테스트서버에서 ssh 연결하면 엔드포인트로 접속하게됨
- 돈이 별로 나오지 않아서 앞으로 많이 쓰이게 될 것 !
1. VPC/Subnet 구성
VPC와 EIC를 배치할 서브넷과 접속해볼 인스턴스를 생성할 서브넷 두개의 서브넷이 필요함
2. EC2 instance connect endpoint 생성
Private subnet에 생성하자, 보안그룹으로는 ssh에 대해서만 열어주었음
3. private 서브넷에 있는 인스턴스 생성
- 보안그룹 EIC 엔드포인트에 대해서만 열어줌
==> EC2 Instance Connect는 다음 AMI에 사전 설치됨
– Amazon Linux 2 2.0.20190618 이상
– 우분투 20.04 이상4. IAM 권한 주기
- 사용자에게 ec2인스턴스연결을 할 수 있는 권한을 줬음
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2InstanceConnect", "Effect": "Allow", "Action": [ "ec2-instance-connect:*" ], "Resource": [ "*" ] } ] }
4. private instance -> 연결
앤드포인트에 연결하면 따로 bastion host두지 않아도 바로 프라이빗 인스턴스에 연결됨
터널링해서 연결해보자
다른 vpc의 public subnet에 있는 access-server 하나 만들고, 이 Ubuntu 서버에 접속해서 private한 서버로 접근해보자
그러기 전에...... 많은걸 해줘야했음
- aws-cli version
- key값 권한 주기...
- 자꾸 Permission Denied(public key) 뜨길래 sudo vim /etc/ssh/sshd_config 들어가서 권한 수정도 해줌 -> 개짜증낫음
PermitRootLogin prohibit-password -> PermitRootLogin yes
PasswordAuthentication no -> PasswordAuthentication yessudo /etc/init.d/ssh restart
5. 터널링 연결
- 테스트 서버에서 대상 프라이빗 서버로 연결해보기
ssh ubuntu@인스턴스아이디 -i new-key.pem -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id 인스턴스 아이디'
ㅠ,ㅠ
https://blog.nuricloud.com/aws-with-no-eip-ssh-connect-using-ec2-instance-connect-endpoint/
'클라우드 > AWS' 카테고리의 다른 글
[AWS] MGN를 이용하여 마이그레이션 (1) 2023.12.04 [AWS] Terraform으로 쿠버네티스 배포하기 (0) 2023.08.14 [AWS] Window에 Cloudwatch Agent 설치 (0) 2023.07.12 [AWS] Grafana를 이용하여 EC2 모니터링 (0) 2023.07.01 [AWS] EFS 와 ALB를 이용하여 공유되는 파일 확인해보기 (0) 2023.05.08