基盤サービス

·

·

Contents

【事前知識】

  • エッジロケーション
    リージョン、AZとは異なるデータセンター。
    キャッシュデータなどを利用する際の更に小さなエンドポイントとなる拠点。
    ・DDoS攻撃からアプリケーションインフラストラクチャを保護する。
    ・Route 53、CloudFront、AWS WAF、Lambdaエッジ などが配置されている。
  • 責任共有モデル
    提供されるサービスの管理責任を線引きした考え方。
    詳細は「本公式ページ」にて。
  • Docker
    【オープンプラットフォーム】
    コンテナサービスのこと。サーバごとに「必要なコンテナを用意して」「実行する」動きをする
    リポジトリ
    【イメージ】
    ECRのイメージリポジトリには、DockerイメージOCIイメージなどが含まれる。
    ●リポジトリポリシー
    (コンテナ)イメージへのアクセス権を制御できる。
    ●(コンテナ)イメージ
    ECSやEKSで使用することが出来るコンテナイメージをpush、pullする。
    利用可能な Docker イメージを実行する場合、docker pull コマンドを使用してローカル環境にプルする。
    ●認証トークン
    イメージをpush、pullするにはECRレジストリに対して認証が必要。

インフラ一括管理ツール

Service Catalog
【環境カタログ集】

IT管理者が利用者向けの製品やAWSリソースなどをカタログ(ポートフォリオ)として集中管理できる。
・ 製品の追加や制約の追加を行うことができる。

・製品や環境を準備しておくだけで、実際に起動するタイミングなどは利用者側に一任できる。

・ユーザーは必要な承認済みのITサービスのみをすばやくデプロイできる。

・作成したポートフォリオに対して利用者のアクセス権限を設定できる。

※AWSで使用が許可されたサービスのみ対象

●起動制約
利用者が自由にAWSリソースを作成するのではなく、管理者が定めたルールの中で安全に利用できるようにするのを目的とする。製品の利用方法にルールを設けて、ガバナンスやセキュリティを強化するための仕組み。簡単に言うと、「誰が・どのように・どんな設定で」製品を使えるかを制御できる。

【制約の種類】

起動制約
(Launch Constraint)
指定したIAMロールを使って製品を起動させることで、ユーザーに直接の権限がなくても安全にリソースを作成できる。
テンプレート制約
(Template Constraint)
CloudFormationテンプレートのパラメータに制限をかける。たとえば、EC2のインスタンスタイプを「t2.micro」だけに制限するなど。
通知制約
(Notification Constraint)
製品の起動や更新時にSNS通知を送る設定ができる。
タグ更新制約
(Tag Update Constraint)
製品に付与されたタグの変更を許可するかどうかを制御する。
スタックセット制約
(Stack Set Constraint)
AWS Organizationsと連携して、複数アカウントにまたがるデプロイを制御できる。

Market Place
【外部製品購入】

厳選されたデジタルカタログ。
ユーザーはサードパーティーのソフトウェア、データ、サービスを検索、購入、デプロイ、管理してソリューションを構築し、ビジネスを運営できる。


企業側は手軽に出品することができる。
また、ユーザーに発生する料金はAWS内で一元管理される。

  • Hyperwallet
    Paypal が提供する海外口座レンタルサービス。
    資金をサポートされている他の銀行口座に送金することができる。
    AWSが標準サービスとしてサービスに組み込んでおり、Hyperwallt の登録が完了するとAWSアカウントに紐づけができるようになる。

VPC

※Virtual Private Cloud
作成ごとに論理的に各ユーザにプライベートネットワークが構築される。
1リージョンにVPCは5つまで
※仮想プライベートゲートウェイは一つまで

ENI(Elastic Network Interface)
VPC内のNWインターフェース。

〇プレフィックスリスト

[情報を展開する]

複数のCDIRブロックを一元管理することができる。

AWSマネージド※AWS管理
AWSサービスのIPアドレスの範囲のセットで、元々から用意されているもの。
所有者IDがAWSであるため変更・削除等はできない。
カスタマー管理※ユーザー管理
自分で作成するIPアドレスの範囲で、他のAWSアカウントと共有できる。

〇エンドポイント

情報を展開する]

【各エンドポイントの比較】

項目VPCエンドポイントエンドポイントサービスサービスエンドポイント
役割AWSサービスや他VPCに接続するための入り口自分のサービスを他VPCに公開する出口AWSサービスへのセキュアな内部接続を提供
利用者サービスを使いたい側(コンシューマー)サービスを提供する側(プロバイダー)AWSサービスを利用したいVPC内部のユーザー
対象他者のエンドポイントサービスまたはAWSサービス他アカウント/VPCに自サービス(EC2等)を公開S3やDynamoDBなどのAWS公式サービス
構成要素ENI(インターフェース型)NLB(Network Load Balancer)+PrivateLinkゲートウェイ型/インターフェース型のいずれか
接続方式PrivateLinkPrivateLinkAWS内部ネットワーク(PrivateLink含む)
承諾制なし(自分で作成して利用)あり(接続元からのリクエストを承諾)なし(AWSサービスに直接接続)
課金体系インターフェース型は時間+処理量課金PrivateLink利用料+NLB費用インターフェース型は課金あり/ゲートウェイ型は無料
主なユースケースS3, SNS, SQSなどへのプライベートアクセスSaaS提供やクロスアカウントのサービス共有S3/DynamoDBなどへのセキュア接続(Private Subnetから)

【補足】

  • VPCエンドポイント:サービスを「利用する側(コンシューマー)」の入り口
  • エンドポイントサービス:サービスを「提供する側(プロバイダー)」の出口

サービスエンドポイント
【VPC→AWSサービス】

※接続元
AWSの特定サービス(例:S3やDynamoDB)に対して、インターネットを経由せずにVPC内から直接プライベートにアクセスできるようにする仕組み

ゲートウェイ型・ S3 / DynamoDBのみ対象
・コスト無料
・接続方式:ルートテーブル(Private Linkは使用しない)
・セキュリティー:VPCエンドポリシー
・VPC内でのアクセスしか使えない。アプリケーションはインターネットを経由せずにAmazonネットワーク経由でDynamoDBにアクセスできる
インターフェイス型・S3とDynamoDB を含む幅広いサービスを対象(不要なコストと設定負荷を伴う)
・データの転送とサービス利用時間に応じて課金。
・接続方式:エントリポイントとなるプライベート IP アドレスを持つENI。
・セキュリティ:セキュリティグループ(細かい制御可能)
・VPC外からのアクセスも対応

〇属性

[情報を展開する]

●enable DNS Hostnames 属性
有効化しないと、サブネットで起動されたインスタンスDNS名を取得できない

●enable DNS Support 属性
VPCがAmazon提供のDNSサーバーを介したDNS解決策をサポートするか決定する設定値。デフォルトでは有効化。

〇その他機能

[情報を展開する]

●Traffic Mirroring
EC2 インスタンスのENIからネットワークトラフィックをコピーする機能。

●DHCPオプション
(DHCP:Dynamic Host Configuration Protocol)
TCP/IPネットワークのホストに設定情報を渡すための規格。サブネット内のアプリケーションは、必要に応じてDHCP サーバーと通信してIPアドレス、または他のネットワーク構成情報 (DNS サーバーの IP アドレスや VPC 内のルーターの IP アドレスなど) を取得できる

※TCP/IP ネットワーク上のすべてのデバイスには、ネットワークを介して通信するための IP アドレスが必要。
※DHCPは変更できないため、新しく作成して割り当てる必要がある
※以前は、ネットワーク内の各デバイスに IP アドレスを手動で割り当てる必要があった

仮想サーバー(EC2など)

AMI

(Amazon Machine Image)
仮想サーバー(インスタンス)を起動するためのテンプレート。起動時にインスタンスに接続される追加ボリューム、インスタンスの設定(インスタンスタイプ、ネットワーク設定、セキュリティグループ設定など)が含まれる。

[情報を展開する]

◇性能補足

[情報を展開する]
リージョンに依存するAMIはリージョンに依存するAMI IDはリージョン固有であり、同じIDを異なるリージョンのAMIに割り当てることはできない
別リージョンで使用するときはコピーする)

●ゴールデンイメージ
【最適なEC2のAMI】
下記のような特定のAWSリソースタイプにおいて、最適なEC2インスタンスの構成をAMIとしたもの。
※EC2インスタンス、RDS DBインスタンス、EBSボリューム……など

◇オプション

[情報を展開する]
No RebootAMI作成時の再起動を設定できる。再起動しないオプションが true(有効) に設定されている場合、EC2 はイメージの作成前にインスタンスをシャットダウンしない。
稼働中のEC2からAMIを取得したいときなど利用する。有効にしないでAMIを取得すると、稼働中のEC2が再起動してしまう(サービスの停止)。
※デフォルトでは、EC2はインスタンスをシャットダウンして再起動してからイメージを作成する。

EC2(Elastic Compute Cloud)

AWSが仮想サーバーを提供するサービス
稼働できるのは1リージョンにつき合計20まで。AMI(イメージファイル)から起動することができる。

[情報を展開する]

・垂直スケール時、インスタンスを停止する必要がある

・コストを最小化するためには、インスタンスを可能な限り多くのゾーンに分散する。

Linux2はデフォルトでSystemManagerエージェントがプリインストールされている

  • 停止保護
    インスタンスの停止および手動削除を防ぐ機能。

  • unlimitedモード
    【バーストパフォーマンス】
    24 時間ごとのインスタンスの平均 CPU 使用率またはインスタンスの存続期間のいずれか短い方の時間で、インスタンスの平均 CPU 使用率がベースライン以下になった場合、1 時間ごとのインスタンス価格は自動的にすべての CPU 使用率スパイクをカバー。
    ピーク時以外のリソース使用率を抑えることができるため、ケースによってコスト最適化につながる。
  • 送信元/送信先チェック
    ※デフォルトで有効化
    受信するすべてのトラフィックに関して、そのインスタンスが送信元なのか、あるいたは送信先であるのかを確認できる。ネットワークアドレス変換、ルーティング、ファイアウォールなどのサービスを実行するインスタンスでは本機能を無効にする必要がある。

●インスタンスメタデータ
インスタンスに関するデータで、実行中のインスタンスを設定または管理するために使用する。ホスト名、イベント、およびセキュリティグループなどのカテゴリに分けられる。

【インスタンスメタデータの取得】
インスタンスメタデータは実行中のインスタンスから取得できる。
EC2 コンソールまたは AWS CLI を使用する必要はない。

【インスタンスへのアクセス】

  • SSH(セキュアシェル)キー(公開鍵/秘密鍵)
    EC2にログインするときに必要。インスタンスにアクセスキーを保存することはNG。

    インスタンスで動作するアプリケーションはAWSの他のサービスにアクセスするために認証情報が必要。

【インスタンスの再起動について】

一般的に「停止」→「起動」が的確な再起動となる。
意図しない再起動が発生した場合、データは残るが、終了(削除と同意)するとデータは消える。
※システムの可用性を高める場合、基本的には EC2 を複数構築してスペックは低めにすることが良い。
(高スペック 1 台よりメリットが得られます。全ダウンしにくい、料金が安い)

【自動復旧機能】

インスタンスをモニタリングするCloud Watch アラームによって、基盤ハードウェアの障害や、AWSによる修復を必要とする問題によりインスタンスが正常に機能しなくなった場合、自動的に対象のインスタンスを復旧させることができる。

復旧されたインスタンスは「インスタンスID」「プライベートIPアドレス」「ElasticIPアドレス」、すべてのメタデータを含めて、元のインスタンスと同じである。

自動復旧

【問題のあるインスタンスを調査】
[ナビゲーションペイン]→[インスタンス:詳細ペイン]→ [Status Checks]→[System Status Checks] と [Instance Status Checks]

〇メトリクス

モニタリングできるメトリクスについて記載。

[参考公式サイト]

〇IPアドレス

  • IPアドレスの後付け
    パブリックIPアドレスはインスタンスの作成時、「EC2のバブリックIPの自動割り当て」を有効にしないと割り当てられない。

    そのため、Elastic IPで後から指定しなくてはいけない。

〇ステータス

  • ステータスチェック
    EC2におけるステータスのモニタリングを実行する。OSまたはミドルウェアからアプリケーション、AWS基盤側の問題などが検出されたか確認。
    ▲アプリケーションレベルの障害は検知できない

    【1分ごとに実行し、成功・失敗のステータスを更新】
    ・成功の場合:「OK」
    ・失敗の場合:「impaired」
    ※失敗の場合、インスタンスの[停止→起動]の実行で解消することがある。
pending:
実行前
stopped:インスタンスは停止状態、起動は可能
running:
実行中
shutting-down:削除準備中
stopping:
停止中
terminated:削除

〇インスタンスファミリー

【M~】汎用
【C~】
コンピューティング最適化
バッチ処理、高性能/高負荷なWebサーバ、動画エンコード、ゲームサーバなど
【R~シリーズ】
メモリ最適化
高性能/高負荷なデータベース、キャッシュサーバ、ビッグデータ分析など
【I,HS~シリーズ】
ストレージ最適化
NoSQL データベース、インメモリデータベース、データウェアハウスなど
【P,Inf,g,f】
高速コンピューティング
【T~シリーズ】
マイクロインスタンス
【G~シリーズ】
GPUインスタンス

[参考]

〇インスタンスの種類

  • コンピューティング最適化インスタンス
    高いコンピューティングパフォーマンスが必要なワークロードに適しているが、コスト効果に優れているとは限らない。
  • メモリ最適化インスタンス
    メモリ内の大きいデータセットを処理するワークロードに対して高速なパフォーマンスを実現するように設計されている。
  • リザーブドインスタンス
    (スタンダード / コンバーティブル)(数年間契約「1年間」「3年間」)

    ●スタンダード
    別のインスタンスファミリーに変更することができない。
    オンデマンドインスタンスと比較して、最大72%の割引を適用することができる。

    コンバーティブル
    作成時の価格と同等以上のインスタンスであれば、以下の設定(★)を途中で変更できる。
    その代わりスタンダードRIよりも少し高い

    ★変更できる設定
    ・インスタンスファミリー
    ・OS,テナンシー (HWが共有か専有か)
    ・支払オプション (前払い、一部前払い、前払いなし)

    【RI割引について】
    割引を受けられるのは、RIを購入したアカウントのみ適用される。
    RIの割引共有を無効にするには、管理アカウントから実行できる。

    ※RIの更新は有効期限満了日に更新可能
    [参照元サイト]
  • オンデマンドインスタンス
    時間単位、秒単位】
    コンピューティング性能の料金を、長期契約なしで、時間または秒単位 (最低 60 秒) で支払うことができる。

    【オンデマンドキャパシティ予約】
    属性が一致する個別のインスタンスに対して、任意のタイミングや指定した時刻に終了するキャパシティが予約される。
    特定のAZで任意の所要時間だけ、利用したい指定インスタンスのコンピューティング能力を予約もできる。

    その際に、下記情報を選択すること。
    ・キャパシティーが予約されているアベイラビリティーゾーン
    ・キャパシティーを予約するインスタンスの数
    ・インスタンスタイプ、テナンシー、プラットフォーム/OS を含むインスタンスの属性

  • スポットインスタンス
    AWSサーバ上に存在し、使われてないEC2インスタンスに値段をつけて入札価格が現在のスポット価格(長期でなく、1回ごとの取引で決定した市場価格)を上回っている限り、そのインスタンスを利用できる。
    処理途中で中断可能な計算処理を大規模かつ並列で実行する場合に使用できる。

    ※単独で実行されるかつ、停止した場合でも再実行で整合性を保証する

    スポットブロック
    【スポットインスタンス継続利用
    スポットブロックが定義されたスポットインスタンスを中断することなく、選択した期間にわたって継続して利用できる。

    ・継続期間として 1 時間、2 時間、3 時間、4 時間、5 時間、または 6 時間を使用できる。
    ※支払い額はこの指定した継続期間によって決まる。

    ・バッチ処理、エンコードとレンダリング、モデリングと解析、継続的な統合など、完了までに一定の時間のかかるジョブに最適

    スポットフリート
    【スポットインスタンスのセット
    スポットインスタンスの集合体。リクエストで指定した容量ターゲットを満たすような「スポットインスタンス」と「オンデマンドインスタンス」数を起動する購入方式。ニーズに合うスポットキャパシティープールを選択して、フリートのターゲット容量を満たすまでスポットインスタンスを起動する。

    【起動の仕組み】
    スポットフリートは、ニーズに合ったスポットキャパシティ(空き容量)プールを選んで、フリートのターゲットキャパシティ(目標容量)を満たすまでスポットインスタンスを起動する。フリートのスポットインスタンスが削除された後に代替インスタンスを作成することによってターゲット容量が維持されるように設定されている。

    【リクエスト方法】
    インスタンスの終了後も保持されない「ワンタイムリクエスト」として送信できます。オンデマンドインスタンスのリクエストもスポットフリートのリクエストに含めることができる。


    【配分戦略】
    起動設定によって、スポットフリートがスポットインスタンスを起動できるすべてのスポットキャパシティプール (インスタンスタイプおよびアベイラビリティーゾーン) を決定する。

    インスタンスを起動する際、スポットフリートは指定された配分戦略を使用して、使用可能なすべてのプールから特定のプールを選択する。

    ●capacityOptimized
    スポットインスタンスのリクエストを行う際、最も余裕のあるインスタンスタイプに対してリクエストする。

    lowestPrice
    最も低い価格のインスタンスタイプに対してリクエストを行う。しかし、価格の低いインスタンスは需要が高いため、供給が追い付かない可能性がある。

    ●diversified
    さまざまなインスタンスタイプや可用性ゾーン間でスポットインスタンスのリクエストを分散させる。


    スポットインスタンスアドバイザ
    【中断軽減】
    中断する可能性が最も少ないプールを判断して、オンデマンド料金を削減できる。
    スポットインスタンスを選択する前に、ユーザーはアプリケーションの中断をどの程度許容できるか、およびコスト削減の目標を比較検討する必要がある。

    中断の頻度が低いほど、スポットインスタンスを利用できる時間は長くなる。

    【EC2インスタンス静止状態割引】
    アプリケーション中断できる場合に、費用効率を非常に高く抑えることができる。

    【リクエストのタイプ】
    リクエストとは、スポットインスタンスを使用するために、希望するインスタンス数、インスタンスタイプ、アベイラビリティーゾーンを決める必要がある。

    ●ワンタイムスポットインスタンスリクエスト
    下記の状態にならない限り、アクティブ状態を維持する。

    ・EC2 がスポットインスタンスを起動する
    ・リクエストの有効期限が切れる
    ・ユーザーがリクエストをキャンセルする

    利用できるキャパシティがない場合、スポットインスタンスは終了し、スポットインスタンスのリクエストは終了する。

    ●永続スポットインスタンスリクエスト
    リクエストが受理された後も、リクエストの有効期限が切れるかユーザーによりキャンセルされるまで、アクティブ状態を維持する。

    キャパシティを利用できない場合は、スポットインスタンスは中断。
    中断後に、キャパシティが再び利用可能になると、スポットインスタンスが開始 (停止している場合)、あるいは再開 (休止状態の場合) される。

〇ストレージ機能

  • ブロックデバイスマッピング
    【ルートデバイスボリューム】
    インスタンス起動時に EBS ボリューム、またはインスタンスストアボリュームのどちらかのルートデバイスボリュームが関連付けられる。

    ●ルートボリューム
    OS領域に割り当てるもの。システムストレージを使用する。

    ◎EBS-backed インスタンス
    インスタンスを起動する際に、EBSが割り当てられる。

    ◎Instance store-Backed インスタンス(インスタンスストア)
    EC2インスタンスに内蔵されている無料の簡易ローカルストレージ。
    (※エフェメラルディスク)

    ・EC2の一時的なデータが保持され、EC2の停止・終了と共にクリアされる。
    ・スナップショット作成できない。
    ・物理ドライブに直接接続されているため、読み書き速度が早い

    /dev/sda1はルートボリューム(ルート用に予約されたボリューム)


    【ストレージの変換について】
    Instance Store-Backed Linux AMI を EBS-backed Linux AMI に変換はできる。
    Instance Store-Backed Windows AMI を EBS-backed Windows AMIへの変換、および所有していないAMIの変換はできない。

〇起動設定

  • EC2 フリート
    【起動するインスタンスグループ】
    起動するインスタンスの(オンデマンドやスポットなどの)種類、組み合わせを設定したグループ。

    設定次第でコスト最適化ができる。
    ※起動設定の代わりに起動テンプレートを利用してAuto Scalingを構成できる
  • 起動テンプレート
    【設定の処理】
    インスタンスを起動するための設定情報を含む起動テンプレートを作成。
    AMIのID、インスタンスタイプ、キーペア、セキュリティグループなどEC2の起動に必要なパラメーターが含まれている。

    ※起動テンプレートにより起動パラメータを格納でき、インスタンスを起動するたびに指定する必要がなくなる。
  • EC2Configサービス
    【タスク処理】
    EC2Config は設定ファイル群を使って操作を制御する。
    インスタンスの初回起動時に複数の初期起動タスクを実行し、その後、それらを無効にする。

    これらのタスクを再実行するには、ユーザーが明示的に有効化した後でインスタンスをシャットダウンするか、手動でSysprep を実行する必要がある。
  • ユーザーデータ
    【パッケージの処理】
    インスタンス起動時に自動実行されるスクリプトのこと。起動時しか実行されない。
    アプリケーションのデプロイを自動化、インスタンス起動時に必要なソフトウェアをインストールしたり、アプリケーションをダウンロードして設定したり、サービスを起動したりする処理を記述できる。
    パッケージのアップデートソフトウェアのインストールの際に有効。

    インスタンス起動時の一般的なタスクやプログラムはインスタンスにユーザーデータを渡すことで可能。
    EC2インスタンスの起動設定の一番下の方で記述し、ApacheをインストールしてWebサーバーにする、などの使い方をする。
  • EC2 Image Builder
    【依存関係】
    アプリケーションとその依存関係のインストールを自動化し、定期更新を取り込むことが可能。

    【ディストリビューション設定】
    作成したイメージの配布方法を定義。新しいAMIがビルドされるたびに Autoscaling グループの起動テンプレートが自動的に最新のAMIを使用するように更新できる。

    【カスタムレシピ】
    特定の構成とインストール手順を定義し、それを元にEC2のAMIを作成できる。
    加え、本機能の一部として、AMI 作成プロセス中に自動的に脆弱性スキャンを実行できる。

※アプリケーションの依存関係
対象のアプリケーションが正しく動作するために必要なその他アプリケーションのリスト。

【例】
内部オブジェクトの内部アプリケーション詳細の表示方法 > アプリケーション > アプリケーション詳細ウィンドウ

〇トラブル・エラー

  • Insufficient Instance Capacity
    インスタンスの容量不足

    【対策】
    ・数分間待ってから再リクエスト
    ・インスタンス数を減らして新しいリクエストを送信
    ・AZを指定しないでリクエストを送信

    …etc
  • Instance Limit Exceeded
    インスタンス数の上限緩和リクエストが必要。
  • インスタンス起動後、すぐに終了してしまう
    インスタンスがすぐに終了する理由を次のいくつか。

    ・EBS ボリュームの制限を超えた。
    ・EBS スナップショットが破損している。
    ・ルート EBS ボリュームは暗号化されていて、復号用の KMS キー にアクセスする権限がない。
    ・インスタンスを起動するために使用した Instance Store-Backed AMI で、必要な部分 (image.part.xx ファイル)。

    [引用サイト]

〇EC2関連機能

  • EC2 Instance Connect
    EC2インスタンスへのSSHアクセスを簡素化し、セキュリティを強化する。接続ごとに一時的なSSHキーが生成され、インスタンスに自動的に送信される。(SSHポートをひらく必要がある)
    また本サービスの利用は、CloudTrailに記録される。
  • ハイバネーション
    【停止しても継続できる】
    インスタンスが停止する前にメインメモリが保持する内容をハードディスクドライブに待避させ、次にコンピュータを起動させた際、作業途中から再開できるようにする機能。
    インスタンスがインターネットにアクセスするには、パブリックIPアドレスが必要となる。

    ※セキュリティグループを指定しないままインスタンスを起動するとデフォルトセキュリティグループが指定される
  • Elastic Fabric Adapter (EFA)
    【インスタンスの高速NWデバイス】
    HPC(ハイパフォーマンスコンピューティング)と機械学習アプリケーションを高速化するために、EC2 インスタンスにアタッチできるネットワークデバイス。
    AWSで大規模な高レベルのノード間通信を必要とするアプリケーションを実行(数千のCPUまたはGPUに拡張)できる。
    既存の AWS ネットワークインフラストラクチャで動作するように最適化されており、アプリケーション要件に応じてスケーリングできる。

    ※AWS Batchと連携して、バッチコンピューティングワークロードを実行

    【以下をサポート】
    ・メッセージパッシングインターフェイス(MPI)を使用するHPCアプリケーション
    ・NVIDIA Collective Communications Library(NCCL)を使用する機械学習アプリケーション

〇属性

  • SrcDestCheck属性
    送信元/送信先チェックをデフォルトで実行する。

  • DisableAptermination属性
    偶発的な削除を防ぐことができる。インスタンスがコンソール、CLI、またはAPIを使用して終了できるか制御してくれる。

  • テナンシー(テナント属性)
    EC2 インスタンスが物理ハードウェアに分散される方法を定義する。

    default
    インスタンスは共有するハードウェアで実行される。
    dedicated
    インスタンスはシングルテナントのハードウェアで実行される。
    host
    インスタンスはDedicated Hostで実行される。

〇クラスター構成

単一AZ内のEC2インスタンス間の通信を広帯域幅・低レイテンシーに実行できる。

  • クラスタープレイスメントグループ
    【単一AZ】
    単一のアベイラリティゾーン内のインスタンスを論理的にグループ化したもの。
    低いネットワークレイテンシー、高いネットワークスループット。
    インスタンス間のネットワーク遅延を最小限に抑える。

  • パーティションプレイスメントグループ
    【単一AZ内】
    アプリケーションに関連するハードウェア障害の頻度を軽減させるために役に立つ。(障害が広がらない)
    パーティションという論理的なセグメントに分割する。

  • スプレッドプレイスメントグループ
    それぞれの異なるハードウェアに配置されるインスタンスのグループ。
    少数の重要なインスタンスが互いに分離して保持される必要のアプリケーションに推奨。
    インスタンスが基本ハードウェアを共有するときに発生する可能性のある、同時障害のリスクを軽減できる。

〇サーバー占有率

  • ベアメタル型インスタンス
    【物理へアクセス可能】
    サーバーのプロセッサーと(CPUや)メモリーに直接アクセス可能なインスタンス。

    通常のクラウドサーバーでは不可能な、ホストコンピューターのOSなど直接下層のハードウェアにアクセスが可能。また、仮想環境ではサポートされないレガシーのワークロード、そしてライセンス制限のあるティア1のビジネスクリティカルなアプリケーションを動かせる。

  • Dedicated Instance
    【ハードウェア専有インスタンス
    他のAWSアカウントから分離された物理サーバにインスタンスを起動することができる。
    別アカウントのEC2インスタンスが同じサーバ上で起動しないことを保証する。(同じアカウントでのインスタンス共有はある)

    【下記の場合に最適】
    ・ソフトウェアのライセンス等で物理サーバを専有したい場合
    ・コンプライアンスを重視する場合

    ※一般的にEC2インスタンスはAWS側で任意の物理サーバの上で起動されるため、物理サーバ上のインスタンスには別アカウントのインスタンスが存在する。

EC2 Dedicated Host
【完全個室】
(Dedicated Instance 上位版)
インスタンス容量を完全にお客様専用として占有利用できる物理サーバ。
別アカウントだけでなく、同アカウントのEC2インスタンスが同じサーバ上で起動できない。

・サーバーにバインドされた既存のソフトウェアライセンスを利用できるため、コンプライアンス要件を満たし、コストを削減。

※ライセンス条項の範囲で、ソケット単位、コア単位、または VM ソフトウェア単位の既存のライセンスを利用できる

AWSコンテナオーケストレーションサービス

◇Pod

[情報を展開する]

一つ以上のコンテナをグループ化(集合体)し、共有の実行環境を提供するKubernetesの最小単位。

Topology Spread ConstraintsPodを複数のアベイラリティゾーンに均等に分散させる。これにより単一障害をなくす。Podの均等な分散はリソースの最適利用を可能にし、スケーラビリティとワークロードのバランスを保つ。
Kubernetes Cluster Autoscaler予測不可能な数のステートレスPodに対応するためのスケーリングを提供。Kubernetesクラスタ内のノード数を自動で増減させるコンポーネント。

●レプリカセット(ReplicaSet)
Kubernetes(クラスター)内でアプリケーションのPod(コンテナを含むアプリケーションの最小デプロイ単位)を一定数維持する機能。

●Kubernetes Horizontal Pod Autoscaler(HPA)
Podの数を自動で増減させる仕組み。
「Horizontal」:Podの数(横方向)を増減する。CPUやメモリの使用率などに基づいてスケーリング。
・目的:負荷に応じてPodの数を自動調整し、アプリケーションのパフォーマンスとリソース効率を最適化する。

〇デプロイ設定

[情報を展開する]
Canary
(割合分割)
すでにデプロイされているバージョンと新しいバージョンの間でトラフィックを分割。移行する割合 (%) を分単位で指定できる。
一部ユーザーに新環境を提供し、問題がある場合はフィードバックを得て修正を重ねる。
Linear
(等分分割)
基本的にCanaryと同じであるが、新環境へのデプロイ割合が等分である。トラフィックは等しい増分で分割する。増分ごとに移行するトラフィックの割合 (%) と、増分間の間隔 (分) を指定できる。
All-at-once新しいバージョンを全てのインスタンスに同時にデプロイする。
Blue / Green新しいバージョンを完全に別の環境にデプロイし、すべてのユーザーを新環境に切り替える。
新環境のテストは行わず提供するが、問題があれば即時に旧環境に切り戻せる。

〇起動タイプ

[情報を展開する]

Amazon ECSまたはEKSを利用する際は、EC2起動タイプかFargate起動タイプ(エンジン)を選択する。
[画像引用元]

EC2起動タイプ【通常のEC2利用】Fargate【ECS / EKS】
通常のEC2インスタンスを利用するための設定が必要。管理しているEC2 インスタンスのクラスターで、コンテナ化されたアプリケーションを実行できる。使用されたEC2とEBSボリュームに基づいて課金される。インスタンスの選択やオペレーティングシステムの管理などが必要。故に自身で制御することが可能。EC2を使わずにコンテナを実行する環境運用を自動化する。コンテナを実行するために仮想マシンのクラスターをプロビジョニング、設定、スケールを実施する。
(サーバーのプロビジョンとCluster管理は不要)。
※ECSはコンテナ化されたアプリケーションが要求するvCPUメモリリソースに基づいて課金

EKS
【Kubernetes】

Elastic Kubernetes Service
Kubernetesでコンテナ化されたアプリケーションデプロイ、管理、スケールを管理し、Kubernetesをマネージドで使えるサービス。
※ECSは親和性

Kubernetesとは…
コンテナ管理を自動化するための「コンテナオーケストレーションツール」。(オープンソース
より細かく、高度な運用ができることが特長。(その分、運用が難しい)
たとえば、
・どのコンテナイメージを何台実行するかを指定すると自動で配置してくれる
・リソース不足などの際に自動でスケールする……など

【EKSをOutposts にデプロイ】
●拡張クラスター
Outpost の AWS リージョンとノードで Kubernetes コントロールプレーンを実行する。
●ローカルクラスター
Outpost で Kubernetes コントロールプレーンとノードを実行する。

〇仕組み(構造)

[情報を展開する]
コントロールプレーン
(マスターノード)
※AWSによって管理されているため、ユーザー側の操作は不要
クラスタ内のワーカーノードやコンテナ情報を管理、Kubernetesオブジェクトの状態を保持する。クライアントからのコマンドや設定ファイルを受け取り、APIアクションを呼び出してコンテナのデプロイや更新を行う。また、スケジューラがコントロールプレーン側で動作すると、ワーカーノード上のKubelet(エージェント)が動作する。Kubeletはコントロールプレーンからの指示を受けてコンテナを起動する。
ワーカーノードコントロールプレーンからの指示を受けてノード上にコンテナを起動する。起動タイプとして、EC2またはFargateを選択できる。コンテナイメージを事前に取得することで、Podの起動時間を短縮できる。
※ノード:VMや物理マシン
データプレーン伸縮自在であり、Kubernetes はアプリケーションを自動的にスケーリングして修復できる。回復力のあるデータプレーンは、2 つ以上のワーカーノードで構成され、ワークロードに合わせて増減し、障害から自動的に回復できる。

〇その他機能

[情報を展開する]
kubeconfig ファイルkubernetes を扱うための kubectl コマンドの接続先クラスターを管理する設定ファイル。
このファイルがないとEKSクラスターに接続できない
EKS Anywhere
(EKS-A)
AWS が提供する オンプレミスやエッジ環境で Kubernetes クラスターを構築・運用できるソリューション 。クラウドに依存せず、自社インフラ上で EKS のような体験を実現したい場合に最適。
EKS Distro(EKS-D) をベースにした Kubernetes ディストリビューション
オンプレミスやエッジ環境 に Kubernetes クラスターを構築可能
セルフマネージド型:ユーザーがクラスターのライフサイクル(作成・アップグレード・スケーリングなど)を管理
AWS サポートあり:EKS Anywhere のコンポーネントは AWS によるサポート対象
Pod IdentityKubernetes 上の Pod に対して IAM ロールを直接割り当てる方法。従来の IRSA(IAM Roles for Service Accounts)に代わる、よりシンプルでスケーラブルな仕組み。
●EKS Pod Identity エージェントPod Identityの利用を夕刻するために本エージェントのインストールが必要。

ECS
【フルマネージドk8s】

Elastic Container Service(k8s=Kubernetes
稼働させるDockerをAWS が管理し、コンテナ化されたアプリケーションを実行するマイクロサービスを構築する。Kubernetesを知らなくても、Dockerコンテナを簡単に実行、停止、管理することができる。Dockerコンテナをサポートする拡張性とパフォーマンスに優れている。

Task:コンテナ
Cluster:EC2インスタンス
Task Definication:Cluster上のタスクを定義する

【一例】「6つのEC2インスタンスに対して、コンテナを実行する。コンテナは3つのAZに分散させて、同時に10個実行して、ロードバランサ―につなぐ」という指示

●awslogsログドライバー
タスクのコンテナを設定してCloudWatch Logsにログ情報を送信できる。タスクでFargate起動タイプを使用すると、コンテナからログを表示できる。EC2起動タイプを使用すると、コンテナからの異なるログを1か所に便利に表示できる。また、コンテナインスタンスのディスク容量をコンテナログが占有してしまうことも防止できる。

[公式引用サイト]

【代表的なコマンド】

  • Pull コマンド
    【イメージをローカルに】
    Amazon ECR で利用可能な Docker イメージを実行する場合、docker pull コマンドを使用してローカル環境にプルする。
    これはデフォルトのレジストリまたは他の AWS アカウントに関連付けられたレジストリから行うことができる。

ECR
【ストレージ】

Elastic Container Registry
ECSやEKSにも統合されている、完全マネージド型の Docker コンテナレジストリS3に保存)。Dockerコンテナイメージを保存・管理(暗号化)でき、デプロイが素早く簡単に起動できる。

AWS CLIでECRにログインする時はget-loginではなくget-login-passwordを使うこと

●プルスルーキャッシュ
パブリックな一メージを一度キャッシュした後、後続の取得をVPC内部から可能にする。クラスターインスタンスの直接的なインターネット接続を廃止した状態でも、最新のイメージを取得できる。なお、事前に各イメージを最低一回取得することでキャッシュの初期かが行われるため、VPCのインターネット接続削除前にイメージの取得を行うことが必須である。

◇コンテナイメージ

[情報を展開する]

ECSを利用する際はコンテナイメージを ECRに配置することが必要
コンテナイメージはHTTPS経由で転送され、保管時には自動的に暗号化される。

パブリックレジストリ高可用性でスケーラブルなアーキテクチャ。コンテナイメージをホストし、アプリケーションにコンテナを確実にデプロイする。Docker イメージと Open Container Initiative (OCI) イメージで構成されるパブリック イメージ リポジトリを管理できる。
プライベートレジストリ高可用性でスケーラブルなアーキテクチャでコンテナイメージをホストする。Docker イメージ、Open Container Initiative (OCI) イメージ、アーティファクトで構成されるプライベートイメージリポジトリを管理。

◇ポリシー

[情報を展開する]
リポジトリポリシー個別の Amazon ECR リポジトリへのアクセスを制御することを目的として特に使用される IAM ポリシーのサブセット。
ライフサイクルポリシープライベートリポジトリごとに設定が可能。適用されたリポジトリ内で、指定した有効期限の基準を満たしたイメージを自動的に削除する。

◇スキャンタイプ

[情報を展開する]

ECR(Elastic Container Registry)に保存されたコンテナイメージに対して実行できる

【スキャン対象と検出内容】

  • OSレイヤーの脆弱性(基本スキャン・拡張スキャン)
  • アプリケーションレイヤーの脆弱性(拡張スキャンのみ)

【スキャンのタイミング】

  • イメージの登録時(基本スキャン)
  • イメージのプッシュ時(拡張スキャン)
  • 任意のタイミング(手動スキャン)

【スキャンタイプ】

スキャンタイプ特徴使用ツール・サービス
基本スキャンイメージの登録時に自動実行。OSパッケージの脆弱性を検出。Amazon Inspector
拡張スキャンOSパッケージに加え、アプリケーションの脆弱性も検出。イベント駆動型で柔軟なスキャンが可能。Amazon Inspector + EventBridge
手動スキャン任意のタイミングでスキャンを実行可能。AWS CLI または API

Transfer Family
【SFTPサーバー】

※旧名?:AWS Transfer for FTP
従来のファイル転送(SFTP/FTP/FTPS)をクラウド上で安全に行えるサービス外部からのファイル受け渡し窓口の役割。ファイル転送の宛先は S3 や EFS。外部のパートナーや社内からのファイル受け渡しを 簡単・安全にクラウドへ移行可能

AD連携やカスタム認証にも対応しており、セキュリティ面も柔軟
・エンドユーザーのクライアントと設定をそのまま維持しながら、ファイル転送ベースのワークフローを AWS に移行できる。

【サポートされている転送プロトコル】
・Secure Shell (SSH) File Transfer Protocol (SFTP): バージョン 3
・File Transfer Protocol Secure (FTPS)
・File Transfer Protocol (FTP)
・適用性ステートメント 2 (AS2)

【静的IPとしての機能】
インターネット経由でアクセス可能な仮想プライベートクラウド(VPC)エンドポイントとして機能する。このため、既存のElastic IP アドレスをエンドポイントとして利用できる。

【マネージドワークフロー】
ファイル処理用のマネージドワークフローをサポートする。
管理されたワークフローを使用すれば、SFTP、FTPS、またはFTPでファイルが転送された後に、ワークフローを開始することができる。ファイル処理タスクをオーケストレーションすることで、ダウンストリームのアプリケーションで消費される前にデータを前処理するのに役立つ。

〇基本構成

[情報を展開する]
サーバーエンドポイントの作成SFTP/FTP/FTPS/AS2 のいずれかのプロトコルを選択
パブリック or VPC 内のエンドポイントを選べる
ユーザー管理の設定サービスマネージド(Transfer Family内で管理)
AWS Directory Service(AD連携)
カスタムIDプロバイダー(Lambda/API Gateway)
ストレージの指定Amazon S3 または Amazon EFS を転送先として設定
認証方式の選択SSHキー認証(SFTP)
パスワード認証(FTP/FTPS)
SAML連携(Okta, Azure AD など)

【設定方法】
最初にホスト名をサーバーエンドポイントに関連付けてから、ユーザーを追加。
適切なアクセスレベルをプロビジョニングする。
これにより、ユーザーの転送リクエストが Transfer Family サーバーエンドポイントから直接提供される。

Cloud Front

(静的・動的)コンテンツを配信する、スケーラブルで可用性の高いコンテンツ配信サービス。ユーザがウェブページ・コンテンツをリクエストすると、コンテンツ処理に最適なエッジロケーションを決定して配信する。
リクエストしたファイルのコピーがエッジロケーションにない時は、オリジンサーバから取得する。

・コンテンツを保持するためのバックエンドサーバ(ELB , EC2 , S3の静的ホスティングを利用できる)。
・ディストリビューションはドメインを指定する(IP不可)。静的なIPアドレスを持たない
・ディストリビューションを使用する方法はDNS名の提供を前提とする。

●ダウンロード方法
HTTP,HTTPSを使ってHTMLやCSS、画像などのデータを配信する。

●ストリーミング
RTMP(Real Time Messaging Protocol)を使って動画のストリーミング配信をする。
動画のストリーミングはプログレッシブオプションに設定されたダウンロードオプションを利用。

【その他用語】

プリンシパルAWS リソースに対するアクションをリクエストできる、 IAM ユーザ、ロール、フェデレーションユーザ、またはアプリケーション。
ビューワーリクエストCloudFrontを参照するリクエスト。
キャッシュミスリクエストされたオブジェクトがエッジロケーションでキャッシュされないこと。

〇ディストリビューション

[情報を展開する]

(1つのオリジンに対して)コンテンツデリバリーの設定や構成などの配布形態を意味する。CloudFrontディストリビューションではフェールオーバーオプションが提供される。プライベートIPアドレスはもっていない。

セキュリティソフトウェアのパッチ静的ファイルであるため、本機能を利用してキャッシュできる

地理的ディストリビューション
【制限 機能】
ある国(地域)からのアクセスに対して 403 (アクセス拒否) のレスポンスを返すことが可能。

〇オリジン

[情報を展開する]

●オリジンサーバ
コンテンツを配信する元となるサーバー。エッジロケーションに保存
ターゲットグループを指定することはできない。

オリジンリクエストCloudFrontがオブジェクトを取得するためのリクエストをオリジンに送信する。
オリジンフェイルオーバー【ディストリビューションの冗長化】
プライマリオリジンが使用できない場合、または障害を示す特定の HTTP レスポンスステータスコードを返す場合、CloudFront は自動的にセカンダリオリジンに切り替わる。
・開始するには、プライマリとセカンダリの 2 つのオリジンを持つオリジングループを作成する。
・少なくとも 2 つのオリジンを持つディストリビューションが必要。



〇カスタムヘッダー

[情報を展開する]

●カスタムヘッダー
オリジンに送信するリクエストにカスタムヘッダーを追加できる。
CloudFront がカスタムオリジンからファイルを取得するには、標準の HTTP (または HTTPS) リクエストを使用してCloudFront からファイルにアクセスできる必要がある。しかし、カスタムヘッダーを使用することで、コンテンツへのアクセスをさらに制限して、CloudFront を経由しないアクセスを防げる

以下設定を変更する。

ビューワープロトコルポリシー
【HTTP】

(CloudFront経由で)CloudFront エッジロケーションのコンテンツへのアクセスに使用するビューワーのプロトコルポリシー。ビューワーから CloudFront へのアクセス時に HTTPS の使用が求められるようにディストリビューションを設定。

HTTP and HTTPSHTTPとHTTPS。ビューワーは両方のプロトコルを使用可能。
Redirect HTTP to HTTPSHTTP を HTTPS にリダイレクト。ビューワーは両方のプロトコルを使用できるが、HTTP リクエストは自動的に HTTPS リクエストにリダイレクトされる。
HTTPS OnlyHTTPSのみ。ビューワーは HTTPS を使用している場合にのみコンテンツにアクセス可能。

オリジンプロトコルポリシー
【プロトコル】
CloudFront がリクエストをオリジンに転送する際にビューワーと同じプロトコルの使用が求められるように、ディストリビューションを設定。

HTTPS OnlyHTTPSのみ。CloudFront は HTTPS のみを使ってカスタムオリジンと通信する。
Match Viewerビューワーに合わせる。ビューワーのリクエストのプロトコルに応じて HTTP または HTTPS を使用し、カスタムオリジンと通信する。

[参考]

〇その他ヘッダー

[情報を展開する]
ホワイトリストヘッダー
【認証】
リクエストをオリジンに転送するときに、認証ヘッダーを含む一部のヘッダーを削除する。特定のキャッシュ動作のために常に認証ヘッダーを転送する場合は、必ずそのキャッシュ動作のヘッダーをホワイトリストに登録する。
User-Agent ヘッダークライアント側のOS・ハードウェア・ブラウザ情報などが含まれたHTTPヘッダー。Webサーバ側は受け取ったUser-Agent ヘッダーの情報をもとに最適なレスポンスを返す。
Cache-ControlヘッダーHTTPヘッダーの一つ。ブラウザがオブジェクトをキャッシュするかどうか、またどのようにキャッシュするか制御する。「max-age=0」を指定するとブラウザは常に最新のオブジェクトを取得する。
Hostヘッダーリクエストが送信される先のサーバーのホスト名とポート番号を指定するためのヘッダ情報。
Authorizationヘッダー認証部分。

〇トリガー

[情報を展開する]
オリジン応答イベントオリジンからのレスポンスを CloudFront に返す前にトリガーされるイベント。
ビューワー応答イベントCloud Front がキャッシュされたコンテンツをユーザーに返す目にトリガーされるイベント。

〇取得設定

[情報を展開する]

(Allowed HTTP Methods)
CloudFront経由でコンテンツを操作する際HTTP メソッドを指定。許可するHTTPメソッド多くの場合は[GET,HEAD]を設定。WEBDAVなどデータをアップする際などは[GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE]CloudFront が処理してオリジンに転送する HTTP メソッドを指定する。

[GET, HEAD]CloudFront を使用して、オリジンからのオブジェクトの取得またはオブジェクトヘッダーの取得のみを行うことができます。
[GET, HEAD, OPTIONS]CloudFront を使用して、オリジンからのオブジェクトの取得、オブジェクトヘッダーの取得、またはオリジンサーバーがサポートするオプションのリスト取得のみを行うことができます。
[GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE]CloudFront を使用して、オブジェクトの取得、追加、更新、削除、およびオブジェクトヘッダーの取得を行うことができる。また、ウェブフォームからのデータの送信など、その他の POST 操作も実行できる。

〇暗号化設定

[情報を展開する]

(Field Level Encryption)
フィールドレベル暗号化を使用した機密データの保護を実施したい場合に設定。
Allow HTTP Methodsを「GET,HEAD,OPTIONS,PUT,POST,PATCH,DELETE」を選択した場合に設定可能。

フィールドレベルの暗号化
【特定のデータ保護】
セキュリティのレイヤーが追加され、システムの処理中に特定のデータに特定のアプリケーションのみがアクセスできるように、そのデータを保護できる。
ユーザーは機密情報をWebサーバーに安全にアップロードできる。

〇その他機能

[情報を展開]
署名付きURL一定時間だけアクセスを許可
(※オブジェクトのアップロードに利用できる)
OAI
【オブジェクトのアクセス権】
(オリジンアクセスアイデンティティ)
オブジェクトのアクセス権の許可を付与する。S3で機能する。
OAC(オリジンアクセスコントロール)
OAIより詳細にアクセス権を制御できる。特定のオリジン(EC2,ELB,S3バケットなど)へのアクセスを制限する。
CloudFront Functions簡単なリクエストの操作やレスポンスのヘッダー操作に最適。
※複雑な寄りは不得意

【比較点】
・CloudFront Functions
リクエストの前処理に特化した軽量な関数であり、認証トークンの検証のような単純なロジックを実行する場合に最適。
Lambda@Edge
より複雑な処理を実行できるが、リージョンの冗長性、コールドスタートの影響、およびデプロイの管理負荷が発生する。
Lambda@Edge
【CloudFrontでLambda】
CloudFrontの機能の1つ。Lambdaの拡張機能(CloudFrontのエッジロケーション上でLambdaを実行するサービス)
CloudFrontのエッジサーバでCroudFrontが配信するコンテンツをカスタマイズする関数を(Lambdaで定義した)コード実行できる。
主にリクエストやレスポンスに対するカスタムロジックを実行するために使用される。アプリケーションのユーザーに近いロケーションでコードを実行する。
・CloudFrontのイベントをトリガーとしてコードを実行する。
・リクエストに対して自動的にスケーリングできる。
・関数を使用してクエリパラメータの正規化や順序付けを行える。
・ユーザーに近い場所でコードが実行されることで処理の待ち時間が短縮される。(キャッシュ機能ではない
アクセスログ(標準ログ)ウェブサイトのコンテンツに流れるトラフィックに対してログファイルを作成できる。格納先をS3に指定することができる。

〇連携サービス

[情報を展開する]

【併用:WAF】
WAF はウェブACL でディストリビューションに対して、ウェブリクエストの検査と管理ができる。
これによりセキュリティ性の高さを確保できる。
[参考サイト]

【キャッシュについて】
・同じコンテンツファイルが更新された場合、キャッシュの有効期限が切れない限り最新のファイルを提供しないエッジキャッシュからファイルを無効にすることで最新ファイルの入手ができる。

※キャッシュ保持期間制御
●Cache-Control:max-age
オリジンのオブジェクトに追加することで、キャッシュに保持される期間を制御できる。
これによって個々のページに対するTTLを設定できる。

貸し出しサービス

Outposts
【オンプレミス機器のレンタル】

低レイテンシー、ローカルでのデータ処理・データ保存のためにオンプレミスで実行する必要のあるアプリケーションを可能にする。
※配送~設置をデータセンターに「インストール」と表現している?

・オンプレミスのインフラストラクチャの調達、管理、アップグレードのために必要な、差別化につながらない面倒な作業を取り除く。

【以下環境を提供】
・フルマネージド型AWS インフラストラクチャ
・ネイティブな AWS サービス
・API、ツール
・オンプレミス施設

  • Outpostsラック
    42U(42段分)のAWSラックを自社データセンターなどのオンプレミス環境に設置して利用するサービス。
    利用開始時には、完全に組み立てられたOutpostsラックが配送され、設置作業はAWS側で行うため、ユーザーは電源とネットワークに接続するだけで使用できる。通常のクラウドのAWSと全く同じスペックのラックであり、AWSサービス、APIなどAWS リージョンで利用可能な幅広いサービスに接続できる。Outpostsサーバーよりも電力を多く消費する。
    ※ラックのサイズ:高さ80インチ(203.2cm)・幅24インチ(60.96cm)・奥行き48インチ(121.92cm)
  • Outpostsサーバー
    1台のAWSサーバーをオンプレミス環境に設置して利用するサービス。1Uサーバーか2Uサーバー、どちらかを選んで利用できる。
    Outpostsサーバーが直接配送され、自社データセンターの現場担当者か、設置委託会社のいずれかの設置が必要になる。ネットワークに接続した時点で、AWSがコンピューティングリソースとストレージリソースが構築される。Outpostsラックよりも必要とする電力は小さい分、利用できるAWSサービスにも限りがある。

    ※1Uサーバー:幅19インチ(48.26cm)・奥行き24インチ(60.96cm)・高さ1U
     2Uサーバー:幅19インチ(48.26cm)・奥行き30インチ(76.2cm)・高さ2U

Local Zones

・提供形態:ユーザーが使うのは仮想リソース(EC2、EBSなど)
・物理機器の管理:AWSが全て管理・運用
・利用者視点:通常のリージョンと同じように使える

⚙️ 特徴とメリット

特徴説明
低レイテンシー地理的に近いため、1桁ミリ秒の応答が可能
データレジデンシー対応規制や契約上、データを特定地域に保持したい場合に有効
簡単な導入AWSマネジメントコンソールから有効化・利用可能
親リージョンと連携管理プレーンは親リージョンに依存し、操作は一貫性あり

WorkSpaces Family

あらゆるユースケースに対応して、セキュリティ性、柔軟、そして費用対効果の高い仮想デスクトップサービス。

WorkSpaces
【KVM提供】

ユーザー向けの仮想クラウドベースのMicrosoft Windows、Amazon Linux、Ubuntu Linuxデスクトップを提供。

・ハードウェアの調達とデプロイ、または複雑なソフトウェアのインストールの必要性を排除。
・必要に応じてユーザーを素早く追加または削除できる。
・リージョン単位で「ディレクトリ」を管理している。

  • IPアクセスコントロールグループ
    特定のIPアドレス範囲からのアクセスを許可または拒否する。

【セキュリティ性】
複数デバイスやWebブラウザから仮想デスクトップにアクセスでき、セキュリティ管理が容易。

・OSやソフトウェアの自動更新機能があり、常に最新の状態で仮想デスクトップ環境を維持。

  • WorkSpaces Personal
    デベロッパーやナレッジワーカー、それにアプリケーションをインストールしたり、ファイルやデータを保存したり、デスクトップに設定を保存したりする必要のあるその他のユーザー向けに、永続的な仮想デスクトップを提供して、パーソナライズされたデスクトップエクスペリエンスをもたらす。 ユーザーはサインインするたびに同じ仮想デスクトップにアクセスする。
  • WorkSpaces Pools
    デスクトップにファイル、データ、設定を保存する必要のないタスクワーカーやコンタクトセンターの従業員などのユーザー向けに、非永続的な仮想デスクトップを提供。ユーザーはサインインのたびに新しい仮想デスクトップにアクセスできる。
    管理者は、一部のユーザー設定、ブックマーク、ファイルを S3 や FSx などの中央ストレージリポジトリに保存して、ユーザーが新しいセッションを開始したときにアクセスできるようにすることができる。
  • クロスリージョンリダイレクト機能
    完全修飾ドメイン名(FQDN)をWorkSpaces の登録コードとして使用できる。DNS ルーティングポリシーと連携して、プライマリ WorkSpaces が利用できない場合に WorkSpaces ユーザーを別の WorkSpaces にリダイレクトする。
    使用するにあたり、
    ・複数のAWSリージョンでユーザーのWorkSpacesを設定する
    ・接続エイリアスと呼ばれる特別なFQDNベースの登録コードを作成する

WorkSpaces Core

サードパーティのVDIソフトウェア向けの仮想デスクトップインフラAPI。

WorkSpaces Secure Browser

社内WebサイトやSaaSアプリにアクセスするための安全で低コストのブラウザサービス。

旧名:WorkSpaces Web
通常のWorkSpacesとは異なり、自分で仮想マシンイメージを作ることはせず、AWSが用意したWEBブラウザ(Chrome)入りのイメージを利用する。

そして利用者のクライアント環境のWEBブラウザからイメージ内部のWEBブラウザを使いユーザー企業内イントラサイトなどのリソースへアクセスする仕組み。
また、ユーザー認証にAcitive Direcotryを使わず外部のIdP(AWS SSO,Azure AD,Okta 等)でSAML認証が必須となっています。

App Stream(2.0)
【Appクラウド化】

完全マネージド型のアプリケーションストリーミングサービス。
特定のアプリケーションをクラウドで利用することができる。そのために最も厳しいセキュリティが要求される企業向けに設計されたデータセンターとネットワークアーキテクチャが用意される。
※各アプリケーションは、特定のユースケース向けに最適化されている仮想マシンで実行される

・ユーザーはサポートされているデバイスから、いつでもどこでも、必要なデータ、アプリケーション、およびデスクトップ・リソースに安全にアクセスできる。

・デスクトップアプリケーションを集中管理し、任意のコンピュータのブラウザへ安全に配信できる。

・各ストリーミングセッションはネットワーク状態に合わせて自動で調整される。

※ユーザープールでユーザーを作成および管理できる

  • Image Builder
    EC2 インスタンスをベースに構成されており、ストリーミングしたいアプリケーションと必要な設定を含むカスタムイメージを独自に作成できる。
    オリジナルアプリケーションの移行にも利用できる。

付帯コンテンツ機能

CloudSearch
【検索機能付与】

AWSクラウドにおけるマネージド型サービス。
ウェブサイトまたはアプリケーション向けの検索ソリューションを容易かつコスト効率よく設定、管理、スケールできる。

・34言語をサポートし、ハイライト表示、自動入力、地理空間検索などの検索機能を備えている。

Elastic Transcoder
【ソース形式変更】

▲2025 年 11 月 13 日にサービス終了。以降は AWS Elemental MediaConvert

クラウドのメディア変換サービス。

・高度なスケーラビリティ、使いやすさ、高い費用効率性を実現する設計。

・メディアファイルをその元のソース形式からスマートフォン、タブレット、PC などのデバイスで再生可能できるバージョンに変換 (または「トランスコード」) できる。

Amazon Connect
【カスタマーサービス】

セルフサービスのクラウド型コンタクトセンター。
あらゆるビジネスが簡単に低コストでより良いカスタマーサービスを提供できるようにする。
(※カスタマーエクスペリエンスの向上を図るため、AWS AIサービスを利用できる)
エージェント端末を使用して利用することができる。

・グラフィカルインターフェイスで、対応フローの設計、スタッフの管理、業務指標の追跡が簡単にできる。

インテリジェントな会話ボット Lexを対応フローに組み入れることで、自動応答が自然な会話に変化する。

※世界中のスタッフが日々百万件ものお問い合わせに対応するアマゾンのコンタクトセンターと同じ技術が使われている。

  • エージェント
    エージェントはブラウザとヘッドセットがあれば電話対応可能。 Amazon Connect 問い合わせコントロールパネル (CCP) を使用して問い合わせと通信する。ただし、エージェントが CCP にアクセスし、問い合わせを処理できるようになる前に、行わなければならない操作がいくつかある。

  • Contact Control Panel (CCP)
    インストール不要のエージェントインターフェイス(ブラウザからURLアクセス)
  • フラグ
    フラグコールボタンを追加することで使用できる。
    トリガーのような役割をもつ。

[参照元:Blackbelt]

IVS(Interactive Video Service)
【ライブストリーミング】

世界中の視聴者が低レイテンシーまたはリアルタイムの動画を利用できるようにするマネージド型ライブストリーミングソリューション。
これにより、魅力的なライブ体験を実現できる。

・Twitchを支えるネットワークとインフラ
・累計一年間1.35兆分ものライブ動画再生
・低遅延(2~5秒)のHLSストリーミング
・超低遅延(300ms)のWebRTCのストリーミング
・ストリームチャット(WebSocket)



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT DIRECTOR
Engineeko

すき焼き風のアイスクリーム.

RECENT POSTS

error: Content is protected !!