Enjoy Architecting

Twitter: @taisho6339

クラウドアーキテクト

高負荷環境でFluentdを安定運用するための3つの観点

本記事について Fluentdは機能としてはシンプルですが、 高負荷環境で安定的に運用するためにはある程度の知識が求められます。 そこで、本記事ではそれなりにログ流量の高い環境下で私が考慮した観点をまとめました。 本記事では、KubernetesでFluentdの信…

最短で理解して運用するGrafana Loki

本記事について Lokiについてまったく知識のない状態の人にとって、1からキャッチアップしていくのは とても大変なことです。 特にLokiはマイクロサービスで構成されているため、何を知るべきなのかの全体像が見えにくいと思っています。 そのため、Lokiをま…

Fluentdのバッファリングで抑えておくべき大事なポイント

概要 Fluentdで障害設計をする上でバッファリングの概念は切っても切り離せません。 本記事では、ドキュメントだけでは拾いきれないものも踏まえ、 Fluentdのバッファリングで抑えておくべき情報を体系的にまとめます。 バッファリングとは? Fluentdではロ…

KubernetesでFluentdの信頼性を担保するための3つの観点

概要 GKEなどを使えば自動的に標準出力のログが集計&集約され、Cloud Loggingなどを通して可視化されますが、 オンプレミス環境でKubernetesクラスタを構築する場合そうはいきません。 また単純なアプリケーションログの集計以外にも、 Kubernetesを使ってロ…

マルチクラスタKubernetes 3つのパターンと実運用事例

この記事はKubernetes Advent Calendarの7日目の記事です。 今回は、Kubernetesのマルチクラスタ化についての考察記事を書きます。 マルチクラスタの定義 マルチクラスタと一重にいっても色々とありますが、本記事では、「複数のKubernetesクラスタを並列に…

Kubernetesの負荷試験で絶対に担保したい13のチェックリスト

概要 ここ最近、Kubernetesクラスタを本番運用するにあたって負荷試験を行ってきました。 Kubernetesクラスタに乗せるアプリケーションの負荷試験は、通常の負荷試験でよく用いられる観点に加えて、クラスタ特有の観点も確認していく必要があります。 適切に…

【Kubernetes】GKEのContainer Native LoadbalancingのPodのTerminationの注意点

概要 最近のGKEはContainer Nativeなロードバランシングを推奨しています。 これは、Alias IP, NEGという仕組みを使って、GCPのロードバランサーがPodのIPに直接ルーティングすることができます。 しかし、適切にPodを設定していない場合、クラスタのメンテ…

【GCP Anthos】 Fail Overの挙動から最適なマルチクラスタ構成を考える

記事の目的 前回の記事でIngress For Anthosを用いてRegionにまたがったKubernetsのマルチクラスタを構築した。 今回は1段深く掘り下げて、クラスタ内に複数のフロントサービスを持つケースを考える。 このケースでAnthosで構築したマルチクラスタのFail Ov…

【GCP Anthos】Anthos Service Mesh + Ingress For Anthosを組み合わせたk8sのマルチクラスタを構築する

この記事について 前回の記事でIngress For Anthosを使ったマルチクラスタによるk8sの冗長化について触れた。 今回はManagedなIstioを提供するAnthos Service Meshも取り入れ、 サービスメッシュを導入したマルチクラスタを実際に構築してみる。 Anthos Serv…

【GCP Anthos】 Regionに跨って冗長化したKubernetsのマルチクラスタをロードバランシングする

Anthosとは? アプリケーションを、OSSをベースにモナタイゼーションするための統括的な機能を提供するプラットフォーム。 モナタイゼーションとは? マイクロサービス化 インフラとアプリケーションの疎結合化 サーバレス 自動化 なるべくManagedへ Anthos…

Firestore + BigQueryで簡単なログデータ&プッシュ基盤をつくった話

導入 アプリのイベントログや、DAUなどの集計を考えるときに真っ先に選択肢に上がるのがFirebase Analyticsだ。 ユーザを特定のセグメントに分割して扱い、セグメントごとにプッシュ通知を送ったり、 特定のIn App Messageに対する特定のイベントへのコンバ…

Stackdriver Monitoringを用いたシステム監視

記事で書くこと Stackdriver Monitoringを用いたシステム監視を行う方法をまとめる。 特にStackdriver Monitoringはドキュメントからすぐに汲み取ることが難しい部分があるので実際に動かして検証した結果を記載する。 ※下記弊ブログのやきまわし Stackdrive…

CloudEndpointsを使って手軽に安全にGKE上のAPIを公開する

導入 GKEにElasticsearchなどのクラスタを載せて運用するとき、 大抵はファイアウォールなどで特定のノードやネットワークからしかアクセスできないようにすると思う。 だがそれだけでは特定のAPIはアクセスを禁止し、特定のAPIだけ公開したいといったニーズ…