自己紹介
初めまして。今回エンジニアブログを担当させて頂く、
中途入社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のサービスが異なります。
やりたいこと
本日、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」ボタンをクリックします。
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. ユーザー名とパスワード情報を記入して作成できます。
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にログイン後、右上にある歯車をクリックします。
3-4. 表示された画面の左側にある 「Email rules」メニューをクリック、「New」をクリックして、
新しいルールを作成します。
3-5. 設定画面では、Conditionsセクションで転送したいメールの条件を選択して、
Actionsには「Forward the message to 」を選択します。下の「Add」ボタンをクリックして、
転送したいメンバーやパートナーのメールアドすれを入力して、「OK」をクリックして保存します。
最後に
上記の設定で、WorkMailに届いたメールを、通知したいメンバーに転送することが可能となり、
メールに関する問題、悩みの解決ができるのではと考えております。
本ブログを通して、皆様に活用される際の参考にしていただけると嬉しいです。
最後までご覧いただき、ありがとうございました。