본문 바로가기

[개인 웹사이트 만들기]

AWS+Django 기반 웹사이트 제작 3 (EC2 생성, bastion host SSH 연결)

반응형
  • Django - 인스턴스 생성
  • Bastion Host 생성
  • Bastion Host를 통해서 Django-server에 ssh 접속

 

Django를 설치할 EC2는 private subnet에 생성하게 되면 외부에서 내부로 접속이 불가능하다.

따라서 private subnet에 있는 자원(EC2 등)을 원격 접속할 때 Bastion Host를 사용한다. Public subnet에 Bastion Host를 생성해서 1차적으로 Bastion Host로 원격 접속 후 2차 원격 접속(ssh)을 통해 Private subnet에 있는 자원에 접속하게 된다.


Django - 인스턴스 생성

추가 태그 추가 클릭 후 AZ와 Subnet도 입력

ubuntu 22.04 이미지 사용

 

새 키 페어 생성

 

Key 잃어버리면 EC2 접근 할 수 없기 때문에 보관이 매우 중요!!!

 

Django를 설치할 EC2는 private subnet에 생성

 

SSH, HTTP, HTTPS, 테스트에 사용할 8000번 포트 허용하고 [인스턴스 시작] 클릭

 


 

Bastion Host 생성

추가 태그 추가 클릭 후 AZ와 Subnet도 입력

 

기본 이미지인 ‘Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type’ 사용

 

이전에 생성한 키 페어 사용

 

외부에서 접속이 가능하도록 Public subnet에 생성

Public IP 자동 할당 활성화

보안 그룹 생성 > 보안 그룹 이름 입력

Bastion Host는 원격접속만 수행할 것이기 때문에 SSH 그룹 규칙에서 SSH만 허용, 추후 필요시 추가생 성 가능

[인스턴스 시작] 클릭

 


 

Bastion Host를 통해서 Django-server에 ssh 접속

Putty를 사용해 원격접속할 때 .ppk파일이 필요

우리는 Key를 .pem 파일로 받았기 때문에 파일 변환 필요

Puttygen 실행 후 상단에 Conversions 선택 후 [import key] 선택

아까 받은 .pem파일 불러온 후 [Save private key] 클릭해 .ppk 생성

 

Putty IP입력 창에 [ Bastion Host의 퍼블릭 DNS주소 ] 입력

 

왼쪽 카테고리에서 SSH의 [ + ] 버튼 선택 후 [ Auth ] 선택

[ Browse... ] 를 선택해 변환한 .ppk파일 로드

왼쪽 카테고리에서 [ Data ] 클릭 후 Auto-login username에 [ ec2-user ] 입력 후 하단의 [ Open ] 선택.- ec2는 기본 계정으로 ec2-user라는 계정을 사용

root로 접근하면 ec2-user로 로그인 하라는 메시지 출력된다.

이 작업을 통해 계정명을 자동으로 입력해줘 세션 연결만 하면 자동 로그인 됨

 

모두 완료하면 왼쪽 카테고리 가장 위 Session으로 돌아와서 Saved Sessions에 이름을 적고 오른쪽 Save를 하면 다음 접속할때 Load로 불러와서 간단하게 다시 접속이 가능하다.

[Open] 클릭

 

Bastion Host에 원격접속이 성공한 화면.

 

.ssh 디렉토리에 아까 생성한 .pem 파일을 Filezilla를 이용해 업로드

.pem파일을 메모장으로 열어서 내용을 그대로 복사 붙여넣기 해도 상관없다

ssh -i [Public-key] [user]@[Private-ip] 명령어를 통해 Private Subnet에 있는 EC2로 원격접속 진행 하면 잘 접속되는 것을 확인.

 

[user]

사용한 이미지에 따라서 달라짐

Amazon Linux 2 AMI의 경우 : ec2-user

Centos 7 의 경우 : centos

ubuntu의 경우 : ubuntu

 

$ ssh -i ysy-key ubuntu@172.16.1.50

 

root 계정 패스워드 설정하고 root로 계정 전환까지 완료한 모습

 


 

 

다음 포스트는 Django-server에 아파치-장고를 설치하고 연동까지 해보자

반응형