Black Belt Online Seminar Amazon ElastiCache 2016/08/24 アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト桑野章弘 1
自 己紹介 桑野 章弘(くわの あきひろ) ソリューションアーキテクト 主にメディア系のお客様を担当しております 渋 谷のインフラエンジニア 仮 しておりました 好きなAWSのサービス ElastiCache 好きなデータストア MongoDB 2
内容についての注意点 本資料料では 2016 年年 8 月 24 日時点のサービス内容および価格についてご説明しています 最新の情報は AWS 公式ウェブサイト (http://aws.amazon.com/ ) にてご確認ください 資料料作成には 十分注意しておりますが 資料料内の価格と AWS 公式ウェブサイト記載の価格に相違があった場合 AWS 公式ウェブサイトの価格を優先とさせていただきます 価格は税抜表記となっています 日本居住者のお客様が東京リージョンを使 用する場合 別途消費税をご請求させていただきます AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided. 3
アジェンダ Introduction Amazon ElastiCache 概要 クラスタ運 用とUpdate Amazon ElastiCache のユースケース Amazon ElastiCache の料料 金金 まとめ 4
5 Introduction
Introduction Amazon ElastiCache は AWS クラウドでの分散インメモリキャッシュ環境のセットアップ 管理理 およびスケーリング 冗 長構成等をを容易易に構築することができるサービスです ElastiCache の詳しい使 用 方法について そして ElastiCache を使 用した際の運 用 面の tips を交えてご紹介します 6
7 Amazon ElastiCache 概要
8
AWS が提供するデータベースサービス Amazon RDS Amazon DynamoDB Amazon Redshift Amazon ElastiCache 完全マネージド型で セットアップ 運 用 拡張が容易易なリレーショナル データベースサービス 完全マネージド型で 高速なパフォーマンス シームレスな拡張性と信頼性の NoSQL サービス 高速で管理理も万全なペタバイト規模のデータウェアハウスサービス 完全マネージド型で セットアップ 運 用 拡張が容易易なキャッシュサービス 9
10 Amazon ElastiCache とは 構築 キャッシュクラスタを数クリックで起動 初期費 用無し 時間単位の従量量課 金金 親和性 2 種類のエンジン (memcached, redis) をサポート 既存アプリケーションの変更更不不要 運 用 可 用性を向上させる機能 モニタリング 自動障害検出 復復旧 拡張 パッチ適 用 バックアップが容易易 セキュリティ セキュリティグループ VPC 対応
11 何故マネージドサービスを使 用するのか?
オンプレミスのサーバの場合 App optimization Scaling High availability Database backups DB s/w patches DB s/w installs OS patches OS installation Server maintenance Rack & stack Power, HVAC, net you 12
Amazon EC2 上に構築した場合 App optimization Scaling High availability Database backups DB s/w patches DB s/w installs OS patches OS installation Server maintenance Rack & stack Power, HVAC, net you 13
マネージドサービスを使った場合 App optimization Scaling High availability Database backups DB s/w patches DB s/w installs OS patches OS installation Server maintenance Rack & stack Power, HVAC, net you 14
Memcached vs Redis: どっちを使 用するか? マルチスレッド 非永続化 単純なデータタイプ (String Objects) メンテナンスが楽 垂直分散が楽 シングルスレッド 永続化 多数のデータタイプ - http://redis.io/topics/data- types Atomic 処理理 Pub/sub メッセージング リードレプリカ / フェイルオーバー 15
Amazon ElastiCache for memcached 特徴 対応バージョン 1.4.5 1.4.14 1.4.24 (2016.8.24 現在 ) Cache Cluster という論論理理グループに Cache Node を複数台起動 Cluster Group 全体の Configration Endpoint と Cache Node 単体に Node Endpoint の 2 種類のアクセス 用のエンドポイントがある バックアップ機能 (Snapshot) は持たない CacheCluster A CacheCluster B Configration Endpoint Node Endpoint Node Endpoint Configration Endpoint Node Endpoint Node Endpoint 16
Memcached アクセス 用の Client Library の提供 Auto Discovery 用に対応した専 用のライブラリを AWS から提供 通常アクセス 用 Client Library Memcached ノードの追加 削除の Auto Discovery には未対応 PHP Java.NET C C++ Ruby Python Perl 多数の 言語 用のライブラリが存在 Language Ruby Python Node.js Library Dalli, Dalli:ElastiCache Memcache Ring, django-elasticache node-memcached Auto Discovery 用 Client Library consistent hashing を提供 Auto Discovery (60s 毎 ) をノードの追加 / 削除時に提供 AWS Management Console から取得可 PHP, Java,.NET に対応 (New PHP7!) Language C#/.NET PHP Java Library ElastiCache Auto Discovery Client ElastiCache Auto Discovery Client ElastiCache Auto Discovery Client (based on spymemcached) 17
Auto Discovery for memcached DNS エイリアスとして提供され稼働しているノードリストを表 示する 従来のクライアントの設定 Cache Cluster の全エンドポイントを接続先として設定 Auto Discovery クライアント (Java, PHP,.NET) Cache Cluster の Configuration Endpoint は Cache Cluster のロードバランサ (Proxy) ではなく 接続先として設定すると全ノードを 自動取得 設定し 接続する App 通常のクライアントライブラリ CacheCluster xxx.0001.apne1.cache.amazonaws.com App Auto Discovery クライアントライブラリ xxx.0002.apne1.cache.amazonaws.com Configuration Endpoint xxx.cfg.apne1.cache.amazonaws.com 18 http://docs.aws.amazon.com/amazonelasticache/latest/userguide/autodiscovery.html
ElastiCache for Redis 特徴 対応バージョン : 2.8.21, 2.8.22, 2.8.23, 2.8.24 (2016.8.24 現在 ) 複数の Cluster Group で構成される Replication Group を構成 書き込み先を 示す Primary Endpoint と Cache Node 単体を 示す Node Endpoint の 2 種類のアクセス 用のエンドポイント S3 上のスナップショット (RDB) プリロード機能で ElastiCache へのデータ移 行行も容易易 Multi- AZ 配置での 自動フェイルオーバーにも対応 Snapshot ベースでのバックアップリスト機能にも対応 対応しない機能 CONFIG, SLAVEOF など 一部コマンドは無効化 パスワード ( アクセス制御はセキュリティグループにて実施 ) 19
Redis アクセス 用の Client Library Redis にアクセスするためのライブラリは AWS から提供していない 各 言語 用のライブラリを選択して使 用する 各 言語の主要なライブラリ Language Library Ruby Python Node.js C#/.NET PHP Java Redis-rb, Redis objects Redis-py node-redis ServiceStack.Redis phpredis Jedis 20
リードレプリカ (Replication) 以下の 用途に利利 用可能 耐障害性向上 ( ただし 非同期レプリケーション ) Read 性能のスケーリング 構成 Replication Group 内に マスター 1 台 レプリカ最 大 5 台 Replica of Replica は未対応 Replication Group CacheCluster CacheCluster CacheCluster Availability Zone - a Availability Zone - b 21 http://docs.aws.amazon.com/amazonelasticache/latest/userguide/replication.html http://docs.aws.amazon.com/amazonelasticache/latest/userguide/managingreplication.html
アベイラビリティゾーンをまたいだ Replication 構成 リードレプリカを複数のアベイラビリティゾーンにデプロイ可能 同 一 AZ のリードレプリカを参照し 高速なデータ取得が可能に プライマリノード側の AZ 障害時のデータ保全が可能に App SET SET App GET 非同期レプリケーション GET Availability Zone - a Availability Zone - b 22
リードレプリカ昇格 リードレプリカをプライマリに昇格可能 昇格には数分が必要 その間未応答時間が発 生するため クライント側でエラーハンドリングが必要 プライマリのエンドポイントは変わらない Multi- AZ が有効になっている場合は 手動の昇格はできない その場合は 一度度 Multi- AZ を無効にし 昇格完了了後 Multi- AZ を有効に戻す事で可能 1 2 SYNC 3 DNS change 1 unlink 23
24 クラスタ運 用と Update
キャッシュクラスタのスケールアウト キャッシュは規模が 大きくなるにつれスケールアウトが必要になる 単純な垂直分散や ハッシュ値 ラウンドロビンでの分散ではサーバ数が増減した際にデータの再配置のコストが 高い 1 からキャッシュやり直すのと変わらない場合もある 25
キャッシュクラスタのスケールアウト Consistent Hashing ノードの追加や削除に対し 最 小限のキーのマッピング変更更で ハッシュテーブルの機能を提供 App サーバ側で Consistent Hashing で振り分ける 特徴 ノード障害時のキャッシュ喪失が限定的 ノード追加で総キャッシュ容量量を増やしやすい ノード数変更更時のリバランスコストが限定的 Node A Node D Node A NodeD を追加 Node C Node B Node C Node B 26
Consistent Hashing の 方法 クライアントライブラリでの実装 AWS 提供クライアントライブラリは Consistent Hashing 実装 サードパーティソフトでの実装 :Twemproxy Twitter 社が開発した Memcached/Redis 用の proxy 複数サーバーのシャーディング (consistent hashing) キャッシュサーバーの接続管理理 27
Twemproxy の構成例例 Twemproxy が SPOF としないようにする Twemproxy を ELB 等で冗 長化する 各アプリサーバ上 Twemproxy を起動し アプリケーションはローカルホストの twemproxy にアクセス memcached Redis App + Twemproxy App + Twemproxy App + Twemproxy App + Twemproxy RG1 RG2 28
RDB データのプリロード S3 に保存した RDB ファイルを読込む 既存の Redis で取得した RDB ファイルを ElastiCache へ移 行行する際に便便利利 注意点 RDB ファイルのバージョン互換性を確認 保存した S3 に対して ElastiCache が参照可能なパーミッションが必要 キャッシュノードタイプがサポートするメモリサイズを超える RDB は読み込み不不可 ( 起動時にエラーが発 生 ) Redis RDB copy Redis on EC2 S3 ElastiCache for Redis 29 http://docs.aws.amazon.com/amazonelasticache/latest/userguide/ ManagingCacheClusters.html#ManagingCacheClusters.SeedingRedis
プリロードの応 用 : バックアップ & リストア EC2 上の Redis を slave としてマスタに接続 EC2 上の Redis slave 側で RDB ファイルを S3 へバックアップする事でクラスタ起動時に S3 からプリロード可能 slaveof Redis RDB copy restore EC2 S3 30 http://redis.io/topics/persistence http://docs.aws.amazon.com/amazonelasticache/latest/userguide/ ManagingCacheClusters.html#ManagingCacheClusters.RedisSnapshots
Amazon Redis リリース Amazon が独 自拡張した Redis 2015/9/28 にリリース済 ElasitiCache for Redis 2.8.22 以上 改善点 バックアップの改善 レプリケーションの効率率率化 Swap の効率率率化 31
ElastiCache Redis Snapshot 機能 ElastiCache Redis は Snapshot を使 用し S3 へのバックアップリストアが可能 Snapshot 取得は 自動でも 手動でも可能 自動バックアップ 手順 Clusters 全体に対して Create 若若しくは Modify で設定 自動バックアップを Yes で有効化する 手動バックアップ 手順 Cache Clusters か Snapshot のどちらかから実施 32 対象 (Read Replica) を指定 バックアップ保存期間を指定 ( 最 大 35 日 ) バックアップ期間を指定 (1 日 1 回 )
ElastiCache Redis Snapshot 機能 バージョン 2.8.21 以前 必ず BGSAVE を利利 用するためバックアップ時にはメモリはノードの 1/2 を最 大とすることを推奨 (reserved- memory で設定 ) リードレプリカでバックアップを作成する事を推奨 挿 入 更更新 参照 削除 Redis Master データ変更更は Master ノードしかできないため 負荷をあげない 別の Replication Group に別途に起動することも可能 Redis Master 参照 Redis Read 性能 劣劣化 Snapshot 取得 Snapshot Redis Read 33 参照 Replication Group A Redis Read Read Replica は Cluster 内で 増やせるため スケールアウトが可能 Replication Group B
ElastiCache Redis Snapshot 機能 Amazon Redis( バージョン 2.8.22 以降降 ) メモリの使 用状況により BGSAVE かバックグラウンドプロセスを使 用したオリジナルかを 自動的に選択 挿 入 更更新 参照 削除 Redis Master BGSAVE or バッググラウンドプロセス使 用のバックアップ Redis Master Snapshot 取得 参照 Redis Read Snapshot Redis Read Replication Group A Replication Group B 34 https://docs.aws.amazon.com/ja_jp/amazonelasticache/latest/userguide/snapshots.html
S3 snapshot export バックアップを取得した Redis の snapshot から RDB ファイルを 生成して S3 に置く 様々な 用途 ディザスタリカバリ 分析 種データ配布 Redis EC2 Snapshot Backup Export RDB file restore Redis S3 S3 ON- PRE 35
Redis Multi- AZ 構成 Auto- Failover レプリ遅延のみでレプリカ昇格 DNS 名変更更なし writes Primary Endpoint を使 用します Primary Primary reads ʻ replicaʼ endpoints を使 用します *ʻ primaryʼ も使 用可能 Replica Replica Availability Zone #1 Availability Zone #2 36 http://docs.aws.amazon.com/ja_ jp/amazonelasticache/latest/userguide/ AutoFailover.html
実 行行時間の 長いコマンド Redis のシングルスレッドの特徴 書き込み過多な状況下での Primary- Replica 同期 大量量の書き込み <- > 同期の無限ループ Multi- AZ replication groups 有効時には 30 秒でフェイルオーバーする フェイルオーバ時には DNS キャッシュにも注意 37
Amazon Redis - Primary- Replica 同期 高負荷時の Primary- Replica 同期時 ~初期同期時の書き込みを制限 Update の同期は継続して 行行う Replica 初期化 フェイルオーバー実 行行時に PSYNC と完全同期の適切切な 方を選択する DISK Less 構成時の primary- replica 同期速度度の向上 38
自動フェイルオーバ無効時の障害時の挙動 リードレプリカあり 障害 プライマリ障害 ノード全 面障害 挙動 1. キャッシュイベントをSNSで通知を受取る 2. 再起動を試みる 3. 再起動失敗した場合 フェイルオーバーが必要 4. FO 後プライマリDNS 自動切切替 影響 フェイルオーバー完了了まで書込不不可 それまでの 一定の時間 ( 秒単位 )RR 読込不不可 対策 SNS 通知を設定する クライント / アプリでエラーハンドリング (retry, DB から取得など ) プライマリ障害 リードレプリカなし 1. キャッシュイベントをSNSで通知を受取る 2. 新しいノードを 立立ち上げ 3. DNS 切切替 キャッシュデータロスト SNS 通知を設定する キャッシュ喪失時の対策も織り込む ノード全 面障害 39
Scale up と engine upgrade writes Primary Endpoint を使 用します reads ʻ replicaʼ endpoints を使 用します *ʻ primaryʼ も使 用可能 古いクラスタは移 行行が終わったら削除 Primary Replica Replica Primary Cache Cluster New Cache Cluster 40
Cache インスタンスクラスとスペック DB Instance Class vcpu メモリ (GiB) ネットワーク cache.t2.micro 1 1 低 cache.t2.small 1 2 低 cache.t2.medium 2 4 低 cache.t2.large 2 8 中 cache.m4.large 2 8 中 cache.m4.xlarge 4 16 高 cache.m4.2xlarge 8 32 高 cache.m4.4xlarge 16 64 高 cache.m4.10xlarge 40 160 10Gbps cache.r3.large 2 15 中 cache.r3.xlarge 4 30.5 中 cache.r3.2xlarge 8 61 中 cache.r3.4xlarge 16 122 高 cache.r3.8xlarge 32 244 10Gbps 41 表には記載していない旧世代インスタンス (cache.m3) も選択可能です
Append- Only Files(AOF) について AOF とは Redis の機能で受信した全コマンド ( 操作 ) をローカルストレージ上の AOF に追記 キャッシュノード reboot 時にキャッシュデータの復復元が可能 メンテナンス時の reboot 時にデータを保持可能 デフォルトでは off パラメータグループで appendonly を yes に変更更し有効化 cache.t1.micro cache.t2.micro は 非対応 注意点 ノード障害によるノード 入れ替えが発 生した場合は AOF が喪失する データ保全のためには最低 1 台のリードレプリカ構成を推奨 耐障害性という観点から MAZ を利利 用した構成を推奨 2.8.22 以降降では AOF は 非対応 42 http://docs.aws.amazon.com/amazonelasticache/latest/userguide/ CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.AOF
キャッシュクラスタの監視 phpmemcachedadmin Amazon CloudWatch Alarms http://blog.elijaa.org/index.php?pages/phpmemcachedadmin-download 43
CloudWatch による ElastiCache の監視 主に監視する項 目 CPUUtilization (CPU 使 用率率率 ) Memcached の場合はマルチコアが使えるので 90% 超えでも OK Redis はシングルコアなので cache.m4.xlarge(4 コア ) だと 25% (100% / 4) が最 大値 CacheHits/CacheMisses Evictions キャッシュメモリ不不 足起因のキャッシュアウト発 生回数 SwapUsage メモリ使 用量量 BytesUsedForCacheItems(Memcached) BytesUsedForCache(Redis) Replica Lag レプリケーション遅延 (Redis) 44 http://docs.aws.amazon.com/amazonelasticache/latest/userguide/cachemetrics.html http://docs.aws.amazon.com/amazonelasticache/latest/userguide/cachemetrics.memcached.html http://docs.aws.amazon.com/amazonelasticache/latest/userguide/cachemetrics.whichshouldimonitor.html
おさらい : 前回の Blackbelt からの Update Amazon Redis リリース! S3 snapshot export Scale up と engine upgrade m4インスタンス対応 45
46 Amazon ElastiCache のユースケース
Amazon ElastiCache のユースケース Memcached のユースケース アプリケーションキャッシュ セッションキャッシュ Redis のユースケース アプリケーションキャッシュ セッションキャッシュ Pub/Sub リーダーボード リアルタイム分析 47
アプリケーションキャッシュ 48 目的 アプリを 高速化する 手法 高頻度度でアクセスされるデータをキャッシュに格納し DB アクセス DB 負荷を低減 クライアントへはメモリにキャッシュしたデータを返却しレイテンシ低減 用途 クエリ結果を再利利 用 (DB サーバの負荷低減 高速化 ) 複雑な計算結果 二次データを再利利 用 (APP サーバの負荷軽減 )
アプリケーションキャッシュ 典型的な構成 App RDBMS 1. クライアントからのリクエスト 2. App サーバが DB サーバに問い合わせ 3. DB サーバが結果を戻す 4. App サーバがレスポンスをクライアントに返す 49
アプリケーションキャッシュ トラフィックが増えると App RDBMS App RDBMS 5. App サーバ,DB サーバをスケール 6. 効果 効率率率 コスト的な 面 DB をスケールさせる難易易度度は? RDB をスケール アウト させるのは難しい 50
アプリケーションキャッシュ DB 負荷を軽減するためにキャッシュにデータを載せる アプリケーション側で DB とキャッシュを使い分ける App RDBMS App キャッシュ 51
セッションキャッシュ 目的 複数の App サーバでセッションを共有するために使 用する 特定のセッションレプリケーションやロードバランサに依存しない 複数のサーバから同じデータを 高速に取得可能 用途 セッション情報等の揮発性の 高いデータを格納 52
セッションキャッシュ 各アプリケーションサーバはセッション情報をキャッシュ経由で共有する App L B キャッシュ App 53
Pub/Sub 目的 パブリッシャからメッセージを送信 (PUBLISH) し それをサブスクライバと呼ばれるクライアントで受信 (SUBSCRIBE) する 複数プロセスでのリアルタイムメッセージのやり取り 用途 アプリケーションのメッセージ表 示 Web チャット オンラインゲーム招待 チャット 54
Pub/Sub > PUBLISH akuwano:chat I ve got my eye on you! (integer) 4 > SUBSCRIBE akuwano:chat I've got my eye on you! > SUBSCRIBE akuwano:chat I've got my eye on you! > SUBSCRIBE akuwano:chat I've got my eye on you! > SUBSCRIBE akuwano:chat I've got my eye on you! 55
リーダーボード 目的 点数計算などのランキング表 示を 行行う Redis の sorted set 型を使 用することで 手軽に実装可能 用途 オンラインゲームの点数 獲得アイテム数等のランキング表 示 Blog のアクセスランキング表 示 56
リーダーボード # データ登録 redis> ZADD "leaderboard" 1201 "redis (integer) 1 redis> ZADD "leaderboard" 963 "cassandra (integer) 1 redis> ZADD "leaderboard" 1092 memcached (integer) 1 redis> ZADD "leaderboard" 1383 "mongodb (integer) 1 # ランキング 一覧取得 redis> ZREVRANGE "leaderboard" 0-1 1) "mongodb 2) "redis 3) "memcached 4) "cassandra # 特定ユーザのランキング取得 (0 が 1 位 ) redis> ZREVRANK "leaderboard" "mongodb (integer) 0 57
リアルタイム分析 目的 リアルタイムにおおよそのユーザ数や 所有ポイント数の変化等を確認する 用途 ポイント数の推移をリアルタイムにグラフ化する ログを読みだして特定の 文字列列 (IP アドレスなど ) がどれくらい頻出しているかを集計する 58
HyperLogLog 59 HyperLogLog はセット内のユニークな要素数を 高速に近似することが出来るコンパクト ( 各 Key 毎に 12KB) なデータ タイプ 推定値 (0.81 パーセントの標準誤差で ) を取得することが可能 データの登録 redis> PFADD datastore "redis" "cassandra" "hbase" "aurora" "mysql" "mongodb (integer) 1 datastore という key が変更更されたので 1 が戻り値 データカウント redis> PFCOUNT datastore (integer) 6 6 種類の値が存在するので戻り値 6
60 Amazon ElastiCache の料料 金金
価格 オンデマンドキャッシュノード 初期費 用無し 時間単位の従量量課 金金モデル リザーブドキャッシュノード 予約 金金を 支払うことで時間当たり価格を割引 ( 最 大 70% 節減 ) アベイラビリティゾーンの指定が不不要 バックアップストレージ (Redis) 各クラスタに対して 1 つの Snapshot は無料料 2 つ以上の Snapshot から毎 月 0.085 USD/GB が課 金金 AZ 間データ転送量量 ElastiCache 間の通信は課 金金対象外 EC2 と ElastiCache 間で AZ を超える場合 0.01 USD/GB が課 金金 61 http://aws.amazon.com/jp/elasticache/pricing/ http://aws.amazon.com/jp/elasticache/reserved-cache-nodes/
TCO 比較 同スペックでの EC2 と ElastiCache での TCO の 比較 Multi- AZ 構成時の通信費 用を削減 運 用コスト バックアップ Multi- AZ Failover 構成 Clluster 構成 (Node Auto Discovery, Replication 環境 ) バージョンアップ / スケールアップ オンデマンド価格 ( 月額換算 ) 重度リザーブド価格 ( 月額換算 ) インスタンスタイプ EC2 Elas(Cache 差額 EC2 Elas(Cache 差額 t2.small $ 29 $ 38 $ 9 $ 21 $ 28 $ 7 r3.large $ 146 $ 199 $ 53 $ 95 $ 130 $ 35 62
まとめ Amazon ElastiCache を活 用する事で 既存のアプリケーションの変更更を最 小限にして Memcached Redis を使 用したキャッシュクラスタの構築 運 用が可能 バックアップ フェイルオーバ スペックアップ バージョンアップ等 Amazon で拡張された Redis の機能も利利 用可能 バックアップ改善 レプリケーション同期最適化 63
参考資料料 Performance at Scale with Amazon ElastiCache https://d0.awsstatic.com/whitepapers/performance- at- scale- with- amazon- elasticache.pdf Amazon ElastiCache Document http://aws.amazon.com/jp/documentation/elasticache/ Amazon ElastiCache FAQ http://aws.amazon.com/jp/elasticache/faqs/ Amazon ElastiCache Pricing http://aws.amazon.com/jp/elasticache/pricing/ Memcached http://memcached.org/ Redis http://redis.io/ 64
オンラインセミナー資料料の配置場所 AWS クラウドサービス活 用資料料集 http://aws.amazon.com/jp/aws- jp- introduction/ AWS Solutions Architect ブログ 最新の情報 セミナー中の Q&A 等が掲載されています http://aws.typepad.com/sajp/ 65
公式 Twitter/Facebook AWS の最新情報をお届けします @awscloud_ jp 検索索 もしくは http://on.fb.me/1vr8ywm 最新技術情報 イベント情報 お役 立立ち情報 お得なキャンペーン情報などを 日々更更新しています! 66
AWS の導 入 お問い合わせのご相談 AWS クラウド導 入に関するご質問 お 見見積り 資料料請求をご希望のお客様は 以下のリンクよりお気軽にご相談ください https://aws.amazon.com/jp/contact- us/aws- sales/ 67 AWS 問い合わせ で検索索してください
68