1.  도커 이미지 리눅스 cpu 타입 체크

2.  해당 이미지 리눅스 cpu 타입에 맞는 EC2 설치 

 

3.  EC2 실행 후 도커 설치 이미지 가져오기

1. 도커 설치

sudo yum update -y
sudo yum install -y docker

2. 권한 부여

sudo usermod -aG docker $USER

3. 도커 서비스 시작

sudo service docker start

4. 이미지 가져오기 (주의: 도커에 로그인 하지 않으면 public 이미지만 가져오는 것이 가능)

docker pull {이미지 명} ex: suhanlim/druginfo-app:latest

 5. 도커 이미지 실행 시키기 (스프링 톰켓 기준 8080포트, 이미지 명)

docker run -d -p 8080:8080 suhanlim/druginfo-app:latest

 

장점

  • 따로 프로그램을 실행시키기 위한 프로그램들을 설치할 필요가 없어 간편하다.
  • nohub 명령어를 통해 죽지 않게 프로그램을 실행시킬 필요 없이 콘솔 종료 후에도 잘 동작한다. 

'Development > AWS' 카테고리의 다른 글

EC2 웹 서비스 배포시 인바운드 규칙  (0) 2023.08.12
EC2 접속 in Mac OS (bed permissions)  (0) 2023.08.12

 

초기 EC2 배포시 접속이 안될 때 가장 유력한 원인인 인바운드 규칙의 추가의 관한 내용을 기록하기 위해 작성

 

인바운드 규칙 추가

저 같은 경우는 8080 톰캣 포트를 사용하는 SpringBoot 프로젝트를 배포 하는 상황이므로 

규칙 추가 버튼을 사용하여 TCP 8080 포트 허용을 넣어 주어야 한다.

 

잘 실행이 되는 모습

'Development > AWS' 카테고리의 다른 글

(AWS, Docker) Docker image이용 배포  (0) 2023.08.12
EC2 접속 in Mac OS (bed permissions)  (0) 2023.08.12

1.  EC2 초기 생성시 key 파일 생성

 

2.  SSH 를 이용해 접근 시도

ssh -i {키 파일 이름}.pem ec2-user@{퍼블릭 IPv4 주소}

해당 메시지가 출력 되면서 접속이 실패하게 되는데 

자세한 원인은 해당 key 파일에 너무 많은 권한이 부여되어 있어 안전하지 않기 때문이다.

SSH는 private key의 보안을 매우 엄격하게 다룬다.

하지만 초기 ec2에서 key 파일을 생성시 

다음과 같이 chmod 644권한 수준을 초기에 가지고 있는데 이는

파일 소유자는 읽기 쓰기 권한, 그룹은 읽기 권한, 기타 사용자도 읽기 권한을 가지게 된다.

따라서 사실상 파일 소유자가 아니어도 기본적으로 모두 읽기가 가능하여 ssh가 보기에는 너무 많은 권한을 가지고 있는 것 으로 본다.

 

3.  해결법: chmod 400 ~파일명

chmod 400 {파일명}

위에 명령어를 통해 우리는 해당 파일을 읽는 권한만 사용하도록 부여하는 것이 가능하다.

참고로 chmod 뒤에 나오는 3자리 숫자는 2진법으로 계산했을 때 각 자리수는 앞 부터 소유자, 같은 그룹, 기타 사용자의 접근 권한을 

4: r (읽기), 2: w(쓰기), 1: x(실행) 의 합산을 표시하는 것 이다 

즉 chmod 400 {파일명}은 소유자에게만 읽기 권한을 제공한다는 의미이다.

 

접속 성공~

'Development > AWS' 카테고리의 다른 글

(AWS, Docker) Docker image이용 배포  (0) 2023.08.12
EC2 웹 서비스 배포시 인바운드 규칙  (0) 2023.08.12

+ Recent posts