- 1. AWS 基礎
- 2. インフラ知識が幼稚園レベル→中学生レベルになるまでの1ヶ月でやったこと学んだこと①
- 3. AWS CLI v2 と Session ManagerでEC2にログインする時のssh config
- 4. AWSMobileClientのpod installがSWIFT_VERSIONのエラーで止まるときの対応
- 5. 大量のIP RangeリストをAWS Security Groupに反映するスクリプト(メモ)
- 6. AWSのVirtual MFA Deviceを失ったときどうなるかとその予防
- 7. AWS(AmazonLinux2)・EC2、Laravel7.x/PHP7.4でのデプロイ
- 8. Dockerコマンドおさらい① Docker Hub, AWS ECRへのpushもあるよ
- 9. ElastiCacheのリーダーエンドポイントとphp-fpmについて
- 10. awspec を Docker で動かして、AWSのリソースが正しく設定されているかを確認する
- 11. Django Heroku S3(AWS) 画像表示
- 12. EC2にYellowfinのベストなテスト環境を構築するまでのメモ
- 13. 「Amazon AppFlow」を利用して、Google AnalyticsのデータをS3に保存してみた
- 14. Laravel~portfolio -first deploy
- 15. 音楽素人がAWS DeepComposerで星野源の「うちで踊ろう」のアレンジ作曲に挑戦してみた
- 16. AWS CloudFrontのキーローテーションを考えてみた
- 17. 【試験合格記】AWS 認定 クラウドプラクティショナー(CLF-C01)
- 18. 誰でも簡単にビデオ通話できる「オンライン帰省.com」作ってみた【Webサービス】
- 19. 【試験合格記】AWS 認定 アドバンスドネットワーキング – 専門知識(ANS-C00)
- 20. Redis SentinelをEC2で構築する
AWS 基礎
#前提
AWSを学習中に学んだことを殴り書きしていきます。#本題
・サーバー構築に必要な知識
1、サーバーOSのインストール方法LinuxやWindowsServerなどの
サーバーOSのインストール、各種設定方法
2、各ソフトウエアのインストールや設定方法Webサーバーソフトや
データベースサーバーソフト、メールサーバーソフトなど、
さまざまな機能を提供するソフトウエアのインストールや設定方法。たとえば、、、
【Webサーバーとして機能させる場合】
ApacheHTTPServer
やnginx
などのソフトウエアをインストールする。【データベースサーバーとして機能させる場合】
MySQL
やMariaDB
、PostgreSQL
などのソフトウエアをインストールする。【メールサーバーとして機能させる場合】
Sendmail
やPostfix
などのソフトウエアをインストールする。・
インフラ知識が幼稚園レベル→中学生レベルになるまでの1ヶ月でやったこと学んだこと①
## 物語あらすじ〜どんな人向けか〜
– サクッとモダンっぽいインフラ構成を学びたい人
– インフラ何から勉強したらいいのかわからない人インフラエンジニアの方よりサーバーサイドやフロントエンドの方向けです!
また実際の構築の仕方・作ったものは載せません。あくまで勉強の手引きです。## 物語本編
これはインフラ幼稚園からインフラ小学に飛び級し、さらにインフラ中学校にまで飛び級したキャベツちゃんの1ヶ月の物語。前編。3月中旬。インフラ幼稚園に入って3ヶ月くらいの時でした。
**先生 「キャベツちゃん、インフラ小学校に飛び級になったよ!(インフラリソースが足りないという大人の事情)」**
**キャベツ 「はーい!(面白そうだからとりあえず返事)」**
この時のインフラ(AWS)の知識は、
– s3には画像とか保存できるんだな〜
– lambdaは関数を書いてなんかするやつでしょ?
くらい。今考えるとほんとにやばいw
こんな状態から下に示す構成を1ヶ月くらいで学んで作成しました。(先生にも助けてもらいましたが)今回の記事ではCircleCIで自動
AWS CLI v2 と Session ManagerでEC2にログインする時のssh config
# 目的
AWSのEC2インスタンスに[Session Manager](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager.html)で接続する場合に接続先としてインスタンスIDを指定しなければならないがインスタンスIDは再作成などで変更される場合がある。
インスタンスIDが変更になってもSSH Configを変更しなくて良いように設定する。# 前提条件
* 利用環境にAWS CLI v2 がインストールされている (インストール方法https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html)
* 利用するIAM User は作成済み
* 利用するアクセスキーとシークレットキー も発行済み
* 接続先のEC2インスタンスにはtagにインスタンス名が設定されているこのようにインスタンスにNameタグが付いているとする
“`bash
$ aws –profile foo
AWSMobileClientのpod installがSWIFT_VERSIONのエラーで止まるときの対応
# AWSMobileClientがインストールできない
新しくiOSアプリを作る場合にはまずあり得ないと思いますが、古いアプリの改修などの場合はコードが全てObjective-Cで書かれているケースも珍しくないと思います。今回、そういうケースでAWSMobileClientがインストールできないという現象に遭遇したので記録しておきます。
## つまり、どういうことかというと
* Objective-Cだけで書かれたiOSアプリにAWSMobileClientをpod installしようとすると失敗します。
* Bridging Headerを生成してあげましょう。
* ダミーのSwiftファイルを作成するだけで、Xcodeが自動生成してくれます。—
以下、詳細です。
## 発生した現象
Cocoapodsを使ってAWSMobileClientをインストールしようとすると*Unable to determine Swift version*エラーになる。
### Podfile
“`sh
$ cat Podfile
# Uncomment the next
大量のIP RangeリストをAWS Security Groupに反映するスクリプト(メモ)
Security Groupのルールを設定する雑スクリプトです。作業メモ的に残しておきます。
Azure PipelineのIPが多すぎ(100個以上)、デフォルトでSecurity GroupのRuleは60個まで。という面倒な状態だったので、雑にPythonスクリプト作りました。
## 背景(前提?)的なもの
– AWS側Security Groupで、IP制限している。
– Azureのサービス(Azure Pipeline等)からAWS側に接続したいがIP制限でNGになる。
– 設定すべきプロトコルとポートは、HTTPS:443 だけで充分。
– Azureで使用されるIPは下記URLで公開されている(JSONファイルでダウンロードできる)。
– https://www.microsoft.com/en-us/download/details.aspx?id=56519
– APIでIPレンジを取得する事もできるが、とりあえず手メンテ。## スクリプト
Python3で、ソースコードを3ファイルに分けてます。同じフォルダに入れてください。
AWSのVirtual MFA Deviceを失ったときどうなるかとその予防
#最初にざっくりいうと
「MFA デバイスの割り当て」(Virtual Multi-factor Authentication device)にスマホを使うなら、
機種変するときに気をつけましょうね。デバイスなくなるとホントに入れないからね。
という話。その後の大変だったお話と、その後ワタシが見つけた他に乗ってない(はずの)予防法についても記載します。
参考になったらLGTMしてね!(「いいね!」じゃなくていいにくい…)#ことのはじめ
AWS好きなので日々いろんなサービスをありがたーく使わせております。
で、2016年ごろから「rootで作業するな、認証は2段階にしろ」というお達しがあったので、素直にポリシ、グループ、ユーザを細かく作った上で、root他多数のユーザはスマホをデバイスとしたMFA(Multi-Factor Authentication)で2段階認証するようにしました。時を経て、すっかりrootのMFAのことを忘れていたワタシはある時
:angry:今のスマホは大きすぎる!
と思ってスマホを[unihertz Atom](https://www.unihertz.
AWS(AmazonLinux2)・EC2、Laravel7.x/PHP7.4でのデプロイ
#はじめに
意外に記事少なくて困った点、AmazonLinux2にてちょっと変わってた点、Laravelに関してvimいじったところなんかのまとめです。
なんど色々と弄ったり、削除したりインスコしたり、EC2作り直したりしたことか。#めっちゃ参考にしたページ、スペシャルサンクス!
・まず、一番最後にでも一番参考になった神まとめページ
[・AmazonLinux2でLaravelの開発環境構](https://qiita.com/h19e/items/02d1301d4fdd8dfa88ac#%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)・AmazonLinux(無印)だけどデプロイの参考になったページ
https://qiita.com/masataka715/items/6e46f1f5e53bdff6cd3d他色々試しまくった記事
https://
Dockerコマンドおさらい① Docker Hub, AWS ECRへのpushもあるよ
やったことの整理を含めてDockerコマンドのおさらいとして書きました
ECRのpushとかも書きました(ECRにリポジトリ作ったら手順は書いてあるものですが…)## コンテナ一覧表示と削除
– 現在起動中のコンテナの一覧表示
`$ docker ps`“`
★ 使うオプション
停止中を含め全てのコンテナの一覧を表示
$ docker ps -aコンテナIDのみを表示
$ docker ps -q停止中含め全てのコンテナのIDのみ表示
$ docker ps -aq–filter(-f) でコンテナ情報を抽出して表示
停止中のコンテナ一覧を表示
$ docker ps -f “status=exited”
NAMESにmysqlを含むコンテナを表示(=としているが完全一致ではなく、含むものも抽出する)
$ docker ps -f “name=mysql”
“`– dockerコンテナの削除
`$ docker rm [コンテナIDs]`“`
★ 使うオプション
コンテナ起動中でも強制的に削除
$ do
ElastiCacheのリーダーエンドポイントとphp-fpmについて
ElastiCacheのリーダーエンドポイントを導入し、サービス中に台数を増減させた際の挙動メモ
前提情報
・phpで動くwebサービス
・インフラは全てAWS
・キャッシュはElastiCahceのredisを利用
・非クラスターredisを利用しておりphp側ではホストにリーダーエンドポイントを指定
・redisの接続オプションは「persistent:true」状況
・セールにより一時的に負荷上昇
・オンサービス中にノード追加を実施
・php-fpmプロセスは「pm.max_children」数分だけ既に立ち上がっておりredisとの接続を1度は確立済み挙動
・リーダーエンドポイントでホストを指定しているが追加されたノードへはリクエストが振り分けられない
・「persistant:true」としているのでリーダーエンドポイントの先にある特定ノードとの接続情報がプロセスに保存されている状態対処法
1. 手動でphp-fpmを再起動し全プロセスを作り直す (※ただし瞬断する
2. 1プロセスがpm.max_requests分だけリクエストを処理すれば1プロセスごとに自動
awspec を Docker で動かして、AWSのリソースが正しく設定されているかを確認する
awspec ( https://github.com/k1LoW/awspec ) を使って、AWSのリソースが意図した通りに設定されているかを確認します。
CloudWatch event を使ってるシステムがありますが、サービスを運用していく過程で、CloudWatch event の設定が増え、設定漏れがでてくるようになりました。
CloudFormation 化することも上記の課題の対応になると思いますが、今回は awspec を利用して、 CloudWatch event の設定内容が意図通りに設定されているかを確認します。
サーバー環境に依存させたくないので、 awspec を Docker で動かします。
# この記事でわかること
– awspec を Docker で動かす方法
– awspec で AWSリソース CloudWatch event をテストする方法
– この記事内のソースは以下で公開しています。
– https://github.com/katsuhiko/awspec-example# 準備
## Gemfile の準備
Django Heroku S3(AWS) 画像表示
#前提
画像をS3に保存し、本番環境で画像を表示させる方法をメモします。DjangoアプリケーションをHerokuにデプロイ済み。
AWSアカウント設定済み。環境
python-3.7.6
Django 2.2##AWS設定
AWS登録をS3を使用するのに、AWSアカウントが必要になります。###1、バケット作成
①S3を検索してクリック②バケット作成
③バケット名とリージョンを選択
④オプションなし
⑤アクセス権限設定
⑥内容を確認して作成
⑦バケット完成
###2、CORS設定
①CORSの設定に移動
作成したバケットをクリックして、アクセス制限
のCORSの設定
に移動します②CORS構成エディターに追加
以下を記入。“`
CORS
<
EC2にYellowfinのベストなテスト環境を構築するまでのメモ
テストや検証目的でAWSにYellowfinを構築することがよくあります。いろいろ試した結果、現時点で最適だと思える構築手順を公開します。
# AWSコンソールでの作業
まずはAWSコンソールでEC2のインスタンスを立ち上げます。
## EC2インスタンスの作成
今回の例ではAmazon Linux 2を選択します。
![cap001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116818/21e5154d-831e-9c48-a3d9-b1ad749a3e69.png)インスタンスタイプはr5a.largeを選択。
![cap002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116818/9b9cf398-49ac-aa10-5891-d2124536a26d.png)ストレージは64GBまで追加しておきます。
![cap003.png](https://qiita-image-store.s3
「Amazon AppFlow」を利用して、Google AnalyticsのデータをS3に保存してみた
AWSでSaaSアプリケーションのデータをAWS内に取り込むサービスが発表されました。
私が注目したのは、Google AnalyticsのデータをS3に簡単に取り込めるようになったことです。今までは、Google AnalyticsのデータをS3に落としてこようとすると、Google AnalyticsのAPIを利用するか、360を契約してBigQueryで引っ張ってくるしかありませんでした。
私の会社はGCPが使えないので、今まではAPIを利用するしかありませんでした。そこで登場したのがAmazon AppFlowです。早速設定してみました。
## 公式での使い方をチェック
[Requirements for Amazon AppFlow – Google Analytics](https://docs.aws.amazon.com/appflow/latest/userguide/requirements.html#google-analytics)から翻訳して引用します。
>Google API Console at https://console.developers.
Laravel~portfolio -first deploy
#はじめに
ポートフォリオ作成してみました。##環境
・Laravel ver7.x
・AWS(AmazonLinux2)
手動デプロイローカル環境
・Homestead+vagrant#(ポートフォリオ)自転車店における顧客登録と所有自転車管理システム
・[ポートフォリオ:管理システム](http://18.182.15.189/)・[Github](https://github.com/MensExperience)
※無駄にコミットしてるの無視してください#Laravelローカル編
#AWS設定(Laravel7.x&AmazonLinux2)
とりあえず今日は疲れたので、近日LaravelとAWSにて詰まった所追記予定。
タスクは、、、無視してください。
今後Vueにて便利機能追加予定です。
音楽素人がAWS DeepComposerで星野源の「うちで踊ろう」のアレンジ作曲に挑戦してみた
#概要
本記事は2020年4月23日に行われた[【オンライン】ゆるふわマシンラーニング Vol.3](https://enebular.connpass.com/event/167636/)の
登壇内容をまとめたものになります。
※ウフルさんのenebular developersコミュニティ主催
※[ゆるふわマシンラーニングVol.3のツイートまとめ](https://togetter.com/li/1498404)機械学習の技術を利用して自動で作曲ができる「AWS DeepComposer」を使って、
音楽素人の私が(しかもリズム感ゼロ。笑)、作曲してみたという内容で話していきます。##AWS DeepComposerとは
AWS DeepComposerは2019年の秋頃Amazon Web Servicesから発表された
世界初の機械学習対応のキーボードサービスの総称です。
[AWS DeepComposer公式サイト](https://aws.amazon.com/jp/deepcomposer/)専用のMIDIキーボードを利用し、入力された音を学習済みのモデル
AWS CloudFrontのキーローテーションを考えてみた
# はじめに
CloudFrontの署名付きURLを使用して画像などを配信する際に、
キーペアのローテーションをどうすれば良いのか?検討する必要があったため考えてみました。AWSの推奨としてはセキュリティ担保のため、90日以内にキーローテーションすべきとのこと。
# 結論
結論から言いますと、[AWSのドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html#private-content-rotating-key-pairs)に丁寧に書いてあったため、 基本はそちらの手順に従いました。。サマリだけ記載すると、以下になります。
* キーペアは2つまで作成できるため、更新時は2つ目を作成する
* キーペアを利用しているアプリケーションの環境変数などを更新する
* 古いキーペアの使用がなくなった時点で無効化→削除する# 自システムに適用するなら、、
実際にシステムに適用する場合をイメージしてみ
【試験合格記】AWS 認定 クラウドプラクティショナー(CLF-C01)
お疲れさまです。
表題の試験に合格したため記録として残したいと思います。# 結果
合格|分野|名称|割合|
|:—————–|:——————-|:——————-|
|1|クラウドの概念|28%|
|2|セキュリティ|24%|
|3|テクノロジー|36%|
|4|請求と料金|12%|# 所有資格
| 資格名 |取得年月日 |
|:—————–|:——————-|
|AWS Certified Solutions Architect – Associate (SAA)|2018-06-14|
|AWS Certified SysOps Administrator – Associate (SOA)|2018-06-22|
|AWS Certified Developer – Associate (DVA)|2018-06-25|
|AWS Certified Solutions Architect – Professional (SAP)|2018-
誰でも簡単にビデオ通話できる「オンライン帰省.com」作ってみた【Webサービス】
# はじめに
このサービスは、**コロナ**が**大きな影響**を及ぼしている現在の世の中で、
**個人開発者**の自分が少しでも**Stayhome**のきっかけになればと思い**開発したサービス**の工程です。今までなかなか忙しくて帰省出来なかった人も
**オンラインで帰省**できる**きっかけ**になれば嬉しいです。ソースコードを後半で公開しています。興味ある方は使ってみてください。
開発者の**[Twitterアカウントはコチラ](https://twitter.com/nsk_dev)**
# サービスイメージ
**パソコン**や**タブレット**、**スマートフォン**をお持ちの方であれば、
**誰でも簡単**に**ビデオチャット**ができる**サービス**
「**オンライ
【試験合格記】AWS 認定 アドバンスドネットワーキング – 専門知識(ANS-C00)
お疲れさまです。
表題の試験に合格したため記録として残したいと思います。# 結果
合格|分野|名称|割合|
|:—————–|:——————-|:——————-|
|1|大規模なハイブリッド IT ネットワークアーキテクチャを設計し、実装する|23%|
|2|AWS ネットワークを設計し、実装する|29%|
|3|AWS タスクを自動化する|8%|
|4|アプリケーションサービスとネットワークの連携を構成する|15%|
|4|セキュリティとコンプライアンスを設計し、実装する|12%|
|4|ネットワークの管理、最適化、トラブルシューティングを行う|13%|# 所有資格
| 資格名 |取得年月日 |
|:—————–|:——————-|
|AWS Certified Solutions Architect – Associate (SAA)|2018-06-14|
|AWS Certified SysOps Administrator – Asso
Redis SentinelをEC2で構築する
# 1. 参考
– Redis Sentinelで自動フェイルオーバー
– https://qiita.com/wellflat/items/8935016fdee25d4866d9
– ※この記事をかなり参考にさせていただいております。– Redis Sentinel Documentation – Redis
– https://redis.io/topics/sentinel# 2. 今回作る構成(Redis Sentinel Documentationより引用)
“`
+—-+
| M1 |
| S1 |
+—-+
|
+—-+ | +—-+
| R2 |—-+—-| R3 |
| S2 | | S3 |
+—-+ +—-+
“`Configuration: quorum = 2
Masters are called M1, M2, M3, …, Mn.
replicas are c