2026年10月27日

2026年10月27日

クラウドサーバーのオートスケーリング設定方法

はじめに

オートスケーリングは、パフォーマンスを最適化し、システムの可用性と信頼性を向上させるための重要な機能です。この記事では、クラウドサーバー上で自動的にリソースを調整するためのオートスケーリング設定方法について詳しく解説します。

症状・背景

このテーマが必要になる主な場面:

  • ユーザー数が急激に増加し、サーバーのレスポンスタイムが悪化した場合
  • システム負荷が高い時間帯と低い時間帯がある場合
  • 運用コストを最小限に抑えつつシステム性能を維持したい場合

手順・設定方法

ステップ1: AWS Elastic Load BalancingとAuto Scalingのセットアップ

# IAMロールを作成し、必要なポリシーを追加します。
aws iam create-role --role-name AutoScalingRole --assume-role-policy-document file://trust-policy.json
aws iam attach-role-policy --role-name AutoScalingRole --policy-arn arn:aws:iam::aws:policy/service-role/AutoScalingConsoleAccess

# Auto Scalingグループを作成します。
aws autoscaling create-auto-scaling-group \
    --auto-scaling-group-name my-auto-scaling-group \
    --launch-template LaunchTemplateId=my-launch-template,Version=1 \
    --min-size 2 \
    --max-size 4 \
    --desired-capacity 3 \
    --load-balancer-names MyLoadBalancer \
    --availability-zones ap-northeast-1a,ap-northeast-1b

ステップ2: Google Cloud Platform (GCP)のManaged Instance GroupとAutoscalerのセットアップ

# Managed Instance Groupを作成します。
gcloud compute instance-groups managed create my-managed-instance-group \
    --zone us-central1-a \
    --template my-template \
    --size 3 \
    --target-pool my-target-pool

# Autoscalerを設定してManaged Instance Groupに適用します。
gcloud compute instance-groups managed set-autoscaling my-managed-instance-group \
    --autoscaling-policy min-num-replicas=2,max-num-replicas=5,cpu-utilization=target-value,custom-metric-utilization=magnitude-below-zero=1.0,metric=queue-length

ステップ3: Microsoft AzureのVirtual Machine Scale SetsとAutoscaleのセットアップ

# Virtual Machine Scale Setを作成します。
az vmss create \
    --resource-group my-resource-group \
    --name my-vmss \
    --image UbuntuLTS \
    --admin-username azureuser \
    --upgrade-policy-mode automatic \
    --instance-count 2

# Autoscaleルールを設定してVirtual Machine Scale Setに適用します。
az monitor autoscale create \
    --resource-group my-resource-group \
    --name my-autoscale \
    --target-resource /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachineScaleSets/my-vmss \
    --min-count 2 \
    --max-count 6 \
    --count 3

ステップ4: 監視とトラブルシュート

# サーバーのCPU使用率をモニタリングします。
aws cloudwatch get-metric-statistics \
    --namespace AWS/EC2 \
    --metric-name CPUUtilization \
    --dimensions Name=AutoScalingGroupName,Value=my-auto-scaling-group \
    --start-time $(date -d "15 minutes ago" +%Y-%m-%dT%H:%M:00Z) \
    --end-time $(date +%Y-%m-%dT%H:%M:00Z) \
    --period 300 \
    --statistics Average

注意事項

  • オートスケーリングの設定は、サービス利用状況やシステム負荷に合わせて適宜調整が必要です。
  • ロールバックを容易にするため、過去の設定を保存しておくことを推奨します。
  • 安全性の観点から、必要以上の権限を持たないIAMロールまたは役割を使用するようにしましょう。
  • 運用コストを抑えるために、オフピーク時の最小インスタンス数を適切に設定することが重要です。

まとめ

1. クラウドプロバイダーの選択: AWS, GCP, Azureなどの主要なクラウドプラットフォームから最適なものを選びます。

2. リソースのモニタリング: CPU使用率やメモリ消費量などを定期的に監視し、必要に応じて調整します。

3. 自動スケーリンググループの設定: プロバイダーごとの異なるコマンドを利用して適切なスケーリングポリシーを設定します。

4. セキュリティとコスト管理: IAMロールやタグなどの機能を使用して、セキュリティと運用コストを最適化します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲