Today’s time-wasting issue was creating a Cloud9 environment.
I wanted to connect with system manager. I had a VPC handy with a public subnet, and tried to create a Cloud9 environment in the public subnet.
However, I could not get it to start. It would always fail to create and tell me my VPC configuration had issues. I created (and destroyed) a handful of VPCs trying to get to the bottom of this.
In the end I found this handy discussion. Specifically this answer:
If your development environment is using SSM to access an EC2 instance, ensure that the instance is assigned
a public IP address by the public subnet it's launched into. To do so, you must enable the automatic assignment
of a public IP address option for the public subnet, and set it to Yes. You can enable this on the public subnet
before creating an AWS Cloud9 environment within the subnet settings page.
Simply checking this checkbox was enough to make it work.