- 1. AWS EC2 AmazonLinux2 MySQLを使えるようにする。
- 2. 最小限のAWS IAM PolicyでAWS メディアサービスを操作したい!
- 3. AWS基礎
- 4. AWS S3でIAMのポリシーを追加しようとしたら「このポリシーには、「Has prohibited field Principal」というエラーが含まれています 」と表示され、ハマった話
- 5. 【AWS】作業用ユーザー作成方法(IAM)
- 6. AWS CodeArtifact でプライベートリポジトリを作ろう
- 7. エンジニアなら知っておきたい迷惑メールを回避する基本原則
- 8. AWSのEC2にサーブレット(Servlet)環境を構築するメモ
- 9. ターミナルが動かないだって???
- 10. TerraformでEC2、セキュリティグループを作成する
- 11. ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
- 12. AWS WAF Referer制限ってなに?
- 13. CodeStarで作成したDjangoアプリをRoute53でドメイン登録とHTTPS化
- 14. ローカルでビルドしたものを package するときに –template-file オプションを付けるタイミング
- 15. クラウド初心者のAWS入門(第10回)
- 16. インフラエンジニアがやってみた AWSでサーバーレス Webアプリケーション開発
- 17. rsyslogでsecureログの分離
- 18. [Firebase] CloudFunction(トリガー) + AWS Elasticsearch でハマった点のまとめ
- 19. AWS EC2 AmazonLinux2 composerをインストールする
- 20. Elastic Beanstalk で Amazon Linux AMI とAmazon Linux 2 の違い
AWS EC2 AmazonLinux2 MySQLを使えるようにする。
# 目的
– 既存の記事を用いてAmazonLinux2にてMySQLでDBを作成できる様になるまでの一連の流れをまとめる。
# 実施環境
– ハードウェア環境
| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |– ソフトウェア環境
| 項目 | 情報 | 備考 |
| — | — | — |
| AWS EC2インスタンス | AmazonLinux2 | こちらの方法を用いてイメージからインスタンスを作成→[AWS EC2 をMacで使ってみよう!](https://qiita.com/miriwo/items/a1ab84c09
最小限のAWS IAM PolicyでAWS メディアサービスを操作したい!
こんにちは:sunny:
streampackのrisakoです:girl_tone1:
今年の4月に20新卒が入社し、ついに私も社会人2年目となりました。
時間が経つのはあっという間ですね。20新卒に負けないようにこれからも知識を吸収したいと思います!!今回のテーマは、IAM Policyについてです。
AWS Cloud Practitionerの試験にも出るくらい基礎知識ですが、意外と奥が深いという印象です。
#IAM Policyとは?
IAM Policyとは、IAM UserやIAM Group作成後は権限が付与されていない状態のため、新たに付与してあげる権限のことです。
その際に、ユーザーに付与する権限は、最小限のアクセス権またはタスクの実行に必要なアクセス許可のみ付与するのが理想です。
一気に全部の行動を許可してしまってはいけないんですね:point_up:
もし、最小限の権限以上のタスクの実行が必要になった場合はその都度Policyを追加していきます。では、最小限のタスクを実行できるPolicyを作成してみましょう!
###実行できるのはこれだけ!
– Med
AWS基礎
#前提
AWSについて学んだことを書いていきます。#本題
インフラを知れば、自分で好きなように開発環境を整えることができるようになる。
また、課題が生じたときに、アプリケーション開発の枠組みから出て、システム全体で対応できるようになるのも大きなメリット。
例えば、リソース不足になったとき、アプリケーションの最適化だけで解決するのでなく、スケールアップやスケールアウトなどのインフラ計画まで踏み込むんだ包括的な対応ができるようになる。##インフラ知識を身につけることのメリット
###障害に強くなる
システムにトラブルがあったときに、どこに問題があるか、切り分けられるようになる。###システム全体での幅広い対応ができるようになる
システムを運用していると、リソース不足に陥ることがある。
インフラを知らなければ、アプリケーション開発の枠組みの範囲でしか対応できない。
例えば、プログラムを改良したり、実行されているプロセスの数を減らしたりするソフトウェア的な対応しかできない。
しかし、インフラを知っていれば、ネットワークやサーバーを増強して対策を取るなど、システム全体で対応できるよう
AWS S3でIAMのポリシーを追加しようとしたら「このポリシーには、「Has prohibited field Principal」というエラーが含まれています 」と表示され、ハマった話
# ポリシーを追加しようとしたらなんか出た!!
DjangoからS3へメディアをアップロードしたいなぁと思って[django-storage]()のドキュメント通りにJSONをコピペしたのだが、
>このポリシーには、「Has prohibited field Principal」というエラーが含まれています For more information about the IAM policy grammar, see AWS IAM Policies
とエラーが出てしまい、手詰まりに・・・
慣れてないAWSなので詰まるのは予想していたが、早々にエラーにぶつかってしまった。
なんでこうなったのかすら分からず、権限周りの設定等で問題があるのかと思いググっていく。
# そもそもの勘違い
DjangoからIAMでユーザーを作成し、管理する際はグループを作成して`AmazonS3FullAccess`のアクセス権限を付与したものに対してユーザーを所属させるべきであり、ユーザーにポリシー云々を直接付与するということではないらしい・・・?
少なくとともこれららのリンクではそういった方法
【AWS】作業用ユーザー作成方法(IAM)
# はじめに
今回は、IAMでの作業用ユーザーの作成方法についてアウトプットしていきたいと思います。
AWSに登録した際に、初期設定として実施する内容の一つになります。# 作業用ユーザーを作成する理由
AWSのベストプラクティスで、**「基本的にAWSアカウントのルートユーザーを使用しない」**となっています。
代わりに、管理者アクセスが必要な担当者ごとに新しいIAMユーザーを作成します。# 今回作成するIAMユーザーの図(イメージ)
![image.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/4a725e1b-01e0-c6de-89d7-014ea82df5f8.jpeg)
# 作業用ユーザー作成方法
①ルートユーザーでAWSマネジメントコンソールへログイン後、「IAM」をクリック
![1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/34bbccfb-7701-fe
AWS CodeArtifact でプライベートリポジトリを作ろう
2020年6月 AWS Code 兄弟に突如新生が。その名も AWS CodeArtifact 。
ソフトウェアパッケージを安全に保存、公開、共有できるようにするプライベートリポジトリサービスです。
すでに東京リージョンで一般利用可能かつ、VPC Endpoint にも対応済みです。:rocket: **Introducing AWS CodeArtifact: A fully managed software artifact repository service**
https://aws.amazon.com/jp/about-aws/whats-new/2020/06/introducing-aws-codeartifact-a-fully-managed-software-artifact-repository-service/類似のツールやサービスとしては JFrog Artifactory や GitHub Package Registry,
Azure Artifacts あたりが有名かと思います。## なにが嬉しいのか
AWS CodeArtifact の
エンジニアなら知っておきたい迷惑メールを回避する基本原則
迷惑メールフィルタが迷惑メールを判定するための根拠を学ぶことで、ユーザーに向けた情報がブロックされず適切に届くようになる方法を紹介します。
## 迷惑メールフィルタの仕組み:Gmailの場合
Gmailにおける迷惑メールを判断する根拠は、Googleからある程度公開されているようです。
>メールアドレスのなりすまし
フィッシング詐欺
未確認の送信者からのメール
管理者が設定したポリシー
特定の送信者からのメールのブロック
内容が空のメール
手動で迷惑メールに振り分けたメール
>
>
>出典:迷惑メールのマーク付けとマークの解除 – パソコン – Gmail ヘルプ
https://support.google.com/mail/answer/1366858上記から、いくつか理由をピックアップして解説します。
### メールアドレスのなりすまし
メールアドレスが既存の送信者のアドレスに酷似している場合です。
メールアドレスのアルファベット「O」が数字の「0」になっている場合などが該当します。### 未確認の送信者からのメール
この項目は非常に重要です。
スパムメー
AWSのEC2にサーブレット(Servlet)環境を構築するメモ
## 1.Javaインストール
### Java8の検索
“`
yum search java-1.8.0-openjdk-devel
“`### Java8のインストール
“`
sudo yum install java-1.8.0-openjdk-devel
“`## 2.Apachのインストール
### Apachのインストール
“`
sudo yum -y install httpd
“`### Apachの起動
“`
sudo service httpd start
“`### 再起動時に自動起動
“`
sudo systemctl enable httpd.service
“`## 3.インバウンドルールの作成
1. セキュリティグループ
2. インバウンドルールを編集
3. 「`HTTP TCP 80(ポート範囲) 0.0.0.0/0`」を作成
4. ルールを保存## 4.Tomcatインストール
### Tomcatインストール
“`
sudo amazon-linux-extras install tomcat8.5
ターミナルが動かないだって???
環境
Mac OS 10.15.5
AWS cloud9railsチュートリアルを進めていたら、cloud9のターミナルが突然動かなくなった。
全くコードが書けない。
どうやら、直前に起きた容量オーバーも原因の一つになっているみたいだが、よく調べてみても解決策は出てこない。
どなたかアドバイスいただけないでしょうか?
TerraformでEC2、セキュリティグループを作成する
# はじめに
以下記事の続きです。
[TerraformでVPC、サブネット、インターネットゲートウェイを作成する](https://qiita.com/gogo-muscle/items/58fee5760400ff1bc602)今回はEC2とセキュリティグループを作成します。
以下ディレクトリ構造です。~~~shell
.
├── README.md
├── main.tf
├── modules
│ ├── alb
│ │ ├── Create-alb.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ├── ec2 #本記事で作成
│ │ ├── Create-ec2.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ├── rds
│ │ ├── Create-rds.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ├── security_gr
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
mysql -u rootと打つとERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
となっておそらくログインできない状態?になってるのでログインできる状態にしたいmysql -u rootと打つとERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
となっておそらくログインできない状態?になってるのでログインできる状態にしたい現在udemyのhttps://www.udemy.com/course/web-application-development/learn/lecture/9175504#content
コースの受講をしていて
環境はASWcloudでmySQL5.7.28です
上記の通りログインできない状態になっています# 試したこと
再インストー
AWS WAF Referer制限ってなに?
####前置き
毎日AWSについてまとめてみようシリーズ7日目です。
初学者ですが温かい目で見守ってください。(もちろん間違いは指摘お願いします)#そもそもReferer制限ってなに?
**Referer(リファラ)**とは簡単に言うと、今見ているページを見る直前に見ていたページのURLのこと。
SEO対策する時には必須の知識らしいです。よってReferer制限の意味は、**直前に開いていたサイトに応じてアクセスを制限する**という意味になります。
#WAFってなに?
WAFはWeb Application Firewallの略で、検出パターンを設定することで、ウェブサイトとウェブサイト利用者との間の通信の内容を機械的に検査することができます。([Wikipediaより](https://ja.wikipedia.org/wiki/Web_Application_Firewall))WAFで検出するものは**HTTP通信(リクエスト、レスポンス)**です。そのHTTP通信に基づいて、通信をそのまま通過させたり、遮断したり、エラーを出したりします。
例えば、HTTPリクエス
CodeStarで作成したDjangoアプリをRoute53でドメイン登録とHTTPS化
# CodeStarでDjangoアプリ作成
こちらの記事を参考にDjangoアプリを作成します。
https://qiita.com/SatoshiGachiFujimoto/items/404e45796ac4e0d7bf81# ドメイン登録
AWS ConsoleからRoute53を開きます。「ドメインの登録」をクリックし、登録していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/81a87ede-99d7-64d3-ddaa-31bceec21f3d.png)ドメイン名を入力し、カートに入れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/b1e81c87-66f0-2fb8-1247-b783bee1c79f.png)連絡先情報を入力します。メールアドレスの確認メールが来るので承認します。
![image.png](https:
ローカルでビルドしたものを package するときに –template-file オプションを付けるタイミング
# TL; DR
`sam build` でビルド先ディレクトリの出力先を指定した場合は、 `sam package` で `–template-file` を指定しましょう。
そうでない場合(殆どが指定しないと思います)は、指定しない方が無難です。# はじめに
下記のような記事がありました。
私も最初は `sam package` に `–template-file` オプションを付けて苦しめられていたため、参考になりました。[ローカルでビルドしたものをpackageするときは –template-file オプションはつけない – Qiita](https://qiita.com/billthelizard/items/96a8a0a213a776b84d8c)
では、逆に `–template-file` を指定するのはいつなのか、調べてみました。
# フローの種類
`sam build` と `sam package` の挙動を知るには、ビルド手順を追うと分かりやすいです。
そこで、本章ではアプリケーションビルド手順を順次追っていきます。S
クラウド初心者のAWS入門(第10回)
# 第10回 MariaDBのインストール
プライベートサブネット上のインスタンスに、DBソフトウェアをインストールします。
MariaDBのパッケージは、前回構築したNATゲートウェイを経由しインターネットからgetします。|![システム構成図_第10回目.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/220453bd-9249-602e-36a7-d3a12ba0e757.png)
|:-:|以下の通り進めていきます。
+ [DBサーバへssh接続](#DBサーバへssh接続)
+ [MariaDBのインストール(NATを削除している場合は再作成から)](#MariaDBのインストール)
+ [MariaDBの設定](#MariaDBの設定)## DBサーバへssh接続
ご使用の端末に応じて、WindowsならTeraTerm、MACなら標準のターミナルが使いやすいかと思います。
今回はMACのターミナルを用いて作業をしていきます。作業における注意点としては以下2点
インフラエンジニアがやってみた AWSでサーバーレス Webアプリケーション開発
# はじめに
以下のような構成でサーバーレスアプリケーションの個人開発を行っていました。![001.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/369361/b136655a-21ea-b731-8d8d-aca54b2a4826.png)
様々なハマりどころを乗り越えて、ようやくおおよその動作が出来ました。
私の技術領域は主にインフラ領域(サーバーエンジニア)ですので、あまり開発の知識はありません。
特にフロントエンドは苦手意識があります。
時代遅れのITインフラを抱えてばかりでしたので、AWSも触ったのは初めてです。
サーバーレス、すごいですね!全体を通して様々なサイトの情報を参考にさせて頂きました。
実際の手順等の細かな内容については参考URLのほうが俄然優秀ですので、そちらをご参照ください。# 触った順序
以下の順番で開発を進めました。* AWS Lambda
* DynamoDB
* API Gateway
* Amazon S3それぞれの作業内容とハマりどころ示しま
rsyslogでsecureログの分離
#NLB→OSのヘルチェックでport22利用する場合のヘルスチェックログ退避
#/etc/rsyslog.conf 例
“`
if ($programname == ‘sshd’) and ($msg contains ‘from 192.168.1.xxx’ or $msg contains ‘from 172.16.xxx.xxx’) then /var/log/nlbhc.log
&~
authpriv.* /var/log/secure
“`
#/var/log/nlbhc.log のログローテ
/etc/logrotate.d/syslog で設定
[Firebase] CloudFunction(トリガー) + AWS Elasticsearch でハマった点のまとめ
# [Firebase] CloudFunction(トリガー) + AWS Elasticsearch でハマった点のまとめ
`Firestore/RealtimeDatabase` + `CloudFunction(トリガー)`
=> `AWS Elasticsearch`上記の構成を作ったので、そのときの構築時の気付き・ハマった点のまとめ。
## はじめに
Firebase では全文検索機能が提供されていないので、公式ドキュメントに従うなら Algolia を導入することになるかと思う。
ただ、金額面やインフラ面で全文検索に AWS Elasticsearch(以後 AWS ES)を導入することもあるかと思う。
### 構成
Firestore / RealtimeDatabase に対するデータ追加・変更・削除をトリガーにして、CloudFunction を実行して、Elasticsaerch 側にもデータを流す。
## Firebase のプランの変更
**Firebase のプランを、Spark から Blaze へ変更が必須です。**
無料プランの
AWS EC2 AmazonLinux2 composerをインストールする
# 目的
– インスタンスにcomposerをインストールする方法をまとめる。
# 実施環境
– ハードウェア環境
| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |– ソフトウェア環境
| 項目 | 情報 | 備考 |
| — | — | — |
| AWS EC2インスタンス | AmazonLinux2 | こちらの方法を用いてイメージからインスタンスを作成→[AWS EC2 をMacで使ってみよう!](https://qiita.com/miriwo/items/a1ab84c098008e43d042) |
| MySQL
Elastic Beanstalk で Amazon Linux AMI とAmazon Linux 2 の違い
## フック
### Amazon Linux AMI
[カスタムプラットフォームフック – AWS Elastic Beanstalk](https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/custom-platform-hooks.html)“`
/opt/elasticbeanstalk/hooks/
“`### Amazon Linux 2
[Elastic Beanstalk Linux プラットフォームの拡張 – AWS Elastic Beanstalk](https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/platforms-linux-extend.html#awsui-expandable-section-1-trigger)
“`
ソースバンドルの .platform/hooks/
“`## 無視するファイル
### Amazon Linux AMI
`.gitattributes` を使う。