
나는 앱을 가지고 있고 그 앱에서 새로운 객체를 생성할 수 있다고 말합니다. 새로운 개체(예: 인사하기)가 생성될 때마다 URL이 hello.example.com/hi
항상 특정 IP를 가리키도록 하고 싶습니다.
이를 달성하는 세 가지 방법이 있음을 발견했습니다. DNS 항목이 많지 않은 경우 지연이 발생하는지, 그리고 아래 접근 방식 중 어떤 것이 가장 효과적인지 알고 싶습니다.
- DNS 항목 추가 *.example.com ----> IP_1
문제는 원치 않는 DNS도 다음으로 리디렉션한다는 것입니다.IP_1
새 개체가 생성될 때마다 스크립트를 실행하고 특정 DNS를 동적으로 추가합니다.
hello.example.com ----> IP_1 hi.example.com -----> IP_1 ......
따라서 매핑이 많이 있을 것입니다. 제가 가지고 있는 의심 중 하나는 매핑 수가 많이 증가하면 조회 시간이 늘어나고 지연이 발생할 것이라는 점입니다.
멀티 레벨 사용
*.object.example.com
------>IP_1
답변1
두 가지 접근 방식에 대한 귀하의 우려는 근거가 없습니다.
[와일드카드 DNS 레코드]는 원치 않는 DNS도 IP_1로 리디렉션합니다.
- 그래서 뭐? 여러 개의 DNS 레코드를 원하는 경우 이는 호스트 이름을 인식하는 서비스(예: http, smtp)를 실행하고 있음을 의미합니다. 해당 서비스에 대한 호스트 이름별 동작을 구성해야 합니다.
- 명시적인 DNS 레코드를 와일드카드와 혼합할 수 있습니다. DNS 서버는 가장 구체적인 일치 항목을 반환해야 합니다.
매핑 수가 많이 증가하면 조회 시간이 증가하고 지연이 발생합니다.
정말 잘못 작성된 DNS 서버를 실행하는 경우에만 해당됩니다. Bind 및 powerDNS는 이에 대해 문제가 없습니다.
와일드카드 대신 명시적 레코드를 사용하기로 결정한 경우(아마도 와일드카드를 사용하는 것이 여전히 좋은 아이디어일 수 있음) A 레코드가 아닌 CNAME으로 새 레코드를 생성하는 것이 유지 관리/마이그레이션을 단순화합니다.