거북이-https://velog.io/@violet_evgadn 이전완료

기본적인 AWS Instance Setting 본문

웹 개발/AWS

기본적인 AWS Instance Setting

VioletEvgadn 2022. 11. 6. 15:06

Java 설치

Jenkins나 SonarQube처럼 Java가 설치되어 있지 않으면 아예 동작되지 않는 Tool들도 있다.

Python과 달리 Java는 Instance에 필수적으로 설치되는 것이 아니므로 직접 깔아주도록 하자.

 

0. Java 설치 여부 확인

java -version

Java Version 확인 명령을 내렸을 경우 정상적으로 버전이 출력된다면 이미 자바가 설치되어 있는 것이다.

하지만 AWS Instance를 처음 만들었을 경우 아래와 같이 뜰 것이다.

그럼 Instance에 Java를 설치해보자.

 

1. Amazon Corretto jdk11 다운로드

sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o aws_corretto_jdk11.rpm

Amazon Corretto란 무료로 사용할 수 있는 OpenJDK의 프로덕션용 멀티플랫폼 배포판이다.

쉽게 말하자면 어떤 환경에서든 설치할 수 있도록 Amazon 측에서 지원하는 JDK 설치 파일인 것이다.

 

Amazon Corretto를 활용해서 jdk11을 설치하는 명령어이다.

 

만약 다른 버전을 설치하거나 다른 OS에서 설치하고 싶을 경우 아래 사이트를 참조하자.

https://aws.amazon.com/ko/corretto/?filtered-posts.sort-by=item.additionalFields.createdDate&filtered-posts.sort-order=desc 

 

Amazon Corretto 프로덕션용 OpenJDK 배포

Amazon Corretto를 사용하여 클라우드, 온프레미스 및 로컬 머신에서 동일한 환경을 실행할 수 있습니다. Corretto 17은 Linux(x64 및 aarch64), Windows(x64), macOS(x64 및 M1), Alpine Linux(x64) 및 Amazon Linux 2(x64 및 aarch

aws.amazon.com

아래와 같이 "aws_corretto~"가 설치되어 있어야 한다.

 

2. 다운로드한 Amazon Corretto를 활용해 JDK 11 설치

sudo yum localinstall aws_corretto_jdk11.rpm

Local Computer에 설치되어 있는 aws_corretto~ 파일을 활용해 설치를 진행하는 것이다.

 

3. Java 설치 여부 확인

java -version

javac -version

 

4. aws_corretto 파일 삭제

rm -rf aws_corretto_jdk11.rpm

이제 aws_corretto를 활용해 Java 설치가 완료되었으므로 설치 파일인 AWS Corretto는 삭제해도 무관한다.

우리가 .exe 파일을 통해 프로그램을 설치하면 .exe 파일을 삭제하는 것과 같은 과정이라고 보면 된다.

 

.exe 파일 삭제가 필수가 아니듯 Corretto 파일 삭제도 필수는 아니지만 Cloud는 사용량 비례로 비용이 나가기 때문에 최대한 자원을 아껴야 하고 이를 위해 Corretto 파일 삭제를 추천한다.


Amazon Linux Extras

OS의 안정성 및 참신한 SW 활용 등을 위해 Amazon 측에서 설치하면 좋을 것 같은 추가적인 패키지들을 "Amazon Linux Extras"라는 것으로 묶어 놨다.

이 Amazon Linux Extras를 설치함으로써 Amazon Linux 기본 기능과 추가적인 여러 기능들을 활용할 수 있게 된다.

 

방법은 간단한데 아래 명령어를 입력하기만 하면 된다.

sudo amazon-linux-extras install epel -y

AWS Image

우리가 활용하는 모든 Instance에서 Java와 Amazon Linux Extras가 필요하다고 가정하면 매번 Instance를 생성할 때마다 위에 설명한 설치 과정을 수행해야 하는 귀찮음이 생긴다.

그래서 마치 Docker Image처럼 이미 자바와 Amazon Linux Extras가 설치되어 있는 환경을 이미지화시켜 생성한 이미지를 통해 기존에 존재하는 Instance를 그대로 복사한 것과 같은 AWS Instance를 여러 개 만들 수 있다.

그렇다면 Image 생성 및 Image를 활용한 Instance 생성을 수행해보자.

 

1. 복제하고 싶은 Instance 선택 > 작업 > 이미지 및 템플릿 > 이미지 생성 클릭

2. 이미지 이름 입력 > 이미지 생성

AWS Image라는 것이 현재 존재하는 Instance를 그대로 이미지화시키고 싶은 것이므로 다른 설정은 건드릴 필요가 없다.

여러 개의 이미지끼리 구별할 수 있도록 이름만 지정하고 바로 이미지를 생성하자.

 

2. 이미지 > AMI > Image 생성 확인

Name Section을 클릭하면 Name을 "-"가 아닌 내가 원하는 값으로 설정할 수 있는데 AMI 이름과 동일하게 설정하는 것을 추천한다. 이게 싫다면 원하는 이름을 지정하면 된다.

 

3. Image를 활용해 인스턴스 생성

인스턴스 시작 버튼을  클릭한 후 애플리케이션 및 이미지 > 내 AMI에서 원하는 Image를 선택한 이후 인스턴스 시작을 통해 Instance를 생성할 수 있다.

 

이후 인스턴스 유형, 키 페어, 네트워크 설정을 선택한 이후 Instance를 생성하면 된다.

새로 생성한 Instance에 접속하면 Java와 Javac가 이미 설치되어 있음을 확인할 수 있다.


Hostname 변경

처음 Instance를 생성하면 원래 "ec2-user@[Private IP 주소]"가 출력될 것이다.

하지만 필자는 위 사진처럼 "ec2-user@jenkins-server"로 나오는 것을 알 수 있다.

 

이는 필자가 Hostname을 변경했기 때문이다.

Private IP 주소가 출력되는 경우 여러 개의 Server에 접속해 있을 때 어떤 CLI 명령 창이 어떤 Server인지 구분하기가 어렵다. 만약 Hostname을 통해 서버의 용도를 알 수 있다면 CLI 명령창이 관리하는 서버를 더욱 쉽게 구분할 수 있다.

 

물론 최근 SSH Client Tool은 접속한 서버에 대한 정보를 알려주지만 CLI에서 바로 용도를 구별할 수 있으면 더욱 편하기에 변경 방을 알아보자.

Termius에서도 접속한 Server의 Label을 알려줌

1. Hostname 변경

sudo hostnamectl set-hostname [원하는 Hostname].localdomain

이후 Instance 서버를 접속하면 Hostname이 변경되었음을 확인할 수 있다.

 

2. /etc/hosts 파일 수정

우리는 Hostname을 변경했기 때문에 변경한 Hostname도 "127.0.0.1"과 연동되도록 설정을 바꿔줘야 한다.

아마 기본적으로는 위 사진과 같이 설정되어 있을 것이다.

여기에서 기존에 존재하던 127.0.0.1 줄에 Hostname과 Hostname.localdomain을 추가해주는 방법, 새로 127.0.0.1 Section을 덧붙여 값을 입력하는 방법이 존재한다.

 

필자는 127.0.0.1 Section을 추가시켜줬다.

서버를 다시 재시작하자. 그리고 아래 명령어를 입력해보자.

curl [설정한 Hostname 이름]

만약 "curl: (7) Failed ~" 명령이 나오면 설정이 완료된 것이고 "Could not resolve host:"가 발생하면 설정이 실패한 것이다.

'웹 개발 > AWS' 카테고리의 다른 글

AWS EC2로 Jenkin Server 생성  (0) 2022.11.06
AWS EC2 Instance 접속 & 탄력적 IP 설정  (0) 2022.11.03
AWS Instance 생성  (0) 2022.11.03
Comments