AWS
Amazon EC2(Amazon Elastic Compute Cloud)
サーバーに必要なもの一式がクラウドで借りられるサービス
ハードウェア構成やOSの組み合わせを弾力的に(elastic)選べる
すぐに作れて、すぐに壊せる。試しに作成したい。一時的に使いたい時に
対応できる不確定要素が多い場合でも気軽に初められる
AMI(Amazon Machine Image):仮想イメージ
OSのみのものから、ソフトウェア設定が終わっているものまで
さまざまな AMIが用意されている自作も可能
作成した構成のバックアップを使る。複製することもできる
キーペア
インスタンスに接続するときに認証に使用する鍵
EBS(Amazon Elastic Block Store)
AWSクラウド内のストレージ、インスタンスのストレージとして使う
ブロックストレージボリューム = データをバイトのブロック単位で保存する方法。ディスクに保存する際の一般的な方法
S3はオブジェクトストレージ方法
セキュリティグループ
仮想的なファイアウォール
Elastic IP
静的なIPv4アドレス
インスタンスタイプ
t2.micro
t2: インスタンスタイプ、サーバーの用途によりタイプが異なる
micro: インスタンスサイズ、CPUやメモリ容量など
ELB(Elastic Load Balancing)
負荷分散装置
ALB、NLB、CLBの3種がある
ALB(Application Load Balancer)
HTTP, HTTPSに最適
アプリケーション層で動作
NLB(Network Locd Bulancer)
トランスポート層で動作
TCP、TLSに対応
CLB(Classic Load Balancer)
古いタイプ
スナップショット(Snapshot)
ある時点でのサーバーのディスク状態を丸ごと保存したファイルやフォルダなどの集合
DLM(Data Lifecycle Manager)
スナップショットの作成、削除を自動化
Auto Scaling
サーバーへのアクセス状態によって、サーバーの台数を増減させる
Amazon S3(Amazon Simple Storage Service)
オブジェクトストレージ
データをオブジェクト単位で管理する形式
S3の特徴
スケーラビリティ
可用性
耐久性
信頼性
管理機能
インテリジェント
クエリ実行
分析サービス
Lambda連携
ストレージクラス
ストレージの種類のこと
標準、アクセスパターンに応じて階層を移動できるクラス
あまりアクセスしないデータに適したクラス
バケット単位ではなく、オブジェクト単位でクラスを選択できる
標準
3つ以上のAZ(アベイラビリティ・ゾーン)にデータを保存 → 可用性を保証
Intelligent - Tiering
高頻度、低頻度それぞれに最適化された2つの階層に保存
一定期間アクセスがないオブジェクトは低頻度層に自動で移る
低頻度アクセス
標準に比べて保存料金が安価
アクセス 料金が若干高い
低冗長化ストレージ(RRS)
標準に比べて冗長化のレベルが低く、低価格
保存されるAZが1ヶ所、トラブルがあるとデータが失われる
S3 Glacier / S3 Glacier Peep Archive
氷河
データアーカイブ・長期バックアップ用
データは「ボールド」というコンテナに格納
保存したデータを読む時は他のS3バケットへ取り出す
バケット
オブジェクト(ファイル)を入れる場所
バケット内に子バケットを作ることはできない
1つのバケットに保存できるオブジェクトの数に制限はない
総容量制限もない
オブジェクト
バケット内に階層ではなく並列に置かれる
S3バケットのアクセス制限
バケットポリシー
該当のバケットにアクセスできるユーザーを指定
ユーザーポリシー
アクセスできるバケットを指定
ACL(Access Control List)
自分以外の他のAWSアカウントに対してRead/Write のそれぞれの操作を許可/拒否に設定する
アクセス制限の対象
リソース
制御の対象となるバケットやオブジェクト
アクション
実際にできる行動
GET, PUT, DELETE など
エフェクト
Allow / Deny
プリンシパル(Principal = 主な、主要な)
許可もしくは拒否するユーザーやアカウントサービスなど
Webサイトホスティング
S3では静的なWebサイトをホスティングできる
バケットをそのままWebサイトとして公開する
Amazon Lightsail
必要なものを選ぶだけで Webサイトに必要なサービスを一式を定額で揃えられるサービス
AWS Amplify
Webシステムを開発するためのツール一式を提供するサービス
JavaScriptでAWSの様々な機能を呼び出す
HTMLファイルや画像をS3経由で配信
Lambdaを使ってバックエンドプログラムを実行
S3へのアップロード・ダウンロード
マネジメントコンソール
ブラウザ上にドラッグ&ドロップ
CLI
API、SDK
サードパーティ製のツール
IAMユーザーでアクセスキーとシークレットキーを発行し、利用したいツールに設定
マルチパートアップロード
マネジメントコンソールやCLIでは大きなファイルを操作すると自動で切り替わる
AWS Transfer for SFTP
SFTPを使ってファイルを転送
AWS Data Sync
オンプレミスのストレージシステムとAWSのストレージ(EC2、S3)との大量のデータ移動を想定したサービス
アクセス管理
アクセスログ
サーバーに対してどのようなリクエストがあったかを記録
ストレージクラス分析
オブジェクトへのアクセス頻度を分析
オブジェクレロック
オブジェクトに対する一切の変更を許さない
S3 インベントリ(Inventory = 目録・棚卸し表)
バケットに入っているオブジェクトのメタデータを毎日 / 毎週一覧にして生態
バージョニング
オブジェクトを複数バージョンを保存する機能
ライフサイクルポリシー
オブジェクト群に対し、定期的に行うアクションを設定できる機能
例:別のストレージクラスへ移動する有効期限がきをオブジェクトを削除
クロス・リージョン・レプリケーション(CRR、Cross Resion Replication)
異なるリージョンに作成したバケットに、オブジェクトを非同期でコピーする
海外のサーバーにバックアップを取ることができる
データベース
S3 Select、Amazon Athena
CSVやJSONのような構造化されたテキスト形式のデータに対してSQLのSELECT文を実行するクエリ機能
Amazon Redshift Spectrum
S3 Select等と同じ機能、大量のデータを処理できるのでRedshift クラスタが必要
何をどのように検索するのかを事前に構成
事前に分析用サーバーを起動しておく
処理能力に応じて、性能、コストを決められる
分散処理で分析できる
S3 Select
マネジメントコンソールからSQLを入力することで実行できる
Athena
何をどのように検索するのかを事前に構成
実行するたびに分析サーバーが自動的に作られるので実行したときだけ費用がかかる
DBMS(Database Management System)
データベースを実際に操作する役割を担うソフトウェア
例:MySQL、PostgreSQL、Oracle DataBase
SQL
データベースに命令する際に使われる言語
RDB(Relational Database)
データの種類を細部まで設定するので、準備に時間がかかる
データに対する操作にSQLを使う
非リレーショナルデータベース
構造が単純
アクセスが高速
キー・バリュー型(Key - Value)
ドキュメント型がある
NoSQLデータベース
Amazon RDS(Relational Database Service)
Amazon Aurora, PostgreSQL, MySQL. ManiaDB,Oracle Database, SQL Server が使える
マネージドサービス、アップデートが自動で行われる
AWS DMS(Database Migration Service)
既存のデータベースからの移行や複製をするサービス
Amazon Aurora
MySQLやPostgreSQLと互換性のあるリレーショナルデータベース
MySQL+PostgreSQLと比べ高速
Amazon DynamoDB
Key - Valueストア型のデータベース、VPCなしで接続できる
Amazon Elastic Cache
インメモリ型のデータベース
データベース操作のたびに外部記憶装置と読み書きを行うのではなく、頻繁に読み出しのあるデータは一時的にメモリに置く(Cacheする)
高速
インスタンスの再起動時にデータが削除される
Amazon DocumentDB
MongoDB互換
ドキュメント指向型データベース
JSON形式をバイナリ化したBSON形式でデータを保存
Amazon Neptune
グラフデータベース
いろいろな要素間の関係や処理の流れを示すためにノード同士の連結を、方向を含めて記述
Amazon Timestream
時系列データベース
時間経過に伴う事物の変化を記録
IoTデータを扱うのに適している
Amazon Quantum Ledger Database(QLDD)
台帳データベース
データの各変更を追跡して履歴をとして維持
ジャーナル形式
ジャーナル内のデータは変更・削除不可
SHA-256で変更履歴の改ざん防止
Quantam:量子
Ledger:台帳
ネットワーク
Amazon Cloud Front
高速コンテンツ配信ネットワーク
Contents Delivery Network(CDN)
Webサーバーの中身をキャッシュするエッジサーバーを利用
エッジサーバーは各リージョンに置かれているのでネットワーク距離が近いサーバーにアクセスする
Amazon VPC(Virtual Private Cloud)
AWS アカウント専用の仮想ネットワーク
ルーティンプはソフトウェアで行う
ルータはIPアドレスを持たな
1つのルートテーブルに対して複数のサブネットを設定できる
インターネットゲートウェイは1つのVPCに対して1つ
サブネット間通信はルーターなしで直接通信できる
デフォルトVPC
サブネットやインターネットゲートウェイがあらかじめ設定されてる
CIDR表記
172.31.0.0/16
サブネットマスク表記
172.31 0.0 / 255.255.0.0
IPマスカレード(NAPT、Network Address and Port Translation)
プライベートIPアドレスとグローバルIPアドレスを変換するゲートウェイの機能
これによりLAN内からインターネットへは出られるようになる
NAT(Network Address Translation)
IPマスカレードは1 対 多、ポートの変換をする
NATは多 対 多、ポートの変換はしない
インターネットゲートウェイ
インターネット側からのリクエストに対して VPC内にあるインスタンスのプライベートIPアドレスに変換してリクエストを届ける
NATゲートウェイ
VPC側からインターネットへリクエストした時に応答を受けられるようにする
インターネットからVPC内へは接続できない
ネットワークACL
サブネットに対して動作する仮想ファイアウォール
1つのサブネットに1つのネットワークACLしか設定できない
セキュリティグループ
インスタンスに対して動作する仮想ファイアウォール
デフォルトはインバウンドは不許可、アウトバウンドは許可
VPCエンドポイント
VPC内からVPC外へ接続するための接続点を作るためのサービス
S3やDynamoDBはVPC内に置けないサービスなので、VPCエンドポイントサービスを使い、VPCとS3等をインターネットゲートウェイを介さずに接続する
インターフェイスエンドポインス
ネットワークインターフェイス(ENI、Elastic Network Interface)として構成するVPCエンドポイント
プライベートIPアドレスを持つENI
Private Linkに対応していればAWS以外のサービスとも接続できる
ゲートウェイエンドポイント
ルートテーブルに記載してルーティングするVPCエンドポイント
サービスのリージョン単位でルートテーブルに記載する
VPCピアリング
VPC同士を接続するための機能
AWS Direct Connect
AWSと社内LANを専用線として接続、引き込み工事が必要
AWS VPN
AWSとVPN接続
トランジットゲートウェイ
VPCやオンプレミスネットワークを1つにとりまとめて互いに接続する「接続点」を提供するサービス
複数のネットワークを中央に集約して、通信経路を統合的に扱う
Amazon Route 53
DNS
ドメインの取得もできる
コンテナ
AWS Lambda
データやリクエストのリアルタイム処理やバックエンド処理を自動実行するしくみ
必要なイベントに応じて自動実行される
Lambda 関数をLambdaサービスに登録する
SES(Simple Email Service)と組み合わせて、メール受信時にアクションを起こす
API Gatewayと組み合わせると、WebブラウザなどからAPIが呼び出された時に処理を実行する
コンテナ
プログラムの実行環境を隔離するしくみ
アプリケーション、ライブラリ、データのみを隔離できる
AWSではDocker形式のコンテナをサポート
Amazon Elastic Container Registry(ECR)
コンテナを配置、管理するためのサービス
Amazon Elastic Container Service(ECS)
コンテナ化したアプリケーションの実行やコンテナ同士の調整を行うオーケストレーションサービス
Amazon Elastic Kubernetes(クーベネティス)
Kubernetesと互換性のあるサービス
コンテナの運用管理と自動化をするためのシステム
AWS Fargate
必要に応じてEC2インスタンスを起動し、その中にコンテナを割り当てて実行する仕組み
この記事が気に入ったらサポートをしてみませんか?