Skip to main content

Service Discovery

개요#

  • https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
  • AWS ECS 서비스는 Service Discovery를 사용하도록 설정할 수 있다.
  • AWS Cloud Map에서 priavte namespace를 생성하면 자동으로 Route 53 hosted zone이 생기는데, ECS 서비스는 대충 알아먹기 쉬운 DNS이름을 Route53에서 만든다. ECS 서비스에 변경이 발생하면(Scale Up & Down) hosted zone 또한 자동으로 업데이트된다
  • ECS 인스턴스는 동적으로 주소가 변경될 수 있지만, Service Discovery를 사용해서 주소를 획득할 수 있기 때문에, 인스턴스가 바뀌어도 문제없이 찾을 수 있다.
  • 주로 앱서버에서 디비서버를 찾을 때 사용한다고 한다

Service discovery namespace#

  • Service discovery service들의 논리적인 그룹이다.
  • 같은 도메인 이름을 공유한다

Service discovery service#

  • Service discovery namespace 안에 존재하며 네임스페이스에 대한 서비스 이름과 DNS 설정으로 구성된다
  • Service Registery 라는 핵심 구성요소가 있는데, DNS 또는 AWS Cloud Map API로 서비스를 조회하고, 서비스 연결하는데 사용할 수 있는 엔드포인트를 조회하는데 쓸 수 있다고 한다.

Service discovery instance#

  • Service discovery service내에 존재하며, service directory의 ECS 서비스와 관련된 속성으로 구성되어있다.
  • Instance Attribute 구성된 각각의 ECS 서비스가 Service Discovery를 사용할 수 있도록, 다양한 메타데이터가 추가되는데, 이를 Instance Attribute라고 부른다. 자세한건 AWS 문서 참조