- 1. エンジニア未経験が企業のモニタリング体制を構築した話?
- 2. 【Ruby on Rails】本番環境でデータベースをリセットする方法
- 3. プログラミングスクール生のここがダメ(インフラ構成を理解していない)
- 4. Railsでpublic/packs/manifest.jsonの中身がないというエラーが出てハマった(AWSデプロイ時)
- 5. WindowsからCodeCommitをSourceTreeで利用
- 6. EC2 (プライベートサブネット) を Systems Manager で管理する設定
- 7. ネットワーク作成からスケーラブルな仮想サーバー構築までをクラウドで行う【AWS編】
- 8. ネットワーク作成からスケーラブルな仮想サーバー構築までをクラウドで行う【GC編】
- 9. 図解 Amazon Route 53 で DNSSEC
- 10. server can’t find [domain]: NXDOMAIN 取得したドメインに関連付けができない
- 11. ECRへのレプリケーションをトリガーにECSのサービス更新を実行
- 12. 週間AWSアップデート(2021/9/20週)
- 13. golangで動かして学ぶCognitoユーザプール、IDプール
- 14. AWS EC2にクラウドゲーミングサーバを立ててOculus Quest 2でVRゲームを遊ぶ
- 15. AWS S3 静的ウェブサイトをHTTPS化
- 16. ムームードメインで取得したドメインをAWS Route53に登録
- 17. Load data into Oracle DB from AWS S3
- 18. 企業のデータ分析体制ってどうやって作るの?(マスキング処理とAWS CLIのcron設定による自動化を解説)
- 19. S3アップロードをトリガーに画像をLambdaでDropbox Businessにアップロードする
- 20. LambdaでDropboxのアクセストークンを取得する
エンジニア未経験が企業のモニタリング体制を構築した話?
# **え、何したの?**
運用中のサービスに対するデータのモニタリング体制を構築して欲しいという実務課題を解決しました。
具体的には、、、
– 運用中のWebサービスのデータ分析環境が整っておらず、KPIモニタリングを行えていない。
– SQLでデータを分析する際にも本番DBに接続するしかない。
– 運用中のWebサービスのKPIモニタリング体制の整備
– 開発期間 42日間
– 運用費用は月5,000円以内 などなど今回の実務経験は、応募者の中からクライアント様が選考を行い、最終的に絞り込んだ人数の中で同じ課題に取り組み、それぞれのソリューションからベストなものを選定していただくという採用方式でした。
# **で、何作ったの?**
最終システム構成図
[![Image from Gyazo](https://i.gyazo.com/1cd22c14570566d1fffab5e07aaf67fd.png)](https://gyazo.com/1cd22c14570566d1fffab5e07aaf67fd)BIツールのトップ画面
![image.png](htt
【Ruby on Rails】本番環境でデータベースをリセットする方法
#対象
* 本番環境でのデータのリセットに悩まされている方
#目的
* 本番環境でデータをリセットして新たにデータをセットする準備をする
#実際の手順と実例
###1.前提* Ruby on Railsを使ったアプリ開発
* AWSのEC2を使用してサーバー構築###2.本番環境でのデータベースリセット
まずは開発環境(cloud9から)EC2へSSHでログインし、自分のアプリケーションのディレクトリに移動します。
““
$ ssh -i ~/.ssh/[キー名][ユーザー名]@[パブリックIPアドレス]
$ cd [アプリケーション名]
““
※ [ ] を入力する必要はありません。下記のコマンドを打てばOKです。
““
RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:drop
““これだけでは、エラーが発生してしまいますので、忘れずにデータベースの内容を反映させます。
““
rails db:create RAILS_
プログラミングスクール生のここがダメ(インフラ構成を理解していない)
##はじめに
どうも、27歳未経験からエンジニア転職を目指しているもきおです。これは当時プログラミングスクール卒業したての頃、エンジニア採用面接でのお話
**面接官**「えーそれではこのポートフォリオってOSは何を使ってるんですか?」
**もきお**「えっとーEC2ですかね?」
**面接官** (。。。ダメだこりゃ)その後普通にお見送りになりました笑
お見送り理由も当時エージェントさんからいただいたのですが技術知識習得に受け身な姿勢と受け取られてしまったみたいです。
このようにとりわけプログラミングスクール生は自分も然りインフラ構成への理解が甘くなる傾向にあると感じています。
###なぜスクール生はインフラ構成の理解が甘くなるか?
これは明確にカリキュラムが充実しすぎているのがあるかと思います。
項目ごとに画面がスクショされててその手順書通りにポチポチGUI操作で作成していけばできてしまうのでインフラ構成の理解が甘い。そしてとりあえず作れれば良いやという感覚に陥りがち。それではダメなんです。
理解し人に説明できなければ面接でいざ聞かれた時に全然見当違いな答えを言って
Railsでpublic/packs/manifest.jsonの中身がないというエラーが出てハマった(AWSデプロイ時)
#エラー内容
AWSにRailsアプリを“git clone“でデプロイした時に以下のエラーでどハマりしました。“`
ActionView::Template::Error (Webpacker can’t find application.js in /var/www/rails/アプリ名/public/packs/manifest.json. Possible causes:
1. You want to set webpacker.yml value of compile to true for your environment
unless you are using the `webpack -w` or the webpack-dev-server.
2. webpack has not yet re-run to reflect updates.
3. You have misconfigured Webpacker’s config/webpacker.yml file.
4. Your webpack configuration is not cre
WindowsからCodeCommitをSourceTreeで利用
`The requested URL returned error: 403`にハマりました
HTTPSだとWindowsの認証情報ヘルパーがうまく機能しないようで
認証情報ヘルパーを使用しない設定でGit for Windowsを再インストールするといいとのことですが
後日また同様のエラーがでて安定してくれませんでした。結果、SSHで対応しました。
秘密鍵はこちらを参考に生成してみてください
https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up-ssh-windows.html
SSHキーの秘密鍵ファイルのパスは
`ツール>オプション>全般`から設定します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178806/b9f8db94-eb97-cb77-a02e-823ad1c675dc.png)cloneする際のURIへIAMのアクセスキーIDを含めるようにします
IAMユ
EC2 (プライベートサブネット) を Systems Manager で管理する設定
#環境
環境は以下の通り。
SSM エージェントが必要となるため、Amazon Linux 2 を使用。| パラメータ | 値 |
|:————:|:————:|
| VPC | 10.0.0.0/16 |
| AMI | Amazon Linux 2 |#SSM 用の IAM ロールのアタッチ
以下にある通り、`AmazonSSMManagedInstanceCore` が含まれた IAM ロールを作成し、EC2 にアタッチする。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/setup-instance-profile.html
#VPC エンドポイントの作成
以下の VPC エンドポイントを作成する
・com.amazonaws.region.ssm
・com.amazonaws.region.ec2messages
・com.amazonaws.region.ssmmessages![image.png](ht
ネットワーク作成からスケーラブルな仮想サーバー構築までをクラウドで行う【AWS編】
# はじめに
このアカウントで初めてのQiita投稿になります。2021年2月から株式会社MIERUNEに参画しています。ここ最近、弊社の社員教育の一環としてAWSとGC(旧GCP)について学ばせてもらえる機会がありました。ずっと興味のあったAWSとGCでのスケーラブルな仮想サーバー構築のノウハウを学ぶことができたので、双方の構築方法を備忘も兼ねてアウトプットとさせていただきます。こちらの記事ではAWSについて記載します。GCについての記事は[こちら](https://qiita.com/selfsryo/private/c8728129da76a6917f43)
# 対象
– AWSとGCでスケーラブルなサービスを構築したい方
– クラウドサービスにあまり触れたことのない方自分自身クラウドは初心者に近いので、そういった目線から結構細かめに書いてみようと思います。
# スケーラブルとは
その前にスケーラビリティとは・・・(以下 [IT用語辞典 – スケーラビリティ](https://e-words.jp/w/%E3%82%B9%E3%82%B1%E3%83%BC%
ネットワーク作成からスケーラブルな仮想サーバー構築までをクラウドで行う【GC編】
# はじめに
[こちら](https://qiita.com/selfsryo/private/814a4a06345a87da31f3)でAWSでスケーラブルな仮想サーバー構築を行うという記事を書いたのですが、そのGC編です。ちなみにこの記事では、GCとはGoogle Cloud(2020年10月にGCP→GCに名称が変わった)のことを指しています。この記事の表記ではGCで統一してみようと思います。
# 対象
[AWSの記事](https://qiita.com/selfsryo/private/814a4a06345a87da31f3#%E5%AF%BE%E8%B1%A1)と同じです。
# 前提
[AWSの記事](https://qiita.com/selfsryo/private/814a4a06345a87da31f3#%E5%89%8D%E6%8F%90)と同じです。GCでもコンソールの操作メインで書いてみます。
# 構成図
[AWSの記事](https://qiita.com/selfsryo/private/814a4a06345a87da31f3#
図解 Amazon Route 53 で DNSSEC
# 0. あらすじ
DNSSEC?
よくわからない。
しかし時代の流れでそろそろ設定しないといけない。
Amazon Route 53 にドメインを登録していれば、AWSマネジメントコンソールの操作だけで簡単に設定できます。
図解でやってみましょう。# 1. 前提条件
– Amazon Route 53 にドメインを登録してあること
– AWSでドメインを購入しても、他所からドメインを移管してきても構いません
– Amazon Route 53 でドメインのゾーンをホストしていること
– ドメインのネームサーバがRoute 53である必要があります
– 要するに普通にAmazon Route 53でドメインを登録して管理していればOK# 2. 費用について
DNSSECを有効にすると、月額料金が1ドル増加します。
1ドメインでは月額約0.51ドルだったところ、約1.51ドルになります。
これはAWS Key Management Service (KMS)の鍵管理を使用するためです。無料利用枠は有りません。初日から課金されます。
なお、この鍵は複数ドメ
server can’t find [domain]: NXDOMAIN 取得したドメインに関連付けができない
#はじめに
お名前.comにてドメインを取得し、Route53を使用して、IPアドレスと取得したドメインを関連付けを行いました。
一度成功したのですが1週間後何故が使えなくなってしまったのでその時対応した内容を投稿します。
ドメイン取得は下記の記述を参考にしました.
https://qiita.com/Yuki_Nagaoka/items/3020f02d3fd74c8572a0#-%E7%AC%AC8%E7%AB%A0-%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%AE%E5%8F%96%E5%BE%97
#どのようになったか
ターミナルでネームサーバの確認をしました。
“`:EC2
[ec2-user@ip() ~]$ nslookup
>set type=ns #自分で入力
>(取得したdomain) #自分で入力Server: 10.0.0.2
Address: 10.0.0.2#53** server can’t find [取得したdomain]: NXDOMAIN
“`本来ならば下記のようになります
ECRへのレプリケーションをトリガーにECSのサービス更新を実行
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n24e42bcce1f6**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**
## 補足
ソースコード全体は以下です。https://github.com/yuta-katayama-23/ecs-update-service
週間AWSアップデート(2021/9/20週)
# 週間AWSアップデートまとめ(2021/9/20週)
みなさんこんばんは。
今週もAWSブログが更新され週間AWSのアップデート内容をまとめていただいたので、自分なりに整理します。
拙い文章ではありますが読んでいただいている方がいらっしゃれば大変うれしいです。
また、基本的に参考サイトや引用は公式を使用しておりますので気になった方は深く調べてみてください。
**個人の意見や私の圧倒的な能力不足ゆえの認識のズレが多発していることをご了承ください**詳しいアップデート内容は→[週間AWSをご覧ください](https://aws.amazon.com/jp/blogs/news/aws-weekly-202109020/)
### AWS Single Sign-On に加え、IAM ベースの認証または IAM フェデレーションを使用して、Amazon EMR Studio のユーザーの認証が可能に
Amazon EMR Studioへのログイン方法にIAM認証やIAMフェデレーションのログインが選択可能になりました。IAM認証が追加されたため、直接ログインが可能となったのは大きな
golangで動かして学ぶCognitoユーザプール、IDプール
# Cognitoをgolnagから操作してみる
イマイチ理解しきれてなかったので、ラッパーライブラリを作りつつ、勉強してみました。
元ネタはhttps://dev.classmethod.jp/articles/get-aws-temporary-security-credentials-with-cognito-id-pool-by-aws-cli
で、AWS CLIベースの記事だったのをgolangに書き起こしつつ理解するって形を取りました。作ったラッパーは
https://gitlab.com/kuritayu/cognito
におきました。## ユーザプール、IDプールの違い
1. ユーザプール: ユーザ情報、ログイン情報の管理(認証担当)
1. IDプール: ユーザに応じた一時クレデンシャルキーの発行(認可担当)## パターン別のクレデンシャルキーの発行
1. 認証済・非認証に応じたクレデンシャルキーの発行(IAM Role)
1. ルールベースのクレデンシャルキーの発行
1. ユーザプールに設定したIAM Roleでクレデンシャルキーを発行## 環境
AWS EC2にクラウドゲーミングサーバを立ててOculus Quest 2でVRゲームを遊ぶ
## TL;DR
– VRゲームをやりたいけど、高スペックGPUのWindowsマシンがない
– AWS EC2にWindows Serverを立て、Oculus Quest 2を接続してVRゲームをプレイする
– ゲーミングPCなしでも$1/h程度のコストでVRゲームをプレイ可能## はじめに
VRゲームを遊ぶための大きなハードルとして、高いGPUスペックが求められる点があります。しかしそうしたGPUは仮想通貨マイニング需要などもあり価格が高騰して簡単に入手することができません。そこで時代はクラウド、足りないリソースはクラウドで調達すれば良いのです。
本記事ではAWS EC2のGPUインスタンスを利用してVRゲームを遊ぶ環境を構築し、そこにVRデバイスであるOculus Quest 2で接続する手順をご紹介します。1時間あたり$1ほどののコストは発生するものの、初期費用を低く抑えながらVRゲームを始めることができます。VRを体験してみたいけど機材を整えることにハードルを感じている方は是非お試しください。
## 利用機材/技術/アプリケーション
– [AWS EC2 GP
AWS S3 静的ウェブサイトをHTTPS化
~2021年9月27日でのAWSのコンソールで確認~
#大まかな手順
* S3に静的Webサイトをデプロイする
* 独自ドメインを取得し、Route53に登録する
* AWS Certificate Managerで証明書発行
* CloudFrontからS3にアクセスできるようにする
* S3への直アクセスを制限する
* Route53にCloudFrontのドメインを登録#S3に静的Webサイトをデプロイする
[チュートリアル: Amazon S3 での静的ウェブサイトの設定](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html)がわかりやすい#独自ドメインを取得し、Route53に登録する
[独自ドメインをRoute 53でホストする](https://qiita.com/ebtiag/items/cd954a1e036d523e6f4d)#ACMで証明書発行
:::note warn
ACMを発行する際、リージョンはバージニア北部にする
ムームードメインで取得したドメインをAWS Route53に登録
#ムームードメインでドメインを取得
###ムームードメインの操作* 取得したいドメインを検索>カートに追加
* ドメイン設定
>WHOIS公開情報:チェックネームサーバー(DNS):ムームーDNS
ドメインの利用方法:選択しない
ムームーメール:チェックしない#取得した独自ドメインをRoute53に登録する
###AWSの操作
* Route53>ホストゾーン>ホストゾーン作成
> ドメイン名:取得したドメイン
説明:任意
タイプ:パブリックホストゾーン
* 作成したホストゾーンをクリック
* NSレコードにチェックを入れる
* レコードの詳細の4つの値をコピー###ムームードメインの操作
* ネームサーバ設定変更>取得したドメインで使用する を選択
* ネームサーバー1~4にコピーしたRoute53のNSレコードの値を順に入力
※ 末尾の「.」は入力しない
Load data into Oracle DB from AWS S3
__Introduction__
In the previous article, I introduced how to load CSV/DUMP files into Oracle DB from OCI Object Storage. This method also applies to AWS S3 and Azure Blog.
https://qiita.com/liu-wei/items/00234fe82522f288ebff
This time, I will show you how to load CSV and DUMP files from AWS S3 to Oracle DB.
__Term of Use__
Oracle Database 19c beginning with 19.9 and 21c beginning with 21.3.
(Apply to both On-P and Cloud.)※ I use a DB19c
企業のデータ分析体制ってどうやって作るの?(マスキング処理とAWS CLIのcron設定による自動化を解説)
## はじめに
どうも、27歳未経験からエンジニア転職を目指しているもきおです。
企業(データベース)のデータ分析ってどうやってやってんの?
エンジニアをこれから目指す方でこう言ったこと思ったことはないでしょうか?今回は実務案件を踏まえて企業のデータ分析体制ってどんな感じで作っているか、どういったことが分析において重要なのかを未経験の分際で解説してみたいと思います。
補足:この記事は実務案件の補足記事となりますので良ければそちらの記事もご覧ください
https://qiita.com/mokio/items/e19f90b126a1027cfec0
この記事では主にマスキング、定期実行処理に絞って記載しているので分析、可視化等の全体像をご覧になりたい方は上記リンク記事をご覧ください。
##こんな人に読んで欲しい
・企業のデータ分析ってどうやってるか知りたい方
・個人情報流出を防ぐのマスキング方法を知りたい方
・AWSサービスってコマンドで作成出来ることを感動を知りたい方
・Linuxコマンドの定期実行ってどうやってやるか知りたい方##データ分析体制を整える際重要なこと
S3アップロードをトリガーに画像をLambdaでDropbox Businessにアップロードする
[LambdaでS3にある画像をDropbox Businessにアップロードする](https://qiita.com/nkmk1215/items/95e2d97e5bb89a8b904a)を改修し、
トリガーをS3アップロードに変更したときの個人メモ[(参考)チュートリアル: Amazon S3 トリガーを使用して Lambda 関数を呼び出す](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example.html)
—
# ソース修正
– 以下のようにソースを改修“`lambda_function.py
import os
import logging
import boto3
import urllib.parse
import base64
import requests
import json# ログ設定
logger = logging.getLogger(__name__)
logger.setLevel(os.environ[‘LOG_LEVEL’])# Dropbo
LambdaでDropboxのアクセストークンを取得する
LambdaでDropboxのアクセストークンを取得したときの個人メモ
[LambdaでS3にある画像をDropboxにアップロードする](https://qiita.com/nkmk1215/items/da11594807552db64e93)では
アクセストークンはコンソール画面から取得していた。
ただ、有効期間が4時間しかなく毎回手動で取得していたため処理に組み込んだ。—
# 認証コード取得
– App keyをコンソール画面から取得![000.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242897/62513339-b3fe-eec7-5d19-a4b57ee76f76.jpeg)
– 以下URLにブラウザからアクセス
※`token_access_type=offline`を付与しない場合、
リフレッシュトークンが取得できない“`
https://www.dropbox.com/oauth2/authorize?client_id=(App