AWS

Zero to JupyterHub with Kubernetes(Z2JH)でユーザデータをS3にバックアップ

背景 EKSでZero to JupyterHub with Kubernetes(Z2JH)で構築したJupyterHubを運用しています。 障害時の回復力を高めるため、AWS外のストレージ(Cloud Storage等)にバックアップの複製を作成することになり、Storage Transfer ServiceやRcloneの利用が可…

EKSのマネージド型ノードを並列更新

ノードを並列更新することで、マネージド型ノードグループの更新時間を短縮できるようなので試してみました。 docs.aws.amazon.com It determines the maximum quantity of nodes to upgrade in parallel using the updateConfig property for the node grou…

Container InsightsでFluentdをFluent Bitに変更

はじめに EKS 1.24へのアップグレードに伴い、コンテナのログをFluent BitでCloudWatch Logsに送るように変更しました。 Amazon EKS Kubernetes versions - Amazon EKS If you already have Fluentd configured for Container Insights, then you must migra…

AWS Load Balancer Controllerをv2.0.1からv2.4.5にアップデート

AWS Load Balancer Controllerをv2.0.1からv2.4.5にアップデートにしたので手順をメモします。 リージョンは東京( ap-northeast-1 )です。 ❯ helm history aws-load-balancer-controller -n kube-system REVISION UPDATED STATUS CHART APP VERSION DESCRI…

fluentdでALBのアクセスログを取得(fluent-plugin-elb-log)

fluent-plugin-elb-logでS3からALBのアクセスログを収集してみたので手順をまとめます。 github.com 環境 Ubuntu 22.04(LTS) $ lsb_release -d Description: Ubuntu 22.04 LTS td-agent 4.4.1 $ td-agent --version td-agent 4.4.1 fluentd 1.15.2 (c3284229…

fluentdでCloudWatch Logsのログを収集(fluent-plugin-cloudwatch-logs)

fluent-plugin-cloudwatch-logsのin_cloudwatch_logsでCloudWatch Logsからログを収集してみたので手順をまとめます。 github.com 環境 Ubuntu 22.04(LTS) $ lsb_release -d Description: Ubuntu 22.04 LTS td-agent 4.4.1 $ td-agent --version td-agent 4.…

ELB(ALB)のIPアドレス変更歴を辿る

AWS

動的に変わるELB(ALB)に割り当てられたIPアドレスの履歴を確認する方法です。 アクセスログが取得されていることを前提とします。 ALBのアクセスログ docs.aws.amazon.com S3に保存されたアクセスログのファイル名は以下のフォーマットに従います。 load-b…

Kubernetes(EKS)でApacheの統計情報を使用した水平オートスケール(Prometheus Adaptor/Apache Exporter)

本エントリではApache(prefork)のプロセス数でPodを水平オートスケールする手順をまとめます。 大まかな流れとしては、Apache ExporterでPrometheusにメトリクスを収集し、Prometheus AdaptorでHPAにカスタムメトリクスを連携していきます。 実行環境 Prom…

VeleroでEKSクラスタをバックアップ

VeleroでEKSクラスタのバックアップを試してみたので手順をまとめます。 今回はプロバイダーがAWS、オブジェクトストアがS3なのでvelero-plugin-for-awsの手順に従ってインストールを行います。 その他サポートしているプロバイダーはこちらを参照してくださ…

JupyterHubをKubernetes(Amazon EKS)にインストール(zero-to-jupyterhub-k8s 0.9.0)

Amazon EKSにJupyterHubを zero-to-jupyterhub-k8s(Z2JH)でインストールする方法をまとめます。 github.com 以下の手順に従って作業を実施します。 Zero to JupyterHub with Kubernetes — Zero to JupyterHub with Kubernetes 0.0.1-set.by.chartpress doc…

MongoDB Node.js DriverでAmazon DocumentDB(TLS有効)に接続するとunable to get local issuer certificate

AWSコンソールで確認したURIを指定してMongoDB Node.js driver( mongodb 3.0.2 )でDocumentDB(TLS有効)に接続しようとしたところ、 MongoNetworkError: unable to get local issuer certificate となってしまいました。 事象 DBの接続情報は作成したクラスタ…

Amazon DocumentDBでcollStatsは機能するがcollstatsだとCollection not found

事象 今まで自前で立てたMongoDBで問題なく動作していた pymongo.database.Database.command("collstats", "<collection-name>") が、Amazon DocumentDBではコレクションが存在するにも関わらず { "ok" : 0, "errmsg" : "Collection not found", "code" : 10 } を返すようにな</collection-name>…

Amazon EKS on AWS Fargate + ALB Ingress Controllerを試す

はじめに 実行環境 eksctlでEKSクラスタを作成 前提 EKSクラスタの作成 サンプルアプリのデプロイ ロードバランサの設定 IAM OIDCプロバイダーの作成 ALB Ingress Controllerポッド用のIAMポリシーを作成 alb-ingress-controllerサービスアカウント、Cluster…

AnsibleでUbuntu18.04にDjangoアプリをデプロイ(Apache+PostgreSQL+Miniconda)

はじめに Ansibleのインストール ディレクトリ構成 作成したプレイブック 共通設定 変数 環境変数 タスク aptパッケージのアップデート、アップグレード タイムゾーンの設定 ユーザの追加 SSH接続の設定 Minicondaのインストール Djangoプロジェクトのアップ…