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

AWS関連のことを調べてみた2022年02月18日
目次

AWS CodeCommitへのプルリクエストでCodePipelineを起動させてみた

### はじめに
CodeCommitへのpushイベントはCodePipelineがいい感じにトリガー作ってくれるのですが、プルリクエストでも起動させてレビュー前に静的解析ツールなど実行できないかと思い調べてみました。

### 環境

■操作環境
EC2(Amazon Linux)

■使用サービス
・CodePipeline(CodeCommit,CodeBuild)
  CodeCommitからソースを取得して、コンテナを起動しLarastanを実行します。

・EventBridge
  プルリクエスト作成を検知してLambdaを実行させます。

・Lambda
  CodePipelineに設定されているブランチをプルリクエスト元ブランチに変更してCodePipelineを実行させます。

・ECR
  CodePipelineで使用するコンテナイメージを保存します。

### 本記事でやったこと

CodeCommitに保存したLaravelのソースへのプルリクエストをトリガーに、CodePipelineを起動してコンテナ立ち上げてプルリクエスト元のブラン

元記事を表示

AWSソリューションアーキテクトアソシエイト合格体験記

# はじめに
どうも。自称へっぽこSE見習いです。4年前からずっと見習いです。いつになれば昇格できるのか。
先日、世間はクリスマスでわいわいがやがややっていた12月25日に、AWSソリューションアーキテクトアソシエイトを受験し合格したので、体験記として初記事投稿します。
(※今記事は1月頭に作成しています:innocent:)

# ワイのスペック
電気系の学校出身、プログラミングはif文とfor文がわかるくらい。
直近4年間、毎日めきめき内製Railsアプリの秘伝のソースをこねくり回している。
3年前、社内オンプレサーバーをAWSに移行するプロジェクトに参加する。
Ubuntu1台、Windowsサーバー1台、データベースサーバー1台。
このとき、VPC、EC2、RDSあたりを触ったぐらい。ちなみに情報系出身ではないので、IPアドレス、ciderなど初歩の初歩で苦戦。
なんとか移行完了するも、環境構築が終わればあとはほとんど触ることがないので、どんどん薄れていくAWSの知識。
その後、Ruby Silverと基本情報を取得。
現在に至る。

試験勉強する前に、VPC作って、サブネット

元記事を表示

海賊版サイト問題で”CDN事業者” が提訴されたので技術的にCDNを考える

# はじめに

出版物の海賊版をネット上で公開したとして逮捕された”漫画村”の事件はみなさん記憶に新しいかと思います。
昨今、ネット上で動画や音楽などさまざまなものを楽しめる時代です。出版物のサブスクというのもくるのではないかといわれています。

以下”海賊版”のWikipediaより一文引用します。

>海賊版(かいぞくばん)は、法律上の権利を無視して諸権利を有しない者により権利者に無断で発売または流通される非合法商品である。

権利の生じているものを無断でネット上に公開することは確かに問題だと思います。

ただ、この問題はここで止まりませんでした。
まずは以下の記事を読んでみて欲しいです。(無料公開部分だけでも良いかと思います。)

https://www.asahi.com/articles/ASQ2J4FDJQ2BUTIL068.html

“小学館、集英社、講談社、KADOKAWAの大手出版4社”がCDN事業者を提訴するに至りました。今回、この問題を技術的に考えてみたいです。

# モチベーション
背景として、私はインターン生時代にCDNを使って某コンテンツを配信しておりま

元記事を表示

【AWS】Reachability Analyzerを使ってみた

## 概要
AWS内のエンドポイントやVPC間での接続性診断ツールである Reachability Analyzer を使って実際に接続テストを行ってみます。

## 使ってみた
今回接続性テストに使用するのは、以前作成したピアリング接続された2つのVPCです。
ルートテーブル、セキュリティグループは設定済みでICMP及びssh接続が可能な状態となっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519209/65488dda-cb70-d91c-66bc-4b26ef7cd67a.png)

### パスの作成
VPC画面の左メニューから、 Reachability Analyzer を選択し、「パスの作成と分析」をクリック。
![top.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519209/c057d92d-9a1e-0dc3-2fc6-74b8f1bed8f3.png)

各種必

元記事を表示

IAMのスイッチロールを設定してみる

#初めに
AWSを勉強していて、スイッチロールという概念が出てきました。
詳しく調べてみると、複数アカウントで作業をしている際にアカウントの切り替えを楽にしてくれる仕組みとのこと。
いまいちピンとこなかったので、実際に設定してみて理解しようと思います。

#やりたいこと
・スイッチロールを設定し、**Account01**から**Account02**に切り替えを行う。

#設定
実際に設定を行ってみます。

###①Account02側の設定(IAMロールの用意)
Account02にログインし、IAMのコンソールから、[ロール] > [ロールの作成]をクリックします。
そして、信頼されたエンティティタイプで[AWSアカウント]を選択し、ロールを使用できるアカウントの識別子の入力欄にAccount01のアカウントID(12桁)を入力して[次へ]をクリックします。
![WS000004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689573/6d9e8c9d-3ffc-d590-5387-35de0

元記事を表示

AWS 認定 高度なネットワーキング – 専門知識(AWS Certified Advanced Networking – Specialty)に合格したので勉強方法を書いておく

AWS 認定 高度なネットワーキング – 専門知識(AWS Certified Advanced Networking – Specialty)に合格したので、勉強方法を備忘として書いておきます。参考になれば幸いです。

職業:現在インフラエンジニア6年目でAWSをメインに設計構築をするようになって、2年くらい。
最近はもっぱらオンプレミスからAWSへの移行などのコンサルをやることが多いです。
AWSをやる前は、VMwareやWindows、Linuxなどいろいろやってましたが、
今では、AWSが得意!と言えるくらいになってます。

他のAWS関連の資格:
 ソリューションアーキテクトアソシエイト(SAA)(2018年取得)
 SysOpsアドミニストレータアソシエイト(SOA)(2019年取得)
 ソリューションアーキテクトプロフェッショナル(SAP)(2020年取得)
 セキュリティ – 専門知識(SCS)(2021年取得)
 デベロッパーアソシエイト(DVA)(2021年取得)
 クラウドプラクティショナー(CLF)(2021年取得)
 DevOpsプロフェッショナル (DOP)

元記事を表示

アイデンティティベースポリシー について

## 勉強前イメージ

人観点でのIAM?

## 調査

### アイデンティティベースポリシー

誰がどのリソースに対してどんなアクションを実行できるか を指定できます。
[こちら](https://qiita.com/miyuki_samitani/items/74c34ab5e98e2cd7e713) で設定しているのは
アイデンティティベースポリシーになります。

### リソースベースポリシー

アイデンティティベースポリシーに対して リソースベースポリシーというのもあります。
これは、 このリソースは誰がどんなアクションが実行できるか というのを指定できます。
だれがアクションを実行できるかのポリシーを作って、リソースにアタッチします。

### 違い

アイデンティティベースポリシーとリソースベースポリシーにいろいろ違いがあるので、確認していきます。

#### ポリシーを何に紐付けるか

– アイデンティティベース
– グループ
– ロール
– ユーザ

– リソースベースポリシー
– サービス
– s3,SQS等一部

#### アクセスの許可を何に付与

元記事を表示

API Gateway+LambdaでJSONを受け取る

#API GatewayでHTTP APIを使ってみた
API Gateway(HTTP API)は低レイテンシー、低コストということで使ってみた。
Lambda(Python)でJSONデータを受け取る場合に REST API と HTTP API で取り出し方が違うのでメモする。

“`
#JSONデータ
{
“operation”: “PUT”,
“data”: {
“temp”:”28.0″,
“humid”:”41.2″
}
}
“`

##HTTP APIの場合
“`
$ curl -v -H “Accept: application/json” -H “Content-type: application/json” -X POST -d ‘{“operation”: “PUT”, “data”: {“temp”:”28.0″,”humid”:”41.2″}}’ https://{API ID}.execute-api.{リージョン}.amazonaws.com/{リソースパス}
“`
“`
# Lambda

元記事を表示

React で AWS Cognito を使う

こちらの記事と同じことを、行ってみました。
[Amplify を使わず React で AWS Cognito 認証を使う](https://mseeeen.msen.jp/react-auth-with-ready-made-cognito/)

確認した環境

“`text
$ uname -a
Linux iwata 5.13.0-27-generic #29-Ubuntu SMP Wed Jan 12 17:36:47 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

$ node –version
v17.5.0

$ npm –version
8.4.1
“`

ソースコードをクローン

“`bash
git clone https://github.com/kenzauros/react-auth-with-cognito
“`

.env.local の作成

“`bash
cd react-auth-with-cognito
cp .env.local.example .env.local
“`

編集します。

“`

元記事を表示

【Next.js x Amplify】リダイレクト設定が面倒なので一括で出力するシェルスクリプトを書きました【書き換えて、リダイレクト】

## Amplify Hosting の Next.js の Dynamic Routes の設定が面倒

何も考えずにURLに直接アクセスするとうまくページを表示できない。
なんてことは、おそらくタイトルの構成でホスティングされると経験されるかと思います。
それの対応策は以下のリンクが非常にわかりやすいので、こちらで対応すればサクッと対応できます。

https://zenn.dev/nus3/articles/e3da1bdb3ef302962f07

簡潔に言えば、Amplifyの「書き換えて、リダイレクト」画面で適切な設定をすれば対応ができます。

しかし私にとっての問題は設定の可否ではなく、**設定の煩わしさ**です。

私はバックエンドエンジニアなのであまりNext.jsに明るく無いのですが、AWSをよく触るのでこの辺りの設定担当になっています。
把握していないファイル構成を洗い出し、一つ一つぽちぽちするのが結構面倒なんです。

![書き換えて、リダイレクト 設定画面](https://qiita-image-store.s3.ap-northeast-1.amazonaw

元記事を表示

AWS StepFunctionsを使って CodeCommitでプルリク時にそのブランチ名を自動的に既存のCodeBuildの対象ブランチにしてテスト実行する。

# 動機

CodePipelineを使ってCodeCommitにpush時にCodeBuildでテストを実行できるようにはしたけれど、プルリクしてきたそのソースに対してマージ前にテストを行なってテストが通ったものをレビューしてマージしたいという思いがありました。

ビルドプロジェクトのソースを都度手で修正して行うのは実行自体は簡単ですが、ブランチ戦略によりプルリク元のブランチ名が様々である場合手動で行うとその手間が多く無駄であるということから自動で既存のビルドプロジェクトの対象ブランチをプルリクをフックにそのブランチ名を使って更新できないかということを調べていていました。

lambdaによる実現の情報はあったのですが、もっとeasyに実現できないかと他の方法も考えたときに「そういえばStep Functionsというのがあったな、、、」ということから実際に行ってみました。

タイトルには「ブランチ名を」と書きましたが、同じ考えでコミットIDを指定することもできます。(そちらの方がビルドプロジェクトの実行完了は早いようです。)

## ユースケース

– コードレビュ

元記事を表示

djangoアプリをAWSでデプロイする時にハマったこと

djangoアプリをAWSでデプロイする時にハマったことを個人用にメモ。

【参考】
https://qiita.com/Bashi50/items/d5bc47eeb9668304aaa2
https://qiita.com/Bashi50/items/db0b6b3343d51e0fc598
https://zenn.dev/ryo_t/articles/71e4ee16d76274

【メモ】
■gunicornを起動してもソケットファイルが作成されなかった。
 原因⓵:ソケットファイルを作成するフォルダに書き込み権限を付与していなかった。
 原因⓶:「gunicorn.service」に誤字があった。
 原因③:wsgyファイルがあるアプリフォルダ名とプロジェクトフォルダ名を違う名称にしていたため、wsgyファイルパスが間違っていた。
 原因④:「Procfile」ファイルを配置していた。

■Postリクエストする時に403エラーが発生する。
 原因:自分のブラウザ設定でcookieをブロックしていた。

元記事を表示

AWS Certified Solutions Architect Associateの試験対策

AWS Certified Solutions Architect Associateの認定試験を受ける後輩社員向けに話す内容をまとめます。実際には、記載内容に留まらず、テクノロジーの基礎知識やAWSの用語や技術について、分からない部分の質疑応答の時間を設けて進めます。

## はじめに

試験対策をおこなう前に、試験されるのはエンジニアとしての知識ではなく、AWSのリセラーとしての知識であると認識するべきです。この試験では、エンジニアとしてAWSのテクノロジーに精通しているかどうかではなく、AWSのリセラーとして主要なサービスの特徴やよくある適用事例をカスタマーへ説明できるかどうかを試されます。

従って、試験対策として押さえるべきは、AWSの各サービスの特徴とよくある適用事例です。更に言えば、リセラーとしてAWSが現時点で特に訴求したいサービスをより深く押さえる必要があります。AWSの各サービスを理解するため、各サービスを支えるテクノロジーの基礎知識は必要ですが、各テクノロジー分野のスペシャリストである必要はありません。

テクノロジーの基礎知識は、基本情報技術者試験レベルの用語や

元記事を表示

【AWS】【Salesforce】CTIフローのCTI Actionでオペレータが見ている画面を転送する

#1.概要
どうも、ARIの名古屋支社に勤務している愛知県民です♪
(/・ω・)/

**CTI Adapterの機能の一つであるCTIフローを使用して、
オペレータが見ている画面を転送することができたので、その方法をまとめました。**
(今のところ、1画面のみの転送となります。)

CTIフローについて勉強中の方の参考になれば幸いです。

最後に、この記事が面白いと思った方はLGTM、ストックしていただけると励みになります♪
(*^^)v

#2.はじめに
#2.1.CTI Adapterとは
AmazonConnectとSalesforceを連携させる際に使用するクラウドサービスのことです。
(厳密にはAWSのサービスです。)

CTI Adapterを使用することで、Salesforceのコンソールからソフトフォンを開いたり、
着信時にSalesforceの取引先責任者をポップアップしたりすることができます。

#2.2.CTIフローとは
CTIフローとはCTI Adapterの機能の1つで、
ボタンのクリックや着信をトリガーとして特定のレコードを作成したり、
ポップアップを表示

元記事を表示

【サーバレス】静的ウェブサイトの問い合わせフォーム送信できる仕組み

## 初めに
今回は静的ウェブサイトの問い合わせフォームを実装し、送信を押すことでメールに転送するという形になります。使ったものは何なのか、どういうものか、どいう原理で実装できたかをメモするという意味で記事を作成しました。具体的なやり最後の参考リンクを見てください。

## 必要なもの
必要なものは以下になります。

### 1.ウェブサイト
問い合わせフォームがある静的サイト

### 2.Amazon S3
オブジェクトストレージサービスの一種であり、データ容量を気にすることなく保存することができます。静的サイトをこのストレージに入れることで設定を変更すると、サイト公開できます。

### 3.Amazon API Gateway
★API:大雑把に言うとアプリケーションが呼び出せば予期した結果を返されるような仕組みである

Amazon API Gatewayは、規模にかかわらず、簡単にAPIの作成と保護、そして公開、モニタリングが可能なフルマネージドサービスである。REST API、HTTP API、WebSocket APIがありる。

今回はREST APIを使う。REST

元記事を表示

AWS 5冠達成後にクラウドプラクティショナーを受けてみた

こんにちは。パエリアです。

今回はAWS 5冠取得した後、Specialty取得前にクラウドプラクティショナーを受けてきましたので、そのレビューをしていきたいと思います。

AWSを勉強し始めて、これから資格取得を考えている人や、上位資格を持っているし、今更クラウドプラクティショナーを受けるのもなーと考えている人の参考になればと思います。

## まずは簡単に試験の概要
https://aws.amazon.com/jp/certification/certified-cloud-practitioner/

AWS クラウドプラクティショナーを受験する方として下記のような方を対象としています。

* AWS クラウドに 6 ヶ月間触れている
* IT サービスのベーシックな知識と、AWS クラウドプラットフォームにおけるそれらのサービスの使用に関するベーシックな知識がある
* AWS のコアサービスとユースケース、課金、料金モデル、セキュリティコンセプト、クラウドがビジネスに与える影響についての知識がある

試験内容としては実務経験がまったく無くてもしっかり勉強すればそれほど難しく

元記事を表示

Amazon Managed Streaming for Apache Kafka(MSK) 概要

# 背景・目的
– Amazon Managed Streaming for Apache Kafka(以降、MSKという。)をさわる機会があったので整理する。

# 内容
## 特徴
– フルマネージドの Apache Kafka。以下の機能を有する。
– サーバーのプロビジョニング
– Apache Kafka クラスターの設定
– 障害時のサーバーの交換
– サーバーのパッチとアップグレードのオーケストレート
– 高可用性のためのクラスターの構築
– データの永続的な保存とセキュリティの確保
– モニタリングとアラームの設定
– 負荷変動をサポートするためのスケーリングの実行

– オープンソースで安全性の高い Apache Kafka クラスターを複数のアベイラビリティーゾーン (AZ) に分散して提供し、耐障害性と可用性の高いストリーミングストレージを実現する。
– 他のAWSのサービスとの緊密な統合により、アプリケーション開発がよりシンプルになる。
– セキュリティのためのIAMおよび、AWS Certific

元記事を表示

Cloud Watch Alermの設定周りがよくわからなかったのでまとめる(Terraform)

# 悩み

結局なにをどう設定すれば意図したタイミングでアラートが飛ぶの??

を整理したい。

# やってみよう

terraformの公式の[サンプル](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm)をベースにアレンジしながら解説。

“`go
resource “aws_cloudwatch_metric_alarm” “foobar” {
alarm_name = “terraform-test-foobar5”
comparison_operator = “GreaterThanOrEqualToThreshold”
evaluation_periods = “2”
metric_name = “CPUUtilization”
namespace = “AWS/ECS”
period

元記事を表示

【2022年2月版】4週間でAWSクラウドプラクティショナーに合格した勉強方法

先日AWSクラウドプラクティショナーを受験し合格したので学習方法や受験した感想を書こうと思います。

#背景

私は新卒入社して10ヶ月目の正社員エンジニアとして働いています。
今回、会社の研修を通してAWSを学習することになり、1日5時間程AWSの学習をしました。
学習時の実力としては、EC2やS3の名前は聞いたことがある程度で特にAWSを業務でガッツリ扱った経験はこれまでありませんでした

#使用した教材

・ [図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書](https://www.amazon.co.jp/%E5%9B%B3%E8%A7%A3%E5%8D%B3%E6%88%A6%E5%8A%9B-Amazon-Web-Services%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF%E3%81%A8%E6%8A%80%E8%A1%93%E3%81%8C%E3%81%93%E3%82%8C1%E5%86%8A%E3%81%A7%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E

元記事を表示

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

●AWS Directory Serviceの特徴
AWS Managed Microsoft Active Directoryとも呼ばれるAWS Directory Service for Microsoft Active Directory はディレクトリ対応ワークロードとAWSリソースが、AWSクラウド内のマネージド型Active Directoryを使用することを可能にする
・Simple Active Directoryを利用し、AWSに新規ディレクトリを構築する
・Microsoft Active DirectoryをAWSに構築する
・Active Directory Connectorにより既存のActive Directoryと連携する

●Amazon Elastic Transcoder
Amazon Elastic Transcoderはクラウドのメディア変換サービス
高度なスケーラビリティ、使いやすさ、高い費用効率性を実現する設計で、開発者や企業は、メディアファイルを変換元のソース形式からスマートフォン、タブレット、PCなどのデバイスで再生可能できるバージョン

元記事を表示

OTHERカテゴリの最新記事