Azure認定資格 WEB問題集&徹底解説
AZ-900:Microsoft Azure Fundamentals
Azureサービスの一つであるAzure Container Instances (ACI)はどんな内容なのでしょうか?また、Azure認定資格の AZ-900:Azure Fundamentals に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
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. アーキテクチャおよび技術要素
- ユーザーがAzure Portal、CLI、PowerShell、またはSDKを介してコンテナグループを作成/管理。
- ユーザーは、デプロイするコンテナイメージ、リソース要件 (CPU、メモリ)、およびその他の構成設定を指定。
- Azure Container Instancesサービスが、コンテナグループを実行するためのリソースを自動的にプロビジョニング。
- コンテナは、Azureのセキュリティで保護されたインフラストラクチャ上で実行。
- コンテナは、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. 設定・デプロイ手順(ハンズオン例)
- Azure Portal、CLI、またはPowerShellを使用して、リソースグループを作成。
- コンテナグループを作成 (コンテナイメージ、リソース要件、環境変数などを指定)。
- 必要に応じて、コンテナグループをAzure Virtual Networkに接続。
- コンテナグループを起動し、アプリケーションにアクセス。
- 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)
- コンテナの再起動ポリシー
- コンテナのログの取得方法