AWS EC2 + Docker + Express 배포해보기

버건디·2024년 1월 25일
0

도커

목록 보기
10/10
post-thumbnail

1. AWS 가입하기

이때 신용카드가 필요하다.

2. 인스턴스 생성

메인창에 EC2 S3 RDS등 많이 쓰이는 것들이 있는데, 여기서 EC2를 클릭한다.

인스턴스, 즉 서버로써 aws에게 빌릴 컴퓨터라고 생각하면 되는데, 여기서 인스턴스 시작을 누른다.

3. 운영체제와 사양 선택

여기서 컴퓨터 운영체제와 사양을 선택해준다.

4. 키페어 생성

이 키페어를 만들어놔야 나중에 클라우드 컴퓨터 터미널에 접속해서 명령어를 입력할수 있다.

이 키페어는 우리가 빌린 aws 컴퓨터에 접속할수 있는 열쇠라고 생각하면 된다.

.pem 은 대표적으로 사용되는 openSSH이고 .ppk는 윈도우에서 사용되는 ssh 클라이언트이다.

두개의 차이점은 즉 ssh 클라이언트의 호환성 차이라고 보면 된다.

5. 네트워크 설정

여기서 https와 http는 후에 인바운드 규칙에서 설정해줄수도 있는데, 지금 설정해주어도 상관없다.

http는 80포트를 https는 443포트를 열어준다.

6. 스토리지 구성

이렇게 하면 대략적으로 인스턴스가 만들어지는데,

해당 인스턴스 창에 가서 연결하기를 누르고 ssh 클라이언트를 누르면, 우리의 로컬 터미널에서 대여받은 컴퓨터에 명령어를 입력해서 조작한다고 생각하면 된다.

vscode내에서 해당 상위 레포에 간다.

chmod 400 키페어

위의 명령어를 입력하고 해당 인스턴스 내에 있는 예시 코드를 그대로 복사붙여넣기하면

현재 대여받은 컴퓨터의 터미널로 접속하게 됐다.

키페어가 접속하려고 하는 폴더 경로에 위치해있어야한다.

- 도커 설치

sudo yum update -y
sudo yum install docker -y

sudo service docker start
sudo usermod -aG docker ec2-user // 후에 sudo 명령어 없이 docker 실행 가능

그 후에 껐다 켜준다.


그 후 Docker hub에서 새로운 레포지토리를 만들어준다.

또 해당 로컬 레포에 가서 이미지를 빌드해주고 만든 레포지토리 명과 함께 태그를 붙여서 새로운 이미지로 만들어준다.

docker tag 빌드한이미지명 도커허브레포이름

도커 허브 레포지토리에 push해주면 된다.

docker push 새롭게 만들어진 이미지

도커 허브 레포에 가보면 이미지가 push 되어있고, 이제 인스턴스 터미널로 가서 저 이미지를 실행시켜주면 된다.

docker run -d --rm -p 80:80 허브에올린이미지

후에 docker ps로 확인해보면 해당 컨테이너가 실행중인것을 확인할수 있다.

이를 이제 외부에서 접근할수 있도록 해야하는데, 기본적으로 aws에서 알려준 퍼블릭 ip를 입력해서 들어가면 접속이 되지 않는다.

aws 사이트내에서 해당 인스턴스의 보안창에서 보안그룹을 찾아서 인바운드 규칙과 아웃바운드 규칙을 설정해주어야한다.

쉽게 말하면 인바운드는 외부에서 해당 서버로 진입하는 규칙, 아웃바운드는 해당 서버에서 외부로 나가는 규칙이라고 할수 있다.

위에 해당 서버 내에서 docker hub의 이미지를 설치했던것처럼, 해당 인스턴스내에서 기본적으로 모든 아웃바운드들을 허용하기 때문이다.

반대로 외부에서 서버로 진입하는 인바운드는, 인스턴스 내에서 기본적으로 모든 경로가 제한되어있다.

또한 소스코드가 변경되어서 다시 해당 이미지를 다시 허브에 push 한경우,

인스턴스 내에서 pull을 다시 해와야지 새로운 이미지를 다시 띄워줄수 있다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글

관련 채용 정보