Azure認定資格 WEB問題集&徹底解説

AZ-900:Microsoft Azure Fundamentals

Azure Container Instances (ACI) の概要と試験出題ポイントは?

Azureサービスの一つであるAzure Container Instances (ACI)はどんな内容なのでしょうか?また、Azure認定資格の AZ-900:Azure Fundamentals に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Azure Container Instances 徹底解説

1. サービス概要

Azure Container Instances (ACI) は、サーバーレスでコンテナを実行できるサービスです。仮想マシンやオーケストレーター (Kubernetesなど) を管理することなく、コンテナ化されたアプリケーションを迅速かつ簡単に実行できます。 Dockerコンテナイメージを直接デプロイでき、シンプルなAPI、秒単位の課金、およびオンデマンドのスケーリングを提供します。 マイクロサービス、自動化されたタスク、ビルドジョブなど、一時的なワークロードや、開発/テスト環境に適しています。

ACIは、Kubernetesなどのコンテナオーケストレーターが不要な場合に、コンテナを実行する最も簡単な方法です。

2. 主な特徴と機能

2.1 サーバーレスコンテナ実行

ACIはサーバーレスであるため、仮想マシンやインフラストラクチャを管理する必要がありません。コンテナイメージを指定するだけで、Azureがコンテナを実行するためのリソースを自動的にプロビジョニングします。

2.2 高速なデプロイ

ACIはコンテナを数秒でデプロイできます。これにより、開発者はアプリケーションの迅速なイテレーションとデプロイに集中できます。

2.3 オンデマンドスケーリング

ACIは、コンテナの需要に応じて自動的にスケールします。これにより、アプリケーションのパフォーマンスを維持しながら、コストを最適化できます。

2.4 課金

ACIは秒単位で課金されます。つまり、コンテナが実行されている時間に対してのみ料金が発生します。

2.5 コンテナグループ

複数のコンテナをグループ化して、共有ライフサイクル、リソース、ネットワークを持つことができます。これは、サイドカーパターンやアンバサダーパターンなどのシナリオに役立ちます。

2.6 ネットワーク

ACIは、Azure Virtual Networkに統合できます。これにより、ACIコンテナを他のAzureサービスやオンプレミスネットワークと安全に通信させることができます。

2.7 セキュリティ

ACIは、Azureのセキュリティ機能によって保護されています。これには、Azure Resource Manager (ARM) を使用したアクセス制御、Azure Policyによるポリシー適用、およびAzure Security Centerによる脅威検出が含まれます。

3. アーキテクチャおよび技術要素

  1. ユーザーがAzure Portal、CLI、PowerShell、またはSDKを介してコンテナグループを作成/管理。
  2. ユーザーは、デプロイするコンテナイメージ、リソース要件 (CPU、メモリ)、およびその他の構成設定を指定。
  3. Azure Container Instancesサービスが、コンテナグループを実行するためのリソースを自動的にプロビジョニング。
  4. コンテナは、Azureのセキュリティで保護されたインフラストラクチャ上で実行。
  5. コンテナは、Azure Virtual Networkに統合でき、他のAzureサービスやオンプレミスネットワークと安全に通信可能。

ACIは、Azure Resource Manager (ARM) を使用して管理され、Azureの他のサービス (Azure Monitor、Azure Key Vaultなど) と統合できます。

4. セキュリティと認証・認可

  • Azure Active Directory (Azure AD): Azure ADを使用して、ACIリソースへのアクセスを制御できます。
  • Azure Role-Based Access Control (RBAC): RBACを使用して、ACIリソースへのアクセス権限を、ロールに基づいて付与/制限できます。
  • Azure Container Registry (ACR): ACIで使用するコンテナイメージを、プライベートなACRに格納できます。
  • シークレットの管理: 環境変数やAzure Key Vaultを使用して、コンテナにシークレットを提供できます。
  • リソース制限: コンテナのCPUとメモリの使用量を制限することで、DoS攻撃から保護できます。

5. 料金形態

Azure Container Instancesは主に以下に基づく従量課金モデルです:

  • vCPUの数: コンテナに割り当てるvCPUの数に応じて課金。
  • メモリ (GB): コンテナに割り当てるメモリの量に応じて課金。
  • 実行時間: コンテナが実行されている時間に応じて課金 (秒単位)。
  • ネットワーク: 送受信されるデータ量に応じて課金。

6. よくあるアーキテクチャ・設計パターン

  • シンプルなWebアプリケーション: ACIを使用して、静的なWebサイトやAPIをホストできます。
  • マイクロサービス: ACIを使用して、個別のマイクロサービスをデプロイできます。
  • バックグラウンドタスク: ACIを使用して、バッチ処理やcronジョブなどのバックグラウンドタスクを実行できます。
  • イベントドリブンアプリケーション: Azure Event GridとACIを組み合わせて、イベントドリブンアプリケーションを構築できます。
  • CI/CDパイプライン: ACIを使用して、コンテナ化されたアプリケーションのCI/CDパイプラインを構築できます。

7. 設定・デプロイ手順(ハンズオン例)

  1. Azure Portal、CLI、またはPowerShellを使用して、リソースグループを作成。
  2. コンテナグループを作成 (コンテナイメージ、リソース要件、環境変数などを指定)。
  3. 必要に応じて、コンテナグループをAzure Virtual Networkに接続。
  4. コンテナグループを起動し、アプリケーションにアクセス。
  5. Azure Monitorを使用して、コンテナのパフォーマンスを監視。

8. 試験で問われやすいポイント

8.1 ACIの基本的な概念

  • Q: ACIとは何ですか?
    A: サーバーレスでコンテナを実行できるサービスです。
  • Q: ACIの主な利点は何ですか?
    A: インフラストラクチャ管理が不要、迅速なデプロイ、オンデマンドスケーリング、秒単位課金。

8.2 コンテナグループ

  • Q: コンテナグループとは何ですか?
    A: 複数のコンテナをグループ化して、共有ライフサイクル、リソース、ネットワークを持つものです。
  • Q: コンテナグループを使用するシナリオは何ですか?
    A: サイドカーパターンやアンバサダーパターン。

8.3 ネットワーク

  • Q: ACIをAzure Virtual Networkに統合する利点は何ですか?
    A: 他のAzureサービスやオンプレミスネットワークと安全に通信できる。

8.4 セキュリティ

  • Q: ACIリソースへのアクセスを制御する方法は何ですか?
    A: Azure Active Directory (Azure AD) と Azure Role-Based Access Control (RBAC)を使用。
  • Q: コンテナにシークレットを提供する方法は何ですか?
    A: 環境変数やAzure Key Vaultを使用。

8.5 料金

  • Q: ACIの料金はどのように計算されますか?
    A: vCPUの数、メモリ (GB)、実行時間 (秒単位)、ネットワーク使用量に基づいて計算。

8.6 ユースケース

  • Q: ACIの一般的なユースケースは何ですか?
    A: シンプルなWebアプリケーション、マイクロサービス、バックグラウンドタスク、イベントドリブンアプリケーション、CI/CDパイプライン。

8.7 ACIと他のAzureサービスの比較

  • Q: ACIとAzure Kubernetes Service (AKS) の違いは何ですか?
    A: ACIはサーバーレスでコンテナを高速に実行するのに適しており、AKSはコンテナオーケストレーションのためのより高度な機能を提供します。

8.8 その他細かな試験ポイント

  • ACIのデプロイオプション (Azure Portal、CLI、PowerShell、SDK)
  • コンテナの再起動ポリシー
  • コンテナのログの取得方法