A day without laughter is a day wasted. -13ページ目

A day without laughter is a day wasted.

その昔、チャップリンが言ったらしい。

うちはお小遣い制なので、月初のお小遣いが貰えるけど、外に出ないので使うことがほぼない。

メルカリで買った本ばかりが溜まっていく。

子供を育てながら自分の時間を確保するのは本当に大変だなあと思う。

 

あるポートに届いたフレームの送信元MACアドレスを基に接続可否を判断する機能

 

確認

show port-security interface xxx

 

設定例

interface xxx

switchport mode access/trunk

switchport port-security 有効化

switchport port-security maximum x 許可MACアドレスの最大数

switchport port-security violation xxx セキュリティ違反時の動作

switchport port-security mac-address xxx

switchport port-security mac-address sticky

switchport port-security aging time x x分後に情報削除

switchport port-security aging type x 

 

セキュリティ違反時の動作

 shutdown(デフォルト):err-disableになるのでポートが使えなくなる。違反の通知(SNMP, syslog)行う。

 restrict:許可されてない端末のフレームを破棄、違反の通知(SNMP, syslog)行う。

 protect:許可されてない端末のフレームを破棄

 

スティッキーラーニングは、動的にMACアドレスを学習させる機能

 手動入力しなくて良く、現在の接続を反映できるので一般的にはこれらしい。

 

エイジングタイプ

 absolute:エイジングタイム時間を過ぎると通信中でも削除

 inactivily:通信なくなってからエジングタイム後に削除

 

不正なDHCPサーバからのなりすましを防げる。

レートを設定することで、DDos攻撃も防げる。

 

trusted, untrustedポートの2つを設定する。

untrustedポートはDHCPのOffer、Ackを受信しても破棄するので、不正なDHCPサーバからの応答が通らなくなる。

 

デフォルトでは、前ポートuntrusted

 

 

通常、DHCPクライアントとDHCPサーバは同じネットワーク上にいることが想定されている。

そうなると、ネットワーク毎にDHCPサーバを用意する必要が出てくるのでコストがかかる。

なので、異なるネットワークに存在するDHCPサーバへの通信を可能にするのがDHCPリレーエージェント。

 

ルータ上で以下の設定をすると、指定したDHCPサーバのIPへユニキャスト通信を行って、DHCPのやりとりが行われる。

ip helper-address DHCPservers_ip

 

ルーテッドポートは、マルチレイヤスイッチの物理ポートをL3ポートとして使用すること。

物理ポートにno switchportコマンドを設定してルーテッドポートにする。

 

SVI:物理ポートに割り当てるVLANを作成し、SVI上でVLANとIPアドレスを紐づける。

ルーテッドポート:物理ポートに直接IPアドレスを紐づける。

 

通常、L3スイッチ上のルーティングはSVI(Switch Virtual Interface)を使用することが多いらしい。

ルーテッドポートは、L3 EtherChannelを構成したいときに使用する。

 
 
コマンド例
ip routing
 
interface range gigabitethernet 1/0/23-24
no switchport
channel-group 1 active

 

interface port-channel 1

no switchport

ip address address mask

no shutdown

 

通常、異なるVLANにあるデバイスとの通信はできない。

できるようにする方法が、VLAN間ルーティング

以下2つの方法がある。

 

・マルチレイヤスイッチを用いる

 L3スイッチはデフォルトでルーティング機能が無効なので、有効化する

 SVI(Switch Virtual Interface)の作成

 インターフェースへのVLAN割り当て

 

・RouterOnAStick構成にする

 (単一点障害、輻輳が発生する可能性があるので非推奨のよう。)

 ルータと接続しているポートをトランクポートに設定

 他をアクセスポートに設定

 ルータでやること1:VLAN毎にサブインターフェースを作成

 ルータでやること2:VLANカプセル化方式およびVLAN ID設定

 ルータでやること3:サブインターフェースにIPアドレスを設定

 

IPv4アドレスの表現方法

あらかじめアドレスの範囲をクラス分けしておき、各組織に割り当てる方式

 

クラスA,B,Cはそれぞれ、ネットワーク部が8,16,24ビットに固定されているなど、クラスの定義があらかじめ決まっている。

 

現在はクラスレス方式が主流。

EIGRPの自動集約の際に、クラスフルの考え方が用いられるなどの用途がある。

ポートVLAN:アクセスポートで使うVLANのこと、タグを付与せずに、ひとつのポートとひとつのVLAN IDを紐づける

 

タグVLAN:トランクポートで使うVLANのこと、タグを付与して、ひとつのポートで複数のVLAN IDを通過させる

 

タグの付与プロトコルには、シスコ独自方式のISLと802.1Q系がある。

ネットワークの世界では、シスコ独自の規格が結構あるようで、統一して欲しい。

 

 

s3 Access Points:複数のアプリがある場合、各アプリ毎にs3へのアクセス制御を行いたい場合に利用

 

s3バージョニングが有効な場合、上書き、削除時などに旧バージョンが残る

 

s3 awsコマンドを使うと自動的にマルチパートアップロードが適用される

 

s3 Transfer Acceleration:アップロードの高速化ができる(CloudFront)

 

s3は、可用性フォー9、耐久性イレブン9

 

ec2は、ユーザデータを使うと初回起動時に構成スクリプトを実行できる

 

ec2のdedicated hostsはどのHWを占有しているかも分かる

 

DynamoDBは、ショッピングカート用としてつかわれていた。

 

インターネットゲートウェイ:インターネット接続ルータのようなもの

VPC毎にインターネットゲートウェイを作成

 

ENI(Elastic Network Interface)は、EC2の仮想NIC

プライベートIP、ElasticIP、MACアドレスを保持する

 

通信制御

・セキュリティグループはインスタンスに設定する

・ACLはサブネットに設定する

基本的には、セキュリティグループを使うことを推奨

 

仮想プライベートゲートウェイ

VPCと他のネットワークをつなぐ(オンプレ)

VGWーVPN接続ーカスタマーゲートウェイ

 

DirectConnect(DX)

専用線を用いてオンプレをつなぐ

パプリックVIFを使うと、直接s3接続できる

 

VPCピア接続

共通サービスを、いろいろなVPCへ提供する場合などに利用

IP空間は重複不可(CIDRブロックを重複させない)

推移的(中継)なピア接続は不可(直接ピア接続が必要)

 

TransitGateway

フルマネージド型で可用性の高いルーティングサービス

直接VPCピアを貼らなくても、単一のゲートウェイで相互接続可能

ルートテーブルを複数作成することができる

 

VPCエンドポイント

EC2からVPC外のAWSサービスにプライベートアクセス

APIアクセスするs3やDynamoDBなど

・ゲートウェイ型(s3、DynamoDB)

 ルートテーブルが必要

・インターフェイス型

 

可用性99.99% 1年で50分

 

リージョンを跨いだルーティングはRoute53を利用する

 

SAML

オンプレのActiveDirectoryで管理しているユーザを活用できる

ADFS:フェデレーションサービスで、AWS連携設定を事前に行う

ADのグループと、AWSのロールを紐づけておく

 

Cognito

ウェブ、モバイルアプリの認証、認可、ユーザ管理マネージドサービス

 

aws Organization OUにSCP(ポリシー)を適用することで、組織単位で権限コントロール

SCPで制限されたルール内で、自由にAWSアカウントないでIAMロールなどの権限設定ができる

 

CloudFormationはテンプレートと環境の差異(ドラフト)を検出できる

 

運用の自動化は、systems managerで行う。

設定の自動化、セキュリティパッチ適用など

 

キャッシュ

・ElasticCache:Memcached、Redisのマネージドサービス

・CloudFront:コンテンツ配信キャッシュ

 

SQS:1対1、プル型キュー

SNS:1対多、プッシュ型通知

 

Fargate: EKS, ECS

EC2環境で動かすか、Fargate環境で動かすか決められる

SQSにおいて、処理が完了したらメッセージを削除しないと、キューの期限が切れるまで繰り返し処理が実行される。

 

SQS、ロングポーリングはキューが空でも待機時間だけ待ってからレスポンスを返す。

 

SQSの標準キューはS3イベントと連携可能

 

SQSでメッセージが受信された直後は削除されるまでキューに残ったままになる。

その間に他のコンシューマが同じメッセージを処理しないように、可視性タイムアウトを設定している。

可視性タイムアウト:他のインスタンスからは一定時間キューが見えなくなる機能

可視性タイムアウトが経過すると、他のコンシューマも見えるようになり、処理が実施される。

 

SQSのFIFOキューは300メッセージ/秒をサポート。

ただし、バッチアクションにより最大10個までのメッセージをバッチ処理可能。

300*10メッセージ/秒までを処理することが可能。

 

S3バケットをオリジンとしてCloudFrontディストリビューションを利用することで、S3へのアップロード、ダウンロードが高速化される。

CloudFrontは、コンテンツ配信ネットワーク(CDN)サービス。

また、S3 TransferAccelerationを有効にすると高速化が可能。

 

EC2のAutoScalingによりインスタンス数が拡張され、利用コストが増大する場合、

特にネットワーク転送アウトが高い場合は、

CloudFrontのグローバルキャッシング機能によりコスト低減が期待できる。

 

ELBをオリジンとしてCloudFrontを設定することで、異なるAZにあるEC2インスタンスから配信させることができる。

 

Route53リゾルバーでインバウンド、アウトバウンドのエンドポイントを設定し、オンプレのDNSリゾルバと疎通出来るようにすることで、オンプレからVPC内の名前解決が可能。

 

CloudFrontのキャッシュコントロールのmax-ageディレクティブで、キャッシュの保存期間を決める。

 

CloudFrontの料金は、AWSからのデータ転送とコンテンツ配信のリクエスト数に応じて変動する。また、エッジの場所によって価格は異なる。

 

CloudFrontはセキュリティグループによるアクセス制御は行えない。オリジンアクセスIDというユーザを作成し、バケットポリシーの設定にて制御する。

 

CloudFrontとの連携について、オリジンがELBの場合ACMを用いて証明書の設定が可能。オリジンがELBではない場合は、ACMではなくサードパーティ証明書の設定が必要。

 

Lambdaは、C#、Go、Java、Node.js、Python、Ruby対応。

 

Lambda Layerは、複数のLambda関数でライブラリを共有できる。(パッケージング化しなくてよい)

 

DynamoDBストリームを利用して、データ格納完了時にSNSでメール通知が可能。