AWS Fargate Fargate はAmazon ECSで使用できるテクノロジーであり、サーバーやAmazon EC2インスタンスの クラスターを管理することなくコンテナを実行できます。AWS Fargate を使用すると、コンテナを実行するために仮想マシンのクラスターをプロビジョニング、設定、スケールする必要がありません。これにより、サーバータイプの選択、クラスターをスケールするタイミングの決定、クラスターのパッキングの最適化を行う必要がなくなります。
Fargate 起動タイプを使用してタスクやサービスを実行する場合、アプリケーションをコンテナにパッケージ化し、CPU とメモリ要件を指定して、ネットワークとIAM ポリシーを定義して、アプリケーションを起動します。各Fargate タスクは、独自の分離境界を持ち、基盤となるカーネル、CPU リソース、メモリリソース、Elastic Network Interface を別のタスクと共有しません。Fargate のタスク定義を構成するには、requiresCompatibilities
タスク定義パラメータを FARGATE
に設定します。
Fargate は、Amazon Linux 2 および Microsoft Windows 2019 Server Full および Core エディション向けのプラットフォームバージョンを提供しています。
Contents
AWS Fargate の Windows コンテナの使用
Amazon ECS で AWS Fargate がサポートされているリージョンで、タスクに Fargate 起動タイプを使用し、Amazon ECS on AWS Fargate の使用を開始します。
開始する前に、Amazon ECS を使用するようにセットアップする のステップを完了し、AWS ユーザーに AdministratorAccess
IAM ポリシー例で指定されているアクセス許可があることを確認します。
コンソールは、Fargate タスクに必要なタスク実行 IAM ロールを自動で作成しようとします。コンソールがこの IAM ロールを作成できるようにするには、次のいずれかがtrueである必要があります。
- ユーザーが管理者権限を持っていることが必要です。詳細については、「Amazon ECS を使用するようにセットアップする」を参照してください。
- ユーザーがサービスロールを作成するための IAM 権限を持っていることが必要です。詳細については、「AWS サービスにアクセス許可を委任するロールの作成」を参照してください。
- 管理者権限を持つユーザーは、タスク実行ロールを手動で作成することにより、使用するアカウントで有効にできます。
ステップ 1: クラスターを作成する
AWS Management Console を使用してクラスターを作成することができます。
ステップ 2: Windows タスク定義を登録する
Amazon ECS クラスターで Windows コンテナを実行する前に、タスク定義を登録する必要があります。
{
"containerDefinitions": [
{
"command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"],
"entryPoint": [
"powershell",
"-Command"
],
"essential": true,
"cpu": 2048,
"memory": 4096,
"image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
"name": "sample_windows_app",
"portMappings": [
{
"hostPort": 80,
"containerPort": 80,
"protocol": "tcp"
}
]
}
],
"memory": "4096",
"cpu": "2048",
"networkMode": "awsvpc",
"family": "windows-simple-iis-2019-core",
"executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
"runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"},
"requiresCompatibilities": ["FARGATE"]
}
ステップ 3: タスク定義を使用してサービスを作成する
タスク定義を登録したら、それを使用してクラスターにタスクを配置できます。次の手順では、タスク定義を使用してサービスを作成し、クラスターに 1 つのタスクを配置します。
ステップ 4: サービスを表示する
サービスによってクラスターでタスクが起動されたら、サービスを表示し、ブラウザで IIS テストページを開いてコンテナが実行中であることを確認できます。
ステップ 5: クリーンアップ
Amazon ECS クラスターの使用が終了したら、使用していないリソースに対する料金が発生しないよう、それに関連付けられたリソースをクリーンアップする必要があります。
タスク、サービス、クラスター、コンテナインスタンスなど、一部の Amazon ECS リソースは、Amazon ECS コンソールを使用してクリーンアップします。Amazon EC2 インスタンス、Elastic Load Balancing ロードバランサー、Auto Scaling グループなど他のリソースは、Amazon EC2 コンソールで手動でクリーンアップするか、それを作成した AWS CloudFormation スタックを削除することでクリーンアップする必要があります。
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント