Metabaseをソースコードからビルド(Docker利用)

Metabaseをビルドしようとしたのですが、Clojureに慣れてなくて環境構築詰まったので、Dockerでビルドしてみました。 環境前提 Metabaseソースの取得 ビルド用のDockerコンテナ起動 ビルド用の準備 アーティファクトの確認と実行 エラー対応 環境前提 Docker…

PythonからCognitoのUSER_PASSWORD_AUTHとUSER_SRP_AUTHでのトークン取得

AWS

Amazon Cognitoの認証フローは複数ありますが、サーバーサイドの処理のパターンから代表的な USER_PASSWORD_AUTH と USER_SRP_AUTH を行う方法を書きます。 AWSの資料から引用した以下の表の〇部分です。 引用元:https://d1.awsstatic.com/webinars/jp/pdf/…

GPVデータで格子点毎の気象要素をAWS上で時系列分析する方法を考えた課程

GPVデータ データ形式や特性について フォーマット サンプルデータ データの特性 要件 やりたいこと その他ポイント データロード データ容量 クエリ 検討 データ形式調査 パターン別に試行 RDBに行持ちで保持 データロード データ容量 S3+ Parquet + Athena…

AWS IAM Role AnywhereをDocker+OpenSSLのRootCAで試してみる

AWS

PKIベースでAWSのIAMロールを使える IAM Role Anywhereが発表されました。早速使えるようだったのでOpenSSLでCA構築して使ってみた手順を残しておきます。 環境汚さないためにDocker使っています。 AWS Identity and Access Management introduces IAM Roles…

ESP32-DevKitC-32D>Raspbery Pi WiFi Router>SORACOM Beam>AWS IoTでMQTT通信してみた

やりたいこと 構成 コード AWS IoT側確認 参考 やりたいこと 手元のESP32-DevKitC-32Dの情報を手っ取り早くAWS IoTに繋ぎたいと考えて、以下で作ったRaspberry PiのSORACOMルーター通してBeamで送ってみることにしました。 yomon.hatenablog.com 構成 構成は…

SORACOM SIMでルーター化したRaspberry Piを構築するAnsibleテンプレート

ルーターを通したSORACOM通信をしたいと思ったのですが、手元にSIM指せるルーターが無かったので、Raspberry PiとSORAOCM SIMを使ったWiFiルーターを自動構築できるテンプレートを作成しました。 Ansibleテンプレート 動かしてみる 環境構築手順 SORACOM Fun…

SORACOM Napterを使いSquid Proxy経由でデバイスにSSH接続する

やりたいこと Proxy(Squid)設定 Napterのドメインをホワイトリストに追加 squid.confの設定 Squidの設定反映 SquidサーバのグローバルIPを取得 Napterの設定 クライアントからの接続確認 nc(netcat)コマンドを使った接続確認 ssh configの設定 参考URL …

Serverless FrameworkでGCS->Cloud Functions->BigQueryの処理を書いてみる

タイトルにもある以下のような処理を簡易的にServerless Frameworkにて実装してみました。 bq load などのコマンドでも実装できそうな内容なのですが、Serverless FrameworkとGoogle Cloudの周りを調べたついでに作ってみました。 前提準備 Serverless Frame…

Azure SDK for PythonでActivity Logsを取得する

AzureのPython SDKでActivity Logを取得する方法を調べました。 使うモジュールについて そもそもどのモジュールで取得するのかわからなかったのですが、以下のIssueにヒントがありました。 Is it possible to extract Activity Logs for a subscription as …

GRIB2フォーマットをpygrib.fromstringとio.BytesIOでメモリ上で扱う

課題 対象となるファイル 利用するライブラリ 課題詳細 調査 対応 参考資料 読み込み処理 使い方 課題 気象庁から取得したGRIB2ファイルをPythonで解析しようとしています。 対象となるファイル www.data.jma.go.jp GSM 全球数値予報モデルGPV MSM メソ数値…

AWS Lambdaにおける並列データ処理におけるパフォーマンス対応のメモ

AWS

Lambdaで並列処理のパフォーマンス対応をしたので残しておきます。 目的 要件 アプローチ① 単一Lambdaシーケンシャル アプローチ② 単一Lambda 並列ダウンロード・並列処理・EFS利用 参考 アプローチ➂ 並列Lambda 並列ダウンロード・並列処理・EFS利用 参考 …

BigQueryからTableauへのHyper形式の抽出処理にHigh-Throughput APIを利用して高速化する

BigQuery側では一瞬で処理が終わるのに、TableauへのHyper形式の抽出が遅いので調べてみました。 結論 課題と調査経緯 High-Throughput APIを試す 設定手順 注意事項 結論 BigQuery公式のJDBCやODBCドライバーのHigh-ThroughputAPIを利用するとTableauの抽出…

2021年の仕事で使った技術を振り返る

2021年も終わりに近いので振り返りを書いておこうと思います。 使ってきた技術 AWS CDK SQL ブログ投稿頻度 読書(技術書以外) ドラッカーとワインバーグ 歴史小説 最後に 使ってきた技術 これを書くのに去年の振り返りを見てみましたが、使ってきた技術に…

AWS CDK PythonのバージョンをV1からV2にアップデートした

AWS CDKのV2がGAとなりました。 aws.amazon.com 開発中のプロジェクトのバージョンを更新するための変更部分を書いておきます。 参考資料 PyPiパッケージ更新 bootstrapが大きく異なる V1のリソース V2のリソース import文の変更 参考資料 こちらの内容を主…

私のリモートワーク環境(集中力を維持するためのデスク周りガジェット群)

去年は似たような記事で以下の記事で腰痛に焦点を当てて書きました。今回はデスク周りにフォーカスして書こうと思います。 yomon.hatenablog.com 始めに テーブル周りの小物 電卓 タイマー 二酸化炭素計 オーディオ機器 静寂を求め 静寂の代償 集中力を落と…

GitHub ActionsにてAWS_ACCESS_KEY_IDやAWS_SECRET_ACCESS_KEYを取得する

GitHub Actionsの中で立ち上げるDockerコンテナに AWS_ACCESS_KEY_ID や AWS_SECRET_ACCESS_KEY 、 AWS_SESSION_TOKEN を渡してAWS認証を行いたいと思い調べていました。 どうやら以下のモジュールを使うことで、OIDCでWebIdentityとしてIAM RoleをAssumeで…

AirflowのBigQueryValueCheckOperatorがHttpError 404でジョブが見つけられずに止まる

Cloud Composerでトラブルシュートしたので少しマニアックですが残しておきます。 事象 原因 解決策 参考URL 事象 Airflowの BigQueryValueCheckOperator を実行すると以下のエラーとなりました。404なのでBigQueryのジョブが見つからないみたいなエラーなの…

Dataflow+PythonでNFS接続でFilestoreのファイルを読み込む

DataflowでNFS上のテキストファイルを読み込む方法です。 はじめに Filestoreの準備 Filestoreインスタンスの作成 GCEからマウント Dataflow実装 Pipeline(Python) Setup.py ジョブ起動スクリプト例 実行してみる はじめに 最初はOSレベルでマウントできれば…

Serverless FrameworkでEFS for AWS Lambdaをデプロイする

コード Lambda関数 (handler.py) 設定ファイル(.env) Serverless Framework定義(serverless.yml) ポイント LambdaのEFSマウント設定 LambdaのDependsOn設定 LambdaのUID/GID 実行してみる 実行 結果確認 Lambdaで発生するこちらのエラー。 /tmp 領域を…

Google Cloudの英語の認定試験をリモートで受験した記録。身分証明書には注意!!

先日Google Cloud Certified - Professional Cloud Network Engineerの認定を更新するため試験を受けました。 Google Cloudの認定の中の一部の試験は英語でのみ提供されています。 できれば試験センター現地で受験したかったのですが、この状況なのでリモー…

CloudWatchアラームを別アカウントのEventBusに転送・処理するCloudformationテンプレート

AWS

やりたいこと Cloudformation パラメータ コード event_source.cfn.yaml event_target.cfn.yaml 使い方 やりたいこと CloudWatchアラートの発生元アカウントと、ハンドリングアカウントを分けたいと思い、以下の構成を作成します。 Cloudformation パラメー…

Cloud DataflowのFlexTemplateを閉域ネットワークで使おうとしたら少しハマった

Cloud DataflowのFlexTemplateをインターネット接続無しの閉域ネットワークにて使おうとしたら、少しハマったので書いておきます。 事象 ジョブの定義 発生するエラー 解決策 配布用アーカイブの作成 Dockerfile修正 Beam Pipelineのオプション修正 参考URL …

Raspberry Pi実機無しでゴールデンイメージを作成する(SORACOM接続用サンプル)

Raspberry Piの構築をAnsibleで行っていましたが、最初にネットワーク使えるようにするまでに、ほんの少しだけ手作業の設定が必要でした。 そこで、ネットワーク設定を含む全てのマシンで必要な共通のゴールデンイメージとして持って、マシンごとの個別部分…

AthenaのUNLOADとPREPAREでパラメータ化したクエリを組み合わせCSVをParquetに変換してみる

AWS

始めに CSVテーブル準備 利用するCSV形式のデータ Athenaに読み込み DB作成 テーブル作成 パーティション読み込み CSVをクエリしてみる PREPARE文による処理の準備 PREPAREによる処理作成 PREPARE文の説明 EXECUTE文による処理実行 Parquet変換結果確認 最後…

Ubuntuのunattended-upgradesを調べてみた

Ubuntuバージョン パッケージ情報 GitHub apt info スケジューリング anacron (今は使われていない) systemdによるスケジュール スケジュール確認 スケジュール設定(Systemd Timerファイル) スケジュール設定 処理概要 systemd Serviceファイル apt.system…

M5Stack Core2 for AWSのSecure Element ATECC608Aをインタラクティブに触ってみる

遅れながらこちらを購入して触ってみました。 www.switch-science.com 触ってみる 触ってみるには、こちらの公式のハンズオンを見てみたり、 edukit.workshop.aws こちらの記事を参考にすることをオススメします。 qiita.com インタラクティブかつ簡単にSE(…

Raspberry Piのケースを複数購入してみたので負荷をかけCPU温度を計測してみました(公式ファン、UCTRONICS、いちご缶)

いくつかRaspbery Piのケースを購入してみたので、負荷をかけてCPU温度を計測、比較してみました。 最初に書いておきますが、特定環境でのCPUの温度の計測をしただけなので、これだけで何かの優劣をつけるようなものでは無いと思っています。なるほどーくら…

Microsoft認定の更新が凄く簡単になったのでAzure Solutions Architect Expertを更新してみた

このブログのサイドバーにあるように、大量のクラウド系の認定を保持しています。 ここまで来ると毎年のように何らかの認定が期限切れが起きるので、認定資格取得します。お金は会社から出るのですが、正直忙しいと辛いです。更に更新となると余計にモチベー…

Amazon FreeRTOSのHello World用のリポジトリを作ってみた(WindowsとESP-WROOM-32にて作業)

FreeRTOSのビルド環境を勉強していましたが、最小限のHello Worldから始めたくて、作ったリポジトリです。 github.com 前提条件 ビルド作業 リポジトリの取得 ESP-IDF v4.2 のインストール ビルドファイルの生成 デバイスへ書き込み 動作確認 補足 M5StickC …

FreeRTOSをM5StickC PlusにインストールしてAWS IoTにメッセージを飛ばす(Windowsにて作業)

Amazon FreeRTOSを触ってみたくて、手元にあったM5StickC Plusにインストールしようとしたのですが、WEBや書籍の情報通りやったらバージョン依存等でかなりハマったので、最終的に纏めた手順を残しておきます。 作業は全てブラウザ(AWS Management Console…