This is the question from the quiz. The correct answer is Dedicated & Host.
Other choices are: Non-Dedicated & Dedicated, Host & Default, Dedicated & Default
I am not sure I understand the question exactly. You can switch dedicated back to default using SDK. Instantly, no need to stop the instance. However the answer for this question states: The tenancy of an instance can only be changed between variants of ‘dedicated’ tenancy hosting.
This link from the answer https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html does not clarify the correct option as it says nothing about what you can change in stopped instances.
Can someone please provide a better worded explanation of the correct answer?
The answer to this quiz question is correct. For a Dedicated Instance, the only Tenancy attributes that can be selected between are Dedicated and Host.
I can see where your confusion comes from – there are similar settings, but they do slightly different things.
The restriction on alteration of tenancy type for already launched dedicated instances is covered at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-usage-overview.html#dedicated-change-tenancy :
You can change the tenancy of a stopped instance only from dedicated to host, or from host to dedicated after launch. The changes that you make take effect the next time the instance starts.
The point you make about switching between dedicated and default instantly is correct, but this applies to the VPC tenancy setting. This VPC-level setting is a default value that is used when launching new instances. i.e. a VPC with a tenancy setting of default would result in newly launched EC2 instances having a default tenancy (shared tenancy) if not specified directly – dedicated instances could still be launched but the tenancy value would have to be explicitly stated. The reverse is true where the VPC tenancy setting is dedicated. This is explained at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-usage-overview.html#change-tenancy-vpc
You can change the instance tenancy of a VPC from dedicated to default after you create it. Modifying the instance tenancy of the VPC does not affect the tenancy of any existing instances in the VPC. The next time you launch an instance in the VPC, it has a tenancy of default, unless you specify otherwise during launch.
So, basically, after launching a dedicated instance, it can only be switched between dedicated instance and dedicated host.
There is an article regarding migrating a dedicated instance to default tenancy (shared tenancy), see https://aws.amazon.com/premiumsupport/knowledge-center/ec2-shared-tenancy-dedicated-host/ – basically, make an AMI of the dedicated instance and launch a default tenancy (shared tenancy) instance from the AMI.