ACS とは
ACS とは、 Azure の提供するサービスの一つで、電話、SMS、チャット、および Microsoft Teams との統合を含む音声会議やビデオ会議のコミュニケーションの機能を API と SDK として提供しています。 ただ、 ACS はバックエンドサービスのため、実際にユーザがアクセスする画面などのアプリは、 ACS を利用したサービス提供側で用意する必要があります。
ここでは ACS が提供するサービスについて概要を紹介します。
ACS の特徴
ACS は、以下のような特徴を持っています。
- API と SDK が提供されている:ACS は、REST API と SDK を提供しており、これを利用することで、音声通話、ビデオ通話、SMS 送信、チャットなどのコミュニケーション機能をアプリケーションに組み込むことができます。
- Microsoft Teams との統合が可能:ACS は、Microsoft Teams との統合が可能で、Microsoft Teams での会議に ACS の機能を組み込むことができます。
- セキュリティが強化されている:ACS は、Azure のセキュリティ機能を利用することができ、通信の暗号化やアクセス制御などのセキュリティ機能を利用することができます。
ACS の利用方法
ACS を利用するためには、以下の手順が必要です。
- Azure ポータルで ACS のリソースを作成する:Azure ポータルで ACS のリソースを作成します。
- ACS の API キーを取得する:ACS の API キーを取得します。
- API または SDK を利用して ACS の機能を利用する:ACS の API または SDK を利用して、音声通話、ビデオ通話、SMS 送信、チャットなどのコミュニケーション機能をアプリケーションに組み込みます。
以上が、ACS の概要と特徴、利用方法についての説明です。
ACS は、音声通話、ビデオ通話、SMS 送信、チャットなどのコミュニケーション機能をアプリケーションに組み込む際に便利なサービスです。
詳細な情報や API リファレンスなどは、Azure Communication Services のドキュメントを参照してください。
Email の機能について
2022 年に ACS に新たに Email の機能が追加されることが発表されました。本機能を使うことで、顧客向けの情報配信などを目的とした電子メールによるコミュニケーション機能を容易に作成することが可能になりました。
ただ、一方で ACS はメール配信の機能を一括して提供しているのではなく、メールを配信するための機能を API 経由で提供していることを誤解すると期待値はずれになる可能性があります。
Email の特徴
ACS の Email の機能には次のような特徴があります。
独自ドメインのメール配信が可能
ACS では企業が所有するドメインを利用してメールを送信することができます。これにより、受信者が不審なメールと勘違いすることを防ぐことができます。加えて、 ACS が所有するドメイン名でメールを送ることも可能です。こちらの機能は簡単に始められますが、ドメイン名が ACS で用意したランダムな文字列を含むドメイン名(例えば xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net
)のため、迷惑メールフォルダへ保存される可能性もあり、メールマガジンの本格運用での利用は推奨しません。
あくまでもマネージドなドメイン名によるメール送信は、開発中の一時的なメールアドレスとして捉えた方が良いと思います。
加えて、 ACS の Email の機能では、迷惑メールとして誤解されないようにするセキュリティの設定を追加することも可能です。
具体的には SPF (Sender Policy Framework) と DKIM (Domain Keys Identified Mail) をサポートしています。
ACS のリソース作成手順
ACS は全ての機能を 1 つのリソースで提供しています。そのため、使う機能ごとに異なるリソースを作成する必要はありません。
まず、 Azure ポータル上で Communication Services を選択し、作成 (Create) ボタンを押します。
次に、下記のようにサブスクリプション、リソースグループを選択し、さらに任意のリソース名を定義します。ここでリソース名はグローバルに一意である必要があります。
さらに、データのロケーションを選択します。 ACS はグローバルなサービスであるため、サービスのエンドポイントを特定のリージョンに設置するという考えではありません。
一方で、メタデータは存在しているため、そのメタデータが保存される地域を選択する必要があります。
ここで、注意点としては、 Email の機能で Azure マネージドなドメイン名を利用する場合、ドメイン名の情報は必ず United States に保存されます。このドメインオブジェクトと ACS のメタデータの保存先は必ず同じ地域に存在する必要があります。
そのため、 Azure マネージドなドメイン名を利用する可能性がある場合は、必ず United States を選択しておいてください。
Azure マネージドなドメインを利用したメール送信
次に Azure マネージドなドメイン名を作成します。先ほど作成した ACS のリソースにアクセスし、左のメニューリストのうち「Email」に分類されている「Try Email」を選択します。
次に表示された画面で、「Select email from」のリストボックスを選択すると次のように 2 つのメニューが表示されるため、下の「Set up free Azure subdomain」を選択します。
そして表示される入力フォームで、サブスクリプションとリソースグループの選択、サブドメインオブジェクトと保存先を入力して、「Create+Activate」ボタンを押します。
このとき、サブドメインオブジェクト名はグローバルで一意である必要があります。また、データの場所については、現時点では United States しか選択することができません。
ここで、 ACS 自体のリソースの場所とサブドメインのデータの場所が異なる場合、エラーが発生しますので注意してください。
作成完了後、作成したリソースを選択して、テストメールを送信します。
実際に受信したメールは下記のように通常と同じメールです。
独自ドメインを利用したメール送信
次に独自ドメインを利用したメールの送信までの手順を紹介します。まず、アクセス先として、今までは ACS のどのサービスも一覧可能な ACS のポータルにアクセスしていましたが、今回は Email Communication Service という Email に特化したメニューが表示される画面に移動します。
Azure ポータル上で「Email Communication Service」と検索して出てきた項目を選択します。次に先ほど作成したリソースがリストされるので、そこにアクセスすると次のような画面が表示されます。
次にこの画面の下の方にある「Setup a Custom Domain」の「Setup」ボタンを押します。
次に表示された画面で、利用したいカスタムドメイン名を 2 回入力し、「Confirm」ボタンを押します。
次にサブドメインを検証します。登録完了後に表示される画面にある「Verify domain」ボタンを押すと次のようにドメイン名を検証するための TXT 情報が表示されます。
これをドメイン名を管理している DNS 側の設定に追加します。
検証の状況については、「Settings」メニューの中にある「Provision Domains」に設定したドメインが確認でき、かつ、「Domain Status」が「Verified」になっていることが確認できれば、検証が完了できていることになります。
次に SPF など、サブドメインを信頼してもらえるための設定を行なっていきます。
どの設定も基本的には DNS に設定を追加するのみです。 SPF については TXT レコードの値を追加し、 DKIM と DKIM2 についてはそれぞれ異なる CNAME を追加することで設定が完了します。
これらの検証には数分から最大 20 分程度の時間がかかるようです。検証が完了すると、次に示すようにリストのそれぞれのステータスが「Verified」に変わります。