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

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

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

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

519閲覧

仮想マシーンについての質問です。

alizona

総合スコア126

VirtualBox

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2022/08/19 16:16

編集2022/08/19 16:29

現在、docker-machineでdigitaloceanを使用しています。
4つのdropletを常時使用しているのですが、料金が1ヶ月で1万円ほどかかってしまっています。(s-4vcpu-8gbを使用)。使用時間が短いにもかかわらずip addressの変更のために何度もdrop letを作成し直し、削除を繰り返したため、高額になっているのだと思っています。

それならハイスペックデスクトップPCを30万ほどで購入し、virtual box で、4つの virtual machine
を作成したほうが、今後考えると得策だと思いました。
ここで質問なのですが、virtual boxでは、virtual machine の ip addressを作成時に指定できるのでしょうか?
また、作成済みのvirtual machine の ip addressをコードから動的に変更できるのでしょうか?
それともローカルのpcのデスクトップに従った、決まったipアドレスになるのでしょうか?
知識不足で申し訳ありません。
どうぞアドバイスの程よろしくお願いいたします。

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

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

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

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

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

archiver

2022/08/20 00:03

質問の意と異なるかもしれませんが、この環境ってどのようなことを想定されているのでしょうか? dropletとVirtualBoxの仮想マシンを1対1で対応付けて環境移行を考えておられるようですが、仮想マシンをどのような単位で分けようとしているのでしょうか。WebサーバやDBサーバと言った機能単位であれば、Dockerのコンテナ分けでもいいような気がします。サービス単位(どこ向けのWebサービスみたいな)だとしたら、仮想マシンで構築という案もありのような気もします。 (業務で使うのか、独学のために使うのかというのもありますが。でも、わざわざクラウドサービスを使うくらいですから業務ですかね)
alizona

2022/08/20 03:01

docker swarmを使って、複数のゲストosでの分散処理です。そのため、仮想マシーンを単位ごとに分けるわけではありません。 digital ocean を使っていて、金額がとんでもないので、仕事になるとは思っていませんでしたが、virtualboxでコストを抑えられるならスケールさせたいとも考えています。
archiver

2022/08/20 03:32

なるほど、現在だとdroplet毎に異なるOSを入れている感じですかね。それだとVirtualBoxの仮想マシンに移行するという案が出るのも納得です。 ちなみにローカルに環境を構築したとして、そのクラスタは外部と連携はするのですか?(shishinさんが気にしているのはそこだと思います。パブリックIPやセキュリティの話も出しているので) 単に仮想マシンのIPアドレスを後で変更することができるかという点については、y_waiwaiさんが回答している通りになります。 (後はVirtualBox側で行う各仮想マシンのネットワークアダプタの設定の選択も考慮ですかね)
alizona

2022/08/20 11:43

ありがとうございます。外部からはリクエストを送ってコードを実行するだけです。スケールすることを考え、自前PCでどうにかしようとするのは一旦やめて、lambda funcitionを使ってみたいと思います。
guest

回答2

0

仮想マシンはネットワークをブリッジモードにすれば、仮想マシン(ゲスト)のネットワークはホストに直接つながる形になるんで、ローカルIPに関しては、ゲストのLinuxの設定次第になります
なので、ゲストでスクリプトなど走らせれば変更は可能です

投稿2022/08/19 22:15

y_waiwai

総合スコア87784

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

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

alizona

2022/08/20 11:42

ありがとうございます。virtual boxは試してみたのですが、私の環境では遅すぎて、2時間経ってもselenium-gridのchrome driverが用意できてない状態です。 スケールさせたいサービスなので、lambda functionで使用時間のみ課金というサービスが見つかったのでそっちを先に試してみたいと思います。
guest

0

ベストアンサー

digitaloceanは使ったことないけどでもそとからアクセスするipはだいたいクラウドサービス側が決めるものです。awsの場合だったらipはずっと固定できるから(ただ使われないときには料金取られる)たぶんdigitaloceanも似たような設定あるじゃないかな。

プライベートのネットワークだったらipは固定分配できるよ(DHCP調べればいいと思う)、でもパブリックのipはネット回線の会社が決めるものだから個人的にはなにもできないよ。自分でPC買うならパブリックは普通の場合はipずっと固定です(会社によってダイナミックの場合もあります)、あとはルーターでportをforwardすればいいです。
なにに使うかわからないけどでもお遊びじゃない場合はやっぱりクラウドサービス使ったほうがいいです、スピードの問題もあるし、セキュリティの問題もある。
落ちやすいだったらkubernetesというクラスターを考慮入ってもいいよ、自動的に起動し直しますから、あと自動的にスケールアップもできるし、これから新しいサービス作るときも同じクラスターに入れればいいし。
たまたましか使わない小さな計算だったらlambda functionがおすすめ、リクエスト毎に料金取るから、誰も使わないだったらまったく金掛からない。

投稿2022/08/19 21:10

shishin

総合スコア73

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

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

alizona

2022/08/20 11:39

ありがとうございます。まず使ってない2015 macbook proにvirtualboxをインストールし、docker-machineで4つのvirtual machineを作成し、selenium-gridを起動しようとしたのですが、40個のchrome driverを用意するのに、2時間ほどかかっています。全てのマシーンのコアを4にしたのと、pcの性能が低いのと、インターネットはスマホのテザリングと色々な悪条件が重なり、実用に耐えるものではないと感じました。ただコードを実行してみたいとは考えているのですが、今後スケールさせるなら、自前のマシーンでvirtual machineを作成し、実行させることは不可能だと思ったので、lambda functionについても調べてみました。 今まではipを変えるための、dropletの新規作成でお金が飛んでいたので、コードの実行時間のみ課金されるサービスは本当に適任だと思いました。 導入の準備をしていきたいとおもいます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問