AWS EC2 인스턴스 생성 및 환경 설정
AWS에서 프리티어로 제공하는 플랜에서는 다음과 같은 제한이 있다.
t2.micro
만 가능하다.📞 EC2 인스턴스 생성 & 탄력적 IP 연결
서울
)ec2
에 접속 후 인스턴스 시작 버튼 클릭프리티어만
버튼을 누르고 원하는 AMI를 선택한다.(Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type)
t2.micro
유형만 선택이 가능하다.30GiB
로 설정한다.(프리티어 최대 용량)80포트
외에는 허용하지 않는다'는 역할을 하는 방화벽이 AWS에서는 보안 그룹으로 사용된다.SSH
이면서 포트 항목에서 22
인 경우AWS EC2에서 터미널로 접속할 때를 이야기한다. pem키
가 없으면 접속이 안 되니 전체 오픈(0.0.0.0/0, ::/0)하는 경우가 종종 있는데 이렇게 되면 이후 파일 공유디렉토리나 깃허브 등에 실수로 pem키가 노출되는 순간 서버에서 가상화폐가 채굴되는 것을 볼 수 있을 것이다.
pem키
가 필요하다. 그래서 마지막 단계는 할당할 pem키를 선택해준다. 일종의 마스터 키이기 때문에 절대 유출
하면 안된다. 잘 관리할 수 있는 디렉토리로 저장한다. 기존에 생성된 pem키가 있다면 선택하고 없으면 생성한다.EIP
할당하기인스턴스도 하나의 서버이기 때문에 IP
가 존재한다. 인스턴스 생성 시에 항상 새 IP를 할당하는데, 같은 인스턴스를 중지하고 다시 시작할 때도 새 IP가 할당된다.
이런 번거로움을 해소하기 위해 인스턴스의 IP가 매번 변경되지 않고 고정 IP
를 가지게 해야한다.
왼쪽 사이드바에 탄력적 IP 클릭
우측 상단 탄력적 IP 주소 할당 클릭
할당 클릭
탄력적 IP 주소 연결 클릭
생성한 EC2 인스턴스 선택 후 연결을 하면 탄력적 IP가 할당 되었음을 확인할 수 있다.
🕹 EC2 서버 접속하기
ssh -i pem 키 위치 EC2의 탄력적 IP 주소
pem
키를 ~/.ssh/
디렉토리로 옮겨 놓으면 ssh 실행 시 pem 키 파일을 자동으로 읽어 접속을 진행한다.- cd ~/.ssh/
- ll
위의 명령어를 입력하면 사진과같이 pem
파일이 복사가 된 것을 확인할 수 있다.
chmod 600 ~/.ssh/{pem 키 이름}
=======================================
ex) chmod 600 ~/.ssh/moamoa-deploy.pem
권한을 변경하였다면 config 파일 생성 후 본인이 원하는 Host로 등록한다. Host
를 앞으로 접속할 키 값으로 보면 된다. Host 외에 HostName
은 탄력적 IP 주소를 사용하면 된다. 해당 파일 설정 완료 후 실행 권한이 필요하므로 권한 설정을 해준다.
i : 입력, :wq 저장 후 종료
vim ~/.ssh/config
# moamoa-deploy
Host test
HostName [고정 IP 주소]
User ec2-user
IdentityFile ~/.ssh/moamoa-deploy.pem
chmod 700 ~/.ssh/config
이제 ssh[Host 이름]으로 EC2에 접속해보자. 다음과 같이 나온다면 성공
📀 AWS EC2 서버 생성시 설정
yum으로 설치 가능한 Java는 버전 8까지 가능하다.
yum list java*jkd-devel
Java 11은 직접 설치를 해줘야 한다. 설치 방법은 두 가지가 있다. 나는 아마존에서 제공하는 AWS Corretto를 이용해서 다운을 받을 것이다. 왜냐하면 오라클에서는 ec2에 파일을 직접 받아 .sh파일 수정 후 직접 실행해줘야 되어서 좀 더 귀찮기 때문이다.
wgethttps://corretto.aws/downloads/latest/amazon-corretto-11-x64-al2-jdk.rpm -O jdk11.rpm
또는
curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-al2-jdk.rpm -o jdk11.rpm
sudo yum localinstall jdk11.rmp
해당 명령어로 jdk 버전을 11로 변경해준다.
sudo /usr/sbin/alternatives --config java
java -version
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul/etc/localtime
date
변경된 타임존을 확인해본다.Hostname
을 변경하는것이 좋다.sudo hostnamectl set-hostname <변경할 hostname>
cat /etc/hostname 으로 hostname 확인
sudo reboot 변경한 후 서버를 재부팅 시켜준다
참고 : https://loosie.tistory.com/407
다음편에서는
RDS
설정 및EC2
연결을 해볼 예정이다.