71 lines
3.9 KiB
TeX
71 lines
3.9 KiB
TeX
\chapter{Hosts}
|
|
\ChapterLabel{Hosts}
|
|
\index{hosts}
|
|
\index{hosts!inventory}
|
|
\index{hosts!naming convention}
|
|
\index{development environment}
|
|
\index{Amazon EC2}
|
|
|
|
\section{Purpose}
|
|
This chapter names the hosts that make up the development environment for
|
|
\CourseNumber\ and records the role, platform, owner, and status of each.
|
|
Hosts in service are described here at inventory level; their configuration
|
|
and execution \gls{evidence} are recorded in the chapter for the activity that
|
|
uses them. The inventory may grow or change depending on assignment requirements.
|
|
|
|
\section{Naming Convention}
|
|
\index{hosts!naming}
|
|
Each \gls{host} that is provisioned for this course is named
|
|
\texttt{ssw590-\textit{role}-\textit{nn}}, where \textit{role} identifies the
|
|
function the machine serves and \textit{nn} is a two-digit ordinal within that
|
|
role. Naming by role rather than by instance identifier keeps the name stable
|
|
if the underlying machine is replaced, and keeps the inventory readable when
|
|
more than one host serves the same purpose. Hosts that already exist
|
|
independently of this course retain their existing names.
|
|
|
|
\section{Host Inventory}
|
|
\index{hosts!table}
|
|
The \textbf{Status} column distinguishes machines already in use from those that
|
|
will be configured in a later assignment. A host is marked \emph{In service}
|
|
only once it exists and is reachable.
|
|
|
|
\begin{tabularx}{\linewidth}{L{3.5cm}YL{3.0cm}L{2.2cm}}
|
|
\caption{Host Inventory\label{Table:HostInventory}}\\
|
|
\toprule \textbf{Host name} & \textbf{Role} & \textbf{Platform} & \textbf{Status}\\ \midrule
|
|
\endfirsthead
|
|
\multicolumn{4}{l}{\small\itshape Host Inventory (continued)}\\
|
|
\toprule \textbf{Host name} & \textbf{Role} & \textbf{Platform} & \textbf{Status}\\ \midrule
|
|
\endhead \bottomrule \endlastfoot
|
|
\texttt{ssw590-group-web} & Group deployment target. Runs Color Buttons and the Gitea work hub in \ChapterRef{GiteaFoundation}; Elastic IP \texttt{100.49.80.94}; DNS \texttt{git.inviscid.dev} verified October 15 (HTTPS pending). & Ubuntu 26.04 LTS on Amazon EC2, \texttt{t3.micro} & In service\\
|
|
\texttt{ssw590-dev-01} & Primary Linux host for the course. Target for service configuration, deployment exercises, and command-line work. & Ubuntu Server LTS on Amazon EC2 & Planned\\
|
|
\end{tabularx}
|
|
|
|
\section{Access and Ownership}
|
|
\index{hosts!access model}
|
|
\index{least privilege}
|
|
\texttt{ssw590-group-web} is shared by both authors and runs under Victor's AWS account,
|
|
where each author has a separate IAM identity. For the Gitea deployment, both authors currently connect to the Linux
|
|
\texttt{ubuntu} account using separate public keys. Victor is a Gitea site
|
|
administrator; Payton has a separate regular Gitea account. Both are members
|
|
of the Inviscid organization Owners team. Linux account-level
|
|
attribution is shared; per-person Linux accounts remain a future improvement.
|
|
Administrative SSH is restricted to approved source IPv4 addresses. The
|
|
observed rules and connection limitations are in \ChapterRef{GiteaFoundation}.
|
|
This inventory does not claim that SSH password authentication or sudo policy
|
|
was independently audited during this exercise.
|
|
|
|
\section{Cost and Cleanup}
|
|
\index{hosts!cost}
|
|
\index{hosts!teardown}
|
|
\texttt{ssw590-group-web} runs on a \texttt{t3.micro} instance and is covered
|
|
by a monthly AWS budget alert. Compute is billed per
|
|
instance-hour, and attached storage and the public IPv4 address are billed as
|
|
well, so each additional host adds cost independently of how heavily it is
|
|
used: provisioning \texttt{ssw590-build-01} would approximately double the
|
|
compute cost of the environment. It is therefore left unprovisioned unless
|
|
required in the future, and would be stopped between uses rather than run continuously.
|
|
|
|
Course hosts are disposable. Teardown consists of terminating the instance and
|
|
deleting its storage volume. \texttt{ssw590-group-web} uses Elastic IP \texttt{100.49.80.94}, associated on October 12, 2026.
|
|
Release that allocation when no longer required; stopping or terminating an
|
|
instance alone does not release the Elastic IP. |