AWS

このドキュメントでは、AWS(EKS)上でDiarkisを構築、デプロイ、オーケストレーションするプロセスについて説明します。

概要

提供されているk8s設定を使用すれば、Diarkisの使用は簡単です。ただし、これらの設定は初期段階のものであるため、必要に応じて自由に修正してください。


必要条件

  1. Docker のいずれかの設定:

    1. MacOS - Docker for MacOSをインストール。インストールガイドはこちら

    2. Linux - お使いのLinuxディストリビューションに合わせてDockerをインストール。インストールガイドはこちら注意: Dockerはx86_64/amd64アーキテクチャの主要なLinuxディストリビューション用に.deb.rpmパッケージを提供しており、Archベースのディストリビューションの実験的サポートも提供しています。

    3. Windows (WSL2またはHyper-Vバックエンド) - インストールガイドはこちら。初めてDockerをインストールする場合は、バックエンドの選択前にユースケースを考慮してください。

  2. AWSアカウント と請求が有効になっていること。AWSアカウントやプロジェクトをお持ちでない場合は、こちらを参照して始めてください。

  3. AWS CLI (awsコマンド) と適切な認証。インストールガイドはこちら (注意: AWS CLIはすべての主要なオペレーティングシステムをサポートしています)。CLI認証のヘルプはこちらを参照してください。

  4. Kubernetes CLI (kubectlコマンド) はこちらからダウンロード可能です。

  5. EKS CLI (eksctlコマンド) はAWS Workshopのこちらからダウンロード可能です。


セットアップガイド

以下の手順で、テンプレートDiarkisサーバークラスタの構築、デプロイ、オーケストレーションのプロセスをご案内します。これらの手順で、開始するのに十分な情報が得られるはずです。

Diarkisイメージ用のECRを作成

Diarkisコンポーネントイメージをデプロイ用にプッシュする前に、まずリモートECRレジストリを準備する必要があります。ベースイメージとしてデフォルトでalpineを使用しており、Docker Hubから取得できます。


Diarkis用のEKSを作成して接続

注意: 選択したAZでNATゲートウェイの互換性に関するエラーが発生した場合は、別のAZを選択してください


EKSファイアウォールを開放

EKSノードへの0.0.0.0/0からのポート7000-8000のTCPおよびUDPトラフィックを許可します。 セキュリティグループ名eks-cluster-sg-diarkis-*で設定することをお勧めします。


サーバーイメージにタグを付けてプッシュ

server-templateで生成されたプロジェクトルートから、以下のコマンドを実行します:

./remote_binにサーバー実行ファイル(udptcphttpmars)を生成した後、コンテナイメージをビルドします:


マニフェストを適用

以下の4つのコンポーネントが実行中かどうかを確認します:


Diarkisクラスタの確認

まず、パブリックエンドポイントを取得します:

取得したEXTERNAL_IPにHTTP GETリクエストを送信します:

以下のようなレスポンスが返ってきた場合、正常に動作しています:

項目が不足している場合、デプロイされたコンポーネントのいずれかに問題がある可能性があります。この時点で、Diarkisサポートに連絡することをお勧めします。


クラスタオートスケーラーのセットアップ

このファイルはdiarkisというクラスタ名用に事前設定されています。異なるクラスタ名を使用する場合は、マニフェスト内のdiarkisへの参照を修正してください。


ログコレクターのセットアップ

コンテナからのログはCloudWatch Logsを使用して集約できます。 fluent-bitは既にamazon-cloudwatch名前空間にデプロイされていますが、権限が設定されていません。

diarkis-publicdiarkis-privateノードにCloudWatchAgentServerPolicyを割り当ててログを集約します。ログは/aws/containerinsights/Cluster_Name/applicationの下に表示され、フィルタリングが可能です。

最終更新

役に立ちましたか?