日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Amazon Web Servicesをセットアップする

寄稿者

Amazon Elastic Kubernetes Service(EKS)クラスタをAstra Control Serviceで管理するには、Amazon Web Servicesプロジェクトを準備する手順がいくつか必要です。

Amazon Web Servicesのセットアップをすぐに開始できます

これらの手順を実行してすぐに作業を開始するか、残りのセクションまでスクロールして詳細を確認してください。

1つ Amazon Web ServicesのAstra Control Serviceの要件を確認

クラスタが正常に機能しており、サポートされているバージョンのKubernetesを実行していること、ワーカーノードがオンラインでLinuxやWindowsなどを実行していることを確認します。 このステップの詳細をご覧ください

2 つ Amazonアカウントを作成します

Amazonアカウントをまだ作成していない場合は、EKSを使用できるように作成する必要があります。 このステップの詳細をご覧ください

3つ Amazon Web Services CLIをインストールします

コマンドラインからAWSを管理できるように、AWS CLIをインストールします。 ステップバイステップの手順に従います

4. オプション:IAMユーザを作成します

Amazon Identity and Access Management(IAM)ユーザを作成します。また、この手順をスキップし、既存のIAMユーザをAstra Control Serviceで使用することもできます。

5 つ 権限ポリシーを作成して適用します

Astra Control ServiceがAWSアカウントとやり取りするために必要な権限を持つポリシーを作成します。

6 IAMユーザのクレデンシャルを保存します

からAstra Control Serviceにクレデンシャルをインポートできるように、IAMユーザのクレデンシャルを保存します。

EKSクラスタ要件

Kubernetes クラスタを Astra Control Service から検出して管理できるようにするには、 Kubernetes クラスタが次の要件を満たしている必要があります。

Kubernetes のバージョン

クラスタで1.22 ~ 1.24のKubernetesバージョンが実行されている必要があります。

イメージタイプ

各ワーカーノードのイメージタイプはLinuxである必要があります。

クラスタの状態

クラスタが正常な状態で稼働し、少なくとも 1 つのオンラインワーカーノードがあり、ワーカーノードが障害状態でない必要があります。

Amazon FSX for NetApp ONTAP 対応Astra Trident

NetApp ONTAP ストレージバックエンドにAmazon FSXを使用する場合は、Astra Tridentをインストールする必要があります。手順については、を参照してください "Astra Tridentの導入の概要"。FSX for NetApp ONTAP でAstra Tridentを使用する方法の詳細については、を参照してください "Amazon FSX for NetApp ONTAP で Astra Trident を使用"

Amazon Elastic Block Store(EBS)向けCSIドライバ

Amazon EBSストレージバックエンドを使用する場合は、EBS用のContainer Storage Interface(CSI)ドライバをインストールする必要があります(自動ではインストールされません)。

CSIドライバのインストール手順については、を参照してください。

Details
外部Snapshotデータをインストールします
  1. ボリュームのSnapshot作成

    Kubernetes 1.20以降では、v5.0のスナップショットコンポーネントでv1スナップショットCRDを使用します。

$ cat snapshot-setup.sh
#!/bin/bash
# Create volume snapshot CRDs
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-5.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-5.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-5.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml
  1. 目的のネームスペースにスナップショットコントローラを作成します。以下の YAML マニフェストを編集して名前空間を変更します。

    Kubernetes 1.20以降ではv5.0を使用します。

kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-5.0/deploy/kubernetes/snapshot-controller/rbac-snapshot-controller.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-5.0/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml
CSIドライバをAmazon EKSアドオンとしてインストールします
  1. サービスアカウント用のAmazon EBS CSIドライバIAMロールを作成します。指示に従います "Amazonのドキュメントを参照してください"の手順に記載されたAWS CLIコマンドを使用します。

  2. 次のAWS CLIコマンドを使用してAmazon EBS CSIアドオンを追加します。括弧<>内の情報は、環境に固有の値に置き換えてください。<driver_role>を、前の手順で作成したEBS CSIドライバロールの名前に置き換えます。

    aws eks create-addon \
      --cluster-name <CLUSTER_NAME> \
      --addon-name aws-ebs-csi-driver \
      --service-account-role-arn arn:aws:iam::<ACCOUNT_ID>:role/<DRIVER_ROLE>
EBSストレージクラスを設定します
  1. Amazon EBS CSIドライバGitHubリポジトリをシステムにクローニングします。

    git clone https://github.com/kubernetes-sigs/aws-ebs-csi-driver.git
  2. dynamicprovisioning exampleディレクトリに移動します。

    cd aws-ebs-csi-driver/examples/kubernetes/dynamic-provisioning/
  3. マニフェストディレクトリからEBS SCストレージクラスとEBS要求の永続的ボリューム要求を導入します。

    kubectl apply -f manifests/storageclass.yaml
    kubectl apply -f manifests/claim.yaml
  4. EBS SCストレージクラスの説明

    kubectl describe storageclass ebs-sc

    ストレージクラスの属性を説明する出力が表示されます。

Amazonアカウントを作成します

Amazonアカウントをまだお持ちでない場合は、Amazon EKSに対する請求を有効にするためにアカウントを作成する必要があります。

手順
  1. にアクセスします "Amazonホームページ" をクリックし、右上の「サインイン」を選択して、「ここから開始」を選択します。

  2. プロンプトに従ってアカウントを作成します。

Amazon Web Services CLIをインストールします

コマンドラインからAWSリソースを管理できるように、AWS CLIをインストールします。

ステップ
  1. に進みます "AWS CLIの使用を開始する" および手順に従ってCLIをインストールします。

オプション:IAMユーザを作成します

IAMユーザを作成し、セキュリティを強化しながらAWSのサービスとリソースを使用、管理できるようにします。また、この手順をスキップし、既存のIAMユーザをAstra Control Serviceで使用することもできます。

ステップ
  1. に進みます "IAMユーザを作成する" および手順に従ってIAMユーザを作成します。

権限ポリシーを作成して適用します

Astra Control ServiceがAWSアカウントとやり取りするために必要な権限を持つポリシーを作成します。

手順
  1. 「policy.json」という名前の新しいファイルを作成します。

  2. 次のJSONコンテンツをファイルにコピーします。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "cloudwatch:GetMetricData",
                    "fsx:DescribeVolumes",
                    "ec2:DescribeRegions",
                    "s3:CreateBucket",
                    "s3:ListBucket",
                    "s3:PutObject",
                    "s3:GetObject",
                    "iam:SimulatePrincipalPolicy",
                    "s3:ListAllMyBuckets",
                    "eks:DescribeCluster",
                    "eks:ListNodegroups",
                    "eks:DescribeNodegroup",
                    "eks:ListClusters",
                    "iam:GetUser",
                    "s3:DeleteObject",
                    "s3:DeleteBucket",
                    "autoscaling:DescribeAutoScalingGroups"
                ],
                "Resource": "*"
            }
        ]
    }
  3. ポリシーを作成します。

    POLICY_ARN=$(aws iam create-policy  --policy-name <policy-name> --policy-document file://policy.json  --query='Policy.Arn' --output=text)
  4. IAM ユーザにポリシーを付加します。「<iam-user-name>」を、作成したIAMユーザのユーザ名または既存のIAMユーザの名前に置き換えます。

    aws iam attach-user-policy --user-name <IAM-USER-NAME> --policy-arn=$POLICY_ARN

IAMユーザのクレデンシャルを保存します

ユーザをAstra Control Serviceで認識できるように、IAMユーザのクレデンシャルを保存します。

手順
  1. クレデンシャルをダウンロードします。「<iam-user-name>」を、使用するIAMユーザのユーザ名に置き換えます。

    aws iam create-access-key --user-name <IAM-USER-NAME> --output json > credential.json
結果

「credential.json」ファイルが作成され、Astra Control Serviceにそのクレデンシャルをインポートできます。