less than 1 minute read

vocabo docker swarm for aws로 예제 앱 배포 성공

aws 매니저 노드에 ssh로 연결해서 예제 앱 (https://github.com/dockersamples/example-voting-app)의 docker-stack.yml만 카피해서 docker stack deploy sample -c docker-stack.yml로 하니 성공함. 정확히는 내 서비스도 올려봤지만 매니저 노드의 퍼블릭 ip로 접근해도 접속이 안 되서 대체 어떻게 접속해야하는건지 하고 고민하다가 예제 앱을 올려도 여전히 접속이 안되길래 봤더니 docker-for-aws의 ‘Deploy your app’ 탭이 아니라, ‘Load balancer’ 탭에 설명이 나와 있었다.

설명을 보니, port 매핑만 하면 뭔가 자동으로 접속이 가능해지기는 하는데, dns 도메인 연결은 직접 해줘야 하는 것이다. 생각해보면 당연하다. 근데 ssl/tls 트래픽(아마도 https 말하는걸까?)을 받으려면 추가 설정이 필요한 듯 하다.

어쨌든 dns 설정을 하고 나니 예제 앱은 잘 돌아갔다. 문제는 내린 다음 내 앱을 돌렸을 때 invalid host header라 뜨며 프론트엔드가 접속이 안 된다는 점이다. 서버의 경우 접속이 된다.

저걸 고치려면 webpack devserver 관련 설정을 해줘야 하는 듯 한데, 그러려면 eject를 해야하고, 그러면 버전 업뎃이 힘들어진다..

그리고 그걸 하더라도 지금 좀 고민되는게, skaffold는 sync라는 기능을 지원하는데, docker-swarm에도 비슷한 기능이 있을까 싶어서 (어쩌면 그냥 context 설정으로 될지도) 좀 연구가 필요하다.

TODO

  1. 빠르게 개발 가능한 sync 기능 포함한 dev pipeline
  2. 배포용 build pipeline
  3. 위 두 가지를 클라우드에서 돌릴 수 있어야.

Comments