728x90
반응형

구성도



Bastion Host

- Private Subnet에 Deploy된 Instance의 경우 외부에서 접근이 차단되어 있기 때문에 SSH로 접근할 수 있는 방법이 없음

- 하지만 SSH를 통해 접속이 필요한 경우 Bastion Host라는 방식으로 외부 접근이 가능하도록 구성

- Bastion Host는 Private Network 환경에 접근하기 위한 일종의 Proxy 역활을 하는 서버

- Private Subnet에 배포된 Instance에 Bastion을 통해 SSH 접속을 허용하도록 함 
(접근 허용을 한 곳으로 한정 지음으로 보안성을 높이고자 하는 목적이 있으며 bastion host의 logging만 관리하면 private subnet에 접속하는 모든 기록을 관리할 수 있음)


구성도 설명

- Bastion Host는 Public Subnet에 위치하도록 Instance 생성 (외부 사용자는 Bastion Host를 통해 접속)

- 외부 사용자의 특정 IP만 허용하여 Bastion Host에 접속 가능하도록 ACL과 Security Group 설정

- Bastion Host를 통해 Private Subnet에 상주한 Instance로 접속


SSH Tunneling

- Bastion Host 에서 SSH 접속을 Proxy 하는 여러가지 방법이 있는데 SSH Tunneling 또한 방법 중 하나

- Ex) Bastion Host Public IP : 52.100.1.1 / 접속 타겟 Instance Private IP : 10.10.101.225
  • Local PC에서 Bastion Host에 SSH할 때 -L 옵션을 이용하여 접속
    # ssh -I key.pem -L 22:10.10.101.225:22 ec2-user@52.100.1.1
    -L 옵션인 22:10.10.101.225:22의 의미는 Local Port 22번으로 접속 타겟 Instance (10.10.101.225)의 22번 포트로 접속하겠다는 의미
  • 위의 상태에서 터미널을 하나더 열고 ssh localhost로 접속하면 자동으로 타겟 Instance로 SSH Tunneling되어 접속된 것을 확인 (Private Subnet에 위치한 모든 서버 접속가능)
    # ssh -I key.pem ec2-user@localhost




반응형

'AWS' 카테고리의 다른 글

AWS CodeCommit  (0) 2019.04.09
AWS CodePipeline  (0) 2019.04.09
AWS Auto Scaling  (0) 2019.03.08
AWS VPC 기초 구성도 및 용어 설명  (0) 2019.03.08
AWS CloudFront(CDN)  (0) 2019.03.08

+ Recent posts