a/c/example.txt
../c/example.txt
pwd print working directory working directoryをprint(出力)する。
working directory =current directory
../../c/example.txt
/c/example.txt
/B/D
../B/D
webかたつむり ウェブデザインを勉強中 ウェブ初心者のおぼえがき
テナンシーとは、、、
物理的なハードウェアをほかのユーザーと共有せず、占有して仮想マシンを起動できる。
EC2→仮想マシンを作成するサービス。
2 サブネットの作成
サブネットでは、パブリックIPv4の、アドレスの自動割り当てを有効にしない。
3 EC2インスタンスの作成
テナンシーは「共有」にしておく→余計な費用をかけない。
EC2インスタンスに於いて(WEBサーバーとして使用する)IPv4アドレスの自動割り当てを設定しておく。
セキュリティーグループは、インスタンス(仮想マシン)のトラフィックを制御するファイアウォールのルールセット。
デフォルトでは、ポート22,SSH接続のみ許可されている。
EC2インスタンス接続用の、キーペアが発行される。ダウンロードして保管。
ssh -i →認証に使用する秘密鍵を渡す。認証鍵の.pemファイルのパスを指定する。
ec2-user →ユーザー名は自動的にec2-userとなる。@以下が、ec2インスタンスのパブリックIP
現在の構成のままでは、SSH接続ができない。
ネットワークの構成を変更する。
VPCのサブネットから、インターネットに出るための経路が存在していないから。
7 サブネットのルートテーブルを変更してInternet-gatewayへのルートを追加する。
デフォルトの状態
0.0.0.0/0 ターゲットを、インターネットゲートウェイにする。
8 セキュリティーグループの作成
設定頻度が高い
EC2インスタンスへ、入ってくる通信(inbound traffic)、出ていく通信(outbound traffic)に対して、どのような形式を許可するのかを定義する。
インスタンスの用途に応じて作成する。
作成するセキュリティーグループは、複数のインスタンスに適用できる。
また、サブネットをまたいで設定することも可能。
外部から、セキュリティーグループに入ってくる通信→インバウンドトラフィック
セキュリティーグループから出ていく通信→アウトバンドトラフィック
*** ステートフル**************************************
通信の行きと戻りの対応を保持すること。
戻りの通信は自動的にファイアウォールを通過できる
**********************************************************
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 →インストール可能なパッケージを表示する
sudo amazon-linux-extras install httpd_modules インストールする
sudo systemctl start httpd_modules 起動する
sudo systemctl status httpd_modules 状態の確認
10 セキュリティーグループの修正
SSHとHTTPの通信が、EC2インスタンスで許可されています。
11 ネットワークACL(アクセスリスト)
セキュリティーグループは、EC2インスタンスに対するファイアウォール
ネットワークACLは、サブネットに対する、ファイアウォール。
ステートレス。インバウンド、アウトバウンド両方について設定する。
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)
** インターネットゲートウェイを設置(VPCの画面から作成)
** VPCにアタッチする
** 暗示的なルーターで、サブネットを作成すると、自動的に VPCの中に設置
** インターネットゲートウェイへのルートを追加する(ルートテーブルを作成)
ターゲット=インターネットゲートウェイへのルートを作成する。(ルートを追加)
インスタンス(仮想サーバー)に設置
ファイアウォールの機能
EC2インスタンスに設定する
ステートフルである
VPCのサブネットを作成すると、ルーターは暗示的に作成される。
VPCのサブネットから、インターネットに出る経路(インターネットゲートウェイ)は存在していない。
サブネットに、インターネットゲートウェイを作成する。
****-gw
sudo yum update -y
yum linax のパッケージ管理ツール
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 | 詳しいメッセージを出力する |
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 {ユニット名}
WINDOWSからSSHでサーバーに入れるツールは、rloginがおすすめ。
********************************************************************************************************
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
SSHの設定や利用方法について説明する前に、まずは基本をおさえましょう。
VPS(バーチャル・プライベート・サーバー.)などの各種サーバー機器は、ほとんどの場合、操作をする人から離れた場所にあります。そのため、この操作をする人だけが安全にインターネット経由で接続できる手段が必要になります。
なぜなら、万一悪意をもった人がサーバーにログインできてしまうと、サーバー内ではやりたい放題となり、さまざまなリスクの原因となるからです。第三者に金銭的な被害を及ぼす犯罪に結びつくこともあるでしょう。
そこでSSHを利用して、本来の管理目的で対象のサーバーへ安全に接続し、操作する手段が使われています。
**********************************************************************************************
SHELL
シェル (英語: shell) はオペレーティングシステム(OS)があるような高機能なコンピュータにおいて、ユーザーのためにインタフェースを提供するコンピュータプログラムであり、オペレーティングシステムが提供する機能へのアクセスを提供する。他にも、この用語はゆるやかに応用されることもあり、特定のコンポーネントの周辺に構築された任意のソフトウェアを含むこともある。例えば、ウェブブラウザや電子メールクライアントはHTMLレンダリングエンジンの「シェル」といわれることがある。コンピュータシステムとユーザーの間にある「殻」であることから、このように呼ばれる
接続完了
サーバーとの接続を解除するには、exitと入力する。(必ずexitする)
EC2
Elastic Compute Cloud
elastic = 弾性
重要概念
インスタンス EC2から立てられたサーバーのこと
AMI インスタンス(サーバー)起動に必要な情報が入ったイメージ
amazon machine image
手順1
パブリックサブネットの中にEC2インスタンス(サーバー)を設置する。
手順2
EC2インスタンスに、Apsacheをインストールして、WEBサーバーとして起動する。
ApacheはWEBサーバー用のソフトウェア。
EC2インスタンスの作成
セキュリティーグループの作成
現状のままだと、インターネットから、WEBサーバーにアクセスできない。
HTTP通信を
初期設定では、SSHをポート番号22番台だけ、サーバーにアクセスできる状態。
これを、HTTPからの通信も通過できるように設定する。
インターネットゲートウェイの作成
インターネットゲートウェイはとインターネットをつなぐ、仮想のルーター。
インターネット・ゲートウェイは、VPNに追加してインターネットへの直接接続を有効にできるオプションの仮想ルーターです。
ゲートウェイは、VPN (エグレス)内から開始された接続およびインターネット(イングレス)から開始された接続をサポートします。
インターネット・アクセスのためにゲートウェイを使用する必要のあるリソースは、パブリック・サブネットに存在し、パブリックIPアドレスを持つ必要があります。プライベートIPアドレスを持つリソースは、かわりにNATゲートウェイを使用してインターネットへの接続を開始できます。
インターネット・ゲートウェイを使用する必要のある各パブリック・サブネットには、ターゲットとしてゲートウェイを指定するルート表のルールが必要です。
VPCに紐づいていないので、「detached」の表示になっている。
これで、VPCにインターネットゲートウェイがアタッチされた。
次に、サブネットにルートテーブルを紐づけする。
名前 ****-aws-public-route
ルートテーブルの作成
ここで作成した、ルートテーブルは、VPCに紐づいているので、
パブリックサブネットに紐づけ直す。
これで、パブリックサブネット用のルートテーブルが作成できました。
次に、ルートの編集をする。
0.0.0.0/0→デフォルトルート
ルートテーブルに記載されている、どの宛先にも該当しない場合の行先。
このように指定しないと、すべて破棄されてしまう。
現状は以下の通り。
VPNの内側にあてた通信は、LOCAL(VPN)の内側にだけ送ることができる状態。
インターネットゲートウェイとは
VPCとインターネットをつなぐ「仮想ルータのこと」
ルートテーブルとは、、、
ルーターが管理している、ルーティングの情報を集めたもの、
どのIPアドレスがどのデバイスに紐づいているのか、どのネットワークに所属しているのか、、、など
サブネットを作成して、それに対して、ルートテーブルを設定すると、
暗黙的にサブネットに対してルーターが動いているような状態になる。
リージョン
アベイラビリティーゾーン
VPC virtual private cloud
リージョンをまたがって、作成することはできない。
アベイラビリティーゾーンにまたがって作成することはできる。
サブネット
アベイラビリティーゾーンの中に作成
VPCの中を、さらにネットワークで区切りたいときに作成
例えば、、、
subnet1 public subnet
WEBサーバー インターネットから見える
subnet2 private subnet
DATABASEサーバー インターネットから見えない方がよい(セキュリティーの関係)
のように使用する。
リージョンを選択
VPCを作成
アベイラビリティーゾーンを選択
サーバーを立てる
ルートユーザー
完全なアクセス権限がある。
アカウントの変更や解約の際にだけ使用する。
極力ルートユーザーを使用しない。
作業用ユーザー IAMユーザー
通常の作業はIAMユーザーで行う。
IAM アクセス権限を管理する AWSのサービス
手順01
ルートユーザーでサインインした状態で、「マイアカウント」
手順02
サービス→IAMを選択
ユーザーに進む
ユーザーを追加