EC2+RDSを基本から #cmdevio2017
-
Upload
tetsunori-nishizawa -
Category
Technology
-
view
624 -
download
3
Transcript of EC2+RDSを基本から #cmdevio2017
好きなAWSサービス 4
特集カテゴリー ブログ登場回数AWS-CLI 23EC2 22RDS 17S3 15Directory Service 10Windows 10Database Migration Service 9IAM 8
このセッションのテーマ 5
• 対象 • AWS初⼼者のインフラエンジニア
• テーマとなるAWSサービス • EC2、RDS
• ⽬的 • AWSに少しでも慣れる • オンプレのインフラとの違いを理解する • 設計ポイントやハマりどころを抑える • 今後の学習の⽅向性をつかむ
注意事項 6
• 本セッションでは細かく正確な情報を伝えることよりも、わかりやすく伝えることを優先した為、あえて極端な表現や雑な⾔葉を使っているところがありますが、ご了承ください。
• 正確な情報はAWS公式ページをよくお読みください。
• 質問も⼤歓迎です。時間に余裕があればセッション内で、時間が無ければあとで直接どうぞ。
EC2インスタンスタイプの歴史 10
https://www.slideshare.net/JulienSIMON5/deep-dive-on-amazon-ec2-instances-march-2017/6
EC2インスタンスタイプの歴史 11
https://aws.amazon.com/jp/blogs/news/ec2-instance-type-update-t2-r4-f1-elastic-gpus-i3-c5/
EC2のインスタンスファミリー 12
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-ec2/17
EC2のインスタンスタイプ 13
• 最新世代の⽅が安くて⾼性能 • 同⼀世代内でスペックを上げると性能と値段が倍に • インスタンスタイプによってネットワーク性能も変わる • T2で安く開発、本番では使わないこと推奨 • まずはM4で検討 • 様⼦を⾒て、コンピューティング最適(C4)、メモリ最適(R4)に • 特別な⽤途ではそれ以外を
AMIの話をする前に 17
https://aws.amazon.com/jp/aws_history/details/
なぜEC2の歴史を知る必要があるのか︖ 18
• 当初の設計思想がわかる • 当然今は変わっていることもたくさんある • 現状はほぼ不要となっているパラメータが存在するが、新規
AWSユーザには何のことかわかりづらい • 知ることで理解が深まり、最適な構成とすることができる
例えば 19
https://aws.amazon.com/jp/aws_history/details/
EC2ができたときには EBSもVPCもなかった︕︕︕
EBS-BackedとInstance Store(S3)-Backed 20
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ComponentsAMIs.html
特徴 Amazon EBS-Backed Amazon Instance Store-Backed
サイズ制限 16 TiB 10 GiB
ルートデバイスボリューム Amazon EBS ボリューム インスタンスストアボリューム
データの永続性 データを残せる データ残せない
停⽌状態 削除も停⽌もできる 削除できるけど停⽌できない
昔はこれ(使わないリソース=削除)しか無かった
ちなみにAWSの考え⽅はこんなところにも 21
• Elastic IPアドレスの利⽤料⾦ • 実⾏中のインスタンスと関連付けられているEIPは無料 • 使われずに確保だけされているEIPは有料
• AWSは、使われているもの以上に、誰にも使われていないものがコストであると考えている︕
EC2-ClassicとEC2-VPC 22
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ComponentsAMIs.html
• EC2-Classic(VPC前) • 他のAWSアカウントと共⽤のプライベートネットワークを利
⽤(他のAWSアカウントが作ったEC2とプライベート通信可) • 専有インスタンス利⽤不可 • Outbound通信制御不可 • IPv6⾮サポート • 最近作ったアカウントでは使えない
PV AMIとHVM AMI 23
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/virtualization_types.html
• 仮想化⽅式 • 準仮想化=PV(Paravirtual) • 完全仮想化=HVM(Hardware-assisted Virtual Machine)
• PV AMIはPV-GRUB(特別なブートローダー)を使⽤して起動 • 以前はPVの⽅が速かったので、PVしか無かった • PVは古いインスタンスタイプ(T1、M1、C1等)でしか使えない • PV on HVMドライバで、HVMの⽅が性能が良くなった • 現在はHVM⼀択で問題なし
EC2の歴史からわかること 24
• コンピューティング環境を従量課⾦で、使いたいときにだけ使う、使わなくなったら捨てる、余ったマシンリソースを安くみんなで使う、というのが当初のコンセプト
• どんどん安く良いマシンが便利に使えるようになっており、EC2も進化を続けている
• とりあえず今はEBS-BackedなHVM AMIをEC2-VPCで利⽤すればOK
利⽤できるOS 25
• 通常は”クイックスタート”から選べば⼗分 • Linux
• Amazon Linux • SUSE Linux • Red Hat Enterprise Linux • Ubuntu Server
• Windows • Windows Server 2016 • Windows Server 2012/R2 • Windows Server 2008/R2 • Windows Server 2003 R2
AMIの種類 26
• 共有AMI • クイックスタートもこの⼀種 • Marketplace(別途ソフトウェア利⽤料が必要) • Community AMI(Amazonが⽤意しているものはこちらに
分類される) • カスタムAMI
• 構築したEC2インスタンスからイメージ作成可能
カスタムAMIの使い⽅ 27
• カスタムAMI • EC2のバックアップとして使う
• AMIはシステムバックアップではない • 起動時に指定するパラメータ(インスタンスタイプ、ネットワー
ク、等)まで確認しておかなければ元には戻らないことに注意 • クローンするイメージとして使う
• Auto Scaling環境の起動設定として利⽤する、等 • Windowsならsysprepを • 他のアカウントと共有、公開することも可能
Amazon Linux 28
• RHELベースのAWS⽤Linux • kernelバージョンが新しい • yum,rpmでパッケージ管理 • upstart(systemdではない) • AWSのサポート • 継続的なセキュリティとメンテナンス • AWS CLI等のAPIツール • 特別な要件が無ければこれを使うのがベスト
その他のLinux 29
• MarketplaceやAMI選択画⾯から検索 • ⼤量のパブリックイメージが公開 • ソフトウェアライセンス費⽤が追加で
かかるものがあるので注意
http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-ec2-linux/
Linux OSの初期設定 30
• 選択するディストリビューションによってOS初期設定が異なる • 初回接続ユーザ(ec2-user,ubuntu,centos,root等) • NTP起動設定 • SELinux(RedHat系) • AWS APIツールの導⼊有無 • ディスクパーティション、ファイルシステムサイズ • cloud-init
Linux OSの初期設定での確認ポイント 31
• OSホスト名 • 初回接続ユーザ、sudo設定 • Timezone(デフォルトUTC) • Locale • Firewall(iptables, firewalld) • ディスク、ファイルシステム、マウント • swap(AWSは何もしないので注意) • パッケージ管理、サービス起動設定
cloud-init 32• Amazon Linux等のAmazonが⽤意したディストリビューションには
cloud-initが標準で導⼊されていて、いい感じに初期設定してくれる • Amazonが⽤意したディストリビューションでない場合、初期設定がバ
ラバラなので注意
http://dev.classmethod.jp/cloud/five-confs-of-ec2-linux-sysops/
WindowsのAMI 33
• ⽇本語OSもすべてのリージョンで⽤意されている
• Windowsパッチを毎⽉適⽤してアップデートされる
• 直近2ヵ⽉程度を残して古くなったAMIは⾮公開になる
http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-ec2-windows/
Windows OSの初期設定の注意 34
• Windows Server 2016からはEC2 Launch • Windows 2012まではEC2 Config • ただし、2016年11⽉のWindows AMIから、EC2 Configに
SSM Agentも含まれるように • 現在過渡期にあり若⼲混乱中 • (今回は詳細な説明は割愛)
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2-windows-instances.html
EC2 Launch, EC2 Config 35
• 設定してくれる内容はほぼ同じ • 違いはGUIかPowerShellスクリプトセットか
• 壁紙設定 • Administratorパスワード再設定 • RDPホスト証明書⽣成 • パーティション⾃動拡張 • sysprep • などなど
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2launch.html
EC2の正しい使い⽅(まとめ) 36
• EC2はすべてのAWSサービスの基本 • 使いたい時に使いたいだけ使うのが本来の使い⽅ • 公式ドキュメントも充実、調べれば情報はたくさんある • EC2に限らずAWSのほぼ全てはAPIで操作可能 • 新しいものに置き換え可能な状態に
Amazon RDSとは︖ 38
• フルマネージドなリレーショナルデータベース • 数クリックすれば10分も要らずにDBを利⽤可能 • スケールアップ/ダウン、ストレージ拡張 • 容易に⾼可⽤な構成に、バックアップも • 対応DBエンジン
• Oracle/Micorsoft SQL Server • MySQL/MariaDB/PostsgreSQL • Aurora(MySQL互換/PostgreSQL互換)
Amazon RDSの特徴 39
https://www.slideshare.net/AmazonWebServicesJapan/20170510awsblackbeltrds/11
数クリックで⾼可⽤な構成に 40
http://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-rds/
RDS for Oracleの制約事項 42
https://www.slideshare.net/AmazonWebServicesJapan/20170510awsblackbeltrds/13
RDSにその機能が本当に必要なのか︖ 43
• 必要なものはプロシージャとして⽤意されている • バックアップやレプリケーションはほぼAWSに任
せることができる • 監視系は今後の機能拡張に期待
• 可能な限りRDSで検討した⽅が幸せになれる • どうしようもないときはEC2でがんばる
オンプレからのデータベース移⾏ 44
http://dev.classmethod.jp/cloud/aws/database-migration-from-on-premise/
DMS/SCTが⾮常に便利 45
https://www.slideshare.net/AmazonWebServicesJapan/rdbmsaws-75043784/17
データベース移⾏の注意 46
• 検証環境を⽤意して試す • プロジェクトのスケジューリング • データ移⾏が正常に⾏われたことを確認する⽅法を決め
ておく • DMS/SCTの制限事項や使い⽅についてドキュメントをよ
く読む
今⽇できなかった話 48
• クラウド=エンジニアも利⽤コストから逃げられない • 安く使う技術が必要 • 費⽤に関する知識、コード化/⾃動化 • Reserved Instance/Spot Instance • ライセンス
• ライセンス込みモデルを使って、ソフトウェアも従量課⾦とするのが吉
• クラウド活⽤、柔軟なシステムに
最後に 49
• AWSに移⾏することでエンジニアが元気になった、新しい技術に興味を持つようになった、という声をよく聞きます。
• 私もその⼀⼈です。 • 情報発信/情報交換し、AWS好きが増え、元気になるエン
ジニアが少しでも増えていったら嬉しいです。