17
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Tutum by Docker on AWS/Azure

Last updated at Posted at 2015-12-24

Dockerに買収されたTutumがどれだけ便利なのか使ってみました。
http://japan.zdnet.com/article/35072328/

nodeを作成する

この辺りは、ググると色々と出てくるのでさらっと。
tutumではdockerのhostになるサーバーをnodeと呼ぶ。まずは、nodeを立ててみる。

Cloud連携

今回は試しに、AWSとAzureにnodeを立ててみますが、下にあるようにその他のクラウドサービスも使えるようです。また、やってないですがオンプレのサーバーとも連携出来ます。

スクリーンショット 2015-12-23 17.48.22.png

Link accountから指示に従うだけなので相当簡単にlink可能でした。

AWSとAzureに1台ずつnodeを作成

スクリーンショット 2015-12-23 17.58.27.png

これも指示に従ってクリックしていくだけなので簡単にnodeが二つたちます。
AWSとAzureにそれぞれたちました。

nodeの上にコンテナ(Service)を起動する

今回はテストなのでtutumが提供しているサンプルコンテナを起動します。
外部からアクセスする為には、PortsをPublishedに設定しておく必要があるので注意。

スクリーンショット 2015-12-23 18.02.35.png

AWSのnodeに1つコンテナが起動した

スクリーンショット 2015-12-23 18.04.16.png

もう一台起動すると今度はAzureのnodeにコンテナが起動する

これは、起動する時にDeployment strategyを一番空のnodeを優先するようにしているため。

スクリーンショット 2015-12-23 18.05.47.png

Azureのnodeを落としてみると

Azureのnodeをterminateしてみると、しばらくした後にAWS側のnodeにコンテナが移動している事が分かる。
これは素晴らしい。

スクリーンショット 2015-12-23 18.43.19.png

ネットワークがどうなっているのか

コンテナ間の通信

AWS側のコンテナ(10.7.0.4)からAzure側のコンテナ(10.7.0.5)にpingを打ってみる。
スクリーンショット 2015-12-23 18.19.29.png

問題なく通るので、クラウド間を意識せずに通信が出来ている。
このTerminal機能は地味に嬉しい。

nodeのネットワークを見てみる

tutumのnodeにsshする

nodeにsshする方法は本家のドキュメントに書いてある通り。
https://support.tutum.co/support/solutions/articles/5000553071-sshing-into-a-tutum-node

tutum/authorizedkeysというtutumで用意されているコンテナをstack(docker composerみたいな物)を使って起動すると、このコンテナ経由でsshの鍵がnode側に設定されます。
実行するとすぐにterminatedになるので一瞬焦るがsshは出来るようになっている。

docker ps

ssh後、docker psを打つと色々と起動している事が分かります。

スクリーンショット 2015-12-23 18.32.38.png

weaveとあるので、クラウド間の通信はweaveを使っている様子。
crondが起動していたり、metricsを取る用のコンテナがいたり、ntpdがいたり。

ifconfig weave

weaveの設定は正直良く分からないが、weave用のネットワークインターフェースが追加されていて、ここで他のコンテナと通信しているっぽい。
この辺りが詳しかった。
http://qiita.com/nmatsui/items/a7caa5a3840b8c920124

スクリーンショット 2015-12-23 18.34.27.png

セキュリティ

AWSでは起動時に自分でセキュリティグループを指定させられたが、Azureの場合には自動で使うポートが設定されていた。

スクリーンショット 2015-12-23 18.39.27.png

dockerがtcpの2375、コンテナがtcpの32769、weaveがtcpとudpの6783を使用しているという、分かりやすい構成。
今回はテストだが実際に何らかの用途で使用する場合にはIP制限など入れたいところ(tutumからのアクセスでIPを制限出来るのだろうか?)。

まとめ

簡単にクラウドと連携出来たり、nodeに関係なくサービスが使えたりと結構便利な印象。
とはいえ、今稼働させているアプリケーションをどんな形で展開するか?みたいなところまでは考えていない(tutumというかdockerの話になるが)。
tutumに関しては、Dockerに買収されて今後ますます便利になりそうな予感しかしないので引き続き要チェック。
折角のコンテナなので、Amazon ECSなどで特定のクラウドに縛られるよりはこちらを使う方が良いかなとは思う。

17
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?