7845420 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

GMの抵抗ワショーイ

GMの抵抗ワショーイ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2018.08.08
XML
カテゴリ:サーバ
今日はネットワーク周り回、ということで用語の整理など。
後半では試験直前に視ておきたいリストを作ってみます。


DNS(Route53)

Route53はAWSマネージド型のDNSサービスです。
53番ポートを使っての(SSHは22番ポート)正/逆引き名前解決をすることからそういわれてます。
A(Adress)レコード(ドメイン名:IPアドレス=1:n)やCNAME(Cannonical Name)レコード(IPアドレス:ドメイン名=1:n)辺りの話。
CNAMEはリダイレクトとかに使われたりもする。

Route53に登録すると、4か所のエッジロケーション(CloudFrontのキャッシュサーバやAWS WAFなどが動作してる)というデータセンターに共有されます。

サポートされているレコードタイプは様々で、Aレコード(Ipv4が返ってくる)やAAAAレコード(IPv6)、CNAME(hostname.example.com)みたいなのが返ってきたりなど。
CNAMEで登録できるのはZoneApexという最上位のパスのみで、その下の/redstoneteikou/みたいなレコードは作成できません。

後使いそうなのはメールの配送先指定でよく用いられるMXレコードや
ドメインのネームサーバを指定するNS (Name Server) レコード
辺りかな。
example.comならexampleとcomを分割する感じ。
[参考]DNSの勉強ノート【その2】A/CNAME/NS/MXレコード
[参考]DNSとかネームサーバとかRoute53とかAレコードとかCNAMEとかがわからない人のためのまとめ

Route 53では、これらの他に独自拡張である「エイリアス(ALIAS)レコード」という特殊なレコードがあります。
CNAMEレコードと似た挙動をするもので、CNAMEレコードと比べてパフォーマンスが良く、zone apexに対するマッピングに対応してくれたりします。
ただし、AWS内のELBやCloudFrontといった限定されたリソースのみでしかエイリアスは使えないで注意。
(AWS Trusted Advisorでも使える場面ではエイリアスレコードをレコメンドしてくれます。)


レコード作成時にどのような応答をするのか、色々なパターンが指定できます。
・シンプルルーティング:通常の設定
・位置情報ルーティング:近い位置のリソースを指定
・レイテンシールーティング:遅延が発生しにくい場所を指定(≠近い位置)
・フェイルオーバールーティング(アクティブ/アクティブ):複数のリソース
通信をルーティング
・フェイルオーバールーティング(アクティブ/パッシブ):普段利用してるDNSが落ちてる時は待機系に通信をフェイルオーバーする
アクティブ/パッシブ(ON/OFF)スキルみたいなもんやな

Route53で行える設定(レイテンシ・加重ラウンド・位置情報など)と大体同じ。
2つのリージョンで同じWEBシステムを構築したい時はレイテンシや果汁ラウンド・位置情報のルーティングポリシーを使うと良いです。
フェイルオーバールーティング(アクティブ/パッシブ)はヘルスチェック機能のことです。


ELBでは増減するIPアドレスでなくDNS名を使用します。
WEBサイトホスティングもIPアドレスでなくエンドポイント名を指定します。
CNAMEのZoneApexで別名返す機能を利用するときはAWS用のエイリアスレコードを使う、と覚えておくとよさげ。
例えば「S3の静的ウェブサイトホスティングを利用したWebページをexample.comで返したい」時はエイリアスレコード。


AWS Aurora
RedShiftなどと同様にRDBサービス。
PostgresSQLやMySQLと互換性があります。
データはS3などと同様に3か所のAZに自動で格納されて、さらに1つのAZにつき2か所のディスクに書き込まれるため、全部合わせて6か所に保存してくれます。
Auroraを使うメリットとしては
・セキュリティパッチ適用の負荷軽減(時間指定で自動適用)
・バックアップと復元が自動化できる
・マルチAZ対応
・リードレプリカも対応

ちなみに、RDBの性質上オートスケールについてはAutoScalingを活用してのスケールアップ(エンハンス)することはできても、スケールアウト(分身)することはできません。
NoSQLのDynamoDBならAutoScalingのグループ組んでできます。
RDBならリードレプリカとかマルチAZで頑張ってください。


MySQL から Amazon Aurora に移行するには
1.mysqldumpを使ってエクスポート
2. mysqlimportを使ってAuroraにインポート

逆でも同じコマンドで1時間ぐらいで終わるらしい。
PostreSQLの場合はpg_dumpでエクスポート、pg_restoreでインポートできます。
[参考]Amazon Aurora のよくある質問

SSLでつなぐときは--ssl-caのオプションを忘れずに。



用語の整理

「この2つの用語、違いは何?」「同じものはどれ?」のコーナー。

・インバウンド通信:受信
・アウトバウンド通信:送信

・スケールアウト:分身増加
・スケールイン:分身減少
※AutoScalingと関連性が深い

みたいなキーワードベースで用語の違い(対義・類義的なもの)を見ていきます。
試験でキーワード拾えたら後は選択肢から絞れるようにするために。

1. AWS Trusted Advisorの5項目
・コスト最適化
・セキュリティ
・パフォーマンス
・フォールトトレランス(耐障害性)
・サービス制限

アクセス制限や可用性はセキュリティグループ・NACLや別の監視サービス使ってください。


2. Kinesisサービスの種類
Amazon Kinesisとはトリーミングデータをリアルタイムで収集、処理、分析するためのもの。
Youtube動画配信みたいなことしたり連携して機械学習やモニタリング・分析したい時に。

・Data Stream
 ・LambdaやEMRなどのアプリと連携してストリームを実現
・Firehose
 ・S3やRedShiftなどのストレージに保存して分析用に使う
・Data Analytics
 ・SQLやJavaでデータストリームを分析

後ろに繋がってるサービスが異なるのが肝。
Analyticsは常に末端でDataStremはEC2などの揮発性ある方でとっておき、
Firehoseはビッグデータとして保管しておきたい場合に使います。



3. プロビジョニングツール
・Elastic Beanstalk
 ・コードデプロイ
・CloudFormation
 ・YAMLやJSON、一番カスタムできるプロビジョニング
・OpsWorks
 ・ChefやPuppet使ったりOSの設定見直したい時に。

CloudFormationのパラメタは【CloudFormation入門1】5分と6行で始めるAWS CloudFormationテンプレートによるインフラ構築
を読んで頭の中でまとめた。



4. CloudWatchのデフォルトメトリクス

CloudWatchは、AWSリソース、アプリケーション、オンプレミスのモニタリングツール。
【AWS】CloudWatchでの監視項目まとめがわかりやすい。

カスタムメトリクスが対象なのはEC2やEBSが中心で、「ディスク利用率」はカスタムメトリクス。
CPU使用率はデフォルトメトリクス。

RDSやS3だとそもそもカスタムメトリクス利用できなかったりメトリクスなかったりします。
CloudWatchサービス一覧が参考になります。

ざっくり解説すると、
・CloudWatch Metrics
 ・各AWSサービスからメトリクスを収集できる
・CloudWatch Alarms
 ・メトリクスを監視して通知したり、トリガとしてLambda実行やEC2の再起動もできる
・CloudWatch Logs
 ・ログの監視・S3への保存・アクセスなど
・CloudWatch Logs Insights
 ・ログ可視化
・CloudWatch Dashboards
 ・別リージョンもまとめて監視できるよ
・CloudWatch Events
 ・AWSサービスのトリガをもとに別のAWSサービスでイベント処理。
  ・ピタゴラスイッチ的なことも(やろうと思えば)できそう


5. Auto Scaling
・Launch Configuration
 ・インスタンス起動にあたっての設定、スペック、セキュリティ設定
・Auto Scaling Group
 ・どこのサブネットやELBの下なのか、最小台数は?
・Auto Scaling ポリシー
 ・どのタイミングで増減させるか?のフラグ
  ・アラームが発生したときや猶予時間など

AutoScalingがスケールインするときのルーチンは以下の通り。

1. 起動してる台数が最も多いAZ
2. 起動設定(Launch Configuration)が最も古いもの、一番長く起動してるもの
3. 次の課金タイミングが最も近いインスタンス

6. S3の整合性

・新規追加は即時反映(PUTでもできるよ)
・更新・削除(PUT,UPDATE,DELETE)は結果整合性
 ・結果さえ合ってればいいので、一貫性は保証されてない

→NFSとしては利用できず、静的WEBサイトホスティングなどに便利


7. NATゲートウェイとNATインスタンス

公式ドキュメントより。
NATインスタンスとNATゲートウェイの違い

・NATインスタンス
 ・実体はEC2インスタンスのこと
 ・プライベートサブネットにあるS3やDynamoDBからのアクセスをできるようにする
 ・S3やDyanamoDbなどにパッチをあてられる
・NATゲートウェイ
 ・NATインスタンスがSPOF(単一障害点)にならないように、EIP割り当ててNATインスタンスと似たことできるようにする
 ・インスタンスでなく、GWなので停止できない→料金が発生し続ける

つまり、
【冗長化や障害対策などの運用管理】
 NATインスタンス:必要
 NATゲートウェイ:マネージドサービスなので不要
【セキュリティグループ】
 NATインスタンス:使える(実体がEC2なので)
 NATゲートウェイ:使えない(ネットワークACLで制御する)
【料金】
 NATインスタンス:EC2の料金体系に従う
 NATゲートウェイ:NATゲートウェイの料金体系に従う


ということになります。

8. ゲートウェイ関連用語

・VPCピアリング接続
 ・VPC間の接続に使う。ネットワークアドレスが違うAWSアカウント同士でも通信可能
・VPCエンドポイント(AWS Privatelink)
 ・NATデバイス不要で、インターネットを経由せずにプライベート接続可能
 ・NATの場合はインターネットと接続する違いがある
・Direct Connect
 ・オンプレ鯖とAWSを専用線でつなぐ
・バーチャルプライベートゲートウェイ(VGW)
 ・Direct ConnectやインターネットVPN接続用ゲートウェイ
・インターネットゲートウェイ(IGW)
 ・VPCリソースからインターネットにアクセスするためのもの。セキュリティグループで0.0.0.0/0を設定するとインターネットに自由に繋がるよ






・その他メモ
 ・S3のライフサイクルについて
  ・移行アクションと有効期限アクションがある
 

   ww
 ,,#´ω`#,,
 #´・_・`#ノシ
 #´・ρ・`#ノシ
 #´・▽・`#ノシ
 #´・w・`#ノシ
 #´・ω・`#ノシ
 #´・∀・`#ノシ
 #´・Д・`#ノシ
 #´・-・`#ノシ
 #´・ε・`#ノシ
 #´・ヮ・`#ノシ
 #´・⊇・`#ノシ
..[..===..]
 |ノシショボテン|
 |_\3500_|





お気に入りの記事を「いいね!」で応援しよう

Last updated  2019.08.30 06:58:13
コメント(0) | コメントを書く



© Rakuten Group, Inc.