- 1. AWS LambdaからS3にファイルをアップロードする
- 2. 全Terraformユーザーにおすすめしたいtfsec
- 3. 【 Ruby on Rails 6.0 】 AWS + Nginx + Unicornでデプロイ⑦
- 4. EC2上のエラーログをS3に移してAthenaで分析する
- 5. AthenaのQueryをMysqlと同じ感覚で使ったときにひっかかった部分まとめ
- 6. 【AWS】ACM+Route 53+ELB+EC2でSSL化に対応する
- 7. 【AWS】ECRでレポジトリを作成し、イメージをプッシュする手順
- 8. AWS GuardDuty 2021年3月アップデート内容全文
- 9. 初めての無料ドメイン取得&Route53でフェールオーバールーティングしてみた。超ざっくりまとめてみた。
- 10. 【初心者】AWS Wavelengthを使ってみる #2 (Amazon EKSの利用)
- 11. AWS障害が起こったときにやること覚書
- 12. ECSのタスク定義で起きたエラーを「awslogs」で確認する方法
- 13. ec2でsudo以外でもパスワードなしで、インストールできるようにする
- 14. 量子アニーリングマシンD-Waveで良い解を出すためのコツ(前編)
- 15. ec2でssh接続した際、Too many authentication failuresが出た時の解決法
- 16. .NETでDockerを利用したローカル開発時にもAWS Profileを使ってシークレットを安全に引き渡す
- 17. 【AWS】ECRにログインし、レポジトリにイメージをプッシュするエイリアスコマンドの作成。
- 18. 【超ざっくり】AWSのアクセスキーとシークレットアクセスキーの取得の仕方
- 19. 【ECS】キャパシティプロバイダーを使ってみよう~設定編~
- 20. 40代おっさんEC2を作成してみた➁
AWS LambdaからS3にファイルをアップロードする
# サンプルコード
– Body・・・ファイルに書きたい内容
– Bucket・・・アップロード先のバケット
– Key・・・アップロードしたときのファイル名“`lambda_function.py
import boto3def upload():
client = boto3.client(‘s3′)
response = client.put_object(
Body=’Hello from Lambda!’,
Bucket=’my-bucket’,
Key=’sample.txt’,
)def lambda_handler(event, context):
upload()
return 0
“`# サンプルロール
既存のラムダロールに追加する。
“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: “s3:PutObject”,
全Terraformユーザーにおすすめしたいtfsec
全Terraformユーザーにおすすめしたいツール、それが **[tfsec](https://tfsec.dev/)** !!
[Technology Radar](https://www.thoughtworks.com/radar/tools?blipid=202005105)でも取り上げられてるので、最近知名度は上がってきたのでご存知の方は多いのではないでしょうか?![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214526/2ec3d1d2-04e7-4187-e448-a4c96d0ef60f.png)
## tfsecとは?
Terraformコードの静的解析ツールです。
https://tfsec.dev/
セキュリティ的にベストプラクティスに反している点などを指摘してくれます。
AWS, GCP, Azureのリソースに対応しています。
(以降は特にAWSでの利用について述べます)![image.png](https://qiita-image-store.s
【 Ruby on Rails 6.0 】 AWS + Nginx + Unicornでデプロイ⑦
# 始めに
前回の内容でNginxというWebサーバーを導入しRailsアプリを本番環境で起動出来ました。
しかし、現状だと開発環境で変更したものを本番環境に反映させるのに工数が多く不便です。
そこで、`Capistrano`という自動デプロイツールを導入しコマンドひとつでデプロイ作業を完了できるように設定していきます。# 目次
|目次|内容|
|:–:|:–:|
|セクション1|[EC2インスタンス作成](https://qiita.com/anago1030/items/854252bc9b728fe90beb)|
|セクション2|[Linuxサーバー構築](https://qiita.com/anago1030/items/07f7026c0f4c42a63440)|
|セクション3|[データベース設定](https://qiita.com/anago1030/items/79eebdc8474255b962b4)|
|セクション4|[EC2上でGemをインストールし環境変数を設定](https://qiita.com/anago1030/items/0a9a89374
EC2上のエラーログをS3に移してAthenaで分析する
# エラーログをAthenaでお手軽に見やすくしたい
ALBのアクセスログをAthenaで可視化してみたら非常に便利だったので、エラーログでもやってみました。
エラーログ、見るの手間だけどほっとくと増えてるんだよな…。参考 [AWS公式 ALBログのクエリ](https://docs.aws.amazon.com/ja_jp/athena/latest/ug/application-load-balancer-logs.html)
## 環境と要件
Apache/2.4.46 ()
PHP 7.0.33そこまでリアルタイム性は求めてないですが、毎日更新はさせたいです。
さすがにFatalが出ていたら気づきたいですし、Warningも無理のない範囲でつぶしていきたいです。
ログファイルはLogrotateで日付ごとのファイル分割と.gzファイルへの圧縮は対応済みです。
良い感じの記事が見つからなかったのでテーブルは自作します。## エラーログをS3におく
必ずしも漏らさず拾う必要もないので、ログファイルは適当に定時でS3に移動するようにします。## S3上のエラーログ
AthenaのQueryをMysqlと同じ感覚で使ったときにひっかかった部分まとめ
# AWS Athena は便利
AWS Athenaを使うと、S3内のファイルに対してSQLクエリを実行できます。環境構築やデータの前加工が不要で、簡単に利用できます。非常に便利です。
S3にログが自動で溜まるようにするのがベストですが、とりあえずログファイルをS3にアップロードするだけでも十分使えます。
普段は開発を行っていて、Athenaはちょこちょこ触るくらいであれば10$/月もいかないかと思います。安い。Athenaでできることと使い方のイメージをつかみやすい記事
→[Amazon Athenaではじめるログ分析入門](https://qiita.com/miyasakura_/items/174dc73f706e8951dbdd)## Mysql感覚でAthenaを触るとできないこと、違和感が起こる部分
普段はMysqlを使ってます。
AthenaのQuery環境はMysqlと完全に同じではないので、できないことがあります。
2021/02/26 時点での状況です。### 文字列の囲みはシングルクォーテーション
ダブルクォーテーションで囲むとエラーが出ます。
【AWS】ACM+Route 53+ELB+EC2でSSL化に対応する
現在、個人アプリを製作しており、
AWSの本番環境へのデプロイ及びDNS設定まで完了したので、今日はSSL化を行った。
全てAWS内で完結している為、作業はとてもシンプルだが、説明を省略している記事が多く少し迷う部分があったので、記録として残しておく。## 前提
・EC2インスタンスでサーバー構築している
・Route53を使ってDNS設定をしている(ドメイン設定済み)
・ELB(ALB)を使用するので、その分の費用が発生する(を許容出来る)
・VPC構成はデフォルトのものを使用する
・とにかくサクッとSSL化したい人向け## ざっくり手順
1. AWS Certificate ManagerでSSL証明書を取得する
2. ELB(ALB)を設定する
3. EC2のセキュリティグループ設定を確認する
4. 接続確認## 1. AWS Certificate ManagerでSSL証明書を取得する
まずはSSL証明書を取得します。
AWSコンソールで`Certificate Manager`の画面に遷移します。
![スクリーンショット 2021-02-25 21.40.46
【AWS】ECRでレポジトリを作成し、イメージをプッシュする手順
##1. レポジトリの作成
オレンジ色の「レポジトリを作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/010314dc-a2f7-dc67-9632-10ed2af08938.png)
###設定内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/b464ba31-42e8-5962-02f3-4576cca49f06.png)(1) リポジトリ名
**▼以下はデフォルトのまま**
(2) プライベート (イメージを公開したい場合はパブリックにする)
(3) タグのイミュータビリティ: 無効
(4) イメージスキャンの設定: 無効
(5) 暗号化設定: 無効![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563
AWS GuardDuty 2021年3月アップデート内容全文
English follows Japanese
いつもお世話になっております。
この通知は、Amazon GuardDuty をご利用のお客様に今後の重要な変更をお知らせするためのものです。2021年 3月12日、異常なユーザー動作を検出する既存の 13 の Amazon GuardDuty 検索タイプが廃止され、8 つの新しい検索タイプに置き換えられます。 新しい検索タイプは、GuardDuty 検出の拡張を表し、より広範かつ正確なセキュリティカバレッジを提供します。 新しい検索タイプには、異常なアクティビティのトリアージと調査に役立つ豊富なコンテキスト情報も含まれています。 潜在的なカバレッジギャップを回避するために、GuardDuty と Amazon EventBridge [1] との統合により、既存の検索タイプを基にした自動取り込みを設定しているお客様は、2021年3月12日以前に新しい検索タイプに基づいて自動化を追加する必要があります。
以下は、2021年 3月12日に GuardDuty から廃止予定の検索タイプです。
1. Persistence:IAM
初めての無料ドメイン取得&Route53でフェールオーバールーティングしてみた。超ざっくりまとめてみた。
今回、人生初のドメイン取得(無料ドメイン)をしてみました!
そして、取得したドメインは、Route53でAWS上のサーバにルーティングを行っています。
※Route53はAWSのDNS(Domain Name System)サービスですまた、ルーティング先のサーバに障害があった時に、Sorryページを表示させるようにセカンダリサーバにルーティングをする(フェールオーバールーティング)ということをしてみました。
構成図(完成形)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1038334/f4f8bd8c-8af2-d8e7-4097-5f90cedd76b1.png)細かい作業過程は割愛しますが環境構築で理解した基本構成の概要を自分の理解を深めるために、超ざっくりと基本要素をまとめます。
これを見れば、何の目的のために何を作るのか、一目で思い出せるはず!
初めてって、やっぱり楽しいですねー。みなさん頑張りましょう!
【初心者】AWS Wavelengthを使ってみる #2 (Amazon EKSの利用)# 1.目的
– AWS Wavelength 上で動作するサービスとしてAmazon EKSが挙げられているが、どのように設定していくのか、また、リージョンでEKSを使う場合と比較して、どのような違いがあるのかを確認する。
– AWS Wavelength の概要については以前の記事「[【初心者】AWS Wavelengthを使ってみる](https://qiita.com/mksamba/items/9a45a666ae938053fa72)」を参照のこと。# 2.やったこと
以下の内容を実施した。※あくまで「やってみて動きました」という内容で、ベストプラクティスかどうかは微妙。– 東京リージョンにVPCを作成し、パブリックサブネット及び Wavelength Zoneのサブネットを作成する。
– 東京リージョンにEKSクラスター(コントロールプレーン)を作成する。
– Wavelength Zone に EKSワーカーノードとなるEC2インスタンスを作成する。
– EKSクラスターとEKSワーカーノードが通信できることを確認する。
– EKSワーカーノード上にnginxコ
AWS障害が起こったときにやること覚書
2/19のAWS障害を受けて、やっておけば良かったことメモ
・対象のAZ確認
-> アナウンスではap-northeast-1cだけだったが、1a/1dのインスタンスへの疎通も問題なかったか確認すべき・対象のサービス/インスタンスにsshログインなどし、疎通状況を確認
・アナウンスされている障害範囲以外のサービスに対しても疎通確認を行う (アナウンスよりも影響範囲が広い可能性もある
-> RDSやElastiCacheなど、EC2以外に利用しているサービスについても疎通確認すべき・サポートケースを最高優先度で作成
-> 障害収束後に作成はしたが、障害発生中に作成してサポートを受けるべき・リアルタイムな障害状況はここで確認
https://status.aws.amazon.com/#AP_block
ECSのタスク定義で起きたエラーを「awslogs」で確認する方法
毎日投稿しているのですが、本当にネタが尽きない。
今友人の頼みでVue.jsとLaravel、Firebase、Stripe、AWSを使ってサイトを制作しているのですが、世の中便利になったと毎日感じております。
今日はそんなこんなでDockerで作ったコンテナを実際のサーバーで動かしたときってECRのリポジトリへプッシュしてECSでタスクやらクラスターを作成しますよね。
ただ、最近ECSでクラスターを作成し、タスクを実行するときに何回やってもエラー起きたんです。
ECSのクラスターでエラーが起きた時ってどこで起きたかが非常に分かりづらい。。。
それを解決してくれるのが**awslogs**です!
今日はそのawslogsをECSで使用する方法をお教えします!!
めちゃめちゃ簡単なので、ECSのタスク定義でエラーが出て困っている方はぜひご利用ください。
それでは説明していきます!!
#IAMユーザーの権限#
IAMユーザーで作業を行う場合、下記の権限を追加してください。
・CloudWatchFullAccess
IAMユーザーで作業を行わない場合はスキップしてく
ec2でsudo以外でもパスワードなしで、インストールできるようにする
ec2userにログインしてから、
“`
$ sudo visudo
“`NOPASSWD:ALLで、sudo権限をパスワードなしで実行できる。
“`
root ALL=(ALL) ALL
user ALL=(ALL) NOPASSWD:ALL
“`
量子アニーリングマシンD-Waveで良い解を出すためのコツ(前編)
# この記事の概要
これまでエンジニアにとって身近に感じることが難しかった量子コンピュータですが、AWSが提供するAmazon Braketのローンチを皮切りにエンジニアにとっても身近なものとなりつつあると感じています。
そこで、量子アニーリングマシンとして世界的に最も有名でありAmazon Braketでも利用ができる**D-Wave**を使ってみたのですが、良い解を求めるためにチューニングする際のコツがありそうだったのでまとめてみました。
要約すると、
* チューニングポイントは「制約項の係数」「チェーン強度」「サンプリング回数」
* 制約項の係数を調整するにはPyQUBOのプレースホルダーをうまく活用する
* チェーン強度は強くするべきだが、QUBO内の値を意識しながら強くしすぎないように調整する
* サンプリング回数は多ければ多いほどいいが、金額の問題や上限が10000回であることに注意するといった内容になります。
なお、私自身量子コンピュータについて勉強中の身ですので、間違ったことを書いている可能性もありますが、その場合は優しく指摘いただければと思います。
#
ec2でssh接続した際、Too many authentication failuresが出た時の解決法
“`
% ssh -i foo.pem ec2-user@*******
“`から
“`
% ssh -o IdentitiesOnly=yes -i ~/.ssh/foo.pem -l ec2-user ************
“`に変えると、ログインすることができるようになりました。
.NETでDockerを利用したローカル開発時にもAWS Profileを使ってシークレットを安全に引き渡す
# はじめに
ローカル開発時に.NETのプログラムからAWSの各サービスを利用するには、認証情報としてAWSのプロファイル情報を利用するか、アクセスキーとシークレットキーを設定する必要があります。プログラムの設定ファイルなどにアクセスキーやシークレットキーを記載すると、誤ってソース管理リポジトリに公開してしまう危険があるため、可能であればAWSプロファイルを利用してAWSに接続することが推奨されます。
この記事では、Dockerを利用したローカル開発時に、AWS Profileを利用してシークレットを安全に取り扱う方法について解説します。# プロファイルを利用した.NET CoreでのAWSサービスの利用
.NET CoreでAWSの各サービスを利用する場合は下記のドキュメントに記載されている通り、設定ファイル(`appsettings.json`)に利用するAWSのプロファイル情報を定義し、Startup時に`AddDefaultAWSOptions`拡張メソッドで前述の設定内容を有効にすることが推奨されています。
https://docs.aws.amazon.com/j
【AWS】ECRにログインし、レポジトリにイメージをプッシュするエイリアスコマンドの作成。
AWS上のdockerイメージを保存するレジストリであるECR(Amazon Elastic Container Registry)に、**イメージを簡単にプッシュできるようにエイリアスコマンドを作成**する。
コマンドはシェルファイルに作成する。大まかな流れは、コマンドの作成 -> 実行 -> ECRでイメージの確認となる。
##目次
1. [awsへのログイン処理](#1-awsへのログイン処理)
2. [aws-cliのバージョン情報を取得](#1-1-aws-cliのバージョン情報を取得)
3. [aws-cliのメジャーバージョン情報のみ取得する](#1-2-aws-cliのメジャーバージョン情報のみ取得する)
4. [ver1の時のログイン処理](#1-3-ver1の時のログイン処理)
5. [ver2以上のログイン処理](#1-4-ver2以上のログイン処理)
6. [バージョン情報が取得できなかった場合の処理](#1-5-バージョン情報が取得できなかった場合の処理)
7. [ECRにイメージをプッシュする](#2-ecrに
【超ざっくり】AWSのアクセスキーとシークレットアクセスキーの取得の仕方
こういう感じで、自分でアクセスキー発行して設定してねと言われた時の手順。
“`
export AWS_ACCESS_KEY_ID=xxxx
export AWS_SECRET_ACCESS_KEY=xxxx
“`## ステップ
1. 管理画面にログイン。
2. 右上のナビゲーションバーでユーザー名を選択。
3. [My Security Credentials (セキュリティ認証情報)] 選択。
4. [Access keys (access key ID and secret access key)] セクションから [新しいアクセスキーの作成] を選択。これでアクセスキーとシークレットアクセスキーが表示されるはず。あとはダウンロードするなり1Passwordなどのパスワード管理アプリなどの安全な場所に保存するなりする。
**? 絶対に外部に漏らさない!GitHubにもPushしないで下さい**
## 参考
[IAM ユーザーのアクセスキーの管理 – AWS Identity and Access Management](https://docs.aws.am
【ECS】キャパシティプロバイダーを使ってみよう~設定編~
streampackのrisakoです。
2月中旬に入ってから花粉が一気に飛び始めましたね:evergreen_tree:
今年は去年よりも飛散量が多いようで花粉症の人にとっては辛い時期になってしまいました:mask:今回は、ECSのキャパシティプロバイダについて書いて行きたいと思います。
## キャパシティプロバイダーとは
**「ECSにおけるタスク実行インフラを柔軟に設定できる仕組み」** です。
以下のECS設定で設定できますが、今回は「ECS on EC2 」で設定してみたいと思います。– ECS on EC2
– ECS on FargateECS on EC2を利用したことがある方は、タスク数を変更する際にEC2インスタンスもスケールアウトする必要があったかと思います。
キャパシティプロバイダーを使うことで**タスク数に基づきEC2をインスタンスも自動でスケールアウト**してくれるので運用がとても楽になりますね:point_up:#設定
##0. 事前準備
ECSクラスターに**タスク定義設定**と**タスク作成**できるようにしておく必要がありま
40代おっさんEC2を作成してみた➁
#40代おっさんEC2を作成してみた➁
##本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。##AWS作成図
![vpc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/b9dc8ad4-bba8-2910-9975-96abff578ad3.png)VPC部分については
https://qiita.com/kou551121/items/2535fe3de57a5c813687
今回はEC2を作成することをメインにしております。
EC2詳しく知りたい方は
https://qiita.com/kou551121/items/54acbecd4fa147bc4d51##構築手順
❶EC2を作成する。
https://qiita.com/kou551121/items/56f2e075d33fbf345787
(❶の部分を知りたい方はこち