AWSから始める
「Linux入門」
Linux on AmazonWeb Services
グローバルナレッジネットワーク株式会社
2017年3月21日
Who am I
• 三浦 美緒
• グローバルナレッジネットワーク 講師
• AWS Authorized Instructor
• Red Hat Certified Engineer (Red Hat Enterprise Linux 3) *expired
• 好きなLinuxの機能:LVM
• 好きなAWSのサービス:EC2
• 好きなチーム:FC東京
短い時間ですが、どうぞよろしくお願いします!
© Global Knowledge Network Japan, Ltd
Agenda
• About Linux “いまさら聞けない「Linuxとは」”
• Linux on AWS “AWS EC2インスタンスで動作するLinuxサーバーの用途は”
• Distribution “どのディストリビューションを押さえておくべきか”
• Boot Process “インスタンス起動時に注意したい点”
• Access & Login “アクセス方法は?ユーザアカウントは?”
• Commands “ログインしたらすぐ使いたいコマンドまとめ”
© Global Knowledge Network Japan, Ltd
About Linux
• Characteristic
• OSS
• UNIX-Like
• PC/AT Compatible Machine
• CUI Based Operating
• Component
• Kernel
• Shell
• Command Set
• Package Management
© Global Knowledge Network Japan, Ltd
Linux on AWS(EC2)
• Webサーバー (Apache,Nginx, etc…)
• APサーバー(Java,PHP,Perl,Ruby,Python, etc…)
• DBサーバー (MySQL,PostgreSQL, etc…)
• NATインスタンス (iptables)
• 踏み台 (OpenSSH)
※メールサーバー(Postfix,sendmail,qmail, etc…)
MTA (MailTransfer Agent)としての利用には申請が必要
“Request to Remove Email Sending Limitations”
© Global Knowledge Network Japan, Ltd
Distribution (AMI)
Distribution Characteristics Boot Filesystem Package
Manager
Amazon Linux ・AWSが保守管理
・AWS EC2に最適化
(AWS CLI や cloud-init等がプリインストール等)
init ext4 rpm(yum)
Red Hat Enterprise
Linux 7.3
・大規模エンタープライズシステム実績
・日本国内で大きなシェア
systemd xfs rpm(yum)
Ubuntu Server
16.04
・Canonical社が開発援助
・Linuxで世界No.1のシェア
systemd ext4 dpkg(apt)
SUSE Linux
Enterprise Server 12
・ドイツを中心にヨーロッパで強い
・Linuxで世界第二位のシェア
systemd Btrfs rpm(YaST)
本セミナーでは、【Amazon Linux】ベースの内容で進行します。
© Global Knowledge Network Japan, Ltd
Boot Process
• Preparation:EC2インスタンス作成
• AMI(OSテンプレート)とインスタンスタイプ(マシンスペック)を選択
• セキュリティグループ(Firewall)を設定
• キーペア(ssh接続に必要な公開鍵と秘密鍵のペア)を指定
• Boot
• EC2インスタンスを起動
• EBSボリューム(またはエフェメラルディスク)をマウント
• Linuxカーネルが起動
• initプロセスが起動
• 各種サービスが起動
• ネットワーク設定(ホスト名/IPアドレス)
© Global Knowledge Network Japan, Ltd
Access & Login
• Login Method: SSH2
• TCP Port: 22
• Authorization: 鍵認証(ホスト認証)
• Default User: ec2-user
• ClientTool:
• Windows: TeraTerm,Putty etc…
• Linux or Mac: ssh
TCP:22
© Global Knowledge Network Japan, Ltd
Commands
• ssh概要
• yumによるパッケージインストール(アップデート)
• 基本コマンド
• bashの基本機能(履歴、補完、メタキャラクタ等)
• 管理用コマンド
• 【TRY】AWS CLIを使ってみよう
Shell
Kernel
Command
H/W
Resource
CPU/Memory/HDD
etc..
© Global Knowledge Network Japan, Ltd
ssh:(今さら聞けない)sshとは?
• Secure Shell
• 暗号化された通信を行うリモートシェル
• Linux→Linux / Windows→Linux / Mac→Linux
• Windowsではクライアントプログラムを標準装備していない TeraTerm / Putty etc…
• OpenSSH : Linuxで標準的にインストールされているsshのパッケージ
• Server sshd
• Client ssh / scp / sftp
• Others ssh-keygen / ssh-copy-id etc…
• 認証方法
• パスワード認証 ユーザー名+パスワード
• 鍵認証 公開鍵(サーバー)+秘密鍵(クライアント)
※AWS EC2インスタンスへの接続には、鍵認証を利用
© Global Knowledge Network Japan, Ltd
ssh:認証と暗号化
Client Server
TCP22番ポートへアクセス
公開鍵と公開鍵で暗号化されたデータを送信Fingerprint
確認
解錠した乱数データを送信
認証完了
【基本ルール】
・公開鍵で暗号化したデータは秘密鍵でしか復号できません
・秘密鍵で暗号化したデータは公開鍵でしか復号できません
乱数生成
乱数データを
比較・検証
ログイン
© Global Knowledge Network Japan, Ltd
ssh : fingerprint 確認方法
• サーバーの取り違え、なりすましを防ぐ
• 初回アクセス時にssh clientに表示される
• EC2マネジメントコンソール
• →[ネットワーク&セキュリティ]
• →[キーペア]
© Global Knowledge Network Japan, Ltd
yum (Yellodog Updater, Modified)
• オンラインソフトウェアパッケージ管理システム
• Red Hat系のLinuxで採用
• RPM (RPM Package Manager) パッケージを配布
• カーネルやシェルなどの基本プログラムから、ApacheやPHPなどの
追加アプリケーションまで、【パッケージ】として管理
• Amazon Linux AMIからLinuxインスタンスをデプロイしたあと、
必ず(セキュリティパッチを含む)全パッケージアップデートを行うこと
• [Usage]
$ sudo yum –y update
$ sudo yum install httpd
© Global Knowledge Network Japan, Ltd
Linux基本コマンド (1)
• ディレクトリ操作
• pwd ワーキングディレクトリを表示する
$ pwd
• ls ディレクトリ以下のファイル一覧を表示する
$ ls
$ ls /etc
$ ls -l
• cd ワーキングディレクトリを移動する
$ cd /etc
• mkdir ディレクトリを新規作成する
$ mkdir newdir
© Global Knowledge Network Japan, Ltd
Linux基本コマンド (2)
• ファイル操作
• cat,more,less テキストファイルの内容を表示する
$ cat /etc/passwd
• cp ファイルをコピーする
$ cp /etc/passwd passwd.tmp
$ cp passwd.tmp newdir/
• mv ファイルを別ディレクトリに移動する/ファイル名を変更する
$ mv passwd.tmp passwd.txt
$ mv passwd.txt newdir/
• rm ファイルを削除する/ディレクトリを削除する
$ rm newdir/passwd.txt
$ rm –r newdir
© Global Knowledge Network Japan, Ltd
Linux基本コマンド (3)
• テキストファイルの編集
• nano ターミナル上でテキストファイルを編集
$ nano
• vi 同上 ※操作が独特のため今回は起動しない
• ネットワーク関連
• curl コマンドラインで指定URLへHTTPアクセス
$ curl http://169.254.169.254/latest/meta-data/
• ip ネットワークの確認
$ ip addr show eth0
$ ip route show
• その他
• exit セッションの終了
$ exit
© Global Knowledge Network Japan, Ltd
シェル(bash)の機能
• コマンド履歴
• カーソルキー[↑]でこれまでに実行したコマンドを遡り再実行できます
• ファイル名補完
• [Tab]キーで、指定するファイル名を自動で補います
• 複数候補がある場合は、[Tab]を2回タップすると候補を表示します
• メタキャラクタ
• 操作対象のファイル名の一部にワイルドカード([*]や[?])を指定できます
• 複数のファイルを簡単に指定できます
© Global Knowledge Network Japan, Ltd
Linux管理用コマンド
• 管理者としてコマンドを実行するには
• sudo 管理者の権限でコマンドを実行する
$ cat /etc/shadow
$ sudo cat /etc/shadow
$ sudo reboot
• ユーザー登録
• useradd ユーザーを追加
$ sudo useradd newuser
• passwd パスワードを変更
$ sudo passwd newuser
• su ユーザーの置き換え
$ su - newuser
© Global Knowledge Network Japan, Ltd
AWS CLI:Install
• AWS CLIとは
• AWSの各種サービスを操作できるCommand Line Interface
• インターネット経由でAWSへアクセス
• 指定したアカウントの権限内でAWSリソースを操作
• Amazon LinuxAMIには、あらかじめインストール済み
• Pythonベースのプログラム
• インストール (Linux & Mac)
• Tool:PIP
• Reqired:Python 2 version 2.6.5+ or Python 3 version 3.3+, pip
• インストール (Windows)
• Tool:MSI
詳しくは ▶ https://aws.amazon.com/jp/cli/
© Global Knowledge Network Japan, Ltd
AWS CLI:Setup
• Setup
• [IAMマネジメントコンソール]
• →[ユーザー]でアクセスに使用するユーザーを指定
• →[認証情報]タブから、【アクセスキーID】【シークレットアクレスキー】を確認or作成
• AWS CLIをインストールした端末で、認証情報を設定
$ aws configure
AWS Access Key ID [None]:XXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]:XXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1 ←東京リージョン
Default output format [None]: ←省略時のデフォルトはJSON
© Global Knowledge Network Japan, Ltd
AWS CLI:実行例
• EC2
• 使用できるサブコマンドの確認
$ aws ec2 help
• インスタンス情報の表示
$ aws ec2 describe-instances
$ aws ec2 --output=text describe-instances
• S3
• 使用できるサブコマンドの確認
$ aws s3 help
• バケット内のファイル表示
$ aws s3 ls s3://<bucket-name>
• バケット内のファイルをローカルにコピー(ダウンロード)
$ aws s3 cp s3://<bucket-name>/<object-name> .
© Global Knowledge Network Japan, Ltd
以上です!!
© Global Knowledge Network Japan, Ltd
• Linuxをはじめて学ぶ方には
• LUC0127G Linuxオペレーション入門 2日間 90,000円
• LUC0128G Linuxシステム管理入門 3日間 135,000円
• クラウド環境でLinuxを利用する方には
• LUC0127G Linuxオペレーション入門 2日間 90,000円
• LUC0129G Bash シェルプログラミング 2日間 90,000円
© Global Knowledge Network Japan, Ltd
さらに詳しく、実機を使って
コマンド操作を学びたい方に
おすすめ!

無料セミナー20170321 awsから始めるlinux入門

  • 1.
    AWSから始める 「Linux入門」 Linux on AmazonWebServices グローバルナレッジネットワーク株式会社 2017年3月21日
  • 2.
    Who am I •三浦 美緒 • グローバルナレッジネットワーク 講師 • AWS Authorized Instructor • Red Hat Certified Engineer (Red Hat Enterprise Linux 3) *expired • 好きなLinuxの機能:LVM • 好きなAWSのサービス:EC2 • 好きなチーム:FC東京 短い時間ですが、どうぞよろしくお願いします! © Global Knowledge Network Japan, Ltd
  • 3.
    Agenda • About Linux“いまさら聞けない「Linuxとは」” • Linux on AWS “AWS EC2インスタンスで動作するLinuxサーバーの用途は” • Distribution “どのディストリビューションを押さえておくべきか” • Boot Process “インスタンス起動時に注意したい点” • Access & Login “アクセス方法は?ユーザアカウントは?” • Commands “ログインしたらすぐ使いたいコマンドまとめ” © Global Knowledge Network Japan, Ltd
  • 4.
    About Linux • Characteristic •OSS • UNIX-Like • PC/AT Compatible Machine • CUI Based Operating • Component • Kernel • Shell • Command Set • Package Management © Global Knowledge Network Japan, Ltd
  • 5.
    Linux on AWS(EC2) •Webサーバー (Apache,Nginx, etc…) • APサーバー(Java,PHP,Perl,Ruby,Python, etc…) • DBサーバー (MySQL,PostgreSQL, etc…) • NATインスタンス (iptables) • 踏み台 (OpenSSH) ※メールサーバー(Postfix,sendmail,qmail, etc…) MTA (MailTransfer Agent)としての利用には申請が必要 “Request to Remove Email Sending Limitations” © Global Knowledge Network Japan, Ltd
  • 6.
    Distribution (AMI) Distribution CharacteristicsBoot Filesystem Package Manager Amazon Linux ・AWSが保守管理 ・AWS EC2に最適化 (AWS CLI や cloud-init等がプリインストール等) init ext4 rpm(yum) Red Hat Enterprise Linux 7.3 ・大規模エンタープライズシステム実績 ・日本国内で大きなシェア systemd xfs rpm(yum) Ubuntu Server 16.04 ・Canonical社が開発援助 ・Linuxで世界No.1のシェア systemd ext4 dpkg(apt) SUSE Linux Enterprise Server 12 ・ドイツを中心にヨーロッパで強い ・Linuxで世界第二位のシェア systemd Btrfs rpm(YaST) 本セミナーでは、【Amazon Linux】ベースの内容で進行します。 © Global Knowledge Network Japan, Ltd
  • 7.
    Boot Process • Preparation:EC2インスタンス作成 •AMI(OSテンプレート)とインスタンスタイプ(マシンスペック)を選択 • セキュリティグループ(Firewall)を設定 • キーペア(ssh接続に必要な公開鍵と秘密鍵のペア)を指定 • Boot • EC2インスタンスを起動 • EBSボリューム(またはエフェメラルディスク)をマウント • Linuxカーネルが起動 • initプロセスが起動 • 各種サービスが起動 • ネットワーク設定(ホスト名/IPアドレス) © Global Knowledge Network Japan, Ltd
  • 8.
    Access & Login •Login Method: SSH2 • TCP Port: 22 • Authorization: 鍵認証(ホスト認証) • Default User: ec2-user • ClientTool: • Windows: TeraTerm,Putty etc… • Linux or Mac: ssh TCP:22 © Global Knowledge Network Japan, Ltd
  • 9.
    Commands • ssh概要 • yumによるパッケージインストール(アップデート) •基本コマンド • bashの基本機能(履歴、補完、メタキャラクタ等) • 管理用コマンド • 【TRY】AWS CLIを使ってみよう Shell Kernel Command H/W Resource CPU/Memory/HDD etc.. © Global Knowledge Network Japan, Ltd
  • 10.
    ssh:(今さら聞けない)sshとは? • Secure Shell •暗号化された通信を行うリモートシェル • Linux→Linux / Windows→Linux / Mac→Linux • Windowsではクライアントプログラムを標準装備していない TeraTerm / Putty etc… • OpenSSH : Linuxで標準的にインストールされているsshのパッケージ • Server sshd • Client ssh / scp / sftp • Others ssh-keygen / ssh-copy-id etc… • 認証方法 • パスワード認証 ユーザー名+パスワード • 鍵認証 公開鍵(サーバー)+秘密鍵(クライアント) ※AWS EC2インスタンスへの接続には、鍵認証を利用 © Global Knowledge Network Japan, Ltd
  • 11.
  • 12.
    ssh : fingerprint確認方法 • サーバーの取り違え、なりすましを防ぐ • 初回アクセス時にssh clientに表示される • EC2マネジメントコンソール • →[ネットワーク&セキュリティ] • →[キーペア] © Global Knowledge Network Japan, Ltd
  • 13.
    yum (Yellodog Updater,Modified) • オンラインソフトウェアパッケージ管理システム • Red Hat系のLinuxで採用 • RPM (RPM Package Manager) パッケージを配布 • カーネルやシェルなどの基本プログラムから、ApacheやPHPなどの 追加アプリケーションまで、【パッケージ】として管理 • Amazon Linux AMIからLinuxインスタンスをデプロイしたあと、 必ず(セキュリティパッチを含む)全パッケージアップデートを行うこと • [Usage] $ sudo yum –y update $ sudo yum install httpd © Global Knowledge Network Japan, Ltd
  • 14.
    Linux基本コマンド (1) • ディレクトリ操作 •pwd ワーキングディレクトリを表示する $ pwd • ls ディレクトリ以下のファイル一覧を表示する $ ls $ ls /etc $ ls -l • cd ワーキングディレクトリを移動する $ cd /etc • mkdir ディレクトリを新規作成する $ mkdir newdir © Global Knowledge Network Japan, Ltd
  • 15.
    Linux基本コマンド (2) • ファイル操作 •cat,more,less テキストファイルの内容を表示する $ cat /etc/passwd • cp ファイルをコピーする $ cp /etc/passwd passwd.tmp $ cp passwd.tmp newdir/ • mv ファイルを別ディレクトリに移動する/ファイル名を変更する $ mv passwd.tmp passwd.txt $ mv passwd.txt newdir/ • rm ファイルを削除する/ディレクトリを削除する $ rm newdir/passwd.txt $ rm –r newdir © Global Knowledge Network Japan, Ltd
  • 16.
    Linux基本コマンド (3) • テキストファイルの編集 •nano ターミナル上でテキストファイルを編集 $ nano • vi 同上 ※操作が独特のため今回は起動しない • ネットワーク関連 • curl コマンドラインで指定URLへHTTPアクセス $ curl http://169.254.169.254/latest/meta-data/ • ip ネットワークの確認 $ ip addr show eth0 $ ip route show • その他 • exit セッションの終了 $ exit © Global Knowledge Network Japan, Ltd
  • 17.
    シェル(bash)の機能 • コマンド履歴 • カーソルキー[↑]でこれまでに実行したコマンドを遡り再実行できます •ファイル名補完 • [Tab]キーで、指定するファイル名を自動で補います • 複数候補がある場合は、[Tab]を2回タップすると候補を表示します • メタキャラクタ • 操作対象のファイル名の一部にワイルドカード([*]や[?])を指定できます • 複数のファイルを簡単に指定できます © Global Knowledge Network Japan, Ltd
  • 18.
    Linux管理用コマンド • 管理者としてコマンドを実行するには • sudo管理者の権限でコマンドを実行する $ cat /etc/shadow $ sudo cat /etc/shadow $ sudo reboot • ユーザー登録 • useradd ユーザーを追加 $ sudo useradd newuser • passwd パスワードを変更 $ sudo passwd newuser • su ユーザーの置き換え $ su - newuser © Global Knowledge Network Japan, Ltd
  • 19.
    AWS CLI:Install • AWSCLIとは • AWSの各種サービスを操作できるCommand Line Interface • インターネット経由でAWSへアクセス • 指定したアカウントの権限内でAWSリソースを操作 • Amazon LinuxAMIには、あらかじめインストール済み • Pythonベースのプログラム • インストール (Linux & Mac) • Tool:PIP • Reqired:Python 2 version 2.6.5+ or Python 3 version 3.3+, pip • インストール (Windows) • Tool:MSI 詳しくは ▶ https://aws.amazon.com/jp/cli/ © Global Knowledge Network Japan, Ltd
  • 20.
    AWS CLI:Setup • Setup •[IAMマネジメントコンソール] • →[ユーザー]でアクセスに使用するユーザーを指定 • →[認証情報]タブから、【アクセスキーID】【シークレットアクレスキー】を確認or作成 • AWS CLIをインストールした端末で、認証情報を設定 $ aws configure AWS Access Key ID [None]:XXXXXXXXXXXXXXXXXX AWS Secret Access Key [None]:XXXXXXXXXXXXXXXXXXXXXXXXX Default region name [None]: ap-northeast-1 ←東京リージョン Default output format [None]: ←省略時のデフォルトはJSON © Global Knowledge Network Japan, Ltd
  • 21.
    AWS CLI:実行例 • EC2 •使用できるサブコマンドの確認 $ aws ec2 help • インスタンス情報の表示 $ aws ec2 describe-instances $ aws ec2 --output=text describe-instances • S3 • 使用できるサブコマンドの確認 $ aws s3 help • バケット内のファイル表示 $ aws s3 ls s3://<bucket-name> • バケット内のファイルをローカルにコピー(ダウンロード) $ aws s3 cp s3://<bucket-name>/<object-name> . © Global Knowledge Network Japan, Ltd
  • 22.
  • 23.
    • Linuxをはじめて学ぶ方には • LUC0127GLinuxオペレーション入門 2日間 90,000円 • LUC0128G Linuxシステム管理入門 3日間 135,000円 • クラウド環境でLinuxを利用する方には • LUC0127G Linuxオペレーション入門 2日間 90,000円 • LUC0129G Bash シェルプログラミング 2日間 90,000円 © Global Knowledge Network Japan, Ltd さらに詳しく、実機を使って コマンド操作を学びたい方に おすすめ!