ローカルPCのDocker上でCloudWatch Logs Insights連携の簡易分析基盤(Elasticsearch)を使う

AWSを運用しているCloudWatch Logsを分析することが良くあると思います。 数年前はCloudWatch Logsのファイルをダウンロードしてきて、分析していて面倒でしたが、 CloudWatch Logs Insights が出てきてそれもかなり楽になりました。 それでも毎回調べながら…

Amazon CognitoのIDトークンのJWTをPyJWTを使って検証する

Cognitoの認証により発行されるA JSON Web Token (JWT) に対して、Pythonで検証処理を自前実装する方法を記載します。 JWT検証に利用するライブラリ Amazon CognitoのJWTの検証方法 サンプルコード 補足 Cognitoの設定 補足 jwt.decode()について JWT検証に…

Google Cloud DataflowでNative Library(*.so)が必要なjarを利用する方法

タイトルの通り、*.soなどの形式で提供されるNative Libraryを必要とするjarファイルをDataflowで使おうとして、ハマったので記録しておきます。 問題となっていたエラー 調査 サンプルコード 問題となっていたエラー まず出たエラーはこちら。このエラーの…

Docker Hubの公式イメージだけ使ってGCPにTerraformにてデプロイ

HashicorpからTerraformのイメージが公式でDocker Hubに公開されています。 https://hub.docker.com/r/hashicorp/terraform こちらを利用してGCPにインフラをデプロイします。その際に認証の部分もDockerの公式イメージだけで対応してみようと思います。 利…

Apache BeamでJavaのObjectをParquet形式でS3とGCSとローカルに出力する

GCPのCloud Dataflowでも使われている、Apache BeamでJavaの内部で持っているデータをParquetに出力するやり方です。 サンプルコードの構成 元にしたMaven ArcheType 利用するPOJO GenericRecordへの変換 出力先の切り替え ローカルに出力してみる GCSに出力…

AWS Certified Data Analytics - Specialtyの試験に合格してきました

AWS 認定データアナリティクス(AWS Certified Data Analytics - Specialty)の試験に合格してきました。 AWS 認定データアナリティクス – 専門知識 試験概要 試験準備 オンライン試験の失敗談 1回目 2回目 さいごに 試験概要 180分で65問の試験でした。AWS…

CloudFormationでメール承認つきのCode PipelineでEC2にデプロイする

AWS

今更感ありますが、メール承認付きのCode PipelineでEC2にファイルデプロイするところをCloudFormationでデプロイする方法です。 前提 CfnのYAML定義 Cfn適用 パイプラインを動かす ソースをCodeCommitにPush 承認依頼メール 参考 前提 IAMの設定からGitComm…

terraform-provider-azurermでエラーが出たときの調査ログ

Terraformのトラブルシューティングログです。 問題起きた時にどうやって原因を突き止めるのか、後で手順を誰かに説明する時のために書いておきます。 事象 TerraformのProviderのリポジトリを確認する ログを取得する APIを確認する Githubを検索 最終手段 …

ACR(Azure Container Registry)に保存されているイメージの世代管理をしたい

ACRのイメージが溜まるのが気になるので、古いモノ削除したいなと思って調べてみたら以下のMicrosoftの公式ページにまとまっていました。 ただ、記載があるのは、タイムスタンプである期間より古いものとか、タグの付いてないものを削除する手順でした。今回…

90歳超えた祖母のところにiPadとポケットWiFi置いたら色々捗った

介護施設に入っている90歳を超える祖母がいるのですが、休日には家族でお昼買っていって曾孫見せながら、一緒にご飯食べたりしています。話を聞くと日中はテレビばかりで退屈することがよくあるようです。 そんな祖母の一番の楽しみは曾孫の成長を見ることの…

TerraformでLinux Azure VMにHeartbeatの死活監視を組み込む

タイトルの件、検索してもあまり見つからなかったので書き残しておきます。 いきなりTerraformの定義です。ドキュメントを元に作ってます。 www.terraform.io variable "azure_subscription_id" {} variable "azure_tenant_id" {} variable "mail_address" {…

AKSやVMで複数マネージドIDに紐付けるとIdentity not foundとなり認証できなくなる件

結論 事象 事象の深掘り 原因を調査 Addon設定前 Addon設定後 最後に 参考URL 結論 複数のマネージドIDを紐付けている時には、認証時にどのマネージドIDを利用するか指定する必要があります。 こう書くと当たり前の話ですが・・ハマりました。 以下の例ではA…

Kubernetes KEDAのログレベルを変更する

KEDAは常時起動でポーリングしQueue等をチェックしているので、結構なログの量になります。 現時点でログのレベルは debug, info, error の3つが設定可能で、デフォルトはinfoとなっています。 https://github.com/kedacore/keda#keda-operator-logging この…

Azure PipelinesでAKSプライベートクラスタにデプロイを行う

AKSはAPIサーバーへの通信をプライベートに限定するプライベートクラスタを構築することが可能です。 ただしDevOpsでCI/CD組もうとすると通常のAKSクラスタだと簡単に統合できたところが、プライベートクラスタだと上手くいきません。(API叩けないので当然で…

WSLで777となったファイルやディレクトリをchmodでumaskの値に一括変更

小ネタです。 経緯 何も設定していないWSL上で普通のLinuxみたいに開発していたらパーミッションが 777 になってしまいます。 これを避ける設定として以下のような設定があります。 wsl.conf を設定して、 $ cat <<EOF | sudo tee -a /etc/wsl.conf [automount] options = "metadata" EOF WSLを再起動。 > wsl --shutdown PC交換後にこれを忘れてい</eof>…