NextStep JWP

4월 3일, 즉 다음주 월요일부터 회사에서 자바지기 박재성 님의 NextStep JWP수업을 듣게 되었다.

내가 수강 지원을 한 이유는 다음과 같다.

  • 박재성님의 NextStep 수업은 명강의로 유명하고, 이번 기회에 회사 돈으로 교육을 받을 수 있다.
  • Java로는 주로 유지보수 작업만 해왔기 때문에 밑바닥부터 시작하는 통합된 학습의 필요성을 느끼고 있었다.
  • 마침 요즘 하는 일이 PHP 레거시를 Java로 이행하는 작업과 관련이 있다.
  • 부가적으로 AWS와 Spring을 배워보고 싶다.

수업 전 준비사항

수업 전 자신의 컴퓨터 환경을 다음과 같이 준비해야 한다.

  • JDK 8.0
  • STS 또는 IntelliJ IDEA
  • Git 설치
  • Github 계정 생성
  • 크롬 설치
  • 수강신청하기
  • AWS 인스턴스 생성 및 ssh를 통한 접속(2주차까지 진행해도 괜찮음)

모두 평소에 잘 쓰고 있는 것들을 쓰면 될듯. AWS 인스턴스 생성만 해두면 되겠다.

AWS 인스턴스 생성 및 ssh를 통한 접속

아마존 아이디 있으니까 새로 생성할 필요는 없다.

박재성 님의 AWS 인스턴스 생성 및 SSH를 통한 로그인을 참고하여 아래와 같이 작업하였다.

  • AWS에 로그인하여 EC2 선택.
  • Launch Instance를 클릭하여 새로운 인스턴스를 만든다.
  • 서버 선택 화면 : Ubuntu Server 16.04 LTS (HVM), SSD Volume Type 선택.
    • 이후 Free tier eligible 딱지가 붙어 있는 설정을 선택한다.
    • Next 버튼 클릭.
  • Step 3: Default 설정, Next 클릭.
  • Step 4: Default 설정, Next 클릭.
  • Step 5: Default 설정, Next 클릭.
  • Step 6: Configure Security Group
    • Security group namemy security group으로 수정.
    • Add Rule: HTTP - TCP - 80 포트 추가.
    • Add Rule: Custom TCP Rule - TCP - 8080 포트 추가.
    • Review and Launch 클릭.
  • 지금까지 설정한 내용을 한 번에 볼 수 있다.
    • Launch 클릭.
  • Key pair는 적당히 알아서 갖고 있는 것을 쓰거나 새로 만들거나 한다.
  • Launch Instances 클릭.
  • View Instances 버튼으로 인스턴스들의 현재 상태를 볼 수 있다.
    • 방금 생성한 서버를 선택한 다음, 아래쪽을 보면 DNS와 IP가 있다. 일단 IP를 복사한다.
  • 터미널을 열고 다음과 같이 입력한다.
    $ ssh -i {pem 파일} ubuntu@{ip주소}
    

그랬더니 다음과 같은 에러가 발생한다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/xxx/xxx/foo.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/xxx/xxx/foo.pem": bad permissions
Permission denied (publickey).

too open permission 문제이니 다음과 같이 400으로 변경해주면 된다.

$ chmod 400 foo.pem

접속에 성공하면 일단 다음과 같이 한글 설정부터 해주자.

sudo locale-gen ko_KR.UTF-8

이러면 학습할 준비는 완료된 것이다.

주의 사항

  • 혹시 요금 폭탄이 터질 수 있으니 사용하지 않는 인스턴스는 stop 하도록 한다.
  • 인스턴스는 start 할 때마다 DNS와 IP가 바뀌므로 다음에 다시 시작할 때에는 새로운 IP를 사용해 접속해야 한다.