ようへいの日々精進XP

よかろうもん

2019 年 04 月 08 日 (月)

ジョギング

  • 寝坊

腰痛

  • 一週間くらい前から右足の股関節に強い張りが続いて, とうとう腰痛になってしまった
  • 仕事を定時ダッシュで上がって近所の鍼灸院に駆け込んだ
  • 鍼を打つことでだいぶん張りは減った感じ

振られ気分で Rock'n' Roll

2019 年 04 月 07 日 (日)

ジョギング

  • 本当は博多天神一周をしたかったけど, 体がめちゃくちゃキツくて山王公園
  • 懸垂 6 回
  • 右の股関節周りに強い張りと違和感

AWS WAF x Terraform

ALB に定義しているパスに対して IP 制限を付与する設定を Terraform で実装してみた.

inokara.hateblo.jp

ステーキランチ

  • 近所の with the style という小洒落た名前のホテルに併設されている鉄板焼きのミディアムレアというお店にステーキを食べに行った
  • 予約の電話で, ミディアムレアがお店の名前とは知らずに「私はミディアムレアは食べれない」ってマジで言っていた奥さんが今日のハイライトだった
  • ほんとちーっこい肉の塊だったけど, シェフのあんちゃんが手際よく焼く雰囲気が調味料になってとても美味しく食べることが出来た
  • 一応, 高級店らしので, 自称セレブっぽい人たちの振る舞いが目について別の意味でも楽しめた

夕飯

  • ランチは贅沢を極めたので, 夕飯はお茶漬けで...と思ったけど, 奥さんお得意のポテサラや小松菜の炊いたんや豚汁でお腹一杯
  • とても美味しかった

AWS WAF を使って ALB に設定されているパス に対して IP 制限を施す Terraform サンプル

tl;dr

ALB に設定されている特定のパスに対して, AWS WAF を使って IP 制限を施す設定を Terraform で作ってみたのでメモっておきます. 尚, 作成にあたり, 以下の各種記事を参考にさせて頂きました.

www.terraform.io

dev.classmethod.jp

有難うございます.

こんなん感じ

検証環境

構成

root
├── index.html     # IP 制限しない
├── path1
│   └── index.html # IP 制限する
└── path2
    └── index.html # IP 制限する
  • path1/index.htmlpath2/index.html については xxx.xxx.xxx.xxxyyy.yyy.yyy.yyy からのみアクセスを許可
  • 上記以外については, IP アドレスの制限を設けない

Terraform など

$ terraform -v
Terraform v0.11.13

サンプル

以下のように作ってみました. workspace を使って環境を切り替えることを前提にしています.

作成した ACL を ALB と関連付ける為に ALB の ARN を指定しますが, 今回は諸般の事情により, variables.tf が取得するような書き方にしています.

また, Rule の定義 (aws_wafregional_rule.allow-rule) を定義する際に, aws_wafregional_byte_match_set.byte_set と aws_wafregional_ipset.ipset を AND 条件で定義する書き方がドキュメントから読み取ることが出来なくて試行錯誤してしまいましたが, 結局, 以下の通りに書くことで定義することが出来ました.

resource "aws_wafregional_rule" "allow-rule" {
  depends_on  = ["aws_wafregional_byte_match_set.byte_set", "aws_wafregional_ipset.ipset"]
  name        = "exampleAllowRule${terraform.workspace}"
  metric_name = "exampleAllowRule${terraform.workspace}"

  predicate {
    data_id = "${aws_wafregional_byte_match_set.byte_set.id}"
    negated = false
    type    = "ByteMatch"
  }

  predicate {
    data_id = "${aws_wafregional_ipset.ipset.id}"
    negated = false
    type    = "IPMatch"
  }
}

以上

メモでした.

Terraform 奥深いですね.

2019 年 04 月 06 日 (土)

ジョギング

  • 山王公園
  • 懸垂 6 回
  • たかだか 30 分くらいのジョギングなのにめちゃくちゃ息があがって疲れた

お花見

  • 最高の天気だったので, 奥さんと山王公園にお花見に行った
  • 奥さんが握ってくれたおにぎりがとても美味しかったが, おにぎりを食べて, ビールを飲んで 30 分くらいしたら腹痛で自宅に帰ってきた...
  • 帰ってきてからずーっとトイレに籠もって過ごした

2019 年 04 月 05 日 (金)

ジョギング

  • 山王公園
  • 懸垂 x 6 回

香椎飲み会

  • 香椎在住メンバーとの懇親会
  • ほぼ同じような仕事をしているんだけど, IT の話は少なめに香椎の土地の値段の話とか, 子育ての話とか面白かった

帰りに少し飲み足りない感じだったので...

一度やってみたかった、鹿児島本線で一杯呑む的なやつを。#なぜなら花金なので

普段は水で薄めて飲む氷結を丸々一本飲みながら博多まで帰った.

2019 年 04 月 04 日 (木)

ジョギング

  • お休み

会社をどうやって盛り上げていくか

  • 社員みんなでディスカッションした
  • 久しぶりに全員が一つの目標に向かって色々と考えるという場に身を置けた気がしてとても良い機会だった
  • 発表がダメダメだったり, 失言も多々あったけど, 明日からも頑張りたい

2019 年 04 月 03 日 (水)

ジョギング

  • 自宅スタート山王公園ゴールで博多の街を 30 分くらい
  • 懸垂 6 回
  • 左足の股関節周りに痛み (きっと腹筋が弱まってきた感

Circle CI の勉強 (2)

Workflow の概念について

circleci.com

  • ジョブの集まりとその実行順序の定義に関するルールを決めるもの
  • 複雑なジョブを自動化してビルドに失敗しても素早いリカバリーが可能となる

上記のドキュメントを見ると, Workflow を利用することで, 以下のような種類のビルドジョブを管理することが出来るようだ.

  • シーケンシャルジョブ
  • ファンイン・ファンアウト
  • 承認後に処理を続行する Workflow
  • スケジュール実行

などなど. Circle CI 奥深いぞ.

スポットインスタンス (2)

どうやら Spot Fleet が良さそうだ.

奥さん

  • お仕事に目処がつきそうなので, プチお疲れ様会をおでんとかうどんとか日本酒で

2019 年 04 月 02 日 (火)

ジョギング

  • 山王公園
  • 懸垂 6 回

Circle CI の勉強 (1)

speakerdeck.com

雰囲気はなんとなくという感じだったけど,まずは, この資料を読んで CircleCI とはというのを自分の言葉に出来るようにする.

  • Docker サポート
  • config.yml でテスト環境を統一
  • ワークフローでジョブを連結
  • SSH デバッグ機能
  • キャッシュ機構によるよるビルドの高速化

スポットインスタンス

オンデマンドインスタンスしか使わないという前提で色々と考えていたので.

2019 年 04 月 01 日 (月)

ジョギング

  • 完全寝坊

元号

  • 令和 (れいわ) とのこと
  • 盛り上がっているのはマスコミと改元を機会に名声を上げたい政治家くらい
  • そろそろ元号自体のあり方を考えるべきでは

実は

昨日は平成最後の日ではなかったらしい. 夫婦揃って間違っていた.

今日は

  • 12 時までには床に入る

2019 年 03 月 31 日 (日)

ジョギング

  • 筑後川沿いを 40 分くらいで 9 キロくらい

開発合宿 (2)

  • 朝は少し寝坊したけど, 筑後川沿いを軽く走る
  • 走ったあとの温泉もサイコー, 朝食も美味しく完食
  • 宿をあとにして, おしゃれなパン屋さんでお昼ごはんのパンを買い込む

実は

平成最後の日らしい.