はぐれメタルのケモノ道

通りすがりのはぐれメタルが少しだけ喋ります。

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day6,7

どうも、はぐりんです。

前回に引き続き、Udemyの講座

手を動かしながら2週間で学ぶ AWS 基本から応用まで | Udemy

のDay6,7を受講しましたので、

その内容メモを残したいと思います。

 

AWS Day6 ELB

・設計をする際に意識することは「SPOFの有無」
・ELB
 → LBのマネージドサービス
 → 負荷分散
 → 正常なインスタンスにリクエス
 → AutoScalling
・NAT
 → NATインスタンスではなくNAT GWを用いる
・インメモリキャッシュ
 → ElastiCacheのレプリケーション機能
・メールサーバ
 → SESを用いる

・ELBの種類
 → CLB、ALB、NLB
 → ALBを用いる
 → ALBはL7、NLBはL4
・ELBの機能
 → 負荷分散(負荷が均等になるようにリクエストを分散する)
 → ヘルスチェック(対象のファイル、チェック秒間、判定回数)
 → AutoScaling(例:2-6台の範囲でCPU使用率が70%を超えたら+2台)
 → AutoScaling(ELB自体もスケールする)

・ELBの設定の流れ
 0:事前準備(サーバの用意)
 1:ALBの作成
 2:ターゲットグループの設定

・0:事前準備
 → WebサーバのAMI取得、サブネットの自動IP割り当て有効、RDS起動
 → AMIから新しいWebサーバ構築。

・1:ALBの作成
 → ALBの作成
 → リスナー、SGの作成
 → ターゲット(ヘルスチェック含む)の設定

・単純な負荷分散
 → Apacheを止めて→ヘルスチェックの確認→切り離し後の動作確認OK
 → 復旧も同じ

・AutoScalingの設定
 → AutoScalingグループの作成
 → 開始時2インスタンスVPC、サブネット(Public2つ)
 → ターゲットグループの指定
 → ヘルスチェックのタイプ:ELB
 → スケーリングポリシー
   ・2-4インスタンス
   ・グループサイズの増加設定
   ・グループサイズの減少設定
 → グループ作成後、開始時2インスタンスとしているため、
   自動で各サブネットに1つずつ自動作成される。

・AutoScalingの実施
 → Webサーバに負荷をかけてみる
 → 5-10分程度でAutoScalingによりサーバが2台自動追加。
 → Webサーバの負荷を減らす
 → 5-10分程度でAutoScalingによりサーバが2台シャットダウン。

・設計ポイント
 → AZにまたがったサーバ配置にする
 → アプリケーションをステートレスに構築する


AWS Day7 S3

・S3とは?
 → 「安価で耐久性の高いストレージサービス」
 → 0.025ドル/GB・月
 → 10GB/月で、30円/月
 → 耐久性 99.999999999%

バケットを作り、その下にファイルやフォルダを作成できる

・S3がよく使われるシーン
 → 静的コンテンツの配信
 → ログのエクスポート先
 → バッチ連携用のファイル置き場
 → 静的Webホスティング

・S3へブラウザ経由でのアップロード

PHP経由でのS3利用準備
 → Bacthサーバの構築(SGも新規作成)
 → Webサーバ、RDSの起動
 → RDSのセキュリティグループは、WebサーバからしMySQLアクセスを
   許可していない。BatchサーバからのMySQLも許可する。
 → IAMで「アクセスキー」を作成し保存。
 
・Batchサーバでの準備
 → aws configure でアクセスキー設定
 → AWS SDK for PHP の導入
   curl -sS h t t p s : / / g etcomposer.org/installer | php
   php composer.phar require aws/aws-sdk-php

・S3のバケットリストを見る
 → サンプルプログラムを実行し、自分のIAMユーザでのS3バケットリストが
   みられることを確認。
   
PHPサンプルプログラムを使って、
 1.データファイルをS3へアップロード
 2.データファイルをS3からダウンロードして、RDSへインポート
 3.Webアクセスでデータ表示
 を確認した。

PHP SDKについて調べるキーワード
 → aws php sdk v3

・S3で静的コンテンツを公開

 

 

 

本講座は全15日のコースなので折り返し地点を過ぎました。

今回の勉強時間は2.5h、ここまでのAWS課金額は0.31ドル です。

 

ではまた(。-∀-)ノ

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day4,5

どうも、はぐりんです。

前回に引き続き、Udemyの講座

手を動かしながら2週間で学ぶ AWS 基本から応用まで | Udemy

のDay4,5を受講しましたので、

その内容メモを残したいと思います。

 

Day4

・PrivateSubnetの作成
 → 続いてルートテーブルの作成。
 → PublicSubnet向けはVPN内とインターネットGW向けの2つ
 → PrivateSubnet向けはVPN内のみ
 → 作成したPrivateSubnetにルートテーブルを設定する。

・プライベートサブネットにDBサーバの構築

・セキュリティグループ
 → セキュリティグループ名で許可通信を設定することができる。

・DB用EC2の構築
 → AmazonLinux、t2micro
 → VPN、サブネット
 → 「自動割り当てパブリックIP」は不要なので「無効化」
 → ユーザデータの設定:Bashスクリプトで設定を入れることができる。
   ホスト名・タイムゾーン・言語設定。
 → セキュリティグループの作成で、ソースIPは既存のセキュリティグループを
   指定する。「この名前のSGを持っているEC2からHTTPを許可する」という具合。

・Web→DBの接続
 → PEMファイルのコピー。SCPを利用。
 → WindowsからSCPはフリーソフト?と思ったらTeraTermでできた!
 → yumのアップデートが失敗する(インターネットへ出ていけない)
 
・NAT GWの導入
 → パブリックサブネットに作成する
 → NATGWを作成(ElasticIPも同時に作成)
 → ルートテーブル(プライベート)にNATGWへの通信を追加する。
 → DBサーバからyumアップデートができるようになった!

mysqlでサンプルDBの作成
 → WebサーバのPHP書き換え
 → DBに新しいデータの投入
 → HelloWorld!!
 
・削除
 → NATGWの削除
 → EIPも解放する(自動で削除されないので注意!)
 
・ネットワークACL
 → SGはインスタンス単位、ACLはサブネット単位の制御
 → SGはステートフル、ACLはステートレス。
 → よってACLはレスポンスまで設計が必要。

・ネットワーク関連の設計について
 → VPN&サブネットは将来を意識して適切な広さにする
 → アカウント分割:異なるシステムはアカウント単位で切るべき。
 → 同一システムの各環境はアカウントで分ける?VPCで分ける?
 → それぞれメリットデメリットあるが、アカウント単位のほうが良さそう。

Day5

RDBのマネージドサービスRDSについて

・RDSの機能について
 → Master-Slave構成が容易(DBレイヤーの可用性が向上)
 → フェイルオーバーも自動でしてくれる(内部のDNSを自動書き換え)
 → リードレプリカ対応
 → 自動バックアップ取得、パッチ当ての自動実施
 → RDSインスタンスにはSSHできない。
 → パラメータはマネージメントコンソールから設定する。

・RDSの構築準備
 → サブネットグループ(RDSが起動するサブネットを指定)
 → パラメータグループ(パラメータの設定をするため)

・RDSインスタンスの作成
 → インスタンス種類の指定
 → VPC・サブネットグループの指定
 → AZは指定なし(Master-slaveにするため)
 → VPCセキュリティグループ(前回作成したものを指定)
 → データベース設定:ポート、DBパラメータグループ
 → バックアップ:保存期間、開始時間
 → メンテナンス:マイナーバージョンアップ自動化

・RDSインスタンスの確認
 → CPUなどのモニタリング、スナップショット、パラメータの変更
 → スナップショットが自動のものはインスタンス削除で消える。

・Webサーバからの接続先変更
 → RDSにテストデータ投入
 → WebサーバのPHPコード内でDBサーバのIPを固定からエンドポイント名に変更。
 → DBへの接続をエンドポイント名にすることで、フェイルオーバー時に自動で切り替わる。
   (DNSで処理してくれる)

・RDSスナップショットの取得とリストア
 → RDSインスタンスを選択してスナップショットを取得する。
 → テストデータを投入
 → スナップショットをリストア。
   これは新しいDBインスタンスになる。
   新規作成と同様、インスタンスタイプネットワークなどを設定する。
 → セキュリティグループの変更
 → RDSインスタンスが変わっていることの確認。

・後処理
 → RDSのマルチAZの場合、DBの停止ができない。
 → マルチAZは料金がかかるため、シングル構成に戻す。
 → RDSを停止できるが、7日毎に起動するため、必要があれば停止すること。
   またはスナップショットをとって削除。

 

二日間で、3時間程度の勉強時間でした。

現在のところAWSの課金は0.09ドルです。

 

では、また。

Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day1、2、3

どうも、はぐりんです。

仕事でAWSを触る機会が迫っており、諸々お勉強を始めておりましたが、 そんな中、おすすめ教材をTwitterで見つけました。

手を動かしながら2週間で学ぶ AWS 基本から応用まで | Udemy

有料の教材ですが、ちょうどセールで90%オフで購入できました。 全15日間の教材となっており、今回のブログではDay1,2,3の内容を まとめたいと思います。

なお、自分の備忘録的な意味合いが大きいため、 綺麗な画面キャプチャーなどありません。ご了承ください。

Day1

AWSアカウントの作成

・IAMユーザの作成

・IAMユーザでのログイン

・CloudTrailによる操作ログ保存  デフォルトでは90日分しか保存されないためS3バケットに保存する。

 → CloudTrailの設定(ログをS3に保存する)

 → 同時にS3バケットの作成

・利用料金アラートの設定

 → CloudWatchの作成 

 → 設定料金を超えたらメール通知

AWS利用料金の見積もり方法

 → 個別

 → システム全体での見積もり

Day2

・EC2インスタンスの作成

 ・リージョン

・EC2インスタンスの基本

 1.AMI:AmazonLinux

 2.インスタンスタイプ

  → t2.micro(無料利用枠)

  → 0.0152USD/時間

 3.インスタンスの設定

  → インスタンス数、VPN、削除保護など設定可能

 4.ストレージ

  → EBS 汎用 SSD (gp2) ボリューム

  → 0.12USD プロビジョニングされたストレージ 1 GB の月額料金

 5.タグ

  → 目印?

 6.セキュリティグループ

  → FWと思えばよい。許可ポート・許可ソースIP。

・EC2インスタンスへの接続

 ・AmazonLinuxへ接続する。

 ・TeratermからSSH接続。

Apacheのインストールから起動まで

 ・yum list installed | grep httpd

 ・sudo yum install httpd

 ・sudo service httpd status

 ・sudo service httpd start

・AMIとSnapshot

 ・AMI:EC2インスタンスの断面

 ・Snapshot:EBSの断面

 ・ルートボリュームのEBSのSnapshotを取得した場合、これをAMIにすることができる。

 → AMI・Snapshotは静止点を作ってから取得する。

 ・サーバ停止して、AMI作成

 ・AMIからEC2インスタンスの再作成

・ElasticIPアドレス

 ・課金が特殊

  0.005USD: 実行中のインスタンスと関連付けられている追加の IP アドレス/時間あたり(比例計算)

  0.005USD: 実行中のインスタンスと関連付けられていない Elastic IP アドレス/時間あたり(比例計算)

・削除

 ・EC2、AMIの削除、ElasticIPの解放。

Day3

・リージョン、AZ、VPC、サブネット

VPCはAZを横断して作る。

・サブネットはAZ単位。サーバはマルチAZで作成するのがお作法。

・CIDRについて、5つ分のアドレス(0,1,2,3と最後の一つ)はAWSに予約されている。

・講習で作る順番  VPC→サブネット(パブリック)→Webサーバ構築→サブネット(プライベート)→DBサーバ構築→NATGW

VPCの作成

 CIDRブロック指定

 エンドポイント:S3などのサービス用のエンドポイントとするか

 ハードウェアのテナンシー:HWを貸し切るか

VPCの確認

 インターネットゲートウェイも自動で作成

・サブネットの作成

 1つ目のサブネットはルートテーブルにインターネットGW用ルーティングが書かれている。

 2つ目は自動で書かれないため、変更が必要。

・パブリックサブネットにEC2作成

 セキュリティグループを再作成

・EC2にSSH接続

 ホスト名変更

・EC2にミドルウェア導入

 ApachePHPMysql、Git。

・Gitからサンプルソースを持ってきてWebサーバ表示

AWS クラウドサービス活用資料集

動画見ながら手を動かして、全部で3.5時間程度というところでしょうか。

では、また(。-∀-)ノ

itunesで購入した音楽をPlayMusicに取り込む

どうも、はぐりんです。

最近流行りの定額音楽サービス、私は「Play Music」を使っています。

 

このサービス、自分で持っている音楽(CDやitunesなど)をアップロードすることもできるので、我が家では全アルバムを登録し、アルバム本体はブックオフで売ってしまいました。

 

ところが先日、itunesで購入した曲がアップロードできない現象が発生。少しハマりましたが、気付けば簡単でした。

 

【対処法】

itunesでMP3に変換してからアップロードする

 

これだけです。itunesで購入した曲はM4A形式なのでこれをMP3に変換しましょう。

(以前はそのままアップロードできた記憶が。。。)

Play Music側で特にエラーも出ず、一見成功しているように見えたのでハマりました。

 

一応、ヘルプにはMP3に変換して取り込んでくれるとあるのですが。。。

Google Play Music でサポートされているファイル形式 - Google Play Music ヘルプ

同じようにハマっている方の参考になれば。

 

では、また(*´∀`*)ノ

 

GalaxyS8製品アップデート

どうも、はぐりんです。

 

GalaxyS8に今年3回目の製品アップデートが来ました。

 

今回の主な更新内容はこちら。
f:id:hagurinhagurin:20180919125639j:image

まあ壁紙はどうでもよいです。。。

 

 

ソフトウェア更新適用前

f:id:hagurinhagurin:20180918135254j:image

f:id:hagurinhagurin:20180918135307j:image

 

 

ソフトウェア更新適用後

f:id:hagurinhagurin:20180918135316j:image

f:id:hagurinhagurin:20180918135322j:image

 

今回もAndroidバージョンは変更無しです。

ベースバンドバージョン・Androidセキュリティパッチレベルが更新となっています。

 

ところで「ベースバンド」って何?と思ったのでググるとわかり易いサイトがありました。

【夏スマホ総力特集】なぜスマホCPUは「Snapdragon」のシェアが高いのか!? スマートフォン向けCPU最新事情

"ベースバンド”とは、通話やLTE、3Gでのモバイルデータ通信を処理する携帯電話の心臓部にあたる。たとえば携帯電話事業者が「LTE- Advanced」など新しい通信方式のサービスを始める場合は、スマートフォン側にも新しい通信方式に対応した“ベースバンド”が必要になるのだ。

 

 

今回のアップデートは10分程度で完了します。

 

ではまた(。-∀-)ノ