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

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

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

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2026閲覧

EC2上にてHeadlessModeで動作させたアプリが,同vpc内のSelfHostedで起動しているPhotonServerに接続できない

aiueoao

総合スコア146

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/11/28 09:01

前提・実現したいこと

AWSにて
HeadlessModeでLinux Buildしたunityプロジェクトを置いたEC2(Linux)から,EC2(WindowsServer)に配置したPhotonServerへ接続が出来ません.
以下の設定・実行後,~/.config/unity3d/PhotonServerSettingInc/TestProject/Player.logで確認した所,OnFailedToConnectToPhoton()が呼ばれているのでWindowsServerのセキュリティグループの問題かと思ったのですが設定を変えても接続できませんでした.参考
自端末からWindowsインスタンスにはアクセス出来ています.


<設定>

Unity

PhotonServerSettingsを以下のように設定し,下記の接続テスト用スクリプトを付けたプロジェクトを作成.
Server Addressの箇所はWindowsServerインスタンスのIPv4を入れています.
イメージ説明
このプロジェクトを,headless ModeにチェックをいれてTarget Platform=LinuxでBuildしました.

AWS

同一VPC内で以下設定.

  • Windows Serverインスタンス

ここからDLしたPhotonServerをこのインスタンスに設置.
Game Server IP Config - Set Public IP を指定.
LoadBalancing(MyCloud) - Start as applocation で起動.

  • Linuxインスタンス

上記のbuildで作成したファイル類(hoge.x86_64とhoge_Data)をRLoginのSFTPファイル転送を使い/home/ec2-userに配置.
Hoge.x86_64の実行権限がないので付与→chmod u+x hoge.x86_64
実行→./hoge.x86_64

  • セキュリティグループ

SSH,RDPの他に,,
上記の2インスタンス間で通信できるよう両方のインスタンスにデフォルトセキュリティグループを設定.参考.

接続テスト用スクリプト

c#

1using UnityEngine; 2using UnityEngine.UI; 3 4public class PhotonConnectTest : MonoBehaviour { 5 6 private string ROOM_NAME = "ROOM_1"; 7 8 //ローカルPC確認用. 9 [SerializeField] 10 private Text text; 11 12 13 private void Start() 14 { 15 Debug.Log("Start!!!!!!!!!!"); 16 PhotonNetwork.autoJoinLobby = true; 17 PhotonNetwork.ConnectUsingSettings("v2.0"); 18 } 19 20 21 // Lobbyへ接続成功 22 void OnJoinedLobby() 23 { 24 Debug.Log("OnJoinedLobby"); 25 26 string userId = UnityEngine.Random.Range(0, 100).ToString(); 27 PhotonNetwork.AuthValues = new AuthenticationValues(); 28 PhotonNetwork.AuthValues.UserId = userId; 29 // connect 30 31 RoomOptions roomOptions = new RoomOptions() 32 { 33 MaxPlayers = 20, 34 IsOpen = true, 35 IsVisible = true, 36 }; 37 PhotonNetwork.JoinOrCreateRoom(ROOM_NAME, roomOptions, null); 38 } 39 40 // Room作成成功 41 void OnCreatedRoom() 42 { 43 Debug.Log("OnCreatedRoom"); 44 // 自動的にOnJoinedRoom呼び出し. 45 } 46 47 void OnJoinedRoom() 48 { 49 Debug.Log("OnJoinedRoom"); 50 text.text = "Master Client:" + PhotonNetwork.isMasterClient.ToString() + "\n" 51 + "owner ID:"+ PhotonNetwork.player.ID; 52 } 53 54 //ランダムでRoomに接続失敗 55 void OnPhotonRandomJoinFailed() 56 { 57 Debug.Log("OnPhotonRandomJoinFailed"); 58 // Room作成 59 PhotonNetwork.CreateRoom(ROOM_NAME); 60 } 61 62 void OnPhotonJoinRoomFailed(object[] codeAndMsg) 63 { 64 Debug.Log("OnPhotonJoinRoomFailed"); 65 } 66 67 68 void OnFailedToConnectToPhoton(DisconnectCause cause) 69 { 70 Debug.Log("OnFailedToConnectToPhoton:" + cause.ToString()); 71 } 72 73 void OnDisconnectedFromPhoton() 74 { 75 Debug.Log("OnDisconnectedFromPhoton"); 76 } 77 78 79 private void OnGUI() 80 { 81 GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString()); 82 } 83}

発生している問題・エラーメッセージ

Initialize engine version: 2017.4.2f2 (52d9cb89b362) Forcing GfxDevice: Null GfxDevice: creating device client; threaded=0 NullGfxDevice: Version: NULL 1.0 [1.0] Renderer: Null Device Vendor: Unity Technologies AudioManager: Using Unknown: NoSound Driver Begin MonoManager ReloadAssembly - Completed reload, in 0.018 seconds WARNING: Shader Unsupported: 'Hidden/BlitToDepth' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitToDepth' - Setting to default shader. WARNING: Shader Unsupported: 'Hidden/BlitToDepth_MSAA' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitToDepth_MSAA' - Setting to default shader. UnloadTime: 0.693000 ms Start!!!!!!!!!! (Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) Setting up 1 worker threads for Enlighten. Thread -> id: 7f7cc77fe700 -> priority: 1 Connect() to '13.231.237.3' failed: System.Net.Sockets.SocketException: Operation on non-blocking socket would block at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in <filename unknown>:0 at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in <filename unknown>:0 at System.Net.Sockets.Socket.Connect (System.Net.IPAddress address, Int32 port) [0x00000] in <filename unknown>:0 at ExitGames.Client.Photon.SocketTcp.DnsAndConnect () [0x00000] in <filename unknown>:0 (Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) OnFailedToConnectToPhoton:ExceptionOnConnect (Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) OnDisconnectedFromPhoton (Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)``` ### 試したこと PhotonServerSettingsのHostingをPhoton CloudにしてAppIdを入れて試したら,PhotonCloudとLinuxインスタンスの接続が出来ることを確認しました. ### 補足情報(FW/ツールのバージョンなど) Windowsインスタンス:WindowsServer2016Base ami-0134dae8964ea643c Linuxインスタンス:Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-063fa8762cdc9a5a6 64 ビット (x86)

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

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

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

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

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

guest

回答1

0

ベストアンサー

Windows2016の「セキュリティが強化された Windows ファイアウォール」は無効化しましたか?
セキュリティグループで管理するのであれば無効化することをおすすめします。

以下Windowsファイアウォールの無効化手順です。
1.「Windows」を右クリックし「コントロールパネル」を選択します。
2.「システムとセキュリティ」をクリックします。
3.「Windows ファイアウォール」をクリックします。
4.「詳細設定」をクリックします。
5.「ローカルコンピュータのセキュリティ」を右クリックし「プロパティ」をクリックします。
6.「ドメインプロファイル」タブを選択肢ファイアウォールの状態を「無効」に変更します。
7.「プライベートプロファイル」タブを選択肢ファイアウォールの状態を「無効」に変更します。
8.「パブリックプロファイル」タブを選択肢ファイアウォールの状態を「無効」に変更し「OK」をクリックします。

以上です

投稿2018/11/28 09:05

moonphase

総合スコア6621

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

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

aiueoao

2018/11/28 10:12

回答ありがとうございます! ファイアウォールを無効化してみましたが,結果は変わらず接続できませんでした...
aiueoao

2018/11/28 11:45

はい.Windowsインスタンス,Linuxインスタンス両方に,すべてのトラフィックを許可するdefault VPC security groupをつけているので許可はされていると思います.
aiueoao

2018/11/28 23:39

解決しました! (Linuxインスタンス上Unityの)Server AddressにWindowsServerインスタンスのパブリックIPv4を指定していたので,同じVPC内への通信でも受信元のWindowsServerのSGでそれを許可しなければいけませんでした. default VPC SGを付ければ出来るという,私の思い込み&勘違いでした. お時間を割いてくださり有難うございました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問