Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ステップ 4: アプリケーションを Amazon EKS にデプロイし、テーブルにデータを書き込む

フォーカスモード
ステップ 4: アプリケーションを Amazon EKS にデプロイし、テーブルにデータを書き込む - Amazon Keyspaces (Apache Cassandra 向け)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアルのこのステップでは、アプリケーションの Amazon EKS デプロイを設定し、アプリケーションが正常に実行されていて、Amazon Keyspaces に接続できることを確認します。

アプリケーションを Amazon EKS にデプロイするには、関連するすべての設定を deployment.yaml というファイルに記述する必要があります。このファイルを Amazon EKS が使用して、アプリケーションをデプロイします。ファイル内のメタデータには、次の情報を指定しておく必要があります。

  • アプリケーション名: アプリケーションの名前。このチュートリアルでは、my-keyspaces-app を使用します。

  • Kubernetes 名前空間: Amazon EKS クラスターの名前空間。このチュートリアルでは、my-eks-namespace を使用します。

  • Amazon EKS サービスアカウント名: Amazon EKS サービスアカウントの名前。このチュートリアルでは、my-eks-serviceaccount を使用します。

  • イメージ名: アプリケーションイメージの名前。このチュートリアルでは、my-keyspaces-app を使用します。

  • イメージ URI: Amazon ECR の Docker イメージの URI。

  • AWS アカウント ID:ご利用の AWS アカウント ID。

  • IAM ロールの ARN: サービスアカウントが引き受けるために作成された IAM ロールの ARN。このチュートリアルでは、my-iam-role を使用します。

  • Amazon EKS クラスターの AWS リージョン: Amazon EKS クラスターを作成した AWS リージョン。

このステップでは、Amazon Keyspaces に接続し、テーブルにデータを書き込むアプリケーションをデプロイし、実行します。

  1. deployment.yaml ファイルを設定します。以下の値を置き換える必要があります。

    • name

    • namespace

    • serviceAccountName

    • image

    • AWS_ROLE_ARN value

    • CASSANDRA_HOST の AWS リージョン

    • AWS_REGION

    次のファイルをサンプルとして使用できます。

    apiVersion: apps/v1 kind: Deployment metadata: name: my-keyspaces-app namespace: my-eks-namespace spec: replicas: 1 selector: matchLabels: app: my-keyspaces-app template: metadata: labels: app: my-keyspaces-app spec: serviceAccountName: my-eks-serviceaccount containers: - name: my-keyspaces-app image: 111122223333.dkr.ecr.aws-region.amazonaws.com/my-ecr-repository:latest ports: - containerPort: 8080 env: - name: CASSANDRA_HOST value: "cassandra.aws-region.amazonaws.com:9142" - name: CASSANDRA_DC value: "aws-region" - name: AWS_WEB_IDENTITY_TOKEN_FILE value: /var/run/secrets/eks.amazonaws.com/serviceaccount/token - name: AWS_ROLE_ARN value: "arn:aws:iam::111122223333:role/my-iam-role" - name: AWS_REGION value: "aws-region"
  2. deployment.yaml をデプロイします。

    kubectl apply -f deployment.yaml

    出力は次のようになります。

    deployment.apps/my-keyspaces-app created
  3. Amazon EKS クラスターの名前空間におけるポッドのステータスを確認します。

    kubectl get pods -n my-eks-namespace

    この例のような出力が得られます。

    NAME READY STATUS RESTARTS AGE my-keyspaces-app-123abcde4f-g5hij 1/1 Running 0 75s

    次のコマンドを使用して、詳細情報を確認できます。

    kubectl describe pod my-keyspaces-app-123abcde4f-g5hij -n my-eks-namespace
    Name: my-keyspaces-app-123abcde4f-g5hij Namespace: my-eks-namespace Priority: 2000001000 Priority Class Name: system-node-critical Service Account: my-eks-serviceaccount Node: fargate-ip-192-168-102-209.ec2.internal/192.168.102.209 Start Time: Thu, 23 Nov 2023 12:15:43 +0000 Labels: app=my-keyspaces-app eks.amazonaws.com/fargate-profile=my-fargate-profile pod-template-hash=6c56fccc56 Annotations: CapacityProvisioned: 0.25vCPU 0.5GB Logging: LoggingDisabled: LOGGING_CONFIGMAP_NOT_FOUND Status: Running IP: 192.168.102.209 IPs: IP: 192.168.102.209 Controlled By: ReplicaSet/my-keyspaces-app-6c56fccc56 Containers: my-keyspaces-app: Container ID: containerd://41ff7811d33ae4bc398755800abcdc132335d51d74f218ba81da0700a6f8c67b Image: 111122223333.dkr.ecr.aws-region.amazonaws.com/my_eks_repository:latest Image ID: 111122223333.dkr.ecr.aws-region.amazonaws.com/my_eks_repository@sha256:fd3c6430fc5251661efce99741c72c1b4b03061474940200d0524b84a951439c Port: 8080/TCP Host Port: 0/TCP State: Running Started: Thu, 23 Nov 2023 12:15:19 +0000 Finished: Thu, 23 Nov 2023 12:16:17 +0000 Ready: True Restart Count: 1 Environment: CASSANDRA_HOST: cassandra.aws-region.amazonaws.com:9142 CASSANDRA_DC: aws-region AWS_WEB_IDENTITY_TOKEN_FILE: /var/run/secrets/eks.amazonaws.com/serviceaccount/token AWS_ROLE_ARN: arn:aws:iam::111122223333:role/my-iam-role AWS_REGION: aws-region AWS_STS_REGIONAL_ENDPOINTS: regional Mounts: /var/run/secrets/eks.amazonaws.com/serviceaccount from aws-iam-token (ro) /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fssbf (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: aws-iam-token: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 86400 kube-api-access-fssbf: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: true QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning LoggingDisabled 2m13s fargate-scheduler Disabled logging because aws-logging configmap was not found. configmap "aws-logging" not found Normal Scheduled 89s fargate-scheduler Successfully assigned my-eks-namespace/my-keyspaces-app-6c56fccc56-mgs2m to fargate-ip-192-168-102-209.ec2.internal Normal Pulled 75s kubelet Successfully pulled image "111122223333.dkr.ecr.aws-region.amazonaws.com/my_eks_repository:latest" in 13.027s (13.027s including waiting) Normal Pulling 54s (x2 over 88s) kubelet Pulling image "111122223333.dkr.ecr.aws-region.amazonaws.com/my_eks_repository:latest" Normal Created 54s (x2 over 75s) kubelet Created container my-keyspaces-app Normal Pulled 54s kubelet Successfully pulled image "111122223333.dkr.ecr.aws-region.amazonaws.com/my_eks_repository:latest" in 222ms (222ms including waiting) Normal Started 53s (x2 over 75s) kubelet Started container my-keyspaces-app
  4. ポッドのログをチェックして、アプリケーションが実行中であり、Amazon Keyspaces のテーブルに接続できることを確認します。それには、次のコマンドを使用します。実際のデプロイの名前に置き換えてください。

    kubectl logs -f my-keyspaces-app-123abcde4f-g5hij -n my-eks-namespace

    以下の例のように、Amazon Keyspaces への接続を確認するアプリケーションログエントリを確認できるはずです。

    2:47:20.553 [s0-admin-0] DEBUG c.d.o.d.i.c.metadata.MetadataManager - [s0] Adding initial contact points [Node(endPoint=cassandra.aws-region.amazonaws.com/1.222.333.44:9142, hostId=null, hashCode=e750d92)] 22:47:20.562 [s0-admin-1] DEBUG c.d.o.d.i.c.c.ControlConnection - [s0] Initializing with event types [SCHEMA_CHANGE, STATUS_CHANGE, TOPOLOGY_CHANGE] 22:47:20.564 [s0-admin-1] DEBUG c.d.o.d.i.core.context.EventBus - [s0] Registering com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper$$Lambda$812/0x0000000801105e88@769afb95 for class com.datastax.oss.driver.internal.core.metadata.NodeStateEvent 22:47:20.566 [s0-admin-1] DEBUG c.d.o.d.i.c.c.ControlConnection - [s0] Trying to establish a connection to Node(endPoint=cassandra.us-east-1.amazonaws.com/1.222.333.44:9142, hostId=null, hashCode=e750d92)
  5. Amazon Keyspaces テーブルで次の CQL クエリを実行して、テーブルに 1 行のデータが書き込まれていることを確認します。

    SELECT * from aws.user;

    以下の出力が表示されます。

    fname | lname | username | last_update_date ----------+-------+----------+----------------------------- random | k | test | 2023-12-07 13:58:31.57+0000
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.