클라우드에서 제공하는 다양한 컴퓨팅 서비스들 중 가장 기본적인 서비스를 고르자면 GCP 의 VM 과 AWS EC2 가 있습니다.
두 서비스 모두 Docker 기반으로 인스턴스를 생성하는 서비스를 제공하고 있는데, 외부에서 접근하려고 할 때 포트를 어떻게 개방해야하는지 알아보았습니다.
GCP Compute Engine / VM
참고 :
GCP 간단합니다.
- Docker Container 에서 사용하는 네트워크 스택이 Host VM 의 네트워크 스택을 그대로 이용합니다.
- Docker Network 설정 중 Host 와 동일합니다.
cf. 도커가 제공하는 네트워크 옵션은 다음과 같습니다.
참고 : https://docs.docker.com/engine/reference/run/#network-settings
bridge : 도커는 내부의 가상 네트워크를 생성한 후 해당 네트워크를 사용할 수 있습니다(veth interface).
- 도커의 기본 설정입니다.
host : 도커를 실행하는 host 의 네트워크를 이용합니다.
container : 다른 컨테이너에서 지정한 네트워크를 사용합니다.
none : 외/내부 네트워크를 사용하지 않습니다.
* gcp 의 vm 은 docker 의 host 와 비슷한 설정입니다.
AWS ECS / EC2
참고 : https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
* 주의 : fargate 의 경우 fatgate 용 네트워크를 따로 찾아보시는 것을 추천드립니다.
AWS 의 EC2 의 경우 윈도우와 linux 에서 지원하는 네트워크 설정이 따로 지정되어 있습니다.
- 기본 설정은 default 혹은 bridge 로 gcp 처럼 host 와 동일한 네트워크를 사용하는 것이 아닙니다.
- gcp 처럼 host 설정도 지원합니다.
- 도커 내의 가상 네트워크를 사용한다면 host 와 매핑하는 작업이 필요합니다.
'엔지니어링' 카테고리의 다른 글
[Python] requests text 와 content 차이 (0) | 2022.12.28 |
---|---|
AWS CloudWatch 를 통한 서버 메트릭, 로그 관리 하기 (기초) (0) | 2022.11.23 |
DataFrame을 압축하는 형태({‘snappy’, ‘gzip’, ‘brotli’ ) 알아보기 - Parquet 와는 어떻게 다를까? (0) | 2022.06.06 |
같은 스키마를 가진 파일들 안에서 여러개의 Athena 테이블이 만들어질 때 (0) | 2022.05.17 |
리눅스 grep 명령어 (0) | 2022.05.04 |