.ioドメイン障害でDocker運用環境に結構影響が出ている件

現在、.ioドメインの名前解決に問題が起きています。詳しくは以下の記事を見て頂けると一目瞭然です。

.io ドメインがおかしくなったので dig で調べてみた(2016/10/28) - Qiita

.ioドメインは近年結構(開発系クラスタにとっては)人気で、ちなみにこのブログも.ioドメインを利用しているため、閲覧が難しい状況でした。

今やってるサービスは.ioドメインではないですが、外部利用しているものに.ioドメインなものがありました。そう、公式のDocker Registryです。

registry-1.docker.io

Dockerを利用している方は、DockerHubの存在を知らない方はいないでしょう。多くのアプリケーションやミドルウェアの公式イメージがホスティングされており、また多くのユーザーが各々のイメージをたくさん配置しています。

また、DockerHubのレジストリを使わずとも自分で独自のプライベートレジストリを立てることが可能です。ウチはこの方式を取っていて、成果物となるdockerイメージはここに管理しています。

とはいえ、独自で作成したイメージだけを使っているわけではなくて、例えばEC2 Container Serviceを利用しているならばDockerHubに置かれているamazon/amazon-ecs-agentを利用することになります。今のプロジェクトではEC2インスタンス起動時に、DockerHubにこのイメージを取りに行き、EC2インスタンスをECSクラスタとしてジョインさせるようにしてます。

さて、DockerHubのドメインはdockerhub.comは.comドメインだから関係ないと思いきや、Docker運用者なら認識してると思いますが実際のレジストリのドメインはregistry-1.docker.ioです(以前はindex.docker.ioだった気が)

もうお察しでしょうか。はい、今朝のことですがEC2の定時オートスケールで新しくインスタンスが立ち上がったとき、ecs-agentをpullできなくて諸々のコンテナを起動させることができず失敗しました(結局はEC2の中に入って、何度かスクリプト叩いてpullに成功)

どうするの

現時点では問題がちゃんと収束しているとも言えない状態です。というわけで、ecs-agentのDockerイメージをPrivate Registryに移してやって、それを参照することにしました。

というわけで、これからEC2のCloudInitのスクリプトを修正したり、AutoScaling Groupに適用したりということをやっていくことになると思います。ちなみに今日は金曜日です。はい。

そういえば、quay.ioもDockerのレジストリとして有名ですね。こちらも.ioドメインですね・・・(´・ω・`).;:…(´・ω…:.;::..(´・;::: .:.;: サラサラ..