프로젝트를 진행하다보면 배포는 보통 백엔드에서 맡아서 하는 경우가 많았다.
그런데 개발자라면 내가 만든 사이트 정도는 배포할 수 있어야 한다는 생각이 들었다.
그래서 AWS 기초 사용법과 인생 첫 프로젝트였던 insideout 사이트를 배포하는 과정을 기록하려고 한다.
BH Lee님께 무한 감사를 :)
AWS 회원가입을 진행하면 해당 계정은 root 사용자다.
서비스의 모든 권한, 특히 보안과 관련된 권한을 가지고 있기 때문에 이 계정에 대한 정보는 정말 정말 주의해서 관리해야한다.

서버를 안전하게 관리한다는 것은 정말 중요하기 때문에 보안 강화를 위해 계정에 인증 절차를 설정해줄 수 있다.
그 중 권장되는 것이 바로 다중 인증 방식(MFA : Multi-Factor Authentication)이다.
계정의 보안을 높이기 위해 매 로그인마다 인증번호를 새로 발급받는 형식이다.
앱스토어에서 Google Authenticator를 다운받는다.


MFA 디바이스 할당을 눌러 디바이스 등록을 진행하면 된다. 사용자별 최대 8개까지 MFA 디바이스를 등록할 수 있다.
나중에 IAM 계정 생성 후 MFA 설정을 하게 되면 어떤 번호가 어떤 계정에 연동되는지 헷갈릴 수 있기 때문이다.
나는 핸드폰에 애플리케이션을 깔아 인증할 것이기 때문에 앱으로 선택을 했다.

Google Authenticator에 들어가 QR 코드 표시를 누르면 나오는 QR 코드를 인식한다.앱에 뜬 MFA 코드를 두 번 입력해주고 화면에는 잘려서 나오지 않았지만 생성 버튼을 클릭하면 MFA 등록 완료다. 앞으로 이 계정을 사용할 때는 MFA 인증을 걸쳐야 한다.

루트 계정은 많은 권한을 가지고 있기 때문에 함부로 접속해서 사용하는 것을 지양해야 한다.
루트 계정에서 IAM 사용자를 만들어 각 사용자마다 제한된 권한을 부여할 수 있다.
IAM을 검색한다.


사용자 이름
IAM 계정의 이름을 지정한다.
AWS Management Console에 대한 사용자 엑세스 권한 제공
현재 보고 있는 화면처럼 웹페이지를 통해 AWS에 접속할 수 있게 하는 권한을 제공하는 것이다. 지금 만들고 있는 IAM 계정은 추후에도 내가 이용할 것이기 때문에 편의상 나는 체크를 하고 진행했다.
자동 생성된 암호
IAM 계정의 비밀번호를 AWS측에서 임의로 생성해 주는 것이다.
사용자는 다음 로그인 시 새 암호를 생성해야 합니다
첫 로그인 시 내가 원하는 암호로 새 암호를 생성해야 한다.



예를 들어,
AdministratorAccess 같은 경우는 root계정과 같이 모든 권한에 full access를 부여한다.
그런데 이렇게 된다면 IAM 계정을 따로 생성하는 의미가 없으니, EC2의 권한만을 부여하는 그룹을 만들어보도록 하겠다.

콘솔 암호 자동 생성
IAMUserChangePassword 첫 로그인 시 비밀번호 재설정 필요

.csv 파일 다운로드를 눌러 파일을 다운받는다.
암호와 콘솔 로그인 URL이 나타난다.첫 로그인 시 이 암호를 입력해 접속을 하고 비밀번호를 변경할 수 있으므로 해당 암호가 든 파일을 잘 보관해야 한다.
URL을 누르면 바로 IAM계정 로그인 창으로 안내된다.

.csv 파일을 보면서 진행하면 된다.계정 ID
URL에 있는 12자리 번호를 적는다.
귀찮다면 그냥 해당 URL을 클릭하면 된다. 번호가 적혀진 채로 로그인 창으로 안내된다.
사용자 이름
사용자 이름을 입력한다.
암호
AWS에서 설정해준 암호를 입력한다.

아쉽게도 해당 화면은 캡쳐하지 못했다 ㅎㅎ..
바로 새 비밀번호를 설정하라는 창이 나오니, 따라서 진행하면 된다.
루트 계정에서 설정해줬던대로 똑같이 따라 설정해주면 된다. IAM 계정도 특정 권한이 부여된 사용자니까 보안 설정을 해두는 편이 좋다.
다음은 EC2를 생성하고 EC2 서버에 Dango와 Vue.js 파일 업로드를 포스팅 하겠다. 틀린 게 있다면 알려주세요.