사이드 프로젝트 배포를 위해 처음으로 AWS EC2 서버를 다뤄보게 되었습니다. 팀원이 미리 인스턴스를 만들어놓았기 때문에 이 글에서 인스턴스 생성은 따로 설명하지 않습니다. 이미 생성된 인스턴스에 접속하는 방법을 알아봅니다.
AWS 서버는 SSH로 접속할 수 있어요. SSH란 원격으로 시스템에 접속하는 다양한 방법 중 하나입니다!
1. AWS CLI 설치
$ brew install awscli
aws-cli는 터미널로 aws
를 관리할 수 있는 통합 도구입니다. 위의 명령어로 설치합니다.
$ aws configure
설치 뒤에는 aws
명령어를 사용할 수 있습니다. 위와 같이 입력해볼게요.
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
그럼 이렇게 여러가지 항목을 입력하라고 할 겁니다. 이 Access Key를 알기 위해 AWS 웹사이트에 접속합니다.
2. Access Key 확인
내 계정
→ AWS Management Console
을 클릭해주세요.
그럼 이 페이지로 들어오게 될텐데요, 오른쪽 위에 써있는 계정 이름을 클릭하고 내 보안 자격 증명
으로 가주세요.
중간에 보시면 엑세스 키
탭이 있어요. 새 액세스 키 만들기
를 누르면 엑셀 파일 하나가 다운받아질 거예요.
엑셀 파일에 있는 값을 아까의 터미널에 복붙해주면 됩니다. 그럼 그 화면을 다시 볼까요?
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
엑셀 첫 번째 값을 Access Key ID
에, 두번 째 값을 Secret Access Key
에 입력합니다. Default region name
은 제 경우 ap-northeast-2로 해줬고 output format
은 엔터 쳐서 디폴트로 넘어갔어요.
3. Private Key 설정
1) pem 파일 다운
서버를 안전하게 지키기 위해 AWS는 Public Key 암호화 기법을 활용합니다. 데이터는 Public Key로 암호화되고 제가 가진 Private Key로 그 데이터를 해독할 수 있어요. 그 Private Key가 바로 .pem
이라는 파일입니다.
pem
파일은 딱 한 번 생성할 수 있고 이걸 잃어버리면 복잡한 절차를 거쳐야 하니 잘 관리해두세요. 특히 이 pem
파일은 유출되면 서버에 누구든 접속할 수 있게 되니까 조심하셔야 합니다! 저는 팀원에게 파일을 직접 전달받은 관계로 키 생성은 이곳을 참고하시면 됩니다.
2) pem 파일 경로 이동
이 중요한 파일을 어디다 저장해야 할까 고민이 많았는데요, 저보다 경험이 많은 팀원이 보통 ~/.ssh
폴더에 저장한다고 조언해주었어요. .ssh
는 보통 홈 디렉토리 아래에 있어요. 만약 제 유저 아이디가 'dodeoni' 일 경우, dodeoni/.ssh
라는 경로를 갖고 있어요.
하지만 저처럼 SSH를 사용해본 적이 없다면 숨김 폴더 보기를 해도 없을 거예요. 한 번 생성해봅시다.
$ ssh-keygen
.ssh
디렉토리가 없다면 ssh-keygen
이라는 프로그램으로 키를 생성해야 합니다.
Enter file in which to save the key (/Users/dodeoni/.ssh/id_rsa):
Created directory '/Users/dodeoni/.ssh'.
엔터를 치면 내 홈 디렉토리에 .ssh
디렉토리를 생성해줍니다.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/dodeoni/.ssh/id_rsa.
Your public key has been saved in /Users/dodeoni/.ssh/id_rsa.pub.
계속 엔터를 치면 작업이 완료됩니다. Mac OS의 경우 cmd+shift+.
을 누르면 숨겨져있던 .ssh
디렉토리가 보일거예요. 이제 다운 받은 pem
파일을 .ssh
로 옮겨주세요!
3) pem 파일 권한 설정 및 접속
$ chmod 400 /경로/파일이름.pem
pem
파일을 나만 볼 수 있도록 권한을 변경합니다.
4. EC2 접속
1) DNS 주소 확인
자, 이제 거의 다 왔어요! 이제 접속할 DNS 주소를 알아봅시다. 먼저 EC2 대시보드에 접속해주세요.
인스턴스 메뉴에 들어가서 하단 오른쪽을 보면 퍼블릭 IP가 있죠? 이 부분을 복사해주세요.
2) SSH로 접속
$ ssh -i .ssh/[파일이름].pem ec2-user@[DNS주소]
$ ssh -i .ssh/key.pem ec2-user@12.34.56.78
이렇게 써주면
The authenticity of host '주소' can't be established.
ECDSA key fingerprint is SHA256:key내용.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '주소' (ECDSA) to the list of known hosts.
Last login: Sun Oct 6 10:58:33 2019 from 주소
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
25 package(s) needed for security, out of 31 available
Run "sudo yum update" to apply all updates.
접속 화면이 짠! 성공입니다!!
'개발새발 개발자 > 기타' 카테고리의 다른 글
[TypeGraphQL] 설치 및 resolver, entity 생성하기 (0) | 2020.04.08 |
---|---|
[AWS] 특정 IP만 접속할 수 있게 설정하기 (0) | 2019.10.07 |
Hacktober FEST 2019 - 오픈 소스 기여하고 기념품 받자! (2) | 2019.10.02 |
Apache와 Tomcat 혹은 웹 서버와 WAS는 어떻게 다를까? (3) | 2019.08.05 |
[Docker] docker-compose로 DB 연결하기 (2) | 2019.07.02 |