AWSではじめるLinux入門ガイド

【最新 – Linuxを学ぶおすすめ本 – 入門から応用までリストアップ!】も確認する

AWSと一緒に学ぼう!

EC2+AmazonLinux2を使ってAWSとLinuxの基礎を同時に学ぶことができます。LinuxやAWSを学びたいという初学者の方におすすめの1冊です。実際に手を動かしていくので、楽しく学習することができます。内容は易しめなので、より知識を掘り下げたいという方は他の参考書も利用するといいでしょう。

山下 光洋 (著)
出版社: マイナビ出版 (2020/4/29)、出典:出版社HP

 

Contents – コンテンツ –

0章. はじめに
1章. 環境の概要
2章. セキュアな環境を構築する
3章. AWSでのLinuxサーバーを起動しよう
4章. 管理者としてコマンドを実行しよう
5章. インストールを実行してみよう
6章. ターミナルでコマンド操作してみよう
7章. ファイルを操作してみよう
8章. エディタを操作してみよう
9章. パーミッションで権限を設定しよう
10章. スクリプトを実行してみよう
11章. Linuxサーバーをモニタリングしてみよう
12章. Linuxのセキュリティを設定しよう
13章. ネットワークについて学ぼう
14章. バージョン管理もAWSで
15章. コンテナ環境を作ってみよう
16章. データーベースを操作してみよう
17章. WordPressサーバーを構築してみよう
18章. Redmineサーバーを構築してみよう
19章. EC2インスタンス もっと知りたいこと
20章. 学習の終わりに AWSリソースを削除しよう

本書のサポートサイト 本書の追加・訂正情報があれば掲載しています。 https://book.mynavi.jp/supportsite/detail/9784839970963.html

山下 光洋 (著)
出版社: マイナビ出版 (2020/4/29)、出典:出版社HP

Chapter O

はじめに

トレノケート株式会社 山下 光洋
本書を手にとっていただきましてありがとうございます。本書は、AWSクラウド上で Linuxによるサーバー構築をゼロから学んでいただく書籍です。ゼロ(やったことがないこと)をイチ(やったことがある)にすることを目的にしています。次に挙げるような、これからクラウドやLinuxを学ばれる方々を想定して執筆しています。
・ITエンジニア職を目指す学生
・ITエンジニア職への転職を予定している社会人
・内製化にシフトしようとしている情報システム部門
・情報システム部に異動になった非IT部門
なぜ、AWSクラウド上でのLinuxサーバー構築を題材にしているか、まずクラウドについて説明します。近年、システム を構築する手段としてクラウドは欠かせない技術であるからです。
次にLinuxサーバーですが、最近はマイクロサービス、サーバーレスアーキテクチャといった、サーバーを開発者や運用者が管理しないクラウド最適化された構成も増えてきています。
しかし、これらはあくまでも最適な設計をするための一手段でしかありません。依然としてサーバーも有効な設計手段です。2018年のAmazon PrimeDayでは、最大426,000もの仮想サーバーが起動していたとの情報もあります。
また、既存システムをクラウドへ移行していく際には、いきなりすべての設計や運用を最適化するケースよりも、まずはそのままの設計、運用でクラウドへ移行するケースも多くあります。
クラウドへ移行することにより、システム運用を担当される方々はハードウェアの管理や更新作業から解放され、世の中にサービスを提供することに注力できます。より早くユーザーの課題を解決したサービスを作り続け、それを提供し続けるために、企業によるシステムサービスの運用、開発の内製化も進んでいます。
本書では、そのような移行案件や新規案件、クラウド上でのサーバー運用、構築をこれから担当される方々に、まずは実際に手を動かしながら、クラウドで Linuxサーバーを構築することの、スピード、俊敏性、機動性に触れていただき、IT技術の素晴らしさを知っていただくことを目的としています。ゼロをイチにすることで無限の可能性が広がり始めます。これから皆さまが様々な課題を解決しながら、エンジニア人生を歩まれるための一助となりましたら幸いです。
本書が皆さまのお手元に届く頃には、本書掲載の手順画面が異なっている場合もあります。 AWSでは昨日まで見ている画面が、今日は違うということはよくあります。これは日々成長しているサービスの特徴ともいえます。画面が異なっていても機能に違いがあるわけではありません。新しい画面は操作性が向上されていますので、より使いやすくなっているはずです。本書でも手順のご参考として画面を掲載しておりますが、画面や手順を細かく覚えていただく必要はありません。それよりも触って動かして確認、を繰り返して、どんな機能があるのか、何をすれば何ができるのか、を知っていただくことを推奨いたします。
※本書内の情報は2020年4月現在の情報です。

Chapter 1
第1章 環境の概要
1.1 Linuxってどんなもの?
1.2 AWSってどんなもの?….

Chapter 2
第2章 セキュアな環境を構築する
2.1 まずはAWSアカウントを作成しましょう
2.2 AWSアカウントを保護しよう…..

Chapter 3
第3章 AWSでのLinuxサーバーを起動しよう
3.1 EC2ってどんなもの?……
3.2 EC2インスタンスを作成しよう
3.3 EC2インスタンスへのSSHアクセスを設定しよう ……
3.4 セッションマネージャを使用したEC2インスタンスへのアクセス
3.5 EC2インスタンスを終了、停止するには…

Chapter 4
第4章 管理者としてコマンドを実行しよう
4.1 ユーザーとは…
4.2 sudoコマンドってどんなもの?….
4.3 ユーザーを管理してみよう・

Chapter 5
第5章 インストールを実行してみよう
5.1 yumの書式
5.2 yumの主なコマンド……
5.3 amazon-linux-extras
5.4 RPMコマンドでパッケージを個々に管理しよう
5.5 apt-get

Chapter 6
第6章 ターミナルでコマンド操作してみよう
6.1 便利な機能を使ってみよう …..
6.2 標準入出力と複数のコマンドを実行してみよう …….
6.3 変数を使ってみよう…………
6.4 シェルのオプションを使ってみよう
6.5 よく使うコマンドを定義しておこう

Chapter 7
第7章 ファイルを操作してみよう
7.1 ディレクトリを操作してみよう ……
7.2 ファイルを操作してみよう……
7.3 S3(Simple Storage Service) を使ってみよう ……
7.4 EBS(Elastic Block Store) とEFS(Elastic File System) を操作してみよう …
7.5 Linuxファイルのその他の操作を知ろう

Chapter 8
第8章 エディタを操作してみよう
8.1 Vimを使ってみよう …..
8.2 ファイルの内容を参照しよう…
8.3 ファイルの内容を操作しよう …….
8.4 ファイルの内容のその他の操作を知ろう…

Chapter 9
第9章 パーミッションで権限を設定しよう
9.1 オーナーとグループ…….
9.2 パーミッションの読み方
9.3 オーナーとグループを変更してみよう ……
9.4 パーミションを変更してみよう……

Chapter 10
第10章 スクリプトを実行してみよう
10.1 シェルスクリプトを作って実行してみよう ….
10.2 分岐(if, case) と繰り返し (for, while) を実行してみよう ….
10.3 プロセスとジョブを管理してみよう
10.4 メタデータ、ユーザーデータ、cloud-init.
10.5 サービス、ジョブを制御してみよう ….

Chapter 11
第11章 Linuxサーバーをモニタリングしてみよう
11.1 CPU、メモリ、プロセスの状況を確認してみよう….
11.2 CloudWatchメトリクスとLogsの機能を知ろう
11.3 CloudWatchでアラームとダッシュボードを設定してみよう
11.4 CloudWatchログとアラームを使ったモニタリング
11.5 rsyslog

Chapter 12
第12章 Linuxのセキュリティを設定しよう
12.1 AWSアカウントとルートユーザー…
12.2 IAMユーザー、IAMポリシー、IAMロールを知ろう…
12.3 CloudTrail, GuardDuty, VPC…
12.4 Linuxサーバーのセキュリティを評価するには……
12.5 Linuxサーバーのセキュリティ機能を知ろう……

Chapter 13
第13章 ネットワークについて学ぼう
13.1 VPCでネットワーク環境を設定しよう ….
13.2 ポートってどんなもの?.
13.3 ネットワーク設定ファイルについて知ろう
13.4 ネットワーク関連コマンドを知ろう
13.5 VPC フローログ

Chapter 14
第14章 バージョン管理もAWSで
14.1 Gitをインストールしよう …
14.2 CodeCommitを操作するための権限を設定しよう…..
14.3 リポジトリを作成しよう
14.4 Gitコマンドを使ってみよう ……
14.5 プルリクエストを使ってみよう ……

Chapter 15
第15章 コンテナ環境を作ってみよう
15.1 Dockerをインストールしてみよう
15.2 Dockerイメージを作成してみよう
15.3 Dockerコンテナを実行してみよう ……..
15.4 Dockerコンテナを操作するコマンド

Chapter 16
第16章 データーベースを操作してみよう
16.1 Amazon RDS for MySQLを起動してみよう… …
16.2 Amazon RDSインスタンスのセキュリティグループの作成
16.3 EC2からRDSへ接続してみよう…….

Chapter 17
第17章 WordPressサーバーを構築してみよう
17.1 WordPressのアーキテクチャ……
17.2 WordPressをインストールしよう
17.3 データベースを準備しよう …
17.4 WordPressをセットアップしよう…
17.5 WordPressをテストしてみよう……

Chapter 18
第18章 Redmineサーバーを構築してみよう
18.1 Redmineサーバーのアーキテクチャ…..
18.2 Redmine用データベースを作成してみよう
18.3 Redmineをインストールしてみよう…….
18.4 Redmine動作確認

Chapter 19
第19章 EC2インスタンス もっと知りたいこと
19.1 購入オプションについて知ろう
19.2 インスタンスタイプについて知ろう・・
19.3 起動テンプレートの設定項目を知ろう
19.4 様々な制限…………
19.5 自動的なリタイアについて知ろう…….
19.6 Amazon Time Sync Service/TimeZone
19.7 トラブルシューティング……………
19.8 Amazon Linux2にGUIをインストールしてみよう
19.9 ローカライゼーション………….
19.10 メールを管理してみよう…….
19.11 プリンタを管理してみよう

Chapter 20
第20章 学習の終わりにAWSリソースを削除しよう
20.1 AMIの登録解除とEBSスナップショットを削除しよう
20.2 EC2インスタンスの終了(削除) …
20.3 RDSインスタンスの削除
20.4 S3バケットの削除…..
20.5 EFSファイルシステムの削除

Chapter 1 環境の概要

まず最初に本書で使用する環境と技術を説明します。 本書では、LinuxとAWSを使用します。 この章は、興味のある方は読んでいただいてもいいですが、「まずは触りたい」という方は、飛ばして次の章から実際に触って進めながら、少し進めた後に読んでみてもいいかもしれません。

1.1 Linuxってどんなもの?
Linuxは、WindowsやMacと同じOS(オペレーティングシステム)の大きな種類の1つです。読み方はこだわりがなければ「リナックス」が一般的でいいでしょう。
一般的に使用されているスマートフォンやルーター、Web、業務アプリケーションや、様々なデバイスなど、非常に多くのシステムで広く使用されているOSです。
Linuxを説明するにあたって、まずはオープンソースについて説明します。
●1.1.1 OSS(オープンソースソフトウェア)
オープンソースとは、ソースコードを公開して利用、修正、再利用を可能としたソフトウェアです。企業ではなく主にコミュニティが開発し、企業はこのサポートで対価を得ているビジネス形態もあります。
コミュニティが開発し、利用や修正を自由にしていることで、ニーズをよりよく反映していくことができたり、分岐された新たなソフトウェアが生まれ、より世の中の多くの課題をスピーディーに解決することができていることも特徴的です。
Linuxは全世界のエンジニア達が自分たちの課題を解決するために利用して、フィードバックを共有し、開発にも協力しているオペレーティングシステムといえます。
コミュニティが開発することで、課題をスピーディーに解決しているよ!
●1.1.2 Linuxの種類
前述のとおりオープンソースとして進化を続けているので、一概にLinuxといっても1種類ではなく、いくつかの種類があります。このLinuxの種類のことをディストリビューションといいます。 Debian系、Redhat系、SUSE系などです。本書では、Redhat 系の派生であるAmazon Linux2を主に扱います。
●1.1.3 Linuxのメリット
・必要最低限の機能だけを選択でき、ミニマムな構築が可能。
・コマンドで操作することができ、自動化が容易。
・ソフトウェアライセンス費用が発生しないものがある。
・対応しているソフトウェアが多い。

1.2 AWSってどんなもの?
AWS(Amazon Web Service) は Amazon 社内の課題を解決するために生まれ、その仕組みを世の中にも提供するために2006年にITインフラストラクチャのサービスとして提供が開始されました。
AWSを使えばいろんなチャレンジを素早くできそうですね!
●1.2.1 AWSが解決した課題
その解決するべき課題とは、従来のオンプレミスの制約事項であった以下のようなものです。
・ハードウェアを必要でないときも所有しなければならない。
・ハードウェアの調達に時間がかかる。
・綿密な計画を立ててもニーズの変化に対応できない。
・ディスク障害などに対する物理的なメンテナンスに人を配置しなければならない。
・急激なアクセスの増加に対応できない。
このような様々な課題を解決するために生まれ、時代の進化やニーズの変化において、新たに発生するさらなる課題を解決し続けているサービスが、Amazon Web Service(AWS)です。
●1.2.2 AWSのメリット
AWSには特徴として、以下のようなメリットがあります。
・インフラストラクチャを所有するのではなく必要なときに必要な量を使用できる。
・使った分にだけコストが発生するので使い捨てができる。
・新しいサーバーの調達が数分。
・ニーズが変化したときにも柔軟に作り変えができる。
・ディスク管理などハードウェアのヘルスチェックよりもサービスの提供に注力できる。
・アクセス数など需要の変化にダイレクトに対応できる。
●1.2.3 AWSでLinuxを使用するメリット
AWSには様々なサービスがありますが、本書で扱うLinuxサーバーをAWSで使用する場合は次のようなメリットがあります。
・必要なときに必要な性能のLinuxサーバーを必要な数だけ起動できる。
・要らなくなったLinuxサーバーは秒単位で使い捨てができる。
・新しいLinuxサーバーを数分で調達できる。
・要件が変更すれば稼働しているLinuxサーバーを捨てて、
テンプレートを再利用して作り直せる。
・ハードウェアの管理を気にすることなくLinuxサーバーが使用できる。
・アクセス数が増えれば自動的にLinuxサーバーを増加させられる。
これから LPIC を目指す方にもおススメの学習環境です!

山下 光洋 (著)
出版社: マイナビ出版 (2020/4/29)、出典:出版社HP