[和訳] Docker Datacenter(現:Docker EE Standard) for AWSに関する15の質問 #docker
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は
Q&A: 15 QUESTIONS AWS USERS ASK ABOUT DDC FOR AWS(2017/2/2) の和訳記事です。
注意:本記事は、2017年2月2日の記事です。2017年3月3日に製品名称・ラインナップの変更がありました。記事中の”Docker Datacenter”は"Docker Enterprise Edition Standard=Docker EE Standard"と読み替えてご活用ください。
Dockerは、AWSを含む全てのメジャーなクラウドサービスプロバイダで展開されています。 AWS向けDocker Datacenterを発表し(これによってAWSにDDCを展開することがより容易になりました)、AWS re:Invent2016でソリューションのライブデモを行ったときにも、ソリューションに関して多くの方に関心を持っていただくことができました。Docker Datacenter for AWSは、その名の通り、AWS EC2クラスター上でのDocker Datacenter(DDC) stackの現在最も簡単なインストールおよび起動手段です。
もしあなたがAWSユーザーで企業向けコンテナマネジメントプラットフォームをお探しなら、このブログはあなたがAWSでのDDCの使い方に関して持っている疑問を解消するのに役立つことでしょう。
先週のWebinarでは、DockerのソリューションエンジニアHarish Jayaumerがソリューションの概要についての説明やツールの働きとその素晴らしい特長についてのデモを披露しました。 こちらからWebinarを録画したものをご覧いただけます。
最後には視聴者参加型のライブQ&Aセッションも開催し、限られた時間の中ではありましたが、できる限り多くのご質問にお答えしました。
以下は参加者の方々からプレゼンテーション中にいただいた全ての質問のうち、プレゼンテーションの内容を最もよく表現できる15個を抜粋したものです。
回答を一緒にまとめてくれたHarishにはとても感謝しています。
Q 1: 完全なUCPのクラスターやDTR、ワーカーを作成するのにどれくらいのVPCが必要ですか?
A:DDCテンプレートは新しいVPC一つとそのサブネット、セキュリティグループを作成します。
詳細はこちら。
しかし、DDCを現在お使いのVPCでご利用したい場合、Cloud Formation テンプレートを使わずにDDCディレクトリを展開することも可能です。
Q 2: インスタンスの
A: はい、EC2インスタンスのコストが$150/月ということです。
これは月額サブスクリプションモデルで、Docker Storeで直接購入できます。
また、年額課金でのご利用も可能です。こちらは現在、1年間で一つのノードにつき$1,500のモデルと、1年間で一つのノードにつき$3,000のモデルがあります。
全ての料金に関してはこちらから。
Q 3: 各コンテナのログの見方を教えて頂けますか?また、UI上のUCP出力はどんなログ形式でしょうか?
A: UCPのUI上で”Resource"タブ をクリックし、 ”Containers”に行ってください。 ”Containers”を選択したら、それぞれのコンテナをクリックし、UI上でログを見ることができます。
Q 4:リソースのアロケーションはどのように行われるのですか?CPUやRAMを割り当てることはできますか?
A: できます。
初期設定では各コンテナがホストマシンのCPUへアクセスするサイクルは無制限となっていますが、様々なコンテナをセットしこのアクセスを制限することも可能です。
RAMの場合、Dockerはハードメモリに制限をかけ、コンテナの一定数以上のユーザー、システムメモリの利用を制限することができます。
もしくはソフトの制限によって、カーネルがローメモリやホストマシン上のコンテンションを検知するなどの一定の条件を満たさない限りコンテナが必要なだけメモリを使用できるようにすることも可能です。
詳細はこちら:
Q 5:UCP経由でのコンソールへのアクセスをRBACによって制限することはできますか?
A: できます。
こちらがその詳細を説明したブログです。:
https://blog.docker.com/2016/03/role-based-access-control-docker-ucp-tutorial/
Q 6:ユーザーが定義可能な基準 (例:サービスのリソースの利用)に基づいてDocker Datacenterからアラートを設定することはできますか?
A:できます。しかし微調整が必要です。
Dockerはイベントドリブンなので、それぞれのイベントに対しアラートが起きるよう設定し、必要なアクションを取ることができます。
UI上ではリストされている全てのリソースの使用状況を見ることができます。
それに関連する通知の仕方を設定することもできます。
Q 7:3つのマネージャーの前に一つのエンドポイントがあるのですか?
A:クラスターの稼働率を高めるため、チームが UCP内に三つのマネージャーを配置することを推奨します。
単一のエンドポイントに関しては、あなたが設定することもできます。
例えば、AWSのELBをこれらの3つのマネージャーの前になるように設定可能で、さらに、それぞれ1つの個別のマネージャーにIPでアクセスする代わりにロードバランサーにアクセスする事が可能です
Q 8: DTRもしくはAWS ECRやArtifactory、その他の代わりのレジストリを使用する事はできますか?
A: Cloud Formationテンプレートについては、DTRのみです。
Docker Datacenterはエンド・トゥ・エンドのエンタープライズコンテナ管理ソリューションであり、DTP/UCPは統合されたものです。
これは、それらの間にあるいくつかの部品を共有していると言うことです。
それらは同じLDAP/ADグループが利用できるようにするため、その部品間でSSOを使用可能にしています。
また、そのソリューションは署名やスキャン等を含むセキュアなソフトウェアサプライチェーンを可能にしています。
そのチェーンは、完全なソリューションを使用する場合にのみ有効となります。
そのイメージはDTRにより署名、スキャンされ、ベースとなるコンテナが署名されていないコンテナを走らせないようにUCPを可能にする統合が行われているからです。
我々はこれをポリシーの執行と読んでいます。
Q 9: それでは、私のdocker cliを設定可能なmgrs(ロードバランサーのようなもの)の前に一つのエンドポイントがあるということでしょうか?
A: はい、正しいです。
Q 10: オンプレでDocker Datacenterを走らせるために必要なVMや物理マシンのリソースは何台くらい必要でしょうか?3台のUCPマネージャーノードとワーカーノードを走らせるためには?
A: CloudFormationテンプレートが 全てを行います。
しかし、Cloud Formationテンプレートを使用せずにDDCのインストールを計画しているのであれば、以下に載っているインフラストラクチャを考慮する必要があります:
https://docs.docker.com/ucp/installation/system-requirements/
商用環境としてサポートされたエンジンにインストールする場合 https://docs.docker.com/cs-engine/install/
Q 11: このAWS上のDDCデモはhttps://aws.amazon.com/quickstart/architecture/docker-ddc/と比較してどうでしょうか?
A: 同じです。
しかし、来週中には新しいバージョンをリリースしますので、楽しみにしていてください。
Q 12: ルーティングメッシュを使用しない場合、特定のコンテナ向けにルーティングする必要はありませんか?
それぞれ個別のIPアドレスをどのようにして知るのでしょうか?
それぞれのユーザーが自分のコンテナが走っているシングルテナントタイプのアーキテクチャを持つことができますか?
A: ルーティングメッシュはエンジンの一部として使用できます。
それはデフォルトでオンになっており、クラスター全体のコンテナに対してルーティングを行います。
ルーティングメッシュ(Docker 1.12)以前は、特定のコンテナとそのポートにルーティングを行う必要がありました。
特別なIPアドレスである必要はありません。
UCPのUI上でホストネームを特定のサービスにルーティングする事ができます。
我々はまた、エイリアスのコンセプトを採用しました - コンテナをその名前で関連づけ、エンジンはそれに組み込まれたDNSによりルーティングを行います。
しかし、Docker 1.12とそれ以降のバージョンで使えるようになったルーティングメッシュを使うことをお勧めします。
Q 13: オーバーレイネットワークにK/VストアとしてConsulを使っていますか?
A: いいえ、我々はK/VストアとしてのConsulも外部K/Vストアも使用しません。
状態は、Raftストアと呼ばれるマネージャーノードの分散データベースにストアされます。
マネージャーノードはRaftコンセンサスグループの一部となっています。
これにより情報の共有とリーダーの選出が可能となります。
リーダーは、スケジュールの決定に加えてswarmにわたるノード・サービス・タスクリストを中央集権的に状態を維持するものです。
Q 14: Auto Scaling Groups (ASG)のノードの廃棄にどのように対応するのでしょうか?
A: ノードがマネージャーから新しいタスクを受け取るのを防ぎます。また、マネージャーがノード上で実行中のタスクを停止し、アクティブな可用性を持つノード上でレプリカ・タスクを起動することも意味します。ノードはASGグループのままです。
Q 15: AWS向けのDDCはAWSのEBSに依存しますか?
A: 例として、我々はEBSボリュームを使用していますが、多くの場合はローカルのディスクキャッシュとして使用しており、永続的なストレージとしては使用していません。
インスタンスがなくなるとデータが消えてしまいます。
AWS向けDocker Datacenterをスタートするためには、www.docker.com/trialにある30日間のフリートライアルにサインアップしましょう。