Azureガイダンスレポート

Azureサービスのコストの最適化、パフォーマンスと信頼性の向上を行うためにベストプラクティスを取得します。これら推奨事項は3つの優先度「高・中・低」で分けられています。

メトリクスベースのプラクティスはAzure監視のデータ収集時にその情報が取得されます。その他のプラクティスはAzure APIによりデータを収集し、プラクティスに沿っているかを確認します。

ガイダンスレポートの有効化

次の手順を参照してください。

  1. Site24x7にログインし、Cloud > Azureの順にアクセスし、Azure監視を選択します。
  2. 左パネルのガイダンスレポートをクリックします。
  3. ガイダンスレポートの有効化をクリックします。

すべての推奨事項が反映されるまで少し時間をおいてください。

ベストプラクティスチェック

Azure仮想マシン (VM)

1. アイドルVM

優先度:

ベースライン:

CPU使用率、出力・入力ネットワークパターンの解析によりVMはアイドル状態とみなされます。CPU使用率が2%未満、かつ全ネットワークインターフェースの入力および出力バイト数の合計が100バイト未満の場合、デフォルトでそのVMはアイドル状態としてマークされます。

推奨事項:

Azureでは、アイドルのVMでも課金が発生します。このコスト削減のために、VMの停止や削除を行うか、サイズのスケールダウンを行ってください。

2. VMの高い使用率

優先度:

ベースライン:

Azure VMは次の条件に1つ以上でも合致すれば過剰に使用されているとみなされます。

  • 1日の平均CPU使用率が過去7日で90%を超過している。
  • 1日の平均メモリ使用率が過去7日間で90%を超過している。(Azure VMにエージェント拡張が行われている場合のみ利用可能です)

推奨事項:

VMサイズを変更するか、オートスケーリンググループにVMを追加してください。

3. VMのユーザー定義のタグ

優先度:

ベースライン:

タグ(キーと値のペア)の形式でメタデータを割り当てて、インスタンス、イメージ、自動スケーリンググループの追跡と管理を改善します。

推奨事項:

タグの作成が、Azureベストプラクティスにつながります。

4. 高I/OのVM

優先度:

ベースライン:

ディスクが少ない状態でのI/O集中型のワークロードは、VMのパフォーマンスに大きな影響を与えます。

推奨事項:

高いIOPSを必要とするVMディスクをプレミアムストレージに移行します。

5. 低使用率のVM

優先度:

ベースライン:

過去48時間でCPU使用率が2%未満の場合、低使用率とみなされます。

推奨事項:

Azureでは、インスタンスタイプや利用時間に基づいて課金が発生します。使用率の低いVMを特定し停止して、コストを削減してください。

6. タグ"environment: testing"をもつリソースの自動シャットダウン

優先度:

ベースライン:

テストなどの目的で作成したVMを削除し、コストを削減します。

推奨事項:

テスト用に追加され、1週間以上実行されているVMを削除します。

7. 可用性セットグループに関連付けられていないVM

優先度:

ベースライン:

可用性セット内のVMは全体のパフォーマンスを維持するのに役立ちます。ハードウェアやソフトウェアに障害が発生した場合に、サブセットのVMのみその影響を受けます。

推奨事項:

VMの可用性セットを作成してください。

8. テストVMの自動削除

優先度:

ベースライン:

テストやその他内部アクティビティのために作成したVMを削除して不要なコスト発生を削減します。

推奨事項:

1週間以上実行しているテストVMを削除します。

9. タグのないVM

優先度:

ベースライン:

キーバリューペアのタグにメタデータを割り当て、インスタンス、イメージ、VMスケールセットグループの管理を行います。

推奨事項:

Azureのベストプラクティスに準拠したタグ付けを行います。

10. バックアップのないVM

優先度:

ベースライン:

AzureでVMをバックアップを行ってデータを保護します。ポイントインタイムの災害復旧が可能になり、集中管理とスケーラビリティに繋げられます。

推奨事項:

Azure VMのバックアップを行い、データとアプリケーションを安全に保ちます。

AzureパブリックIPアドレス

1. マッピングされていないIPアドレス

優先度:

ベースライン:

リソースからIPアドレスの関連付けを解除し、同じアカウントの別のIPアドレスに再マッピングすることにより、インスタンスまたはリソースの障害を非表示にします。

推奨事項:

未使用のアドレスにも少額の時間料金がかかります。そのため、パブリックIPアドレスをアクティブなインスタンス/インターフェースに関連付けるか、削除します。

Azure App Service Plan

1. 使われていないApp Service Planのスケールアウト

優先度:

ベースライン:

あまり使用されていないApp Service Planの支払いを停止します。

推奨事項:

プランをスケールアウトしてコストを削減します。

2. 平均メモリ80%を超えているWeb Appの削減

優先度:

ベースライン:

高メモリ使用率はApp Service Planで稼働しているアプリケーションのパフォーマンスを減少させます。プランの拡張を検討し、メモリ制限を増やしてください。

推奨事項:

プランをスケールアップし。パフォーマンスを改善します。

3. CPU時間が80%を超えているWeb Appの削減

優先度:

ベースライン:

高CPU使用率はApp Service Planで稼働しているアプリケーションのパフォーマンスを減少させます。プランの拡張を検討し、メモリ制限を増やしてください。

推奨事項:

プランをスケールアップし、パフォーマンスを改善します。

4. App Service Planのサイト数使用率が5%未満

優先度:

ベースライン:

サイト数が許容しているサイト数の5%未満の場合、あまり使用されていないものとしてみなされます。

推奨事項:

別のApp Service Planのアプリケーションを移動し、コストを削減します。

Azure App Services

1. 平均応答時間が200ミリ秒を超えているApp Services

優先度:

ベースライン:

遅延はダウンにつながります。Web Appの遅い応答時間はビジネスに影響を与えます。過去一週間でパフォーマンスが遅いWeb Appの監視をしましょう。

推奨事項:

APMを使用してアプリケーションを監視し、問題のあるモジュールやリソースを特定します。

2. 5xxエラーコード数の多いApp Services

優先度:

ベースライン:

エラーの起こりやすいWeb Appはいくつかの部分やモジュールに障害が発生しやすくなり、ビジネスに影響を与えます。

推奨事項:

適切なエラー処理メカニズムによってエラー応答を減らし、エラーモジュールを修正します。

3. 認証が無効化されているApp Services

優先度:

ベースライン:

認証が無効なWebアプリは匿名のエントリを許可し、ユーザーログインが効果しなくなります。

推奨事項:

認証を有効化し、匿名のアクセスを防止します。

4. バックアップが無効化されているApp Services

優先度:

ベースライン:

Azureバックアップは障害があった際のWeb Appの回復に役立てられます。

推奨事項:

Azure Web Appのバックアップを有効にします。

5. タグ付けされていないApp Services

優先度

ベースライン:

タグを用いてAzureリソースの管理をより良くします。タグ付けされていないリソースは目が届かなくなり、管理が難しくなります。

推奨事項:

わかりやすいキーとバリューのペアを用いたタグをAzureリソースに付与し管理しやすくします。

Azure Function App

1. 公開されているAzure Function

優先度:

ベースライン:

Azure Functionは要求数に基づいて課金が発生し、要求はイベント通知または呼び出しに対する応答を示します。不正な実行を許可すると、サブスクリプションに予期しない請求が発生する可能性があります。

推奨事項:

Azure functionログインポリシーを使用し、呼び出し権限を管理します。

Azure Logic Apps

1. リトライポリシーの未設定

優先度:

ベースライン:

アクションやトリガーのリトライポリシーを使用してください。リトライポリシーは元のリクエストのタイムアウトが発生した際のアクションリトライの設定を行います。

推奨事項:

リトライポリシーを設定して、Logic Appのエラー復旧を自動化します。

2. IPアドレス制限の実装

優先度:

ベースライン:

IPアドレス制限により、指定したアドレス以外のIPからのAPI管理サービスインスタンスへのリクエストを防止します。

推奨事項:

制限ポリシーを設定して、ワークフローを安全に保ちます。制限ポリシー設定を追加して、Logic Appのセキュリティを強化します。

Azure Synapse Analytics

1. 全Synapseプールの自動停止とコストの削減

優先度:

ベースライン:

設定した期間、使用していないコンピューターリソースの自動停止とシャットダウンを行います。

推奨事項:

自動停止を有効にし、コストの削減を行います。

2. Synapseオートスケールの無効化

優先度:

ベースライン:

オートスケール機能はクラスターインスタンス内のノード数を自動でスケーリングします。

推奨事項:

オートスケールを有効にし、高い使用率の際にパフォーマンスを向上、低い使用率の際にコスト削減を行います。

Azure Network Interface

1. 使用していないネットワークインターフェース

優先度:

ベースライン:

使用していないネットワークインターフェースがないか確認します。

推奨事項:

ネットワークインターフェースを再度使用するか、削除します。

Azure Load Balancer

1. 使用していないロードバランサー

優先度:

ベースライン:

使用していないロードバランサーがないか確認します。

推奨事項:

ロードバランサーを再度使用するか、削除します。

2. 正常性プローブの追加

優先度:

ベースライン:

正常性プローブはバックエンドポイントの正常性ステータスを検知するのに使用されます。

推奨事項:

正常性プローブを追加し、アプリケーション障害の検知とパフォーマンスの向上を行うことを推奨します。

Azure Application Gateway

1. 使用していないアプリケーションゲートウェイ

優先度:

ベースライン:

使用していないアプリケーションゲートウェイがないか確認します。

推奨事項:

アプリケーションゲートウェイを再度追加するか、削除します。

Azure Storage Account

1. ストレージアカウントのパブリックアクセス

優先度:

ベースライン:

ストレージアカウントにパブリックアクセスがないか確認します。

推奨事項:

セキュリティ上の理由で、プライベートエンドポイントに切り換えパブリックアクセスを拒否することを推奨します。

Azure Disk

1. アタッチされていないディスク

優先度:

ベースライン:

使用していないディスクがないか確認します。

推奨事項:

アタッチされていないディスクを使用するか、削除します。

FAQ