NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

NDB で MongoDB 6 をプロビジョニングしてみる。

Nutanix Database Service(NDB)で、MongoDB の DB をプロビジョニングしてみます。

NDB で管理できる DBMS には MongoDB が含まれています。しかし、NDB 2.5.3 から Out-of-the-Box のソフトウェア プロファイル(MONGODB_4.4_OOB)が廃止され、NDB Server をアップデートすると、MONGODB_4.4_OOB は自動的に削除されてしまいます。

そこで、RHEL 8 にインストールされた MongoDB 6 のソフトウェア プロファイルを作成して、そこから DB をプロビジョニングしてみます。

今回の内容です。

0. 今回の環境

Nutanix ソフトウェアのバージョンです。

  • Nutanix CE 2.0
  • NDB Server 2.5.5.1
    • ちょうど NDB 2.5.5 から、RHEL にインストールされた MongoDB 6.x がサポート対象になりました。

管理対象とする DB サーバーのバージョンです。

  • Red Hat Enterprise Linux 8.9
  • MongoDB Community Server 6.0.16
  • MongoDB Shell(mongosh)1.10.6
  • MongoDB Database Tools 100.9.5

1. 登録用 DB サーバー VM の準備(OS 環境)

1-1. DB サーバー VM の構成

NDB と連携させてある Nutanix クラスタに、DB サーバー VM として登録する仮想マシンを作成しておきます。

DB サーバー VM では、事前に下記を実施しておきます。

  • RHEL 8.9 を最小インストール
  • インストールした RHEL にサブスクリプションを Attach して、dnf でパッケージ インストール可能にしておく
  • MongoDB のインストール先として、仮想ディスクを追加しておく(今回は 10GiB)

1-2. MongoDB インストール先のファイルシステム作成

仮想マシンの追加ディスクは、/dev/sdb として認識されています。

[root@mongo-vm-01 ~]# lsblk -i
NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                             8:0    0   16G  0 disk
|-sda1                          8:1    0    1G  0 part /boot
`-sda2                          8:2    0   15G  0 part
  |-rhel_rhel89--min--01-root 253:0    0 13.4G  0 lvm  /
  `-rhel_rhel89--min--01-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb                             8:16   0   10G  0 disk
sr0                            11:0    1 1024M  0 rom

/dev/sdb に、XFS ファイルシステムを作成します。

[root@mongo-vm-01 ~]# mkfs -t xfs /dev/sdb

マウントポイントにするディレクトリを作成します。

[root@mongo-vm-01 ~]# mkdir /opt/mongodb

/etc/fstab を更新します。

[root@mongo-vm-01 ~]# echo '/dev/sdb /opt/mongodb xfs defaults 0 0' >> /etc/fstab
[root@mongo-vm-01 ~]# systemctl daemon-reload

/dev/sdb を、/opt/mongodb にマウントします。

[root@mongo-vm-01 ~]# mount /opt/mongodb

MongoDB インストール先のディスクがマウントできました。

[root@mongo-vm-01 ~]# df -h /opt/mongodb
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/sdb          10G  104M  9.9G    2% /opt/mongodb
[root@mongo-vm-01 ~]# lsblk -i
NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                             8:0    0   16G  0 disk
|-sda1                          8:1    0    1G  0 part /boot
`-sda2                          8:2    0   15G  0 part
  |-rhel_rhel89--min--01-root 253:0    0 13.4G  0 lvm  /
  `-rhel_rhel89--min--01-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb                             8:16   0   10G  0 disk /opt/mongodb
sr0                            11:0    1 1024M  0 rom

1-3. SELinux の無効化

/etc/selinux/config ファイルを編集して、SELinux を無効化します。

[root@mongo-vm-01 ~]# vi /etc/selinux/config
[root@mongo-vm-01 ~]# grep ^SELINUX= /etc/selinux/config
SELINUX=disabled

OS を再起動しておきます。

[root@mongo-vm-01 ~]# reboot

SELinux が無効化されました。

[root@mongo-vm-01 ~]# getenforce
Disabled

2. MongoDB のインストール

MongoDB Server と、NDB の要件で必要になるクライアント ツールなどをインストールします。これらは、NDB にあわせたディレクトリにまとめてインストールする必要があります。今回は、下記にインストールします。

  • ソフトウェア インストール ディレクトリ:/opt/mongodb/mongodb-6.0.16

2-1. MongoDB Community Server のインストール

MongoDB Community Server は、下記からダウンロードできます。

今回は、curl でダウンロードします。

[root@mongo-vm-01 ~]# curl -OL https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.16.tgz

ダウンロードしたファイルを展開します。

[root@mongo-vm-01 ~]# tar zxvf mongodb-linux-x86_64-rhel80-6.0.16.tgz -C /opt/mongodb
mongodb-linux-x86_64-rhel80-6.0.16/LICENSE-Community.txt
mongodb-linux-x86_64-rhel80-6.0.16/MPL-2
mongodb-linux-x86_64-rhel80-6.0.16/README
mongodb-linux-x86_64-rhel80-6.0.16/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-rhel80-6.0.16/bin/install_compass
mongodb-linux-x86_64-rhel80-6.0.16/bin/mongod
mongodb-linux-x86_64-rhel80-6.0.16/bin/mongos

ディレクトリ名を調整します。

[root@mongo-vm-01 ~]# mv /opt/mongodb/mongodb-linux-x86_64-rhel80-6.0.16/ /opt/mongodb/mongodb-6.0.16

この時点の /opt/mongodb/mongodb-6.0.16/bin には、下記のファイルが含まれます。

[root@mongo-vm-01 ~]# ls -l /opt/mongodb/mongodb-6.0.16/bin
合計 240212
-rwxrwxr-x. 1 1000 1000     15205  6月 25 16:53 install_compass
-rwxrwxr-x. 1 1000 1000 141900096  6月 25 17:38 mongod
-rwxrwxr-x. 1 1000 1000 104055608  6月 25 17:39 mongos

2-2. MongoDB Database Tools のインストール

MongoDB Database Tools は、下記からダウンロードできます。

今回は、curl でダウンロードします。

[root@mongo-vm-01 ~]# curl -OL https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel80-x86_64-100.9.5.tgz

ダウンロードしたファイルを展開します。

[root@mongo-vm-01 ~]# tar zxvf mongodb-database-tools-rhel80-x86_64-100.9.5.tgz
mongodb-database-tools-rhel80-x86_64-100.9.5/LICENSE.md
mongodb-database-tools-rhel80-x86_64-100.9.5/README.md
mongodb-database-tools-rhel80-x86_64-100.9.5/THIRD-PARTY-NOTICES
mongodb-database-tools-rhel80-x86_64-100.9.5/mongodb-database-tools-rhel80-x86_64-100.9.5.tgz.cdx.json
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/bsondump
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongodump
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongoexport
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongofiles
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongoimport
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongorestore
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongostat
mongodb-database-tools-rhel80-x86_64-100.9.5/bin/mongotop

CLI 一式を、MongoDB Community Server インストール先の直下にある bin ディレクトリにインストールします。

[root@mongo-vm-01 ~]# install mongodb-database-tools-rhel80-x86_64-100.9.5/bin/* /opt/mongodb/mongodb-6.0.16/bin/

2-3. MongoDB Shell(mongosh)のインストール

MongoDB Shell は、下記からダウンロードできます。

今回は、curl でダウンロードします。

[root@mongo-vm-01 ~]# curl -OL https://downloads.mongodb.com/compass/mongosh-1.10.6-linux-x64.tgz

ダウンロードしたファイルを展開します。

[root@mongo-vm-01 ~]# tar zxvf mongosh-1.10.6-linux-x64.tgz
mongosh-1.10.6-linux-x64/
mongosh-1.10.6-linux-x64/LICENSE-crypt-library
mongosh-1.10.6-linux-x64/LICENSE-mongosh
mongosh-1.10.6-linux-x64/README
mongosh-1.10.6-linux-x64/THIRD_PARTY_NOTICES
mongosh-1.10.6-linux-x64/bin/
mongosh-1.10.6-linux-x64/mongosh.1.gz
mongosh-1.10.6-linux-x64/bin/mongosh
mongosh-1.10.6-linux-x64/bin/mongosh_crypt_v1.so

mongosh のファイル一式も、MongoDB Community Server インストール先の直下にある bin ディレクトリにインストールします。

[root@mongo-vm-01 ~]# install mongosh-1.10.6-linux-x64/bin/* /opt/mongodb/mongodb-6.0.16/bin/

この時点の /opt/mongodb/mongodb-6.0.16/bin の内容です。

[root@mongo-vm-01 ~]# ls -l /opt/mongodb/mongodb-6.0.16/bin/
合計 558120
-rwxr-xr-x  1 root root  13633728  6月 29 17:22 bsondump
-rwxrwxr-x. 1 era  era      15205  6月 25 16:53 install_compass
-rwxrwxr-x. 1 era  era  141900096  6月 25 17:38 mongod
-rwxr-xr-x  1 root root  16103336  6月 29 17:22 mongodump
-rwxr-xr-x  1 root root  15797672  6月 29 17:22 mongoexport
-rwxr-xr-x  1 root root  16675544  6月 29 17:22 mongofiles
-rwxr-xr-x  1 root root  16047424  6月 29 17:22 mongoimport
-rwxr-xr-x  1 root root  16434368  6月 29 17:22 mongorestore
-rwxrwxr-x. 1 era  era  104055608  6月 25 17:39 mongos
-rwxr-xr-x  1 root root  97751688  6月 29 17:29 mongosh
-rwxr-xr-x  1 root root 102181856  6月 29 17:29 mongosh_crypt_v1.so
-rwxr-xr-x  1 root root  15661040  6月 29 17:22 mongostat
-rwxr-xr-x  1 root root  15231800  6月 29 17:22 mongotop

3. DB サーバー VM の登録

3-1. NDB ドライブ ユーザの作成

Era Drive 用の OS ユーザを作成します。

[root@mongo-vm-01 ~]# useradd -m era

ラボ環境なので、パスワードは無期限で設定しておきます。

[root@mongo-vm-01 ~]# chage -M 99999 era
[root@mongo-vm-01 ~]# passwd era

era ユーザが、パスワード無しで sudo コマンドを実行可能にしておきます。

[root@mongo-vm-01 ~]# echo 'era ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/era
[root@mongo-vm-01 ~]# chmod 440 /etc/sudoers.d/era
[root@mongo-vm-01 ~]# ls -l /etc/sudoers.d/era
-r--r-----. 1 root root 27  6月 29 16:35 /etc/sudoers.d/era

3-2. NDB Server 登録の前提 RPM インストール

dnf コマンドで、RPM をインストールします。

[root@mongo-vm-01 ~]# dnf install zip unzip rsync lsof -y

3-3. 事前チェックスクリプトの実行

NDB Server 画面右上のユーザ名表示 →「ダウンロード」から、era_linux_prechecks.sh スクリプトをダウンロードして、DB サーバー VM に保存しておきます。

DB サーバー VM で、era ユーザにスイッチします。

[root@mongo-vm-01 ~]# su - era
[era@mongo-vm-01 ~]$

ダウンロードしたスクリプトを era ユーザで実行して、結果が YES か N/A 担っていることを確認します。

  • --database_type には mongodb_database を指定します。
  • 192.168.20.40 は、Prism Element の IP アドレスです。
[era@mongo-vm-01 ~]$ bash era_linux_prechecks.sh --database_type mongodb_database --cluster_ip 192.168.20.40


--------------------------------------------------------------------
|              Era Pre-requirements Validation Report              |
--------------------------------------------------------------------

     General Checks:
     ---------------
         1] Username           : era
         2] Package manager    : yum
         2] Database type      : mongodb_database

     Era Configuration Dependencies:
     -------------------------------
         1] User has sudo access                         : YES
         2] User has sudo with NOPASS access             : YES
         3] Crontab configured for user                  : YES
         4] Secure paths configured in /etc/sudoers file : YES
         5] Prism API connectivity                       : YES

     Era Software Dependencies:
     --------------------------
          1] GCC                  : N/A
          2] readline             : YES
          3] libselinux-python    : YES
          4] crontab              : YES
          5] lvcreate             : YES
          6] lvscan               : YES
          7] lvdisplay            : YES
          8] vgcreate             : YES
          9] vgscan               : YES
         10] vgdisplay            : YES
         11] pvcreate             : YES
         12] pvscan               : YES
         13] pvdisplay            : YES
         14] zip                  : YES
         15] unzip                : YES
         16] rsync                : YES
         17] bc                   : N/A
         18] sshpass              : N/A
         19] ksh                  : N/A
         20] lsof                 : YES
         21] tar                  : YES
         22] xfsprogs             : N/A
         23] ifupdown             : N/A
         24] net-tools            : N/A
         25] nftables             : N/A
         26] acl                  : N/A

     Summary:
     --------
         This machine satisfies dependencies required by Era, it can be onboarded.
==================================

3-3. DB サーバー VMの登録

NDB Server で、「データベース サーバー VM」→「リスト」を開き、「登録」→「mongoDB」をクリックします。

「1) データベース サーバー VM」で、登録する DB サーバー VM の情報を入力して、「次へ」をクリックします。

  • Nutanix クラスタ: EraCluster
  • IP アドレスまたは VM 名: DB サーバー VM を選択
  • NDB ドライブ ユーザー: era ※さきほど作成した OS ユーザ
  • ソフトウェア ホーム: /opt/mongodb/mongodb-6.0.16 ※bin は含まない
  • 認証情報の指定: password ※デフォルト
  • パスワード: NDB ドライブ ユーザーのパスワードを入力

「2) 自動パッチ適用」は、そのまま「登録」をクリックします。

登録処理が開始されるので、「オペレーション」を開いて完了を確認します。

「データベース サーバー VM」の「概要」画面には、MongoDB の DB サーバーの件数が表示されるようになります。

「リスト」を開いて、登録された DB サーバー VM(mongodb-vm-01)を開きます。

登録された DB サーバー VM の情報を確認できます。

4. ソフトウェア プロファイルの作成

4-1. MongoDB ソフトウェア プロファイルの作成

「プロファイル」→「ソフトウェア」を開いて、「作成」→「mongoDB」をクリックします。

「1) ソフトウェア」では、下記を入力して「次へ」をクリックします。

  • プロファイル名: mongodb-6.0.16
  • ソフトウェア プロファイル バージョンの名前: mongodb-6.0.16 (1.0) ※自動入力
  • プロファイルで使用すソフトウェアを持つデータベース サーバーの選択:
    • Nutanix クラスタ: EraCluster
    • 名前: mongo-vm-01

「2) 注釈」では、そのまま「作成」をクリックします。

「オペレーション」を開いて、処理の完了を確認します。

これで、ソフトウェア プロファイルが作成されました。

4-2. ソフトウェア プロファイル バージョンの公開

ソフトウェア プロファイルを開くと、ソフトウェア プロファイル バージョンのステータスが「非公開」になっているので、「更新」をクリックして設定変更します。

ステータスで「公開済み」を選択し、注意事項のチェックボックスを ON にして、「次へ」をクリックします。

「注釈」は、そのまま「更新」をクリックします。

これで、ソフトウェア プロファイル バージョンのステータスが「公開済み」になりました。

5. DB のプロビジョニング

ソフトウェア プロファイルから、DB サーバー VM と DB を同時にプロビジョニングします。

5-1. DB のプロビジョニング

「データベース」→「ソース」を開き、「プロビジョニング」→「mongoDB」→「Single Node」をクリックします。

「1) データベース サーバー VM」で、下記を入力して、画面をスクロールします。

  • データベース サーバー VM: 「新しいサーバーの作成」を選択 ※デフォルト
  • 新しいデータベース サーバー VM
    • データベース サーバー名: mongodb6-vm-01
    • Nutanix クラスタ: EraCluster ※デフォルト
    • ソフトウェア プロファイル: mongodb-6.0.16
    • コンピュート プロファイル: DEFAULT_OOB_SMALL_COMPUTE
    • ネットワーク プロファイル: DEFAULT_OOB_MONGODB_NETWORK

ノードアクセスのための SSH 公開鍵を入力して、「次へ」をクリックします。

  • SSH 鍵ペア(公開鍵と秘密鍵)は、事前に ssh-keygen などで作成しておきます。

「2) インスタンス」でパラメータを入力して、「次へ」をクリックします。

  • NDB の中でのインスタンス名: mongodb6-01
  • データベース パラメータのプロファイル - データベース: DEFAULT_MONGODB_PARAMS
  • データベース名: testdb
  • ユーザー名: nutanix ※MongoDB の admin DB で管理される root ロールのユーザ
  • パスワード: admin DB ユーザ(nutanix)のパスワード

「3) タイムマシン」では、そのまま「次へ」をクリックします。

今回はデフォルトのままなので、下記のパラメータが入力されています。

  • 名前: mongodb6-01_TM
  • SLA: DEFAULT_OOB_BRASS_SLA

「4) 自動パッチ適用」も、そのままで「プロビジョニング」をクリックします。

「オペレーション」を開いて、処理の完了を待ちます。

5-2. 作成された DB サーバー VM と DB の確認

「データベース」を開くと、「概要」画面に MongoDB インスタンスの件数が表示されます。

「ソース」を開くと、「mongodb6-01」データベースが作成されています。データベースの名前をクリックすると、DB インスタンスの情報を確認できます。

DB インスタンスや、データベースの情報が表示されます。画面をスクロールします。

データベース サーバー VM へのリンクや、IP アドレスなどの情報も確認できます。データベースの一覧から、「testdb」の隣にある「説明をご覧ください」をクリックします。

testdb への接続情報を確認できます。

5-3. DB への接続確認

DB サーバー VM のゲスト OS に、NDB ドライブ ユーザー(era)で SSH 接続してみます。

$ ssh era@192.168.12.195

DB サーバー VM でマウントされているファイルシステムです。

[era@mongodb6-vm-01 ~]$ df -h
ファイルシス                                                                                                                       サイズ  使用  残り 使用% マウント位置
devtmpfs                                                                                                                             1.8G     0  1.8G    0% /dev
tmpfs                                                                                                                                1.8G     0  1.8G    0% /dev/shm
tmpfs                                                                                                                                1.8G  8.6M  1.8G    1% /run
tmpfs                                                                                                                                1.8G     0  1.8G    0% /sys/fs/cgroup
/dev/mapper/rhel_rhel89--min--01-root                                                                                                 14G  3.7G  9.8G   28% /
/dev/sda1                                                                                                                           1014M  229M  786M   23% /boot
tmpfs                                                                                                                                359M     0  359M    0% /run/user/1000
/dev/sdb                                                                                                                              11G  546M  9.7G    6% /opt/mongodb/mongodb-6.0.16_mongodb_software_1MN3
/dev/mapper/ntnx_era_agent_vg_7c031cdd00144011a95bd2409e272e55-ntnx_era_agent_lv_era_software_7c031cdd00144011a95bd2409e272e55       2.9G  787M  1.9G   29% /opt/era_base/era_engine
/dev/mapper/ntnx_era_agent_vg_7c031cdd00144011a95bd2409e272e55-ntnx_era_agent_lv_era_logs_7c031cdd00144011a95bd2409e272e55           7.6G  8.7M  7.2G    1% /opt/era_base/logs
/dev/mapper/ntnx_era_agent_vg_7c031cdd00144011a95bd2409e272e55-ntnx_era_agent_lv_era_config_7c031cdd00144011a95bd2409e272e55          92M   28K   85M    1% /opt/era_base/cfg
/dev/mapper/VG_MONGODB_LOG_mongodb6_01_vg-VG_MONGODB_LOG_mongodb6_01_lv                                                              100G  747M  100G    1% /mongodb/log
/dev/mapper/VG_MONGODB_DATA_mongodb6_01_vg-VG_MONGODB_DATA_mongodb6_01_lv                                                            200G  1.5G  199G    1% /mongodb/data
/dev/mapper/VG_MONGODB_JOURNAL_mongodb6_01_vg-VG_MONGODB_JOURNAL_mongodb6_01_lv                                                      100G  1.1G   99G    2% /mongodb/journal
/dev/mapper/ntnx_era_agent_vg_fe16d62890e848a59c24be6bf9176165-ntnx_era_agent_lv_db_stagging_logs_fe16d62890e848a59c24be6bf9176165    98G   24K   93G    1% /opt/era_base/db_logs

MongoDB のソフトウェアは、/opt/mongodb/mongodb-6.0.16_mongodb_software_1MN3 ディレクトリ配下に格納されていそうです。

[era@mongodb6-vm-01 ~]$ ls -l /opt/mongodb/mongodb-6.0.16_mongodb_software_1MN3/bin/
合計 558120
-rwxr-xr-x 1 root root  13633728  6月 29 21:22 bsondump
-rwxrwxr-x 1 era  era      15205  6月 25 20:53 install_compass
-rwxrwxr-x 1 era  era  141900096  6月 25 21:38 mongod
-rwxr-xr-x 1 root root  16103336  6月 29 21:22 mongodump
-rwxr-xr-x 1 root root  15797672  6月 29 21:22 mongoexport
-rwxr-xr-x 1 root root  16675544  6月 29 21:22 mongofiles
-rwxr-xr-x 1 root root  16047424  6月 29 21:22 mongoimport
-rwxr-xr-x 1 root root  16434368  6月 29 21:22 mongorestore
-rwxrwxr-x 1 era  era  104055608  6月 25 21:39 mongos
-rwxr-xr-x 1 root root  97751688  6月 29 21:29 mongosh
-rwxr-xr-x 1 root root 102181856  6月 29 21:29 mongosh_crypt_v1.so
-rwxr-xr-x 1 root root  15661040  6月 29 21:22 mongostat
-rwxr-xr-x 1 root root  15231800  6月 29 21:22 mongotop

今回は、DB サーバー VM にインストールしてあるクライアント(mongosh)で、DB インスタンスに接続してみます。mongosh を実行するために、PATH 環境変数を設定します。

[era@mongodb6-vm-01 ~]$ export PATH=/opt/mongodb/mongodb-6.0.16_mongodb_software_1MN3/bin:$PATH

testdb に接続します。

[era@mongodb6-vm-01 ~]$ mongosh "mongodb://nutanix@192.168.12.195:27017/testdb?authSource=admin"
Enter password: *******
Current Mongosh Log ID: 66815878881e09b65bdc6695
Connecting to:          mongodb://<credentials>@192.168.12.195:27017/testdb?authSource=admin&directConnection=true&appName=mongosh+1.10.6
Using MongoDB:          6.0.16
Using Mongosh:          1.10.6
mongosh 2.2.10 is available for download: https://www.mongodb.com/try/download/shell

For mongosh info see: https://docs.mongodb.com/mongodb-shell/


To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

V5H051LPAT [direct: primary] testdb>

ちなみに、下記のような URL / オプション指定でも同様に接続できます。

$ mongosh "mongodb://nutanix@192.168.12.195:27017/testdb" --authenticationDatabase admin

データをインサートしてみます。

V5H051LPAT [direct: primary] testdb> db.test.insertOne({id:1, demo: "abc"})
{
  acknowledged: true,
  insertedId: ObjectId("668158e1881e09b65bdc6696")
}

インサートしたデータを読み取ってみます。

V5H051LPAT [direct: primary] testdb> db.test.find()
[ { _id: ObjectId("668158e1881e09b65bdc6696"), id: 1, demo: 'abc' } ]

exit で、mongosh を終了します。

V5H051LPAT [direct: primary] testdb> exit
[era@mongodb6-vm-01 ~]$

以上。

©2024 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。