- 1. Amazon SNSでiOSプッシュ証明書の更新
- 2. 40代おっさんVPCを勉強してみた③
- 3. 【Laravel初心者】投稿保存の実装
- 4. RailsアプリをAWSで自動デプロイ【ステップ1】
- 5. AWS CDKでSQSのメッセージ数に応じたFargateタスクのスケーリングを行う
- 6. 二段階認証と多要素認証の違い
- 7. tidyをlaravel等のphp環境へインストールする手順まとめ
- 8. AWSのS3でデプロイするときにエラーが出た時の話
- 9. AWS認定資格クラウドプラクティショナーの一発合格体験記
- 10. AWS認定資格を全制覇するまで(現在7個獲得中)
- 11. EventBridgeのターゲットに異なるアカウントのEventBridgeを指定する
- 12. Ruby on Jetsでターミナルにログを出力する方法
- 13. Kaggle初心者が、AWS(EC2サーバー)を使って画像コンペに挑戦
- 14. Amazon S3へのデータバックアップと世代管理設定
- 15. AWSの「Route53」とは?
- 16. 40代おっさんVPCを勉強してみた②
- 17. AWSの「S3」とは?
- 18. 【boto3】LambdaでS3のディレクトリ削除
- 19. AWS S3 で複数条件で特定ディレクトリ以下のファイルをコピーするときの exclude & include オプション
- 20. Amazon WorkSpaces で Amazon WorkDocs を有効にする(Microsoft AD 環境)
Amazon SNSでiOSプッシュ証明書の更新
## SNSでは一年ごとに証明書の更新が必要
iOSでは認証keyが導入されたため、本来であれば毎年証明書を更新するという作業は発生しないのですが、AWSのSNSは認証keyに対応していないため、従来どおり証明書を更新してアップロードするという作業が必要となってきます(ここの認識間違っていたら教えてほしいです…)。
一年に一回なので忘れがちになるので以下手順をメモしておきます。## キーチェーンから証明書ファイルの作成
keycahin Access.appを起動する。
上部メニューの
キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290902/6d006af0-7d4f-bcd8-818c-ab46361c9c93.png)
メールアドレスの入力
通称はそのまま
要求の処理を「ディスクに保存」「鍵ペア情報を指定」
あとは続けて、`.certSigningRequest`ファイルをダウンロード## Apple Dev
40代おっさんVPCを勉強してみた③
#40代おっさんVPCを勉強してみた③
##本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。##AWS作成図
![vpc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/b9dc8ad4-bba8-2910-9975-96abff578ad3.png)##構築手順
❶ VPCを作成する
❷ VPCの中にサブネットを作成する
❸ インターネットゲートウェイをVPCに割り当てる
❹ ルートテーブルにインターネットゲートウェイへのルートへのルートを追加❶~❷はこちらを参照してください。
https://qiita.com/kou551121/items/2535fe3de57a5c813687###3.インターネットゲートウェイをVPCに割り当てる
![インターネットゲートウェイ.PNG](https://qiita-image-
【Laravel初心者】投稿保存の実装
Laravel初学者です。
オリジナルアプリを作成しているのでその過程を記事にしています。理解が曖昧なところも多いため、ご指摘等ありましたらご連絡いただければ幸いです。
今回は投稿保存の実装について備忘録のため記録として残します。
前回の記事:[【Laravel初心者】一覧表示の実装](https://qiita.com/mumucochimu/items/b0221657a3981f4a4f49)## 環境
| | Version |
|:—————|————:|
| PHP | 7.4.14 |
| Laravel | 8.24.0 |
| mysql | 8.0.23 |
| docker | 20.10.2 |
| docker-compose | 1.27.4 |## ルーティング
“`PHP:routes/web.php
Route::resource(‘/ga
RailsアプリをAWSで自動デプロイ【ステップ1】
## はじめに
最近Rilsのアプリケーションをデプロイする機会がありましたので、その方法を忘れない内に書き込みます。
何記事かに分けて、記述していこうと思います。
この記事では、VPCの作成、EC2の設定までを記述しました。## VPCの構築
![スクリーンショット 2021-02-17 9.19.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/ce39afec-dbcd-c8e6-09bd-040d366929af.png)
VPCとは、AWSクラウドの内で自分が使用できる範囲を定義するサービスです。
### VPCの作成
![スクリーンショット 2021-02-16 9.55.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/ed55294a-47ac-5189-768d-764a47948de8.png)
例)
名前タグ:sample-vpc
IPv4 CI
AWS CDKでSQSのメッセージ数に応じたFargateタスクのスケーリングを行う
# はじめに
定期的にAPIからデータを取得するシステムがあり、これを分散処理するにあたってSQSを利用しているが、
SQSのメッセージ数が多いほど処理するworkerを増やして、処理速度を上げたいということでいろいろ試行錯誤した結果です。
需要あるか知らないですが、一応共有です。# AWS CDKとは
AWS Cloud Development Kitのことで、インフラをコードで管理するIaC(Infrastructure as Code)のひとつ。
言語はTypeScript, JavaScript, Python, Java, C#が対応してるらしいです。(今のところTypeScriptが主流?JavaScript, Java, C#で書いてる人見たことない)
ちょっと気になってたので使ってみた。https://aws.amazon.com/jp/cdk/
# CDKプロジェクト作るンゴ
プロジェクトルートで下記を実行
CDKプロジェクトができます
僕がTypeScript書けない芸人なので、今回はPythonで書きます。“`
$ cdk init –langu
二段階認証と多要素認証の違い
プログラミングの勉強をしていると、多要素認証という言葉が頻繁に出てくる。
私生活では二段階認証はよく聞くけど、多要素認証という言葉はあまり聞かない。
多要素認証とはどういうものなのか。
多要素認証と二段階認証はなにがどう違うのか。
これらについて自分なりにまとめておく。## 多要素認証とは
多要素認証“`MFA:Multi-Factor Authentication“`
MFAと呼ばれることが多いらしい。簡単にいうと、多要素認証とは複数の種類の要素で自分のアカウントだということを証明することをいう。
例えば、なにかのサービスを使用したいときにまずログインをしなければならない。そのときに、パスワードを入力する。
これはパスワードを知っているから入力することができる。要するに、ここで“`知っている要素(パスワードを知っている)“`ということになる。
また、最近では、QRコードを発行して、パスワードの入力と同時にQRコードの照合を要求するサービスもある。
これが“`持っている要素(QRコードを持っている)“`ということになる。### 知っている要素と持っている
tidyをlaravel等のphp環境へインストールする手順まとめ
HTML整形ライブラリ**tidy**のインストールに毎度苦戦している為、メモとして残します。
tidy自体需要が少ないのか、ライブラリ自体更新されていないようでphp7系で使おうとするとスムーズにインストールができないことがあります。# linux環境で直接コマンド実行しインストール
php 7.4
CentOS7“`
# epelの有効化
$ sudo yum-config-manager –enable epel# remiリポジトリがあるか
$ yum repolist | grep remi# remiリポジトリがなければインストール
$ yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm# php7系tidyライブラリがあるか
$ yum list | grep tidy# tidyをインストール
$ yum –enablerepo=remi install -y php74-php-tidy# 無事インストールできたか確認
$ tidy -v
AWSのS3でデプロイするときにエラーが出た時の話
AWSのS3でサイトをデプロイしようとしたところ、下記のようなエラーが出ました。
“`
npm run deploy‘bash’は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
“`毎度おなじみエラー
このエラーは大体パス(環境変数)が通っていないときに出るエラーです。
ちなみに“deploy-s3.sh“の中身は以下のようになっています。
“`dist/deploy-s3.sh
#!/bin/shaws s3 rm s3://zaemonia/ –recursive
aws s3 cp dist s3://zaemonia/ –recursive
“`これは[Amazon S3でSPAをサクッと公開する](https://qiita.com/kiyokiyo_kzsby/items/77bdb81a1ce1852b30ca)の記事を参考にして作成したものです。
さて、ここで本題の環境変数を設定をしていきましょう。
これを解決するためには“bash.exe“のパスを通します。
恐ら
AWS認定資格クラウドプラクティショナーの一発合格体験記
## 何はともあれまずは試験結果
* 856点(内訳)
* クラウドの概念:28%
* セキュリティ:24%
* テクノロジー:36%
* 請求と料金:12%
* 1回目の受験(2021/2/14)で合格
* 本記事では、試験合格に向けて僕がしていた勉強や使用した教材などをなるべく一元的にまとめました。# 受験の動機
* 業務でAWSサービスを利用していて、せっかくなのでAWS資格をとっておきたいな~と思ったので!
* クラウドプラクティショナーを取得すれば、説明に説得力が増すと思ったので!# 著者について
+ 文系出身
+ 実務経験2年目(AWS関連の仕事は去年の11月ごろからなので今で大体3ヶ月くらい?)
+ プログラミングは得意ではない。(Java、Pyth
AWS認定資格を全制覇するまで(現在7個獲得中)
# はじめに
AWSを軸に主にサーバレス開発で普段仕事してる未経験3年目のエンジニアです。各試験を受けて合格した勉強法など書いていきます。
AWS資格をこれから取ろうって方などの参考になれば幸いです。
自分も追加取得していくごとに更新していきます。## 全制覇しようと思ったのは?
– 普段業務を通じてAWSを利用した案などすぐに思いつかない・知らないことがありすぎて、自分として気に食わないので勉強含めて知識習得や理解度を高めようと思ったからです。
– AWSを扱うエンジニアとしてしっかり理解おけば業務でも役立つのでせっかくなら全取得を目指そうと思いました。## 試験の目的意識を忘れないこと
半年以内に頑張って7個取得しましたが、`試験の目的意識が何なのかハッキリさせておくことが最も大事`と最近気づきました。
AWSを理解するため、実際にサービスに触れて動かして学んでいくのが一番身につきやすいです。
なぜなら、試験対策だけの勉強だけだと試験ありきの勉強や知識のみになってしますからです。
AWSもアップデートされていくので、今まで理解していたことは通用できなくなってしまいます。
EventBridgeのターゲットに異なるアカウントのEventBridgeを指定する
# 構成
![EventBridge_AccountCross.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344711/d2aa0852-b933-7b47-87ad-a18029b2a448.png)
# 受信側EventBridgeの事前準備
EventBridgeのターゲットに異なるアカウントのEventBridgeを指定する際、受信側のEventBridgeイベントバスARNを指定する必要があります。
受信側EventBridgeのイベントバスARNをメモするために受信側アカウントにサインインします。![スクリーンショット 2021-02-16 18.59.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344711/cfc17a81-32cc-d2ef-0d60-7b41bcaaf5d6.png)
次に、送信側アカウントからのイベントを受信できるようにするためのアクセス許可を行います。
Ruby on Jetsでターミナルにログを出力する方法
## ターミナルにLoggerを出力する方法
loggerが記載されている箇所を変更する。
“`ruby:config/application.rb
# config.logger = Jets::Logger.new($strerr)
config.logger = Jets::Logger.new($stdout)
“`loggerを出力する際はRuby on Railsのように、例えばlogger.debug (‘hi’)という記載をするのでは無く、Jets.logger.debug (‘hi’)のようにJetsを明言します。
これを記載しなければ、エラーが起こります。“`ruby:posts_controller.rb
# GET /posts
def index
Jets.logger.debug (‘log’)
p (‘log’)
@posts = Post.all
Jets.logger.debug (@posts.to_a)
end
“`以下のようにログが出力されます。
“`
app_1 | I, [
Kaggle初心者が、AWS(EC2サーバー)を使って画像コンペに挑戦
本記事で、伝えたいこと:
・AWSで、Jupiter notebookを使ってみる
・AWSで、GPUを利用して、モデルをトレーニングする
本記事が、参考にならない方:
・AWSのインスタンスを詳しく知りたい方
・Kaggleのcodeを利用する方今回、投稿した記事の目的は、画像分類コンペに参加するにあたって、
kaggleのGPU利用制限枠に限界を感じた初心者が、好きなだけGPUを使って、
トレーニングを出来るようになったので、自身のメモ兼、同じように悩んでいる方の参考に
なればと思い、共有させてもらいます。■ 手順
AWSの日本語チュートリアル通りに行いました。
https://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/what-is-dlami.html1. GPUの制限緩和
まずは、GPUを利用するために、利用制限の緩和を依頼します。注意点は、こんなところでした。
* リージョンごとに、申請する必要があるため、利用するリージョンで申請する。
* 利用目的は、機械学習を行うため。で問
Amazon S3へのデータバックアップと世代管理設定
「重要なデータはクラウドバックアップ!」的なことが当たり前になりつつあるご時世ですが、バックアップデータのバージョン管理(世代管理)やライフサイクル設定の記事は意外と少ないです。今回はクラウドバックアップしているデータを復旧させるときにどの時点まで戻せるか(RPO)を考慮して、Amazon S3 へデータバックアップを行う場合の設定をお試ししたいと思います。
# 今回のゴール
毎日定時にサーバ内のデータをAmazon S3へバックアップし、5世代前まで保存する環境を構築する。(古い世代のデータは古い順に自動的に削除していく)# 完成イメージ
![Qiita_S3_概要図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/16aeaaf3-72b5-d0c1-99f5-f0d9e3b00670.png)# 前提条件
– 定期的にAmazon S3へデータバックアップできるサーバもしくはNAS がある ※今回はEC2を使います
– バックアップ先として利用するのはAmazon S3(
AWSの「Route53」とは?
今回はAWSの「Route53」について学んだ事をアウトプットさせて頂きたいと思います。
##Route53
**Route53とは、フルマネージド型DNS(ドメインネームシステム)サービスになります。**
ドメインとはIPアドレス(111.222.333.444のような形式)を人間が認識しやすいURL(route53.comのような形式)に変換されたもので、それらの変換(名前解決)を行ってくれるサービスが**ドメインネームシステムサービスと呼ばれます。**従来のDNSサーバでは自分達で「構築」、「管理」、「維持」などといった作業が必要になるのですが、AWSの**Route53**を使用することでこれらの作業を全て管理してくれます。
###フェイルオーバールーティング
AWSではプライマリ(メイン通信)に異常があった場合は、セカンダリ(予備の通信)に切り替えるために**フェイルオーバールーティング**の機能を使用します。###ルーティングポリシー
ルーティングポリシーとは、リクエストがRoute53に届いた際にどういった振り分けをするのかを決めるルールになります。
ルー
40代おっさんVPCを勉強してみた②
#40代おっさんVPCを勉強してみた②
##本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。##AWS作成図
![vpc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/b9dc8ad4-bba8-2910-9975-96abff578ad3.png)##構築手順
❶ VPCを作成する
❷ VPCの中にサブネットを作成する
❸ インターネットゲートウェイをVPCに割り当てる
❹ ルートテーブルにインターネットゲートウェイへのルートへのルートを追加###1. VPCを作成する
・まずはAWSに行き、コンソールサインインをしてログインして、AWSマネジメントコンソールに行ってください!
(ここで忘れずにリージョンは東京にしてください)
![VPCマネジメントコンソール.PNG](https://qiita-image-store.s
AWSの「S3」とは?
今回はAWSの**「S3」** について学んだことをアウトプットさせて頂きたいと思います。
##S3 (Simple Strage Service)
**S3とは、AWSのオブジェクトストレージサービスになります。**
特徴としては、安価(1Gあたり約3円)で耐久性が高いことです。
また、保存容量の上限がなく、冗長化してデータを保存する仕組みもあります。###そもそもオブジェクトストレージとは何か?
ストレージの種類には大きく分けて、**ブロックストレージ、ファイルストレージ、ブロックストレージ**の
3種類がありますが、**オブジェクトストレージ**には以下のような特徴があります。– HTTPSのプロトコルで通信する。
– 他ストレージ(EBS、EFS)より読み書き速度が遅い。
– 多数の大きなファイルを取り扱うのに向いている。
– APIを使用した開発が容易。これらの特徴から、現代のWebサービスにも非常にマッチしやすく、
オブジェクトストレージを使用するケースはとても多いです。###S3のイメージ
S3のイメージについて説明していきます。
バケットの下にフォルダ
【boto3】LambdaでS3のディレクトリ削除
LambdaからS3のディレクトリ削除、正確にはS3にはディレクトリがないので同一prefixのオブジェクトの削除をするやり方です。
“`python:delete_objects.py
def lambda_handler(event, context):
s3 = boto3.resource(‘s3’)
bucket = s3.Bucket(‘your_bucket_name’)
bucket.objects.filter(Prefix=”insert/prefix/name/”).delete()
“`上記コードのバケット名とPrefixを環境に合わせて変更しましょう。またLambdaのロールにS3への削除権限が必要なのでそれも付与しておきましょう。
tipsですがやり方調べるのに時間がかかったり、冗長なやり方を多く見かけたので記事にしておきます。
AWS S3 で複数条件で特定ディレクトリ以下のファイルをコピーするときの exclude & include オプション
S3 にあげたログを調査したい時に、一部のログだけを、DLしたい場合があります。
その時に、exclude & include オプションでコピーします。参考: AWS CLI での高レベル (S3) コマンドの使用::s3 コマンドでよく使用されるオプション
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects-param例: my-bucket/path に保存した Nginx ログの中から、特定の月(YYYY-MM)のログファイルを今のディレクトリにコピーしたい場合
ターミナルだと
“`
$ cp /var/log/nginx/access_log_YYYY-MM-*.gz ./
“`とかシンプルに条件をつけられますが、S3 の CLI は単純なワイルドカードが使えないようです。
Nginx ログは access_log_[YYYY]-[MM]-[DD].gz と言う
Amazon WorkSpaces で Amazon WorkDocs を有効にする(Microsoft AD 環境)
ちょっとハマったのでメモ
Amazon WorkSpaces でサクッと使える共有ストレージとして Amazon WorkDocs を使いたかったのですが、 WorkSpaces 側のディレクトリが Microsoft AD だと WorkDocs を**マネジメントコンソールから選択することができません。**
cli からなら設定できるということなので、[Developers.io さんの記事を参考に](https://dev.classmethod.jp/articles/microsoftad_workspaces_workdocs_enable/) や
ってみました。“`
aws workspaces register-workspace-directory –directory-id {ディレクトリ ID} –enable-work-docs
“`エラーも出ずに正常終了するのですが、なぜかディレクトリのステータスで WorkDocs が「無効」のまま。反映までに時間がかかるのかなと思ってしばらく置いても変わらず・・・。
## AWS に問い合わせ
AWS