2022年1月26日水曜日

Microsoft 365のメール自動転送失敗?への対応  | ライタス株式会社

遅ればせながら、明けましておめでとうございます。

弊社ブログには初登場となります、藤田です。

昨年から引きつづき、弊社主軸事業である医療向けIT関連で忙しくさせて頂いております社内ですが、

弊社クライアント様から、メールアドレスの内1つにて、
数か月前から受信できていない、また受信しても内容が閲覧不可の状態である旨のご連絡がありまして…

このメールアドレスが含まれているグループメールにて、確かにメールが返ってきてしまっていることを確認しました。

「Delivery has failed to these recipients or groups: xxx @ xxx .jp」
「Your message wasn't delivered because the recipient's email provider rejected it.」


メールのソースを確認し、Microsoft 365のメール自動転送で失敗しているのではないかとあたりをつけ、
今回、対応方法を検索して実行してみました。


【対応内容】
Microsoft 365にて、外部へのメール自動転送を許可する設定(outbound spam filtering)を作成します。


まず、
Microsoft 365 管理センター > すべての管理センター > セキュリティ 
と選択し、Microsoft 365 Defender のホーム画面を開きます。

次に、 ポリシーとルール > 脅威ポリシー > スパム対策ポリシー  
と選択すると、以下の画面表示になりました。
 ※一番上の「自動転送許可」が今回設定したものです。

「ポリシーを作成」をクリックし、Outboundを選択すると、

ポリシーの設定画面が開くので設定を作成します。 今回名前は「自動転送許可」としました。

ユーザー、グループ、およびドメイン の画面では、ユーザーとドメインを追加。
送信の保護設定では、 [メッセージの上限に達したユーザーに適用される制限] を 処理なし、アラートのみ に変更しました。


ページを進み、内容をレビュー画面で確認し、作成!

しばらく待つと、設定が反映されました。


試しに該当メールアドレスが含まれているグループメールにてメール送信してみます…

失敗・・・

時間をおいてもエラーメールが返ってきてしまいます。

<< 対応続く >>














2022年1月21日金曜日

Surface Pro 8 使用感レビュー | ライタス株式会社

こんにちは。ライタスお手伝いの青井です。最近は代表箕谷さんのいろんなお手伝いをするため出現しております。これからちょくちょく出現するのでよろしくお願いします。

 

さて、ライタスにいる人は皆Surfaceで仕事をしており、偶然ですが私もSurfaceを使ってお仕事をしております。

そんな中、先日長年使っていたSurface Pro4のバッテリーが逝ってしまい使えなくなってしまいました。

 

思い切って、発売したばかりのSurface Pro 8にリプレースしてみましたので、せっかくなので製品レビューをしてみました。

 

大きくなったSurface Pro8 重量もアップ

Surface Pro8はおっきくなって重くなりました。。。比べてみるとよくわかります。



Surface Pro 8は、タイプカバーを付けていなくても、 891gの質量があります。Surface Pro 7i3i5: 775gi7790gなので100g以上重くなっています。もうタブレット単体としては重いです。片手で持ちながら~って用途には適していません。まぁもともとsurfaceがそのような使い方をしている人も少ないかもしれませんが。。。

ただ、Surface本体+タイプカバー+ペンの合計質量は1187gと、モバイルノートPCとしては一般的な質量となっています。カバンの中に入れて持ち運ぶ分には、問題ありません。軽いPCをご希望の場合はThinkPad X1 Carbonとの比較検討になるかと思います

 

ディスプレイが13インチに 外部接続の仕様変更に注意

ただ、ちょっと大きくなった分ディスプレイも12.3インチから13インチと若干大きくなりました。画面比も3:22880×1920ドット)なので使いやすいです。

それとハードウェア仕様が大きく変わり、DisplayPortUSB-AmicroSDカードスロットも廃止となりました。

  


   

右側には移動してきた電源ボタンと、USB-Cコネクタ二つとSurface connectの端子があり右側にはイヤホン端子と移動してきた電源ボタンがあります。

 これはUSB-Cが台頭してきた象徴ですね。USB-Cがあれば十分になってきたのも事実なので、反対意見も多いとは思いますが、私は良いアップデートと思っております。(DisplayPortからの変換ケーブルすべてが無駄になったのは悲しいですが。。。) 

いやいや、USB-A使うよ!って人はSurface USB-C Travel Hubで変換するといいと思います。Travel HubUSB-CUSB-Aだけではなく、HDMIVGAにも変換できますしLANコネクタもついてきます。便利なので一緒に買うといいと思います。

たまにキャンペーンで一緒に買うと安くなることがあります。ただ、私はAmazonでポチりました。

https://www.amazon.co.jp/dp/B088CK5F66/

 

本体M.2 SSDが交換可能に 

microSDカードスロットはなくなってしまいましたが、本体SSDが交換可能になりました。容量足りなくなったら変えるのもありです。まぁクラウドにデータ置いちゃえばそんなに容量もいらないと思います。

交換しちゃうと保証がNGになってしまいますので、要注意です。


PC Watch - 「Surface Pro 8」購入記。SSDを換装してお手頃価格で1TBを実現

 https://pc.watch.impress.co.jp/docs/column/kaimono/1374217.html

 

タイプカバーの仕様変更に注意 

一番大きな変更点としてはキーボードカバーの端子変更です。そのためPro7まで使えたキーボードが使えなくなりました。買いなおしです。


左が新しいキーボード、右がPro7までのキーボードです。端子ががっつり変わっております。

 

それぞれをアップにしてみるとこんな感じです。

 



  

Surfaceのキーボードカバーはコバルトブルーを使っていて、結構気に入っていましたのでこれは地味にショックでした。そのため、現在のラインナップで近いと思ったアイスブルーを購入してみました。思ったより淡い色で個人的にはちょっと残念。。。また、車輪を見てもわかる通りペンが収納で切るようになりました。しかも、ここに置くとペンの充電できるのはありがたいですね!以前は画面の横に磁石でくっつくタイプで、よく落としていました。今度は落ちることはないので良いアップデートだと思います!ペン使わないけど。。。

 

充電は電力(ワット数)変更

充電は相変わらずSurface Connectポートで変更なしです。また、USB-C充電も可能です。ただ、ワット数が変更になっていて、変圧器に仕様変更があった模様です。



Pro 4は44Wだったんで、Anker Nano II 65WSisyphy Surface PDを使って充電していました。Pro 8に変更してから、どうやら電圧が65Wになっているらしく、給電するときに低速警告メッセージが発生するようになりました。


今はUSB-C直で充電しています。電圧落ちないConnectポート変換ケーブルあったら教えてもらえると嬉しいです。

Anker Nano II 65Wは、USB-PD電源として軽くて小さくて、お勧めです。

https://www.amazon.co.jp/dp/B08X11GD52


総論:(重量が)重くなるけど、それ以外は満足(慣れ?)

仕事の都合上、Surface Pro 4(壊れたのと別のマシン)と同時使用しておりますが、持ち心地は旧マシンのほうがよかった気がします。便利になると大きくなるのは仕方ないのかな。。。これは頑張って慣れていきます。

 

といった感じで思ったことをつらつら書いていきました。気が向いたらWindows10からWindows11に変わったことで良かったこと、悪かったことも書いていこうかと思います。気が向いたらですが。。。

 

ライタス株式会社では今回ご紹介したSurface Pro 8はもちろんのこと、様々なIT機器の購入から導入まで承っております。新たにIT機器及びシステムを導入したいといったことがあれば、お気軽にお問い合わせフォームまたは担当者までご連絡ください。

 


2022年1月17日月曜日

SQL 文から ER 図を自動生成してくれる SchemaSpy を docker-compose でやってみた | ライタス株式会社

お世話になります。 田所です。

弊社は開発をすることは基本はないのですが、データベース周りを扱うことはよくあります。

最近、こんな連絡がありました。

DB設計をしてみたのでテーブル内容、リレーション等不備がないか確認をお願いします。 添付ファイル: DB.sql

添付の中を確認しますと、、

CREATE TABLE product (
    category INT NOT NULL, id INT NOT NULL,
    price DECIMAL,
    PRIMARY KEY(category, id)
)   ENGINE=INNODB;

......
...........続く

なるほど、わからん。

SQL文だけではさすがにしんどいですよね。

なのでSQL文からER図を作成してくれるSchemaspyを使ってみました。

どうやらSchemaspyはJavaベースで動いて、MYSQL等のデータベースへアクセスして情報を取得し、最終的なレポートを静的なHTMLで生成してくれるものみたいですね。

手順として以下のような感じになります。

  1. JavaとMySQLをインストール
  2. MySQLにSQL文をマイグレート
  3. Schemaspyを実行

うーん、、、なかなか面倒そうだし、ってことなので使い回しも考えてDocker化しちゃいます!

参考記事

構成

  • 構成図

  • ファイル構成
SchemaSpy/
├── README.md
├── Dockerfile
├── docker-compose.yml
├── mysql
│   └── table.sql   // xxxx.sql と拡張子がsqlになっているSQL文のファイルを配置する
└── output   // このフォルダにHTML,CSS,JSが生成される

Dockerイメージにはschemaspy/schemaspy:snapshotのイメージがあるので使いました。

しかし実行の際にmysql-connector-javaのバージョンが低いため失敗するので新しいmysql-connector-javaを入れています。

参考記事: Docker でサクッと MySQL 8 から ER 図を作成する

Dockerfile

FROM schemaspy/schemaspy:snapshot
USER root
RUN apk update && \
    apk add mysql-client && \
    mkdir -p drivers && \
    apk add --update openssl && \
    wget -P /tmp https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.16.tar.gz && \
    tar xvzf /tmp/mysql-connector-java-8.0.16.tar.gz -C /tmp && \
    cp /tmp/mysql-connector-java-8.0.16/mysql-connector-java-8.0.16.jar /drivers/. && \
    rm -rf /tmp/mysql-connector-java-8.0.16*

docker-composeは若干の工夫が必要で、 先にschemaspyコンテナが起動するとMySQLへの接続エラーとなるため、 MySQLが正常に接続できるようになるのを確認したらschemaspyコンテナを起動させます。

そのためMySQLコンテナにヘルスチェック項目を、 schemaspyコンテナにはdepends_onでcondition: service_health、 とすることでMySQLのヘルスチェックが成功した後、schemaspyコンテナを起動します。

MySQLコンテナの公式/docker-entrypoint-initdb.dに.sqlファイルを配置したらこれらをインポートすると書いてあるのでこれを利用してマウントさせています。

docker-compose.yml

version: "2"
services:
  db:
    image: mysql:8
    container_name: "mysql"
    volumes:
      - ./mysql:/docker-entrypoint-initdb.d
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=SCHEMASPY_DATABASE
    ports:
      - 3306:3306
    healthcheck:
      test: mysqladmin ping -h 127.0.0.1 -u root -proot || exit 1
  schemaspy:
    build:
      context: .
    container_name: "schemaspy"
    environment:
      - MYSQL_ROOT_PASSWORD=root
    volumes:
      - ./output:/output
    depends_on:
      db:
        condition: service_healthy
    command: -t mysql -host db:3306 -db SCHEMASPY_DATABASE -u root -p root -s SCHEMASPY_DATABASE

実行

1. mysql フォルダに拡張子が.sql の SQL ファイルを配置する

今回はサンプルとしてMySQL 公式の SQL 文をtable.sqlという名前で配置しています。

SQL文にはCREATE DATABASEの記載はせずCREATE TABLEのみ記載してください。

2. コマンド実行: docker-compose build

mysql-connector-java-8.0.16.tar.gzがリンクぎれになってエラーになった場合は最新のものを取得してください。

参考: https://www.mysql.com/jp/products/connector/

3. コマンド実行: docker-compose up

まずMySQLが立ち上がります。

xxxx@DESKTOP-xxxxx:~/schemaspy$ docker-compose up
[+] Running 2/2
 ⠿ Container mysql      Created                                                                                                                                                                                                         0.1s
 ⠿ Container schemaspy  Created                                                                                                                                                                                                         0.1s
Attaching to mysql, schemaspy
mysql      | 2022-01-14 10:29:42+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
mysql      | 2022-01-14 10:29:42+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql      | 2022-01-14 10:29:42+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
mysql      | 2022-01-14 10:29:43+00:00 [Note] [Entrypoint]: Initializing database files
......
........続く
mysql      | 2022-01-14T10:30:00.672640Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
mysql      | 2022-01-14T10:30:00.672703Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.27'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

準備ができ、そのまま少し待つとSchemaSpyが起動します。

schemaspy  | Using drivers:mysql-connector-java-8.0.16.jar
schemaspy  |   ____       _                          ____
schemaspy  |  / ___|  ___| |__   ___ _ __ ___   __ _/ ___| _ __  _   _
schemaspy  |  \___ \ / __| '_ \ / _ \ '_ ` _ \ / _` \___ \| '_ \| | | |
schemaspy  |   ___) | (__| | | |  __/ | | | | | (_| |___) | |_) | |_| |
schemaspy  |  |____/ \___|_| |_|\___|_| |_| |_|\__,_|____/| .__/ \__, |
schemaspy  |                                              |_|    |___/
schemaspy  |
schemaspy  |                                               6.1.1-SNAPSHOT
schemaspy  |
schemaspy  | SchemaSpy generates an HTML representation of a database schema's relationships.
schemaspy  | SchemaSpy comes with ABSOLUTELY NO WARRANTY.
schemaspy  | SchemaSpy is free software and can be redistributed under the conditions of LGPL version 3 or later.
schemaspy  | http://www.gnu.org/licenses/
schemaspy  |
schemaspy  | INFO  - Starting Main v6.1.1-SNAPSHOT on 28ae269f727b with PID 1 (/usr/local/lib/schemaspy/schemaspy-6.1.1-SNAPSHOT.jar started by root in /)
schemaspy  | INFO  - The following profiles are active: default
schemaspy  | INFO  - Started Main in 1.523 seconds (JVM running for 2.257)
schemaspy  | INFO  - Starting schema analysis
mysql      | mbind: Operation not permitted
...................
schemaspy exited with code 0

無事終了したら Ctrl + C でコンテナを終了させます。

^CGracefully stopping... (press Ctrl+C again to force)
[+] Running 2/2
 ⠿ Container schemaspy  Stopped                                                                                                                                                                                                         3.1s
 ⠿ Container mysql      Stopped                                                                                                                                                                                                         2.0s
canceled

4. output フォルダに HTML,CSS,JS が生成される

ホスト側のoutputフォルダにファイルが生成されています!

この中にあるIndex.htmlファイルを開きます。

問題なくみれました!

上にある「Relationships」をからER図を確認してみます。

いい感じにER図作らています!

今回のソースはGitHubにも上げています。

使いまわしが効くので便利です!


ご参考までに!

https://github.com/tadokoroshoma/schemaspy_docker_compose