カテゴリー: サーバー管理

  • AWS Amazon SESの送信制限緩和

     Amazon SESでは初期状態だと以下の制限がある。

    • 事前に登録したメールアドレス以外へ送れない
    • 24時間で200通しか送れない
    • 1秒間に1通しか送れない

     送信先に制限があると内部利用でしか使えないため、この制限を緩和する。

     まず、厳しく言われているバウンスや苦情を処理するためにAmazon SNSを使って素早く処理できるように設定しておく。

    https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/configure-sns-notifications.html

     IAMユーザーを作成する

    • Amazon IAMコンソールを開く
    • 左ペインのユーザーを選び、ユーザーの追加ボタンを押す
      • ユーザー名:AmazonSNSAdmin
      • AWS アクセスの種類を選択:
        • プログラムによるアクセス:On
        • AWS マネジメントコンソールへのアクセス:On
        • コンソールのパスワード:自動生成パスワード
    • 次のステップボタンを押す
    • 既存のポリシーを直接アタッチを選ぶ
      • AmazonSNSFullAccess を選択する
    • 次のステップボタンを押す
    • 次のステップボタンを押す
    • 作成されたIAMユーザー情報をメモしておく

     バウンスをメールで受け取れるように設定する。

    • Amazon SESコンソールを開く
    • 左ペインのIdentity Managementで、Domainを選択する
    • Notificasionsを開き、Edit Configurationボタンを押す
    • Click here to create a new Amazon SNS topic.を押し、SNSTopicと入力して、Create Topicボタンを押す
    • Bauncesの右のNo SNS topicを開き、上で入力したSNSTopicを選ぶ
    • Include original headersをチェックする
    • Email Feedback ForwardingをEnableにする
    • Save Configボタンを押す

     サンドボックス外への移動

    • Amazon SESコンソールを開く
    • 左ペインのSending Statisticsを選ぶ
    • Your Amazon SES account has “sandbox” access in region xxx と枠が表示されている。右ペインの Request a Sending Limit Increase ボタンを押す
    • サポートダッシュボード画面が開くので入力していく
      • Case details
        • Limit type:SES 送信制限 <-最初から選択されている
        • メールの種類:その他
        • ウェブサイトの URL:https://www.sample.com/
        • あなたのメールを明確にリクエストした受信者のみに送信する方法を詳しく説明してください:
          • 事前に、またはWeb上で依頼されたメールアドレスのみにメールを送信します
        • バウンス通知、および苦情通知を受け取った場合に従うプロセスを詳しく説明してください
          • メールアドレスのNotificationsに、Bounce Notifications SNSを指定し、バウンスが発生した通知が来た場合は即座に解消に努めます
        • AWS サービス条件 と AUP を順守しますか? -:はい
      • Request 1
        • リージョン:Asia Pasific (Tokyo)
        • Limit:希望する一日あたりの送信クォータ
        • New limit value:1000
      • Use case description
        • Lightsail上のWindows Server 2016でWordpressを稼働させ、ブログを開設する。
        • 趣味のクラブ(30人程度)でメンバー間の情報共有、メーリングリストの運営を行う。
        • 年に1回行っているイベント(50人程度)の告知、参加受付を行う。
      • Contact Optionsを開く
        • Preferred contact language:日本語
    • Submitボタンを押して送信する。

     約8時間後に、RE:[CASE xxx] Limit Increase: SES 送信制限という件名の日本語メールが届き、以下の制限に変更された。

    このたびは、送信制限の引き上げ申請をご送信いただき、ありがとうございます。新たな送信クォータは、1 日あたり 50,000 メッセージとなります。新たな最大送信レートは、毎秒 14 メッセージです。また、お客様のアカウントを Amazon SES サンドボックスから移動いたしました。

  • AWS Amazon SESの利用

     稼働するドメインを追加して、メールを利用しようとしたところ、逆引きDNSは1IPアドレスにつき一つしか設定できなくて、満足な認証がされない。

     そこで、Amazon SESを利用することにした。DKIMも使えるし、十分信頼されそうだ。

     まずは、Amazon SESの利用を開始する。初期状態では、以下の送信制限がある。

    • 事前に登録したメールアドレス以外へ送れない
    • 1日に200通しか送れない
    • 1秒に1通しか送れない

     Amazon SESの利用を開始する。 

    https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/Welcome.html

    • Amazon SESコンソールを開く
    • Manage Identitiesの+をクリックする
    • Domainsページが開かれているので、Verify a New Domainをクリックする
    • ドメイン名を入力、Generate DKIM Settings をオンにしておく
    • Verify This Domainボタンを押す
    • 表示された情報をDNSに追加する
      • _amazonses.sample.com TXT xxxxxxx
      • xxx1._domainkey.sample.com CNAME xxx1.dkim.amazonses.com
      • xxx2._domainkey.sample.com CNAME xxx2.dkim.amazonses.com
      • xxx3._domainkey.sample.com CNAME xxx3.dkim.amazonses.com
      • sample.com MX 10 inbound-smtp.us-east-1.amazonaws.com
    • 最後のMXレコードはS3バケット経由でメールを受信する場合に使用する。
    • 検証が完了すると、DKIM setup SUCCESS for ドメイン という件名のメールがAWSアカウントに届く。

     外部のメールアドレスも登録しておく

    • 左ペインのEmail Addressesを選ぶ。
    • Verify a New Email Addressボタンを押す。
    • メールアドレスを入力して、Verify This Email Addressボタンを押す。
    • 入力したメールアドレスに、Amazon Web Services – Email Address Verification Request in region xxxという件名のメールが届くので、リンクを開く。

     次に、SMTP認証情報を作成する。

    • 左ペインのSMTP Settingsを選び、Create My SMTP Credentalsボタンを押す。
    • IAMユーザー名はデフォルトのses-smtp-user.xxxのままでかまわない。
    • 表示された内容をメモしておく。再度表示されないので、忘れると別のIAMユーザーを作るしかないらしい。

     WordPressのWP Mail SMTPプラグインにAmazon SESのSMTP認証情報を設定する。

    • メーラー:Other SMTP
      • Amazon SESは無料版では利用できない
    • SMTPホスト:email-smtp.ap-northeast-1.amazonaws.com
    • 暗号化:TLS
    • SMTPポート:25, 465 or 587
    • 認証:ON
    • SMTP Username:表示されたユーザー名
    • SMTP Password:表示されたパスワード

     Email TestタブでAmazon SESに登録しておいたメールアドレスに送信できれば完了。

  • WordPress 5.5への更新

     ある日、WordPressの更新があると表示されていた。

     とりあえず試験サイトで更新を行うが、PHPのタイムアウトで失敗した。

     現在のバージョンは5.4.1。サイトの構成は以下のとおり。

    サイトwwwwww2
    wordpressフォルダーC:¥xampp¥htdocs¥wordpress¥C:¥xampp¥htdocs¥wordpress¥
    アップロードフォルダーwp-content\uploadswp-content\uploads\www2
    データベース名wp-01wp-02

    PHPのタイムアウトを10分に変更してapacheを再起動。

    C:\xampp\php\php.ini
      max_execution_time=600

    ダッシュボードからwordpressを更新。

    • 約2分かかった
    • データベースの更新
    • wordpressのzipファイルのダウンロード
    • wp-content\upgradeフォルダーへの展開
    • ファイルの上書き

     テーマ及びプラグインを更新する。

     www2のダッシュボードを開くと、データベースの更新を要求されるので更新する。

     www2のテーマや、プラグインは更新されている。

    書き変えていた設定ファイルの反映。

    wordpress\wp-content\themes\twentytwenty\

    function.php
    function my_theme_widgets_init() {
      register_sidebar( array(
        'name' => 'Main Sidebar',
        'id' => 'main-sidebar',
      ) );
    }
    add_action( 'widgets_init', 'my_theme_widgets_init' );
    
      index.php
        <?php get_sidebar(); ?><!-- sidebar -->
      style.css
        /*
            h2.entry-title {
                font-size: 6.4rem;
            }
         */
    sidebar.php
    	<?php
    	if ( ! is_active_sidebar( 'main-sidebar' ) ) {
    		return;
    	}
    	?>
    
    	<div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
    	  <?php dynamic_sidebar( 'main-sidebar' ); ?>
    	</div><!-- #primary-sidebar -->

    wordpress\

      .htaccess,index.php 変更なし。サイトアドレス(URL)変更への影響はなし。
      wp-config.php 変更なし。認証用ユニークキーがあるせいだろうか。

     変更された点。

    • ブロック移動用のグリップがなくなった。
    • 段落の先頭で/を押すとブロックの種類を選べるらしいが、かな漢字変換中では効かない。
    • 編集中のブロックに青枠が表示されることがある。