2021-01-01から1年間の記事一覧

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…

ECSのFargateからEFSをマウントするための最小限サンプル設定

FargateからEFSを利用するための動きを確認したい場合に使える、最小限の構成設定を準備したので記載します。 Dockerイメージの準備 Cloudformation適用 動かしてみる EFSの中身を見てみる EFSのマウント EFSの中身確認 掃除 Dockerイメージの準備 以下のよ…

Modbus TCPでLinuxから機器に対して接続確認する時の確認手順

Raspberry Pi等のLinuxマシンのIoT GatewayからModbus TCP通信を行うことが多いのですが、繋がらない場合に確認しているポイントを書きます。 ネットワークの基本的な手順なのですが、機器の仕様書読んで、実機繋いで、そこからの手順は大体いつも同じなので…

ECSでECR利用監査するAWS Configをrdkを使って適用

コンテナセキュリティを検討していると、ECSで利用されているイメージはECRから取得されているかチェックしたいという要望はあると思います。 EKSの場合はこちらの記事で書かせていただいたOPA などを利用すると良いですが、ECSの場合はAWS Configを使うこと…

BottlerocketをECSのAutoScalingに組み込むCloudformation定義と手順

AWSのコンテナ専用OSである Bottlerocket をECSクラスタに付けてオートスケールしてみました。 この記事ではBottlerocket OSの aws-ecs-1 というバリアントを利用しますが、このバリアントは developer preview フェーズなので、今後変わる可能性があります…

OCPP (Open Charge Point Protocol) をPythonとOSSのSteVeで使ってみる

世の中はEV普及に向けて進んでいますが、EVが普及するためには必須事項として充電環境があります。充電器を管理するオープンなプロトコルのOCPP(Open Charge Point Protocol)を触る機会があり記事を書きます。 OCPPとは OCPPを触りたい Charge Point側開発…

新しくクラウドサービスを学ぶ時Infrastructure as Codeから始めてる話

背景 クラウドサービスのキャッチアップにおける課題 サービス間連携が多い 新機能追加のスピードが速い すぐ忘れる 勉強時にインフラコードを書くようにしてみた 以前のステップ 現在のステップ Infrastructure as Codeについて 使っているツール メリット …

Amazon ECSをInternal ALB公開する基本構成のCloudformation

ECSにデプロイしたWEBサービスを内部ALBで公開するためのベースとなるCloudformationを作りました。 構成概要 パラメータ ソースコード 使い方 Cfn補足説明 ALB ECS Role ECS Cluster ECS Task さいごに 構成概要 実際は要件次第で色々付け加えると思うので…

Ansibleからsetup_air.shを実行してRaspberry PiとSORACOM Airを設定する

SORACOMでSIMカードとUSBドングルを購入して、さあRaspberry Piで設定となった時にドライバとかどうしようとなるのですが、SORACOMから設定スクリプトの setup_air.sh というものが提供されています。 dev.soracom.io 基本はこのスクリプトを実行すればSIMの…

AZ-220 Microsoft Azure IoT Developerに合格してきました

動機 勉強方法 Azure IoT関連サービスへの 所感 最後に久々のオンライン試験について 午前中に合格してきました。点数もまあ及第点かなと思います。 動機 実際の仕事ではAWS IoTやGreengrassを利用しているのですが、設計アプローチに幅を持たせたいと思い、…

M5StickC Plusを使ってRS485でModbus RTU通信してみる

IoT

M5StickC Plusを手に入れたので少し動かしてみました。 www.switch-science.com はじめに 開発環境を整える IDEの準備 M5StickC Plusの開発環境準備 Modbus-RTU通信準備 RS485通信用のHatの購入 Modbus通信に利用するライブラリを導入 コード 動かしてみる …