自己紹介
初めまして。今回エンジニアブログを担当させて頂く、
中途入社4年目になるロと申します。
当社に入社する前は社内SEとして、システムの運用保守等を経験してきました。
現在は某システムのサーバの監視、保守、改善、CI/CDの保守運用、問合せ対応、
トラブルシューティングなどを担当しています。
「CI/CDとは、特定の技術の呼称ではなく、ソフトウェアのテストや監視を常時行い、
常に本番環境に適用できるようにしておく開発手法のことです」
今回は、CI/CD運用・改善、ビルド/デプロイを効率化した経験から、Amazon WorkMailの活用方法について
記載したいと思います。
Amazon WorkMailの活用
現在どの業界においても、メールは日々のビジネス活動において、クリティカルな要素となっていますが、
それに伴って、メールサーバーの構築や運用など稼働が多くなります。
現在の私の業務の一環として、CI/CD運用・改善を行っております。
業務改善の一環で監視通信をメンバーに届けたいと思い、Amazon WorkMailの活用することにしました。
Amazon WorkMailを活用するにあたり、社内ルールとしてメーリングリストを作成することになるのですが、
メーリングリストの禁止事項に「システムからの自動受信」が含まれています。
Jenkinsなど一つのドメインだけにしか設定できないシステムでは、お客様企業にも通知を届けたいという
ニーズが発生します。このようにメールに関する問題や悩みは少なくありません。
しかし、AWSのAmazon WorkMailサービスを活用すれば、上記の問題を簡単に解決できます。
※東京・大阪リージョンではAmazon WorkMailサービスを提供していません。(2024/12/1時点)
・リージョンとはAWSのクラウドサービスを提供しているデータセンターの所在地のことです。
・日本では、東京と大阪にリージョンを開設しています。
・世界中にあるリージョンごとに、利用できるAWSのサービスが異なります。
やりたいこと
本日、Jenkinsの実行結果をお客様企業含めてメンバーに通知することを例に、
Amazon WorkMailサービスの使用方法について説明したいと思います。
①Jenkinsの実行結果をAmazon WorkMailのメールで通知する。
②Amazon WorkMailに届いたメールを、通知したいメンバーに転送する。
構築
上記の機能を実現するために、次の手順を実施する必要があります。
1.Amazon WorkMailにメールアドレスを作成する。
2.JenkinsにAmazon WorkMailのメールアドレスを登録する。
3.Amazon WorkMailで受信したメールをメンバーに転送するよう設定する。
Amazon WorkMailにメールアドレスを作成する
Amazon WorkMailにメールアドレスを作成するため、以下の3つのステップを実行します。
1-1.Organizationの作成
- Amazon WorkMailの管理コンソール画面にアクセスします。
- 「Create rganization」ボタンをクリックします。すると、Organizationの作成プロセスが開始されます。
- 既存のホスト名ゾーンを選択します。
- Aliasフィールドに、わかりやすい情報を入力します。
- 他の設定はデフォルトのままにして、「Create organization」ボタンをクリックします。
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で、今回利用予定のホストゾーンに移動し、「ゾーンファイルをインポート」ボタンを
クリックして設定を行います。
- 先ほどAmazon WorkMailのページでコピーしたゾーン情報を貼り付けます。
すべてのレコードの情報が含まれているため、今回設定されていなかった2つ以外のレコードは
削除してインポートします。
1-3.ユーザーの作成
1-3-1. Amazon WorkMailのユーザー管理コンソール画面で「Create User」 を押します。
1-3-2. ユーザー名とパスワード情報を記入して作成できます。
JenkinsにAmazon WorkMailのメールアドレスの登録
2-1. Jenkinsの画面で、「Jenkinsの管理」→「システムの設定」にアクセスします。
2-2. システムの設定画面で、「E-mail 通知」に移動し、「高度な設定」をクリックします。
2-3 Amazon 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パイプラインの設定については、割愛します。
Amazon WorkMailのメールをメンバーに転送する設定
3-1. Amazon WorkMailのマネージメントコンソール画面で作成したOrganizationsをクリックして、
User loginセクションで「Amazon WorkMail web application」のURLをクリックします。
3-2. Amazon WorkMailのログイン画面にアクセスして、作成したユーザーでログインします。
3-3. Amazon WorkMailにログイン後、右上にある歯車をクリックします。
3-4. 表示された画面の左側にある 「Email rules」メニューをクリック、「New」をクリックして、
新しいルールを作成します。
3-5. 設定画面では、Conditionsセクションで転送したいメールの条件を選択して、
Actionsには「Forward the message to 」を選択します。下の「Add」ボタンをクリックして、
転送したいメンバーやパートナーのメールアドレスを入力して、「OK」をクリックして保存します。
最後に
上記の設定で、Amazon WorkMailに届いたメールを、通知したいメンバーに転送することが可能となり、
メールに関する問題、悩みの解決ができるのではと考えております。
本ブログを通して、皆様に活用される際の参考にしていただけると嬉しいです。
最後までご覧いただき、ありがとうございました。