Docker AWS Private Betaを試してみた


cloudpack大阪の佐々木です。

ようやくDocker AWS Private Betaの案内が来ました。
さっそく試してみます。

https://blog.docker.com/2016/06/azure-aws-beta/

---
Private Betaに申し込んでると、こんなメールが来ます。
AWSマネージメントコンソールにログインした状態で、Launch Stackをクリックします。

![Kobito.eUxPyv.png](https://qiita-image-store.s3.amazonaws.com/0/3246/4d87e82e-27c1-7ac1-1e7e-31140b0615cb.png "Kobito.eUxPyv.png")



CloudFormationの画面になりますので、そのままNextを押します。

![Kobito.4DRsjy.png](https://qiita-image-store.s3.amazonaws.com/0/3246/1e7e13b6-8614-f024-eed6-c953ec60a338.png "Kobito.4DRsjy.png")


パラメータ指定の画面になるので、Swarm Managerの数と、Worker Nodeの数、SSH Keyを指定します。

![Kobito.r13X0r.png](https://qiita-image-store.s3.amazonaws.com/0/3246/047cc746-09c0-5409-6033-7ad2b8ede71b.png "Kobito.r13X0r.png")


必要であればTagつけて、Stackを立ち上げます。

![Kobito.Y28fRW.png](https://qiita-image-store.s3.amazonaws.com/0/3246/b1434c9a-014e-7cad-e8c0-f9891501d351.png "Kobito.Y28fRW.png")


数分で立ち上がります。色々できてます。


![Kobito.LiRRmf.png](https://qiita-image-store.s3.amazonaws.com/0/3246/ede374d4-3208-a0cf-35c0-6e755c2dbf70.png "Kobito.LiRRmf.png")


EC2の画面を見るとManager3台、Worker5台が起動しています。

![Kobito.2UwB9y.png](https://qiita-image-store.s3.amazonaws.com/0/3246/7e29d739-66b6-32f8-92bf-ff59ec65af91.png "Kobito.2UwB9y.png")


CloudFormationのOutputにELBのDNSNameとSSHの接続コマンドが出力されています。

![Kobito.71UoOr.png](https://qiita-image-store.s3.amazonaws.com/0/3246/79b5961a-9407-8f41-9945-6c3c4d9f8e3d.png "Kobito.71UoOr.png")

SSHでログインします。

```bash:
$ ssh docker@Docker-ELB-SSH-XXXXXXXXX.ap-northeast-1.elb.amazonaws.com        
Warning: Permanently added 'docker-elb-ssh-XXXXXXXXX.ap-northeast-1.elb.amazonaws.com,54.64.xxx.xxx' (ECDSA) to the list of known hosts.
Welcome to Docker!
~ $
```

ノードを確認します。

```bash:
~ $ docker node ls
ID                           HOSTNAME                                          STATUS  AVAILABILITY  MANAGER STATUS
04af8e5tyrv9io4ckjhmkbned    ip-192-168-33-83.ap-northeast-1.compute.internal  Ready   Active
2ko08xx6vo7zizh9sm0p8qvfo *  ip-192-168-34-26.ap-northeast-1.compute.internal  Ready   Active        Reachable
2vsilfqnmmuxmwbliwidtgmgf    ip-192-168-34-56.ap-northeast-1.compute.internal  Ready   Active
6pxbc9wgp88rladri7knnwlyh    ip-192-168-33-84.ap-northeast-1.compute.internal  Ready   Active
a5lo9tqj9zrgflqfq6lyj61yz    ip-192-168-34-27.ap-northeast-1.compute.internal  Ready   Active        Leader
apeabz8gpyky94tql94oz26oy    ip-192-168-33-60.ap-northeast-1.compute.internal  Ready   Active        Reachable
bmlt4nt24guq09z9giu20h4k5    ip-192-168-34-55.ap-northeast-1.compute.internal  Ready   Active
d4ur01nsyn6s9o3bkedp7h5zs    ip-192-168-34-54.ap-northeast-1.compute.internal  Ready   Active
```

Nginxのサービスを作って、5つコンテナをデプロイします。

```bash:
~ $ docker network create -d overlay nginx-net
5wv1uhsyj6pdgqz3fq572n8x4
~ $ docker service create --name nginx --network nginx-net -p 80:80/tcp nginx
b6019v6kb4xiks5vb2ggz7htx
~ $ docker service scale nginx=5
nginx scaled to 5
```

psで確認します。

```bash:
~ $ docker service ps nginx
ID                         NAME     IMAGE  NODE                                              DESIRED STATE  CURRENT STATE           ERROR
8zcebqe1ce1n316lz1tdtzavi  nginx.1  nginx  ip-192-168-34-27.ap-northeast-1.compute.internal  Running        Running 52 seconds ago
8f7ohxrbuhb3igbpdx5twnai7  nginx.2  nginx  ip-192-168-34-26.ap-northeast-1.compute.internal  Running        Running 42 seconds ago
24qkmubx4fl05towoe9ib87mv  nginx.3  nginx  ip-192-168-33-83.ap-northeast-1.compute.internal  Running        Running 38 seconds ago
7pt5so95wonry9qetz336laft  nginx.4  nginx  ip-192-168-34-55.ap-northeast-1.compute.internal  Running        Running 41 seconds ago
01p6oyxkg2pyqwapfhirz2e0b  nginx.5  nginx  ip-192-168-33-60.ap-northeast-1.compute.internal  Running        Running 39 seconds ago
```

ELBのDNSNameにアクセスしてみます。

![Kobito.oFJchp.png](https://qiita-image-store.s3.amazonaws.com/0/3246/daf5c309-cb43-04a5-d11a-dbe8aee63621.png "Kobito.oFJchp.png")


あっさりできました。

もうちょっとさわってみます。