コンテンツへスキップ

API連携プラットフォーム概要(Overview)

ラズベリーパイ(Raspberry Pi)とNAS(Synology)の使い分け

記載済み記事

ネットワーク構成

SynologyのWEBサーバとRaspberry PiのWEB APIを外部公開にする必要があります。
SynologyとRaspberry Piの両方をWEBサーバーとして、外部公開します。
通常WEBサービスでは、ポート80(http://)と443(https://)が利用されます。
家庭向けの製品では、パケットの到着ポートで、アクセスURLを見て、パケット送付先を振り分けることは出来ないので、2台のWEBサーバを公開する際は、1台を別ポートで運用します。

NAT / Port Forward / Virtual Server設定

インターネット側IP+Port を ローカルネット側IP+Port の転送ルールを設定します。この技術や機能名がNAT、Port ForwardやVirtual Serverと呼ばれております。

パブリック側プライベート側
(グローバルIP)Port:80(Synology プライベートIP)Port:80
(グローバルIP)Port:443(Synology プライベートIP)Port:443
(グローバルIP)Port:8443(Raspberry PiプライベートIP)Port:443

この際に、グローバル側からのRaspberry Piへのアクセス方法は、「https://www.miki.-ie.com:8443」とポート番号を指定したアドレスとなります。

複数DOMAIN(ドメイン)の運用

複数の独自ドメインでWEBサーバを運用します。これは、WEBサーバのVirtual Server機能で実現します。Synologyでは、簡単に設定が可能ですので、設定方法などは割愛します。

Let's EncryptSynologyのWEBサーバを用いると、管理画面より簡単に無料のSSL証明書が利用出来ます。3ヶ月有効な証明書を発行し、利用を継続している限り、自動更新してくれます。

前提条件

  • SynologyのWEBサーバがセットアップされている
  • SynologyのWEBサーバの公開設定が終わっている
    証明書発行時に、設定が完了していないと失敗します

    • DNSで名前解決ができる、固定IPやダイナミックDNSを利用
    • ルーターのNAT / Port Foward / Virtual Serverの設定が出来ており、インタネットからWEBサーバにアクセスできる

SSL証明書導入

企業サイトは、ほぼ100%SSL化(https://)でのWEBサイト公開になってきています。SSL証明書を導入することで、SSL / TLSで暗号化された通信が行われます。当然、セキュリティやプライバシー的に非常に重要な技術となります。
Google社の最近の取り組みを少し纏めておきます。SSL化されていないサイトには警告が出される時代となってきました。

Let's Encrypt導入(無料で利用可能なSSL証明書)

「Let's Encrypt」という、無料で利用できる SSL / TLS サーバー証明書があります。以前は、商用利用を前提とした証明書を利用するか、自分で個人的に発行する証明書(自己認証局)を利用するしかhttpsのウェブサイトは運営できませんでした。自宅サーバーなどでは、自己認証局の証明書を利用しておりましたが、ブラウザからは警告が出たりと通信は暗号化出来るが、スマートなWEB公開方法ではありませんでした。

「Let's Encrypt」が登場したのですが、コマンドラインを複数実行したり、WEBサーバーの設定を変更したりと、導入の敷居は低くはなかったです。
Synologyでは、このSSL証明書が複数の手順で簡単に利用可能となります。

Let's Encrypt 総合ポータル

Synologyでの無料SSL証明書(Let's Encrypt)導入方法

Synology画面の「コントロールパネル」「セキュリティ」を開きます。

証明書タブより新しい証明書を追加します。

新規証明書のタイプでLet's Encryptを選択します。

証明書情報を登録します。

サブドメインを利用する際は、サブジェクトの別名に登録します。残念ながら、記事掲載時点では、サブドメインすべて(*:アスタリスクには対応していませんでした)
「適用」ボタンを押すと、証明書の発行依頼、受領を実行してくれます。

発行した証明書のWEBサイトへ割り当て

証明書画面の「構成」ボタンを押し、WEBサイトに発行した証明書の割り当てを行います。複数のVirtual Hostを運用している際には、大変便利な機能になります。
この設定により、WEBサーバの設定も自動的に実施されるので、追加の設定などはありません。
記事の先頭にも記載しましたが、証明書は自動更新されるので、基本的にメンテナンスフリーで利用出来ます。

ネットワーク概要図

V6プラス

「v6プラス」は、IPv6で次世代ネットワーク(NGN)に直結し、インターネットプロバイダへ接続し、インターネットプロバイダよりIPv6とIPv4のインターネット網に接続します。
IPv6経由でインターネットに接続するので、インターネットに出る際に、混み合っているIPv4網を回避できます。
現状、プロバイダがv6プラスや光プラスと呼ばれるサービスを提供している際は、通常のインターネットアクセスには、積極的にv6プラス接続を利用するのがベストです。
一方で、v6プラスを利用すると自宅のルータにIPv4のIPアドレスが割り当てられず、IPv4を前提としたNAT・バーチャルサーバ(Virtual Server)機能が利用出来ません。

V6プラスとPPoE接続の共存環境

そこで、ルーター2台構成を実現します。
V6プラス対応ルータと、通常のIPv4でのPPoEが可能なルータを準備します。
それぞれからインターネット接続を確立させます。
(利用するプラバイダにより利用可否が異なるかもしれません。利用したNIFTYでは、サポートからも技術的に問題ないと回答を頂きました)

また、2つのルーター間をローカルネットワーク内で接続し、双方同じネットワーク空間に配置します。
インターネットゲートウェイが2つある環境となります。

V6プラスとPPoE接続の共存時の運用

ネットワーク構成2

  • V6プラス対応ルータ経由(GW 192.168.1.1/24):スマートフォン、一般クライアントなど外部公開の必要ない機器
  • PPoE対応ルーター(GW 192.168.1.2/24):WEBサーバーなど(SynologyのNASおよびRaspberry Pi)