스터디 내용과 구글링한 내용을 아카이빙하는 블로그입니다
틀린 점이나 추가했으면 좋겠는 점은 언제든 댓글 부탁드려요
리눅스 실습을 위해 VMware에서 만든 가상 머신을 사용하다가 클라우드 공부를 동시에 하게 되어서 aws에서 인스턴스를 만들어 보았습니다
일단 이 글에서는 리눅스 실습만을 위한 환경으로 거의 필요한 것들로만 가볍게 구성해서, 서버 등 개인의 사용 목적에 맞게 설정을 변경하면 됩니다(애초에 그런 분들은 이 글을 안 보시겠지만요...)
리눅스 실습을 하려고 인스턴스를 생성하시는 분들은 그대로 따라오시면 됩니다
1. aws에서 인스턴스 생성
2. Xshell(또는 MobaXterm)에서 인스턴스 실행
3. Timezone 설정(UTC -> KST)
4. 인스턴스 종료
aws에서 인스턴스 생성

우선 aws 로그인 후, 검색창에서 'EC2'를 검색해 '인스턴스'를 클릭한다.
리전(region) 확인: 종종 서울이 아닌 경우가 있는데(내가 그랬음), 꼭 서울로 설정해 주어야 한다. 아니면 다른 지역 서버에 인스턴스가 생겨 버림.
로그인 후 리전 확인까지 됐으면 우측 상단의 '인스턴스 시작' 클릭.

인스턴스 설정 시작 창. '이름 및 태그' - '이름'은 원하는 대로 넣으면 됨.

배포판 설정하는 단계. CentOS를 깔 거라서, Amazon Linux를 선택했다(같은 거). 이거 말고 우분투, 윈도 등도 설정 가능.

AMI는 Amazon Machine Image로, 인스턴스를 시작하는 데 필요한 정보를 제공하는, AWS에서 제공하는 지원되고 유지 관리되는 이미지이다. 프리 티어 계정으로 사용 가능한 두 개 중에 최신 버전 커널로 선택했다.

아키텍처 선택.
컴퓨터가 보통 다 64bit, x86짜리니까 그대로 두면 된다.
Arm은 모바일 기기나 IoT처럼 임베디드 기기가 주로 사용한다고 함.

인스턴스 유형 선택. 프리 티어 계정으로 사용 가능한 건 t2.micro밖에 없음.
리눅스에서는 t2보다는 t3이, 성능이 더 낫고 싸다고 함.

키 페어 생성하기. 키 페어 이름은 원하는 대로 하고, 프라이빗 키 파일 형식은 Xshell이나 MobaXterm을 사용할 거라면 .pem을, PuTTY를 사용할 거라면 .ppk로 해 주면 됨. 키 페어 설정이 끝나고 '키 페어 생성'을 누르면 .pem 파일 하나가 다운로드되는데, 잃어버리지 않게 잘 저장해 놓아야 한다.

네트워크 설정 초기 화면. 신규 보안 그룹 생성인 경우는 '방화벽' - '보안 그룹 생성'을, 기존의 인스턴스에서 사용하던 보안 그룹을 그대로 사용할 경우에는 '기존 보안 그룹 선택'을 클릭한다(새로 만들어도 됨).

신규 보안 그룹 생성인 경우, 보안 그룹 이름을 지정하고 설명을 넣어 준다. 밑에서 ssh가 아니라 모든 트래픽으로 유형을 변경했으므로, 설명에 open all traffic이라고 적었다.

서브넷 설정하기. a, c 중 하나 선택해 주면 된다. 나는 Ubuntu 인스턴스를 a에 해 봐서, CentOS는 c에 해 봤다(사용하는 데 달라지는 점은 없음). b, d는 개인이 주로 쓰지는 않는다고 함. 하지만 찾아보고 문제없다면 사용해도 될 것 같다.

'인바운드 보안 그룹 규칙' - '유형' - 'ssh'를 모든 트래픽으로 변경.
모든 설정이 끝났으므로, '요약'을 확인한 뒤 '인스턴스 시작'을 클릭하면 인스턴스가 실행된다.
Xshell에서 인스턴스 실행

Xshell에서 새 세션 만들기.
이름은 aws 인스턴스와 같게 하고, 호스트에는 퍼블릭 IP 주소를 넣어 주면 된다.
(인스턴스의 퍼블릭 IP 따는 방법은 다음 그림 참고)

새로 등록한 인스턴스 이름을 클릭하면 세부 정보가 뜬다. 여기서 빨간 사각형을 보면, 인스턴스에 연결해 주는 퍼블릭 IP 주소가 뜨는데, 종이 두 장이 겹쳐져 있는 버튼을 누르면 클립보드에 복사된다. 이거를 Xshell의 호스트 자리에 넣기.

Amazon Linux(CentOS)를 선택했으므로 사용자 이름에 ec2-user 넣어 주기(우분투는 ubuntu).
암호는 안 넣어도 됐던 것 같은데... 기억이 잘 안 나서 그냥 넣었다. 어쨌든 키 자체의 암호는 아니고, 키를 사용할 때 사용되는 암호임(제가 잘못 알고 있으면 댓글 꼭 부탁드립니다).

Xshell - '사용자 인증' - '방법'
Password(default) 대신 Public Key 선택
'설정' 클릭

'찾아보기'에서 아까 다운로드받았던 키 페어를 선택하면 사용자 키에 등록된다.
Timezone 설정(UTC -> KST)
$ date
Sun Jun 26 14:11:57 UTC 2022
date 명령을 통해 현재 시간 확인. UTC(협정세계시)로 되어 있음.
$ sudo -i #대상 사용자(root)로 로그인 셸 실행
# rm /etc/localtime
rm: remove regular file '/etc/localtime/'? y
sudo -i를 통해 root로 로그인 셸 실행하기(이러면 나중에 실행할 명령에 sudo를 붙이지 않아도 됨)
rm /etc/localtime 명령을 통해 /etc/localtime 지우기(현재 UTC로 설정되어 있기 때문에 파일을 새로 만들어야 한다)
확인 메시지가 뜨면 'y' 입력
# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# date
Sun Jun 26 23:18:29 KST 2022
첫 번째 행과 같이 입력하면 KST 설정이 완료된다. 꼭 rm 명령을 지운 상태에서 실행해야 함! 안 그러면 이미 파일이 존재한다는 에러 메시지가 뜬다.
설정 완료 후 date 명령을 재실행하면 시간이 한국표준시로 뜨는 것을 확인할 수 있다.
여기서, ln은 하드 링크를 생성하는 명령이었고 -s 옵션을 붙여 주면 심볼릭 링크를 생성할 수 있는 명령이 된다.
인스턴스 종료
우선 Xshell에서 exit(또는 logout) 명령을 두 번 실행한다.
일반 사용자일 경우 한 번만 실행하면 되지만, root 사용자의 경우에는 한 번만 실행하면 일반 사용자가 되기 때문에 완전히 로그아웃하려면 두 번 입력해야 한다.
Xshell이 종료되었다면 aws 인스턴스 창으로 들어간다.

작업을 중지시킬 인스턴스를 클릭한 후, '인스턴스 상태' - '인스턴스 중지' 누르기.
이때, '인스턴스 종료'를 누르면 안 된다(인스턴스를 삭제하겠다는 의미임).

인스턴스 상태가 '중지 중'으로 바뀌고 위에 초록색 중지 성공 메시지가 뜨면 제대로 중지되었음을 확인할 수 있다.
참고로, 프리 티어도 일정 시간을 초과하면 요금이 청구되니 사용하지 않을 때는 꼭 중지시켰는지 확인하자!
저는 원래 MobaXterm을 썼어서 이번에도 MobaXterm으로 하려고 했는데, 이상하게 자꾸 에러가 나서 결국 Xshell을 사용했습니다
다른 포스트도 참고하고 질문도 하면서 이것저것 해 봤는데 왜 안 됐는지 모르겠네요...
(근데 종종 그렇더라고요 그래서 모바엑스텀이 안 되면 엑스셸 쓰고 엑스셸이 안 되면 모바엑스텀 쓰고 ㅋㅋㅋ 다행히도 아직 둘이 동시에 안 되는 경우는 없었습니다)
한 번에 올리려다 보니 내용이 너무 길어진 것 같네요 다음에는 좀 나눠서 올려 볼게요
읽어 주셔서 감사합니다!
'Cloud' 카테고리의 다른 글
[AWS] Amazon EC2 인스턴스 접속하기: 운영체제가 Windows일 때 (0) | 2023.08.31 |
---|---|
[AWS] AWS Certified Cloud Practitioner(CLF-C01) AWS 클라우드 자격증 시험 후기 (0) | 2022.11.19 |