本日も乙

ただの自己満足な備忘録。

Web Risk API で危険な URL から守る

個人で Web サービスを開発するときに、Web 上にある情報を取得するためにクローラを実装された方もいるかもしれません。昨今、本や Web サイトでクローラやスクレイピングに関する情報が多く出回っているので、実装は難しくないと思います。 しかし、クロー…

2019年振り返り & 2020年の目標

あけましておめでとうございます。 2019年が終わったので昨年冒頭に設定した目標を振り返って2020年の目標を定めたいと思います。 2019年振り返り 昨年の記事 2019年の目標 - 本日も乙 アウトプットの量と質を増やす 技術カンファレンスにCfP(Call for Paper…

GCPUG Tokyo December 2019 に参加してきました

先日 GCPUG Tokyo December 2019 に参加してきました。 会場は株式会社ディー・エヌ・エーでした。実はヒカリエに入ったのが初めてで*1買い物客と一緒にエスカレーター乗っていると朝の通勤時に混雑で大変そうだなと思ってしまいます。 オフィスはめっちゃ広…

【GCP】OS Inventory Management でパッケージ一覧を取得する

本稿は Sansan Advent Calendar 2019 の20日目の記事です。 今年は GCP に触れることが多い一年でした。GCP に触れてきた中で気になるアップデートがあったので紹介をします。 OS Inventory Management とは OS Inventory Management は GCE インスタンスに…

GCE インスタンス・GKE ノードの GPU メトリクスを Stackdriver に投げるツールを作った

本稿は Google Cloud Platform Advent Calendar 2019 の 17日目の記事です。 tl;dr GCE インスタンスで GPU メトリクスを取りたい! リポジトリ サポートOS メトリクス 使い方 Docker コンテナで動かす GKE クラスタで動かす メトリクス値の移動平均 まとめ …

技術書典8 で AWS コスト本を出します

先日、技術書典8のサークル募集が開始されましたね。 blog.techbookfest.org まだ応募もしていないのにタイトルのようなことを言ってしまっていますが、もしサークル当選したら AWS コスト本を出したいと思います。 なぜコスト本なのか 技術書典7で AWS IAM…

GCE プリエンプティブインスタンスを安全に停止する

プリエンプティブインスタンス はAWSのスポットインスタンスと同じように空きリソースを活用して通常のGCEインスタンスより格安で使えるオプションです。コストを最小限に抑えるためにはプリエンプティブインスタンスの有効活用が欠かせませんが、制約として…

IntelliJ IDEA で Spinnaker をリモートデバッグする

業務で Spinnaker を活用したデプロイフローを構築しています。Spinnaker は便利なことが多い反面、バグに遭遇したりクラウドの新機能に追いついていないなどの問題もしばしば遭遇します。今直面しているのが、GCP の Internal HTTP(S) Load Balancing に Sp…

他 GCP プロジェクトの GCS バケットにアクセスする

小ネタ系です。 GCS バケットがある GCP プロジェクトとは別の GCP プロジェクトから GCS オブジェクト(ファイル)を取得したい場合があったりします。AWS だとクロスアカウントを連携するために IAM ロール作って AssumeRole するとか面倒ですが、GCP だと…

#技術書典 で継続デリバリーツール Spinnaker 入門を販売しました

2019年9月22日の技術書典7で「Spinnaker入門」という本を出しました。初めての本執筆で同人誌デビューです。 こんな感じです。申し込み当初は日和って50部でいいかなと思っていたのですが、サークルチェック数が40とか50になったので、チャレンジして80部に…

2020年1月から GCE の外部 IP アドレスと NAT ゲートウェイの料金体系が変わる

本日、New pricing for external IPs for Google Compute Engine VMs and Cloud NAT from January 1, 2020 という件名のメールがきていました。 内容を要約すると、 2020年1月から料金体系が変わって自動適用されるよ GCE の外部IPアドレスが無料だったけど…

Google Cloud Next Tokyo 2019 に行ってきた

今年も Google Cloud Next Tokyo 2019 に参加してきました。 2日間とも参加したかったのですが、業務都合があり1日目のみの参加です。 セッションの感想などは会社ブログに譲るとして、本記事は写真から Cloud Next を振り返りたいと思います。 会場について…

CloudNative Days Tokyo 2019 に参加・登壇してクラウドネイティブについて考えてみた #CNDT2019

CloudNative Days Tokyo 2019(CNDT)に参加および登壇してきました。 cloudnativedays.jp 登壇に関するレポートは会社の技術ブログで書くとして、今日は CNDT に参加してきたことで感じたことや思ったことを書いていきます。 CNDT に登壇したきっかけ CFP …

gcloud コマンドで GCE インスタンスを OS 別にフィルタする

今日も小ネタです。 GCE インスタンスを OS 別に集計する必要があるとします。無い人もいるかもしれないですが、あるとします*1 。 Amazon EC2であれば aws ec2 describe-instances コマンドの --filters オプションに platform があるので、Windowsホストの…

Google Container Registry (GCR) のリポジトリ一覧を一発で取得する

小ネタです。 特定の GCP プロジェクトにある Google Container Registry (GCR) リポジトリ一覧を取得しようと、gcloud container images list コマンドを実行したのですが、 Listed 0 items. となってしまいました。 $ gcloud container images list Listed…

Spinnaker で Google OAuth 認証によるログイン機能を有効化する

久しぶりの Spinnaker ネタです。 Spinnaker をインストールして、ブラウザから GUI を見るとき、以下のようにポートフォワードしていたかと思います。 $ gcloud compute ssh dev-spinnaker -- -L 9000:localhost:9000 -L 8084:localhost:8084 外部から見れ…

AWS Summit Tokyo 2019に行ってきた

3ヶ月ぶりのブログ更新。習慣から外れるとずっとなかなか書かなくなりますね・・・ 今年も AWS Summit Tokyo に行ってきました。 昨年までは品川のグランドプリンスホテル新高輪だったのですが、参加者が増えて手狭になったのか、今年は幕張メッセ。遠かった〜…

Athena で S3 署名バージョン2の利用状況レポートを作成する

Amazon S3 の署名バージョン2(Sig V2)が6月24日以降使えなくなるとのことです。詳細についてはクラスメソッドのブログが詳しく取り上げられています。 docs.aws.amazon.com AWS SDK や AWS CLI を定期的にバージョンアップしている人にとっては対応不要だと…

Spinnakerで Bake ステージを作成する

Spinnakerで Bake ステージと呼ばれる、デプロイするためのマシンイメージを作成する工程をパイプライン上に作成することができます。AWS では AMI, GCP では VM イメージ が該当します。 Spinnaker では Hashicorp 社の Pakcer というツールを使ってマシン…

Webhook をトリガーに Spinnaker のパイプラインを実行する

Spinnaker のパイプラインを実行するためのトリガーが多数用意されています。 Webhook GitHub Cloud Pub/Sub Cloud Build *1 GCS *2 Docker Registry Jenkins Travis CI Wercker 別のパイプライン CRON Manually run (手動実行) 本記事ではトリガーの一つで…

Google Cloud INSIDE Digital に登壇します

久しぶりのブログ更新です。 2月は風邪引いたりプロジェクトが大詰めだったりで、なかなかブログ更新に手を伸ばせませんでした。 今日を逃すと2月丸々更新しなくなってしまうので、重い腰上げて今日は宣伝だけしたいと思います。 3月7日に Google Cloud INSI…

GCE に Spinnaker をインストールする

GCPのデプロイツールとして Spinnaker を検討しています。本記事GCEインスタンスに Spinnaker をインストールしたときのメモを共有します。 なお、 Spinnaker とは?他のCI/CDツールとどう違うの?とかは他の記事に譲ります。 GCPサービスアカウントの作成 s…

Stackdriver Logging, Cloud Pub/Sub, Cloud Functionsで特定のイベント時にSlack通知する

GCPのCloud FunctionsはHTTPリクエスト、Cloud Pub/Sub、Firebase、GCS *1 をトリガーに呼び出すことができる、イベント駆動型のサーバレスサービスです。よくある例として、Cloud Storage(GCS)にファイルを置いた場合にCloud Functionsを実行して何かしらの…

アンガーマネジメントのコーチングを受けてきました

昨年を振りかえったときに、気持ちの余裕さの欠如による精神的不安定が多かったと思いました。 気持ちの余裕がないときでも自分の感情をコントールすることができていなかったと反省しています。 社内制度でアンガーマネジメントに関するコーチングを受けら…

AWS IAMユーザのパスワードポリシーを変更した後の挙動について

長年の悪習であった、「パスワードの定期的変更」がようやく見直しがはいったのは記憶に新しいと思います。 今後は「定期的な変更」ではなくて、「パスワードの使い回しをしない」「強固なパスワードにする」が主流になってきます。 パスワード定期的変更は…

別AWSアカウントに保存しているCloudTrailログをAthenaから検索する

以前に、CloudTrailのログを別のAWSアカウントのS3バケットに転送する方法を紹介しました。 今回はCloudTrailを設定しているAWSアカウントのAthenaからそのS3バケットに検索する方法を紹介します。 …が、正直言ってあまりオススメできる方法ではないので、可…

Windows on GCEにおける起動/停止スクリプトの実行方法についての調査

コンテナが流行っているこのご時世、GCEでかつWindowsマシンというマイナーな話題ですが、現行システムで動かしている以上、色々調べなければならないこともあるわけでして。 最近躓いているのが、Windows VMマシンで起動および停止スクリプトが、GCEの起動…

Cloud Storage(GCS)のバケットロックによるファイル保持で変更・削除から守る

昨年のアップデートになりますが、Cloud Storage(GCS) の Bucket Lock 機能がGAとしてリリースされました。 cloud.google.com Bucket Lock 機能によって、特定のGCSバケットに格納されたファイル(オブジェクト)は指定した期間は変更および削除ができなくなり…

2019年の目標

あけましておめでとうございます。 昨年内に2018年振り返りも含めてブログ書こうと思ったのですが、振り返り内容が思いの外暗すぎて公開するのが憚られたので、今回は2019年の目標のみにとどめます。 アウトプットの量と質を増やす 技術カンファレンスにCFP(…

Security GroupのIn/OutのRules数が60に増えました

小ネタです。 少々前になりますが、Security Groupあたりのインバウンド/アウトバウンドルール数が50から60に増えました。 You can now have a total of 60 (up from 50) in/out rules on a single VPC security group : aws ドキュメントを確認しても 60 …