What are valid reasons for this failure?
(Choose two.)
The networking configuration does not allow the EC2 instances to reach the internet via a NAT gateway or internet gateway, and the CodeDeploy endpoint cannot be reached.
The IAM user who triggered the application deployment does not have permission to interact with the CodeDeploy endpoint.
The target EC2 instances were not properly registered with the CodeDeploy endpoint.
An instance profile with proper permissions was not attached to the target EC2 instances.
The appspec.yml file was not included in the application revision.
Explanations:
If the EC2 instances cannot reach the CodeDeploy endpoint due to networking issues (e.g., missing NAT or internet gateway), the deployment cannot proceed, leading to skipped events.
The IAM user who triggered the deployment does not affect whether the deployment succeeds on the EC2 instances. Permissions related to triggering the deployment are handled separately from instance-level interactions.
EC2 instances don’t need to be “registered” with CodeDeploy manually. If the instances are part of a valid CodeDeploy deployment group, they are automatically associated.
If an EC2 instance lacks an instance profile with the necessary permissions, it cannot communicate with AWS CodeDeploy, which will result in a skipped deployment.
While the appspec.yml file is crucial for the deployment process, its absence would cause the deployment to fail entirely, not to be skipped. Skipped status typically implies no attempt to deploy, not a failure due to missing configuration.