안녕하세요 배배입니다.
오늘은 저번 시간에 이어서 구성한 인프라 아키텍쳐에 실제 EC2 서버를 구축하고
EC2 서버에 Putty로 원격접속하는 방법까지 실습을 진행해보도록 하겠습니다.
위오 레트로 서비스를 운영하고 있는 방식과 동일합니다!
(2023.05.01, 위오 공식 서비스 오픈)
※EC2의 경우 시간당 과금이 발생하니 (프리티어 제외) 참고하시어 함께 따라해주시면 되겠습니다!
step.1) AWS VPC에 Subnet 구성하기
-. AWS VPC 구성
-. 구성한 VPC 내부에 Public Subnet 생성
-. Internet Gateway를 Public Subnet에 연결
-. 인터넷 라우팅 테이블 구성
-. Public 보안 그룹 생성
step.2) AWS EC2 기동하여 Putty로 원격접속하기
-. 구성한 Subnet에서 EC2 기동
-. EC2(Linux 서버), Putty를 이용하여 원격 접속
step.3) AWS EC2,에 NGINX 설치하여 웹 서비스하기
-. EC2, Nginx 설치
-. Nginx 구성 정보 수정
-. 웹 서비스 확인(https, 도메인 적용 x)
step.4) AWS EC2에 https, 도메인 적용하기
-. AWS ACM 활용하여 SSL인증서 등록
-. AWS ALB 구성 및 SSL 연결
-. Route53에서 도메인 연결하기
-. AWS를 활용한 정상적 웹 서비스 운영 및 과금정책
아래 그림은 바로 이 전 포스팅인 Step.1 에서 구성한 인프라에 EC2를 설치한 구성도 인데요, 꼭 참고하면서 진행해주시면 매우 도움이 될 것 같습니다. ㅎㅎ
바로 EC2를 기동하러 가보도록 하겠습니다!
--------------------------------------------------------------------------------
Step.2) AWS EC2 기동하여 Putty로 원격접속하기
1. 구성한 Subnet에서 EC2 기동
1.1. https://aws.amazon.com 에 접속해줍니다.
1.2. EC2를 검색하거나 EC2 구성 페이지로 이동해줍니다!
1.3. EC2 구성페이지에서 인스턴스 시작 을 눌러주세요!
1.4. EC2의 상세정보를 설정하는 단계입니다, 과금과 관련된 부분이 있으니 신중히 선택해주세요!
- 이름 및 태그 : 적당한 이름으로 지어줍니다!
- 애플리케이션 및 OS이미지(Amazon Machine Image) : EC2의 OS를 선택하는 단계입니다!
- 인스턴스 유형 : 서버의 스펙을 결정하는 즉, 과금과 가장 직결되는 항목입니다. 신중히 알아보고 선택하세요!
일반적으로 개인 블로그 및 사용자 트래픽이 크지 않은 환경에서는 t2.nano (1vCPU, 0.5GIB) 나 t2.micro (1vCPU, 1 GIB) 로 충분하실 겁니다.
프리티어가 아닌 기준에서 AWS 계산기를 활용해 한달 과금을 측정해봤을 때
t2.micro 의 경우 한달 기준 13.93USD 정도 측정이 되는데요, 이는 한화 15,000원 수준입니다.
AWS 요금 계산기는 아래링크를 확인해주시면 됩니다.
https://calculator.aws/#/?nc2=pr&refid=68913a17-4967-41f6-a766-0f2eb338dd04
- 키페어(로그인) : 저희 서버의 경우 키페어를 따로 설정하지 않고 PUTTY 로그인을 통해 접근할 예정입니다. 이는 추후에 서버의 config 작업이 필요하며 키페어 방식으로 접근하겠다 하시는 분은 따로 매뉴얼을 참고하시어 진행해주세요!
- 네트워크 설정 : 네트워크 설정 항목의 편집을 클릭하여, 기존에 만들었던 VPC, Subnet, 보안그룹 등을 매핑해줍니다.
- 스토리지 구성 : 필요한 스펙에 맞춰 스토리지를 구성합니다. 저는 기존 구성 그대로 구성하겠습니다.
1.5. 요약 항목의 EC2 설정에 대한 세부내용을 최종적으로 확인하고 시작을 눌러줍니다.
1.6. 요약 항목의 EC2 설정에 대한 세부내용을 최종적으로 확인하고 시작을 눌러줍니다.
수 분을 기다려주시면 성공적으로 EC2 인스턴스가 실행중인 상태를 확인하실 수 있습니다.
※
AWS는 EC2를 재시작했을 때, 퍼블릭 IP가 변경되는데요, 저희 서비스의 경우 IP를 직접 사용하는 방식은 없기 때문에 그대로 사용중이지만(도메인을 이용합니다), IP가 고정적으로 유지되어야하는 서비스의 경우 "탄력적 IP"라는 서비스를 사용하시면 될 것 같습니다. (일정 과금이 발생합니다.)
1.7. 요약 항목의 EC2 설정에 대한 세부내용을 최종적으로 확인하고 시작을 눌러줍니다.
새로 생성한 EC2> 연결을 클릭하면 인스턴스에 연결 화면이 보이는데요, EC2 인스턴스 연결의 연결을 클릭하여 OS에 접근하여 줍시다.
성공적으로 Ubuntu OS를 설치한 서버에 접근하는 것을 확인했습니다!~ ㅎㅎ
2. EC2(Linux 서버), Putty를 이용하여 원격 접속
1.7에서 원격 접속한 방식은 AWS 웹사이트에 접근해야하는 불편함이 있는데요, 저희 PC에서 PUTTY를 이용하여 바로 로그인하여 접속할 수 있도록 해보겠습니다!
2.1. putty 설치를 먼저 진행해주세요!
https://putty.softonic.kr/
putty를 설치하고 아래 캡처처럼 AWS의 EC2의 IP로 접근하려고 보니..
접근이 안되는걸 확인하실 수 있는데요, 이는 서버의 기본 config에서 원격 접근을 막아놓았기 때문입니다.
(또한, 1.7 방식으로 OS에 접근했을 때 ubuntu 계정의 Password를 치지 않았는데요, 신규 패스워드 설정까지 사전에 해주도록 하겠습니다.)
2.1. AWS에서 인스턴스 연결(1.7항목 )로 다시 OS에 접속해줍니다.
2.2. 먼저 root와 ubuntu 계정의 패스워드를 등록해줍니다.
초기 패스워드이기 때문에 인증절차 없이 바로 등록할 수 있습니다! 아래 명령어를 각각 쳐주고 원하는 패스워드를 등록합니다!
sudo passwd root
sudo passwd ubuntu
2.2. 접속할 계정에 패스워드를 등록했다면, PUTTY에서 접근이 가능하도록 설정파일을 수정해줍니다!
※ root계정으로 로그인해야 sshd_config 파일을 수정할 수 있습니다.
vi /etc/ssh/sshd_config
sshd_config 파일에서 저희는 2개의 파라미터를기입하거나 수정해야 하는데요,
PermitRootLogin의 경우 root 계정으로 로그인할 수 있는 권한을 뜻하며
PasswordAuthentication의 경우 패스워드로 인증에 대한 파라미터들입니다.
모두 아래처럼 기입하거나 수정해줍니다!
PermitRootLogin yes
PasswordAuthentication yes
Linux VI 사용법에 대한 설명은 스킵하도록 하겠습니다.
2.3. sshd_config 파일을 수정했다면 sshd를 재시작해줍니다! (그래야 파라미터가 반영됩니다!)
systemctl restart sshd
2.4. 자 이제 모든 준비는 끝났습니다. 다시 PUTTY로 돌아가서 IP로 로그인을 시도해봅시다!
---------------------------------------------
이번시간까지 AWS 인프라를 구축하고 그 위에 EC2 서버를 기동시키고 PUTTY를 이용하여 외부에서 직접 원격 접속하는 과정까지 함께 해봤습니다.
대학생 시절에는 Linux에 대해서 접할 기회가 마땅하지 않으니 개인용 서버로 연습할 겸 사용하셔도 괜찮을 것 같다는 생각이 듭니다.
다음시간에는 nginx 를 EC2 서버에 설치하고, http를 이용하여 웹 브라우저에서 웹 서비스 접근하는 것 까지
진행해볼텐데요, 내용이 점점 길어지면서 어렵고 헷갈리실 수 있으실텐데 편하게 질문 부탁드립니다.
감사합니다, 배배였습니다.
'위오의 AWS 이야기' 카테고리의 다른 글
[AWS] AWS EC2에 https, 도메인 적용하기 [4] - [위오의 AWS이야기] (2) | 2022.11.10 |
---|---|
[AWS] AWS EC2에 NGINX 설치하여 웹서비스 하기 [3] / [위오의 AWS 이야기] (4) | 2022.11.07 |
[AWS] VPC에 Subnet 구성하기 [1] - [위오의 AWS 이야기] (4) | 2022.10.26 |
댓글