タグ

ブックマーク / knowledge.sakura.ad.jp (25)

  • terraform (plan|apply) in GitHub Actions | さくらのナレッジ

    はじめに さくらインターネット SRE室の久保です。 今日は「terraform (plan|apply) in GitHub Actions」というタイトルで発表させていただきます。 今日発表する内容は、画像で表すと上図のようになります。誰かがPull Requestを送ると、それをもとにGitHub Actionsを動かし、Terraformのplanやapplyを動かして、自動的にTerraform管理下にあるリソースを更新してくれる、そういう仕組みを作ったという話です。 terraform (plan|apply)を実行する際のポイント Terraformのplanとapplyを実行する際のポイントとして、まず各種秘匿情報、具体的にはAPIキーなどが必要になるので、実行結果をチーム内で共有してレビューするのが結構面倒です。何らかの方法でAPIキーを共有して使うにしても、あるいは各自

    terraform (plan|apply) in GitHub Actions | さくらのナレッジ
  • Prometheusでのさまざまな監視データ取得法 | さくらのナレッジ

    Prometheusでは、Prometheus Serverが監視対象にアクセスしてデータを収集するアーキテクチャを採用している。このデータ収集のためのアクセス先(エンドポイント)は「exporter」と呼ばれており、さまざまなソフトウェアやハードウェア向けのものが提供されている。今回はこのexporterについて、独自のデータ取得方法なども含めて紹介する。 公式exporterとサードパーティによるexporter Prometheusのアーキテクチャは前々回の記事で詳しく紹介しているが、Prometheus Serverが監視対象にアクセスしてデータを収集するような構成(Pull型アーキテクチャ)となっている(図1)。このようなアーキテクチャにおいては、監視対象ごとにPrometheus Serverにデータを渡すためのexporterを用意する必要がある。 図1 Prometheus

    Prometheusでのさまざまな監視データ取得法 | さくらのナレッジ
  • 今日から始めるPrometheusによるシステム監視(1) 〜Prometheusの特徴とアーキテクチャ〜 | さくらのナレッジ

    この記事は2021年3月6日に行われたオープンソースカンファレンス 2021 Online/Springにおける発表を文章化したものです。 今回は「今日から始めるPrometheusによるシステム監視」ということで、Prometheusというツールについてご紹介をしていこうかなと思います。皆さんに「Prometheus完全に理解した」と言えるようになっていただきたい、というのが今回の目標です。 連載は3で構成されていて、それぞれ以下の内容を扱います。 Prometheusの特徴とアーキテクチャ(この記事) PrometheusとCNCF、Observability Prometheusを使ってみよう Prometheusとは Prometheus(プロメテウス)は、SoundCloudという海外音楽系サービスのエンジニアによって開発された監視システムです。もともと、Kubernete

    今日から始めるPrometheusによるシステム監視(1) 〜Prometheusの特徴とアーキテクチャ〜 | さくらのナレッジ
  • JavaScriptの非同期処理を理解する その2 〜Promise編〜 | さくらのナレッジ

    こんにちは!小田島です。前回の「コールバック編」を納稿したとき、アイキャッチ画像はJavaScriptのロゴにタイトルの文字を入れただけというとんでもないやっつけ仕事だったのですが、さくナレ編集部の方に「シリーズで理解が深まる」というすごい煽り文句がついたとてもカッコいい画像に差し替えていただきました。アイキャッチ詐欺にならないようにがんばります。 非同期処理シリーズの2回目はPromiseについての説明です。前回はコールバックについて説明しましたが、Promiseを使うことでどのように便利になったのでしょうか。それでは見ていきましょう!今回はコードが多いのでかなり分量が多く感じられるかもしれませんが、実際はあまり大したことはありません。 今回の目的 今回説明するのはPromiseです。これはFutureパターン(Promiseパターン)というデザインパターンの一種で、ECMAScript

    JavaScriptの非同期処理を理解する その2 〜Promise編〜 | さくらのナレッジ
  • SSL/TLSとは何なんだ? 今こそ知ってもらいたいSSL/TLSのお話 〜 1回目 〜 SSL/TLSとは | さくらのナレッジ

    SSL/TLSとは何なんだ? 今こそ知ってもらいたいSSL/TLSのお話 〜 1回目 〜 SSL/TLSとは | さくらのナレッジ
  • Kubernetesのユーザー管理と認証・権限確認機構を理解しよう | さくらのナレッジ

    Kubernetesはさまざまな環境で利用され、かつ不特定多数がクラスタにアクセスできることを前提に構築されており、そのため非常に柔軟なユーザー認証機構やユーザーの権限を管理する機能が組み込まれている。記事ではこれらの認証や権限確認機構がどのように働くのかや、その仕組みについて解説する。 Kubernetesにおける認証の必要性 Kubernetesはさまざまな企業・組織が参加するオープンな組織「Cloud Native Computing Foundation(CNCF)」によって開発が進められているが、元々はGoogleによってその開発がスタートしたプロジェクトであり、同社の持つコンテナクラスタ管理技術を元にしている。そのため、Kubernetesは当初から不特定多数がアクセスできるパブリッククラウドでの利用が想定されており、そういった環境でもセキュアかつ柔軟に利用できるよう設計され

    Kubernetesのユーザー管理と認証・権限確認機構を理解しよう | さくらのナレッジ
  • マイクロサービスアーキテクチャとそれを支える技術 | さくらのナレッジ

    最近では「マイクロサービス」と呼ばれる、機能毎に細かくサービスを分割して開発や運用を行うアーキテクチャの採用例が増えている。記事ではこのマイクロサービスアーキテクチャや、それに使われる技術について紹介する。 マイクロサービスとは 近年、ITシステムの開発・運用において「Microservice(マイクロサービス)」というアーキテクチャを採用する例が増えている。マイクロサービスアーキテクチャは、簡単に言えばサービスを構成する各要素を「マイクロサービス」と呼ばれる独立した小さなコンポーネントとして実装するという手法で、2011年ごろから提唱されているものだ。 マイクロサービスについては、2014年に公開された「Microservices」という文書が有名だ(有志による日語訳)。また、さくらのナレッジでも2015年に紹介されている。マイクロサービスの詳しい思想についてはこれら記事を参照してほ

    マイクロサービスアーキテクチャとそれを支える技術 | さくらのナレッジ
  • 世紀末SNS「hokutodon」を運営してみてわかったマストドンの可能性と課題 | さくらのナレッジ

    こんにちは。ヨッピーです。自宅作業中に失礼します。 実は今、最近流行りの「Mastodon(マストドン)」の新しいサーバーを立ち上げようと悪戦苦闘中です。 そもそも、「マストドン?なんやそれ!」みたいな人もいらっしゃるかと思うので解説しておこうと思うのですが、ざっくり言えばマストドンは最近出たばかりの新しい、Twitterのような短文投稿SNSであって、操作方法や使用感なんかはTwitterを使い慣れてる人にとってはあまり違和感を覚えずにスッと受け入れられるかと思います。 ただし、Twitterが140文字までしか投稿出来ないのに対してマストドンでは500文字まで投稿出来たり、「閲覧注意」的に注意を促してから画像を開かせる事が出来る機能が実装されていたりと、Twitterとは異なる部分もあります。 その中でも一番大きな特徴が、マストドンを構築するソフトウェアはオープンソースとして公開されて

    世紀末SNS「hokutodon」を運営してみてわかったマストドンの可能性と課題 | さくらのナレッジ
  • Jenkinsを使った自動テスト環境を作る(後編)――Dockerコンテナを使って自動ビルドを実行する | さくらのナレッジ

    継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。後編となる今回は、Dockerを使ってコンテナ内に構築したビルド環境をJenkinsから利用する例を紹介する。 Jenkinsの「マスター/スレーブ」機能 前回記事では、Jenkinsをインストールしたサーバー内でソフトウェアのビルドやテストを行うことを前提に環境を構築していった。Jenkinsをインストールしたサーバーと、対象とするソフトウェアのビルド/実行環境が同じで構わなければこれで問題はないが、たとえばそれぞれビルド/実行環境が異なる複数のソフトウェアをJenkinsで管理したい場合、このやり方では複数台のサーバーを用意しなければならない。 Jenkinsではこういった問題を解決するため、Jenkinsがインストールされたサーバーとは異なるサー

    Jenkinsを使った自動テスト環境を作る(後編)――Dockerコンテナを使って自動ビルドを実行する | さくらのナレッジ
  • Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ

    継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。記事ではJenkinsの最新版となるバージョン2系で正式に導入された、パイプライン機能を使ったビルド/テスト環境の構築を紹介する。 CIツールと「Jenkins」 ソフトウェア開発の現場において、そのテストはソフトウェアの設計やコーディングと同じくらい重要な過程である。近年のWebアプリケーションやスマートデバイス向けアプリケーション開発ではアプリケーションのリリース間隔が短くなっている傾向があり、そのためテストもより迅速かつ頻繁に行わなければならくなっている。そういった環境で有用なのが、継続的インテグレーション(CI)ツールだ。 CIは、元々は「ソフトウェアの開発コストを下げるためには開発の初期から頻繁にテストを行ってフィードバックを行うべき」とい

    Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ
  • システム構成図やプレゼンテーション資料などで自由に使える「さくらのアイコンセット」を公開いたしました。 | さくらのナレッジ

    「さくらのアイコンセット」とは? 「さくらのアイコンセット」は、サーバやストレージなどインフラに関連したアイコンをセットにしたものです。当社サービスをご利用をされている方はもちろん、当社サービスをご利用でない方でも、ホワイトペーパー、システム構成図、プレゼンテーション資料など様々な用途にご利用いただけます。 >>こちらからダウンロードできます。 《ライセンス》 SAKURA internet Inc. クリエイティブ・コモンズの 表示 4.0 国際 ライセンスで提供されています。 《アイコンの紹介》 「さくらのアイコンセット」を含まれるアイコンについては、下記のアイコンとなります。 1 : general 様々な用途でご利用できる汎用的なアイコン集です。 2 : programming PHPPythonなどのプログラミング言語のアイコン集です。 3 : server-parts CPU

    システム構成図やプレゼンテーション資料などで自由に使える「さくらのアイコンセット」を公開いたしました。 | さくらのナレッジ
  • PHPアプリケーションのデプロイにぴったりなDeployerを試す | さくらのナレッジ

    今や開発環境はローカルにあるのが一般的です。OSを合わせたい場合でもVMを使えば簡単に実現できます。問題はコードが書き終わった後のデプロイではないでしょうか。どのサーバにどのコードを反映し、どんなタスクを実行するのか、ライブラリの変更があるのかなどを適切に管理する必要があります。 Ruby/Ruby on Rails界隈ではCapistranoというソフトウェアが使われることが多いです。Capistrano自体は汎用的なデプロイツールですが、PHPであればやはりPHP製のツールの方が分かりやすいでしょう。そこで今回はDeployerというPHP製のデプロイツールを紹介します。 Deployer — Deployment Tool for PHP Deployerのセットアップ Deployerはとても簡単にセットアップできます。体をダウンロードして、パスの通ったところに配置するだけです。

    PHPアプリケーションのデプロイにぴったりなDeployerを試す | さくらのナレッジ
  • CoreOSを使ってDockerコンテナを動かす——15分でできるCoreOSクラスタの作り方 | さくらのナレッジ

    Dockerを利用する際に、コンテナを動かすための環境の1つとしておすすめしたいのがCoreOSだ。CoreOSでは簡単にコンテナの実行環境を構築でき、さらに複数台のCoreOSマシンを組み合わせて連携させる機能も用意されている。今回はCoreOSを使ってサービスを構築するための基礎知識と、実際の作業の流れを紹介する。 Dockerなどを使ったコンテナの利用に特化したCoreOS 近年注目されている「コンテナ」技術は、VMwareやXen、KVMといった仮想化技術と同様にハードウェアやOSとは独立した環境を構築でき、また仮想化を利用するよりも低コストで利用できることで注目を集めている。しかし、Dockerを使ってサービスを実際に運用する場合、どういった環境を用意すれば良いか迷うケースもあるだろう。その解答の1つに、コンテナを稼動させることに特化したLinuxディストリビューションであるCo

    CoreOSを使ってDockerコンテナを動かす——15分でできるCoreOSクラスタの作り方 | さくらのナレッジ
  • Dockerを使ったCIサーバ「Drone」レビュー | さくらのナレッジ

    CI(継続的インテグレーション)をはじめる上で、テストビルドする環境は毎回リセットされる方が都合が良いです。余計なデータが残っていたためにテストに失敗したり、逆に成功したりと言った不正確性のが残るのはよくありません。 そこで登場したCIサーバがDroneです。Dockerを使ってテスト環境を毎回構築、破棄してくれます。しかもDroneのCI環境構築についてもDockerを使って簡単にできます。ぜひ新しいCIサーバとしてチェックしてください。 なおDroneはWebサービスも提供しており、オープンソースのプロジェクトについては無料、5つのプライベートプロジェクトチェックで25ドル/月からとなっています。 Droneのトップページ Droneのインストール 今回はさくらのクラウドを使ってCoreOSを立ち上げています。 ログインしたら joaodubas/docker-droneio をpul

    Dockerを使ったCIサーバ「Drone」レビュー | さくらのナレッジ
  • GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ

    (※3月18日追記:当初「SSH公開鍵の管理機能」において、GitBucketを「×」としていましたが、SSHアクセス機能を機能を有効にすることでSSH公開鍵の管理機能も利用できるとのことで、「○」に修正しました) GitLabおよびGitBucketと、RedmineおよびTracとの大きな違いとして、フォークやマージ/プルリクエスト機能をサポートしているかどうかがある。これらの機能を利用したいのであれば、GitLabやGitBucketが候補となるだろう。 いっぽう、Redmineはカレンダー機能やガントチャートと言ったプロジェクト管理機能が充実しているのが特徴だ。また、Tracはシンプルなユーザーインターフェイスや、プラグインによるカスタマイズ性の高さがある。フォークやマージ/プルリクエスト機能を利用しないのであれば、プロジェクト管理機能が充実しているRedmineやTracは十分な

    GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ
  • SeleniumサーバもDockerで。「Docker Selenium」レビュー | さくらのナレッジ

    DockerIT界隈で広まりつつも、なかなか実践的に使うことができないという人は多いのではないかとかと思います。しかし何もサーバ運用環境として使わずとも、使いどころはあります。その一つがサーバソフトウェアのインストールです。 サーバソフトウェアはインストールの手間と、その後のバージョンアップや他のソフトウェアで使っている共通ライブラリのコンフリクトなど、とかく運用が面倒です。基幹系システムが入っているサーバに他のソフトウェアをインストールするのは躊躇しますよね。 そういったときにDockerを使えばそれぞれのソフトウェアの環境が分けられるのでセキュリティ、運用的に安心できます。今回はその一つとしてDocker Selenium、Dockerを使ったSeleniumサーバを紹介します。 Docker Seleniumのインストール インストールはとても簡単です。なおDockerはインストー

    SeleniumサーバもDockerで。「Docker Selenium」レビュー | さくらのナレッジ
  • Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ

    今年の6月にChef Soloは役割を終え、今後引退への道をたどると言うアナウンスがChefの公式ブログでありました。Chef Soloがなくなるということは、必ずChef Serverが必要になると言うことでしょうか?答えはなんとYesです。 しかし安心してください。そのためにChef Zeroが用意されています。一言で言うと、Chef Zeroはローカルで動かせるChef Serverです。 そしてChef Clientをローカルモードで動かすことでローカルのChef Zeroに接続するため、別のChef Serverは必要ありません。要するにChef Soloと同じような感覚でChefを使い続けることができます。 更にKnife-Zeroを使うとChef Solo同様にセットアップ先のマシンにChef Clientを簡単に入れることができます。そこで今回はこのKnife-Zeroを使

    Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ
    lepton9
    lepton9 2014/11/21
  • 「サーバーってなに?」~初心者でもよくわかる!VPSによるWebサーバー構築講座(1) | さくらのナレッジ

    サーバーの扱いに慣れていない初心者の方を対象に、VPS(Virtual Private Server)を使ってWebサーバーを構築し、WordPressサイトを運用できるようになるまでの連載を始めます。 サーバーの構築方法については、中・上級者向けの情報は多く見つかりますが、 「初めてVPSに触れる方が、Webサイトを構築して運用できるようになるまでのノウハウ」 を体系的に解説しているサイトはあまり多くありません。 ネット上に存在している情報では断片的だったり、分からない専門用語が出てきたりして、途中であきらめてしまった方も多いのではないでしょうか? 連載では、初心者の方でも「これさえ読めばVPSを構築できる!」ように、初歩から丁寧に解説します。 「今までレンタルサーバーを使っていたけど、一歩進んでVPSに挑戦してみたい」という方のお役に立てれば幸いです。 連載は以下の構成で5回に分け

    「サーバーってなに?」~初心者でもよくわかる!VPSによるWebサーバー構築講座(1) | さくらのナレッジ
  • レッツトライ!夏休みに覚えるDocker | さくらのナレッジ

    こんにちは。MOONGIFTというサイトを運営している中津川と言います。MOONGIFTは10年くらい前からオープンソース・ソフトウェアを紹介しているのですが、昨年よりサーバのホスティング先をさくらさんに変更しています。そんなご縁もあって、今回からさくらのナレッジにて記事を書かせてもらうことになりました。オープンソース・ソフトウェアのレビューやクラウド周りの最新情報発信などを行っていきますのでよろしくお願いします! 8月と言えば夏休みです。サーバ管理者の方もひと時の心休まるひと時を過ごされているのではないでしょうか。サーバルームの方が涼しいとか、いつ電話が鳴るか分からないなんてことは今は忘れましょう。 せっかくの夏休み、日頃の疲れを癒すべくゆったりと南国の空のもとで過ごすのも良いですが、ITエンジニアたるもの日々の精進は欠かせませんよね。ということで忙しい日々の業務に追われてなかなかトレン

    レッツトライ!夏休みに覚えるDocker | さくらのナレッジ
  • Dockerで使うサーバサイドソフトウェア(エンジニア編) | さくらのナレッジ

    Linuxコンテナを使った仮想化ソフトウェアDocker。興味はありつつも、実際の運用の中で活かす機会は意外と多くないのではないでしょうか。さらに1.0となったとは言え、実運用のサーバの中で活用していくというのは勇気が出ないかも知れません。 そこで今回はあくまでも開発の部署内だけでDockerを使っていくという方法を提案したいと思います。Dockerのメリットの一つ、外部の人たちが作ってくれているコンテナを使ってサービスを立ち上げてみましょう。今回は特にエンジニアがよく使いそうなソフトウェアにフォーカスを当てています。 必要なもの さくらのクラウドのアカウント さくらのクラウドトップページ アカウントはさくらのクラウドトップページから作成できます。 クラウドサーバを追加する サーバ追加画面 管理画面に入りましたら、サーバの追加を選択します。追加画面では、サーバの名前、メモリ数、ディスクプラ

    Dockerで使うサーバサイドソフトウェア(エンジニア編) | さくらのナレッジ