3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【OCI クラウド移行ガイド】AWS SESからOCI EmailDeliveryの移行/検証メール配信試してみた~メール配信編~

Last updated at Posted at 2023-10-21

OCIクラウド移行ガイドとは

オンプレミスやAWSなど、複数のプラットフォームからOracle Cloud Infrastructureへの移行プロジェクトに取り組んでいるクラウドエンジニア(@araidon,@kazunishi,@yama6)による、OCI移行手順をまとめたシリーズ記事です。
各回、サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。

まとめ記事は以下になります。

移行したいサンプルワークロード

日々の業務でよく目にするサービスを中心に、サンプルワークロードとしてまとめてみました。このシリーズでは、主にAWSからの移行を取り上げます。
このワークロードは、ユーザがログインして、Web上で写真を共有するWebサービスをイメージしています。

image.png

移行するサービス:AWS SES

メール配信サービスは様々なSaaSも世に広く出回っておりますが、コスト削減やカスタマイズ性や自社内運用という観点でパブリッククラウド上からメール配信するケースも少なくないと思います。
今回はそういった想定からメール配信サービスについて調査してみました。
タイトルはAWS SESからOCI EmailDeliveryの移行となっていますが、基本的にはOCI EmailDeliveryを主軸/紹介記事としてしていることご容赦ください。

今回はDKIMやSPFまで利用したり、独自ドメインを利用した検証を行いませんがこういったサービスの利用利点としては各プロバイダは、メールを転送する際に送信者と実際のメール送信元が正しいかを、DKIMやSPF等といった認証技術で認証する必要がありますが、業界標準技術を持っているのでオンプレミスで認証に関する設定を担ってくれる部分かなと思います。
また送信送達数や不到達数などのモニタリングができることもメリットだと思われます。
社内システムで簡単にメール配信をしたいなどのニーズを持つ方の一助になれば幸いです。

作業流れ

①AWS SESの利用検証
②OCI EmailDeliveryの利用検証
 ②-1 アプリケーション構成について
 ②-2 権限設定について
 ②-3 ユーザにSMTP資格証明の付与
 ②-4 Email Deliveryの設定
 ②-5 mailxサーバの構築
 ②-6 テストメールの送信

①AWS SESの検証

AWS SESにアクセスし、各種設定を実施します。
今回はあくまでも検証という形で、サンドボックス内で筆者の固定アドレスにのみテストメールを配信してみるというところだけ実施してみます。
(実際に他アドレスにも送付するとなるとAWS側に"本稼働アクセスのリクエスト"が必要になりますが、どうやら概ね1営業日ほどあれば解除いただけるようです。こういった対応が早いのはいいところですね。)

 任意のメールアドレスと送信ドメインを入力します
 今回は自身のプライベートのメールアドレスを入力しておきました
image.png

image.png

 入力に間違いがなければGet Startedをクリックします
image.png

画面が遷移し、東京リージョンのサンドボックス環境で構築されたことを確認できます
サンドボックス環境は送信数や送信レートの上限があり、登録したアドレスしか送信できないとのことです
今回はあくまでも操作感やメール配信の検証なので、"テストEメールの送信"をクリックします
image.png

以下内容でテストメールを送信します
 Eメール設定:フォーマット済み
 From-address:設定済みの任意Eメールアドレス
 シナリオ:カスタム
 カスタム受信者:設定済みの任意Eメールアドレス
 件名:任意
 本文:任意
 設定セット:my-first-configuration-set(デフォルト)

image.png

自分のメールボックスを確認してみると問題なく配信されることが確認できました。
image.png

②OCI EmailDeliveryの利用検証

②-1 アプリケーションの構成について

Email Deliveryサービスを介して電子メールを送信できるようにするためには、Oracle Cloud上でアプリケーションを構成する必要があります。
公式Documentには以下の記載がありましたので、今回は簡単にMailxを利用した電子メール配信検証をしたいと思います。

 Oracle Application Expressと電子メール配信の統合
 Postfixと電子メール配信の統合
 Oracle Enterprise Managerと電子メール配信の統合
 Mailxと電子メール配信の統合
 MailKitと電子メール配信の統合
 Swaksと電子メール配信の統合
 JavaMailと電子メール配信の統合
 Sendmailと電子メール配信の統合
 PeopleSoftと電子メール配信の統合
 Pythonと電子メール配信の統合

②-2 権限設定について

EmailDeliveryを利用するには適切な権限が必要です
「アイデンティティ>ドメイン>Defaultドメイン>グループ」にアクセスし、グループを作成します
 名前:任意
 説明:任意
 グループに割り当てるユーザを選択します

image.png

先ほど作成したグループに対し、ポリシー作成します
 名前:任意
 説明:任意
 コンパートメント:任意
 ポリシー・ユース・ケース:電子メールの管理
 共通ポリシーテンプレート:電子メール管理者がSMTP資格証明、電子メール配信リソース及びロギングを管理できるようにします

image.png

②-3 ユーザにSMTP資格証明の付与

OCI Webコンソールの右上のアイコンから"自分のプロファイル"を選択します
SMTP資格証明にアクセスし、資格証明の生成をクリックします
image.png

説明:任意コメント
image.png

パスワードはこのポップアップ画面でしか確認できないため、エディタ等にメモしておきます。
image.png

②-4 Email Deliveryの設定

OCI Webコンソールから「開発者サービス>>電子メール配信」でEmail Deliveryにアクセスします

承認済送信者の作成を実施します。
任意のメールアドレスを入力します。
image.png

image.png

後の作業のためにパブリック・エンドポイントを確認しておきます
image.png

②-5 mailxサーバの構築

mailxのインストール

sudo yum install mailx

/etc/mail.rc にあるファイルを追記

sudo vi /etc/mail.rc	
	#smtp config
	   set nss-config-dir=/etc/pki/nssdb/
	   set smtp-use-starttls
	   set smtp-auth=plain
	   set smtp=<SMTPエンドポイント>:587
	   set from=<承認済送信者>
	   set smtp-auth-user=<SMTP送信用のユーザー名(ユーザーOCID)>
	   set smtp-auth-password=<SMTPパスワード> 

②-6 テストメールの送信

echo "Malixを使用したメール送信" | mailx -s "テストメール" <送信先のメールアドレス>

自分のメールボックスを確認してみると問題なく配信されることが確認できました。
image.png

最後に

今回は簡単にAWS SESとOCI EmailDeliveryについて試してみました。
使用感を試すことを主としたため、実際の本番運用では必須となるであろうDKIMやSPF、独自ドメインを利用した検証をしなかったためではありますが、非常に簡単ではありました。
こういったPaaSをあまり深堀する機会はなかったのでいい勉強になりました。
引き続き、他のサービスについても記事を投稿していきたいと思います。

参考

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?