最初の週.AWS&仮想サーバ
[概要]
1.クラウドとAWSの概要
2.IaaSのEC 2(仮想サーバ)の導入と使用
クラウドとは、インターネットを通じていつでもどこでも自由にITリソース(コンピューティング、ストレージ、ネットワーク)を利用するサービスです.
インターネットを通じてユーザーにITインフラストラクチャを提供するクラウドコンピューティング オペレーティングシステム、データ・ミドルウェア、ランタイム、およびアプリケーションをユーザーが管理する
ハードウェア・アプリケーション・ソフトウェア・プラットフォームをベンダーから提供するクラウドコンピューティング インフラストラクチャの導入と保守は不要
クラウドコンピューティング ユーザーにクラウドアプリケーションと基本ITインフラストラクチャ、プラットフォームを提供するユーザー管理不要
開発者はサーバを管理する必要はありません クラウドプロバイダがサーバインフラストラクチャの構成、メンテナンス、スケーリングなどのタスクを処理
通常、クラウドサービスプロバイダが運営管理し、ユーザーがクラウドリソースを使用するモデル
ユーザーがエンタープライズ・データ・センター内でクラウド・プラットフォームを構築し、直接使用するモデル
Amazon Webサービスは、グローバルに分散したデータセンターで多様なサービスを提供するクラウドプラットフォームです.
💡 AWS公式サイト:https://aws.amazon.com/ko/Webサービスを使用して、ビジネスおよび開発者が拡張性と細かいアプリケーションを構築できるよう支援 現在、複数のユーザー(企業や個人を含む)が使用しており、多くの大手企業もクラウドコンピューティングのメリットを利用しています.
💡 AWS EC 2インスタンスを導入し、Webを介してWebに接続し、Webサービスの実装と検証を行います.
💡 雅美って何?
インスタンスの起動に必要なソフトウェア構成(オペレーティングシステム、アプリケーションサーバ、アプリケーション)を含むテンプレート.
この練習では、
💡 インスタンスとは?
アプリケーションを実行できる仮想サーバには、CPU、メモリ、ストレージ、ネットワーク容量など、さまざまな組み合わせがあります.
この練習では、
インスタンス数(1)、パブリックIPの自動割り当て(有効)
インスタンスで使用するストレージデバイスをインストールします.
タグを付けると、インスタンス、画像、その他のAmazon EC 2リソースを簡単に管理できます.指定したタグに基づいて、特定のリソースをすばやく識別できます.
キー:
💡 セキュリティグループとは?
インスタンス通信のファイアウォールルールセット(許可ルール)を制御します. サーバの違い:インターネット通信で目的地に到着する必要がある→IP情報 サーバ内のサービスを区別:必要→Port情報(0から65535) HTTP(80) , SSH(22)
ダッシュボードに作成されたEC 2が接続されているかどうかを確認できます.本実験では,AWSが提供するSSHを介して接続する方法を学習した.
[Linuxの基本コマンドを使用して配備されたEC 2の基本情報を検証]現在接続されているユーザを特定 現在のLinuxバージョン情報の表示 現在のサーバリソース情報の表示 多種類のシステム関連負荷検査ツールをインストール
dstatを使用してシステム負荷を検証する
例)dstat-t(瞬時)l(平均負荷)m(メモリ)a(cdngy CPUディスクネットワークパッケージングシステム)--出力(出力をcsvファイルとして保存)3(毎秒)
htop CPUメモリなどのシステムリソースをチェック IP情報確認 その他の有用な情報を知る
Webサービスとindexをインストールします.htmlファイルの生成rootアカウントに切り替え ウェブサービスのインストールと実行 Webページ構成 検証ファイル生成 ファイル内容の確認 検証Web接続(curl) Webサービス行動チェック Webブラウザを介してEC 2に接続されたパブリックIP認証Webサービス接続
1.クラウドとAWSの概要
2.IaaSのEC 2(仮想サーバ)の導入と使用
📌 雲とは何ですか。
クラウドとは、インターネットを通じていつでもどこでも自由にITリソース(コンピューティング、ストレージ、ネットワーク)を利用するサービスです.
[クラウドサービスタイプ]
IaaS (Infrastructure as a Service)
PaaS (Platform as a Service)
SaaS (Software as a Service)
Serverless
[3つのクラウド実装モデル]
パブリッククラウド
通常、クラウドサービスプロバイダが運営管理し、ユーザーがクラウドリソースを使用するモデル
プライベートクラウド(=オープンクラウド)
ユーザーがエンタープライズ・データ・センター内でクラウド・プラットフォームを構築し、直接使用するモデル
こんごううん
Public CloudとOnPremissともにサービスを提供している機種📌 AWSクラウドの概要
Amazon Webサービスは、グローバルに分散したデータセンターで多様なサービスを提供するクラウドプラットフォームです.
💡 AWS公式サイト:https://aws.amazon.com/ko/
📌 プレゼンテーション練習EC 2(仮想サーバ)の導入と使用
💡 AWS EC 2インスタンスを導入し、Webを介してWebに接続し、Webサービスの実装と検証を行います.
🔍 AWS管理コンソールに接続し、EC 2を配備
EC 2サービス→「インスタンスの起動」をクリックします。
Amazon Machine Image(AMI)を選択
💡 雅美って何?
インスタンスの起動に必要なソフトウェア構成(オペレーティングシステム、アプリケーションサーバ、アプリケーション)を含むテンプレート.
この練習では、
Amazon Linux 2 AMI : 64bit(x86)
を選択します.インスタンスタイプの選択(仕様)
💡 インスタンスとは?
アプリケーションを実行できる仮想サーバには、CPU、メモリ、ストレージ、ネットワーク容量など、さまざまな組み合わせがあります.
この練習では、
t2.micro vCPU(1) MEM(1GiB)
を選択します.構成インスタンスの詳細→ほとんどのDefault設定
インスタンス数(1)、パブリックIPの自動割り当て(有効)
ストレージの追加を選択しました
インスタンスで使用するストレージデバイスをインストールします.
タグの追加
タグを付けると、インスタンス、画像、その他のAmazon EC 2リソースを簡単に管理できます.指定したタグに基づいて、特定のリソースをすばやく識別できます.
キー:
Name
&値:FirstServer
安全ユニット構成★★★★
💡 セキュリティグループとは?
インスタンス通信のファイアウォールルールセット(許可ルール)を制御します.
スタート
ダッシュボードに作成されたEC 2が接続されているかどうかを確認できます.本実験では,AWSが提供するSSHを介して接続する方法を学習した.
🔍 EC 2インスタンスにWebサービスをインストールする
[Linuxの基本コマンドを使用して配備されたEC 2の基本情報を検証]
# 현재 접속한 사용자 확인
[ec2-user@ip-172-31-46-223 ~]$ whoami
ec2-user
# 현재 Linux 버전 정보 확인
[ec2-user@ip-172-31-46-223 ~]$ cat /etc/system-release
Amazon Linux release 2 (Karoo)
# CPU 확인
[root@ip-172-31-43-250 ~]# cat /proc/cpuinfo |egrep '(processor|name)'
processor : 0
model name : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
# 메모리 확인
[root@ip-172-31-43-250 ~]# cat /proc/meminfo |grep MemTotal
MemTotal: 1006900 kB
# 스토리지 확인 : 부트볼륨(EBS) 정보 확인
[ec2-user@ip-172-31-46-223 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1ㅇㄹ -ㅗ
202:1 0 8G 0 part /
[ec2-user@ip-172-31-46-223 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 482M 0 482M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 460K 492M 1% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 1.4G 6.7G 18% /
tmpfs 99M 0 99M 0% /run/user/0
tmpfs 99M 0 99M 0% /run/user/1000
# sudo 는 슈퍼유저의 권한으로 실행
[ec2-user@ip-172-31-46-223 ~]$ sudo yum -y install dstat htop
dstatを使用してシステム負荷を検証する
例)dstat-t(瞬時)l(平均負荷)m(メモリ)a(cdngy CPUディスクネットワークパッケージングシステム)--出力(出力をcsvファイルとして保存)3(毎秒)
[ec2-user@ip-172-31-46-223 ~]$ dstat -tlma 1
----system---- ---load-avg--- ------memory-usage----- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
time | 1m 5m 15m | used buff cach free|usr sys idl wai hiq siq| read writ| recv send| in out | int csw
13-02 06:16:22| 0 0 0| 110M 2088k 384M 487M| 1 0 98 0 0 0| 227k 335k| 0 0 | 0 0 | 38 131
13-02 06:16:23| 0 0 0| 110M 2088k 384M 487M| 0 0 100 0 0 0| 0 0 | 52B 1412B| 0 0 | 32 59
# CTRL + C 로 빠져나오기
# htop 으로 CPU Memory 등 시스템 자원 확인
[ec2-user@ip-172-31-46-223 ~]$ htop
# CTRL + C 로 빠져나오기
# 프라이빗 IP 정보 확인
[ec2-user@ip-172-31-46-223 ~] ip -br -c addr show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 172.31.46.223/20 fe80::880:baff:fe0f:2598/64
[ec2-user@ip-172-31-46-223 ~]$ ip a
# 퍼블릭 IP 정보 확인
[ec2-user@ip-172-31-46-223 ~]$ curl ipinfo.io
# 서비스 제공 확인(포트 Listen) : SSH(서버 서비스 중, TCP 22 포트 사용)
# 예시) ss -t(TCP) -l(Listen) -n(숫자로 출력)
[ec2-user@ip-172-31-46-223 ~]$ ss -tl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:***
...
[ec2-user@ip-172-31-46-223 ~]$ ss -tln
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:***
...
# -t(TCP 세션 연결)
[ec2-user@ip-172-31-46-223 ~]$ ss -ttn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 172.31.46.223:22 13.209.1.57:53559
# -p(프로세스 정보, 관리자 권한 필요)
[ec2-user@ip-172-31-46-223 ~]$ sudo ss -ttnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 172.31.46.223:22 13.209.1.57:53559
users:(("sshd",pid=4446,fd=3),("sshd",pid=4044,fd=3))
🔍 WebブラウザによるEC 2へのパブリックIP接続によるWebサービス接続の検証
Webサービスとindexをインストールします.htmlファイルの生成
# 실습의 편리를 위해서 root 계정으로 전환합니다.
# 실제 현업에서 root(관리자, 수퍼유저)로 사용은 되도록 금합니다. 하지만 실습의 경우이니 편리성을 위해서 관리자로 전환하여 진행합니다.
[ec2-user@ip172-31-39-148 ~]$ sudo su -
# Web 서비스를 설치합니다.
[root@ip-172-31-39-148 ~]# yum install httpd -y
# Web 서비스를 실행합니다.
[root@ip-172-31-39-148 ~]# systemctl start httpd
# 웹 페이지를 구성합니다.
# 기본 웹 페이지 디렉터리는 /var/www/html 이다.
# 아래 명령어는 본문 내용을 담아서 index.html 파일을 생성한다
## (심화) Apache는 파일에 접근 시에 디렉토리만 지정될 경우에 기본으로 반환하는 파일을 "DirectoryIndex"로 지정하며 보통 'index.html' 포함됨
[root@ip-172-31-39-148 ~]# echo "<h1>Test Web Server</h1>" > /var/www/html/index.html
[root@ip-172-31-39-148 ~]# ls /var/www/html/
index.html
# cat 로 생성된 파일 내용 확인
[root@ip-172-31-39-148 ~]# cat /var/www/html/index.html
<h1>Test Web Server</h1>
# curl(CLI 웹 요청 명령어) 명령어로 웹 접속을 확인합니다.
[root@ip-172-31-39-148 ~]# curl localhost
<h1>Test Web Server</h1>
# 웹 서비스 동작 확인 - TCP 80(HTTP)를 사용
[root@ip-172-31-39-148 ~]# ss -tl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
...
LISTEN 0 128 *:http *:*
[root@ip-172-31-39-148 ~]# ss -tln
State Recv-Q Send-Q Local Address:Port Peer Address:Port
...
LISTEN 0 128
Reference
この問題について(最初の週.AWS&仮想サーバ), 我々は、より多くの情報をここで見つけました https://velog.io/@hyun0820/1주차.-AWS-가상서버テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol