[Spring] 나만의 게시판 만들기 7 - AWS(EC2)

최진민·2022년 3월 4일
0

게시판 만들기

목록 보기
7/9
post-thumbnail

로컬 환경에서 벗어나, AWS EC2 환경에 빌드 파일(.jar)을 배포하여 개발한 Swagger UI에 진입하기 위한 포스팅입니다. EC2RDS를 활용할 것며, 클라우드 환경 구축부터 배포까지 살펴보도록 하겠습니다.

AWS EC2 환경 구축


시작

  • EC2 (Elastic Compute Cloud)는 성능, 용량 등을 제공하는 AWS 클라우드 서비스입니다.
  • AWS 프리티어 가입을 통해 1년간 무료로 AWS의 여러 클라우드 환경을 사용할 수 있습니다.
    • 무료 계정 생성을 통해 계정을 생성합니다.
  • 루트 사용자(Root user)로 로그인하여 EC2의 인스턴스를 생성합니다.

EC2 인스턴스 생성

  • EC2 인스턴스 : 링크를 참조하여 EC2 인스턴스 유형은 어떤 것들이 있는지 알아보는 것도 좋습니다.
  1. 인스턴스 시작

  2. 1단계 : AMI 선택

    • 최신 버전보다 비교적 안정적인 AMI를 선택합니다. → Amazon Linux 2 AMI (HVM) - Kernel 4.14, SSD Volume Type
  3. 2단계 : 인스턴스 유형 선택

    • 프리티어 사용 가능인 t2.micro를 선택한 후, 인스턴스 세부 정보 구성 !
  4. 3단계 : 인스턴스 세부 정보 구성

    • default 설정 상태로 스토리지 추가 !
  5. 4단계 : 스토리지 추가

    • default 설정 상태로 태그 추가 !
  6. 5단계 : 태그 추가

    • 태그를 추가한 후, 보안 그룹 구성 !
  7. 6단계 : 보안 그룹 구성

    • 위와 같이 보안 그룹을 구성한 후, 검토 및 시작 !
      • 지정된 IP에서만 ssh 접속이 가능하도록 구성하는 것이 안전합니다.
  8. 7단계 : 인스턴스 시작 검토

    • 문제가 없다면 시작하기 !
  9. 키 페어 생성

    • 새 키 페어 생성 + 키페어 이름을 통해 *.pem 형식의 키 파일을 다운로드 받은 후, 인스턴스를 가동합니다.
    • EC2 대시보드를 통해 실행 중인 인스턴스와 여러 정보를 확인할 수 있습니다.


EIP(탄력적 IP) 생성

  • 인스턴스의 퍼블릭 IPv4는 인스턴스를 중지한 후에 재시작할 경우 바뀌는 값이다. 그러므로 고정된 IP가 필요하고 Elastic IP를 생성함으로써 해결할 수 있다.
  1. 네트워크 및 보안 탭 - 탄력적 IP
    • 탄력젹 IP 주소 할당을 누릅니다.
  1. 탄력적 IP 주소 할당
    • 디폴트 상태로 할당합니다.
    • 주의 : 탄력적 IP는 유료 서비스이기 때문에 생성한 EC2 인스턴스와 연결을 꼭 해야합니다.
  2. 인스턴스 연결
    • 할당된 IPv4 주소(빨간 박스)를 통해 해당 탄력적 IP 설정에 진입합니다.
    • 탄력적 IP 주소 연결을 누릅니다.
    • 생성한 인스턴스와 프라이빗 IP 주소를 선택한 뒤 연결합니다. (TextBox를 클릭시 선택가능합니다.)

EC2 인스턴스 접속(탄력적 IP)(MAC)

  • MAC이 제공하는 터미널을 활용하여 생성한 EC2 인스턴스탄력적 IP를 통해 접속하는 방법에 대한 설명입니다.
  1. 생성한 key 파일의 권한을 변경합니다.

    $ chmod 600 JinminBoard.pem
    • 위에서 다운로드 받은 .pem 이 있는 디렉토리 위치에서 해당 명령어를 실행합니다.

    Linux의 chmod

    • chmod는 권한을 변경할 수 있습니다. 세 개의 숫자는 차례대로 나/그룹/전체 를 의미합니다.
    • read(4), write(2), execute(1)를 의미하며, 숫자들의 합으로 권한을 조정할 수 있습니다.
    • ex) 600 : 나에게 read(4) + write(2)의 권한을 부여합니다.
    • ex) 744 : 나에게 read(4) + write(2) + execute(1) / 그룹과 전체는 read(4)의 권한을 부여합니다.
  2. 권한 설정 후 접속합니다.

    $ ssh -i {pem} ec2-user@{ec2의 퍼블릭 IPv4 or 도메인}
    • 성공할 경우, 아래와 같이 실행됩니다.
  • 편한 접속 방법
    1. 키파일을 .ssh로 복사 (키파일이 위치한 디렉토리)

      $ cp JinminBoard.pem ~/.ssh
    2. .ssh 디렉토리 진입

      $ cd ~/.ssh

    3. 설정파일(config) 변경

      $ vi config
      • vi 에디터를 활용하여 config의 내용을 변경합니다.
        • i 클릭 : 내용 변경
        • esc + wq : 저장 후 에디터 종료

      • Host : 본인이 원하는 서비스 이름
      • HostName : ec2의 퍼블릭 IPv4 or 도메인
      • User : ec2 사용자를 의미
      • IdentityFile : .pem
    4. 권한 변경

      $ chmod 700 config
      $ chmod 600 JinminBoard.pem
    5. 진입

        $ ssh JinMin-Board
profile
열심히 해보자9999

0개의 댓글