【未経験向け】CCNA(200-301)とは? NW未経験が1ヶ月で合格した際に使用した魔法の学習教材、サイトを紹介!!!

当ブログサービスの技術仕様、および、運用方針

当ブログは管理人がプライベートで作成したサービスです。

自身が日々の業務で身に付けたIT技術の発信や知識の整理を目的にサービスを作りました。

2021年1月にサービスをリリースし現在まで管理人一人でシステムを管理し運用を続けています。

このページでは本サービスの技術仕様や運用方針についてままとめています。
※本ページは管理人がサービス構築の際に作成した基本設計書、パラメータ設計書、運用設計書をFixしてまとめています

 

 

基本方針

  1. 本ページの記載について
    本ページは、私 chibiharu(当ブログ管理人)が設計・構築を行ったWebブログサービスのシステムの運用・保守について記載するものである。
     
  2. 本ページの記載範囲
    ・本サービスの基本方針、および、システム構成
    ・運用,保守における既存機能の改変、それに伴う新規機能の追加、リリース
     
  3. 本サービスの目的
    ・IT技術に関する知見をブログサービスを使用し第三者へ発信をすることで知識の整理に繋げる
    ・管理人の制作物(実績)として使用する。
     
  4. 本サービスの概要
    本サービスはWordPressを使用し構築、リリースを行い、基盤システムとしてパブリッククラウド(AWS)を使用する。

技術仕様 (WordPress)

概要

本サービスはWordPressを使用して管理する。
WordPressとはCMSの1つで、無料で使用できるソフトウェアである。

WordPress自体はAmazon Lightsailに事前に組み込まれている為、使用にあたってのソフトウェアのインストールやセットアップは行わない。

アクセス解析等を目的に他サービスと連携する際は、基本的にGoogle社が提供しているサービスを使用する。

基盤システムについては後述の【技術仕様 (基盤・インフラ)】にて記載する。

機能一覧

  • WordPress
    Version:5.7
    使用テーマ:Cocoon
    基盤システム:Amazon Lightsail ※詳細は後述の【技術仕様 (基盤・インフラ)】にて記載する。
      

他サービスとの連携

  • アクセス解析
    アクセス解析にはGoogle社の提供する「Google Analytics」と連携して行う。
     
  • 検索エンジンにおける各種解析
    検索エンジンからのトラフィック解析やインデックス状況の確認はGoogle社の提供する「Google Search Console」と連携して行う。

技術仕様 (基盤・インフラ)

概要

本サービスの基盤システムにパブリッククラウドサービスを使用し、IaaSにAWSを採用する。

基盤構成図

基盤システムの構成図を以下に記載する。

使用サービス

基盤環境において、以下のサービスを使用する。

  • Amazon Lightsail
    Amazonの提供するVPSを使用することで簡易的な環境構築・運用を実現。
     
  • Amazon Route53
    パブリックホストゾーンを作成することにより、本サービスの通信の名前解決を実現。
    なお、ドメインはRoute53で作成、購入したものを使用する。
     
  • Amazon Simple Email Service(SES)
    Amazon Lightsailはデフォルトではメールサーバーとしての機能を保持していないため、デフォルト設定ではWP側とのメール送受信が出来ない。
    WordPressプラグインとAWS SESを併用し、両サービスでSMTP情報を連携することによりメールの送受信を実現。
     
  • Amazon S3
    ①WordPressデータのバックアップ取得プラグインを使用して取得したバックアップデータをAmazon S3バケットに保管する。
    ②サービスで使用するメディア関連をインスタンスでは無くWPプラグインを使用してAWS S3が保持することによりインスタンスの軽量化、および、高速化を実現。
     
  • Letsencript
    SSL/TLS証明書の発行にはLetsencriptを使用。
    Letsencriptで発行したSSL/TLS証明書の有効期限は”3ヶ月”のため、サービスの暗号化を永続的に行っていくには”3ヶ月以内”での証明書の再発行が必要となる。
    上記課題に対して、証明書発行スクリプトを作成しCronでスクリプトを一定の周期で自動実行することで対策している。

セキュリティ対策

ユーザー管理

基幹システムを含めた当サービスの管理はchibiharu個人のみで行う。

以下サービスに関しては新たに管理用ユーザーを作成するものとする。
・AWS
・WordPress

各サービスの操作は必ず管理用ユーザーから行うものとしスーパーユーザーの一切の操作を禁止する。

また、パスワードの流出を想定して管理用ユーザーでのログイン時は二段階認証を設定する。

Webサービス、および、通信の暗号化

本サービスのhttp通信を暗号化することにより、本サービスで扱うデータへの不正アクセス、改ざん、及び外部への 持ち出しができないようにする。
暗号証明書の発行には、LetsEncryptを使用する。
LetsEncryptの使用にあたり以下の課題が発生する。

・課題
LetsEncryptは証明書を発行する機能しか持ち合わせていないため、サイト自体は暗号化されないので混合コンテンツ化してしまう。

上記課題に対し、以下の方法で対処する。

・対象方法
発行された証明書を利用してサイト自体を暗号化する機能を持つWordPressプラグインを導入することで混合コンテンツ化することを防ぐ。

バックアップ・リストア

Amazon Lightsail側のバックアップ・リストア

Amazon Lightsailの標準仕様である自動スナップショット機能を使用しOS単位でのスナップショットを取得する。

スナップショット処理は自動化されており以下の要件で行われる。

  • スケジュール:毎日*時 ※システム標準時に準拠
  • 世代管理:最大7世代まで可能 ※7世代目以上からは新たにスナップショットを取得すると古いスナップショットから削除されていく
  • 保管先:AWS ※保管先については、標準仕様故AWS上のサーバーとなる。

WordPress側のバックアップ・リストア

WordPressで提供されるバックアップ取得プラグインを使用しWordPressデータのバックアップを取得する。

バックアップ処理は以下の要件に従い手動で行うものとする。

  • スケジュール:毎週*曜*時 ※システム標準時に準拠
  • 世代管理:可能
  • 保管先:
    ①ローカルストレージ ※プラグインを使用しての取得先はローカルストレージへ行うものとする
    ②Amazon S3
    ※プラグインの仕様上サーバー上にもバックアップが取得されてしまうがデータ保管コストの観点からバックアップ取得時に削除する

障害対応

障害対策

本サービスの運用において想定される障害ケースと対策を以下に記載する。

  • 障害ケース
    1. 人為的な要因、例えば誤操作やアカウント乗っ取りによる論理データの破壊、改ざん
    2. 災害によるAWSリージョンでの設備破損、破壊による論理データの損失またはサービスの停止
  • 対策
    1. バックアップ対象をOS単位とソフトウェア単位で分離する
    2. バックアップデータの保管先をAWS上のストレージとローカルストレージで分離する

今後の構成改変

今後、運用,保守において、既存機能の改変、それに伴う新規機能の追加、リリースを行う際は、追加機能や改変内容を当ブログにて投稿記事として公開するものとする。

上記内容の投稿記事を以下のリンク先にまとめる。

 

今後の課題

今後、PV数の増加を目的に以下の課題について取り組む。

  • Webサイトのアクセシビリティの向上
  • WebサイトのSEOの向上
  • SNS、他のサービスを利用しての本サービスの宣伝
  • ポートフォリオサイトと併用して運用していく中で効率を求めた運用方式を模索していく
    ※コンテナ構成を利用する等
タイトルとURLをコピーしました