このページのトピック
EKSを使用してDeep Security Smart CheckをAWS Fargateにインストールする
Elastic Kubernetes System(EKS)を使用して AWS Fargate に Smart Check をインストールするには、標準の Install Deep Security Smart Checkとは異なる手順が必要なのはなぜですか?
-
EKSを使用するAWS Fargateで外部データベースを使用する必要があります。AWS Fargate は、AWS Elastic File System(EFS)を介してのみ永続ボリュームをサポートしますが、これはお勧めしません。
-
AWS Fargate は、 AWS Load Balancer Controllerを通じてのみロードバランサをサポートします。
以下は、EKSを使用して AWS Fargate に Smart Check をインストールする手順です。
-
Helm 3を使用していることを確認します。
(この手順はHelm 2では機能しません)。
helm version
-
最新バージョンのeksctlがインストールされていることを確認します。インストール手順は、 こちらです。
-
eksctlを使用してクラスタを作成します。
eksctl create cluster --region=<us-east-1> --name=<clustername-eks> --fargate
-
クラスタが作成されるまで最大20分かかります。
-
次のコマンドを使用して、kubetclがクラスタに接続されていることを確認します。
kubectl get nodes
一部のFargateノードが返されます。 -
AWS Load Balancer Controller を ここ で説明するようにデプロイします。.
-
次のコマンドを使用して、コントローラがインストールされていることを確認します。
kubectl get deployment -n kube-system aws-load-balancer-controller
-
Smart Check で使用する データベース を作成します。
データベースがクラスタに適切にネットワークアクセスできることを確認します。同じ仮想プライベートクラウドを使用し、セキュリティグループを変更して、セキュリティグループ自体のポート5432を許可することをお勧めします。
-
外部データベースへのTLS接続を許可するための設定マップを作成します。
kubectl create configmap dssc-db-trust --from-file=ca=rds-ca-2019-root.pem
rds-ca-2019-root.pem
をダウンロードするには、 ここをクリックします。 -
通常の最小容量を超える1GBのvCPUと3GBのメモリにリソースを割り当てる
overrides.yaml
ファイルを作成します。詳細については、 ここを参照してください。auth: secretSeed: "<some random characters>" service: type: LoadBalancer annotations: service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip" db: user: "postgres" password: "<db password>" host: "<db hostname>" port: "5432" tls: ca: valueFrom: configMapKeyRef: name: "dssc-db-trust" key: "ca" resources: vulnerabilityScan: requests: cpu: 1000m memory: 3Gi limits: cpu: 1000m memory: 3Gi
-
次のコマンドでプロビジョニングされたリソースを確認します。
kubectl describe pod vulnerabilityScan
-
次のコマンドを使用して、 Smart Check をインストールします。
helm upgrade -i --values overrides.yaml deepsecurity-smartcheck https://github.com/deep-security/smartcheck-helm/archive/master.tar.gz
-
次のコマンドを使用して、 Smart Check ポッドが準備完了であることを確認します。
kubectl get pods
-
helm upgrade
の出力の指示を使用して、 Network Load Balancer アドレスを取得します。 -
次のコマンドを実行してアプリケーションのURLを取得します。
export SERVICE_IP=$(kubectl get svc proxy -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
echo https://$SERVICE_IP:443/
-
Smart Checkにログインします。
Smart Checkをアンインストールする方法
使用しているリソースをクリーンナップします(環境の保護を検討している場合を除く)。
-
次のコマンドを使用して、 Deep Security Smart Check 環境を削除し、ロードバランサをクリーンナップします。
helm uninstall deepsecurity-smartcheck
-
データベースを削除します。
-
次のコマンドを使用してクラスタを削除します。
eksctl delete cluster --name <clustername-eks> --region <us-east-1>