ブックマーク / eng-blog.iij.ad.jp (62)

  • ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog

    この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ

    ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog
    toshikish
    toshikish 2022/07/06
  • legoのIIJ DNSプラットフォームサービスへの対応について | IIJ Engineers Blog

    はじめに 先日、ACMEクライアントであるlegoが、IIJ DNSプラットフォームサービス(略称DPF)に対応しました。これにより、ACME対応の認証局で発行できる、ドメイン名認証のTLS証明書の発行が簡単に行えるようになりました。 legoIIJ DNSプラットフォームサービスへの対応 旧DNSサービスである、DNSアウトソースサービスは、ACMEクライアントであるlegoに対応しておりました。legoを使うと、ドメイン名認証型のTLS証明書の発行が簡単に行えます。今回、後継サービスであるIIJ DNSプラットフォームサービスでも、legoのv4.7.0からDPF-APIを利用した dns-01 に対応しました。 ACMEは、TLS証明書を発行する仕組みで、発行するTLS証明書のドメイン名の利用権を申請者が保持しているかの検証をします。検証手段として、http-01 dns-01, 

    legoのIIJ DNSプラットフォームサービスへの対応について | IIJ Engineers Blog
    toshikish
    toshikish 2022/06/18
  • スマホを買い替えても二要素認証を継続できるWebAuthn Level3 | IIJ Engineers Blog

    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 GitHub2023年末までに二要素認証を必須にすることを発表しました。直接的なトリガーは先日のherokuの一件だと思いますが、すでにGoogleは2FAを必須としているように、同様の動きが業界全体へ広まるのは間違いありません。ちなみに、GW中にherokuからパスワードの強制リセットのお知らせが届きました(ユーザだったんです)。どうやら影響範囲はトークンだけではなかったようですね。きっと、耳を覆いたくなるようなアナウンスがこれからあるのでしょう。 https://www.itmedia.co.jp/news/ar

    スマホを買い替えても二要素認証を継続できるWebAuthn Level3 | IIJ Engineers Blog
    toshikish
    toshikish 2022/05/18
  • DNSリクエストをAPIコールへ変換するアダプタをご照覧あれ | IIJ Engineers Blog

    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 もう3年も前のことになりますが、Let’s Encrypt用クライアントツールであるlegoIIJDNSアウトソースサービス用プラグインをコントリビュートし、ごく簡単なオペレーションでワイルドカード証明書を全自動に発行できるツールを提供していました。これが思いのほか好評で、ブログをご覧になったお客様にも利用していただいていたようです。 https://eng-blog.iij.ad.jp/archives/1896 https://eng-blog.iij.ad.jp/archives/2165 そんなツールもDN

    DNSリクエストをAPIコールへ変換するアダプタをご照覧あれ | IIJ Engineers Blog
    toshikish
    toshikish 2022/04/15
  • ブラウザだけでDockerしたい | IIJ Engineers Blog

    九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。 こんにちは、前回Dockerを完全に理解した、九州支社技術部(九州・中四国事業部)所属のy-morimotoです。 皆様、快適なコンテナライフいかがお過ごしでしょうか。 え?時間が無くてコンテナを動かす環境が準備出来ていない? そんな貴方に朗報です。 今からブラウザを開けば、すぐにDockerをご利用頂けます。 必要なのはDocker Hubのアカウントのみ。もちろん費用はかかりません。 以下URLからSign Upして、アカウントを作成しましょう。 https://hub.docker.com/(別のタブかウィンドウで開かれます) 1.Play with DockerDocker Playground) D

    ブラウザだけでDockerしたい | IIJ Engineers Blog
    toshikish
    toshikish 2022/03/24
  • “HTTPSレコード”って知ってる?今知るべき4つの注意点 | IIJ Engineers Blog

    [注] この記事はすぐに陳腐化するはずの内容について扱っています。何年か経ってからこの記事を参照する場合、2022年3月に書かれた内容であることを留意の上お読みください。 はじめに IIJ DNSプラットフォームサービスにて、先日大きなアップデートと小さなアップデートがありました。大きなアップデートというのは、これまでのマネージドDNSサービスに加えてもうひとつ、IIJ DNSトラフィックマネージメントサービスという新たなサービスが追加されたこと。サーバの死活監視結果に応じて動的にDNSの応答を変えることができます。小さなアップデートは、従来のマネージドDNSサービスへの機能追加。HTTPSレコードに対応しました。 サービスの宣伝という意味では大きなアップデートの方を紹介した方がいいんでしょうけれど、ヘソ曲がりなのでここでは小さなアップデート、HTTPSレコードの方に焦点をあてます。 そも

    “HTTPSレコード”って知ってる?今知るべき4つの注意点 | IIJ Engineers Blog
    toshikish
    toshikish 2022/03/23
  • Proxy環境下で使うKubernetes | IIJ Engineers Blog

    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 皆さんがdocker, kubernetesを使う環境にはhttp proxyがありますか? 多くのエンタープライズネットワークがそうであるように、IIJのオフィスでもProxyを通らないとInternetへアクセスすることはできません。今回はそんなProxy環境下でKubernetesを使う話です。 Proxyの存在がどれほど生産性を低下させていることか。多くのエンジニアが一度は思ったことがあるのではないでしょうか。昨今はリモートワークの機会が多く、VPNとの合わせ技で以前にも増してProxyに苦しめられる場面が増え

    Proxy環境下で使うKubernetes | IIJ Engineers Blog
    toshikish
    toshikish 2022/03/03
  • ポッドキャスト番組「セキュリティのアレ」が2021年度 総務大臣奨励賞を受賞──運営者のひとり、IIJ 根岸にインタビュー | IIJ Engineers Blog

    こんにちは、IIJ Engineers blog 編集部です。 今回は、2021年度「サイバーセキュリティに関する総務大臣奨励賞(以下、総務大臣奨励賞)」を受賞したポッドキャスト番組「セキュリティのアレ」の運営者のひとりであるIIJの根岸に今回の受賞について話を聞いてきました。 「総務大臣奨励賞」&「セキュリティのアレ」ってなに? 受賞の話を聞く前に、まずは今回の受賞概要を簡単に紹介します。 サイバーセキュリティに関する総務大臣奨励賞とは? 総務省が、サイバーセキュリティ対応の現場において優れた功績を挙げている個人・団体を表彰するもので、2017年に創設。 自薦または他薦で候補者を募集し、有識者で構成される選考委員会の審査結果を踏まえ受賞者が決定され、毎年、サイバーセキュリティ月間の期間中に表彰が行われます。 ポッドキャスト番組の「セキュリティのアレ」 SBテクノロジー株式会社の辻伸弘氏、

    ポッドキャスト番組「セキュリティのアレ」が2021年度 総務大臣奨励賞を受賞──運営者のひとり、IIJ 根岸にインタビュー | IIJ Engineers Blog
    toshikish
    toshikish 2022/03/01
  • 並列処理管理ライブラリ task を含む、l4goの公開 | IIJ Engineers Blog

    セキュリティオペレーションセンター と セキュリティ情報統括室 に所属。システム開発者(極) を目指すプログラマ としての活動と、セキュリティアナリストとして活動をしています。うさぎさんのぬいぐるみが相棒 こんにちは、くまさかです。 今回は、Go言語開発を支えるライブラリを公開しましたので、そちらの紹介記事です。 ちなみに今回の記事は、どうしてもGo言語寄りな話が少し登場します。 Go言語に関する説明は、記事では割愛しますので、記事を読む前や、読んだ後にGo言語自体を勉強したいと思った方は、IIJ Bootcamp で、僕が作成した Go言語入門コンテンツ か、Go言語 Go tour をお試しください。 さて、では題のライブラリ紹介です。 GitHub上では、l4go というところにまとめています。 https://github.com/l4go ライブラリの組織名を色々検討

    並列処理管理ライブラリ task を含む、l4goの公開 | IIJ Engineers Blog
    toshikish
    toshikish 2022/02/21
  • 端末の文字幅問題の傾向と対策 | IIJ Engineers Blog

    電子メール、ネットワーク機器集中管理、異常検知、分散処理、クラウド基盤などのシステム開発に従事。古代Rubyist。 CLI や TUI なアプリケーションを使っていると、端末の画面が崩れてしまうことがよくあります。 たとえば、こんな TUI が、 環境によってはこんな感じで崩れます。 スクロールなどをしながらしばらく使っているとさらにどんどん崩れていきます。 こうなってしまった場合、とりあえず Ctrl-l で画面を再描画することで、大抵はなんとか読める程度にリセットできますので、ことあるごとに Ctrl-l を連打することになります。 ですが、どうしようもないケースもままあります。 例えば、私の場合は以下のようなシチュエーションで困ります。 w3m でテーブルなどを表示するとレンダリングが崩れる less でログの閲覧の際に表示されるべき文字が表示されず見落としが発生する Wander

    端末の文字幅問題の傾向と対策 | IIJ Engineers Blog
    toshikish
    toshikish 2022/02/15
  • Docker完全に理解した | IIJ Engineers Blog

    九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。 Docker完全に理解した? 【エンジニア用語解説】 「完全に理解した」 製品を利用をするためのチュートリアルを完了できたという意味。 「なにもわからない」 製品が質的に抱える問題に直面するほど熟知が進んだという意味。 「チョットデキル」 同じ製品を自分でも1から作れるという意味。または開発者人。 — 伊藤 祐策(パソコンの大先生) (@ito_yusaku) September 20, 2018 ということで、Docker完全に理解したので、自分なりの「これからDockerでコンテナを始める時のポイント」をいくつかご紹介したいと思います。 申し遅れましたが、九州支社技術部(九州・中四国事業部)所属のy-m

    Docker完全に理解した | IIJ Engineers Blog
    toshikish
    toshikish 2022/01/07
  • システムコールを速く漏れなくフックする方法 | IIJ Engineers Blog

    ptrace、Syscall User Dispatch:カーネルが提供している ptrace や Syscall User Dispatch のような機能は、ユーザ空間でシステムコールのフックを実装するために利用できます。ですが、これらを利用すると、元のユーザ空間プログラム内部でのシステムコール呼び出しのコストが大きくなり、結果として、性能が大きく劣化してしまいます。(要件1を満たせない) eBPF :eBPF のようなカーネル内の関数へフックを適用できる仕組みもありますが、eBPF は XDP のような場合を除くと、基的にカーネルの挙動を変更するためには利用できないため、カーネル機能をユーザ空間でエミュレートする、といった用途には適していません。(要件5を満たせない) ライブラリ関数の置き換え:標準ライブラリ(libc 等)は、沢山のシステムコールのラッパーライブラリ関数を実装してお

    システムコールを速く漏れなくフックする方法 | IIJ Engineers Blog
    toshikish
    toshikish 2021/12/22
  • 我が家のおうちKubernetesの成長記録 | IIJ Engineers Blog

    IIJ 2021 TECHアドベントカレンダー 12/16(木)の記事です】 IIJ Raptorサービス部のエンジニア、RyuSAです。普段はアプリケーションの実装やアーキテクチャ、最近はKubernetesを使った業務を担当しています。 私事ですが、先日IIJの制度として発表された「セレクトジョブ」に参加し、SRE推進部という部署に兼務するようになりました!>  IIJ、社員の自律的なキャリア形成を支援する公募型兼務制度「セレクトジョブ」を開始 | IIJについて | IIJ さて題に入りますが……自分は今年の春に「おうちKubernetes」を植え、自宅で育ててきました。 > おうちKubernetesを構築した話 – メモ – RyuSA (hatenablog.com) 残念ながら自分の家庭はサーバラックがあるような、俗に言う「逸般の誤家庭」ではないためできることはかなり限ら

    我が家のおうちKubernetesの成長記録 | IIJ Engineers Blog
    toshikish
    toshikish 2021/12/16
  • 電子手帳とKubernetes | IIJ Engineers Blog

    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 デジタルデバイス黎明期のソフトウェア事情 今を遡ること30年ほど前、筆者はとある組み込みシステムの開発に携わっていたことがありました。そのシステムは電子手帳と呼ばれたスマートフォンのご先祖様のような製品だったのですが(無線、有線問わず通信機能はありませんけど)、これが今考えるとなかなかしびれる環境で、 OSは存在しないスタンドアロンシステム CPUは聞いたことがない、もしかしたらメーカーオリジナルのもの もちろん開発言語など存在しない。アセンブラすら存在しない シリーズ製品だったがソフトウェアの資産継承は存在しない。モ

    電子手帳とKubernetes | IIJ Engineers Blog
    toshikish
    toshikish 2021/09/30
  • QUICをゆっくり解説(1):QUICが標準化されました | IIJ Engineers Blog

    Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 不定期連載を始めます IIJ-II 技術研究所 技術開発室の山です。私はプログラミング言語HaskellでHTTP/2とTLS 1.3を実装した後、もっぱらQUICを実装することに時間を費やしてきました。 ご存知の方もいらっしゃると思いますが、今年の5月にQUICの仕様がRFC9000として公開されました。このRFCは実によく書かれているので、読みこなせばQUICの全容が掴めるでしょう。 しかし仕様は膨大ですし、実際に実装してみて初めて腑に落ちることもあります。そこでこの機会に、実際にQUICを実装した経験者目線で、QUICの解説をしていきたいと思います。なんとなくTCP/IPを分かっている方が、ある程度QUICの理解ができることを

    QUICをゆっくり解説(1):QUICが標準化されました | IIJ Engineers Blog
    toshikish
    toshikish 2021/07/01
  • あなたの知らないKubernetesのServiceの仕組み | IIJ Engineers Blog

    Kubernetesの主要なリソースの一つにServiceリソースがあります。ServiceリソースとはKubernetes上のPodへクラスタの外からアクセスするために使うもの、という理解をしている人が多いかもしれません。確かにそのような役割を担っているのですが、実際にはクラスタ内部に閉じた通信にも利用されていますし、実はもっといろいろな機能を持っています。 端的に説明すれば、Serviceとは「ロードバランサとDNSサーバを設定するためのリソース」です。意外に聞こえますか? もし意外に思えたなら、ぜひこのまま読み進めてみてください。 インターナルなロードバランサを制御する Kubernetesにはクラスタ内部に閉じた通信を制御するロードバランサが内蔵されています。Kubernetesを利用するということは、ほぼ例外なくこのロードバランサを利用しているのですが、あまり意識せずに利用されて

    あなたの知らないKubernetesのServiceの仕組み | IIJ Engineers Blog
    toshikish
    toshikish 2021/06/17
  • ようこそ、Kubernetes沼へ。商用サービスSREの現場から | IIJ Engineers Blog

    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 筆者がIIJでパブリッククラウドビジネスを率いていた2010〜2015年頃、今後のITインフラはしばらくIaaSを中心に回っていくのだと考えていたものですが、Docker, Kubernetesという爆弾が投下されました。10年、20年は続くと思われたIaaSの時代がまさか早々に色あせて見えるとは。相変わらずIT業界にも思いもよらないことが突然起こるものです。これだからIT業界おもしろい連載は、現在IIJでSREを率いている筆者がどのようにしてSREチームを立ち上げ、Kubernetes沼へ飛び込み、悪戦苦闘し

    ようこそ、Kubernetes沼へ。商用サービスSREの現場から | IIJ Engineers Blog
    toshikish
    toshikish 2021/03/08
  • サーバレスアーキテクチャで柔軟なIoTプラットフォームの構築 | IIJ Engineers Blog

    2019年IIJJoin。農業IoTを始めLoRaWANプロジェクトに参画し、開発しています。だいたいどこでも行くし、だいたいなんでもやります。ほんとに。 はじめまして。 2019年11月より、IIJ IoTビジネス事業部新規事業推進課にJoinした増田と申します。今回初めてブログに記事を投稿します。 まず簡単に自己紹介させていただきます。かなり雑多な経歴でして、Webサービスや観測システムの開発のほか、南極観測越冬隊に参加してレーダーを作りに行ったりしていました。そうしてフォークリフトと第一級陸上無線技術士とLPICの免許を持った妙な人になりました。 フォークリフトの運転は滅茶苦茶下手くそですが、もう使わないと思われるので問題ありません。日にはフォークリフトが得意な人がたくさんいますから、私に重機は使わせないのが世のため人のためでしょう。 こういう経歴なので、現場仕事も多くありまし

    サーバレスアーキテクチャで柔軟なIoTプラットフォームの構築 | IIJ Engineers Blog
    toshikish
    toshikish 2021/03/06
  • 自宅にKubernetesクラスター『おうちKubernetes』を作ってみた | IIJ Engineers Blog

    2019年新卒入社。基盤エンジニアリング部兼クラウド部所属のKubernetes大好きエンジニア。自宅ラックマウントサーバ勢。休日はコスプレしたり、バイクに乗ったり、絵を描いたり、サーバメンテしたり、激渋旅館を巡ったりしてます。 こんにちは、IIJの韮塚(にらづか)です。 私は名古屋支社の技術部に所属しており、普段はインフラ中心のSI業務と開発向け社内ツールの管理業務をしています。 みなさん、Kubernetesは触っていますか? いま世の中ではKubernetesが急速に普及しつつあります。 大手クラウドベンダーは独自にカスタマイズしたKubernetesをサービスとして提供しており、多くのWebサービスがその基盤を利用して稼働しています。 中にはYahoo!やサイボウズのように、自社内で独自にカスタマイズしたKubernetesを持っており、その上で自社サービス提供するような会社も

    自宅にKubernetesクラスター『おうちKubernetes』を作ってみた | IIJ Engineers Blog
    toshikish
    toshikish 2020/08/24
  • まとめて紹介!新人エンジニアにオススメする技術書 | IIJ Engineers Blog

    一言紹介 「Webエンジニアプログラマーの必読書、これを読んだ前と後では世界の見え方が違ってくる良書、脆弱なコードを例示し、初心者にもわかりやすくその問題点を解説しており、だれが読んでもためになることは保証できる。」(システムクラウド部 クラウドサービス2部 運用技術課) リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

    まとめて紹介!新人エンジニアにオススメする技術書 | IIJ Engineers Blog
    toshikish
    toshikish 2020/07/03