
AWS Transform でユーザーを割り当てる時に ResourceNotFoundException で「ユーザーを割り当てることができませんでした」が発生した時の対処方法
いわさです。
以前 Amazon Q Developer に Transform という、コードマイグレーションを行う機能があったのですが、現在は AWS Transform というサービスで GA されています。
AWS Transform を使うためには IAM Identity Center ユーザーを割り当てする必要があるのですが、先日こちらを使おうとした時にユーザーのアサインが出来ない問題が発生しました。
色々試して解決出来たので、同じ問題が生じた時の参考用に情報を残しておきます。
「ユーザーを割り当てることができませんでした」
ユーザー割り当ての流れですが、マネジメントコンソール上で AWS Transform にアクセスし、「ユーザーまたはグループを割り当てる」から割り当てをおこないます。
通常は問題なくユーザーが割り当てされるはずなのですが、私の検証環境ではなぜか次のように「ユーザーを割り当てることができませんでした」というエラーがメッセージが発生し、割り当てに失敗しました。
どうして...
IAM Identity Center マネージドアプリケーションの割り当てで ResourceNotFoundException が発生していた
マネジメントコンソールを触っていてよくわからないエラーが出たらとりあえず CloudTrail ですよ。CloudTrail を見る癖をつけましょう。
そうすると、同時刻にエラーが発生したイベントがありました。これか。
CreateApplicationAssignment
イベントに失敗していますね。
ログを見てみるとResourceNotFoundException
のエラーです。さらにエラーメッセージではなんかアプリケーションが見つからないと言っています。
IAM Identity Center に対応した各 AWS サービスは、どの IAM Identity Center と統合するのかという設定があります。
その機能を有効化すると、通常は次の IAM Identity Center のアプリケーション画面に統合済みのアプリケーションとして表示されるのです。
しかし、私の IAM Identity Center 環境ではアプリケーションが表示されませんでした。
原因ですが、私は普段検証環境上で IAM Identity Center インスタンスを頻繁に再作成しています。
その過程でおそらく AWS Transform のプロフィールを作成した際の IAM Identity Center インスタンスを削除し、現在は別の IAM Idenitity Center インスタンスを使っていたのだと思います。
実際にインスタンス ID が先程の CloudTrail ログが指す ID と異なっていることを確認しています。
AWS Transform プロファイルを再作成する
ということで、AWS Transform のプロファイルが参照する IAM Identity Center インスタンスが異なっているので、プロファイルの再作成を行いましょう。
AWS Transform のコンソール上から Settings を開き、サービスプロファイルの削除を行います。
削除すると Transform 内の過去のワークスペースやジョブなどのアセットはすべて削除されますのでご注意ください。まぁ仕方ないですね。
削除後は、「使用を開始」から AWS Transform プロファイルの再作成が可能です。
再作成後、IAM Identity Center のアプリケーションから AWS マネージドアプリケーションとして認識されていることが確認できます。
この状態であれば IAM Identity Center ユーザーの割り当てを行うことが出来ました。
さいごに
本日は AWS Transform でユーザーを割り当てる時に ResourceNotFoundException で「ユーザーを割り当てることができませんでした」が発生した時の対処方法を紹介しました。
IAM Identity Center インスタンスの再作成を頻繁に行うケースは少ないと思うのですが、もしユーザー割り当てに失敗した場合は CloudTrail をチェックし、IAM Identity Center インスタンス ID などを確認してみてください。