質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

3回答

3645閲覧

サーバー構築の大まかな全体像、手順が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2016/08/30 07:56

編集2016/08/31 06:40

###前提
■サーバー構築の大まかな全体像、手順が知りたい。
■Javaシステム開発半年程度。
■近い将来はRuby(on Rails)で開発を行いたい。
■受託開発メインでまずは独立をしたい。
Herokuではクライアントの負荷が大きいため
サーバー構築の基本はしっかり抑えておく必要があり
まずは全体像を把握しておきたい。
■当方、経験がまだまだ浅く勘違いしている点、
大きく足りていない知識あるかと思いますが
宜しくお願い致します。
■現在、自分が思い描いている
サーバー構造をここに記載しますので
補足、アドバイス、修正すべき点など
ありましたらご助力頂きたく思います。
第4階層:WEBサーバー、WEBアプリサーバー、言語、DBなど
(ちょっとはしょってまとめて書きました。)
第3階層:OS
windows Serverはお金がかかるのでCentOSを想定。
第2階層:仮想化ソフトウェア
(VitualBox、VMware)
※1台のPCの中に仮想的にPCを何台か作成するために作成。
第1階層:ハードウェア(PC)
※中小規模の案件であれば1台で足りる。

###質問1

overさんの回答に現在の不明点を返答。

(他の方でも回答できるようでしたらお願いします。)


仮想化ソフトウェアでおすすめは何かありますでしょうか?
優先順位:
1.業務で使用できるレベルかどうか。
2.習得しやすいかどうか。有益な情報が豊富か。
(当方、英語はできません。)

###質問2
(解決済)
サーバーは以下のような種類があるようですが
それは例えば1台のPC(A)に仮想的に5台作成(B,C,D,E,F)したとして
MailサーバーはB、DNSサーバーはCというように
絶対にわけなえればいけないのでしょうか?
1つのシステムを開発する際に
メールとシステムが連動している場合
一緒にはできないのかなと。
サーバー例
NTPサーバ
DNSサーバ
Mailサーバ
認証サーバ
LDAPサーバ
監視サーバ

質問3

overさんの回答に現在の不明点を返答。

(他の方でも回答できるようでしたらお願いします。)


仮想化ソフトをいれるときは
ディスクやUSBでいれると考えればよいのでしょうか?

###質問4

overさんの回答に現在の不明点を返答。

(他の方でも回答できるようでしたらお願いします。)


一旦サーバー(A)をダウンさせたとして
再起動の際、どの仮想サーバーがディスプレイに映し出されるのでしょうか?
まずはどれを起動するかという選択のようなものがでる?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2016/08/30 08:29

今時、マシンを設置するのですか? それよりクラウドを使う事を考えた方が良いと思います。
退会済みユーザー

退会済みユーザー

2016/08/30 08:36

おっしゃる通りだと思います。 クラウドサービスを使えばそもそも覚える必要がない技術が あることも承知しています。 ですが現状、今の会社での話にはなりますが クラウドはイヤだと言われる固いクライアントさんも それなりにいらっしゃるので 把握しておきたいと思っています。
guest

回答3

0

ベストアンサー

仮想化ソフトウェアでおすすめは何かありますでしょうか?

1.業務で使用できるレベルかどうか。

実装する"業務"によるので一概には言えませんが、
ハードウェアリソースを有効に活用するのであればHyper-Visor型のソフトウェアで実現することが望ましいと考えます。
VMware-ESXi、Windows Hyper-V、Linux Xen等が挙げられると思います。

1)VMwareESXi:
無償版あり、ただし機能制限あり(CPUコア数の制限、APIの無効化等)
ユーザフレンドリなGUIを備えるが、仮想化を実装したサーバ以外に操作用の端末を用意する必要あり。
国内ナレッジはそこそこ。
ただし、本家は英語で、これを翻訳して日本公式サイトでナレッジを公開している。
翻訳に時間がかかる。
翻訳されていないものは覚悟して本家サイトに挑む必要あり。
国内で使用しているサイトも多く、一般サイトでも情報が豊富。
ただし、一般サイトは一般サイトなので、情報の精度について精査するリテラシが必要。

2)Windows Hyper-V
有償、ユーザフレンドリなGUIを備える。
ナレッジもそこそこ。
VMwareと同じく本家は英語。翻訳されていないものは...(以下省略)
Windowsはブラックボックスが多く、バグを仕様と宣う傾向あり。

私見ですが、WindowsOS上にHyper-Visorとして稼働している割に軽快な動作を見せます。
これと言って致命的な不具合もないため、私は好きです。

3)Xen Server
選択するディストリビューションによるが、無償で構築可能。
コマンドライン管理になるため、それなりのLinux、Xenのリテラシが求められる。
それなりに情報はあるがナレッジは期待しない方が良いかも。

サーバーは以下のような種類があるようですが

それは例えば1台のPC(A)に仮想的に5台作成(B,C,D,E,F)したとして
MailサーバーはB、DNSサーバーはCというように
絶対にわけなえればいけないのでしょうか?

配置するネットワーク、稼働に要するハードウェアリソース等で決定すべきと考えています。
例えば、
DMZ側に配置すべきサーバ(外部公開DNS、外部公開メール、外部公開Web)等は一緒にできると思います。
ただし、外部公開Webについては公開するサービス負荷を考慮し分割可否を検討すべきと考えます。

NTPサーバは負荷がそれほどないので、いずれかのサーバに抱き合わせで問題ないと思います。

認証サーバは機能を指すワードでサービスを指しているわけではないので、分割可否は答えられません。

LDAPも使用用途、レコード数、使用頻度について検討して分割可否を検討します。

監視サーバは、各サービスを監視するものなので、他仮想ゲストとは分割すべきと考えます。
抱き合わせにしてしまうと、サービスが落ちた場合道連れになってしまう可能性があり、監視の役割を果たさなくなってしまいます。
可能であれば別ハードが望ましいです。

仮想化ソフトをいれるときは

ディスクやUSBでいれると考えればよいのでしょうか?

以下のように選択したソフトウェアに依存します。
1)VMware ESXi
インストールバイナリを格納した媒体でインストールします。
2)Hyper-V
OSインストール後の「機能の追加」からインストールします。
3)Xen
OSインストール後のパッケージ追加でインストールします。

一旦サーバー(A)をダウンさせたとして

再起動の際、どの仮想サーバーがディスプレイに映し出されるのでしょうか?

仮想サーバがディスプレイに表示されるようなことはありません。
以下のように選択したソフトウェアに依存します。

1)VMware ESXi
VMware 専用のOS画面が表示されます。
本画面では仮想ゲストの操作は基本的に行えず、操作端末にインストールしたvSphere Clientから仮想ゲストを操作します。
2)Hyper-V
仮想ホストのWindowsOSが起動し、ログイン画面が表示されます。
Hyper-V管理ツールを起動して、仮想ゲストを操作します。

3)Xen
仮想ホストのLinux OSが起動され、ログインプロンプトが表示されます。
CLIで仮想ゲストを操作します。

投稿2016/08/30 08:58

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkmtmkt

2016/08/30 10:53

Hyper-Vについて、Hyper-V Server 2012 R2 という無償のOSがあります。
退会済みユーザー

退会済みユーザー

2016/08/30 12:27

素晴らしい回答ありがとうございます。 全体枠をとらえながらも具体的な情報の提示 本当に助かります。 特にソフトの名前がわかれば存在を知り 自分でも調べることが可能になるので感謝です。 質問1について 仮想化ソフト(ハイパーバイザ系)についてですが これがいわゆる windows server linux serverと呼ばれるものでしょうか? 会社の人はwindows serverはお金がかかるから お客さんとこで構築する場合linuxでやるといっていたのですが。 (これはCentOSなどのミドルウェアのことでしょうか。) 説明を拝見して調べてみた限り Hyper-Vが一番現実的に良さそうな印象は受けます。 質問2について 非常にわかりやすいです。 どのように扱えばよいか すぐにイメージがわきました。 質問3について 具体的な回答ありがとうございます。 OSインストール後の、というのはつまり CentOSなどをいれた後ということになるのでしょうか? 現在のイメージとしましては CentOSを入れる ↓ Hyper-Vをいれて仮想環境を複数作成する。 (仮想サーバーを複数作成。) ↓ それぞれの仮想環境に好きなOSやソフトを入れていく。 (VPSと同様。) 間違えていれば修正お願いできますでしょうか。 質問4について これをみて少し混乱しているのですが 上記質問3についてで私が言った内容を 修正したほうがいいような気がしています。 VMware ESXiをいれればVMware 専用のOSが メインOS(マシンにとって) Hyper-VであればwindowsOS(例windows7)がメインOS XenであればLinuxがメインOS ↓ 仮想環境を複数作成する。 (仮想サーバーを複数作成。) ↓ それぞれの仮想環境に好きなOSやソフトを入れていく。 (VPSと同様。) よって再起動するときは 最初のメインOSが起動する。 同様に 間違えていれば修正お願いできますでしょうか。
over

2016/08/31 10:01

"退会済みユーザ"とあるので返答しても無意味かもしれませんが... > 仮想化ソフト(ハイパーバイザ系)についてですが これがいわゆる windows server linux serverと呼ばれるものでしょうか? Windows や Linuxは、電算機を効率よく使用するための"オペレーティングシステム(OS)"です。 ハイパーバイザーの仮想化ソフトウェアは回答にも記載あるとおり、Hyper-V、VMware ESXi等になります。 > 会社の人はwindows serverはお金がかかるから お客さんとこで構築する場合linuxでやるといっていたのですが。 (これはCentOSなどのミドルウェアのことでしょうか。) LinuxはRedhat、CentOS、Dbian等OSの総称です。 ミドルウェアは、そのOSに導入したソフトウェアを指す場合が多いです。 > CentOSを入れる ↓ Hyper-Vをいれて仮想環境を複数作成する。 (仮想サーバーを複数作成。) ↓ それぞれの仮想環境に好きなOSやソフトを入れていく。 (VPSと同様。) 間違えていれば修正お願いできますでしょうか。 残念ながら、Hyper-VはCentOSにはインストールできません。 WindowsOSの専用ミドルウェアとなります。 それ以外の認識には間違いないと思います。 > 質問4について 記載を見る限りでは認識に違いはないように見受けられます。
over

2016/08/31 10:03

> tkmtmkt様 勉強になりました。ありがとうございます。
guest

0

質問1
この程度のことを質問しているスキルレベルであれば、自前で本番環境を仮想化環境を作るのはナンセンスかと思います。
AWSとかさくらクラウドなどのクラウドサービスやVPSを使ったほうが良いかと思います。

仮想化環境を使うのであれば、まずは開発環境、テスト環境などでの構築にとどめ、仮想環境での運営は使いこなせるようになってからのほうが良いでしょう。

質問2
必ずしも分けなければいけないということはないと思います。分けるかどうかは、そのサービスの性質や処理負荷によります。

質問3
ESXiなどのハイパーバイザ型のものであればそうだと思います。
vmware playerなどのOS上で動かすものはホストOS上でのセットアップで動きます。

質問4
ホスト型とハイパーバイザ型で異なりますし、製品によっても異なります。
https://thinkit.co.jp/story/2012/10/17/3722

ホスト型であれば起動すると独立したウィンドウが表示されるものが多いと思います。
ハイパーバイザ型の場合は、ほかのPCから専用のアプリでリモートアクセスのような形で操作する場合が多いです。
ですが、サーバー用途だとGUIログインは入れずに、基本的にSSHなどでコンソールログインして設定するのが基本だと思います。

投稿2016/08/30 08:24

CodeLab

総合スコア1939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/30 08:40

質問1 >この程度のことを質問しているスキルレベルであれば、 そういったことを言われるのであれば質問サイトの意味がなくなってしまいます。 非力なのは承知で質問している次第です。 >仮想化環境を使うのであれば、まずは開発環境、テスト環境などでの構築にとどめ、 >仮想環境での運営は使いこなせるようになってからのほうが良いでしょう。 仰る通りだと思いますしいきなり本番の仕事でやろうとしているわけではありません。 質問2 ありがとうございます。 質問3 間違えておらずよかったです。 ありがとうございます。 質問4 ありがとうございます。
退会済みユーザー

退会済みユーザー

2016/08/30 08:43

VPSを使う場合は 仮想サーバーが分かれている状態で提供されるので CentOSをいれるところからだけすればよいという認識でよろしいでしょうか。 追記の質問もうしわけありません。
CodeLab

2016/08/30 10:32

>仮想サーバーが分かれている状態で提供されるので >CentOSをいれるところからだけすればよいという認識でよろしいでしょうか。 その通りです。 VPSサービスによってはOSも選択してインストール済みで提供してくれるものもあるので、そういったものであればアプリケーションの設定をすれば使えるようになります。
退会済みユーザー

退会済みユーザー

2016/08/30 12:30

VPSを作成の仕方はまだ完全にイメージできておりませんが (ハイパーバイザー型についてもう少し知る必要がありますね。) VPS以降のイメージはわきました。 他のところで聞いた内容によると クライアントにはVPSレンタルであとはシステムを提供し 自社でサーバーを作る場合は VPSわざわざ借りずにサーバー自体作ってしまうと言われました。
guest

0

midさんはご自身でサーバを構築された事はありますでしょうか?
なければ、まずは一度ご自身で構築されるとよいと思います。(物理サーバ)
安く上げたいのであれば使っていないPCにLinuxをインストールして、各種ミドルウェアをインストールすればほとんどタダみたいなものです。
また、それらの手順については情報は豊富にあるので困ることはないでしょう。

なぜ上記のことを言うのかというと...

・いきなり仮想環境でサーバ/ネットワーク構築をして上手く動かなかった場合、それが仮想環境特有の問題であるか否かの切り分けが(経験が少ないと)できないことがある。
(自分で仮想基盤を立てるならネットワーク構築の経験もあった方がよいです)
・クラウド、クラウドと言ったところで、ホストは絶対にどこかの物理サーバの上で動いているので、サービス提供者になるのであればハードウェアの管理も経験したほうがよいと思われる。
※2つめは私の考えが偏ってるだけなのかなぁ…

その上で質問に回答します。

仮想化ソフトウェアでおすすめは何かありますでしょうか?

具体的なプロダクト名は他からも挙がっていますが、お手軽なのはESXi(VMWare)でしょうか。

仮想化ソフトをいれるときは

ディスクやUSBでいれると考えればよいのでしょうか?

ESXiの場合は対象のHWにメディアDVDを挿入、DVD起動でインストールができます。
インストールが始まるところまではWindowsと一緒です。

一旦サーバー(A)をダウンさせたとして

再起動の際、どの仮想サーバーがディスプレイに映し出されるのでしょうか?

この点、構築前に気にする必要ありますかね?
ご自身で環境を作って試してみてはいかがでしょうか。

投稿2016/08/30 23:53

ynakano

総合スコア1894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/31 00:58

CentOS、各種ミドルウェアは仕事の関係で理解できているかはともかく行ったことはありますが イメージ的には 1つのパソコンに1つOSや各種ミドルウェアではなく 仮想的に複数のOSを入れる場合のイメージがうまくついておりません。 >・クラウド、クラウドと言ったところで、ホストは絶対にどこかの物理サーバの上で >動いているので、サービス提供者になるのであればハードウェアの管理も >経験したほうがよいと思われる。 >※2つめは私の考えが偏ってるだけなのかなぁ… 正論から言えばその通りだと思います。 ただ何かを会得するというのは時間もかかることではありますので まずは仮想化までを押さえたいと思っております。 あと、せっかく答えていただき申し訳ないのですが 現在答えていただきたいのはoverさんの回答に関しての 返信についてだったのです。 追記文もわかりづらかったですね。申し訳ないですね。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問