
AWS勉強時にわからなかった用語
○コンピューティング
コンピュートリソース
コンピューターが作業をするために必要な要素。
スケーラビリティ
システムが増加するトラフィックに対応できる能力を指します。
スケーラビリティが高いシステムは、増加するトラフィックに応じてリソースを追加して処理能力を向上させることができます。
オートスケーリング
自動的に増減するシステムのリソースを管理する仕組みであり、トラフィックの変動に合わせて自動的にインスタンスを起動またはシャットダウンします。これにより、システムの処理能力を必要に応じて拡大または縮小することができます。オートスケーリングは、スケーラビリティを実現するための手段の1つです。
ECSにおいてEC2起動の方がいい時、Fargate起動の方がいい時
EC2起動の方が適している場合:すでにEC2を使用している際や調整が必要な際
Fargate起動の方が適している場合:調整や管理が不要な際
サーバーレスなAWSリソース
・AWS Lambda
・Amazon API Gateway
・Amazon DynamoDB
・Amazon S3
・AWS Step Functions
・Amazon SQS
・Amazon EventBridge
・AWS AppSync
○ストレージ
ボリューム
ユーザーが利用するインスタンスストアやEBSのストレージ系の実体。
マウントする
コンピューター上で外部のデバイスやリソースを利用可能にすること。
スナップショットを使用できるAWSリソース
EMS,RDSの2つ
IOPS
コンピューターのストレージデバイスが一定時間内に処理できる入出力操作の数を表す単位
SSDとHDDの使い分け
SSD:高速処理を必要とするアプリケーションや、パソコンの起動時間を短縮したい場合
HDD:大量のデータを保存する必要がある場合や、データの書き換えが多い場合
○ネットワーキング
スタック
アプリなどの作り方を考える時に必要なパーツのこと。
例えば、ゲームを作る時に必要なパーツは、画面やキャラクターの動きをつくるフロントエンド、ユーザーが行動した時にそれを受け取って処理するバックエンド、ゲームのデータを保存するデータベースなどがあります。これらのパーツを合わせて、一つのゲームやアプリを作り上げるというわけです。
ホストする
コンピューティングサービスを利用して、アプリケーションやウェブサイトを実行すること。
ポーリングする
定期的に情報を取得するためにシステムやアプリケーションが繰り返しリクエストを送信すること。
セキュリティグループとネットワークACLの使い分け
セキュリティグループ:特定のEC2インスタンスに対して、許可する通信を指定したい場合やポート番号を制限したい場合
ネットワークACL:サブネット内のトラフィックを詳細に制御したい場合や、サブネット間の通信を制限したい場合
VPN・Direct connectそれぞれのユースケース
VPN
比較的小規模なトラフィック量や遠隔地からの接続など、より柔軟な接続を必要とする場合に適しています。
Direct Connect
大量のデータの転送や、高い帯域幅、より信頼性の高い接続を必要とする場合に適しています。
iSCSl
コンピュータ本体とストレージの通信に用いられるSCSIコマンドを、IPネットワーク経由で送受信する通信規約。
※SCSI:コンピュータと周辺機器を合体させるための決まり事
プロビジョニング
あらかじめ必要な準備を行って、システムやアプリケーションを稼働するための状態にすること。
HTTPトラフィックとHTTPSトラフィックの違い
HTTPトラフィック:
・データの送受信が暗号化されていないため、セキュリティ低
・データが平文で送信されるため、悪意のある攻撃やデータの改ざんのリスクがある。
HTTPSトラフィック:
・データの送受信がSSLやTLSによって暗号化されています。
・暗号化により、通信内容が保護され、第三者によるデータの盗聴や改ざんが困難になります。
リダイレクト
特定のリクエストが届いた場合に、別のURLに自動的に転送すること
RIR
インターネット上のIPアドレスとアドレス空間の割り当てを管理する組織
AS番号
インターネット上のネットワークを識別するための番号
アドバタイズ
(ネットワーキングにおいて)自身のネットワークの存在を他のネットワークに知らせ、通信の経路決定に関与する行為
アドレスプール
IPアドレスの集まり
マルチキャストネットワーキング
ネットワーク上で1つの送信元から複数の宛先に同じデータを効率的に送信する方法
○データベース
IAMデータベース認証に使用できるデータベース
・RDS
・Amazon Aurora
・Amazon Redshift
・Amazon DocumentDB
・Amazon Neptune
AZに依存しない・依存するデータベース
AZに依存しないデータベースは、複数のAZにまたがってデータを複製し、障害が発生した場合にも継続的に可用性を確保することができるデータベース。RDSやAuroraなどのAWSマネージドデータベースサービスで利用できます。マルチAZ非依存DBは、高い可用性が求められるアプリケーションに適しています。
AZに依存するデータベースは、単一のAZ内にのみ存在し、障害が発生した場合にはAZの障害によって可用性が損なわれる可能性があります。EC2インスタンス上で実行されるデータベースエンジン(MySQL、PostgreSQL、MariaDBなど)を使用した場合に当てはまります。マルチAZ依存DBは、可用性が低めでも問題がないアプリケーションや、よりコスト効率を重視するアプリケーションに適しています。
Aurora グローバルデータベースを使用する・しないケース
Aurora グローバルデータベースを使用する場合
・グローバルなアプリケーションを持っており、複数の地域に展開している
・複数のリージョンで同じデータを使用する必要がある
・データのレプリケーションやフェイルオーバーによる高い可用性が必要
Aurora グローバルデータベースを使用しない場合
・アプリケーションが特定の地域に限定されており、グローバルな展開は不要
・リージョン間のデータ同期やフェイルオーバー機能は不要
・Aurora グローバルデータベースを使用するとコストが高くなる
○アプリケーションアーキテクチャ
疎結合化
アプリケーションの部品をお互いにあまり関係ないように作ること。
一つの部品を変更した時に、他の部品に影響を与えにくいようにすること。
これによって、アプリケーションの柔軟性や拡張性が高まります。
ステートレス処理
あるシステムやプログラムが、自身の内部状態(ステート)を保持せず、入力に対してその都度出力を生成するような処理方式。
クラスタリングソフトウェア
複数のコンピュータやサーバーを1つのクラスタ(集合体)としてまとめ、高可用性やスケーラビリティを提供するためのソフトウェア
2層アプリケーション
クライアント(ユーザー)とデータベースの2つの層で構成されています。ユーザーがWebアプリケーションにリクエストを送信すると、Webサーバーがリクエストを処理し、必要に応じてデータベースにアクセスして、情報を取得または更新します。
※FTPサーバー、DNSサーバー、DHCPサーバー(コンピューターがインターネットに接続する際に必要なIPアドレスを自動的に割り当てるためのサーバー)、メールサーバー、Webサーバー
3層アプリケーション
アプリケーションを3つの機能的なレイヤーに分割したもの。ユーザーインターフェース、アプリケーション処理、データストレージの3つのレイヤーで構成されます。3層アプリケーションの主な利点は、各レイヤーが独立しているため、アプリケーションの変更が容易になること。
※ECサイト、オンラインゲーム、SNS、クラウドストレージ、銀行のオンラインサービス等々
○ソフトウェア開発
レポジトリー
貯蔵庫、収納庫。
エミュレート
他のシステムや環境を模倣して動作させること
○データ分析/ビジネスインテリジェンス
レポーティング機能
情報を整理し分かりやすく表示したり、必要な情報を抽出したりするための機能。例えば、テストの成績をまとめてグラフや表で表示したり、お小遣いの使い方を記録して月ごとに集計したりすることができます。
(グラフ、表、フィルタリング、ソート、レポート作成)
○セキュリティ
署名付きURLと署名付きcookieの使い分け
署名付きURL:cookieをサポートしていないクライアントを使用している場合
署名付きcookie:現在のURLを変更したくない場合
クロスアカウントアクセス
複数のAWSアカウントにまたがって、リソースへアクセスすることができる機能