エンジニアBLOG

2024/12/20

Amazon WorkMailの活用について

自己紹介

初めまして。今回エンジニアブログを担当させて頂く、
中途入社4年目になるロと申します。
当社に入社する前は社内SEとして、システムの運用保守等を経験してきました。
現在は某システムのサーバの監視、保守、改善、CICDの保守運用、問い合わせ対応、
トラブルシューティングなどを担当しています。

CI/CDは、何か特定の技術を指すものではなく、ソフトウェアの変更を常にテストし、
自動で本番環境に適用できるような状態にしておくことです。今回は、CICD運用・改善、
ビルド/デプロイを効率化した経験から、Amazon WorkMailの活用方法について記載したいと思います。

Amazon WorkMailの活用

現在どの業界においても、メールは日々のビジネス活動において、クリティカルな要素となっているが、
それに伴って、メールサーバーの構築や運用など稼働が多くなります。
現在の私の業務の一環として、CICD運用・改善を行っております。
業務改善の一環で監視通信をメンバーに届けたいと思い、AmazonWorkMailの活用することにしました。

Amazon WorkMailの活用するにあたり、社内ルールとしてメーリングリストを作成することになるのですが、
メーリングリストの禁止事項に「システムからの自動受信」が含まれている。

Jenkinsなど一つのドメインだけ設定できるシステムでは、パートナーにも通知を届けたいという
ニーズもあります。このようにメールに関する問題や悩みは少なくありません。

しかし、AWSのAmazon WorkMailサービスを活用して、上記の問題を簡単に解決できます。
※東京・大阪リージョンにはAmazon WorkMailサービスを提供しておりません。(2024/12/1時点)
・リージョンとはAWSのクラウドサービスを提供しているデータセンターの所在地のこと。
・日本では、東京と大阪にリージョンを開設しています。
・世界中にあるリージョンごとに、利用できるAWSのサービスが異なります。

image

やりたいこと

本日、Jenkinsの実行結果をパートナー含めてメンバーに通知することを例に、
Amazon WorkMailサービスの使用方法について説明したいと思います。

①Jenkinsの実行結果をWorkMailのメールで通知する。
②WorkMailに届いたメールを、通知したいメンバーに転送する。

構築
上記の機能を実現するために、次の手順を実施する必要があります。

1.WorkMailにメールアドレスを作成する。
2.JenkinsにWorkMailのメールアドレスを登録する。
3.WorkMailで受信したメールをメンバーに転送するよう設定する。

WorkMailにメールアドレスを作成する

WorkMailにメールアドレスの作成のため、以下の3つのステップを実行します。
1-1.Organizationの作成
- WorkMailの管理コンソール画面にアクセスします。
- 「Create organization」ボタンをクリックします。すると、Organizationの作成プロセスが開始されます。
- 既存のホスト名ゾーンを選択します。
- Aliasフィールドに、わかりやすい情報を入力します。
- 他の設定はデフォルトのままにして、「Create organization」ボタンをクリックします。

image

1-2.ドメインの設定

1-2-1. Domainsを開くと、Route 53にホストゾーンとAWSのテスト用の2つのドメインが
   用意されていますが、Route 53のホストゾーンをデフォルトドメインとして使用することが
   推奨されます。

1-2-2. Organizationの作成時にRoute 53のホストゾーンが存在すれば、最初の設定は自動的に行われます。
   ほとんどの項目が「Verified」状態になっているはずです。

1-2-3. SESについては、画面下部のSESへのリンクからアクセスし、設定を進めることができます。
   レコードについては、画面右上の「Copy all」ボタンをクリックして、レコードを登録するための
   ゾーン情報をクリップボードにコピーできます。

1-2-4. 先ほどの画面の下部にあるリンクをクリックすると、SESの設定画面に移動します。
   「カスタムMAIL FROM」の編集ボタンをクリックして設定を行います。

1-2-5. MAIL FROMドメインは以下のように記入し、他の設定はデフォルトのままにします。
   その後、変更を保存します。
   - ※MAIL FROMについて:具体的には、メールの送信者とは別に、どのサーバーから
     メールのデータが送信されたかを示すアドレスのことです。

1-2-6. ここではRoute 53を使用しているため、「DNSレコードをRoute 53へ発行」ボタンを
   クリックしてレコードを自動的に作成できます。

1-2-7. Route 53で、今回利用予定のホストゾーンに移動し、「ゾーンファイルをインポート」ボタンを
   クリックして設定を行います。
  - 先ほどWorkMailのページでコピーしたゾーン情報を貼り付けます。
    すべてのレコードの情報が含まれているため、今回設定されていなかった2つ以外のレコードは
    削除してインポートします。

1-3.ユーザーの作成
1-3-1. WorkMailのユーザー管理コンソール画面で「Create User」 を押します。
1-3-2. ユーザー名とパスワード情報を記入して作成できます。

image

JenkinsにWorkMailのメールアドレスの登録

2-1. Jenkinsの画面で、「Jenkinsの管理」→「システムの設定」にアクセスします。

2-2. システムの設定画面で、「E-mail 通知」に移動し、「高度な設定」をクリックします。

2-3 WorkMailのメールサーバー情報など以下の内容を記入して、保存します。
  ○ SMTPサーバー:smtp.mail..awsapps.com 
   例:smtp.mail.us-west-2.awsapps.com
○ Use SMTP Authentication:チェックボックスにチェック入れ
○ ユーザー名:1-3.ユーザの作成で作成したユーザー名
○ パスワード:1-3.ユーザの作成で作成したパスワード
○ SSL:チェックボックスにチェック入れ
○ SMTPポート:465
○ 文字セット:UTF-8
※Jenkinsパイプラインの設定については、割愛します。

WorkMailのメールをメンバーに転送する設定

3-1. WorkMailのマネージメントコンソール画面で作成したOrganizationsをクリックして、
  User loginセクションで「Amazon WorkMail web application」のURLをクリックします。

3-2. WorkMailのログイン画面にアクセスして、作成したユーザーでログインします。

3-3. WorkMailにログイン後、右上にある歯車をクリックします。

image

3-4. 表示された画面の左側にある 「Email rules」メニューをクリック、「New」をクリックして、
  新しいルールを作成します。

image

3-5. 設定画面では、Conditionsセクションで転送したいメールの条件を選択して、
  Actionsには「Forward the message to 」を選択します。下の「Add」ボタンをクリックして、
  転送したいメンバーやパートナーのメールアドすれを入力して、「OK」をクリックして保存します。

image

最後に

上記の設定で、WorkMailに届いたメールを、通知したいメンバーに転送することが可能となり、
メールに関する問題、悩みの解決ができるのではと考えております。

本ブログを通して、皆様に活用される際の参考にしていただけると嬉しいです。
最後までご覧いただき、ありがとうございました。

image