mkdate : 2020-07-09-Thu
인스턴스 시작
Amazon Linux 1 추천
웹 콘솔에서 표시될 태그
방화벽 설정
마스터키
Elastic IP (탄력적 IP)
인스턴스 생성 및 재시작할 때마다 새로운 IP 할당
접속할 때마다 IP를 확인할 필요없도록 고정 IP를 할당받아야
할당받은 EIP를 바로 EC2에 연결하지 않으면 비용 발생
~/.ssh
로 복사
# pem파일 저장한 경로로 이동
$ cd /Users/WnJ/.../AWS/
$ cp SpringBoot-AWS.pem ~/.ssh/
# ssh 디렉토리로 이동하여, 잘 복사되었는지 확인
$ cd ~/.ssh/ && ll
# pem키의 권한 변경
$ chmod 600 ~/.ssh/SpringBoot-AWS-0709.pem
# Host config 파일 생성
$ vim ~/.ssh/config
Host SpringBoot # 원하는 이름
HostName 000.000.000.000 # EIP 주소
User ec2-user
IdentityFile ~/.ssh/[pem키 파일명].pem
# Config 파일 권한 설정
$ chmod 700 ~/.ssh/config
# SSH로 접속
$ ssh SpringBoot
The authenticity of host '000.000.000.000 (000.000.000.000)' can't be established.
ECDSA key fingerprint is SHA256:vc1Knb0qYHowgpN94xWn9mF56V1jSEwr3/V4yf4sZtw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '000.000.000.000' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
1 package(s) needed for security, out of 3 available
Run "sudo yum update" to apply all updates.
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[ec2-user@ip- ~]$
EC2 접속 성공!
pass
[ec2-user@ip- ~]$ java -version
java version "1.7.0_261"
OpenJDK Runtime Environment (amzn-2.6.22.1.83.amzn1-x86_64 u261-b02)
OpenJDK 64-Bit Server VM (build 24.261-b02, mixed mode)
Amazon Linux 1에는 기본으로 Java 7 설치됨
[ec2-user@ip- ~]$ sudo yum install -y java-1.8.0-openjdk-devel.x86_64
OpenJDK 1.8 설치
[ec2-user@ip- ~]$ java -version
java version "1.7.0_261"
OpenJDK Runtime Environment (amzn-2.6.22.1.83.amzn1-x86_64 u261-b02)
OpenJDK 64-Bit Server VM (build 24.261-b02, mixed mode)
설치했더라도 기본 JDK는 1.7로 설정되어있음
[ec2-user@ip- ~]$ sudo /usr/sbin/alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java
Enter to keep the current selection[+], or type selection number: 2
기본 JDK를 Java 1.8로 지정
[ec2-user@ip-172-31-39-99 ~]$ java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
기본 자바 버전 다시 확인
[ec2-user@ip- ~]$ sudo yum remove java-1.7.0-openjdk
사용하지 않는 Java 7 삭제
EC2 서버의 기본 타임존은 UTC
한국시간 KST로 변경 필요
# 기존 Timezone 삭제
[ec2-user@ip- ~]$ sudo rm /etc/localtime
# KST 설정
[ec2-user@ip- ~]$ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# KST로 설정되었는지 확인
[ec2-user@ip- ~]$ date
Thu Jul 9 15:07:44 KST 2020
HostName은 기본 설정으로 IP를 노출하게 되어있음
원하는 이름(주로 서비스명)으로 변경
[ec2-user@ip- ~]$ sudo vim /etc/sysconfig/network
# 기존
#
# NETWORKING=yes
# HOSTNAME=localhost.localdomain
# NOZEROCONF=yes
NETWORKING=yes
HOSTNAME=gitgitwi-spring
NOZEROCONF=yes
# 설정 저장했더라도 재부팅해야 적용됨
[ec2-user@ip- ~]$ sudo reboot
[ec2-user@ip- ~]$
Broadcast message from ec2-user@ip-
(/dev/pts/0) at 15:15 ...
The system is going down for reboot NOW!
Connection to #### closed by remote host.
Connection to #### closed.
# 재부팅 잠시 기다렸다가 EC2 재접속
(base) ➜ .ssh ssh SpringBoot
[ec2-user@gitgitwi-spring ~]$
hosts에 변경한 HostName 등록
[ec2-user@gitgitwi-spring ~]$ curl gitgitwi-spring
curl: (7) Failed to connect to gitgitwi-spring port 80: Connection refused
[ec2-user@gitgitwi-spring ~]$ sudo vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost6 localhost6.localdomain6
127.0.0.1 gitgitwi-spring
[ec2-user@gitgitwi-spring ~]$ curl gitgitwi-spring
curl: (7) Failed to connect to gitgitwi-spring port 80: Connection refused
아직은 80 포트를 열어놓지 않아서 port 80: Connection refused
에러 발생