サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
febc-yamamoto.hatenablog.jp
exec.Commandで外部コマンドを起動する時にトレースコンテキストを伝搬させてみました 今回のコード例 github.com 環境変数+propagation.TraceContextを利用することで伝搬させてみました。 解説 httpやgRPCの場合のコンテキスト伝搬 こちらの記事にあるように、呼び出す側/呼び出される側の両方で以下のようにPropagatorを設定した上でotelhttpやotelgrpcなどのインターセプターを利用します。 otel.SetTextMapPropagator( propagation.NewCompositeTextMapPropagator( propagation.TraceContext{}, propagation.Baggage{}, ), ) exec.Commandで外部コマンドを起動する時にはotelhttpやotelgrpcのよ
はじめに 最近お仕事でSigNozを使ってみました。 その中でSigNoz(が使っているClickHouse)のCold Storageとしてさくらのクラウド オブジェクトストレージを使ってみましたので利用手順などのメモを残しておきます。 SigNozとは オープンソースのAPM & オブザーバビリティツールとのことです。 signoz.io GitHubリポジトリのdescriptionには以下のように書かれています。 SigNoz is an open-source APM. It helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Applicati
最近MailosaurというSaaSを使ってメール送信機能をテストしてみましたので、備忘がてら紹介メモを残しておきます。 Mailosaurとは? Mailosaurとは Email and SMS testing platformだそうです。 mailosaur.com メールがちゃんと送れているか?だとかメール本文/添付ファイルなどは意図通りか?をテストするのに便利な機能が提供されています。 Mailosaurってなんて読むの? 以下の動画をみたところ、カタカナだと「メイラソー」のように呼ばれていました。 www.youtube.com どんなことができるの? EメールやSMS関連のテストを行うための様々な便利機能が提供されています。 詳細は以下のドキュメントに記載されています。 mailosaur.com 例えばEメール関連ですと以下のような機能が提供されています。(上位プランのみの
本投稿は、さくらインターネットアドベントカレンダー2022の14日目の投稿です。 この記事では2022年7月に発足した「SRE室」という部署について+これまで私が取り組んできたお仕事の一部を紹介します。 はじめに さくらインターネットへ入職しSRE室で働き始めてからもうすぐ半年となります。 febc-yamamoto.hatenablog.jp 新しい環境に慣れるまで苦労しましたが、ここ数ヶ月はだいぶ落ち着いてきており、最近は毎日の仕事がとても楽しく感じられています。 これまでSRE室としての取り組みをあまり紹介できていませんでしたが、せっかくのアドベントカレンダーという機会なのでここで紹介させていただきます。 SRE室の紹介 SRE室とは 2022年7月に発足したばかりの新しめの部署です。 以下のような企業理念/ミッション/ビジョン/バリューに従い日々の業務へ取り組んでいます。 企業理念
はじめに 試用期間を無事に乗り越えた お久しぶりです。今年の7月からさくらインターネットで働き始めておりました。 febc-yamamoto.hatenablog.jp 先月で試用期間が終わり、今月から正式採用となりました。 無事に試用期間を乗り切れて一安心です。 担当業務は? 所属部署はこれまで通りSRE室です。 ボスであるkazeburoさんをはじめ頼もしい同僚たちに囲まれて毎日楽しく仕事しております。 そんな中での私の業務はというと、引き続きUsacloudやTerraformプロバイダーといったOSSの開発をしつつSREとしての業務も担当しています。 Embedded SRE/Enabling SREとして、開発/運用の両者が共通のゴールをもって、運用性に優れたソフトウェアを開発すべくさまざまな取り組みをしています。 今日は最近のSREとしての取り組みの中から、デプロイの自動化にま
忘れがちなTeamCityの設定についての備忘録です。 今回の設定内容: Golangのテスト結果をリアルタイム表示 Golangで書いたアプリをTeamCity上でCIする際にテスト結果をきれいに表示するようにします。 設定手順 プロジェクト - ビルド機能(Build Features)でGolangを有効化 go testに-jsonパラメータを追加 ビルド構成でGolangを有効化 まずは各プロジェクト/各ビルド構成でビルド機能(Build Features)の画面を開き、Golangを追加します。 Add Build Featuresボタンから追加できます。 go testに-jsonパラメータを追加 次にテスト結果をJSONで出力するようにパラメータを追加します。 直接go testに追加しても良いですし、環境変数GOFLAGSに-jsonを指定してもOKです。 (ただし両方指
UsaConのメイン画面 はじめに さくらのクラウド向けCLIUsacloudのメジャーバージョンアップとなるv1.0.0をリリースしました。 github.com Usacloud v1.0.0ではWebAssemblyに対応しました。このリリースに合わせブラウザ上で手軽にUsacloudを実行できるようにするChrome拡張UsaConもリリースしました。 chrome.google.com この記事ではUsacloud v1.0とUsaConを紹介していきます。 Usacloud v1.0 さくらのクラウド向けCLIとして2017年3月に初版となるv0.0.1がリリースされました。 初版のリリースが行われて以降、ご利用いただいた方々からのフィードバックを反映したりさくらのクラウド自体の進化に対応したりと地道にアップデートを重ねてきました。 Usacloud 初版(v0.0.1)のリリ
先日さくらのクラウド向けCLI Usacloudをブラウザ上で動かせるChrome拡張UsaConをリリースしました。 febc-yamamoto.hatenablog.jp このUsaConを作る際にいろいろ調べたことを備忘をかねて書いておきます。 (もし間違えている箇所などあったらご指摘いただけると嬉しいです。) 今回はfmt.Println()でHello WorldするだけのWASMを題材に、fmt.Println()からWebブラウザで出力されるまでのコードを追ってみます。 今回の環境 Go: 1.15.6 ブラウザ(動作確認用): Chrome 87 今回の題材アプリ Hello Worldするだけの単純なアプリをWASMをしてビルドして実行します。 コードは↓↓だけの非常に単純なものです。 package main import "fmt" func main() { fmt
はじめに お仕事でAWS Lambdaを使って実装する処理が出てきました。 この処理はクリティカルな部分ではない、補助的な処理だったため日頃から使う機会を窺っていたRustで実装してみることにしました。 まずはRust+Lambdaの肩慣らしのために、プライベートなアカウントで利用している毎日のAWSの料金をSlackに通知する処理をRustに移植してみることにしました。 元ネタ: LambdaでAWSの料金を毎日Slackに通知する(Python3) qiita.com 今回移植したコード一式はこちらにおきました。 github.com Rustへの移植 基本的には元のPythonの処理をそのまま移植していく方針としました。 関数の作成やIAMロールへのポリシーのアタッチなども元ネタとほぼ同じやり方にしています。 関数の作成はこんな感じでカスタムランタイムを選択しておきます。アーキテクチ
はじめに 最近Zapierを触る機会がありました。 これまでiPaaS的なことをやるときにIFTTTのPro版を使っていたのですが、Zapierを試してみるとなかなか使い勝手が良かったので試した内容を残しておきます。 Zapierとは ZapierとはいわゆるiPaaSで、さまざまなWebアプリケーションを統合/自動化してくれます。 こちらの動画を見ると、カタカナだと「ザピアー」と読むのが近いですかね。 youtu.be サポートしているappは3000を超えており、よく使うようなアプリ(GmailやTrello、Slack/Discord、スプレッドシートなど)にきちんと対応しています。 https://zapier.com/apps 対応していないアプリについては、アプリ側がWeb APIを提供していれば自分でIntegrationを作成することで対応させることができます。 zapie
Alternative Architecture DOJO Offline #1に参加してきました 2018/11/28にFukuoka Growth Next(通称:FGN)で開催された「Alternative Architecture DOJO Offline #1」というイベントでLTさせていただきました。 alterbooth.connpass.com このイベントはConnpass上でのサブタイトルとして「クラウドネイティブを語りつくす!」と銘打たれており、 その名に恥じない濃く実践的な知見が数多く共有された素晴らしいイベントでした。 当日の様子: togetter.com 元々このイベントには一般枠で申し込んでいたのですが、 当記事タイトルの「さくらのクラウド Rancher2セットアップ」というスタートアップスクリプトの リリースが開催に間に合うという幸運に恵まれたため、イベ
VzLinux 8 !? Twitterを眺めてたらこんなツイートを見かけました。 CentOSの代替に、第三の選択肢が登場しました。Red Hat Enterprise Linuxベースの「VzLinux」です。スイスに拠点をおくVirtuozzo International社が開発し、20年前から有償で提供していたものを、コミュニティエディションとして無償で公開したようです。https://t.co/JCuzDiuJwy pic.twitter.com/5Lv1VDIp5q— 日経Linux | ラズパイマガジン (@nikkei_Linux) 2021年6月1日 OpenVzのあのVirtuozzoですね!古くからコンテナ型仮想化を触ってきた方は懐かしいと感じる方もいらっしゃるかと思います。 (ずっと現役だったみたいなのですが私個人としてはVirtuozzo/OpenVzにはここ数年
Terraform CDK + Java + コミュニティプロバイダー(さくらのクラウド)という組み合わせを試してみます。 概要 Terraform CDKとは Terraform CDKとは汎用のプログラミング言語を用い、Terraform(+エコシステム)を通じてクラウドなどの各種プラットフォームを操作するためのツールです。 www.hashicorp.com サポートされているプログラミング言語としては以下のようなものがあります。 Python TypeScript C#(.NET) Java C#とJavaについてはv0.1からサポートされました。 www.hashicorp.com Terraform CDKの位置付け/立ち位置 AWS CDKが汎用のプログラミング言語での定義からCloudFormationのコンフィグレーションを生成するのと同じく、 Terraform CDK
最近息子と一緒にBBC micro:bitを触って遊んでいます。 今日はこのmicro:bit上でmruby/cを動かしてみましたのでメモを残しておきます。 (写真撮ったあとにBBCをBCCにtypoしてるのに気付きました。。。) はじめに micro:bitとは micro:bitはBBC(英国放送協会)が主体となって開発されたシングルボードコンピューターです。学校での情報教育(プログラミング)などで利用されているとのことです。 microbit.org MICRO-BIT V2 (マイクロビット)バージョンアップ版 正規品! メディア: エレクトロニクス こちらのスイッチエデュケーションさんのサイトに特徴がまとめられています。 switch-education.com micro:bit の特徴 - LEDやボタン、センサーなどをあらかじめ搭載しています - パソコンやタブレット、さま
ぼちぼちCKA取っておきたい そろそろCKA取っておくかという気持ちになったので準備を進めてます。 が、受験する場所の確保で難儀してまして、その辺の愚痴です。 CKAを受験する際の場所 adtech.cyberagent.io こちらの記事などにあるように、余計なものを置いていない環境を準備する必要があります。 Candidate Handbookには以下のように書かれてますね。 The workstation on which the hardware (i.e. desktop or laptop) is placed must, aside from the required hardware, reveal a clean surface with no obstructions overhead or underneath. Candidates should ensure th
JetBrainsのTeamCityをさくらのクラウド上に構築した時のメモです。 www.jetbrains.com 概要 構成 サーバ1台(パケットフィルタ込み) エンハンスドロードバランサ(100cps プラン) SSL終端 Let's Encryptでの証明書取得/更新 TeamCityはDockerで起動 サーバ上で直接証明書取得 & SSL終端してもよかったのですが、環境構築がめんどくさかったのでエンハンスドロードバランサを利用します。 また、サーバへのアクセスはエンハンスドロードバランサに限定するためにパケットフィルタも合わせて利用します。 構築手順 サーバ作成/Dockerインストール エンハンスドロードバランサ作成 エンハンスドロードバランサで発行されたVIP or FQDNをDNS登録(A or CNAMEレコード) エンハンスドロードバランサの設定(待ち受けポート/実サ
さくらのクラウド向けプロバイダーなどのTerraformのコミュニティプロバイダーをGitHub Actionsで利用する際に独自のGitHub Actionsを作成しているケースを見かけました。 ak1ra24.hatenablog.com qiita.com 私が最近よく使っているhashicorp/setup-terraform+terraform.d配下にプロバイダーのバイナリーを置くという方法だとアクションを自作しなくても済むので今回紹介しておきます。 hashicorp/setup-terraform+terraform.d配下にプロバイダーのバイナリーを置く方法 こちらのリポジトリでさくらのクラウドプロバイダーを利用する例を公開しました。 github.com Terraformで利用するtfファイル郡+GitHub Actionsとしてhashicorp/setup-ter
今年の1月にTerraform Registryでプロバイダー(3rd含む)を配布できるようにするというアナウンスがありました。 www.hashicorp.com ベータテストへの参加を募集していたので申し込んでおいたのですが、本日(2020/5/15)参加できるようになったとの連絡をいただいたので早速プロバイダーの公開&自動インストールを試しました。 Terraform Registryでのプロバイダーの配布 従来はterraform initを実行してもgithub.com/terraform-providers配下のプロバイダーのみが自動インストールされるだけで、コミュニティが開発しているプロバイダーは~/.terraform.d/plugins/配下に格納しておくなど手動でのインストール作業が必要でした。 これがTerraform Registryにあらかじめプロバイダーの登録を
はじめに: TerraformerへGmailフィルタプロバイダー対応がマージされた 既存の環境からTerraformのコード(tfファイル)+Stateファイル(terraform.tfstate)を生成してくれるTerraformerというツールがあります。 github.com 本日、このTerraformerにGmailフィルタプロバイダー対応を追加するPRがマージされました。 github.com これにより、既にブラウザからある程度フィルタを作成済みのアカウントでもterraform-provider-gmailfilterを利用しやすくなりました。 背景 terraform-provider-gmailfilterについては以前以下の記事を書きました。 febc-yamamoto.hatenablog.jp このプロバイダーはgmailfiltersというツールにインスパイア
少し前にこちらの記事でgmailfiltersというツールを知りました。 kakakakakku.hatenablog.com github.com gmailfiltersはとても良さそうなのですが、なんでもTerraformおじさん的にはTOMLよりHCLで設定を書きたいなと思ったので この土日でTerraformプロバイダーを実装してみました。 github.com Gmailのフィルタ/ラベルを設定するTerraformプロバイダー terraform-provider-gmailfilter Gmail APIでフィルタやラベルの登録/更新/削除が行えます。 例えばfoobar@example.comから来たメールをexampleラベルに振り分けるには以下のようなHCLコードとなります。 # ラベル"INBOX"を参照するためのデータソース data gmailfilter_la
本日(2020/4/22)HashiCorpの認定試験であるHashiCorp Cloud Engineer Certification Programが一般公開され、Terraform/Vaultのアソシエイトレベルの試験が開始されました。 We’ve had this in beta for awhile (since HashiConf last year when we ran some free in-person trials) and we’re happy to announce the HashiCorp Cloud Engineer Certification Program! Vault and Terraform associate available now, Consul + Advanced coming soon. https://t.co/9GoZluRC
モダンTerraformシリーズです。 今回は前回の続きとしてMiscプロバイダーの中からTemplateプロバイダーについて扱います。 Templateプロバイダーとは その名の通りテンプレート機能を提供してくれるプロバイダーです。 以下のリソースとデータソースが含まれ…
はじめに Rancher Labsが提供するRKE(Rancher Kubernetes Engine)をTerraformから扱えるようにするRKEプロバイダーを私の個人リポジトリからRancher Labs配下へ移管しました。 github.com 移管によりこれまで以上にRKE本体との連携も進むでしょうし、今後はより一層安定してご利用いただけるようになりそうです。 TerraformのRKEプロバイダーって何? こちらで紹介しています。 febc-yamamoto.hatenablog.jp speakerdeck.com どんな人がRKEプロバイダーを使ってるの? 国外での利用が多いです。AWS(EC2)やAzure、OpenStack、vSphere、DigitalOceanとの組み合わせあたりでご利用いただくケースが多いです。 Rancher Labsが公開しているブログやYo
Terraformからウェブアクセラレータを参照/一部の操作ができるように Terraformのさくらのクラウドプロバイダー v1.18.1からウェブアクセラレータ向けのリソースが追加されました。 sakuracloud_webaccel: サイト情報を参照するためのデータソース sakuracloud_webaccel_certificate: サイトに登録する証明書リソース github.com sakuracloud_webaccelデータソース サイト情報を参照するためのものです。 名前 or ドメインを指定して対象サイトの情報を参照できます。 以下のようなtfファイルで利用します。 data sakuracloud_webaccel "example" { domain = "www.example.com" # または # name = "example" } 以下のような情報
某所で「GitHub ActionsからTerraform Cloudを使おうとしたが上手くいかなかった」という投稿を拝見しました。 うまいこと設定すればちゃんと動かせますのでその方法などについてまとめておきます。 TL; DR Terraform CloudでのExecution ModeはデフォルトでRemoteになってる クレデンシャルをGitHub側のSecretから環境変数として渡す場合はExecution ModeをLocalに変更する 最初に: やりたいこと Terraform Github Actionsを使ってGitHub Actionsでterraformコマンドを実行したい。 tfstateはTerraform Cloudに保存したい このために、リポジトリ上でGitHub Actionsの設定を行い、リポジトリにtfファイルをコミット、PullRequestの作成を
先月リリースしたさくらのクラウド対応版Terraformerが本家のバージョンアップに追随してv0.8系になりました。 sacloud/v0.8.1のリリースページ: github.com 以前のsacloud/terraformerについての記事: febc-yamamoto.hatenablog.jp sacloud/terraformer v0.8系での主な変更点 Terraform v0.12系対応 不要な依存関係の出力を抑制 Terraform v0.12対応 これまではTerraform v0.11系のみ対応でv0.12系だと色々とエラーが出ていましたが、このバージョンからv0.12系に対応しました。 ただしv0.11系には非対応となりましたので、もしv0.11系を使いたい場合はterraformer v0.7系を利用する必要があります。 不要な依存関係の出力を抑制 v0.7系
cert-managerのさくらのクラウド対応版 Kubernetes上で証明書の発行/更新の自動化を行えるcert-managerをフォークしてさくらのクラウド対応版をリリースしました。 github.com これを利用することでさくらのクラウドDNSを利用して証明書の発行/更新が行えるようになります。 今回はこのさくらのクラウド対応版cert-managerを利用して証明書を発行する方法をご紹介します。 なお今回は現時点(2019/10/3)の最新版のv0.11.0-alpha.0を利用します。 v0.11系はまだalpha版となっており、今後細かな仕様変更などがあるかもしれない点には留意ください。 発行までの手順 以下のような流れとなります。 さくらのクラウド対応版cert-managerのインストール さくらのクラウドAPIキーをSecretに格納 Issuer or Cluste
はじめに JavaScript/TypeScript/Python/Goを用いてInfrastructure as Codeできるpulumiでさくらのクラウドに対応するためのプロバイダー(プラグインとSDK)を公開しました。 www.pulumi.com github.com このプロバイダーを用いることで、以下のようなコードでさくらのクラウド上のリソースを操作可能になります。 さくらのクラウド上にサーバ(CentOS)を作成する例(TypeScript) import * as sakuracloud from "@sacloud/pulumi_sakuracloud"; // CentOSパブリックアーカイブのIDを参照 const centOSArchive = sakuracloud.getArchive({osType: "centos"}); // CentOSパブリックアー
Terraform Cloudがリリースされましたね!! www.publickey1.jp 早速さくらのクラウドプロバイダーをTerraform Cloud上で動かしてみました。 Terraform Cloud事始め 通常のプロバイダーを使う手順はこちらに記事がありました。 dev.classmethod.jp ワークスペースの作成〜VCS連携〜apply実行までの一通りの流れはこれに従えばOKです。 さくらのクラウドプロバイダーを使うには? さくらのクラウドプロバイダーのような3rd プロバイダーを利用するにはちょっとした手順が必要になります。 この辺は以下にドキュメントがあります。 www.terraform.io こちらによると、ワーキングディレクトリにterraform.d/plugins/linux_amd64/というディレクトリを作り、その中にlinux_amd64なプラグイ
次のページ
このページを最初にブックマークしてみませんか?
『febc-yamamoto.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く