스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 6장 AWS EC2 설정 정리

예슬·2024년 1월 18일
0
post-thumbnail

EC2: AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버

  • EC2의 이름은 Elastic Compute Cloud에서 C가 2개여서 C2 이고, S3는 Simple Storage Service여서 S3

  • 무료로 제공하는 프리티어 플랜에서 EC2 사용시 제공하는 것

    • 사양이 t2.micro만 가능

      vCPU(가상 CPU) 1 코어, 메모리 1GB 사양
      보통 vCPU는 물리 CPU 사양의 절반정도의 성능을 가짐

    • 월 750시간의 제한이 있음

      24시간 * 31일 = 744시간
      즉, 1대의 t2.micro 사용시 24시간 사용 가능

AWS와 같은 외부 서버로 SSH 접속을 하려면 매번 다음과 같은 명령어를 입력해야 한다.

ssh -i pem 키위치 EC2탄력적IP주소
  1. 쉽게 ssh 접속을 할 수 있도록 설정을 한다.
    좀 전에 받은 키페어 pem 파일을 ~/.ssh/ 디렉토리로 pem 파일을 옮겨 놓으면 pem 키 파일을 자동으로 읽어 접속을 진행한다.
    이후부터는 별도로 pem 키 위치를 명령어로 지정할 필요가 없게 되는 것이다.
    cp pem키를내려받은위치 ~/.ssh/
    cp ~/Downloads/240118ys.pem ~/.ssh/
  2. ~/.ssh 디렉토리 내 pem 키의 권한을 변경한다.
    chmod 600 ~/.ssh/pem키이름
  3. pem 키가 있는 ~/.ssh 디렉토리에 config 파일을 생성한다.
    vim ~/.ssh/config
    본인이 원하는 Host로 등록한다. Host는 앞으로 접속할 키 값으로 보면 된다. 예를 들어 Host abc라고 등록한다면 ssh abc로 해당 ec2를 접속할 수 있다.
    Host web(본인이 원하는 서비스명)
    HostName 43.203.91.166(탄력적ip주소)
    User ec2-user
    IdentityFile ~/.ssh/240118ys.pem
    config 파일은 실행 권한이 필요하므로 권한 설정을 다음과 같이 설정한다.
    chmod 700 ~/.ssh/config
  4. 외부에서 서버 접속 가능 !

서버 생성 후 설정하기

  1. Java17 설치
    sudo yum install java-17-amazon-corretto
    기존에 깔려있던 java가 있다면 버전 17로 변경
    sudo /usr/sbin/alternatives --config java
    지금 만든 서버의 경우 기본으로 깔려있는 java가 없어서 설정 할 필요가 없었음
    자바 버전 확인
    java -version
  2. 타임존 변경
    EC2의 기본 타임존은 UTC이기 때문에 한국과 9시간 차이가 난다. 때문에 한국 시간으로 변경
    sudo rm /etc/localtime
    sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
    설정된 타임존 확인
    date
    -> 'Thu Jan 18 15:47:33 KST 2024' 타임존이 KST로 변경된 것이 확인됨
  3. 호스트네임 변경
    여러 서버를 관리 중일 경우 ip 만으로 어떤 서비스의 서버인지 확인이 어렵다.
    그래서 각 서버가 어느 서비스인지 표현하기 위해 HOSTNAME 변경
    1. Amazone Linux AMI 1의 경우
      sudo vim /etc/sysconfig/network
      에서
      NETWORKING=yes
      HOSTNAME=내가 바꾸고 싶은 이름으로 변경
      NOZEROCONF=yes
    2. Amzone Linux AMI 2의 경우
      ```
      sudo hostnamectl set-hostname 원하는이름.localdomain
      ```
      입력후 sudo reboot 후 재접속을 하면 변경되어 있다.
      나의 경우 만든 EC2 OS가 Amazon Linux 2023 이어서 1번으로는 설정되지 않고 2번으로 변경되었다.
  4. 호스트 네임 변경 해준 후 /etc/hosts에 hostname을 등록해야 한다.
    1. sudo vim /etc/hosts
    2. 제일 밑에 방금 등록한 HOSTNAME을 추가한다.
      207.0.0.1 등록한HOSTNAME
    3. 정상적으로 등록되었는지는 다음 명령어로 할 수 있다.
      curl 등록한 호스트 이름
    4. 등록 실패인경우
      Could not resole host: hostname
    5. 등록 성공일 경우 - 80번 포트로 접근이 안 된다는 에러 발생(아직 80번 포트로 실행된 서비스 없음)
      curl: (7) Failed to connect to aws-ys port 80 after 1 ms: Couldn't connect to server
profile
블로그 이사 했습니다! 🏠 ⤵

0개의 댓글