このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
Amazon EKS コネクタの IAM ロール
Kubernetes クラスターを接続して AWS Management Console で表示することができます。Kubernetes クラスターに接続するには、IAM ロールを作成します。
既存の EKS Connector ロールの確認
以下の手順を使用して、アカウントに既に Amazon EKS コネクタロールがあるかどうかを確認できます。
IAM コンソールで AmazonEKSConnectorAgentRole
を確認するには
IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。
-
左のナビゲーションペインで、[ロール] を選択します。
-
ロールのリストで AmazonEKSConnectorAgentRole
を検索します。AmazonEKSConnectorAgentRole
が含まれているロールが存在しない場合は、Amazon EKS コネクタエージェントロールの作成を参照してロールを作成します。AmazonEKSConnectorAgentRole
が含まれているロールが存在する場合は、このロールを選択してアタッチされているポリシーを表示します。
-
[許可] を選択します。
-
AmazonEKSConnectorAgentPolicy 管理ポリシーがロールにアタッチされていることを確認します。ポリシーがアタッチされている場合、Amazon EKS Connector ロールは適切に設定されています。
-
[信頼関係] を選択し、[信頼ポリシーの編集] を選択します。
-
信頼関係に以下のポリシーが含まれていることを確認します。信頼関係が以下のポリシーと一致する場合、[キャンセル] を選択します。信頼関係が一致しない場合、ポリシーを [信頼ポリシーの編集] ウィンドウにコピーし、[ポリシーの更新] を選択します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ssm.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
Amazon EKS コネクタエージェントロールの作成
コネクタエージェントロールを作成するには、AWS Management Console または AWS CloudFormation を使用できます。
- AWS CLI
-
-
IAM ロールに使用する次の JSON が含まれる eks-connector-agent-trust-policy.json
という名前のファイルを作成します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ssm.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
-
IAM ロールに使用する次の JSON が含まれる eks-connector-agent-policy.json
という名前のファイルを作成します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SsmControlChannel",
"Effect": "Allow",
"Action": [
"ssmmessages:CreateControlChannel"
],
"Resource": "arn:aws:eks:*:*:cluster/*"
},
{
"Sid": "ssmDataplaneOperations",
"Effect": "Allow",
"Action": [
"ssmmessages:CreateDataChannel",
"ssmmessages:OpenDataChannel",
"ssmmessages:OpenControlChannel"
],
"Resource": "*"
}
]
}
-
前のリストアイテムで作成した信頼ポリシーとポリシーを使用して、Amazon EKS Connector エージェントロールを作成します。
aws iam create-role \
--role-name AmazonEKSConnectorAgentRole
\
--assume-role-policy-document file://eks-connector-agent-trust-policy.json
-
Amazon EKS Connector エージェントのロールにポリシーを添付します。
aws iam put-role-policy \
--role-name AmazonEKSConnectorAgentRole
\
--policy-name AmazonEKSConnectorAgentPolicy
\
--policy-document file://eks-connector-agent-policy.json
- AWS CloudFormation
-
Amazon EKS Connector エージェントロールを AWS CloudFormation で作成するには
-
以下の AWS CloudFormation テンプレートをローカルシステムのテキストファイルに保存します。
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Provisions necessary resources needed to register clusters in EKS'
Parameters: {}
Resources:
EKSConnectorSLR:
Type: AWS::IAM::ServiceLinkedRole
Properties:
AWSServiceName: eks-connector.amazonaws.com
EKSConnectorAgentRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action: [ 'sts:AssumeRole' ]
Principal:
Service: 'ssm.amazonaws.com'
EKSConnectorAgentPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyName: EKSConnectorAgentPolicy
Roles:
- {Ref: 'EKSConnectorAgentRole'}
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: 'Allow'
Action: [ 'ssmmessages:CreateControlChannel' ]
Resource:
- Fn::Sub: 'arn:${AWS::Partition}:eks:*:*:cluster/*'
- Effect: 'Allow'
Action: [ 'ssmmessages:CreateDataChannel', 'ssmmessages:OpenDataChannel', 'ssmmessages:OpenControlChannel' ]
Resource: "*"
Outputs:
EKSConnectorAgentRoleArn:
Description: The agent role that EKS connector uses to communicate with AWS のサービス.
Value: !GetAtt EKSConnectorAgentRole.Arn
https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソール を開きます。
-
[Create stack] (スタックの作成) (新しいリソースまたは既存のリソースを使用) を選択します。
-
[テンプレートの指定] で、[テンプレートファイルのアップロード] を選択し、[ファイルの選択] を選択します。
-
作成したファイルを選択し、[Next (次へ)] を選択します。
-
[スタックの名前] に eksConnectorAgentRole
などのロール名を入力し、[次へ] を選択します。
-
[スタックオプションの設定] ページで、[Next (次へ)] を選択します。
-
[Review (レビュー)] ページの情報から、スタックにより IAM リソースが作成されることを確認し、[Create stack (スタックの作成)] を選択します。