ブログ

豆蔵エンジニアの技術ブログ

  • S3 の静的 Web サイトをセキュアに Envoy でホスティング

    庄司です。 モダンな UI のフレームワークは静的なコンテンツとしてパッケージングされることが主流となっています。これは変化の激しい UI とそれと比較すれば比較的変化のスピードが遅くてよいバックエンドとの関係で理にかなっています。UI のこうした静的なコンテンツの配信では多くの SaaS 製品で CloudFront のような CDN が利用されています。しかし、エンタープライズで利用されるフロントエンドの場合には VPN を通じたアクセスのみを許可している場合が多くあります...

    記事を読む
  • |ブログ|5 min read
    #wasmer#WASM

    スタンドアローンおよび言語組み込みの WebAssembly ランタイム Wasmer

    WebAssembly (Wasm) はブラウザで実行可能なバイナリフォーマットの標準として策定され、各ブラウザベンターにより実装されました。その後 Wasm の実行効率、ポータブルでセキュアな特徴をブラウザ外でも利用可能にするため WebAssembly System Interface (WASI) が策定されました。Wasmtime や Wasmer などの WASI 対応 Wasm ランタイムが開発されています...

    記事を読む
  • |ブログ|3 min read
    #CI/CD#GitHub

    GitHub のリリースノート自動生成機能を使う

    昨年10月 GitHub のリリース機能がリニューアルされ、自動的なリリースノート生成とリリースページ作成 UI の改善が実施されました。 Improvements to GitHub Releases - generally available | GitHub Changelog 自動的なリリースノート生成については、これまで Release Drafter が使われてきましたが、この機能が本家に取り込まれた感じですね...

    記事を読む
  • |ブログ|4 min read
    #CI/CD#GitHub

    GitHub Actions - 再利用可能ワークフローを使う

    GitHub Actions のワークフローから別のワークフローを再利用する機能が昨年11月にリリースされました。この機能がなくて不便に感じていた人も多いのではないでしょうか。 GitHub Actions: Reusable workflows are generally available | GitHub Changelog Reusing workflows - GitHub Docs シンプルなワークフローを作って試してみました。 呼び出し側のワークフロー...

    記事を読む
  • |ブログ|11 min read
    #Tauri

    Rust によるデスクトップアプリケーションフレームワーク Tauri

    Tauri はクロスプラットフォームデスクトップアプリのための Rust によるフレームワークです。Electron と同様 Web 技術でアプリの UI を構築します。 Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Studio 記事執筆時点で v1.0.0-rc.5 (Pre-release)、もうすぐ v1.0 がリリースされそうなところです...

    記事を読む
  • |ブログ|11 min read
    #container#k8s#Security

    KubernetesのPod Security(PSS/PSA)

    Kubernetesのv1.21で、今までPodセキュリティを担っていたPodSecurityPolicy(PSP)が非推奨となりました[1]。このままいくとPSPはv1.25で削除される予定です。 Kubernetesコミュニティ(Auth Special Interest Group)では、現在これに代わるものとして新たにPod Security Standardsを規定し、これをもとにPodのスペックを検証するPod Security Admissionを開発しています...

    記事を読む
  • |ブログ|16 min read
    #Kafka

    Debezium によるチェンジデータキャプチャー

    Change Data Capture (CDC) は、データベースで発生した変更をキャプチャーして別のシステムに伝播させ、応答できるようにする仕組みです。CDC を利用することで、テーブルの更新をポーリングするバッチ処理などを作り込まずに、イベントドリブンな応答処理を実装できます。CDC はイベントソーシングと並んで分散システムをリアクティブに連携させるためのソリューションとして位置付けられます...

    記事を読む
  • |ブログ|6 min read
    #container

    macOS 上で Podman を動かす

    2022年1月31日で Docker Desktop の移行期間が終了し、企業での使用は無償使用の条件に該当しない限り全て有償化されました。 有償化による金額の大小に関わらず、大企業での作業には予算の認可に時間が掛かったり、中小企業だとそもそも年度の予算が足りなかったりなど、さまざまな理由でライセンス料を支払う事が難しいケースもあります。 そこで Docker Desktop の代替となるツールの候補として、Podman について調査してみました...

    記事を読む
  • |ブログ|5 min read
    #CI/CD#GitHub

    GitHub Actions ワークフローにおけるジョブ制御

    GitHub Actions ワークフローでは、複数のジョブを順次・並列・条件実行できます。各ジョブは異なるマシン(Runner) もしくは コンテナイメージで実行されます。それぞれ具体的に見ていきましょう。 --> Information本記事は、以下のブログ記事を再編・追記したものです...

    記事を読む
  • |ブログ|9 min read
    #AWS#認証/認可#envoy#ZTA#OPA#rego

    Envoy と Open Policy Agent を使用した認可

    庄司です。 Envoy proxy は API を使って動的に構成すると無停止で設定変更等を行うことができます。このような操作は 通常 Istio や AWS App Mesh のようなコントロールプレーンで行うことになります。 この一連の記事では Envoy proxy 単体の機能を説明するために静的な設定を用いて説明しています。 認証についての記事で OpenID Connect の ID Token の検証について説明しています...

    記事を読む
  • |ブログ|7 min read
    #AWS#認証/認可#envoy#ZTA

    Envoy を使用して ID Token (OIDC) を検証する

    庄司です。 Envoy proxy は API を使って動的に構成すると無停止で設定変更等を行うことができます。このような操作は 通常 Istio や AWS App Mesh のようなコントロールプレーンで行うことになります。 この一連の記事では Envoy proxy 単体の機能を説明するために静的な設定を用いて説明しています...

    記事を読む
  • Serverless Framework v3新機能のStage Parameters紹介

    2022/1/27にServerless Frameworkのメジャーアップデート(v3)がありました。 Serverless Framework V3 Is Live! CLIの改善以外にそれほど大きな変更はなさそうですが、v3でStage parametersという新たな機能が導入されました。 これをうまく活用することで、環境ごとに異なる設定を簡潔に記述できます。 今回はこのStage parametersを紹介したいと思います...

    記事を読む
  • |ブログ|5 min read
    #AWS#envoy

    S3 の静的 Web サイトを Envoy でホスティング

    庄司です。 S3 に静的なコンテンツを配置して公開する場合、よく見られる構成は CloudFront とを組み合わせるパターンです。ほとんどの場合、これで問題ありません。しかし、一部のパターン、例えばエンタープライズで利用されるフロントエンドの場合には、VPN を通じたアクセスのみを許可している場合があります。このような場合、世界中の多数のユーザに低レイテンシーな配信を目的としている CloudFront のような CDN が適切とは言い難いものとなります...

    記事を読む
  • |ブログ|5 min read

    Markdown でスライドを作れる Slidev を使う

    Slidev は Markdown でスライドを作成できる NPM パッケージです。 ドキュメントは日本語版もあります。 概要ページに書かれている機能性を見ると、普段コードを書いてる人をターゲットにしていることが分かります...

    記事を読む
  • |ブログ|9 min read
    #electron

    electron-quick-start のコミット履歴で見る Electron プログラミングモデルの変遷

    electron-quick-start は Electron でのプロジェクトのひな形となるアプリのリポジトリです。 GitHub - electron/electron-quick-start: Clone to try a simple Electron app Electron が1.0に到達する以前の2015年からメンテナンスされています。Electron の進化とともにファイル構成やプログラミングモデルも変わってきました。その歴史をコミット履歴から見ていきましょう...

    記事を読む
  • |ブログ|26 min read
    #k8s#container#AWS#auto-scaling

    Karpenterのオートスケールを試してみました

    2021/11/29に、AWSはKarpenterというKubernetesのオートスケーラーをGAリリースしました。 Introducing Karpenter – An Open-Source High-Performance Kubernetes Cluster Autoscaler これは有料のサービスではなく、OSSとしての提供です。現在はAWSのみに対応していますが、構造上はそれ以外のクラウドプロバイダーでも使えるものになっています...

    記事を読む
  • |ブログ|1 min read
    #k8s#container#rancher-desktop

    Rancher Desktop 紹介

    庄司です。 つい先日 (2022年1月21日) に、lima 紹介 という記事を書いたばかりですが、Mac (M1/Intel) と Windows のどちらにも対応し (さらに Linux にも)、それぞれ Lima と WSL2 を利用してコンテナランタイムを実行する、Rancher Desktop がついに v1.0.0 に到達したというニュースを受け取りました...

    記事を読む
  • |ブログ|3 min read
    #AWS

    EC2にS3をマウントする方法

    FTPサーバーとして使用しているEC2がファイルを受け取った際に、S3トリガーでLambdaを動かすようにしたときのメモです。 AWS Transfer for SFTPも検討しましたが、コストの問題からEC2にS3をマウントする方式を採用しました。 以下、その手順です...

    記事を読む
  • |ブログ|2 min read
    #container

    lima 紹介

    庄司です。 M1 チップ搭載の mac で Windows の WSL2 のような感覚で仮想 Linux 環境を手に入れたいとの思いから、lima というプロジェクトがあることを知り早速使い始めました。 インストールは、Homebrew を使うと楽にインストールすることができます。 brew install lima 仮想マシンの起動 # 次のようにコマンドを実行するとデフォルトの仮想マシンが起動します...

    記事を読む
  • |ブログ|3 min read
    #scrapbox

    sb2md - Scrapbox ページを Markdown に変換する CLI

    Scrapbox の記法はシンプルでサクサク書けます。ただ、書いた記事をブログなどに転用する際 Markdown に変換するのがちょっと手間です。sb2md は Scrapbox のページを Markdown に変換するための CLI です...

    記事を読む

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。