aws escのecs_params.yml の設定

AWS ECS のタスク定義で使うもの。(docker-composeの形式ではサポートしていないものが多いので)

下記を定義しておく。

version: 1
task_definition:
  ecs_network_mode: string
  task_role_arn: string
  task_execution_role: string
  task_size:
    cpu_limit: string
    mem_limit: string
  services:
    <service_name>:
      essential: boolean
      cpu_shares: integer
      mem_limit: string
      mem_reservation: string
      healthcheck:
        test: ["CMD", "curl -f http://localhost"]
        interval: string
        timeout: string
        retries: integer
        start_period: string 
run_params:
  network_configuration:
    awsvpc_configuration:
      subnets: 
        - subnet_id1 
        - subnet_id2
      security_groups: 
        - secgroup_id1
        - secgroup_id2
      assign_public_ip: ENABLED

下記のような感じでファイルを指定すれば読み込んでくれる

$ ecs-cli --ecs-params ${ecs_params.yml} 

踏み台使用時の~/.ssh/config

(通常の~/.ssh/configはこちら -> https://k-sasaki.net/2018/02/230/)

AWSとかで踏み台サーバ経由する方法とかまぁよくある話なので、ProxyCommandで対応するメモ。(よく忘れる、てかキーを間違えるw)
こんな感じの構成だとする。

local-machine -- step-server -- target-server

下記をlocal-machineの.ssh/configに書いておく

# 踏み台サーバ
Host step-server
  Hostname step-server.com
  User step-server-user
  Port 22
  IdentityFile ~/.ssh/id_rsa_step_server

# ターゲットサーバ
Host target-server
  Hostname target-server.com
  User target-server-user
  Port 22
  IdentityFile ~/.ssh/id_rsa_target_server
  ProxyCommand ssh step-server -W %h:%p

~/.ssh/configをchmod 700にする。

$ chmod 700 ~/.ssh/config

下記でアクセスできるはず。

$ ssh target-server

踏み台サーバは場所によって、step-serverだったりgateway-serverだったりいろんな名前があるんすね。