プロダクト紹介
Auto Scalingとは
Auto Scaling は、変化するビジネスニーズを満たすために、エラスティックコンピューティングリソースの容量を自動的に調整します。 ビジネスニーズの拡大に伴い、ユーザーが設定したスケーリングルールに基づいて、ECS インスタンスが自動的に追加されるため、十分なコンピューティング能力を確保できます。 また、ビジネスニーズが低下すると、自動的に ECS インスタンス数を減らして、コストを削減します。

スケールアウト
ビジネスの拡大に伴い、基盤となるリソースが自動的にアップグレードされるので、アクセス遅延や過度のリソース負荷を回避できます。
CloudMonitor を設定すると、ECS インスタンスの使用状況をリアルタイムでモニタリングできます。 たとえば、ECS インスタンスの vCPU 使用率がスケーリンググループの 80% を超えたことを CloudMonitor で検知すると、Auto Scaling はユーザーが設定したスケーリングルールに基づいて、ECS リソースを柔軟に追加します。 その際、適切な数の ECS インスタンスが自動的に作成されます。作成された ECS インスタンスは、Server Load Balancer インスタンスと RDS インスタンスのホワイトリストに自動的に追加されます。 詳細は、Auto Scaling の「スケーリンググループの作成」と CloudMonitor の「Auto Scaling のモニタリング」をご参照ください。
注:Auto Scaling によって ECS リソースがスケールアウトされると、有効なスケーリング設定に基づいて、新規の ECS インスタンスが自動的に作成され、スケーリンググループに追加されます。 ECS コンソールにログインすると、これらの ECS インスタンスに対して起動、停止、接続などの操作を実行できます。

スケールイン
ビジネスニーズが低下すると、基盤となるリソースが Auto Scaling によって自動的にリリースされ、リソースの無駄を省きます。
CloudMonitor を設定すると、ECS インスタンスの使用状況をリアルタイムでモニタリングできます。 たとえば、ECS インスタンスの vCPU 使用率がスケーリンググループの 30% を下回ったことを CloudMonitor で検知すると、Auto Scaling はユーザーが設定したスケーリングルールに基づいて、ECS リソースを柔軟に減らします。 その際、適切な数の ECS インスタンスが自動的にリリースされます。リリースされた ECS インスタンスは、Server Load Balancer インスタンスと RDS インスタンスのホワイトリストから自動的に削除されます。 詳細は、Auto Scaling の 「削除ポリシー」と CloudMonitor の「Auto Scaling のモニタリング」をご参照ください。

柔軟なリカバリ
Auto Scaling のヘルスチェック機能により、スケーリンググループ内の ECS インスタンスのステータスが自動的にモニタリングされるため、スケーリンググループ内の正常な ECS インスタンス数が、ユーザーの設定した最小値を下回ることはありません。
ECS インスタンスが正常ではないことを Auto Scaling で検知すると、異常な ECS インスタンスは自動的にリリースされ、新規の ECS インスタンスが作成されます。作成されたインスタンスは、Server Load Balancer インスタンスと RDS インスタンスのホワイトリストに追加されます。 詳細は、「異常なインスタンスの削除」をご参照ください。

利点
ここでは、Auto Scaling の機能、プロダクトの特徴、およびシナリオについて説明します。
概要
- アプリケーションのニーズの増減に応じて、ECS インスタンスを自動的に追加または削除します。
- Sever Load Balancer の ECS インスタンスを自動的に設定します。
- ApsaraDB for RDS のホワイトリストを設定します。
特徴
- オンデマンド: 需要曲線に合わせて、リアルタイムでリソースが調整されます。 需要が急増した場合でも、コンピューティング能力を心配する必要はありません。
- 自動化: 設定したポリシーに基づいて、ECS インスタンスが自動的に作成およびリリースされます。 手動の操作をしなくても、Server Load Balancer と RDS のホワイトリストが設定されます。
- 柔軟性: スケジュールされたスケーリング、モニタリング対象インスタンスに基づく動的スケーリング、固定数のインスタンスのスケーリング、および異常なインスタンスの自動置換を設定できます。 また、API を介して外部モニタリングシステムを使用することもできます。
- インテリジェント: 複雑なシナリオに適用できます。
シナリオ
- ビデオ共有: 休日や催事ではワークロードが急増します。 コンピューティングリソースをリアルタイムで自動的に追加する必要があります。
- ビデオストリーミング: 需要曲線を手動で予測することは困難です。 CPU 使用率、ワークロード、帯域幅に基づいて、コンピューティングリソースをスケールアウトする必要があります。
- ゲーム: 12 時 00 分から需要の増加が始まり、18 時 00 分から 21 時 00 分 まで続くため、スケジュールされたスケーリングが必要です。
クイックスタート
操作手順
ここでは、Auto Scaling ソリューションを作成するための手順を説明します。
作成

- スケーリンググループを作成します (CreateScalingGroup)。 スケーリンググループ内の ECS インスタンスの最小値と最大値を設定し、関連付ける Server Load Balancer と RDS インスタンスを選択します。
- スケーリング設定を作成します (CreateScalingConfiguration)。 イメージ ID やインスタンスタイプなど、Auto Scaling の ECS インスタンスの属性を設定します。
- 手順 2 で作成したスケーリング設定を使用して、スケーリンググループを有効にします (EnableScalingGroup)。
- スケーリングルールを作成します (CreateScalingRule)。 たとえば、N 個の ECS インスタンスを追加する、などです。
- スケジュール済みタスクを作成します (CreateScheduledTask)。 たとえば、手順 4 で作成したスケーリングルールを午前 12:00 にトリガーする、などです。
- アラームタスクを作成します (CloudMonitor API PutAlarmRule)。 たとえば、平均 (最大または最小も可) CPU 使用率が 80 %以上の場合に ECS インスタンスを 1 つ追加する、などです。
Auto Scaling サービスの有効化と許可
ここでは、Auto Scaling サービスの有効化と許可を行う API について説明します。
許可の手順
- Auto Scaling コンソールにログインします。
- [権限設定] をクリックして RAM コンソールに移動し、権限を付与します。
- [AliyunESSDefaultRole] を選択し、[許可に同意] をクリックします。
- Auto Scaling コンソールへ戻り、ページを更新します
次の手順
許可を完了したら、Auto Scaling サービスを使用できます。 次に、中国 (上海) などの目的のリージョンに、最初のスケーリンググループを作成します。 詳細は、「スケーリンググループの作成」をご参照ください。
許可一覧
AliyunESSDefaultRole
ロールにより、Auto Scaling は以下の Alibaba Cloud リソースの呼び出しがデフォルトで許可されています。
- ECS 関連の許可
許可名 説明 ecs:RunInstances 必要に応じて、1 つ以上の ECS インスタンスを作成します。 ecs:CreateInstance ECS インスタンスを作成します。 ecs:StartInstance ECS インスタンスを起動します。 ecs:AllocatePublicIpAddress ECS インスタンスにパブリック IP アドレスを割り当てます。 ecs:StopInstance ECS インスタンスを停止します。 ecs:DeleteInstance ECS インスタンスを削除します。 ecs:DescribeInstances ECS インスタンスリストを照会します。 ecs:DescribeInstanceAttribute ECS インスタンスの属性を照会します。 ecs:ModifyInstanceAttribute ECS インスタンスの属性を修正します。 ecs:DescribeSecurityGroupAttribute セキュリティグループの属性を照会します。 ecs:DescribeSnapshots スナップショットリストを照会します。 ecs:DescribeKeyPairs キー ペアリストを照会します。 - SLB 関連の許可
許可名 説明 slb:DescribeLoadBalancerAttribute SLB インスタンス情報を照会します。 slb:RemoveBackendServers SLB インスタンスからバックエンドサーバーを削除します。 slb:DescribeHealthStatus SLB インスタンスのバックエンドサーバーのヘルスチェックを実行します。 slb:AddBackendServers SLB インスタンスにバックエンドサーバーを追加します。 slb:SetBackendServers バックエンドサーバーの重み付けを設定します。 - RDS 関連の許可
許可名 説明 rds:ModifySecurityIps RDS インスタンスの IP アドレスホワイトリストを変更します。 rds:DescribeDBInstanceAttribute RDS インスタンスの詳細を表示します。 rds:DescribeTaskInfo RDS タスク情報を照会します。 rds:DescribeDBInstanceIPArrayList RDS インスタンスの IP アドレスホワイトリストを表示します。 - VPC 関連の許可
許可名 説明 vpc:DescribeVpcs VPC リストを照会します。 vpc:DescribeVSwitches VSwitch リストを照会します。 - MNS 関連の許可
許可名 説明 mns:ListTopic アカウントのトピックリストを一覧表示します。 mns:ListQueue アカウントのキュー リストを一覧表示します。 mns:SendMessage メッセージを送信します。 mns:PublishMessage メッセージを公開します。
AliyunESSDefaultRole の完全なポリシーリストは、以下のとおりです。
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:CreateInstance",
"ecs:RunInstances",
"ecs:StartInstance",
"ecs:AllocatePublicIpAddress",
"ecs:StopInstance",
"ecs:DeleteInstance",
"ecs:DescribeInstances",
"ecs:DescribeInstanceAttribute",
"ecs:ModifyInstanceAttribute",
"ecs:DescribeSecurityGroupAttribute",
"ecs:DescribeImages",
"ecs:DescribeSnapshots",
"ecs:DescribeKeyPairs",
"slb:DescribeLoadBalancerAttribute",
"slb:RemoveBackendServers",
"slb:DescribeHealthStatus",
"slb:AddBackendServers",
"slb:SetBackendServers",
"rds:ModifySecurityIps",
"rds:DescribeDBInstanceAttribute",
"rds:DescribeTaskInfo",
"rds:DescribeDBInstanceIPArrayList"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"vpc:DescribeVpcs",
"vpc:DescribeVSwitches"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"mns:ListTopic",
"mns:ListQueue",
"mns:SendMessage",
"mns:PublishMessage"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:PassRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"acs:Service": "ecs.aliyuncs.com"
}
}
}
]
}
クイックスタートガイド(初級)
このクイックスタートガイドでは、基本的な Auto Scaling の設定方法を説明します。ECS インスタンスの自動購入、Server Load Balancer への ECS インスタンスの自動追加、RDS のホワイトリストへの IP アドレスの自動追加方法を説明します。
次の 2 ステップを実行することで設定可能です。

ステップ 1: スケーリンググループの作成
スケーリンググループは、同じアプリケーションが稼動する ECS インスタンスの集合です。スケーリンググループでは、グループ内で稼動する ECS インスタンスの最大数と最小数や、関連する Server Load Balancer インスタンス、RDS インスタンスなどを定義します。
- スケーリンググループリスト ページで、スケーリンググループを作成 をクリックします。
- スケーリンググループの リージョン を選択し、スケーリンググループ名 を入力します。
- スケーリングに許可される最大インスタンス数 と スケーリングに許可される最小インスタンス数 を 1 に設定します。これにより、スケーリングソリューション全体を作成した後で、1 個の ECS インスタンスが自動的に作成されます。
- Server Load Balancer インスタンスを選択します。指定された Server Load Balancer インスタンスに対して設定されているすべてのリスナーポートについて、ヘルスチェックを有効にしておく必要があります。
- データベース インスタンスを選択します。[RDS データベースの選択] ダイアログボックスを表示します ([RDS データベースの選択] の図を参照してください)。
- RDS データベースな選択した後、[送信] をクリックします。
スケーリング設定の作成
スケーリング設定は、自動スケーリングに使用される ECS インスタンス情報を定義します。ECS インスタンスをスケーリンググループに自動的に追加する場合、自動スケーリングはスケーリング構成に基づいて ECS インスタンスを作成します。
- スケーリンググループリスト ページで希望するスケーリンググループの横の 管理 をクリックします。
- スケーリング設定ページにて、スケーリング設定の作成 をクリックします。
- 必要な ECS インスタンスタイプを選択します。
- イメージ、セキュリティグループなどを選択します。
- スケーリング設定の名前を入力します。
- 作成 をクリックして、確認に進みます。