Não há nada de errado com qualquer uma das abordagens que você propõe. Temos três mestres de marionetes, todos localizados em um único local, e servindo nós em todo o mundo - os separamos com base no fato de o nó de marionete de conexão estar em dev / test / prod. Outras pessoas preferem administrar um mestre de marionetes por região geográfica. Outras pessoas têm muitos mestres de marionetes, alguns gerenciando apenas um nó!
O importante é que é vital que você armazene e gerencie sua árvore de manifestos puppetmaster em um sistema de controle de versão - trate-a como qualquer outro código que sua empresa mantenha. Eu recomendaria o Git, mas o Subversion também fará o truque se você estiver mais acostumado a isso. O puppetmaster é simplesmente um serviço que serve sua visão particular do seu VCS, em vez de ser o próprio banco de dados central.
Com o seu conteúdo em um VCS, você pode implantar os manifestos / módulos necessários nos respectivos puppetmasters e mantê-los sincronizados facilmente. A convenção parece ser para pessoas que têm um repositório / módulo git / svn por módulo fantoche, embora não exista nada que impeça você de colocar a árvore inteira sob um repositório / módulo.
Minhas perguntas para você seriam:
- Quantos nós existem em cada implantação? Se você está falando de mais de 50 anos, vale a pena ter um mestre de marionetes local, com certeza.
- As implantações têm terceiros que as utilizam além da sua empresa? O puppetmaster precisa ter uma segurança muito alta - considere as chaves da porta de todos os seus sistemas e conterá informações muito sensíveis.
- Da mesma forma, para os PMs baseados na implantação, você os hospedaria em seu próprio servidor / VM ou uma máquina existente precisaria receber a tarefa? Eu recomendo que o servidor puppetmaster tenha esse papel sozinho, por segurança.
- Como você espera que o EC2 forneça maior disponibilidade? Pelo meu entendimento, as instâncias do EC2 não são HA, embora seja possível executar mais de 2 puppetmasters por trás do serviço de balanceador de carga da AWS.
- As implantações são muito diferentes? Deseja alterá-los em diferentes momentos do dia? Vários puppetmasters oferecem um nível de controle mais preciso.