[참고] Apache/Pandoc에서 HTML로 보낸 Docker 컨테이너의 제작 - AWS 컨테이너

며칠 전 아파치와 팬독이 담긴 Docker 컨테이너를 소개했다.
Markdown 출처는 컨테이너 호스트의 로컬 폴더와 원격으로 가져온 두 가지 버전을 소개했다.
  • 로컬 버전
  • 원격 버전
  • 이 글은 공용 클라우드가 원격판을 제공하는 Docker 컨테이너 서비스 중 하나로 아마존 ECS(Elastic Contaainer Service)에서 실행되기 때문에 프로그램을 설명한다.
    AWS ECS
    아마존의 Docker 컨테이너 서비스는 종류가 있다.
  • Elastic Container Service (ECS)
  • ECS for Kubernetes (EKS)
  • Fargate
  • 이 가운데 이번에 사용된 ECS는 AWS를 사용한 가상기기(EC2 인스턴스)로 컨테이너의 클러스터를 구성하고, 그중에서도 임무로 불리는 Docker 컨테이너의 수집 서비스를 수행한다.
    다음은 하나의 EC2 실례로 구성된 집단에서 하나의 임무를 포함하는 서비스를 실행하는 모습이다.
    사용한 Docker 이미지는 Docker Hub에 로그인한 원격 버전입니다.
  • kobucom/pandoc:remote1
  • AWS 서비스를 사용할 때는 웹 콘솔에서 수행하는 방법과 AWS CLI가 설치된 터미널에서 명령선으로 수행하는 방법이 있습니다.
    다음은 콘솔입니다.
    같은 일을 하려면 아래의 조작을 하세요.
  • AWS 계정 만들기(대부분의 서비스는 1년 무료)→Sign up
  • IAM 사용자의 생성(계정의 루트 사용자와 다른 콘솔 사용자를 만드는 것이 가장 좋기 때문)
  • 컨테이너 서비스에 들어가기
    AWS 콘솔에 로그인
    → https://account-id.signin.aws.amazon.com/console/
    ECS 서비스를 선택해 순서대로 아래의 물건을 만들어라.
  • 퀘스트
  • Docker 컨테이너의 분배
  • 클러스터
  • EC2 인스턴스 생성
  • 서비스
  • 지정 작업
  • 필자는 아래 보여준 것 이외의 선택 항목을 모두 기본값으로 설정합니다.
    지정하거나 변경해야 할 곳을 중심으로 설명하다.
    작업 생성
  • "EC2"를 용기의 수용지로 선택(또한Fargate)
  • 작업 이름
  • 용기 이름
  • 이미지 지정
    이미지 가져오기 소스는 기본적으로 Docker Hub이므로 "kobucom/pandoc:remote1"
  • 만 지정합니다.
  • 클러스터에서 컨테이너로의 포트 매핑
    TCP:80 → 80

  • 클러스터 생성
  • 클러스터 유형으로 EC2 Linux + Networking 선택
  • 클러스터 이름 지정
  • EC2 인스턴스의 유형 및 개수 선택
    무료는 t2입니다.micro 또는 t3.마이크로
  • 1개
  • EC2 인스턴스의 이미지(AMI)는 기본적으로 ECS에 해당하므로 변경되지 않습니다
  • VM에 로그온하려면 SSH에서 사용할 키 쌍을 미리 지정
  • VSC(클라우드 내 내부 네트워크), 서브넷, 보안 그룹 선택 목록의 (기본값)
  • 그 중에서 안전 그룹(방화벽 설정)은 나중에 변경된다.
    서비스 작성
  • "EC2"를 서비스의 수신지로 선택(또한Fargate)
  • 생성된 작업 선택
  • 서비스 이름
  • IP 주소 지정
    제작된 컨테이너 서비스에 연결하려면 IP 주소를 알아야 한다.
    AWS의 EC2는 이 IP 주소에 DNS의 호스트 이름을 할당하기 때문에 그것도 사용할 수 있습니다.
    이해하기는 어렵지만 집단을 선택하고 EC2 실례를 선택하며 상세한 라벨에서 용기 실례의 속성을 확인할 수 있다.

    첫 페이지 표시:
    $ curl ec2-nnnnnnnn.ap-northeast-1.compute.amazonaws.com/
    
    원격 Mardown 파일을 표시하려면:
    $ curl ec2-nnnnnnnn.ap-northeast-1.compute.amazonaws.com/foo.md
    
    보안 그룹 변경
    여기까지의 설정을 테스트해 봤는데 연결 시간이 초과되었습니다.
    조사 결과 보안 팀을 변경하여 가상 시스템의 포트를 열 필요가 있음을 발견했다.
    이것도 이해하기 어렵지만 집단을 선택하고 EC2 실례를 선택하면 깊이 들어가면 EC2 서비스로 날아가 안전팀을 변경할 수 있다.

    변경 후 첫 페이지, 원격 Mardown 파일이 모두 성공적으로 표시됩니다.
    사용 환경
  • Docker CE 19.03.12
  • 기본 이미지: 공식httpd:2.4
  • 테스트 환경: Amazon AWS-Elastic Container Service(ECS)
  • 참조 링크
  • Apache
  • Pandoc
  • Docker
  • AWS ECS
  • 샘플 자원

  • github

  • docker-hub
  • 요코하마 공문사 관련 페이지

  • Mardown 변환 Docker
  • 동적 변환
  • Mardown 설명
  • Written 2020/09/22

    좋은 웹페이지 즐겨찾기