Creating a Task Definition

Amazon ECS上でDocker containersを起動する前にtask definitionを作る必要がある。 新しい task definition を作る

  1. Amazon ECS コンソールを開く
  2. ナビゲーショバーから task definitionを登録したいregionを選択する
  3. ナビゲーションパネルからTask Definitionsを選択
  4. Task DefinitionsページでCreate new Task Definitionを選択
  5. (オプション)もしJSON形式のtask defnitionを使いたい場合以下の手順
    1. Create a Task Defnitionページでページの下までスクロールしてConfigure via JSONを選択
    2. JSON形式のtask definitionをテキストエリアにペーストしてSaveする
    3. 情報を確認してCreate
  6. Task Defnition Nameフィールドで task definitionの名前を入力、255文字(大文字、小文字)、数字、ハイフン、アンダースコアが可能
  7. (オプション)Task Roleフィールドでは、taskで作られたコンテナがAWS APIsを呼び出すための権限を提供するIAM roleを選択。詳細はIAM Roles for Tasksを参照

    note ここではAmazon EC2 Container Service Task Roleをもったroleが示されている。TaskのためのIAM Roleの作り方はCreating an IAM Role and Policy for your Tasksを参照
  8. (オプション) Network Modeフィールドでは、使いたいDocker network modeを選択。対応可能な network mode はDocker run referenceのNetwork settingsで説明している

    defaultのDcoker network modeはbridgeとなっている。もし network mode が noneがセットされていると catiner definitonではport mappingsを指定できない。そしてtaskのコンテナは外部への接続を持たない。bridge modeによって仮想ネットワークスタックの代わりにホストネットワークスタックを使用する事によってより高いパフォーマンスを提供する。しかし、ホストポートに対応しているマップングされたコンテナポートは露出してしまう。ポートマッピングですでに使っていると、一つのcontainer instanceの同じtaskで複数の実体化が出来ない、もしくは動的ポートマッピングの利用が出来ない。
  9. task definition内にある個々のコンテナは以下のステップ
    1. Add Cotainer Definitionを選択
    2. 必要な個々のフィールド満たし、必要であればオプションフィールドも入力(Advanced container configurationメニューでより多くの コンテナパラメータを利用可能)。詳細はTask Definition Parametersを参照
    3. Addで コンテナを task definitionに追加
  10. (オプション) Add volumeを選び、task の data volumesを設定。詳細はUsig Data Volumes in Tasksを参照
    1. Nameフィールドvolumeの名前を入力、255文字まで(大文字小文字)、数字、ハイフン、アンダースコア使う可能
    2. (オプション) Sourcde Pathフィールドに、container instanceがコンテナに提供するpathを入力。もし空であればDcoker daemonがホストパスをアサインする。もしsourcde pathを指定すると手動で消すまで指定されたロケーションを維持する。もし host container instance上にsource pathが存在しなければ、 docker daemonがそれを作る。もし ロケーションがあればsource pathの中身をコンテナにエクスポートされる。
  11. Createを選び終了する

results matching ""

    No results matching ""