16
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

本投稿は、メタップスアドベントカレンダー18日目のエントリー記事です。

概要

以下で @fumiken さんが開発されたFargate接続ツールを紹介されています。
メインのPythonのツールについてはこの記事の内容をご参照ください。

ツールを利用するための事前準備は README をご参照ください。

本記事では、このPythonプログラムをラッピングしたシェルスクリプトを作成したのでそのご紹介をします。

解説

シェルスクリプトは以下のものになります。

まずは、

fargatessh

のみで実行します。
usageが表示されます。

$ fargatessh
usage:
  fargatessh [OPTION]...
    -p AWS_PROFILE(require)
    -c CLUSTER_NAME
    -s SERVICE_NAME
    -t CONTAINER_NAME
    -f FORCE_LOGIN
  ex) fargatessh -p profile -c cluster -s service -t app

AWS_PROFILE は必須指定です。

AWS_PROFILE を指定して

fargatessh -p testprofile

で実行してみます。
ここで、aws sso を利用している場合は、認証しているか判定されます。
未認証の場合は、ブラウザが開くので、aws sso の認証を行います。

fargatessh -p testprofile
Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:

https://device.sso.ap-northeast-1.amazonaws.com/

Then enter the code:

XXXX-XXXX

image.png

以降はconnect_to_fargate.pyの動作でクラスター、サービス等を順番に選択していきます。

Successfully logged into Start URL: https://organization.awsapps.com/start
処理を開始します
[?] 接続先が存在するクラスター名を選択してください:
 ❯ default
   project-a-claster

利用事例

クラスター名のみが分かっているがクラスター内のサービス名が分からないといった場合は

fargatessh -p testprofile -c project-a-claster

のように実行すると、サービス名以降を選択する形になります。

頻繁にログインするfargateの場合は、すべてのオプションを指定することで、タスク名のみ選択してログインできます。
ログイン確認不要な場合は -f (force login) のオプションを付けておくとよいでしょう。

fargatessh -p testprofile -c project-a-claster -s project-a-service -f -t app
$ fargatessh -p testprofile -c project-a-claster -s project-a-service -f -t app
処理を開始します
[?] 接続先が存在するタスク名を選択してください:
 ❯ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

タスク名: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

以下のFargateに接続します
----------------------------------------
クラスター名: project-a-claster
サービス名: project-a-service
タスク名: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
コンテナ名: app
----------------------------------------

Fargateにログインします

The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.


Starting session with SessionId: ecs-execute-command-xxxxxxxxxxxxxxxxxxxxxxxxxx

root@ip-10-254-1-254:/#             <------ログイン成功

補足

fargate接続後、vimの操作をする場合は、以下の記事も参考になるかと思いますので、ご参照ください。

16
2
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
16
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?