AWSでTensorboardにアクセスしようとしています。これが私の設定です:
tensorboard --Host 0.0.0.0 --logdir=train
:ポート6006でTensorBoardb'39 'を開始します( http://172.31.18.170:6006 に移動できます)
しかし、ec2-blabla.us-west-1.compute.amazonaws.com:6006
に接続すると何も表示されず、基本的に接続できません。
何か考えはありますか?
Sshトンネリング技術を使用できます。
あなたのターミナルであなたは書くことができます:
ssh -i /path/to/your/AWS/key/file -NL 6006:localhost:6006 user@Host
ここで、userとHostはawsec2ユーザーとインスタンス固有です。
その後、 http:// localhost:6006 / を参照できます。
Ec2ターミナルでtensorboardを実行します(logdirとポートをカスタムできます)
tensorboard --logdir=data/model --port=8080
http://ip4.me/
にアクセスして、ワークステーションのパブリックIP(a.b.c.d)アドレスを見つけます
EC2に割り当てられたセキュリティグループ設定にアクセスし、カスタムTCPルールをインバウンドトラフィックに追加します。
送信は、テンソルボードポートからのトラフィックを許可するように設定する必要があります。 (この場合8080)。または、EC2インスタンスからのすべての発信トラフィックを許可するだけです
Protocol Port Range Destination Description
All traffic All All 0.0.0.0/0
パブリックDNSを使用して、ワークステーションからテンソルボードにアクセスします
私はそれを次のように設定することができました:
テーブルで関連するセキュリティグループを選択し、[編集]をクリックします。
次のようなルールを追加します。
テンソルボードを開始します:tensorboard --logdir tf_summary/ --port 8080
インスタンスのURLを見つけて、http://yourURL:8080
にアクセスします
高速(ただし安全ではない)ソリューション:
実行:
tensorboard --logdir=/training --Host=0.0.0.0 --port=8080
aWSインスタンスで。
AWSコンソール(コントロールセンター)のインバウンドルールとアウトバウンドルールの両方が可能な限り制限されていないことを確認してください(すべてのタイプ、すべてのポートなどを許可します)。ただし、このソリューションはセキュリティが必要な環境には推奨されないことに注意してください(この場合、NNをトレーニングするためのセキュリティは考慮していません)。
これが機能する理由を説明する試み:ポリシーが説明どおりに設定されている場合でも、AWSは標準のテンソルボードポート6006でのインバウンド/アウトバウンド接続を禁止しているようです。これはポート8080には当てはまらないようです。
長い(しかしより安全な)ソリューション:参照: https://blog.altoros.com/getting-started-with-a- cpu-enabled-tensorflow-instance-on-aws.html (AWSでポートを正しく設定するための説明を提供します)
Hostパラメーターなしでテンソルボードを実行するだけです(制限があります)
tensorboard --logdir XXX --port 6006