AWS EC2 인스턴스 SSH 접속을 위한 초기설정 그리고 주의사항

​ ​

이 포스팅의 모든 내용은 OS X에 최적화되어 있습니다. 그리고, 정리한 내용은 AWS 공식문서에 아주 잘 소개되어 있습니다.

​ ​

AWS CLI

AWS CLI는 여러 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화할 수 있는 커멘드라인 인터페이스입니다. 이를 사용하기 전에 먼저, brew를 통해 awscli를 설치해야 합니다.

$ brew install awscli

설치하고 나면 이제 aws 명령어를 사용할 수 있습니다. 가장 먼저 configure 명령어를 통해 Access key를 입력해야합니다.

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: ENTER

여기에서 Access Key ID는 [IAM - Security credentials]에서 확인할 수 있습니다.

​ ​

AWS EC2 접속

EC2 인스턴스를 만들면 .pem이라는 파일을 발급받게 됩니다. 이 파일은 절대 외부로 유출되면 안되기 때문에 조심해야합니다. .pem 파일이 있는 경로로 이동한 다음 아래의 명령어를 통해 접속하면 됩니다.

$ chmod 400 /path/my-key-pair.pem
$ ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

“Permission denied” 에러가 발생하면 -vvv 옵션을 통해 디버깅 할 수 있습니다. (가장 많이 하는 실수가 user_id에 ubuntu를 안적어주는 경우)

​ ​

AWS를 사용하면서 조심해야할 사항

​ ​

1.인스턴스 관리

프리티어를 사용하는 경우, 다 사용하고 나서 인스턴스를 항상 꺼주는 습관을 들여 과도한 요금이 과금되지 않도록 해야합니다. 특히 여러 개의 인스턴스를 돌리는 경우 순식간에 청구서가 날아올 수 있습니다.

2. ROOT 계정 사용 자제

많은 경우에 ROOT 계정의 키가 털려서 과금이 발생됩니다. IAM을 통해 Admin 계정을 만들어서 사용하고, GitHub 같은 곳에 설정파일을 올리지 말아야합니다.

3. CloudWatch로 요금 확인

CloudWatch를 통해 Billing Cost가 일정 금액을 넘어가면 메일이나 Slack 메세지로 보내도록 설정해두면 편합니다.

4. 네트워크 확인

네트워크에서 모든 포트를 여는 것도 위험합니다. 이렇게 되면 DDoS 공격을 받을 위험이 있습니다.

​ ​

참고링크

​ ​