ログ収集・分析(Fluent Bit / AWS OpenSearch)
今回はログの収集と分析に焦点を当てます。 いつの時代もアプリケーションが出力するログは、障害解析やアクセス/証跡管理に欠かせません。 マイクロサービスのような分散アーキテクチャを採用した場合、1つのアプリケーションは複数のサービスで構成されることになります。 このため、管理対象ログファイルの数は以前と比較すると飛躍的に多くなり、ファイルレベルでなく、全体のログを一元管理するためのバックエンドサービスは不可欠と言えます...
記事を読むS3 の静的 Web サイトをセキュアに Envoy でホスティング
庄司です。 モダンな UI のフレームワークは静的なコンテンツとしてパッケージングされることが主流となっています。これは変化の激しい UI とそれと比較すれば比較的変化のスピードが遅くてよいバックエンドとの関係で理にかなっています。UI のこうした静的なコンテンツの配信では多くの SaaS 製品で CloudFront のような CDN が利用されています。しかし、エンタープライズで利用されるフロントエンドの場合には VPN を通じたアクセスのみを許可している場合が多くあります...
記事を読むメトリクス収集・可視化 - OpenTelemetry / CloudWatch
前回はPrometheusとGrafanaを利用して、Kubernetesおよびアプリケーションに関するメトリクスの収集・可視化を行いました。 今回はOpenTelemetryとCloudWatchを使って同じことをしてみましょう。 OpenTelemetryとは? # OpenTelemetryは、メトリクス、トレース、ログ等のテレメトリー[1]情報のやりとりに関するインターフェースを規定する仕様です(現状ログはまだドラフトです)...
記事を読むメトリクス収集・可視化 - Prometheus / Grafana
今回のテーマはモニタリングです。 アプリケーションの運用が開始されると、ピーク時間帯や各種イベントに応じてシステム負荷は大きく変動します。 特に、マイクロサービスアーキテクチャでは、臨機応変なスケーラビリティや、無駄なのないリソース効率性とそれに応じたコスト最適化が求められます。 このような状況下では、各サービスレベルできめ細かい情報を収集・可視化することがより重要となります。 モニタリング編では、以下の項目に焦点を当て、それぞれハンズオン形式で実施してみたいと思います...
記事を読むKubernetesのPod Security(PSS/PSA)
Kubernetesのv1.21で、今までPodセキュリティを担っていたPodSecurityPolicy(PSP)が非推奨となりました[1]。このままいくとPSPはv1.25で削除される予定です。 Kubernetesコミュニティ(Auth Special Interest Group)では、現在これに代わるものとして新たにPod Security Standardsを規定し、これをもとにPodのスペックを検証するPod Security Admissionを開発しています...
記事を読むPodスケジューリング - NodeAffinity / TaintToleration
Kubernetesで作成したPodは、Node[1]が割り当てられ、コンテナランタイムを通して実行されます。 Nodeは、多数のVMでクラスタ構成され、データセンター障害に備えて物理的に分散して配置されることが一般的です。 また、コスト最適化やワークロード要件を満たすために、コア数やメモリ容量だけでなく、OS種類やCPU/GPU、SSD/HDD等様々なスペックを持っていることもあるでしょう...
記事を読むmacOS 上で Podman を動かす
2022年1月31日で Docker Desktop の移行期間が終了し、企業での使用は無償使用の条件に該当しない限り全て有償化されました。 有償化による金額の大小に関わらず、大企業での作業には予算の認可に時間が掛かったり、中小企業だとそもそも年度の予算が足りなかったりなど、さまざまな理由でライセンス料を支払う事が難しいケースもあります。 そこで Docker Desktop の代替となるツールの候補として、Podman について調査してみました...
記事を読むオートスケーリング - Horizontal Pod Autoscaler(HPA)
商用環境で実際にサービスが運用されると、時間帯やイベント等、様々な要因によってトラフィックが変動し、それに合わせてシステム負荷も増減します。 コンテナ以前の従来のシステムでは、あらかじめ最大のスループットを見積もり、それに合わせてサーバーのサイジングをすることが一般的でした。 ただ、これはほとんどのケースでオーバースペックとなり、費用対効果が良いとは言えない状況でした...
記事を読むKarpenterのオートスケールを試してみました
2021/11/29に、AWSはKarpenterというKubernetesのオートスケーラーをGAリリースしました。 Introducing Karpenter – An Open-Source High-Performance Kubernetes Cluster Autoscaler これは有料のサービスではなく、OSSとしての提供です。現在はAWSのみに対応していますが、構造上はそれ以外のクラウドプロバイダーでも使えるものになっています...
記事を読む継続的デリバリ - ArgoCD
前回は、GitOpsの産みの親であるWeaveworks社が開発したFluxを導入して、継続的デリバリを実現しました。 今回はもう1つのGitOpsツールとして人気を集めるArgoCDを導入します。 Flux同様に、ArgoCDもGitOpsを体現したツールですが、最も大きな違いとして、ArgoCDはリッチなWeb UIを組み込みで持っています[1]。 このUIにより、Gitとクラスタ環境の同期状況が視覚的に把握可能です...
記事を読む