プラプラ生活1週間目

ということで

7/19(金)に最終出社してから今日でちょうど1週間が経ちました。

まだ休暇中なので、7/31までは会社員と名乗れるはず…。

  • なんでやめたん
  • なんで次決まる前にやめたん
  • 今週やったこと
  • 今感じてること(チラ裏)

だらだら書くよ!

続きを読む

Kubernetes ServiceとIngress

自分なりの理解を整理

参考文献: Kuubernetes完全ガイド

Serviceの役割

  • 固定エンドポイントの提供
    • KubernetesのPodは生まれては消える、名前もIPアドレスもコロコロ変わる。
    • そのため、サービスのエンドポイントにPodのIPアドレス指定すると現実的に運用できない。
    • Serviceを使えば、固定エンドポイントが作成される。
  • ロードバランス
    • 固定エンドポイントに紐づく複数のPod間でロードバランシングが行われる。
    • ServiceのロードバランスはL4レイヤ
    • L7でロードバランスしたいときは後述のIngressを使う

kind: Service の種類

KubernetesのPodへのアクセスのため使うもの

  • type: Cluster IP
  • type: NodePort
    • クラスタ外のホストからアクセス可能
    • 全ノードに対するExternalIPのようなもの
  • type: LoadBalancer
    • クラスタ外のホストからアクセス可能
    • 外部のLBリソースに対してIPをふる
    • GKE, EKS等は各自乗ってるクラウドのマネージドロードバランサと連携

Kubernetesリソース以外へのアクセスのために使うもの

  • type: ExternalName
  • type: Cluster IP(None Selector)
    • 何のPodにも紐付かない空のClusterIPを作成
    • 別途Endpointとして任意のIPを指定することでできる
      • PodのIPでもいいし、外部のサービスでもいい

kind: Ingress の種類

クラスタ外のロードバランサを利用するもの

  • GCP, AWSのマネージドL7ロードバランサを利用
  • バックエンドにはServiceを指定

クラスタ内にIngress用のPodをデプロイするもの

  • type: LoadBalancerのService経由でIngress用Podに転送
  • Ingress用PodがL7ロードバランス
  • バックエンドにはServiceを指定

うーんむずかしい

読書ログ「ノンデザイナーズ・デザインブック」

読書ログ第2回です! Amazonのアソシエイト審査落ちてワラタ!

読んだ本

ノンデザイナーズ・デザインブック [第4版]

ノンデザイナーズ・デザインブック [第4版]

続きを読む

Ruby on Rails Tutorial 7章

ぼちぼち進めております。

進める中で調べたメモ。

次は7.4から…

  • Option引数とKeyword引数
    • Option引数
    • Keyword引数
  • ブラウザによるバリデーション(Rails関係ない)
  • マスアサインメントとストロングパラメータ
続きを読む

インフラ勉強会1周年記念イベントに行ってきました

infra-workshop.github.io

2019/01/26に開催されたインフラ勉強会1周年オフラインイベントに行っていました。

少し時間が経ってしまいましたが、ツイッターのメモ書きだけで流してしまうのはもったいない

とてもいいイベントだったのでブログにもまとめておくことにしました!

続きを読む

読書ログ「学びを結果に変えるアウトプット大全」

最近は去年までと比べて本を読む機会が増えたのですが(えらい)

せっかく情報をインプットしてそれっきりなのももったいないので

できるだけ読書ログにまとめていきたいと思いたちました。

今回読んだタイトルもちょうどいいかんじ。

読んだ本

学びを結果に変えるアウトプット大全 (Sanctuary books)

学びを結果に変えるアウトプット大全 (Sanctuary books)

※ まだ承認されてないけど、Amazon.co.jp アソシエイトに申し込んでみました。

気にする方はリンクじゃなくてGoogleとかで検索して飛んでね。

続きを読む

kinesisお勉強メモ

なぜやるか

今お仕事で構築中のシステムでKinesissをたくさん使うようなので、

どんなものなのか ちょっと詳しく知っておきたかった。

どうやってやったか

いい感じの公式CFnテンプレートがあったので

デプロイ & 中身を見てみた。

このテンプレートでは Cloud Trailで収集したアクティビティを

いい感じにグラフ化したダッシュボードシステムがデプロイされる。

Kinesis Data Firehose, Analytics, Streams の3種類とも使っているので

勉強になりそうだと思った。

メモ

Kinesisとは

ざっくり言うと、大量のデータをバッファリングしておいて、

必要に応じ加工・分析も行えるサービス。

データを溜めておく、と言うことからよくSQSと比較されているけど、

そもそも SQSは Kinesisほど大量のデータを扱う想定をしていないのと

KinesisはSQSと違って内部データの削除は行わないので

(あらかじめ設定したTTLの間 保持し続ける)、

同時に複数のアプリケーションからデータを利用したりすることができるみたい。

(SQS触ったことないので今度)

Kinesis Data xxx 3種類の特徴

Kinesis Data Streams

  • Kinesis Data Streams自身はデータのSource, Destinationや加工方法の指定ができない
    • データをバッファリングしておく場所の提供
    • データをPutする & 内部のデータを利用する ためには自分でコードなり他のマネージドサービスを用意する必要がある
  • 利用規模に応じてシャード数を指定する必要がある
  • リアルタイム処理に向いてる(データロード間隔 1秒以下〜)

Kinesis Data Firehose

  • データのSource, Destinationや加工用Lambda関数の指定がコンソール上でできる
    • Source: Kinesis Data Streams, Cloudwatch Logs, Cloudwatch Event, AWS IoT から選択
      • APIも叩けるので自分でコード書いてputしてもOK
    • Destination: S3, Redshift, Amazon ES, splunk から選択
  • シャード数など指定せずともよしなにマネージドでやってくれる
  • Streamsより簡単に利用できるが、柔軟性やリアルタイム性に欠ける(データロード間隔 60秒〜)

Kinesis Data Analytics

  • 上2つとは異なり、データ置き場としてではなくデータの加工処理がメイン
  • Sourceのストリームから流れてくるデータに対してあらかじめ設定したSQLを実行し、結果をDestinationに送信

テンプレートで作成されるKinesisリソースのデータフロー

  • 4つデプロイされている
  • データの流れがぱっと見わからなくて(絵にないのもあるし)手こずった。。

  • RealTimeInsightsAccountActivityCloudTrailInput

  • RealTimeInsightsAccountActivityApp
    • Kinesis Data Analytics
    • source: Kinesis Firehose RealTimeInsightsAccountActivityCloudTrailInput
    • データ加工: SQL文を指定(CFnのテンプレート参照)
    • destination:
      • Stream RealTimeInsightsAccountActivityDataSteam

  • RealTimeInsightsAccountActivityDataSteam

    • Kinesis Data Stream
    • source: ここでは指定してないけど ↑ のAnalyticsからPutされてる
    • データ加工: なし
    • destination:
      • (1)ここでは指定なしだけど ↓ のFirehoseが引っ張ってる
      • (2) 同じくここでは指定していないけど, Lambda関数  real-time-insights-account-activity-update-ddb のトリガーになっている(ここから図の通り Dynamoに流してる模様) ↓
  • RealTimeInsightsAccountActivityAnalyticsOutput

    • Kinesis Data Firehose
    • source: Stream RealTimeInsightsAccountActivityDataSteam
    • データ加工: 指定なし
    • destination: S3 (CFnテンプレ名)-outputfirehoses3bucket-fugafuga