AWS関連のことを調べてみた2022年01月24日

AWS関連のことを調べてみた2022年01月24日

Amazon CloudFrontの公開設定を色々とためしてみた

![img](https://day-journal.com/memo/images/logo/aws/cloudfront.png)

### Amazon CloudFrontの公開設定を色々とためしてみました :tada:

事前準備

– 事前にAmazon S3に公開したいファイル一式をアップロード
– 設定は非公開のままでOK

![画像](https://day-journal.com/memo/images/amazon-cloudfront-001_07.png)
![画像](https://day-journal.com/memo/images/amazon-cloudfront-001_08.png)

## Amazon S3と組み合わせた公開

Amazon CloudFrontとAmazon S3を組み合わせて公開する方法です。

AWSコンソール → CloudFrontをクリック。
![画像](https://day-journal.com/memo/images/amazon-cloudfront-001_01.pn

元記事を表示

LightsailでWordPressを使ってみた(その2)

#はじめに

これは初心者が書く初心者向けのシリーズ記事です。
前回は、[LightsailでWordPressを使ってみた(その1)](https://qiita.com/AkiSuika/items/41d6b4de3b7777ca02c3)にてWordpressを起動しました。
今回はその続きです。

#起動確認
まずはインスタンスの状態確認からしていきます。
Lightsailの管理画面上では以下の通り実行中とのこと。
![スクリーンショット 2022-01-23 22.18.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/894678/2303c71a-a81d-2ed8-4e40-8c73f327d9b8.png)

パブリックIPにブラウザでアクセスすると無事動いていそうです。
![スクリーンショット 2022-01-23 4.22.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/894678/b2

元記事を表示

AWS S3に格納したファイルをLambdaで処理しS3に再格納する

AWS Lambdaの学習をしています。
S3に格納したファイルをLambdaで処理し、再度S3に格納するということをやってみたいと思い取り組んでみました。
今回はその時の学んだことを記載します。

## 予め実施しておくべきこと

– LambdaのトリガーにS3を登録する。(今回はinput/配下の.csvを対象にした)
– IAMのロールより作成したLambda関数にS3への許可を設定する。

## 学んだこと
– boto3:AWSが提供しているPythonでAWSを操作可能とするライブラリの名称
– lambda_handler:Lambdaの実行時に呼び出される関数

## 作成した関数

“`[python]
import boto3

s3 = boto3.client(‘s3’)

def read_file(bucket_name, file_key):
response = s3.get_object(Bucket=bucket_name, Key=file_key)
print(“response = “, response)

元記事を表示

JSONファイルをCSV変換するスクリプトのメモ

## はじめに

JSONファイルをCSV変換するスクリプトの作成メモ
作成したスクリプトは2種類

– サンプル④-1:JSONファイルをCSV形式に変換してファイル出力(1)
– 04_1_convertFromJsonToCsv.py
– サンプル④-2:JSONファイルをCSV形式に変換してファイル出力(2)
– 04_2_convertFromJsonToCsv.py

変換規則

||サンプル④-1|サンプル④-2|
|—|—|—|
|スクリプト|04_1_convertFromJsonToCsv.py|04_2_convertFromJsonToCsv.py|
|CSV変換後のカラム数|`JSONの要素`と`要素の値`の2つ|`JSONの要素`と`要素の値`の2つ|
|カラム`JSONの要素`について|**先頭に番号を付与**
ネストする全ての要素を `__` で連結|**先頭に番号を付与しない**
ネストする全ての要素を `__` で連結|
|カラム`要素の値`について|**JSON要素の値と同じ**|**作成した`JSONの要素

元記事を表示

WAFで特定ドメインのIP制限をする(Terraform)

# ユースケース

– 1台のサーバーで管理画面アプリケーションと外部公開用APIサーバーの両機能が備わっている場合など(apiに制限はかけたくないが、管理画面にかけたいというシチュエーション)

# どーやるの

## ◾️ 流れ

1. ipのホワイトリストを作成(**aws_wafv2_ip_set**)
2. Web ACLを作成(**aws_wafv2_web_acl**)
3. **aws_wafv2_web_acl**のリソースの定義において、「特定のipは許可する」、「特定のドメインへのアクセスをブロックする」という定義をrulesブロックにて、 `priority`の重み順に実装する。これによりpriorityの若い数値で、「特定のipは許可する」という実装になっているため、この数値よりも高い数値のpriorityとして、特定ドメインのblockという定義を行なっているので、前述したruleの方が優先される。

[https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/wa

元記事を表示

Dockerを使用したRailsアプリをAWS(EC2, RDS)からHerokuに移行する

AWSの無料枠が使える期限が差し迫っていること、今後は別アプリに力を入れたいのでAWSにアップしているRailsアプリを停止することにしてHerokuに移行することにしました。

AWSからHerokuに移行している参考になりそうな以下の記事があったのですぐできるかと思ったのですが、数日費やすことになってしまったので備忘録としてのこします(全体の流れとしてはとてもわかりやすいです)。
[【Rails + MySQL】AWS→herokuの移行 – blog.aiandrox](https://blog.aiandrox.com/posts/tech/2021/02/10/)
[HerokuにMySQL+NginxのRailsアプリを移管した – kumamotone’s blog](https://kumamotone.hatenadiary.jp/entry/2020/01/04/161139)
## 動作環境

– MacOS
– Rails(6.0.4.1、gem `dotenv-rails`を使用して環境変数管理)
– Ruby(2.7.3)
– MySQL(5.7系)
– D

元記事を表示

ECSでコンテナ実行メモ その1

## 概要

AWSコンテナ設計・構築[本格]入門をもとに自分でコンテナを動かそうとしてみた手順をまとめていこうかと思います。
動かす対象は以前[こちら](https://qiita.com/dmikita/items/fe262eb2f231fb73ca17)でcloud9上で動かしたコンテナをもとにしています。
タイトルの通りこれで完結ではないので続報ができたらこちらの概要も更新していきます。

## ECRの作成
* まずECRにリポジトリを作成します。以下のようにプライベートリポジトリで作成します。
![InkedECR_1_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657697/5b7dd402-c657-c043-5cf0-51b1fe159bf2.jpeg)
![ECR_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657697/5b1aed82-402b-4c03-a082-afb29f4

元記事を表示

【Chatbot】Channelガードレールとは?AWS Chatbotで新しく出来た権限周りについて調べてみた

# 背景
つい最近、Slackにエラーを通知させようと新規にChatbotを作成しようとしたところ、channelガードレールという設定項目が追加されており、しかも設定必須項目だったのでこれは調べないとなと思いザッと調査。※チャットクライアントはAmazon Chimeではなくslackを想定して書いていきます。(22年1月時点)

スクリーンショット 2022-01-23 15.17.01.png (47.0 kB)

ここで話す、Chatbot権限周りとしての登場人物は以下の3つ
– チャネルIAMロール
– ユーザロール
– channelガードレール

Slackからaws-cliコマンドを用いてChatbot経由で多くのawsリソースに対して操作が可能になった事で追加された権限制御機能と思わ

元記事を表示

【AWS認定クラウドプラクティショナー資格】④ー2 コンピューティングサービス「ELB」

##はじめに

今回は、「Elastic Load Balancing (ELB)」というサービスの概要についてです。

ELBは、AZやEC2に何らかの障害が発生した場合でも、ユーザーからのアクセスを受け付けることができるようにするサービスです。

ELBを使用することで、同じ構成を持ったEC2インスタンスを別々のAZに配置することができます。

そして、ELBは、ユーザーからのリクエストトラフィックをその二つのEC2に分散します。

こうすることで、AZやEC2に障害が発生したとしても、システムを継続させることができるわけです。

![ELB.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2184125/d6971abc-3f2d-a59c-e1fd-ca5eca96f75b.png)

そのELBの特徴についてまとめました。

※[ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』](https://www.amazon.co.jp/gp/product/B07QX45RXM/

元記事を表示

【AWS認定クラウドプラクティショナー資格】⑤ ストレージサービス

##はじめに

今回は、「AWS ストレージサービス」の概要についてです。

####「S3について」
>Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。あらゆる規模や業界のお客様が、Amazon S3 を使用して、データレイク、ウェブサイト、モバイルアプリケーション、バックアップおよび復元、アーカイブ、エンタープライズアプリケーション、IoT デバイス、ビッグデータ分析など、広範なユースケースのデータを容量にかかわらず、保存して保護することができます。Amazon S3 には、特定のビジネス、組織、コンプライアンスの要件を満たすために、データへのアクセスを最適化、整理、設定できる管理機能があります。
-[AWSドキュメント・ユーザーガイドより](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Welcome.html)

####「EBSについて

元記事を表示

AWS クラウドプラティクショナー 流し見用 part1

●AWS Shield
DDoS攻撃からの保護に使用できるAWSリソース
マネージド型の分散サービス妨害(DDoS)に対する保護サービスで、AWSで実行しているアプリケーションを保護する。

●オンプレミスからAWSへの移行時にAWSが推奨しているベストプラクティス
・構成要素を疎結合に構築
・耐障害性を考慮し、構成要素を構築

●フォールトトレラントシステム
構成要素の一部に問題がある際にも、システム全体が期待通りに機能することを保証するシステム

●AWS Lambda
サーバーをプロビジョニングしたり管理する必要なくコードを実行できるコンピューティングサービス

●フェイルオーバールーティングポリシー
Route53のルーティングポリシーの一つ
プライマリリソースとセカンダリリソースへ分けて、プライマリリソースのヘルスチェックに失敗したらセカンダリリソースにアクセスされるようになる

●リージョンとは?
アベイラビリティーゾーンの集合体

●AWSの責任共有モデルについて、公式ドキュメントにおいてユーザーが設定、管理すべき責任として記載されているセキュリティ項目

・セキュリテ

元記事を表示

AWSIoT GreengrassCoreソフトウェアをEC2にインストールする

IoTのサービスを試したいが手元にRaspberry Piがないため、EC2でいろいろ触るための環境を構築したときの自分用メモ

[(参考)AWS IoT GreengrassV2の使用を開始する](https://docs.aws.amazon.com/greengrass/v2/developerguide/getting-started.html)
 ※英語のページを日本語訳した方が読みやすかった
[(参考)最新バージョンのAWS CLI をAmazon Linux 2 にインストールしてみた](https://dev.classmethod.jp/articles/latest-version-awscli-al2/)
[(参考)GreengrassCLIをインストールできません](https://docs.aws.amazon.com/greengrass/v2/developerguide/troubleshooting.html#unable-to-install-greengrass-cli)


# 構成イメージ

# EC2作成
1. 「Amazon Linu

元記事を表示

EBSをデタッチしたときにあせった話

#はじめに
EBSをデタッチして、EC2を停止・起動したらsshログインできなくなって焦った話です。
(EC2のインスタンスステータスチェックも失敗している)
結論から言うと、デタッチする前に/etc/fstabの記述消してねって話です。
/etc/fstabに記述されて自動マウントの設定が入っているのに、EBSをデタッチしてしまって
起動時に、あれ?そんなボリュームなくない?って起動時にエラーになってしまうという…

#追加EBSのアタッチについて
まずEC2に対してルートボリューム以外の追加EBSをアタッチする方法について書きます。
①「Elastic Volume Store」→「ボリューム」→「ボリュームの作成」を選択
![スクリーンショット 2022-01-23 17.43.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/575134/47aef4a1-89fa-77e6-7369-d2154d7735e1.png)

②各パラメータを入力し、「ボリュームの作成」をクリック
※このときの「

元記事を表示

Databricks S3コミットサービス関連の設定

[Configure Databricks S3 commit service\-related settings \| Databricks on AWS](https://docs.databricks.com/administration-guide/cloud-configurations/aws/s3-commit-service.html) [2022/1/20時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

Databricksでは、複数クラスターからAmazon S3への書き込みを調整するコミットサービスを実行しています。このサービスはDatabricksの[コントロールプレーン](https://qiita.com/taka_yayoi/items/7d209bc8d32bc5f2dba4)で実行されています。追加のセキュリティ対策として、[ダイレクトアップロード最適化の無効化](#ダイレクトアップロード最適化の無効化)で説明されいるように、このサービスのダイレ

元記事を表示

AWSの資格勉強法:SAA-C02

#SAAについて
SAAはAWSの資格だとちょうど中間のレベルの資格になります。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2512673/b92e754d-59fa-cea7-4e9f-099d5f64d2f2.png)

私は1回目は不合格(646点)、2回目で合格(746点)できました。
今はAWS SAPにも合格したので振り返り含めてのメモになります。

#推奨されるAWSの知識
・AWS のコンピューティング、ネットワーキング、ストレージ、管理、
 データベースサービスを使用した実務経験
・AWS のテクノロジーを利用したソリューションの技術要件を特定し、定義する能力
・提示された技術要件を満たす AWS のサービスを特定する能力
・適切に設計されたソリューションを AWS で構築するためのベストプラクティスに
 関する理解
・AWS のグローバルインフラストラクチャに関する理解
・従来のサービスに関連する AWS のセキュリティサービスと機能に関する理解

#勉強方法①
Ama

元記事を表示

既存の IPv4 CIDR ルールに 1 つの 参照先のグループ ID を指定することはできません。

# セキュリティグループ設定時にエラーが
セキュリティグループのルールの設定を変更をしようとした際に、以下のエラーが発生しました。
![スクリーンショット 2022-01-23 16.22.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1514023/1ce2f568-5bf7-3da6-89eb-0f3c36d17af8.png)

# 対策
– 右側にある「削除」をクリックし、対象ルールを一度削除する。
– 「ルール追加」をクリックし、新規ルールを追加することで設定をアップデートできます。
![スクリーンショット 2022-01-23 16.36.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1514023/5412f1a0-4ea8-cd11-0606-1a87aebcfb3e.png)

元記事を表示

【AWS】CloudFormationでWebサーバを構築③(RDS編)

#1. はじめに
本投稿は以下の記事の続編となります。
[【AWS】CloudFormationでWebサーバを構築①(NW編)](https://qiita.com/chibiharu/items/ade872ce161f3577aea5)
[【AWS】CloudFormationでWebサーバを構築②(EC2編)](https://qiita.com/chibiharu/items/5d5fbc97f55ea6fa1e31)
本投稿を初めてご覧の方はまずはこちらの記事からお読みになって下さい。

#2. RDS編概要
今回の『【AWS】CloudFormationでWebサーバを構築③(RDS編)』では、Webサービスにおけるデータ管理を目的とするデータベース管理システム、Amazon RDSのテンプレートを作成します。
具体的なサービスとしては以下の通りとなります。

##2.1 「database.yml」で登場するサービス
・Amazon RDS
 ・DBエンジン
 ・サブネットグループ
 ・パラメータグループ
 ・その他[詳細設定]

##2.2 RDS編構成図
RDS編で

元記事を表示

Amazon WorkMail に SMTP リレーをする Postfix サーバーを構築してみた

# はじめに

一般的にメールサーバーを運用するのは重労働です。メールはビジネスコミュニケーションの大事な方法なので、可用性を高く、なおかつセキュリティの担保も必要になります。そういった重労働を軽減するために、Amazon WorkMail を活用できます。

[前回](https://qiita.com/sugimount-a/items/ee3369b43369d525c72e)は、WorkMail の構築をおこなってみました。

今回は、Amazon EC2 インスタンスでPostfix サーバーを新たに構築して、SMTP リレーとして WorkMail を経由しながらメールを送付する方法をご紹介します。

WorkMail 上で既にユーザー `user001@workmail.sugiaws.tokyo` を登録されている環境を利用します。

# 環境情報

– EC2 Instance
– Amazon Linux
– Postfix 2.10.1

# Postfix Install

Amazon Linux 2 の環境では、既に Postfix がインストールさ

元記事を表示

Lightsailインスタンス(EC2)にデプロイしたRailsアプリでCSSの修正が反映されない

## 困っていたこと
Railsでガチでフランス語のアプリを個人開発しています。:fr:
(フランス語やってる方がいたら、覗いてみてください https://minnfra.com/ )

CSSの修正が反映されなくて困っていました。
デプロイした時は、CSSもJSもきちんと反映されていたのですが、それ以降に修正を行って、インスタンスでGithubリポジトリをpullして`rails assets:precompile RAILS_ENV=production`を実行しても下記のようにエラーになり変更が反映されないという状態でした。

“`
[ec2-user@… REPOSITORY]$ rails assets:precompile RAILS_ENV=production
yarn install v1.22.17
[1/4] Resolving packages…
success Already up-to-date.
Done in 1.26s.
rails aborted!
NoMethodError: undefined method `+’ for nil:N

元記事を表示

Lamda作成テンプレートCloudFormation

# はじめに

他のAWSサービスに対して自動操作ができるかなど、試しにLambdaを作ってみる際に、都度IAMロールやログの管理を考慮するのが面倒と感じていました。
なので、必要最小限のリソースをCloudFormationで作ることで、削除時にまとめて消せるようにしました。

# CloudFormation

各部分の解説をし、全体は最後に記載します。

## パラメータ
“`
Parameters:
LambdaFunctionName:
Type: String
“`
`Type: AWS::Lambda::Function`ではFunctionNameは任意ですが、本番使用の関数作成時も想定して、名前を付けられるようにしました。

## ロググループ
対象のLambda関数の出力先ロググループを作成します。

“`
FunctionLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Sub “/aws/lambda/${LambdaFunctionN

元記事を表示

OTHERカテゴリの最新記事