sql >> データベース >  >> RDS >> Database

AmazonECSとAmazonFargateの使用を開始する方法

    Dockerは、最も一般的に使用されるOSプラットフォームにインストールできます。 CoreOSにはDockerがプリインストールされており、Dockerコンテナを実行するために特別に設計されています。 Docker for AWSは、すぐに使用できるDockerスウォームモードを提供します。このモードでは、スウォームと呼ばれるノードのクラスターが、Dockerコンテナアプリケーションを実行するための分散プラットフォームを提供します。

    問題: 前述のすべてのDockerプラットフォームは、異なるタイプのDockerインストールであり、コマンドラインで実行および管理するにはDockerコンテナーが必要です。

    解決策: アマゾンECS弾性コンテナサービス )は、スケーリング、負荷分散、ネットワーキング、ストレージ、ロギング、およびその他のDockerコンテナ管理タスクのサポートが組み込まれたDockerコンテナのマネージドサービスです。 Amazon ECSは、EC2とFargateの2つの起動タイプをサポートしています。

    EC2起動タイプでは、EC2インスタンスがDockerコンテナの実行を開始します。最近(2017年11月)導入されたFargate起動タイプは、Dockerコンテナーをカプセル化するタスクをホストします。タスクは、エラスティックネットワークインターフェースを介してユーザーが直接アクセスできるようになります。 ( ENI )。 FargateがプロビジョニングされているEC2インスタンスはユーザーに公開されず、直接アクセスできません。

    この章では、次のことについて学習します。AmazonFargateとは

    • FargateAmazonECSオブジェクトのメリット
    • AmazonECSFargateでリソースを計算する
    • AmazonFargate起動タイプモードの新機能

    AmazonFargateとは

    Amazonファーゲート は、AmazonECSおよびAmazon EKSの新しい起動タイプです。 ( Elastic Kubernetes Service )-AWS上のDockerコンテナの管理されたオーケストレーションサービス。 Fargate起動タイプでは、インフラストラクチャはFargateによって完全にプロビジョニングされます。サーバーレスであり、EC2インスタンスはユーザーに公開されません。 Dockerコンテナーは、タスク定義内のコンテナー定義として定義されます。サービスは、1つ以上のタスクを実行するためのタスク定義を実装します。各タスクはENIに関連付けられています。タスクレベルでのパブリックIPの自動割り当てが有効になっている場合、外部クライアントがタスクにアクセスできるパブリックIPが自動的にタスクに割り当てられます。タスクはプライベートIPを介して相互に通信します。

    Fargateのメリット

    ECSの利点は次のとおりです。

    • Dockerアプリケーションを実行するために多くのユーザー入力を必要としないコンテナ化されたアプリケーションのマネージドサービス
    • 分離されたコンテナで実行される複数のアプリケーションで構成されるマイクロサービスアプリケーションの負荷に基づいてタスクを自動スケーリングします
    • IAM、CloudWatch Logs、Elastic Load Balancing、CloudFormationテンプレート、EBS Volumes、Batch、ECR、CloudTrailログなどの他のAWSサービスと統合します
    • 仮想プライベートクラウド VPC )他のユーザーとリソースを共有しない場合展開プラットフォームとしてECSを使用してCodePipelineを実行するためのサポートを提供します
    • 最新のDockerバージョン17.0をサポートします

    Fargateには、次の追加の利点があります。

    • Fargate起動タイプでは、クラスター上に公開されていないため、ユーザーはEC2インスタンスを作成または管理しません。
    • タスクはENIを介してユーザーに直接公開されます。
    • 基盤となるインフラストラクチャはFargateによってプロビジョニングされます。 EC2インスタンスは、Fargate起動タイプでは管理されません。
    • CodePipelineは、展開プラットフォームとしてFargateをサポートしています。
    • タスク定義にカプセル化されたコンテナ定義に基づくマイクロサービスは明示的にリンクされており、リンクなどの追加オプションとはリンクされません。
    • CloudWatchログは自動設定される場合があります。

    AmazonECSオブジェクト

    Fargateを使用するAmazonECSオブジェクトは、EC2起動タイプの場合と同じです。 ECSクラスターは最も外側のカプセル化であり、1つ以上のサービスで構成されます。クラスタは、複数のアベイラビリティーゾーンに分散できます。サービスはタスク定義の実装であり、1つ以上のタスクを実行します。タスク定義には、1つ以上のタスクリビジョンを含めることができます。タスクリビジョンは、一連のタスクとそれに関連付けられたサービスを含む個別のタスク定義です。 1つのFargateインスタンスは、サービス内の一連のタスクに関連付けられています。タスク定義は、0個以上のコンテナー定義で構成されます。通常、タスク定義は1つ以上のコンテナー定義に関連付けられ、コンテナー定義で構成されていないタスク定義はタスクコンテナーを実行しません。 ECSオブジェクトの図を次のように示します。

    タスクの定義 はアプリケーションテンプレートであり、1つ以上のコンテナを記述します。一部の属性または設定はタスクレベルで構成されますが、それらのほとんどはコンテナーレベルで構成されます。複数のリビジョンがタスク定義に関連付けられている場合があります。

    サービス タスク定義を実装し、タスク定義に対して実行するタスクの目的のカウントを定義します。自動スケーリングや負荷分散などのオプション機能は、サービスで構成されます。

    クラスター ECSサービスでは、1つ以上のコンテナサービスのグループです。クラスター名は、アカウント内で一意である必要があります。デフォルトと呼ばれるクラスターがデフォルトでプロビジョニングされます。

    AmazonECSFargateでリソースを計算する

    タスクサイズ タスクメモリ(GB)で構成されます およびタスクCPU(vCPU) 。 EC2起動タイプではオプションですが、Fargate起動タイプではタスクサイズが必要です。 DockerコンテナレベルのメモリとCPUの設定はオプションで定義できますが、タスク定義レベルの設定によって上書きされます。タスクメモリとタスクCPUの特定の組み合わせのみがサポートされ、ECSウィザードは、選択された値に対してサポートされている値(または値の範囲)をメッセージで示します。例として、1 GBメモリの有効なCPU範囲は、0.25 vCPU〜0.5vCPUです。コンテナレベルで構成された合計リソース(メモリまたはCPU)は、タスクレベルのリソース設定を超えてはなりません。たとえば、タスク定義が2つのコンテナ(MySQLとWordPress)で構成され、各コンテナのメモリ制限が128 MBの場合、タスクレベルのメモリは少なくとも256MBである必要があります。また、コンテナレベルのメモリの合計は256MBを超えてはなりません。 CPUについても同様です。コンテナレベルでは、次の2つのメモリ制限を定義できます。ソフト制限 およびハードリミット 。ソフト制限はmemoryReservationに対応します タスクレベルの属性であり、ハード制限はメモリに対応します タスクレベルの属性。コンテナメモリ予約の合計(ソフト制限)は、タスクメモリを超えてはなりません。各コンテナのハード制限は、タスクレベルで構成されたメモリを超えてはなりません。コンテナには、デフォルトで4GB以上を指定する必要があります。

    次のスクリーンショットにタスクサイズの例を示します。ここでは、タスクメモリメモリ 属性)は 0.5 GBに設定されています (512 GB)、およびタスクCPU 0.25 vCPUに設定されています 。コンテナレベルでは、2つのコンテナ定義で構成されているように、メモリ予約はコンテナごとに128 MBであるため、合計メモリ予約は 256 MB になります。 512 GB以内 タスクレベルで割り当てられます。タスクサイズは、使用されているかどうかに関係なく、タスクに割り当てられます。同様に、CPUユニットの数 コンテナごとに構成されているのは10 、これにより、CPUユニット内のコンテナの合計CPUユニットは20になり、25がタスクレベルで割り当てられます。次のスクリーンショットを参照してください:

    タスクサイズの構成とコンテナの割り当て

    AmazonFargate起動タイプモードの新機能

    前述のFargateの利点に加えて、Fargateは次の新機能をサポートしています。

    • ネットワーキングモード、 awsvpc 、サポートされている唯一のモードです
    • ホストポートマッピングは、Fargate起動タイプのネットワーキングモード( awsvpc )では無効です。 )、およびアプリケーションが公開されるホストポートは、コンテナポートと同じです
    • ecsTaskExecutionRole Fargate起動タイプに追加され、DockerイメージをプルしてCloudWatchLogsにログを送信できるようになりました
    • awslogsのみ ログ構成とawslogs ログドライバーはCloudWatchLogsでサポートされています
    • 配置制約を定義するためのECSインスタンスがプロビジョニングされていないため、タスク配置はサポートされていません
    • DockerHubとAmazonECR上のDockerイメージのみがサポートされています特権Windowsコンテナーは、Fargate起動タイプではサポートされていませんホストデバイスをコンテナーに公開することはできません
    • ホスト およびsourcePath ボリュームのパラメータは、Fargate起動タイプではサポートされていません

    概要

    この紹介の章では、Fargate起動タイプを使用する利点、コンピューティングリソースを分散し、Fargate起動タイプで構成する方法、Fargateを使用するECSオブジェクトがEC2起動タイプと同じである方法、およびファーゲート。次の章では、Fargateで使用されるネットワーキングについて説明します。

    上記の資料は、AmazonFargateクイックスタートガイドからの抜粋です。 、Deepak Vohra著、PactPublishing発行。

    この記事は寄稿されました。 ©Developer.com。無断複写・転載を禁じます


    1. SQLServer2000-リンクサーバー

    2. EBS12.2でWebポートを変更する方法

    3. SQL Serverの計算列とは何ですか?

    4. PerconaXtraDBクラスターの監視-主要な指標