이전에 생성한 EC2로 접속해보자 나는 윈도우로 하기 때문에 윈도우로 들어가보겠다
만약 오랜 시간 접속이 안 되거나, 권한이 없어서 안 된다고 메시지가 나온다면 다음과 같이 확인해 보는 것이 좋다
1. HostName 값이 정확히 탄력적 IP로 되어있는 지 확인
2. EC2 인스턴스가 running 상태인지 확인
3. EC2 인스턴스의 보안 그룹 -> 인바운드 규칙에서 현재 본인의 IP가 등록되어 있는 지 확인
- putty는 pem 키로 사용이 안 되며 pem 키를 ppk 파일로 변환을 해야함
- puttygen은 이 과정을 진행해 주는 클라이언트
이전 장에서 만든 pem (비밀키)를 가지고 ppk 파일을 생성
Save private Key 클릭해서 ppk 파일 생성
경고 메시지 뜨면 예 누르고 그냥 넘어가면 됨
- HostName
- username@public_Ip 를 등록
- Amazon Linux는 ec2-user가 username이라서 ec2-user@탄력적 IP 주소 등록
- Port
- ssh 접속 포트인 22 등록
- Connection type
- SSH를 선택
Connection -> SSH -> Auth -> Credentials 가서 Browse 클릭후 ppk 파일 선택
Session -> Saved Sessions에 이름 주고 Save
접속 성공~
처음에 오류가 발생하였지만 인바운드 규칙 설정할 때 처음에 했던 나의 IP주소와 현재 IP 주소가 달려서 오류가 발생했던거 같다
sudo yum list java-17*
sudo yum install java-17-amazon-corretto-devel
💡패키지 이름 뒤에 -devel이 붙은 것을 설치해야 함
- 개발에 필요한 JDK를 설치하는 것이고, 없으면 실행만 가능한 JRE를 설치하는 것
EC2 서버의 기본 타임존은 UTC이다 -> 한국의 시간대가 아님
즉, 한국과는 9시간 차이가 발생
이렇게 되면 서버에서 수행되는 Java 애플리케이션에서 생성되는 시간도 모두 9시간씩 차이가 나기 때문에 수정이 필요
timedatectl
-> 입력
Time zone: 부분을 확인해보자 UTC로 되어있는 것을 볼 수 있다
sudo timedatectl set-timezone 'Asia/Seoul'
-> 입력
한국 시간대로 변경된 것을 볼 수 있다
여러 서버를 관리 중일 경우 IP만으로 어떤 서비스의 서버인지 확인이 어려움
hostnamectl
-> 입력
입력하면 ip 주소 + ap~
이렇게 긴 이름이 나온다
sudo hostnamectl set-hostname freelec-springboot2-webservice
-> 입력
💡 여기까지만 하면 재부팅 시 호스트명이 초기화 될 수 있음, 추가 작업을 해보자
시스템이 자기 자신을 찾을 때 사용하는 파일
sudo vi /etc/hosts
-> 입력
입력 후 :wq 저장후 나오기
EC2는 cloud-init이라는 서비스로 부팅 시 초기 설정을 하는데, 호스트명을 원래대로 되돌리는 것을 막는 설정
sudo vi /etc/cloud/cloud.cfg
이 부분을 false 에서 true로 변경하면 된다
완료후 서버 재부팅 해보자
호스트명 잘 바뀐 것을 볼 수 있다 ㅎㅎ
curl freelec-springboot2-webservice
-> 입력
해당 오류는 호스트명을 잘 인식하고 실행은 잘되었음을 의미함
EC2 설정이 완료되었으니 AWS의 데이터베이스 서비스인 RDS를 생성하고 설정해보겠습니당