ぽれいんのブログ

エンジニアになるために覚えたことを日記に付けます。

AWSSAA~最重要サービス~

はじめに

インフラエンジニア初学者のぽれいんと申します。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<参考>

books.rakuten.co.jp

AWS IAM(ユーザーアクセスと暗号化キーの管理)| AWS

 

 

 

 

今回のやりたいこと

AWSソリューションアーキテクトアソシエイトの学習のためにAWSのサービスで最重要なサービスを簡単にまとめたいと思います。需要があればご覧ください。

 

IAM

AWS Identify and Access Management(IAM)では、AWSのサービスやリソースへのアクセスを安全に管理できる。IAMを使用すると、AWSのユーザとグループを作成および管理し、アクセス権を使用してAWSリソースへのアクセスを許可および拒否できる。

ポイント

  • 利用者ごとのIAMユーザ作成
  • 最小権限の原則
  • AWSリソースからのアクセスにはIAMロールを使う

利用者ごとのIAMユーザの作成

AWSにはアカウント作成時に作られたAWSルートアカウントがある。AWSルートアカウントは、利用者の追跡やアクセス制限が難しいため、原則として通常の運用には使わない。ユーザごとにIAMユーザを発行し、パスワードポリシー多要素認証(MFA)を設定する。ユーザ本人しか利用できないようにすることで誰がリソースを操作したか追跡できるようになる。(操作の追跡にはCloudTrailを利用し、設定履歴の確認にはAWS Configを利用。)

最小権限の原則

IAMユーザIAMロールは必要な操作権限を最小限に付与することが重要。たとえば、通常の開発者にはネットワークの操作権限は不要で、運用者にはインスタンスの起動停止のみで十分な場合が多い。業務で必要な権限以外を与えないことで、万が一アクセス権を奪われても被害を最小限に抑えることができる。

AWSリソースからのアクセスにはIAMロールを使う

IAMロールは、AWSリソースなどサービスに対して付与できる。たとえば、EC2インスタンスにロールを付与することでインスタンスのプログラムからAWSを操作できるようになる。プログラムにIAMユーザのアクセスキー・シークレットキーを付与すると、キー流出の危険性は高くなる。できる限りロールを使用する。

 

VPC

Amazon virtyual Private Cloud(VPC)は利用者ごとのプライベートなネットワークをAWS内に作成する。VPCはインターネットゲートウェイと呼ばれるインターネット側への出口を付けることで直接インターネットに出ていくことが可能。また、オンプレミスの各拠点へ繋げるために仮想プライベートゲートウェイを出口として、専用線のサービスであるDirect ConnectVPN経由で直接的にインターネットに出ることなく各拠点と接続することも可能。(VPC内に配置できないサービスとしてS3CloudWatchDynamoDBなどがある。)

 

EC2(+EBS)

Amazon Elastic Conpute Cloud(EC2)は仮想サーバを提供するコンピューティングサービス。インスタンスという単位でサーバが管理され簡単にサーバを構築することが可能。そのため、オンプレミス環境に比べてサーバ調達のリードタイムを非常に短くできる。また、インスタンス性能を決めるほかの重要な要因として、ディスク機能であるElastic Block Store(EBS)がある。EC2では通常の通信で使用するネットワーク帯域とEBSで使用する帯域を共有している。そのため、ディスクI/O、外部とのリクエストともに多く発生する場合、帯域が足りなくなることがある。このようなときに利用できるのがEBS最適化インスタンス

EBSのボリュームタイプ

EBSのボリュームタイプはSSDが2種類、HDDが2種類の4種類ある。

※旧世代のマグネティックと呼ばれるHDDのストレージタイプもあるが、新規で作成する際は現行のボリュームタイプから最適なものを選ぶ。また、各タイプの性能を最大限活かすにはEBSへのアクセスを最適化したEC2インスタンスの利用がおすすめ。

 

汎用SSD

「汎用」という名前が示すとおり、EBSの中で最も一般的な、SSDをベースとしたボリュームタイプ。EC2インスタンスを作成する際のデフォルトのボリュームタイプとしても利用される。性能の指標としてIOPSを用いて31IOPS/GBから最大16,000IOPS/ボリュームまで容量に応じたベースライン性能がある。1TB未満のボリュームには、一時的なIOPSの上昇に対応できるようにバースト機能が用意されており、容量に応じて一定期間3,000IOPSまで性能を向上させることができる。このベースライン性能やバースト機能を用いても必要なIOPSを満たすことができない場合は次のプロビジョンドIOPSの利用を検討する。

プロビジョンドIOPS SSD

プロビジョンドIOPSはEBSの中で最も高性能な、SSDをベースとしたボリュームタイプ。RDSやEC2インスタンスでデータベースサーバを構成する際など、高いIOPS性能が求められる際に利用する。IOPSの高いユースケースと高いスループットが必要なユースケースの両方に適したストレージタイプ。

スループット最適化 HDD

スループット最適化HDDはHDDをべーすとしたスループット重視のボリュームタイプ。ログデータに対する処理やバッチ処理のインプット用ファイルなど大容量ファイルを高速に読み取るようなユースケースに適している。スループットを性能指標として用いており、1TBあたり40MB/秒、最大で500MB/秒のベースライン性能がある。

Cold HDD

Cold HDDは4つのストレージタイプの中でストレージとしての性能はそれほど高くないが最も低コストなボリュームタイプ。利用頻度が少なく、アクセス時の性能もそれほど求められないデータをシーケンシャルにアクセスするようなユースケースアーカイブ領域の用途に適している。1TBあたり12MB/秒、ボリュームあたり最大250MB/秒のベースライン性能がある。

 

ELB(+Auto Scaling)

Elasstic Load Balancing(ELB)は3タイプのロードバランサーがある。

  • Classic Load Balancer(CLB)
  • Application Load Balancer(ALB)
  • Network Load Balancer(NLB)

ELBの特徴

マネージドサービスであるELBを用いるメリットとして、ELB自体のスケーリングが挙げられる。EC2インスタンス上にロードバランサーを導入する場合は、そのインスタンスボトルネックにならないように設計する必要がある。それに対してELBを用いた場合、負荷に応じて自動的にスケールする設定になっている。だが、スケーリングは瞬時に完了するわけではないことに注意が必要。急激な負担増(スパイク)が予想できる場合は、事前にELBプレウォーミングの申請が必要。もう一つELBの大きな利点としてヘルスチェック機能がある。ヘルスチェックは、設定された間隔で配下にあるEC2にリクエストを送り、各インスタンスが正常に動作しているかを確認する機能。もし、異常なインスタンスが見つかったときは自動的に切り離し、その後正常になったタイミングで改めてインスタンスをELBに紐付ける。ヘルスチェックには下記の設定値がある。

 

  • 対象のファイル
  • ヘルスチェックの間隔
  • 何回連続でリクエストが失敗したら切り離すか
  • 何回連続でリクエストが成功したら紐づけるか

Auto Scaling

Auto Scalingはシステムの利用状況に応じて自動的にELBに紐づくインスタンスの台数を増減させる機能。インフラリソースを簡単に調達でき、不要になれば、使い捨てできるクラウドならではの機能。Auto Scalingには下記の設定項目がある。

RDS(Aurora)

Relational Database Service(RDS)AWSが提供するマネージドRDBサービス。MySQL,MariaDB,PostgreSQL,Oracle,Mycrosoft SQL Serverなどのオンプレミスでも使い慣れたデータベースエンジンから好きなものを選択できる。さらにAmazon Auroraという、AWSが独自に開発したクラウドのメリットを最大限活かした新しいアーキテクチャのRDSも提供されている。バックアップやハードウェアメンテナンスなどの運用作業、障害時の復旧作業はAWSが提供するマネージドサービスを利用することで複雑になりがちなデータベースの運用を、シンプルかつ低コストに実現できる。

マルチAZ構成

マルチAZ構成とは、1つのリージョン内の2つのAZにDBインスタンスをそれぞれ配置し、障害発生時やメンテナンス時のダウンタイムを短くすることで高可用性を実現するサービス。以下の2点は利用時に注意

  • 書き込み速度が遅くなる
  • フェイルオーバに60~120秒かかる

リードレプリカ

リードレプリカとは、通常のRDSとは別に、参照専用のDBインスタンスを作成することができるサービス。2021年現在、すべてのデータベースエンジンでリードレプリカを利用可能。読み込みが多いアプリケーションにおいてDBリソースのスケールアウトを容易に実現することが可能。

Aurora

AuroraではDBインスタンスを作成するとともにDBクラスタが作成される。DBクラスタは1つ以上のDBインスタンスと、各DBインスタンスから参照するデータストレージで構成される。データストレージは、SSDをベースとしたクラスタボリューム。各ストレージ間のデータは自動的に同期され、また、クラスタボリューム作成時に容量を指定する必要がなく、Aurora内に保存されるデータ量に応じて最大64TBまで自動的拡張される。Auroraは他のRDSと異なりマルチAZ構成オプションはない。しかし、Auroraクラスタ内に参照専用のレプリカインスタンスを作成することができる。Auroraは他のRDSのリードレプリカとの違いAuroraのプライマリインスタンスに障害が発生した場合にレプリカインスタンスがプライマリインスタンスに昇格することでフェイルオーバーが実現する。

S3+S3 Glacier

Amazon S3は非常に優れた耐久性を持つ、容量無制限のオブジェクトストレージサービス。ファイルストレージとの違いとしては、ディレクトリ構造を持たないフラットな構成であることや、ユーザが独自にデータに対して情報を付与できることが挙げられる。

S3 の各オブジェクトには、RESTやSOAPといったHTTPをベースとしたWeb APIを使ってアクセスする。利用者がデータを保存するために利用するだけでなく、EBSのスナップショットの保存場所として使われるなどAWSのバックエンドサービスにも使われる。

ストレージクラス

  • S3標準
  • S3標準-低頻度アクセス
  • S3 1ゾーン-IA
  • S3 Intelligent - Tiering
  • S3 Glacier
  • S3 Glacier Deep Archive

ライフサイクル管理

S3に保存されたオブジェクトはその利用頻度に応じてライフサイクルを定義することができる。以下の二つのアクションを選択できる。

  • 移行アクション
  • 有効期限アクション

バージョニング機能

バージョニング機能を有効にすると、1つのオブジェクトに対して複数のバージョンを管理することができる。バージョニングはバケット単位で有効/無効を指定できる。バー叙任うされたオブジェクトは差分管理されるのではなく、新・旧の両方が保存されバージョンIDで区別されるため、両バージョン分の保存容量が必要。

Webサイトホスティング機能

S3では静的なコンテンツに限って、Webサイトとしてホスティングする環境を作成できる。静的コンテンツのリソースは通常のS3の利用と同様に、S3バケットへ保存することで行える。

S3のアクセス管理

S3のアクセス管理にはバケットポリシー、ACL、IAMが使える。バケットポリシーバケット単位でアクセスを制御する。そのバケットに保存されるオブジェクト全てに適用されるので、バケットの用途に応じた全体的なアクセス制御をするのに有効。ACLはオブジェクト単位で公開/非公開を制御する場合に使用。IAMでの制御はユーザ単位でS3のリソースを制御する場合に使用。

 

 

以上!!!!!!!!!!!!

シェルスクリプトで頻出コマンド~シェルの基礎~

はじめに

インフラエンジニア初学者のぽれいんと申します。

転職する前はプログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<参考記事>

awkコマンドの基本 - Qiita

sedコマンドの備忘録 - Qiita

uniqコマンドについて詳しくまとめました 【Linuxコマンド集】

 

 

date

dateコマンドはコマンドを実行することで現在の「西暦」「月」「日」「時間」「分」などを表す文字を出力することができる

date +%Y_%m%d_%a_%H:%M
→2021_1015_Fri_20:14

%Y  西暦     %m  月     %d  日

%H  時間     %M  分     %a  曜日

 

awk

awkはあるフィールドの文字列を抜き出す際に使用する。

標準出力を行うawkコマンド「print」を利用し、awkで指定したフィールドを取得

echo 1 2 3 4 | awk '{print $1}'
→1

上記の例ではechoで標準出力した”1 2 3 4”の中から空白で区切られた中で一番最初のフィールドの1のみを抜き出して出力している。

echo 1 2 3 4 | awk '{print $0}'
→0

※$0は「パイプやファイルから渡された、文字列全て」

区切り文字の指定

空白(スペース)以外を区切り文字に指定する際には -Fオプションを利用します。

echo 1-23-456-78910 | awk -F'[-]' '{print $2}'
→23
echo 1-23:456~78910 | awk -F'[-:~]' '{print $2,$4}'
→23 78910

※上記のように記入することでフィールド区切り文字・フィールドは複数指定できる

 

sed

sedは文字列の置換に利用する。

cat file | sed -e 's/:/,/g'     file内の全行の":"を","に置換
sed -e '1d' file        file内の1行目を削除

 

wc

wcはファイルの文字数・単語・行数を表示するプログラム。

cat /var/log/httpd/error_log |wc -l

-c  データに含まれる文字数を数える

-w データに含まれる単語数を数える

-l     データに含まれる行数を数える

 

cut

aukと同様にフィールドを抜き出す場合に利用する。

cat /etc/shadow | cut -d ":" -f 2

-f n(数字)      第nフィールドを抜き出す対象とする。引数はカンマ(,)で区切って複数、ハイフン(-)で繋いで範囲を指定できる.

-d "区切り文字"         区切り文字の指定が可能。 

 

sort

sortは並び替えを行うフィルタープログラム。

cat /etc/passwd | sort      行先頭の文字コード順に並び替えて表示

-n         行頭の文字列を数字として評価し、昇順で並び替える。

+n        第nフィールドを並び替えの対象とする

 

uniq

重複する行になんらかの処理を行う。

uniq file                fileから重複行を削除
uniq file1 file2 file1から重複した行を削除した結果をfile2に出力

-c     重複した行数もターミナル上に表示する

-d 重複した行のみをターミナル上に表示する

-D 重複した行をターミナル上にすべて表示する

-u 重複した行はターミナル上に一切表示しない

-f 指定した項目以降で重複を判断する

-w 指定した文字数までで重複を判断する

 

以上!!!!!!!!!

コマンドライン解析~シェルの基礎の基礎~

はじめに

インフラエンジニア初学者のぽれいんと申します。

転職する前はプログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<関連記事>

porain.hatenablog.com

↑↑まだ見ていない方はこちらから↑↑

 

 

 

 

 

コマンドライン

$変数名という文字列をコマンドラインで指定すると、シェルは置き換えを行う。

シェルは変数だけでなくコマンドラインを分析し、様々な文字列に置き換えてからコマンドを実行している。

リテラル文字とメタ文字

リテラル文字…文字そのものを表現する際に用いる

メタ文字…シェルにとって意味をもった文字で、実際にコマンドが実行される前に、別の文字列に置き換えられるもの。

                 ...カレントユーザのホームディレクトリに置換

$変数名        ...変数に格納されている値に置換

` コマンド `  ...コマンドを実行したときに出力される文字列に置換

                  ...0文字以上の文字列(ただし、ドットで始まるファイル名の「.」は除く)

?                    ...任意の1文字(ただし、ドットで始まるファイル名の「.」は除く)

 (スペース)    ...要素の区切り

                   ...コマンドの区切り

\                    ...メタ文字の打ち消し

 

バッククォート(`)

コマンドを実行したときに出力される文字列に置換の例

echo 今日の日付は`date +%Y%m%d`です
→今日の日付は20211015です

 

メタ文字のクォート

シェル上でコマンドを実行する場合、文字列の中に置き換えるべき文字があるかどうかを探し、あれば、それを展開してから実行する。そのため、メタ文字として認識される文字をリテラル文字(文字通りの文字)として認識させるためにはそのための処理(以下のいずれかの処理)をしてあげる必要がある。

エスケープ文字(¥)を前置する     *1

シングルクォートで囲む       *2

・ダブルクォートで囲む(但し、$ ` ¥ はメタ文字としての意味を失わない) *3

例えば、echoコマンドで(メタ文字としての意味を持つ)スペースを含む文字列を出力

*1   echo I¥ love¥ you
*2 echo 'I love you'
*3 echo "I love you"
→I love you

状況に応じて使い分ける必要がある。

 

以上!!!!!!!

Ansibleサーバを構築して別サーバにApacheをインストールする

はじめに

インフラエンジニア初学者のぽれいんと申します。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<参考>

【Ansible入門】EC2環境でAnsibleを実行してみよう - サーバーワークスエンジニアブログ

Ansible入門者向け学習ガイド(CentOS編) | 株式会社アイティードゥ

 

Ansibleとは

インフラ環境をコード化し、インフラ構成を管理するツール。

Ansible用にコード化されたファイル群をPlaybookと呼び、Playbookを1度でも何度でも実行しようが、同じ結果が得られる冪等性という特徴がある。

扱うサーバの数が100、1000と多い際に使用することで時間の効率化、ミスの低減を図ることができる。

 

使用する環境

構成図

f:id:porain:20211006202933p:plain

簡単な構成図

実践

 <Ansibleサーバ>コントロールノード

Ansibleインストール

 amazon-linux用の拡張パッケージをインストール

amazon-linux-extras install epel -y

 python-pipをインストール

yum install -y python-pip

Ansibleをインストール

yum install -y ansible

pyshon-pip用Ansibleをバージョンを指定してインストール

pip install ansible==2.4.0 

Ansible・pythonのバージョンを確認

ansible --versio


SSHの設定

ssh鍵を作成

ssh-keygen

※The key's randomart image is: が出るまでEnterを連打。

/root/.sshに移動し中身を確認

cd /root/.ssh && ls -la

authorized_keysの内容を確認

cat authorized_keys

id_rsa.pubの内容を確認し、コピーしておく

 cat id_rsa.pub

<Client01サーバの作業> ターゲットノード
 ~/.sshに移動し中身を確認

cd ~/.ssh && ls -la

~/.ssh/authorized_keysを編集

vi ~/.ssh/authorized_keys
--------以下を追記----------------
 ※コントロールノードで内容を確認し、
 コピーした内容を貼り付ける
----------------------------------

 ディレクトリ、ファイルの権限を変更する

chmod 0700 ~/.ssh && chmod 0600 ~/.ssh/authorized_keys

 <Ansibleサーバ>コントロールノード
 AnsibleサーバからClient01サーバにSSH接続
 鍵認証が問題なければパスワードなしで接続ができます。)

接続が確認後、exitで切断。

ssh root@プライベートIP
>yes
exit

※yesを入力することで侵入可能


 Ansible疎通確認

/etc/ansible/に移動し内容を確認

cd /etc/ansible/ && ls

hostsファイルを編集

vi hosts
----------以下を最終行に追記-------------
 [target]
targetnode ansible_host=プライベートIP
---------------------------------------

ansible.cfgファイルを編集

vi ansible.cfg
----------以下を最終行に追記----------
 [defaults]
interpreter_python=/usr/bin/python3
------------------------------------

ansibleコマンドを実行し疎通確認を行う

ansible all -i hosts -m ping

pingモジュールを使用し疎通しています。『all』はインベントリに記載しているすべてのターゲットノードが対象になる

※Ansibleコマンドが上手くいかないという報告がありました。

その場合、ansible.cfgファイルを元の状態に戻したらできるかもしれないです。。。

Playbookの作成

httpdディレクトリの作成

 cd /etc/ansible/roles
mkdir httpd && cd httpd
mkdir tasks && cd tasks
pwd
→ /etc/ansible/roles/httpd/tasks

install.ymlを作成

vi /etc/ansible/roles/httpd/tasks/install.yml
--------------以下を記入--------------
---
- name: httpdのインストールを行います
  yum:
    name: httpd
    state: present

--------------------------------------

configuration.ymlを作成

vi /etc/ansible/roles/httpd/tasks/configuration.yml
--------------------以下を記入-------------------------------
---
- name: バックアップの確認をします。/etc/httpd/conf/httpd.conf
  stat:
    path: /etc/httpd.conf.org
  register: httpd_conf_org

- name: バックアップを取得します。
  copy:
    src: /etc/httpd/conf/httpd.conf
    dest: /etc/httpd/conf/httpd.conf.org
    remote_src: yes
when: not httpd_conf_org.stat.exists


- meta: flush_handlers
------------------------------------------------------------

main.ymlを作成

vi /etc/ansible/roles/httpd/tasks/main.yml
-------------以下を記入------------
- import_tasks: install.yml
- import_tasks: configuration.yml

-----------------------------------

varsディレクトリを作成

cd /etc/ansible/roles/httpd/
mkdir vars && cd vars

main.ymlを作成

vi main.yml
------------以下を記入---------------
Listen_port:
  - port: 8080

------------------------------------- 

handlersディレクトリを作成

cd /etc/ansible/roles/httpd/
mkdir handlers && cd handlers

main.ymlを作成

vi main.yml
------------以下を記入---------------
- name: start

  service:
    name: httpd
    state: started
    enabled: yes
------------------------------------- 

site.ymlの作成

cd /etc/ansible
vi site.yml
------------以下を記入---------------
---
- hosts: all
  gather_facts: false
  remote_user: root
  roles:
    - httpd

-------------------------------------

treeコマンドを使用し、ディレクトリの階層がしっかり作成できているか確認

yum install -y tree
tree --charset=C
-------以下コマンド結果---------------
|-- ansible.cfg
|-- hosts
|-- roles
|   `-- httpd
|       |-- handlers
|       |   `-- main.yml
|       |-- tasks
|       |   |-- configuration.yml
|       |   |-- install.yml
|       |   `-- main.yml
|       `-- vars
|           `-- main.yml
`-- site.yml
-------------------------------------------


5.playbookの実行

cd /etc/ansible
ansible-playbook site.yml -i hosts -k

※パスワードはsite.ymlで指定した『remote_user』のパスワードを入力

 

 

 

以上!!!!!!!!!!!!!

【備忘録】AWSSA頻出用語一覧

はじめに

インフラエンジニア初学者のぽれいんと申します。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<参考>

[用語]スループットとレイテンシー - Qiita

ディストリビューションの概要 - Amazon CloudFront

【初心者向け】CloudFront とは | SunnyCloud

https://wa3.i-3-i.info/diff150communication.html

なぜネットワークACLでなくセキュリティグループで細かいトラフィック制御を行なうのか | DevelopersIO

クエリとは - 意味の解説|ITトレンドのIT用語集

可用性 - Wikipedia

拡張性 - Wikipedia

セキュリティポリシーとは何? Weblio辞書

マルチスレッド | IT用語辞典 | 大塚商会

メタデータ(metadata)とは - IT用語辞典 e-Words

 

 

 

 

 

 

本日のやりたいこと

絶賛AWSソリューションアーキテクトアソシエイトの取得に向けて、勉強中のぽれいんです。最近はテキストを1周読み終えてひたすら問題を解いております。。。

そんな、問題文に分からない言葉が何回か出てくるため、文章の意味を理解するのにとても時間がかかるし何を言っているか分からないことも多々あります。。。(恥)

そこで自分の備忘録として、そんな用語をこちらにまとめ上げることに致しました。

完全に初学者の自分用ですが、同じ気持ちになっている人がいたら少し安心致します。

(安心していいのかは分かりませんw)

 

ぽれいんの分からない用語集

スループットレイテンシー

スループット…時間当たりの処理能力のこと。

1回の処理でどれくらいのデータをおくることができるかという指標。

レイテンシー…通信の遅延時間

ex.スマホゲームの読込中等

AWSSAでは、スループットレイテンシーを求められる。

 

ディストリビューション

ディストリビューションLinuxの配布形式のこと。

AWSSAでは、CloudFrontにおいて、ダウンロードディストリビューションストリーミングディストリビューションの2種類が登場。

ダウンロードディストリビューション…HTML、CSS、画像などのデータ配信。

ストリーミングディストリビューション…動画ストリーミング配信。

 

<インバウンドとアウトバウンド>

インバウンド…外から中。

コンピュータやシステムが、何かしらからデータ等を受け取ること。

アウトバウンド…中から外。

コンピュータやシステムが、何かしらにデータを送り付けること。

AWSでは、セキュリティグループの設定の際に

インバウントルール、アウトバウンドルールを作成します。

 

<ステートレスとステートフル>

ステートレス…行きの通信と帰りの通信が別。

ステートフル…行きの通信が許可されていると帰りの通信も自動的に許可される。

帰りの通信…インバウンド通信やアウトバウンド通信への応答。

 

<クエリ>

クエリ…データベース管理システムに対する問合わせ(処理要求)

データの抽出や更新などの処理要求を文字列で表す。処理対象のテーブルやデータの抽出条件、並べ方などを指定する。

RDB(リレーショナルデータベース)ではSQL

 

<可用性と拡張性>

可用性(アベイラビリティ)…システムが継続して稼働できる度合いや能力のこと

拡張性(スケーラビリティ)…システムやネットワークなどが、規模や利用不可などの増大に対応できる度合いのこと。

AZ(アベイラビリティゾーン)は直訳するとシステムが継続して稼働できる範囲か。。

 

セキュリティポリシー

セキュリティポリシー…個人情報の保護や機密漏洩防止のため、コンピュータセキュリティに対する基本方針をまとめたもの。

 

<マルチスレッド>

マルチスレッドアプリケーションのプロセス(タスク)を複数のスレッドに分けて並行処理する方式。マルチスレッドを用いると、アプリケーション内で必要に応じて複数の処理を並行して進められるため、処理の速度と精度が飛躍的に向上する。

 

メタデータ

メタデータ…データについてのデータ。データそのものではなく、そのデータを表す属性や関連する情報を記述したデータのこと。

ex.音声データの曲名や作詞者、文書データのタイトルや作成日

 

人狼ゲーム等のメタ考察とは全然意味が違うことに驚いた。。

人狼ゲームやりたくなった。。。。。

 

 

 

以上!!!!

L4とかL7って何⁇

はじめに

インフラエンジニア初学者のぽれいんと申します。

転職する前はプログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

 

 

 

<前回記事>

porain.hatenablog.com

<参考記事>

L2、L3、L4、L7の違いのまとめ | スイッチの種類

【情報処理試験備忘録】 ネットワークスペシャリスト メモ: 徒 然 日 記

OSI参照モデル - Qiita

本日の疑問点

こんにちは。最近はAWSソリューションアーキテクトアソシエイトの勉強に励んでいます。AWSSAのテキストや問題集を読んでいるとL4レイヤーという言葉や、L7レイヤーっていう言葉がいっぱい出てきました。

なんとなくそれかなあってのはあるけど、しっかり分かった気がしていない…

ということで、一回まとめとこうっていう感じです。

そんなのも分からないのかよって感じですよね…(笑)orz

 

layer

L4やL7の”L”ってなんだろう?正解は”layer(層)”でした。

層ってことは”アトイネや”アプセトネデブが絡んでくるのかなあ。

 

※以下はこちらの記事で触れたかも、、、復習です!

porain.hatenablog.com

 

OSI参照モデル(アプセトネデブ)

複数のプロトコルを階層化したプロトコルスタック代表格がOSI参照モデル

データの通り道となる階層ごとにルールがはっきりしていることでアプリケーション開発者はプロトコルの取り決めに沿って開発を進めればよい。

 

上層(地上近く)…使用するユーザの近く

          アプリケーション層  「L7」

          プレゼンテーション層

          セッション層

          トランスポート層   「L4」

          ネットワーク層    「L3」

          データリンク層    「L2」

          物理層

下層(地下深く)…開発者やケーブルや回線の近く

 

TCP/IP(アトイネ)

→「TCP/IPプロトコルを実装するためにはどのようにプログラムを組めばいいか?」という視点で階層構造化したモデル。

上層

          アプリケーション層

          トランスポート層

          インターネット層

          ネットワークインターフェイス

下層

 

OSI参照モデルTCP/IPの関係性

OSI参照モデル通信機能を階層構造にしたモデル

TCP/IPTCP/IP実装のため階層構造にしたモデル

であるため、特に関係性はない。ただ、お互いに共通点がいくつかあるため対比的に書かれることが多い。

 

各レイヤ詳細

L2

2層はアプセトネデブの””のため、データリンク層になります。

特徴:フレームの転送

プロトコル:Ethenet(ARP)等

L3

3層はアプセトネデブの””のため、ネットワーク層になります。

特徴:ルーティング処理

プロトコル:IP

L4

4層はアプセトネデブの””のため、トランスポート層になります。

特徴:ファイヤーウォールの設定

プロトコルTCP/UDP

L7

7層はアプセトネデブの””のため、アプリケーション層になります。

特徴:ロードバランサ

プロトコル:HTTP,SMTP,POP3,FTP

 

以上!!!!!!

SQL

はじめに

インフラエンジニア初学者のぽれいんと申します。

転職する前はプログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

↑↑まだ見ていない方はこちらから↑↑

<参考>

【これだけ覚えてたらOK!】SQL構文まとめ - Qiita

 

 

 

 

RDBMS

RDMMS(リレーショナルデータベース)は、大量のデータを一定の規則に従って蓄積し、データベースを一元的に管理できるようにした管理システム。

ex.Oracle Database,SQLserver,PostgreSQL,MySQL

データベース

データベースは列(カラム)、行(レコード)とフィールドを持つテーブルのセットで構成される。Excelみたいな感じ!!

基本構文

Mysqlに接続

mysql -u root
>パスワードを入力

データ操作のSQL

データ操作のSQLキーワード CRUD 用途
SELECT Read 取得
INSERT Create 作成・保存
UPDATE Update 更新
DELETE Delete 削除

追加

INSERT INTO personal(id,name) values(1,suzuki);

取得(データの検索)

SELECT id,name FROM personal;

更新

UPDATE values;

削除

DELETE FROM values;

 

以上!!