AWS Cloud9을 이용해 인스턴스를 생성하고 Docker 컨테이너를 실행시켜보자
AWS Cloud9이란?
AWS에서 제공하는 IDE이다. EC2 기반으로 작동한다.
Cloud9 환경 생성하기
프리 티어 이용 가능인 t2.micro 인스턴스를 선택하고, Amazon Linux 2를 플랫폼으로 설정한다. 30분 동안 비활성 상태일 시 인스턴스가 중지되도록 한다.
서브넷을 2a로 변경한다.
AWS Cloud9 환경이 생성되었다.
인스턴스에서 Dockerfile 작성하고 실행하기
Cloud9 콘솔에 접속하였다.
docker가 설치되어있는 것을 확인할 수 있다.
배포할 Dockerfile을 작성한다.
hello-world라는 이름의 이미지를 빌드한다.
이미지가 잘 생성되었다.
서버에 연결할 수 없다고 한다.
docker run -t -i -d -p 80:80 hello-world
-d 옵션을 추가하여 해결하였다.
-d 없이 실행한 경우에는, hello-world 컨테이너가 시작과 동시에 바로 종료되기 때문에, 사용자가 포트 매핑을 통해 서버에 접속할 시간이 없다. hello-world 이미지는 간단한 메시지를 출력하고 종료되는 컨테이너이기 때문에, 실행 후 즉시 컨테이너가 종료되는 것이다.
- -t : 가상 터미널을 할당한다.
- -i : 상호작용 모드를 활성화한다 (컨테이너의 표준 입력을 유지).
- -d : 컨테이너를 백그라운드에서 실행한다.
- -p 80:80 : 호스트의 포트 80을 컨테이너의 포트 80에 매핑한다.
- hello-world : 실행할 도커 이미지를 지정한다.
인바운드 설정
인바운드란?
외부에서 특정 포트 및 프로토콜을 통해 AWS 리소스로의 접근을 허용하는 규칙이다.
인스턴스 보안 탭의 보안 그룹에 접속한다.
인바운드 규칙을 편집하자.
유형을 '모든 트래픽'으로 설정하고 소스를 'anywhere ipv4'로 설정하고 저장한다.
인바운드 규칙이 잘 생성되었다.
퍼블릭 주소로 접속을 해보면
Dockerfile에 작성했던 텍스트가 잘 배포되었다.
'AWS' 카테고리의 다른 글
[AWS] AWS Cloudformation 바로잡기 (0) | 2024.06.16 |
---|---|
[AWS] Amazon ECS 실습하기 - 2 (0) | 2024.06.14 |
[AWS] Amazon ECS 실습하기 - 1 (0) | 2024.06.14 |
[AWS] 빌링 기본 설정, Cloudwatch 경보 설정 (0) | 2024.06.13 |
[AWS] IAM 생성하기 (0) | 2024.06.13 |