2014년 5월 12일 월요일

xip.io - 특정 private ip에 대해 wildcard dns를 제공해주는 무료 서비스

http://xip.io

가끔 private 네트워크를 구성해서 테스트 할때 dns가 필요한 경우가 있는데
보통 이럴때 dns를 /etc/hosts 파일에 추가 하거나 아니면 dnsmasq같은 유틸을 이용해야 한다.

하지만 이외도 가끔 wildcard dns를 테스트 해야할 일도 있는데
이럴땐 일일히 추가해주기가 번거로운데 이때 대신해서 사용하기 좋은 서비스 인것 같다.


예를 들어 openstack swift같은 경우엔 domain remap과 같은 기능을 테스트 할때 필요하다.

swift은 rest api로 request url에 account와 container 정보가 들어가야 하나 CDN과 같은 연동에는 virtual host 방식이 선호되기 때문에 request url이 아닌 domain url에 container와 account 정보를 넣기 위한 기능이라고 할 수 있다.

예를 들어 container와 account 정보를 domain url로 뺐을때 다음과 같이 표시된다.
container.account.storageurl/object 
이 정보는 아래와 같이 request url쪽으로 재정의 했을때 동일한 기능을 하게 된다.
container.account.storageurl/path_root/account/container/object
결국 아래와 동일한 역할을 하게 된다.
storageurl/path_root/account/container/object

비슷하게 아래는 account 정보를 domain url로 뺐을때 상태이다.
account.storageurl/path_root/container/object
아래도 domain url의 account 정보를 request url의 값으로 옮겼을때 이다.
account.storageurl/path_root/account/container/object
결국 아래와 동일한 역할을 하게 된다.
storageurl/path_root/account/container/object


이 기능을 테스트 하기 위해서는 private ip에 대한 dns가 필요하고 이 dns의 wildcard dns가 다 동일한 ip를 가르켜야지 테스트 가능하다.

그렇기 때문에 이럴때 만약 storageurl을 10.0.0.1 이라고 한다면
xip.io 서비스를 이용해서 다음과 같이 정의 하면 된다.

[filter:domain_remap]
use = egg:swift#domain_remap
storage_domain = 10.0.0.1.xip.io
이후에 만약 아래와 같은 url은
http://10.0.0.1.xip.io/v1/AUTH_XXXX/container/object
아래와 같이 테스트 할 수 있다.
http://container.AUTH_XXXX.10.0.0.1.xip.io/object

아무튼 가끔 wildcard dns를 테스트 할일이 있을때 쓰면 좋을 것 같다.

댓글 없음:

댓글 쓰기