If I use something like Ansible or Puppet, and I only have two servers, is that defeating the purpose of using these products? I thought that if I configured one server, I could use one of these to duplicate it on the other.
I have to disagree with the current consensus. In no way can it be reasonable to learn any CM system for a pool of 2 servers, unless you simply want an excuse to learn that CM system. The amount of time you spend learning, writing, testing, and applying the config, will definitely exceed the hand built time. If you knew one of those systems, it's a much more reasonable proposition.