현재 EC2 인스턴스를 일련의 인형극 스크립트로 변환 한 다음 Vagrant를 사용하여 로컬 개발을위한 장비를 가상화합니다.방황과 꼭두각시 사이에 호스트 파일을 공유하는 방법
나는 방랑벽에서 네트워크를 관리하고이를 생산에 매핑하는 데 어려움을 겪었습니다. 이 경우 web.pp 및 db.pp에서 다음
# Main Web Server
config.vm.define :app do |app_config|
app_config.vm.host_name = "web1"
app_config.vm.network :hostonly, "10.0.0.2"
app_config.vm.box = "precise64"
...etc
puppet.manifest_file = "persist/web.pp"
end
# First DB server
config.vm.define :db1 do |db1_config|
db1_config.vm.host_name = "db1"
db1_config.vm.network :hostonly, "10.0.0.3"
db1_config.vm.box = "precise64"
...etc
puppet.manifest_file = "persist/db.pp"
end
etc.
합리적이다 단순히 그냥 설정 파이썬, uwsgi, nginx를가, MySQL은 등 그래서
:
먼저이 같은 뭔가를 문제 : 우리는 우리의 사이트의 DNS 및 EC2 인스턴스 DNS 레코드의 조합을 사용하여 생산에서
10.0.0.3 db1.X.com
10.0.0.4 db2.X.com
etc.
: 나는 예를 puppet/modules/hosts/files/hosts
에 대한 내부 필요는 뭔가를 지정해야 (나는 호스트에 넣을 수 없다). 일반적으로 우리의 haproxy 호스트는 공개 DNS 레코드를 가지고 있으며 호스트 파일을 사용할 수 없게 만드는 config에 EC2 이름을 보유합니다.
그래서 나는 꼭두각시와 방랑 모두 가져오고 같은 글로벌 매핑을 사용할 수있는 파일 만드는 방법 : 나는 또한 예를 haproxy.cfg
위한 꼭두각시 템플릿 내에서 액세스 할 수 있지만
hosts = {
web => 10.0.0.2,
db1 => 10.0.0.3,
db2 => 10.0.0.4,
}
이 방랑 내에서 액세스를 파일 그래서 난 그것에 vm.network
설정할 수 있습니다.
제한 :
- 은 IP 만, 꼭두각시 마스터 (이 하나 불행하게도 유연하지를) 사용할 수 없습니다 IP 또는 DNS
- 하나에 상징적 인 이름이어야합니다 할 수 없습니다.
- DNS 서버를 가상화하는 것은 너무 복잡해 보이므로 이드는 그렇지 않습니다.
또한 당신이 예 (좋을 것이다) 나 루비 문서를 통해 내 길을 찾을 수 있도록 충분히 그것을 설명하십시오 제공하는 경우 정말 새, 루비입니다.