Open2

Container Optimized OS に VSCode で Remote SSH アクセスしたい

TakashiAiharaTakashiAihara

まず結論

コンテナ使いましょう。
Container Optimized OSは、ホストOS側のセキュリティ制限が厳しすぎました。
勘のいいエンジニアなら、ホスト側で~とかそもそも考えないかもしれませんが。。。

やること

sshdコンテナにアクセスし、そのうえで直接色々インストールします。
Dockerfileでやってもいいと思います。

手順

https://hub.docker.com/r/takeyamajp/ubuntu-sshd

こちらをお借りしました。

docker run --name sshd -d --privileged \
       -v /var/ghq:/root/ghq \
       -v /var/run/docker.sock:/var/run/docker.sock \
       -e TZ=Asia/Tokyo \
       -e ROOT_PASSWORD=changeit \
       -p 20022:22 \
        takeyamajp/ubuntu-sshd
  • 22ポート競合を防ぐため 20022に変更
  • コンテナからdockerを実行するために docker.sock 共有
  • 特権付与

ここに Remote-ssh でアクセスするだけ。
パスワードは変えるべきです。

あと、結局sshdのコンテナがリソースを食うので、最終的にはクローズするほうが良いですね。。

TakashiAiharaTakashiAihara

背景

GCPの永年無料枠、メモリ 1GB では コンテナの稼働すら危ういんです。。。
ホストマシン側のオーバーヘッドをどれだけ下げれるかが勝負。
そうなると、ほぼ必然的に Container Optimized OS を選ぶことになっちゃいました。