LoginSignup
0
1

More than 3 years have passed since last update.

ECS(Fargate)へssh接続してみた

Last updated at Posted at 2019-12-18

はじめに

この記事はコンテナ勉強用として試したことまとめたものです。
ECS(Fargate)にsshログインする要件があったので実施したものをまとめました。

Fargateについて

  • Fargateにssh接続はできない。
  • sshdをインストールして接続する必要がある。

テンプレート取得

git clone https://github.com/sawanoboly/amazonlinux-sshd

イメージの作成

  • 以下コマンドを実行してイメージを作成する。
  • Dockerfileにsshdやawscliなどのインストール設定が書かれています。
docker build -t amazonlinux-sshd:latest .

ECRにプッシュ

  • ECRにログインする。
$(aws ecr get-login --no-include-email --region ap-northeast-1)
  • タグ付けをする。
docker tag amazonlinux-sshd:latest 111111111111.dkr.ecr.ap-northeast-1.amazonaws.com/test-ecr-repo:latest
  • プッシュする。
docker push 111111111111.dkr.ecr.ap-northeast-1.amazonaws.com/test-ecr-repo:latest

ECSデプロイの実施

  • サービスを設定する。
    ECSサービス.png

  • タスクを設定する。
    ECSタスク.png

ssh接続する

  • 以下のような形でログイン確認ができる。
Last failed login: Wed Dec 18 12:44:50 UTC 2019 from kd111111111111.au-net.ne.jp on ssh:notty
There was 1 failed login attempt since the last successful login.
debug1: PAM: reinitializing credentials
debug1: permanently_set_uid: 0/0
Environment:
  USER=root
  LOGNAME=root
  HOME=/root
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/aws/bin
  MAIL=/var/mail/root
  SHELL=/bin/bash
  SSH_CLIENT=100.100.100.100 56702 22
  SSH_CONNECTION=100.100.100.100 56702 101.101.101.101 22
  SSH_TTY=/dev/pts/0
  TERM=xterm
  AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=/v2/credentials/1e23t01a-7a1e-3761-bc27-fa4b8473938373
  AWS_EXECUTION_ENV=AWS_ECS_FARGATE
  AWS_DEFAULT_REGION=ap-northeast-1
  AWS_REGION=ap-northeast-1
-bash-4.2#
  • ロールにS3へのアクセス権限を付与すればS3からファイルをダウンロードすることもできる。
  • 既存設定だとssh切断した際にコンテナが停止されてしまうので必要に応じて設定する必要あり。

まとめ

  • Fargateだとsshできないかと思っていたが、やろうと思えばできる。
  • sshdをインストールする必要があるのに気付けなかった。

参考

0
1
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
0
1