kube2iamからkiamに乗り換えた

AWS上に構築したKubernetesクラスタ内のPodが,AWSのリソースにアクセスしようとしたときには,もちろんAWS IAM Roleか,AWSの認証情報を使ってAWSAPIを叩く必要がある.

しかし,Kubernetesクラスタだ.もちろんノードはいっぱいあるし,その上では様々なPodが動くことになる.そういうときに,ノード全体に強い権限を持ったIAM Roleを付与するのは,あまり嬉しくない. 意図せず別のPodが,アクセスしてほしくないリソースにアクセスできることになってしまう.

というわけで,Podごとに個別にIAM Roleを付与したいという要求があるのだが,それを満たすのがkube2iamkiamというOSSだ.

で,中身の仕組みの話を詳しくここではしないのだが,基本的にkube2iamの方が仕組みが単純である. ただし,たまにバグを拾うことがあって,正しくAWSのCredentialを引けない場合があった.

というわけで今回kiamに移行した.

ちなみにKubernetesクラスタはkopsで構築している. EKSを使っている場合は,つい最近発表されたIAM Role for Service Account を使うと良いと思うよ.

続きを読む