タグ

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

  • Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ

    これまでのDocker Compose入門は、Docker Compoesの紹介に始まり(第1回)、簡単なウェブサーバを起動する方法(第2回)、ネットワークの理解を深める方法(第3回)でした。今回は連載のまとめとして、ネットワークとボリュームの活用によって、1つのサーバもしくはPC上に複数のアプリケーション環境を動かす方法をみていきいましょう。 Docker Composeはプロジェクトごとにネットワークを持つ 前回はDockerのネットワークの扱いを学びました。Dockerコンテナを実行すると、そのコンテナ内のプロセスは、デフォルトで「bridge」という名称の仮想的な内部ネットワークを通して通信を行います。またホスト上のブリッジ(仮想的なネットワーク・スイッチ)を経由して、Dockerが作成する他の内部ネットワークや、ホスト側のインターフェースを通して、インターネットなどの外部ネットワ

    Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ
  • Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜 | さくらのナレッジ

    こんにちは!小田島です。ウェブ業界に来る前は手品業界で働いていました。最近は外出自粛で手品をやる機会がないので家でひたすら練習しています。 前回の記事「いまさら聞けないNode.js」は、「わかりやすい」「いい記事」「背景の説明が丁寧」といった好意的な反応が多くて安心しました。 「Denoについては後日記事を書きます」と前回宣言したので、今回はDenoについての入門記事を書きます。よろしくおねがいします! 対象者 今回は、こんな人が対象です。 Denoって何? Node.jsとどう違うの? 全然触ったことないけど何か簡単で応用が効くものを作ってみたい 前回と違い、ハンズオンも含まれています。ぜひ読みながら実際に動かしてみてください。 Denoとは? 前回同様に超ざっくりと説明すると、JavaScriptTypeScriptの動作環境です。作者はNode.jsと同じライアン・ダールです。D

    Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜 | さくらのナレッジ
  • GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ

    GitHubが2019年11月、新機能「GitHub Actions」を正式に公開した。GitHub上のリポジトリやイシューに対するさまざまな操作をトリガーとしてあらかじめ定義しておいた処理を実行できる機能で、今まで外部サービスとの連携が必要だった自動テストや自動ビルドなどがGitHubだけで実現できるようになる。今回はこのGitHub Actionsについて、機能の概要や基的な使い方などを紹介する。 GitHubだけでCI/CD的な機能を実現できる「GitHub Actions」 昨今では、ソフトウェア開発におけるさまざまな工程を自動化するような技術の開発や普及が進んでいる。その1つに、CI(Continuous Integration、継続的インテグレーション)やCD(Continuous Delivery、継続的デリバリー)と呼ばれるものがある。CIはソフトウェアのビルドやテストを

    GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ
  • SSL/TLSとは何なんだ? 今こそ知ってもらいたいSSL/TLSのお話 〜 1回目 〜 SSL/TLSとは | さくらのナレッジ

    SSL/TLSとは何なんだ? 今こそ知ってもらいたいSSL/TLSのお話 〜 1回目 〜 SSL/TLSとは | さくらのナレッジ
    yk5656
    yk5656 2019/09/11
  • systemd編~サーバーで不要なものは動かさない~ – Linuxセキュリティ入門(1) | さくらのナレッジ

    今回から5回に渡り、Linuxサーバーのセキュリティ設定を皆さんと一緒に確認しつつ、セキュリティに関連するコマンドの説明を書かせてもらう川井です。皆さんと同じく、さくらインターネットの一ユーザーでもありますので、以後、よろしくお願いいたします。 これから説明するセキュリティを確認する環境は、さくらインターネットが提供しているサービスの『さくらのVPS』や『さくらのクラウド』でCentOS 7以降の利用が対象です。さくらインターネットさんはセキュリティにとても留意しているため、初期状態でも危機はかなり低いとはいえ、利用している皆さんがよりセキュリティに関心を寄せることで、更なる安全を手に入れられるでしょう(この連載では以降、さくらのVPSとさくらのクラウドをさくらのサービスとまとめて記述します)。 対象サービス これから触れるセキュリティの元ネタは個人的にも利用しているさくらのVPSと、お仕

    systemd編~サーバーで不要なものは動かさない~ – Linuxセキュリティ入門(1) | さくらのナレッジ
  • 面倒なJavaScriptコードのとりまとめがこれ1つで可能に、「webpack」入門 | さくらのナレッジ

    最近JavaScript関連の開発で採用が進んでいる「webpack」は、JavaScriptファイルの変換や結合といった操作をコマンド1つで実行できるツールだ。記事では、webpackとは何かという基的な概念から導入方法、実際の利用例などを紹介する。 モジュール管理機構の不足や未サポート機能の問題をツールで解決する「webpack」 今日のWeb開発においてJavaScriptの利用は避けることができないが、JavaScriptのソースコードをどのように管理・デプロイすべきかという問題に対しては、まだ決定的な解決策が生まれていない状況が続いている。その根的な原因の1つには、最近までJavaScriptにおいて普遍的に利用できるモジュール管理システムが存在しなかったことがある。 一般的なプログラミング言語では、大規模なプログラムを実装する際に作業性やメンテナンス性を高めるためプログラ

    面倒なJavaScriptコードのとりまとめがこれ1つで可能に、「webpack」入門 | さくらのナレッジ
  • Kubernetesのユーザー管理と認証・権限確認機構を理解しよう | さくらのナレッジ

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

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

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

    マイクロサービスアーキテクチャとそれを支える技術 | さくらのナレッジ
  • メルカリもBASEも使ってる! 画像変換サービスImageFluxの魅力と新機能をご紹介! ImageFlux meetup #2 レポート (前編) | さくらのナレッジ

    メルカリもBASEも使ってる! 画像変換サービスImageFluxの魅力と新機能をご紹介! ImageFlux meetup #2 レポート (前編) | さくらのナレッジ
  • インフラ・サービス監視ツールの新顔「Prometheus」入門 | さくらのナレッジ

    サーバーやインフラなどの監視ツールの1つとして最近注目されているのが「Prometheus」だ。Prometheusはインストールや設定が容易で、かつ十分な機能を持ち管理しやすいという特徴を持つ。記事ではこのPrometheusの導入方法、基的な監視設定の流れを紹介する。 クラウド時代の監視管理ツール ネットサービスを運営する場合、そのサービスを運営するソフトウェアやサーバー、ネットワーク機器などの状況を監視する手段を用意するのが一般的だ。監視を行い、意図しない状況になったら自動的にメールなどで通知を行うシステムを構築することで、問題をいち早く解決できるようになる。さらに、サービスやマシンの稼働ログを適切に記録することで潜在的な問題を事前に見つけたり、最適化に向けた分析を行うといったことも可能になる。 監視や問題発覚時の通知などを行うオープンソースのツールとしては、過去にElastic

  • Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ

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

    Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ
  • PHPアプリケーションのデプロイにぴったりなDeployerを試す | さくらのナレッジ

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

    PHPアプリケーションのデプロイにぴったりなDeployerを試す | さくらのナレッジ
    yk5656
    yk5656 2016/04/25
  • シェルスクリプトでバックアップのすすめ~初心者でもよくわかる!VPSによるWebサーバー運用講座(5) | さくらのナレッジ

    VPSによるWebサーバー運用講座の連載5回目(最終回)です。 今回は、シェルスクリプトによるWebコンテンツのバックアップの方法や、OSのセキュリティアップデートについて解説します。 サーバーOSはCentOS 6.7として説明しています。 Webコンテンツの定期バックアップをしよう VPS上にWordPressなどのCMS(コンテンツマネジメントシステム)をインストールしてWebサイトを運用しているケースは多いと思います。 こういったツールは、ファイル転送ソフトを使わなくてもブラウザだけで記事を書いたり編集したりできて便利です。しかし、作った記事コンテンツはサーバー上にしか存在せずパソコン上には残りません。何らかのアクシデントでデータベースのデータが消えてしまうと、バックアップがどこにもないので泣き寝入りするしかありません。 便利さの反面そういった落とし穴があるので、日頃からデータのバ

    シェルスクリプトでバックアップのすすめ~初心者でもよくわかる!VPSによるWebサーバー運用講座(5) | さくらのナレッジ
  • GitHubと連携できる継続的インテグレーションツール「Travis CI」入門 | さくらのナレッジ

    開発の現場ではビルドやテストを自動化して継続的に実行していく「継続的インテグレーション」(CI)が近年普及しつつある。CIを支援するためのツールはいくつかあるが、今回はGitHubと連動し、指定したリポジトリ上にあるコードを自動的に取得してビルドやテストを実行できるサービス「Travis CI」を紹介する。 Travis CIで手軽に継続的インテグレーションを導入 「継続的インテグレーション(CI)」とは、ソフトウェア開発過程において頻繁にテストを行うことで問題を早期に発見し、品質の向上を図る開発手法である。しかし、テストを毎回手動で行うのには手間がかかる。そこで特定のタイミングで自動的にテストを実行し、テスト完了後にその結果を通知する「CIツール」などが利用される。 CIツールとしてよく知られているものとして「Jenkins」などがあるが、多くのツールでは独自にテストのための環境を構築し

    GitHubと連携できる継続的インテグレーションツール「Travis CI」入門 | さくらのナレッジ
    yk5656
    yk5656 2016/02/20
  • インフラの自動テストツール「Infrataster」を試す | さくらのナレッジ

    今回はインフラに対する自動テストツールであるInfratasterを軽く試してみたいと思います。 Infratasterはインフラの外部から振る舞いをテストするツールで、構築したサーバに対してそのサーバのサービス利用者に近い視点でテストをすることができるのが特徴です。 ちなみにインフラの自動テストと言えばServerspecがよく知られていますが、サーバ内部からテストするServerspecに対してInfratasterは外側からと、ひと味違ったアプローチのテストツールとなっています。 準備 Infratasterの公式サイトにチュートリアルがありますが、今回は最初の一歩としてそれをさらに単純化したものを試していきます。 ローカルのマシンに作業ディレクトリを作り、その中でInfratasterを動かしていきましょう。 MacもしくはLinuxなどで試してみてください。 $ mkdir in

    インフラの自動テストツール「Infrataster」を試す | さくらのナレッジ
  • 「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座(2) | さくらのナレッジ

    以上の特徴を踏まえた上で、それでは実際に秘密鍵、公開鍵の鍵ペアを作りましょう。 Macの場合の公開鍵認証のやり方 ターミナルを開いた状態では、現在のパスはユーザーのホームディレクトリ( /Users/(ユーザーID) )になっていると思います。 ls -a コマンドでファイルのリストを表示し、もし .ssh ディレクトリが無ければ作成してください。 ディレクトリのアクセス権限は人しか読み書きできない権限(700)にします。 $ mkdir .ssh $ chmod 700 .ssh .ssh ディレクトリに移動し、ssh-keygenコマンドを実行して秘密鍵と公開鍵のペアを作ります。 パスフレーズは自分が決めた適当な文字列を使用してください。 $ cd .ssh $ ssh-keygen Generating public/private rsa key pair. Enter file

    「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座(2) | さくらのナレッジ
    yk5656
    yk5656 2015/09/19
  • 実践!Ansibleベストプラクティス(前編) | さくらのナレッジ

    今回はAnsibleを格運用した際のイメージを掴むためにAnsibleのベストプラクティスを参考に実際に試してみたいと思います。 実践のお題はWordPressとします。WordPressのセットアップを通してベストプラクティスのイメージを掴んでいただければと思います。 準備 ローカルマシンに作業ディレクトリを作り、その中でAnsibleのベストプラクティスに則ったプレイブックを作っていきます。MacもしくはLinuxなどで試してみてください。 $ mkdir try-ansible-best-practices $ cd try-ansible-best-practices ウェブサーバとDBサーバを別個に立てますので、さくらのクラウドでサーバを二台立てておきます。OSはCentOS 6.6を利用します。サーバ作成時にrootでのsshの接続に必要となる公開鍵も忘れずに登録してください

    実践!Ansibleベストプラクティス(前編) | さくらのナレッジ
  • AnsibleとVagrantで開発環境を構築する | さくらのナレッジ

    AnsibleはChefやPuppetと同様に冪等性(べきとうせい)に配慮した構成管理ツールです。YAMLで記述したプレイブックのファイルが1つあれば動き、SSHさえ繋がれば対象サーバーにクライアントは不要、といったシンプルさが支持され、近年ユーザーを増やしています。 そのシンプルさは仮想マシンを利用した開発環境の構築にもうってつけに思えます。と言うことで今回はAnsibleをVagrantのプロビジョナーに使って開発環境を構築しました。 Ansibleの公式サイト Ansibleのインストール Ansibleはコントロールマシンに入っていればよく、セットアップ対象のサーバにはAnsibleのクライアントなどは不要です。SSHで接続さえできればOKです。今回のケースでは開発マシンのMacをコントロールマシンとし、Vagrantによる仮想マシンをセットアップ対象とします。 Ansible自体

    AnsibleとVagrantで開発環境を構築する | さくらのナレッジ
  • PHP開発環境をDockerで構築する「phpstack」レビュー | さくらのナレッジ

    最近は開発環境を仮想化するケースが増えてきました。元々WindowsではPHPの開発時にVMWare Playerを使ってLinuxを動かして開発することが多かったですが、それがMac OSXLinuxであっても有益に使われています。一つのプロジェクトであれば環境をローカルに作ってしまっても良いのですが、プロジェクトごとに異なる環境を用意したり、LAMPだけに限らないアーキテクチャの場合に開発に携わる人員分、環境を作るのは大変です。 そこで今回はphpstackを紹介します。CoreOS上にDockerを使って様々なサービスをインストールして様々なプロジェクトに対応できるPHP開発環境を構築してくれます。リモートにログインせずとも使えるという利点があります。 必要なもの Docker Docker Compose オプションとして、 Vagrant VirtualBox があると便利です

    PHP開発環境をDockerで構築する「phpstack」レビュー | さくらのナレッジ
  • エージェントレスでシンプルな構成管理ツール「Ansible」入門 | さくらのナレッジ

    近年、ChefやPuppetなどの構成管理ツールが人気だが、新たに注目されつつある構成管理ツールとして「Ansible」がある。Ansibleは設定ファイルがシンプルで、管理対象サーバーに特別なソフトウェアをインストールすることなく利用できるなど、最小限の手間で各種設定を自動化できるのが特徴だ。今回はこのAnsibleについてその基的な使い方を紹介する。 小規模な環境でも手軽に使えるAnsible あらかじめ用意しておいた設定ファイルに従って、ソフトウェアのインストールや設定ファイルの修正、サービスの起動/停止、ネットワーク設定といったサーバーの各種設定を自動的に実行するソフトウェアを構成管理ツールと呼ぶ。代表的なものとしては、さくらのナレッジでも過去に取り上げているChefやPuppetがある。 関連記事: サーバー設定ツール「Chef」応用編:knife-soloとData Bagを

    エージェントレスでシンプルな構成管理ツール「Ansible」入門 | さくらのナレッジ