webかたつむり ウェブデザインを勉強中 ウェブ初心者のおぼえがき

webかたつむり

ウェブデザインを勉強中

AWS 設定の手順 a to z

1 VPCの作成

f:id:ohta-felica:20210611221323p:plain

テナンシーとは、、、
物理的なハードウェアをほかのユーザーと共有せず、占有して仮想マシンを起動できる。
EC2→仮想マシンを作成するサービス。

EC2で作成した、仮想マシンのことをインスタンスと呼ぶ。

 

 

2 サブネットの作成

f:id:ohta-felica:20210611221809p:plain

f:id:ohta-felica:20210611223402p:plain

サブネットでは、パブリックIPv4の、アドレスの自動割り当てを有効にしない。

 

 

3 EC2インスタンスの作成

f:id:ohta-felica:20210611222339p:plain

テナンシーは「共有」にしておく→余計な費用をかけない。

EC2インスタンスに於いて(WEBサーバーとして使用する)IPv4アドレスの自動割り当てを設定しておく。

 

 

4  EC2インスタンスの、セキュリティーグループを設定する

セキュリティーグループは、インスタンス仮想マシン)のトラフィックを制御するファイアウォールのルールセット。

f:id:ohta-felica:20210611223925p:plain

デフォルトでは、ポート22,SSH接続のみ許可されている。

EC2インスタンス接続用の、キーペアが発行される。ダウンロードして保管。

 

5 EC2インスタンスに、SSHで接続する

 

f:id:ohta-felica:20210611224921p:plain

ssh -i →認証に使用する秘密鍵を渡す。認証鍵の.pemファイルのパスを指定する。

ec2-user   →ユーザー名は自動的にec2-userとなる。@以下が、ec2インスタンスのパブリックIP

 


6 VPCインターネットゲートウェイを設置する 

現在の構成のままでは、SSH接続ができない。 

ネットワークの構成を変更する。

VPCのサブネットから、インターネットに出るための経路が存在していないから。

VPCにインターネットゲートウェイを設置(アタッチ)する。 

 

f:id:ohta-felica:20210611225945p:plain

 

7 サブネットのルートテーブルを変更してInternet-gatewayへのルートを追加する。

デフォルトの状態

f:id:ohta-felica:20210611230533p:plain

f:id:ohta-felica:20210611231302p:plain

0.0.0.0/0 ターゲットを、インターネットゲートウェイにする。


8 セキュリティーグループの作成

設定頻度が高い
EC2インスタンスへ、入ってくる通信(inbound traffic)、出ていく通信(outbound traffic)に対して、どのような形式を許可するのかを定義する。

インスタンスの用途に応じて作成する。 

作成するセキュリティーグループは、複数のインスタンスに適用できる。

また、サブネットをまたいで設定することも可能。

f:id:ohta-felica:20210611232036p:plain

f:id:ohta-felica:20210611232435p:plain

外部から、セキュリティーグループに入ってくる通信→インバウンドトラフィック
セキュリティーグループから出ていく通信→アウトバンドトラフィック

f:id:ohta-felica:20210609063739p:plain

*** ステートフル**************************************

通信の行きと戻りの対応を保持すること。

戻りの通信は自動的にファイアウォールを通過できる

**********************************************************

EC2インスタンスから、出ていった通信の戻りは、自動的に許可されるので、

通信がブロックされることはない。 

 

 

9   EC2インスタンスSSH接続して、ngixやapacheのパッケージを インストールする

これらの作業は、「ec2-user」という名前のデフォルトで設定されているアカウントではできない。管理者権限でのみ、実行できる。

インスタンスの起動に使用される AMI のデフォルトユーザー名= ec2-user

 

sudo 

sudoコマンドとは?

 「sudo コマンド」と指定することで、「スーパーユーザー(rootユーザー)」の権限が必要なコマンドをsudoコマンド経由で実行させることができます。ただし、sudoコマンドの実行には「sudoers」の設定が必要になります。

 同じような用途のコマンドに「su」(本連載第68回参照)があります。rootのパスワードが必要となるsuコマンドとは違い、sudoコマンドは、パスワードなしで実行できるように設定したり、sudoコマンドを実行するユーザー自身のパスワードでコマンドを実行させたりすることができます。 

 apacheをインストールする。

sudo amazon-linux-extras list     →インストール可能なパッケージを表示する

f:id:ohta-felica:20210612125354p:plain



sudo amazon-linux-extras install httpd_modules インストールする

sudo systemctl start httpd_modules      起動する

sudo systemctl status httpd_modules 状態の確認

 

 

10 セキュリティーグループの修正

f:id:ohta-felica:20210612161649p:plainSSHとHTTPの通信が、EC2インスタンスで許可されています。

 

 

11 ネットワークACL(アクセスリスト)

セキュリティーグループは、EC2インスタンスに対するファイアウォール

ネットワークACLは、サブネットに対する、ファイアウォール
ステートレス。インバウンド、アウトバウンド両方について設定する。
 

f:id:ohta-felica:20210612162137p:plain

 

 

 

 

 

 

f:id:ohta-felica:20210611214847p:plain

Internet Assigned Numbers Authority (IANA)は次の三つのIPアドレス空間
ブロックをプライベートインターネットのために予約している。

10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

 

f:id:ohta-felica:20210611215031p:plain

f:id:ohta-felica:20210611215426p:plain

 f:id:ohta-felica:20210611215517p:plain

f:id:ohta-felica:20210611215643p:plain

 




VPCルーター (一番外側のルーター

** インターネットゲートウェイを設置(VPCの画面から作成)

**  VPCにアタッチする

 

f:id:ohta-felica:20210611215220p:plain

 

サブネットのルーター

** 暗示的なルーターで、サブネットを作成すると、自動的に VPCの中に設置


** インターネットゲートウェイへのルートを追加する(ルートテーブルを作成)

  ターゲット=インターネットゲートウェイへのルートを作成する。(ルートを追加)

 

*1

 

 

 

 

VPCのセキュリティー機能

f:id:ohta-felica:20210611220140p:plain

 

f:id:ohta-felica:20210611220407p:plain



 

セキュリティーグループ

インスタンス(仮想サーバー)に設置

ファイアウォールの機能

EC2インスタンスを守る→セキュリティーグループ

EC2インスタンスに設定する

ステートフルである

 

 

 

 

ネットワークACL

 

 

 

 

 

VPCのサブネットを作成すると、ルーターは暗示的に作成される。

VPCのサブネットから、インターネットに出る経路(インターネットゲートウェイ)は存在していない。

 

 

サブネットに、インターネットゲートウェイを作成する。

****-gw

 

*1:IPv4に於いて、「ほかのどのルートにもマッチしなかった場合の送信先」は、
「0.0.0.0/0」で指定する。

aws 08 apacheのインストール

sudo yum update -y

 

yum linax のパッケージ管理ツール

 

 

yumコマンドの主なオプション

 yumコマンドの主なオプションは次の通りです。

 
短いオプション 長いオプション 意味
-y --assumeyes 全ての問い合わせに「yes」で応答したものとして実行する
  --assumeno 全ての問い合わせに「no」で応答したものとして実行する
-t --tolerant エラーを黙認する
-R 分 --randomwait=分 最大の待ち時間を指定する
-c 構成ファイル --config=構成ファイル 構成ファイルを指定する
  --installroot=場所 インストール先を指定する
  --downloaddir=場所 ダウンロード先を指定する
  --downloadonly ダウンロードだけを行う
-C --cacheonly パッケージの情報をダウンロードせずキャッシュだけを使用する
-x パッケージ --exclude=パッケージ 除外するパッケージを指定する(ワイルドカードも使用可能)
  --color=指定 出力メッセージを色付きにするかどうかを「always」「auto」「never」のいずれかで指定する
-q --quiet 実行時にメッセージを出力しない
-v --verbose 詳しいメッセージを出力する

 

sudo yum -y install httpd

httpd HyperText Transfer Protocol Daemon】 HTTPデーモン

httpdとは、主にUNIX系OSのWebサーバソフトでよく見られる実行ファイル名およびコマンド名。Web上のデータ伝送に用いるHTTP(Hypertext Transport Protocol)を扱うデーモンdaemon)という意味。

 

一度起動されると常にメモリ上に留まって要求に応じて動作する常駐プログラム(デーモン)の一種で、外部からのHTTP接続を受け付けて要求されたファイルを送信したり、送られたデータを受け取って保存したり、指定されたプログラムを起動したりする。

世界で最初のWebサーバは1990年にWebの発明者であるティム・バーナーズ・リー(Tim Berners-Lee)氏らが開発した「CERN httpd」で、名称の通り実行ファイル名がhttpdだった。これを踏襲して、現在最も普及しているApache HTTP Serverなど数多くのWebサーバソフトウェアが実行ファイル名としてhttpdという名称を採用している。

 

sudo systemctl start httpd.service

sudo systemctl status httpd.service

sudo systemctl enable httpd.service

書き方

 
# systemctl コマンド {ユニット名}.service

末尾の.serviceは省略できます。
※一般ユーザで起動、停止などを行う場合はsudoが必要です。

 コマンド

 ・サービスのステータス確認

 
# systemctl status {ユニット名}

 ・サービスの起動

 
# systemctl start {ユニット名}

 ・サービスの再起動

 
# systemctl restart {ユニット名}

 ・サービスの停止

 
# systemctl stop {ユニット名}

 ・サービス自動起動を有効にする

 
# systemctl enable {ユニット名}

AWS 07 RloginでEC2インスタンスにSSH接続する

WINDOWSからSSHでサーバーに入れるツールは、rloginがおすすめ。 

********************************************************************************************************

SSH

Secure Shell(セキュアシェル、SSH)は、暗号認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルパスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。

 

SSH概要

SSHの設定や利用方法について説明する前に、まずは基本をおさえましょう。

なぜSSHを使うか?

VPS(バーチャル・プライベート・サーバー.)などの各種サーバー機器は、ほとんどの場合、操作をする人から離れた場所にあります。そのため、この操作をする人だけが安全にインターネット経由で接続できる手段が必要になります。

なぜなら、万一悪意をもった人がサーバーにログインできてしまうと、サーバー内ではやりたい放題となり、さまざまなリスクの原因となるからです。三者に金銭的な被害を及ぼす犯罪に結びつくこともあるでしょう。

そこでSSHを利用して、本来の管理目的で対象のサーバーへ安全に接続し、操作する手段が使われています。

 

**********************************************************************************************

SHELL

シェル (英語shell) はオペレーティングシステム(OS)があるような高機能なコンピュータにおいて、ユーザーのためにインタフェースを提供するコンピュータプログラムであり、オペレーティングシステムが提供する機能へのアクセスを提供する。他にも、この用語はゆるやかに応用されることもあり、特定のコンポーネントの周辺に構築された任意のソフトウェアを含むこともある。例えば、ウェブブラウザ電子メールクライアントHTMLレンダリングエンジンの「シェル」といわれることがある。コンピュータシステムとユーザーの間にある「殻」であることから、このように呼ばれる

 

f:id:ohta-felica:20210607001652p:plain

f:id:ohta-felica:20210607001802p:plain

f:id:ohta-felica:20210607001844p:plain

f:id:ohta-felica:20210607001908p:plain

 

接続完了

f:id:ohta-felica:20210607002547p:plain

サーバーとの接続を解除するには、exitと入力する。(必ずexitする)

aws 06 EC2インスタンスを作成する

EC2 

Elastic Compute Cloud 

elastic =  弾性 

 

重要概念

EC2 AWSクラウド上の仮想マシン

インスタンス EC2から立てられたサーバーのこと

AMI インスタンス(サーバー)起動に必要な情報が入ったイメージ
amazon machine image

インスタンスタイプ インスタンス(サーバー)のスペック

手順1

パブリックサブネットの中にEC2インスタンス(サーバー)を設置する。

手順2

EC2インスタンスに、Apsacheをインストールして、WEBサーバーとして起動する。

 

ApacheはWEBサーバー用のソフトウェア。

f:id:ohta-felica:20210606232907p:plain

 

 

 

 

EC2インスタンスの作成

 

f:id:ohta-felica:20210606233412p:plain

 

f:id:ohta-felica:20210606233538p:plain

 

f:id:ohta-felica:20210606233814p:plain

 

 

セキュリティーグループの作成

現状のままだと、インターネットから、WEBサーバーにアクセスできない。

HTTP通信を

 

初期設定では、SSHをポート番号22番台だけ、サーバーにアクセスできる状態。

これを、HTTPからの通信も通過できるように設定する。

f:id:ohta-felica:20210606234643p:plain

f:id:ohta-felica:20210606235153p:plain

 

aws 05 ルーティングを設定する

インターネットゲートウェイの作成

 

インターネットゲートウェイはとインターネットをつなぐ、仮想のルーター




VPCにインターネットゲートウェイをattachする。

 

 

f:id:ohta-felica:20210606225155p:plain

f:id:ohta-felica:20210606225901p:plain

VPCに紐づいていないので、「detached」の表示になっている。

 

f:id:ohta-felica:20210606230035p:plain

f:id:ohta-felica:20210606230220p:plain

 

これで、VPCにインターネットゲートウェイがアタッチされた。

 

次に、サブネットにルートテーブルを紐づけする。

名前 ****-aws-public-route

VPC サブネットがある、VPCを指定する。

 

 

ルートテーブルの作成

f:id:ohta-felica:20210606230605p:plain

ここで作成した、ルートテーブルは、VPCに紐づいているので、

パブリックサブネットに紐づけ直す。

f:id:ohta-felica:20210606230814p:plain

 

 

これで、パブリックサブネット用のルートテーブルが作成できました。

 

次に、ルートの編集をする。

「次のルーター」→AWSではターゲットと呼ぶ。

 

0.0.0.0/0→デフォルトルート

ルートテーブルに記載されている、どの宛先にも該当しない場合の行先。

このように指定しないと、すべて破棄されてしまう。 

f:id:ohta-felica:20210607143753p:plain

現状は以下の通り。

VPNの内側にあてた通信は、LOCAL(VPN)の内側にだけ送ることができる状態。

f:id:ohta-felica:20210606231154p:plain

f:id:ohta-felica:20210606231436p:plain

 

 

インターネットゲートウェイとは

VPCとインターネットをつなぐ「仮想ルータのこと」

 

ルートテーブルとは、、、

ルーターが管理している、ルーティングの情報を集めたもの、

どのIPアドレスがどのデバイスに紐づいているのか、どのネットワークに所属しているのか、、、など

 

AWSではルーターを、明示して設置しない。

サブネットを作成して、それに対して、ルートテーブルを設定すると、

暗黙的にサブネットに対してルーターが動いているような状態になる。

 

 

AWS 02 ネットワークの基礎概念

リージョン

f:id:ohta-felica:20210606214135p:plain

 

アベイラビリティーゾーン

f:id:ohta-felica:20210606214242p:plain

 

VPC virtual private cloud

リージョンをまたがって、作成することはできない。

アベイラビリティーゾーンにまたがって作成することはできる。

f:id:ohta-felica:20210606214343p:plain

 

サブネット

アベイラビリティーゾーンの中に作成

VPCの中を、さらにネットワークで区切りたいときに作成

例えば、、、

subnet1 public subnet

WEBサーバー インターネットから見える

subnet2    private subnet

DATABASEサーバー インターネットから見えない方がよい(セキュリティーの関係)

のように使用する。

 

 

 

 

 

 

リージョンを選択

VPCを作成

アベイラビリティーゾーンを選択

サーバーを立てる

 

 

 

f:id:ohta-felica:20210606214603p:plain

 

AWS 01 IAMユーザーの追加

ルートユーザー

完全なアクセス権限がある。

アカウントの変更や解約の際にだけ使用する。

極力ルートユーザーを使用しない。

 

作業用ユーザー IAMユーザー

通常の作業はIAMユーザーで行う。

 

IAM アクセス権限を管理する AWSのサービス

 

 

手順01

ルートユーザーでサインインした状態で、「マイアカウント」

 

f:id:ohta-felica:20210606212203p:plain

 

f:id:ohta-felica:20210606212256p:plain

手順02

サービス→IAMを選択

 

f:id:ohta-felica:20210606212423p:plain


ユーザーに進む

f:id:ohta-felica:20210606212616p:plain

ユーザーを追加

 

f:id:ohta-felica:20210606212836p:plain

f:id:ohta-felica:20210606213040p:plain

f:id:ohta-felica:20210606213253p:plain