IANAL, but AFAIK while Amazon could ‘unpublish’ the code by removing it from their Github or something like that, there is no way to ‘unlicense’ it.
On a project without a CLA, you’ll have to ask permission to every contributor for a use that goes beyond the initially agreed to license. On a project with a CLA, the organisation to which the code has been licensed no longer needs to do that. The situation becomes similar to a project that only has one author and no outside contributors. So they can release a commercial version in parallel, or they can decide to change the license for new versions. But none of this magically changes the licence for old code: code once released stays under the license it was released under. Otherwise the whole system of Free and Open Source licences would be extremely brittle, if authors could just revoke their licences as they saw fit.
On a project without a CLA, you’ll have to ask permission to every contributor for a use that goes beyond the initially agreed to license. On a project with a CLA, the organisation to which the code has been licensed no longer needs to do that. The situation becomes similar to a project that only has one author and no outside contributors. So they can release a commercial version in parallel, or they can decide to change the license for new versions. But none of this magically changes the licence for old code: code once released stays under the license it was released under. Otherwise the whole system of Free and Open Source licences would be extremely brittle, if authors could just revoke their licences as they saw fit.