タグ

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

  • さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第10回〜 | さくらのナレッジ

    はじめに 連載は、システム開発に必要な知識を得るために、一通りの流れを学ぶことを目指しています。 連載の第7回からは、実際の業務を想定したメモアプリを例に、開発の流れを解説しています。今回はアプリケーションサーバー(APサーバー)の構築を解説します。なお、APIサーバーも同じ手順で構築できます。 APサーバーとAPIサーバー APサーバーは、クライアントからのリクエストを受け取り、それに対する応答を生成するためにアプリケーションのビジネスロジックを実行するサーバーコンポーネントです。通常、ウェブアプリケーションやモバイルアプリケーションなど、ユーザーインターフェースとバックエンドロジックの間で動作します。 APIサーバーは、外部からのリクエストを受け取り、それに対してJSONやXMLなどのデータフォーマットで応答を提供するサーバーコンポーネントです。通常、外部のクライアント(モバイルア

    さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第10回〜 | さくらのナレッジ
    nilab
    nilab 2024/05/27
    さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第10回〜 | さくらのナレッジ
  • さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第8回〜 | さくらのナレッジ

    はじめに 連載は、システム開発に必要な知識を得るために、一通りの流れを学ぶことを目指しています。 前回から、実際の業務を想定したメモアプリを例に、開発の流れを解説しています。今回からはサーバーの構築について解説します。 […]

    さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第8回〜 | さくらのナレッジ
    nilab
    nilab 2024/05/27
    さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第8回〜 | さくらのナレッジ
  • Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ

    オープンソースのWAF WAFとして利用できるソフトウェアは多数存在しており、その多くはセキュリティ企業などが提供する商用製品/商用サービスとなっている。しかし、数は少ないがオープンソースのWAFも存在する。オープンソースのWAFとしてよく知られているのが次の5つだ。 ModSecurityはApache HTTP ServerやNginxMicrosoft IISのモジュールとして提供されているものだ。このモジュールを組み込むことで、これらWebサーバーをWAFとして利用できるようになる(図1)。 図1 ModSecurityのWebサイト 活発な開発が続けられており、採用実績も多い。DebianやUbuntu、Red Hat Enterprise Linux(RHEL)およびCentOSといったその互換OSなどでは標準でパッケージが提供されており、導入も容易だ。検出用のルールセットは

    Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ
    nilab
    nilab 2021/08/29
    「WAFはWebサーバー宛のリクエストの中身をチェックし、定義されている検出ルールにマッチするかどうかでそのリクエストの正当性を判別する。そのため、適切に動作させるには適切な検出ルールを用意することが必要」
  • OpenStreetMap Foundation Japanコミュニティ向けタイルサーバの構築事例 | さくらのナレッジ

    一般社団法人OpenStreetMap Foundation Japanではさくらインターネットからコミュニティ支援を受け、さくらのクラウド上にコミュニティ向けのOpenStreetMap Japanサイトおよびタイルサーバを構築、運用をしています。今回はタイルサーバおよびその構築方法について解説します。 タイルサーバとは何か 地図業界ではタイルサーバというと、一般的に地図データを配信するサーバを指します。地図をタイルという単位で分割することでREST APIで地図データを取得し、JavaScriptライブラリやネイティブ向けライブラリを使って簡単に地図を表示することが可能となります。 ただ、「タイル」といっても「タイル」自体にいろいろな仕様があります。OpenStreetMap Foundation Japanが提供しているタイルは「zxyタイル」(またはXYZ)と呼ばれるもので、なんと

    OpenStreetMap Foundation Japanコミュニティ向けタイルサーバの構築事例 | さくらのナレッジ
    nilab
    nilab 2021/03/29
    「地図業界ではタイルサーバというと、一般的に地図データを配信するサーバを指します」「OpenStreetMap Foundation Japanが提供しているタイルは「zxyタイル」(またはXYZ)と呼ばれるもの」
  • 「広告」を悪用する感染手法が拡大。「日本」を狙い撃ちするケースも | さくらのナレッジ

    サイバー攻撃者がユーザーのPCにマルウェア感染させる手法は、メールの添付ファイルと改ざんされたサイトへの誘導が一般的です。しかし最近、サイトに表示される広告を悪用する手法が多く検知されるようになっています。こうした広告は広告用のネットワークから配信されるため、サイト側での検出が困難であるという特徴があります。 最近の事例では、2015年2月に動画共有サイトでのマルウェア感染が増加しました。これは動画共有サイトで不正広告がホストされていたというもので、広告に「Adobe Flash Player」の脆弱性を悪用するコードが埋め込まれていました。Webサイトを表示した際に悪意のあるコードが自動的に実行するよう、サイト自体を作り込んであったため、脆弱性のある「Adobe Flash Player」がインストールされているPCでサイトにアクセスすると、自動的にコードが実行されます。 コードが実行さ

    「広告」を悪用する感染手法が拡大。「日本」を狙い撃ちするケースも | さくらのナレッジ
    nilab
    nilab 2020/11/05
    「広告」を悪用する感染手法が拡大。「日本」を狙い撃ちするケースも | さくらのナレッジ
  • Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ

    みなさん、こんにちは。Acroquest Technology (アクロクエストテクノロジー) の横山 仁(よこやま じん)と申します。 主に仕事ではインフラ関係やDevOps推進に向けた活動などに携わっています。最近では、今回の記事の内容でもあるDocker(ドッカー)を使うこともかなり増えてきて、他にもAnsibleであったり、CIツールのJenkinsなども使って、自動化や開発環境の整備などを主に行っています。 この度、さくらのナレッジでDockerの入門記事の連載をさせていただくことになりました。よろしくお願いします。 今回、Dockerについて、Dockerでどのようなことができるのか、どんな使い方をすると良いのかを、実際に手を動かすことを中心に、6回に分けて紹介していく予定です。前提として、Linuxの基的な知識がある方を対象として書いていきます。 世の中が当たり前のようにD

    nilab
    nilab 2020/06/19
    Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ
  • Kubernetesのユーザー管理と認証・権限確認機構を理解しよう | さくらのナレッジ

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

    Kubernetesのユーザー管理と認証・権限確認機構を理解しよう | さくらのナレッジ
    nilab
    nilab 2020/06/18
    「サービスアカウントは「ServiceAccount」(sa)というリソースに紐付けられており、名前空間毎に独立しているという特徴がある。作成されているサービスアカウントは、「kubectl get sa」コマンドを用いて確認できる」
  • Docker入門(第三回)~各種dockerコマンドとDockerイメージ作成について~ | さくらのナレッジ

    こんにちは、横山です。 先月は、以下のコンテナに関係する書籍が発売されましたね。 コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤 入門 Kubernetes 「コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤」では、物理マシンから、仮想化やコンテナ、クラウドへの移り変わりなどの背景も含めて書かれているのでおすすめです。 また、4/19(火)には、KubernetesDockerを中心としたコンテナ活用の現状をひとまとめにした開発者のためのイベントである「Japan Container Days v18.04」がありますね。私も楽しみにしています。 はじめに 第二回では、DockerのインストールとDocker Hubで公開されているNginxDockerイメージを使って

    nilab
    nilab 2020/04/17
    「Dockerイメージにする対象のコンテナ名を指定し、Dockerイメージを作成」「# docker commit tomcat tomcat-image」「docker commit <コンテナ名> <作成するDockerイメージ名>」
  • Docker入門(第四回)~Dockerfileについて~ | さくらのナレッジ

    こんにちは、Acroquest Technologyの横山です。 4/19(木)にKubernetesDockerを中心としたコンテナ活用の現状をひとまとめにした開発者のためのイベントである「Japan Container Days v18.04」に参加してきました。コンテナの管理ツール(オーケストレーションツール)であるKubernetesを活用した事例が多数あり、とても刺激的でした。発表資料をまとめてくれている方がいますので、興味のある方は「Japan Container Days v18.04 の資料」を見てみてください。 はじめに 第三回では、各種Dockerコマンドの説明と、コンテナ内でTomcatインストールを行い、そのコンテナをDockerイメージにしました。 第四回では、Dockerfileを使ってDockerイメージを作成してみます。また、Dockerfileを使用する

    nilab
    nilab 2020/04/17
    「Dockerfileに書かれたコマンドは、毎回、中間的なDockerコンテナとして起動し、各コマンドを実行して各段階でDockerイメージを作成する、というのを繰り返します」
  • プログラムでMinecraftを操作するプラットフォーム – Minecraftではじめるプログラミング(1) | さくらのナレッジ

    こんにちは、さくらインターネットの大喜多です。 今回から数回にわたり、Minecraftを使ったプログラミングについてご紹介いたします。よろしくお願いいたします。 Minecraftとは? 『Minecraft』は、NotchことMarkus Persson氏と、彼が設立した会社・Mojang AB(現在はマイクロソフトの子会社)の社員が開発したサンドボックスゲームです。サバイバル生活を楽しんだり、自由にブロックを配置し建築等を楽しむことができるコンピュータゲームです。ゲームとして楽しむほか、プログラミングやアクティブ・ラーニングなどの教育分野においても有用であるとされており、授業や学習に取り入れられているケースがあります。 Minecraftでプログラミングをするには? 基的にはMinecraftそのものにはプログラミングをする機能はついておらず、MODと呼ばれるMinecraftの機

    プログラムでMinecraftを操作するプラットフォーム – Minecraftではじめるプログラミング(1) | さくらのナレッジ
    nilab
    nilab 2020/02/11
    ComputerCraft/ComputerCraftEdu / Scratch2MCPI / Minecraft Hour of Code
  • ポートスキャンツール「Nmap」を使ったセキュリティチェック | ページ 2 | さくらのナレッジ

    ポートスキャンで使用する方式を選択する Nmapでは複数のポートスキャン方式が実装されており、目的や状況に応じてポートスキャン方式を選択できる。通常はデフォルトで利用されるTCP SYNスキャンもしくはTCP Connectスキャンで十分なのだが、対象のホストがIPS(侵入検知システム)やファイアウォールなどで守られている場合、それ以外のスキャン方式を選択することでこれらを回避できる可能性がある。自分が管理しているサーバーに対してこのような特殊なポートスキャン方式を利用することはあまりないだろうが、Nmapがどのようにポートスキャンを行っているかを理解する補助として、Nmapで利用できるポートスキャン方式のいくつかを簡単に説明しておこう。 TCP SYNスキャン(-sS) もっとも基的なポートスキャン方式が「TCP SYNスキャン」だ。「ステルススキャン」とも呼ばれている。このスキャン方

    ポートスキャンツール「Nmap」を使ったセキュリティチェック | ページ 2 | さくらのナレッジ
    nilab
    nilab 2020/01/12
    filtered → そのポートに対しパケットフィルタが適用されており、ポートが利用できるかを判断できない / open|filtered → ポートは開いている、もしくはパケットフィルタが適用されているが、そのどちらかは判断できない
  • Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ

    たとえば、かつてiptablesで設定していたIPv4に関連するパケットフィルタリング設定は、nftablesにおいては「ip」というアドレスファミリに紐付けたテーブルを作成することで設定できる。同様に、ip6tablesやarptables、ebtablesで設定していたものはそれぞれ「ip6」や「arp」、「bridge」というアドレスファミリに紐付けたテーブルで設定する。 「inet」「および「netdev」アドレスファミリはnftablesで新たに導入されたもので、まず「inet」はIPv4およびIPv6の両方を対象にした設定を行えるアドレスファミリだ。従来IPv4とIPv6の両方にまたがったフィルタリングルールを設定したい場合はiptablesとip6tablesの両方で同じようなルールを追加する必要があったが、nftablesではinetアドレスファミリで指定することで単一の設

    Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ
    nilab
    nilab 2020/01/10
    「iptablesに代わる新たなパケットフィルタリングツール「nftables」の開発が進んでおり、昨今では標準でnftablesを採用するLinuxディストリビューションも登場している」
  • Clojure、Go、Unity……ハッカーズチャンプルー2018 #hcmpl はとっても「ちゃんぷるー」だった! | さくらのナレッジ

    社員3名の会社で自社サービスのデザインをおこなっている赤塚さん。社名にもなっているesaとは、『「情報を育てる」という視点で作られた、Markdownで書ける情報共有サービス』とのことです。自分たちのサービスをデザインすることをテーマに、esaのデザインプロセスについてのセッションでした。 業務で使われることもあるサービスでありながら、業務っぽさを感じないこと・使ってて楽しいことや、競合サービスとは一線を画していながらも、新しすぎずなじみやすいUIにするなど、様々な要素を考慮してデザインされているとのことでした。 そんなesaにはメインカラーが設定されていますが、利用上の要件に合致する色を、いろいろな色から消去法で選んでいったとのことでした。 また、メインカラーが決まってもそれで終わりではなく、明度をどうするかというところまで、調整をしていったとのことでした。 自分たちのプロダクトを作るこ

    Clojure、Go、Unity……ハッカーズチャンプルー2018 #hcmpl はとっても「ちゃんぷるー」だった! | さくらのナレッジ
    nilab
    nilab 2018/07/09
    Clojure、Go、Unity……ハッカーズチャンプルー2018 #hcmpl はとっても「ちゃんぷるー」だった! | さくらのナレッジ
  • エージェントレスでシンプルな構成管理ツール「Ansible」入門 | さくらのナレッジ

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

    エージェントレスでシンプルな構成管理ツール「Ansible」入門 | さくらのナレッジ
    nilab
    nilab 2017/06/13
    「Ansibleは設定ファイルがシンプルで、管理対象サーバーに特別なソフトウェアをインストールすることなく利用できるなど、最小限の手間で各種設定を自動化できるのが特徴だ」
  • サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ

    はじめに 近年注目されているサーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はこのChefについて、基的な環境構築方法と使い方を紹介する。 前回はサーバーの設定管理ツールとして「Puppet」を紹介したが、今回紹介するChefは、このPuppetと人気を二分するサーバー設定管理ツールだ。 Chefは米Opscodeが開発しているオープンソースソフトウェアで、Rubyなどのオープンソースな技術を使って実装されている。ライセンスはApache License 2.0だ。同社はChefにいくつかの機能を追加した有償版の「Private Chef」やクラウド型の「Hosted Chef」といったサービスも提供しているが、記事ではオープンソース版のChefについて紹介する。

    サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ
    nilab
    nilab 2017/02/27
    サーバー設定ツール「Chef」の概要と基礎的な使い方 - さくらのナレッジ
  • GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ

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

    GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ
    nilab
    nilab 2016/05/11
    GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう - さくらのナレッジ
  • システム構成図やプレゼンテーション資料などで自由に使える「さくらのアイコンセット」を公開いたしました。 | さくらのナレッジ

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

    システム構成図やプレゼンテーション資料などで自由に使える「さくらのアイコンセット」を公開いたしました。 | さくらのナレッジ
    nilab
    nilab 2016/04/28
    システム構成図やプレゼンテーション資料などで自由に使える「さくらのアイコンセット」を公開いたしました。 - さくらのナレッジ
  • 仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | ページ 3 | さくらのナレッジ

    仮想マシンのプロビジョニング 最後に、Vagrantで作成した仮想マシンの初期環境設定(プロビジョニング)についても紹介しておこう。Vagrantには、「vagrant up」コマンドの実行時、仮想マシンの環境設定完了後にあらかじめ指定しておいたコマンドを実行する機能がある。たとえば、特定のコマンドを実行するにはVagrantfile内に以下のような項目を追加すれば良い。 config.vm.provision "shell", inline: "<実行するコマンド>" ここで記述されたコマンドは、仮想マシンの作成された直後のみに実行される。すでに作成されている仮想マシンに対し「vagrant up」コマンドを実行した場合は実行されない。また、「vagrant provision」コマンドを実行することでも指定されたコマンドが実行される。 また、任意のシェルスクリプトを実行することも可能だ

    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | ページ 3 | さくらのナレッジ
    nilab
    nilab 2014/09/26
    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する - さくらのナレッジ - Part 3
  • 仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | ページ 2 | さくらのナレッジ

    VagrantでVirtualBox用の仮想マシンを作成する 続いては、Vagrantで実際にVirtualBox用の仮想マシンを作る流れを説明しよう。 boxファイルの選定 Vagrantでは、OSのインストーラを使って仮想マシンにOSをインストールするのではなく、あらかじめOSがインストールされたディスクイメージを使用して仮想マシンを作成する。VagrantではディスクイメージやVirtualBoxの設定ファイル、メタデータなどを「box」(複数形は「boxes」)という形式のファイルにまとめて取り扱う仕組みだ。 Vagrantが公式に配布しているboxファイルはUbuntu 12.04 LTS(32ビットおよび64ビット)のみだが、サードパーティによるboxファイルの配布も行われている。 たとえば、設定管理ツールPuppetの開発元であるPuppet LabsはPuppet Labs

    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | ページ 2 | さくらのナレッジ
    nilab
    nilab 2014/09/26
    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する - さくらのナレッジ - Part 2
  • 仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | さくらのナレッジ

    最近注目されている開発支援ツール「Vagrant」は、テスト用の仮想マシン作成やその環境設定などを自動化するツールだ。これを利用することで、仮想環境の作成からセットアップ、そして破棄までを、簡単なコマンドを実行するだけで行える。今回はこのVagrantの概要と基的な使い方を紹介する。 仮想マシンの作成や環境構築、仮想マシンの破棄までを自動化するツール「Vagrant」 近年、Web開発の分野ではPC上に構築した仮想マシン上にテスト用の環境を作成し、そこで開発やテストを行う、というスタイルが一般的になっている。その場合に問題になるのが、番環境とテスト/開発環境が同一になっていない、というケースだ。また、複数人の開発者が関わるプロジェクトでは開発者がそれぞれ自身のマシン上に仮想環境を構築して開発するという例も多いが、この場合開発者ごとのテスト/開発環境がそろっていないという問題も発生しうる

    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | さくらのナレッジ
    nilab
    nilab 2014/09/26
    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する - さくらのナレッジ