AWSコンソールで作成したEKSクラスターにCloud9からkubectlを試みたところ,認証系のエラーにより失敗してしまいます.Cloud9やIAM周りの理解不足かと思われますが,原因や解決策についてご教示いただけますと幸いです.よろしくお願いいたします.
手順の詳細
- AWSコンソールからEKSクラスター "testCluster" を作成
・プライベートサブネットに設置し,NATゲートウェイを通ってインターネット接続
・クラスターエンドポイントアクセスは「プライベート」
・作成者はAdministratorAccess
ポリシーを持つユーザ"testUser"
2. AWSコンソールからCloud9インスタンスを作成
・"access via System Manager" を選択
3. Cloud9のIAMロールをAdministratorAccess
ポリシーを持つものに変更
4. Cloud9に接続しAMTCを無効化
5. $ aws configure
により "testUser" の認証情報を入力
・$ aws sts get-caller-identity
で反映を確認
6. $ aws eks update-kubeconfig --name testCluster --region ap-northeast-1
でkubeconfigを作成
7. $ kubectl get svc
を実施するもエラーが出る:error: You must be logged in to the server (Unauthorized)
参考にしたもの
- 手順2~4は下記に基づくものです.AMTCはアクション制約があるため無効化し,AWS CLIプロファイルを設定しています.
・https://eks-for-aws-summit-online.workshop.aws/010_create_cloud9/10_create_cloud9.html
- 手順5~7は下記の「クラスター作成者の場合」に基づくものです.クラスター作成者とAWS CLIユーザを一致させています.
・https://aws.amazon.com/jp/premiumsupport/knowledge-center/eks-api-server-unauthorized-error/
他に試したこと
- Cloud9を用いずに,通常通り作成したec2インスタンスにSession Managerでアクセスし,上の手順5以降を実行したところkubectlは成功しました.このことからCloud9周りに原因があると疑っています.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。