- 1. pythonで他のサイト上の画像を直接s3に保存する
- 2. AWSアカウント作成してみた
- 3. AWS S3のmockを作成してGitHub Actionsで自動テストを実行する
- 4. OpenSearch(ElasticSearch)のIAMを利用した権限制御のややこしかったところ
- 5. 【AWS SES】エラーEmail address is not verified. The following identities failed the check in region
- 6. 【AWS】 クラウド学習 セキュリティグループについて
- 7. VPC マルチAZで、商用版VyattaでHAクラスタを構成する
- 8. VPC上でVyattaCoreのHA CLUSTERを自動構成する
- 9. 【AWS】お役立ちリンク集【随時更新】
- 10. AWS Protonを実践してFargate+Rails環境を構築する
- 11. Fargate を RunTask したときに ECS.ServerException が出てもタスクが起動されるときがある
- 12. AWS App RunnerからRDSにアクセスする
- 13. TerraformでVPC・サブネット・インターネットGWを作成する
- 14. Route 53 + CloudFront + S3 + WAFの構成をCloudFormationで作る
- 15. AWS認定 専門知識5種を平均9割合格したので振り返り
- 16. 【JAWS-UG 名古屋】 AWS ECSハンズオン
- 17. 社内で行っているAWS勉強会の知見を共有したく
- 18. 【AWS】LaravelアプリをEC2デプロイ⑦【API編】
- 19. [AWS Lambda] Pythonで外部モジュール(Pillow)を使う
- 20. AWS SAAに3週間で受かったのでまとめておく
pythonで他のサイト上の画像を直接s3に保存する
環境は以下です。
“`
$ python3 –version
Python 3.10.4
“`コードは以下です。
“`python
import requests
import boto3# s3の設定
BUCKET_NAME = ‘your-bucket-name’
s3 = boto3.resource(‘s3’)
bucket = s3.Bucket(BUCKET_NAME)# 画像を直接保存
url = ‘https://hogehoge.jpg’
res = requests.get(url, stream=True)
bucket.upload_fileobj(res.raw, “foo/bar/baz”)
“`AWS EC2インスタンス上から実行するとして、
IAMロールでs3へのアクセス権限を設定したものをアタッチしておくか、`aws configure`から認証情報の設定周りは済んでいる前提です。
AWSアカウント作成してみた
# はじめに
“エンジニアファーストの会社 株式会社CRE-CO”のクワバラと申します。AWSを使って仕事を行うことが多いので、無料でアカウント登録ができるため、アカウントを作成してみようと考えています。
これができれば無料版のEC2等を検証用に作成してみることもできるので、勉強用に環境を整えたいと思います:relaxed:需要があるかは置いておいて、、、
それでは、レッツゴー!!
## アカウント作成手順
※公式のドキュメントを参考にしたい方は下記URL
[AWSサイト](https://aws.amazon.com/jp/register-flow/)### 1 アマゾンウェブサービスへ接続する
[アマゾンウェブサービスURL](https://aws.amazon.com/jp/)へ接続する### 2 「今すぐ無料サインアップ」を選択する
のIAMを利用した権限制御のややこしかったところ
VPC内のOpenSearch(ElasticSearch)のIAMを利用した権限制御がややこしかったです
## まとめ
ドメインアクセスポリシーは3パターンある(それぞれの設定のプリンシパルに対するアクションを理解すること)
ドメインでIAMを指定しなかった場合kibana側のロールマッピングで制御することでAPI操作が可能になる
ロールマッピングしていてもドメインアクセスポリシーで明示的に拒否してしまっていた場合(②)はAPI操作ができない
ロールマッピングしていなくてもドメインアクセスポリシーで明示的に許可されていれば(①にするか、③で指定)API操作ができる
## 前提知識### ドメインアクセスポリシー3パターン
①きめ細かなアクセスコントロールのみを使用(設定後の状態)
②ドメインレベルのアクセスポリシーを設定しない(設定
【AWS SES】エラーEmail address is not verified. The following identities failed the check in region
## 現状
Laravelでメール機能を、メールサーバーにSESを使用しメール送信を実際にしたところ下記のエラー“`
Email address is not verified. The following identities failed the check in
region AP-NORTHEAST-1: \”サービス名\” <送信元メアド>, (サービス名) <送信元メアド>
–
“`## 解決法
送信元のメアドをSESで検証したメアドに変更する。
SESで検証したメアド**からのみ**送信でき、サンドボックス外に設定して制限がなくなるのは**送信したいメアド**。
## 参考
https://bbh.bz/2019/08/31/ses-not-verified-err/
【AWS】 クラウド学習 セキュリティグループについて
プログラミングを初めて3ヶ月。
備忘録としてつまづいたところを記載し、アウトプットツールとして活用していきます。# AWSインフラ・クラウド学習中
VPSやらEC2やらS3やらなにをやっているのかわからなすぎて自分自身に絶望しています。# セキュリティグループについて
今回はセキュリティグループについて学んだ事を書きます。
アウトバウンドルール、インバウンドルールがあり
インバウンドは外からサーバーやWEBアプリケーションなどに入ってくる事をいい、アウトバウンドは外に出ていく事をいう。(ざっくり)
アウトバウンドはあまり使わないイメージ、、、
今回でいうとパブリックのサブネットからプライベートのサブネットに移動することをアウトバウンドというみたい。あくまでパブリックから見た場合。プライベートから見るとインバウンドになる。# インバウンドルールに関して
今回はアウトバウンドはデフォルトの設定のままにして問題なし。インバウンドは、SSHと作成したWEBアプリはHTTPS化しているので
HTTPSの2個設定するべき。
SSHに関しては、私はクラウド9を使用し、EC2に入りたい
VPC マルチAZで、商用版VyattaでHAクラスタを構成する
## AWS上でソフトウェアルーターを冗長化する
AWS上でソフトウェアルーターの冗長化(HAクラスタ)を構成します。
これにより、EC2インスタンスのトラブル等による影響を最小限に抑えられる、といったメリットがあります。
今回、商用版Vyatta(および、Vyatta Core)を用いて、マルチAZ環境下でのHAクラスタを構成します。
## この記事について
以下の記事を清書したものになります。
内容は当時(2014.10.08)のものとなります。
https://blog.mikalab.info/archives/643967.html## Vyatta固有の問題
Vyattaは、HAクラスタの機能として、OSSの`Heartbeat`を使用しています。
Heartbeatでは、ハートビートの送信にユニキャスト・マルチキャストを選択
VPC上でVyattaCoreのHA CLUSTERを自動構成する
## AWS VPC上でVyatta CoreをHA構成する
Vyattaは、HAの動作にマルチキャストを使用しており、そのままではMAZ上でHAにする事が出来ません。
この問題は、GRE Tunnelを構成し、トンネル内でマルチキャストパケットを疎通させる事で解決します。## この記事について
以下の記事を清書したものになります。
内容は当時(2014.10.11)のものとなります。
https://blog.mikalab.info/archives/643917.html## 本スクリプトについて
本スクリプトでは、Vyatta CoreにAWS CLIをインストールし、HA Clusterを半自動で設定します。## スクリプト
https://github.com/tsumura-cloudpack/aws-vyatta-clustering-builder## 使い方
“`
% curl https://raw.githubusercontent.com/tsumura-cloudpack/aws-vyatta-clustering-builder/mast
【AWS】お役立ちリンク集【随時更新】
# 0. はじめに
大阪のLaravel初学者サウナーこと、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
LaravelアプリをAWSのEC2デプロイする上で役に立った記事を随時更新します!## 0-1. 全体の流れ
> [1.学習教材](#1-学習教材)
> [2.初期設定](#2-初期設定)
> [3.エラー](#3-エラー)
> [4.Linux](#4-linux)
> [5.CloudFormation](#5-cloudformation)
> [6.VPC](#6-vpc)
> [7.EC2](#7-ec2)
> [8.RDS](#8-rds)
> [9.S3](#9-s3)
> [10.Route53](#10-route53)
> [11.ACM](#11-acm)
> [12.ELB](#12-elb)
> [13.SNS](#13-sns)
> [14.Chatbot](#14-chatbot)
> [15.CodeDeploy](#15-codedeploy)
> [16.
AWS Protonを実践してFargate+Rails環境を構築する
以前のこちらの記事でAWS Protonを試しましたので、今回は実践編としてウェブアプリケーションを構築していきます。
https://qiita.com/goosys/items/ef66274663b3552be36f
# 目標
– Railsのアプリケーションをデプロイできる
– SSL
– Protonで証明書の作成はしない
– 別途行っておいてArnだけ設定する形
– WAF
– RDS(Aurora MySQL)
– パスワード自動生成 & SecretManagerに保管
– 削除保護の有無を選択可
– ElastiCache(Redis)
– sidekiqから利用
– Fargate
– Container Insightsの有無を選択可
– AutoScallingを設定可
– ヘルスチェック
– コスト配分タグの付与(要所のみ)
– アプリケーションは Githubへpush → ビルド&デプロイ → Slackへ通知のフロー
– テスト環境・ステージ環境構築時には課金を少な目にできる気配り# 出来たもの
今回作成した
Fargate を RunTask したときに ECS.ServerException が出てもタスクが起動されるときがある
# 概要
Fargate を RunTask するときに稀にエラーで起動できないときがある。
エラーの種類は様々あるが、 `ECS.ServerException` が生じたときに、表面上はエラーだが実際はタスク起動に成功しているときがあった。※ 2022/06 時点の情報です。AWS 側の基盤改善により、将来的に問題が解消されている可能性があります。
# 詳細
Step Functions から RunTask させており、TaskFailed となった。

> Service Unavailable. Please try again later. (Service: AmazonECS; Status Code: 500; Error Code: ServerException; Request ID: 6eb18907-4228
AWS App RunnerからRDSにアクセスする
## 結論
同一VPCで↓

TerraformでVPC・サブネット・インターネットGWを作成する
TerraformでALBとFargateを作成したので、工程を数回に分けて記載します。
Terraformコマンド・AWS CLIが使用可能である、“`export AWS_DEFAULT_PROFILE“`でインフラを構築したいプロファイルになっている事が前提です。## 環境
Terraform v1.1.6## 完成図
まずVPCを作成したのでメモとして記載します。
## 今回作成するVPC構成図
## Terraformディレク
Route 53 + CloudFront + S3 + WAFの構成をCloudFormationで作る
# やりたいこと
– CloudFront + S3でSPAサイトを公開したい
– そしてRoute53で独自ドメインでアクセスできるようにする
– かつCloudFrontにWAFを設定してアクセス制限したいCloudFormationで一気に作ろうとしたらWAFを作るところで怒られてしまった…
調べてみるとWebACLのScopeを`CLOUDFRONT`で作成する場合はリージョンを`us-east-1`で作成する必要がありました
参考↓
https://dev.classmethod.jp/articles/cloudformation-webacl-cloudfront-error/
ドキュメントにも書いてありました、なるほど
> For CLOUDFRONT, you must create your WAFv2 resources in the US East (N. Virginia) Region, us-east-1https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuid
AWS認定 専門知識5種を平均9割合格したので振り返り
# はじめに
ちょうど約1年前、私は「AWSを本格的に勉強しよう!」と決心して資格勉強を始めました。そして時は流れ、先週 AWS Certified Advanced Networking に 972/1000で合格し、ようやく専門知識 5種を制覇したので、一つの節目として振り返りの記事を書こうと思います。特に専門知識は日本語の学習商材が致命的に少なく、学習の見通しを立てにくいと感じる方も多いかと思うので、少しでもご参考になれば幸いです。
気持ちよく「専門知識全取得」と書きたかった矢先、新しい専門知識の [SAP on AWS – Specialty](https://aws.amazon.com/jp/certification/certified-sap-on-aws-specialty/) の試験が今年の 4月から始まったようなので、誤
【JAWS-UG 名古屋】 AWS ECSハンズオン
## ◆Agenda
**1.ハンズオン概要**
**2.ハンズオンを始める前に・・・**
**3.ハンズオン環境準備**
**4.ECSクラスター設定**
**5.ECSタスク設定**
**6.ECSサービス設定**
**7.ALBエンドポイントへの接続**
**8.WordPressの設定**– – –
# 1.ハンズオン概要
– – –
## ◆概要
* このECSハンズオンは、Dockerの公式ドキュメントで紹介している「クイックスタート:ComposeとWordPress」の構成について、ECSとRDSを使用して構築する内容になっています。https://docs.docker.jp/compose/wordpress.html
:::note warn
基礎知識としてのDockerについては触れません。
:::参考:Dockerについて知りたい方
Dockerについて知りたい方は、下記リンクを参照してみてください。
[【図
社内で行っているAWS勉強会の知見を共有したく
# 5月末から社内で勉強会を始めました
■概要
時間:毎週月曜日の業務終了の30分後(19:30~)から約1時間
場所:オンライン
参加人数:3~6名ほど
形式:講義+もくもく会# なぜ始めたか
2022年から社会人2年目を迎え、チームに新人が入ってきたので自分も教える側の立場になってしまった。自分が去年AWS学習にかなり苦労し、業務で色々鬱になったりしたので、後輩には同じ思いをして欲しくなく自分が考えうる最短でAWSに強くなれるノウハウを伝えたかった( ~~後輩がAWSに得意になればより多くの仕事を引き継がせて、自分が別の案件に注力できるようになるし笑~~ )。
もちろん業務で必要な知識は業務内で教えることにしているが、後輩の学習意欲が高くそれに応えるためより難しい課題にプライベートでも取り組んでもらうことにした。
また、せっかく後輩にプライベートの時間を使って教育するので他の方にも同時に教えた方が効率的なので、興味ある方を集めて勉強会を開催することにした。
## 目的
チームメンバー向け
・直属の後輩のAWSスキル向上
・部署単位でのクラウド力向上
・詳細設計から納
【AWS】LaravelアプリをEC2デプロイ⑦【API編】
# 0. はじめに
大阪のLaravel初学者サウナーこと、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
Route53の独自ドメイン登録に伴った、外部API(`Google / Twitter`)連携方法です(`Laravel Socialite`解説付き)。## 0-1. 前回記事
– 【AWS】LaravelアプリをEC2デプロイ【まとめ編】https://qiita.com/kazumakishimoto/items/e0e109fca443a4acd2a1
– 【AWS】LaravelアプリをEC2デプロイ①【CloudFormation / EC2 / RDS編】
https://qiita.com/kazumakishimoto/items/0859a5a365b226c1b43a
– 【AWS】LaravelアプリをEC2デプロイ②【Route53編】
https://qiita.com/kazumakishimoto/items/825f8c5f94d0160b236
[AWS Lambda] Pythonで外部モジュール(Pillow)を使う
# AWS Lambdaで外部モジュールを追加する方法を情報まとめた
AWS Lambdaだと使えないライブラリ(モジュール)がありますね。追加が必要な場面がありますので外部モジュールの追加についてまとめます。
今回LambdaでS3にアップされた画像いじりたいのでで`Pillow`使おうとしました。
モジュールをzipでアップすればいいのは知っていたのでpip installでデータ取得できたらzipにしてOKでしょ!
と思ってテストを実行したら“`
[ERROR] Runtime.ImportModuleError: Unable to import module ‘lambda_function’: No module named ‘PIL’
“`とエラー。pip in
AWS SAAに3週間で受かったのでまとめておく
# 概要
AWS SAAをはじめて受験し合格した。
受験言語は例によって英語にした。# やったこと
個人的な役立ち度を☆で評価する。## AWS Certified Solutions Architect Associate Practice Tests:★★★★★
時間が無くて、390問中140問くらいしかできなかった。
ただ、やった問題については二回解いた。
初回は、問題見ても答えがわからないので、すぐ答えを見る。
分からない問題で時間をかけても無駄なので、間違った選択肢は一切見ない。
後述の日本語の本を二周した後に、二回目に取り組んだ。
二回目に解いた際は、知識が定着していたので、感覚的に8~9割は解けていた。
問題は、幅広い分野から作成されていて、同じような問題は少なかった。
日本語版でこういった本が出れば売れると思う。正式名称:[AWS Certified Solutions Architect Associate Practice Tests 2019: 390 AWS Practice Exam Questions with Answers & detaile