39 posts by issei_m
aws-vault を使って AWS IAM のクレデンシャルを安全に管理する
June 16, 2021
posted by issei_m
最近、ローカルの開発 PC 上での AWS IAM のクレデンシャルの管理に aws-vault を使い始めてみた所、結構良さそうだったので紹介します。 ローカルでの IAM のクレデンシャル管理について AWS 上のコ ...
Spark 2.x で null を含む JSON を書き出す方法
May 27, 2021
posted by issei_m
Spark 2.x では、 DataFrame を JSON に書き出す際、値が null のデータは失われます。 次のコードを見てみましょう: 定義した Person の age  ...
[GitHub Actions] Secrets や書き込み権限が必要な Workflow を Dependabot からも使えるようにする
April 30, 2021
posted by issei_m
先月、とある GitHub リポジトリで使っている Dependabot が送ってくる Pull request の CI が軒並み落ちるようになり、状況を見てみるとどうやらリポジトリの Secrets がうまく Wor ...
SparkでDataFrameの内容を単一のファイルに保存する
February 01, 2021
posted by issei_m
Sparkで処理したDataFrameをファイルとしてディスクに書き出す際、通常ファイルはパーティションの数分作成されます。 上記の df はパーティション数が3つなので、 /tmp/spa ...
IAM で MFA を強制する方法と CLI での認証方法
October 20, 2020
posted by issei_m
今関わっているとあるプロジェクトでは、利用している AWS のリソースを操作するすべてのユーザーに対して MFA (多要素認証) を設定する事を義務付けています。 MFA 自体は AWS に限らず、多数の Web サービ ...
AKS上のKubernetesの秘匿情報をAzure Key Vaultで管理する方法
September 15, 2020
posted by issei_m
最近AKSでKubernetesを管理しているのですが、SecretオブジェクトをAzure Key Vaultで管理したくなり、調べた所、Azure Key Vault Provider for Secrets Sto ...
docker-compose.ymlのサービス名にアンダースコアを使うと正しいインターネットホスト名ではなくなる
August 25, 2020
posted by issei_m
以前こんな記事を書きました。 AWS CLI v2の公式Dockerイメージが出たみたいなので使ってみた ご存知の通りDocker Composeでは、以下の様にしてサービス (≒コンテナ) に名前をつける事ができ、これ ...
Scalaのコレクションで遅延処理を行う
August 17, 2020
posted by issei_m
皆様おはようございます。梅雨もとっくに過ぎ、すっかり夏らしい空模様となりました。埼玉は毎日気温が高くて死にそうです・・・。 さて今回はScalaのコレクションネタです。結論から先に書くと、Scalaのコレクション処理 ( ...
24時間稼働でないKinesisストリームの運用で手こずった点
May 21, 2020
posted by issei_m
前回に引き続き、Kinesisネタです。今回は、前回紹介したとあるコンシューマアプリケーションの運用で、タイトルにもある通り24時間稼働ではないユースケースでの運用で少しハマった点があるので書き記します。 ダウンタイムに ...
Scala + Kinesis Client LibraryでKinesisコンシューマーアプリケーションを作る
May 14, 2020
posted by issei_m
ここ最近のプロジェクトでKinesisのコンシューマーアプリケーションをScalaで開発・メンテしていたので、何回かに分けてノウハウをメモしておきます。 今回はScalaでKinesis Client Libraryを使 ...
JAVA_TOOL_OPTIONS環境変数でAWS Lambda関数のシステムプロパティを設定する
April 16, 2020
posted by issei_m
最近AWS Lambdaをよく使う事があり、色々知見が溜まってきました。今回はAWS Lambdaに直接関係がないトピックですが、JavaアプリケーションをLambdaで動かす時にシステムプロパティの値を変更したくなり、 ...
AWS CLI v2の公式Dockerイメージが出たみたいなので使ってみた
April 01, 2020
posted by issei_m
既に使っている方も多くいると思いますが、先月AWS CLI v2が正式リリースされました。このバージョンではバイナリが各メジャーなOS毎に用意されていて、Pythonのインストールが不要になったので、v1の頃より使いやす ...
AWS LambdaのJavaランタイムでミドルウェアのコネクションのリークでハマった件
March 03, 2020
posted by issei_m
今回はAWS LambdaでJava 8ランタイムを使った際に、Redis等のミドルウェアとのコネクションの管理関連でハマった点を備忘録として残しておきます。AWS Lambdaを使う上では抑えておくべき点である基本的な ...
parquet-toolsでApache Parquet形式のファイルをローカルでお手軽に確認する
February 21, 2020
posted by issei_m
こんにちは、皆さんお久しぶりです。最後のエントリからだいぶ期間が空いてしまいましたが、これからちょくちょくまた書いていきますので宜しくお願いします。 さて今回ですが、小ネタになってしまい恐縮ですが、タイトルの通りApac ...
Google Wifiを1ヶ月使ってやめた話と乗り換え先
November 18, 2019
posted by issei_m
※この記事は、先月新しく発表されたGoogle Nest Wifiではなく、旧モデルであるGoogle Wifiの話となります。予めご了承下さい。 こんにちは。こちらには2回目の投稿になります。 ここ1ヶ月程、自宅の無線 ...
(Scala) List[Option[A]]#flattenで起きる事
November 01, 2019
posted by issei_m
先日、kojiがOption(scala)の実用的な使い方 − データのマージ処理と言うナイスな記事を書いてくれたので、ScalaのOptionを包括した List#flatten についてもう少し掘 ...
Rails 6からActiveRecordのAssociationはscopingの影響を受けなくなっている件と対処法
September 26, 2019
posted by issei_m
こんにちは。日本ではすっかり秋の空が近づいてきました。個人的に夏は暑さが苦手であまり好きではないのですが、終わってしまうとなると毎年どこか寂しい気持ちになります。一方で、秋はご飯が美味しいので食べる事が好きな僕にとっては ...
(小ネタ)GitHubDarkを使ってGitHubをダークモードなUIにする
August 16, 2019
posted by issei_m
こんにちは。暑い日が続いていますが皆さんいかがお過ごしでしょうか?僕が住んでいるさいたまーでは連日の猛暑で外に出る気力も起きません。(因みに弊社はフルリモートなので外に出る事はあまりありません。採用も行っているので、興味 ...
PostgreSQLなRDSでIAM Database Authenticationを使ってみた
August 02, 2019
posted by issei_m
最近、とあるPostgreSQLなRDS(Auroraでない)を運用しているのですが、普通にRailsから使っているのとは別に、Lambdaからも接続する要件があり、表題のIAM Database Authenticat ...
Elasticsearch for Apache Hadoopを使ってSparkからAmazon ESにデータと連携してみた
June 17, 2019
posted by issei_m
今とあるプロジェクトで、Amazon EMRを使って少し大きめなボリュームのデータ処理をしているのですが、その中のあるデータの中身をWebフォームからニアリアルタイムでフィルタリングしたいと言う要望があり、その基盤として ...
(小ネタ)md5sumを使ってリモートにあるファイルとのチェックサムを検証するワンライナー
May 31, 2019
posted by issei_m
先に結論から書きます。 SSH接続した先にあるファイルとローカルファイルを比較する AWS S3上にあるファイルとローカルファイルを比較する ※S3の場合は、コンテンツをローカルにDLしてから計算している関係で、ファイル ...
macOSでVirtualBoxがインストールできない時の対処法
May 16, 2019
posted by issei_m
ここ最近プロジェクトではほぼDockerを使うようになり、Vagrantはあまり使わなくなりました。それに伴い、VirtualBoxの使用頻度も3〜4年くらい前に比べると格段と減った気がします。 そんなある日、とあるプロ ...
RubyMine 2019.1でRailsをdocker exec経由で起動可能になったがバグあって使い物にならない件
April 15, 2019
posted by issei_m
こんにちは。皆さんは普段どのような開発環境を使っていますか?僕はJetBrainsのIDEが好きなので、All Products Licenseを購入して各プロジェクトごとに適したIDEを愛用しており、RubyではRub ...
Bug in the Ansible’s s3_sync module `file_change_strategy` not working and workaround for it
March 29, 2019
posted by issei_m
I’ve described the actual workaround in the very bottom. If you are hasty just jump to: Workaround As of ...
Ansibleのs3_syncモジュールのfile_change_strategy: date_sizeのバグと対処法
March 22, 2019
posted by issei_m
対処法については一番最後に書いてありますので、面倒な方は読み飛ばして下さい: 対処法 このバグは当エントリ執筆時点の2019年3月22日現在確認ができています。また、現段階でAnsible本体にIssueとPull Re ...
AWS CLIで標準入出力でS3オブジェクトを操作する方法
March 07, 2019
posted by issei_m
標準入力からアップロード 標準出力へダウンロード ご覧の通り、 -を引数として渡すとそれぞれ標準入出力が使われます。既に周知かと思いますが、僕は知りませんでした。普段からちょっとしたファイルの操作をする時に、いちいち物理 ...
ECSの機能でSSMのParameter Storeに格納した機密情報をTaskDefinitionに埋め込む
March 06, 2019
posted by issei_m
こんにちは!今回は去年AWSで公開された、SSM (System Manager) のParameter Storeに格納した機密な情報(DBのパスワード等)を、直接ECSのTaskDefinitionに指定できる機能が ...
OpenSSLを使った安全なファイルの転送を検証してみる
February 18, 2019
posted by issei_m
こんにちは!今年もあと残すところ11ヶ月を切ってしまいました。時間が経つのは早いですね・・・。さて、今回はOpenSSLを使って表題の件を検証をしてみたいと思います。 先日、とあるファイル共有サービスのログイン情報を含む ...
Using .gitattributes in package distribution in GitHub
January 30, 2019
posted by issei_m
Hi there, how’s it going? This is the second time to write the entry in English for me. Anyway, do you know or ...
AWS Lambdaを使ってスプラトゥーン2の戦績をstat.inkに定期保存できるようにした
January 09, 2019
posted by issei_m
皆さん新年あけましておめでとうございます。今年もよろしくお願いします。新年と言うわけで、1発目の投稿は少しカジュアルな感じで行こうと思い、表題のネタを取り上げるに至りました。 スプラトゥーン2とは? 多分名前くらいは皆さ ...
RSpecのletの遅延評価を利用してよりコンテクスチュアルなSpecを書く
December 28, 2018
posted by issei_m
皆さんこんにちは。もう今年も残すところわずか3日となりました。早いものです。 さて、年末感のかけらもないネタですが、今回はRSpecのletについて、最近自分の中で1つの理解が得られた(気がする)ので書いてみようと思いま ...
PHPのコレクションライブラリ Knapsack を使ってみる
December 07, 2018
posted by issei_m
今日は僕が普段中規模以上のPJで使っている、PHPのコレクションライブラリ Knapsack の紹介をします。 特徴 Knapsackの主な特徴は、 コレクション操作用の高階関数が豊富 イミュータブル 全てが遅延評価 i ...
S3のGETリクエストでRangeヘッダーを使う
November 15, 2018
posted by issei_m
久しぶりの投稿です。 先日とあるプロジェクトで、Amazon S3に保存されているCSVファイルをデータベースにインポートする機能をPHPで作りました。 PHPではCSVを fopen と言う関数を使う事で、ストリームか ...
Rails 5.2のcredentialsを使うとDeviseからエラーが発生する問題と応急処置
August 08, 2018
posted by issei_m
※この問題はDevise 4.4.3以下で起きます。次期バージョンである4.5.0では修正されました。 発生した問題 とあるプロジェクトをRails 5.2で作っているのですが、Deviseを導入していくつかの設定を行っ ...
How to check the public (outbound) IP on CLI
July 18, 2018
posted by issei_m
Simply, you just hit: $ curl ipinfo.io/ip 18.179.199.139 Enjoy 👍
1Passwordの二要素認証機能を試してみる
July 14, 2018
posted by issei_m
皆さんこんにちは。梅雨も明け、一気に夏模様となりましたね。熱中症等に気をつけて過ごしていきたい所です。 さて、今回は1Passwordの二要素認証ついて書いてみたいと思います。 1Passwordとは このブログの読者に ...
Amazon EKSが一般公開されたので使ってみた
June 25, 2018
posted by issei_m
皆さんこんにちは。先日、ついにAWSのAmazon EKSが一般公開されましたね。現時点ではまだオレゴンとバージニア北部でしか使えませんが、今回は検証の為、ユーザーズガイドに沿って実際にクラスタを作成し、ゲストブックアプ ...
DockerでAWS Lambda用のNode.jsネイティブモジュールをビルドする
June 06, 2018
posted by issei_m
先日、AWS LambdaのNode.jsでiconvを使うのが大変だった件と言う記事を書きましたが、その後すぐ、AWSがAmazon Linux用の公式Dockerイメージを公開している事を知りました。 そこで、前回は ...
AWS LambdaのNode.jsでiconvを使うのが大変だった件
May 17, 2018
posted by issei_m
皆さんこんにちは。関東地方では梅雨入りもまだと言うのに、暑い日が続いていますがいかがおすごしでしょうか。 私は暑いのが苦手なので、ついに先日、今年初の冷房を使い始めました。笑 さて、最近、AWS Lambdaでiconv ...