|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Amazon EC2 クラスターの作成
前提条件
-
インスタンスを作成するために使用される AWS EC2 アクセスキーとシークレットキー。 Amazon ドキュメント: アクセスキーの作成 を参照して、アクセスキーとシークレットキーを作成する方法を確認してください。
-
アクセスキーとシークレットキーのユーザーに追加するための IAM ポリシー。 Amazon ドキュメント: IAM ポリシーの作成 (コンソール) を参照して、IAM ポリシーを作成する方法を確認してください。以下の 3 つの例の JSON ポリシーをご覧ください:
-
PassRoleを使用したIAMポリシーの例(Kubernetes Cloud Provider を使用する場合や、インスタンスに IAM プロファイルを渡す場合に必要)
-
ユーザーに追加された*IAMポリシー*(権限) Amazon ドキュメント: ユーザーに権限を追加する方法 (コンソール) を参照して、ユーザーに権限を追加する方法を確認してください。
-
ノードがプロビジョニングされ、IPv4および/またはIPv6アドレスが割り当てられる*IPv4専用またはIPv6専用またはデュアルスタックのサブネットおよび/またはVPC*。 Amazon Documentation: IPv6 support for your VPCを参照してください。
EC2クラスターの作成
クラスターを作成する手順は、Rancherのバージョンによって異なります。
クラウド資格情報を作成する
すでに使用するクラウド認証情報のセットがある場合は、このセクションをスキップしてください。
-
*☰ > クラスター管理*をクリックします。
-
クラウド資格情報 をクリックします。
-
[作成]をクリックします。
-
*Amazon*をクリックします。
-
クラウド認証情報の名前を入力してください。
-
*デフォルトリージョン*フィールドで、クラスターのノードが配置されるAWSリージョンを選択します。
-
AWS EC2の*アクセスキー*と*シークレットキー*を入力してください。
-
[作成]をクリックします。
*結果:*クラスター内のノードをプロビジョニングするために使用されるクラウド認証情報を作成しました。
クラスターを作成する
-
*☰ > クラスター管理*をクリックします。
-
*クラスター*ページで、*作成*をクリックします。
-
スイッチを*RKE2/K3s*に切り替えます。
-
*Amazon EC2*をクリックします。
-
複数存在する場合は、*クラウド認証情報*を選択します。そうでなければ、事前に選択されています。
-
*クラスター名*を入力してください。
-
各Kubernetesロールごとにマシンプールを作成してください。役割の割り当てと数に関する推奨事項については、ベストプラクティスを参照してください。
-
各マシンプールごとに、マシンの構成を定義してください。構成オプションに関する情報については、EC2マシン構成リファレンスを参照してください。
-
-
インストールするKubernetesのバージョン、使用するネットワークプロバイダー、およびプロジェクトネットワークの分離を有効にするかどうかを選択するには、*クラスター構成*を使用してください。クラスターの構成に関するヘルプについては、RKE2およびK3sクラスター構成リファレンスを参照してください。
-
クラスターのユーザー認可を構成するには、*メンバー役割*を使用してください。*メンバーを追加*をクリックして、クラスターにアクセスできるユーザーを追加してください。各ユーザーの権限を設定するには、*役割*のドロップダウンを使用してください。
-
[作成]をクリックします。
結果:
クラスターが作成され、状態が*プロビジョニング*に割り当てられました。Rancherがクラスターを立ち上げています。
状態が*アクティブ*に更新された後、クラスターにアクセスできます。
*アクティブ*なクラスターには、2つのプロジェクトが割り当てられています:
-
Default、`default`名前空間を含む -
System、cattle-system、traefik、kube-public、および`kube-system`名前空間を含む
オプションの次のステップ
クラスターを作成した後、Rancher UIを通じてアクセスできます。ベストプラクティスとして、クラスターにアクセスするためのこれらの代替方法を設定することをお勧めします:
-
kubectl CLIを使用してクラスターにアクセスする:これらの手順に従って、ワークステーションでkubectlを使用してクラスターにアクセスしてください。この場合、Rancherサーバーの認証プロキシを通じて認証され、その後Rancherがダウンストリームクラスターに接続します。この方法を使用すると、Rancher UIなしでクラスターを管理できます。
-
認可されたクラスターエンドポイントを使用して、kubectl CLIでクラスターにアクセスします:これらの手順に従って、Rancherを介さずにkubectlでクラスターに直接アクセスします。Rancherに接続できない場合でもクラスターにアクセスできるように、この代替方法を設定することをお勧めします。
IAMポリシー
IAMポリシーの例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:Describe*",
"ec2:ImportKeyPair",
"ec2:CreateKeyPair",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:ModifyInstanceMetadataOptions"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ec2:RunInstances"
],
"Resource": [
"arn:aws:ec2:REGION::image/ami-*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:placement-group/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:subnet/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:key-pair/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:network-interface/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:security-group/*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"ec2:RebootInstances",
"ec2:TerminateInstances",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*"
}
]
}
PassRoleを使用したIAMポリシーの例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:Describe*",
"ec2:ImportKeyPair",
"ec2:CreateKeyPair",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:ModifyInstanceMetadataOptions"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"iam:PassRole",
"ec2:RunInstances"
],
"Resource": [
"arn:aws:ec2:REGION::image/ami-*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:placement-group/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:subnet/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:key-pair/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:network-interface/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:security-group/*",
"arn:aws:iam::AWS_ACCOUNT_ID:role/YOUR_ROLE_NAME"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"ec2:RebootInstances",
"ec2:TerminateInstances",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*"
}
]
}
暗号化されたEBSボリュームを許可するIAMポリシーの例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKeyWithoutPlaintext",
"kms:Encrypt",
"kms:DescribeKey",
"kms:CreateGrant",
"ec2:DetachVolume",
"ec2:AttachVolume",
"ec2:DeleteSnapshot",
"ec2:DeleteTags",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:CreateSnapshot"
],
"Resource": [
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:snapshot/*",
"arn:aws:kms:REGION:AWS_ACCOUNT_ID:key/KMS_KEY_ID"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeTags",
"ec2:DescribeVolumes",
"ec2:DescribeSnapshots"
],
"Resource": "*"
}
]
}