日本酒大好きで、富山県出身な、Technology Evangelist(テクノロジー・エバンジェリスト)です。運用の効率化や自動化について考える日々。かつてはデータセンタで、サーバの監視や運用業務に長らく従事していました。最近は、コンピュータ技術をどう活用したら、私たちの生活はもっと良くなるんだろう、どうやって価値を生み出せばいいのだろう、などと考えています。
![前佛雅人 | さくらのナレッジ](https://cdn-ak-scissors.b.st-hatena.com/image/square/1fbab9433006bc88c1294b242b605bc34ac5c6df/height=288;version=1;width=512/https%3A%2F%2Fknowledge.sakura.ad.jp%2Fwp-content%2Fthemes%2Fsakunare%2Fassets%2Fimages%2Fcommon%2Fogp.png)
はじめに 仲亀と申します。さくらインターネットでエバンジェリストやインフラエンジニアをしています。エンジニアとしてはシステムの監視まわりの仕事をしています。最近は、今回もご紹介するPrometheusとかGrafana Lokiとか、あの辺が結構好きで触っています。 この記事では、監視について興味をお持ちの皆さんに向けて「Observabilityをはじめよう!」ということで、Observabilityの概念や、それが必要となる背景を少し説明した上で、Observabilityを実現するための要素となる、MetricsやLogsやTracesなどをどこから始めていけばいいんだろう、といったところをご紹介していこうと思います。 この記事のゴールとしては、皆さんに「Observability完全に理解した」と言っていただけたらいいかなと思っています。しかし、この記事を読んだだけですぐに皆さんの
メールフォームへの不正アクセスが急激に増えてきています この半年~1年の間に、メールフォームを悪用した迷惑メール送信の被害が相次いでいます。これはどのような事かというと、まずメールフォームには、記入した内容を記入者にメールで自動返信する機能が備わっていることが多いです。このとき、メールフォームのメールアドレス欄には記入者自身のアドレスを入力するのが正しい操作ですが、悪意のある第三者がこれを利用し、メールアドレス欄に他人のアドレスを入力して迷惑メールを送信するという攻撃手法です。(参考記事: サイトの「問い合わせフォーム」を悪用する攻撃に警戒を) 少なければ一日に5~10件、多いケースでは一日に数千件の迷惑メールが送信される事がありますが、このような問題が起こると他人に迷惑がかかるだけではなく、サーバが持つIPアドレスの評価が下がったりブラックリストに登録されたりしてしまいます。IPアドレス
さくらインターネットで、技術担当の執行役員と、最高情報セキュリティ責任者を務めている江草です。 最近、新型コロナウイルスの影響もあって在宅勤務などをされている方が増えていると思いますが、そういったときに、今までオフィスで使えていたサービスをどうやったら社外でも使えるかという話をしたいと思います。 在宅勤務やリモートワークとVPN さくらインターネットでは以前から「さぶりこ どこでもワーキング」という人事制度によって、1日単位で、あるいは午前中だけとか午後だけとかで、どこでも仕事してよいということをやっていました。さらに新型コロナウイルスの件もあって、現在では出社不要な人の大半が在宅勤務をしています。3月末にはすでに原則自宅勤務ということにして、全社リモートワークに転換しました。4月末の時点では93%の社員が在宅勤務を選択していました。仮に今後、新型コロナウイルスが終息したとしても、基本的に
たとえば次のような「user.proto」というプロトコル定義ファイルを用意し、これを変換する例を見てみよう。 syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; string nickname = 2; string mail_address = 3; enum UserType { NORMAL = 0; ADMINISTRATOR = 1; GUEST = 2; DISABLED = 3; } UserType user_type = 4; repeated
前回(第1回)は、Dockerコンテナに対応するアプリケーションを開発・実行するために、Docker Composeというツールを使うのが便利ということで、例としてDocker Composeを使ってWordPressをコマンド1つで実行する方法を紹介しました。WordPressのような、しっかりとしたアプリケーション以外でもDocker Composeが使える場面があります。 今回は、Docker Composeを使ってウェブサーバ(Apache httpd)を実行し、コンテンツを表示する例を見ていきましょう。 なぜDocker Composeなのか? 単純にウェブサーバとして実行するアプリケーションであれば、Dockerだけで何ら困らないでしょう。例えば、Apache httpdサーバを実行するには、次のようにしてコンテナを実行できます。 docker run -d httpd しかし
近年ではKubernetesクラスタ上で動作させるアプリケーションにおいて、そのデプロイに「Helm」と呼ばれるツールを使用する例が増えている。Helmは設定ファイルを元にアプリケーションのデプロイを自動実行するツールで、Kubernetesアプリケーション向けのパッケージマネージャとも言われている。今回はこのHelmの概要、使い方、設定ファイルの書き方などを紹介する。 Kubernetes上にアプリケーションをデプロイするための事実上の標準的ツールとなっている「Helm」 近年ではコンテナクラスタ技術であるKubernetesを活用したサービスの運用が増えており、Kubernetes上で動かすことを前提とするソフトウェアも登場している。一方で、Kubernetes上でのアプリケーションのデプロイについては課題も多い。 Kubernetesはサービスを複数の小規模コンポーネントに分割して実
みなさん、こんにちは。さくらインターネット株式会社 技術本部ミドルウェアグループの前佛 雅人(ぜんぶつ まさひと)と申します。Dockerに関するドキュメント翻訳や、Docker紹介用の各種スライドを公開・発表しています。また、かつてはDocker公認トレーナーとして、業務を通してDockerの普及および啓蒙に携わりました。 Dockerの話はみなさんどこかで訊いたことあるかもしれません。しかし、まだまだ使っていない、あるいは、使う段階ではないとお考えの方も多いかもしれません。私は正直、勿体ないと思っています。この現状を打破すべく、"本当はこんなに使いやすいDocker" をテーマに、会社のメディアを通した記事連載の機会を頂戴しました。どうぞみなさま、お手柔らかにお願いいたします。 コンテナが当たり前のように存在する時代に私たちは この世界にDocker(ドッカー)が登場したのは、2013
また、これらに加えてコンテナの実行やイメージの管理を行うためのDockerや、分散型設定共有サービス「etcd」も必要となる。そのほか、異なるマシン上で稼動しているコンテナ間で通信を行うためにLinuxのブリッジ接続機能や「Flannel」、「OpenVSwitch」といった仮想ネットワーク機構なども利用される。 これらのうち、apiserverやcontroller-manager、scheduler、etcdについてはクラスタの管理を行うマスターサーバーで実行されるコンポーネントとなる。また、proxyやkubelet、dockerはコンテナを稼動させる各ノード(minionとも呼ばれる)上で実行されている必要がある。 マスターサーバーとノードを分けた一般的な構成は、次の図2のようになる。なお、kubectlについてはマスターサーバー上でも、別のクライアント上でも実行が可能だ。 図2
指定したネットワークインターフェイスを通過するすべてのパケットを収集して分析したい、という場合に適したパケットキャプチャツール「Moloch」では、Webブラウザ経由でアクセスできる「Moloch Viewer」経由で収集したパケットの分析が行える。今回はこのMoloch Viewerを使ったパケット分析機能を紹介する。 GUIでパケットの解析や検索が可能 パケット解析ツール「Moloch」は、大規模な環境にも対応したパケット解析ツールだ。特徴としては、サービスとして起動して常時パケットの収集を実行できる点などがある。 Molochの機能やインストール方法などについては前回記事で紹介しているが、Molochでは「Moloch Viewer」というWebインターフェイス経由で収集したパケットの閲覧や検索といった分析処理が行える。今回はこのMoloch Viewerの機能や使い方について紹介す
継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。後編となる今回は、Dockerを使ってコンテナ内に構築したビルド環境をJenkinsから利用する例を紹介する。 Jenkinsの「マスター/スレーブ」機能 前回記事では、Jenkinsをインストールしたサーバー内でソフトウェアのビルドやテストを行うことを前提に環境を構築していった。Jenkinsをインストールしたサーバーと、対象とするソフトウェアのビルド/実行環境が同じで構わなければこれで問題はないが、たとえばそれぞれビルド/実行環境が異なる複数のソフトウェアをJenkinsで管理したい場合、このやり方では複数台のサーバーを用意しなければならない。 Jenkinsではこういった問題を解決するため、Jenkinsがインストールされたサーバーとは異なるサー
サーバーやインフラなどの監視ツールの1つとして最近注目されているのが「Prometheus」だ。Prometheusはインストールや設定が容易で、かつ十分な機能を持ち管理しやすいという特徴を持つ。本記事ではこのPrometheusの導入方法、基本的な監視設定の流れを紹介する。 クラウド時代の監視管理ツール ネットサービスを運営する場合、そのサービスを運営するソフトウェアやサーバー、ネットワーク機器などの状況を監視する手段を用意するのが一般的だ。監視を行い、意図しない状況になったら自動的にメールなどで通知を行うシステムを構築することで、問題をいち早く解決できるようになる。さらに、サービスやマシンの稼働ログを適切に記録することで潜在的な問題を事前に見つけたり、最適化に向けた分析を行うといったことも可能になる。 監視や問題発覚時の通知などを行うオープンソースのツールとしては、過去にElastic
たとえば、inputに「stdin」、outputに「file」というプラグインを使用すれば、標準入力からイベントを受け取り、それをファイルに出力することが可能となる。そしてLogstashが注目されている理由の1つのが、出力先として「Elasticsearch」が利用できる点だ。 検索機能に優れた分散型データベース「Elasticsearch」 Elasticsearchはオープンソースで開発されている分散型データベースシステムだ(図2)。「Elastic」という名前のため勘違いされやすいが、米Amazonが提供しているクラウドサービス「Amazon Elastic Compute Cloud(EC2)」とは無関係だ。 図2 ElasticsearchのWebサイト ElasticsearchはJavaで実装されており、またデータ検索エンジンとして「Lucene」が組み込まれているのが特
オープンソースのWAF WAFとして利用できるソフトウェアは多数存在しており、その多くはセキュリティ企業などが提供する商用製品/商用サービスとなっている。しかし、数は少ないがオープンソースのWAFも存在する。オープンソースのWAFとしてよく知られているのが次の5つだ。 ModSecurityはApache HTTP ServerやNginx、Microsoft IISのモジュールとして提供されているものだ。このモジュールを組み込むことで、これらWebサーバーをWAFとして利用できるようになる(図1)。 図1 ModSecurityのWebサイト 活発な開発が続けられており、採用実績も多い。DebianやUbuntu、Red Hat Enterprise Linux(RHEL)およびCentOSといったその互換OSなどでは標準でパッケージが提供されており、導入も容易だ。検出用のルールセットは
インターネットの爆発的な広がりに合わせてセキュリティ上の問題に注目が集まるようになっています。2010年頃にはFiresheepが広まり、公衆無線LANなどにつないだPCの通信を簡単にモニタリングできてしまう行為が問題になりました。また、昨今のプライバシーに対する懸念から、多くのサイトではHTTPSをデフォルトにするようになっています。 そんな流れもあって現在開発が進められているのがLet's Encryptです。誰でも無料で使えるSSL/TLS証明書発行サービスとなっています。先日、ついにパブリックβになり、誰でもすぐに使えるようになりました。そこで今回はLet's Encryptを使ったサイトのSSL/TLS化手順について紹介します。 なお、執筆時点ではApacheについてはプラグインが提供されていますが、nginx向けは開発中とのことです。ただし手作業で行う分にはnginxでも利用で
昭和の機器も含めIoTで生産ラインを見える化 IT分野の調査・助言を提供するガートナージャパンは2017年4月26日~28日の3日間、「ガートナー ITインフラストラクチャ & データセンター サミット 2017」を開催。2日目のゲスト基調講演には、旭鉄工 代表取締役社長 兼 i Smart Technologies 代表取締役社長 CEOの木村哲也氏、およびi Smart Technologies 執行役員 COOの黒川龍二氏が登場し、「町工場でも成果の出せるIoT! ~昭和の機械も接続~」をテーマに講演しました。 旭鉄工は1941年に木村鉄工所として創立され、1943年よりトヨタ自動車工業との取引を開始。現在に至るまでエンジン用部品、トランスミッション用部品、ブレーキ部品、サスペンション用部品など、トヨタ自動車向けの自動車部品を中心に幅広い製品を製造しています。2015年度の売上高は1
現在、ansible-containerプロジェクトは開発終了しています。詳細は同プロジェクトのGitHubページをご覧ください。 昨今利用者が増えている構成管理ツール「Ansible」については以前にも紹介したが、このAnsibleをDockerコンテナのビルドに使用するツール「Ansible Container」が登場した。Ansible Containerを利用することで、Dockerコンテナイメージをより簡潔に管理できるようになる。今回はこのAnsible Containerの概要と基本的な設定方法を紹介する。 Ansible Containerとは Dockerコンテナを作成するための方法は複数ある。たとえばdockerコマンドには、「Dockerfile」という設定ファイルを元にコンテナを作成する「docker build」サブコマンドが用意されているが、これ以外にもDocke
近年では自動的にチャットツールやSNSなどに情報を投稿したり、それらのプラットフォーム上でユーザーと対話的にやり取りできる「ボット(bot)」が注目を集めている。今回はこのようなボットをJavaScriptで簡単に作成できるツール「Hubot」を紹介する。 ボットを使ってチャットツールをリアルタイム通知ツールとして活用する 近年、Slackなどに代表されるチャットツールを開発者間でのコミュニケーションに利用するケースが増えている。こういったツールは、ほぼリアルタイムにメッセージをやり取りできるのが特徴だ。さらに、電話や直接会ってのミーティングなどとは異なり、利用者は時間的な拘束を受けずに見たいときに送信されたメッセージを確認できる。 こういったチャットツールは開発者同士のコミュニケーションだけでなく、各種通知にも有用だ。利用例としては、ソフトウェアのビルドやテストといった比較的時間のかかる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く