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

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

Ansibleの個人的メモ (Terraform + Ansible)

# IaCツールの使い分け
ひとくちにIaCツールといっても、得意分野が異なるので
– プロビジョニングツール
– 構成管理ツール

### プロビジョニングツール
ネットワーク作成やサーバー配置などの***インフラの大まかな区分***の作成・変更が得意。

プロビジョニングツールの例
– CloudFormation
– Terraform

### 構成管理ツール
ミドルウェアのインストールやLinuxサーバの設定などの***インフラの細かな設定***の作成・変更が得意。

構成管理ツールの例
– Chef
– Ansible

(仮公開。後ほど追記)

元記事を表示

あるあるアプリサーバーの各種タイムアウト値まとめ

## 概要

実務でよく使う AWS のサービスや、サーバーアプリケーションについて、タイムアウトの時間を整理したので、備忘メモ。

## 構成

![timeout_infra構成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529884/9c92a176-3d41-66a4-4ea2-1be3bc9a7d79.jpeg)

## シーケンス図

[![alt](http://www.plantuml.com/plantuml/png/bP9FQp8n48Vl-oboV8NNBr2A-0TQ2jA2BVIW8Z4xgy4usIRPgj–ayJiciKUUjemloUJ9zaPMyUDQuwggEahXQmvEZPJ4kZ3BHDXrGjrKpuPVGMgB9pKjPA2EwbnhdavvOgZ0ED9hhOP-hgJUFO1-aKMDP_lpoy-Qavs9nah2dOrOSFHYCvyOFyMyDM0TGCVLQ5C1-HrBfpyvWx2qOoXfgM2oZ5THNZPtMNzPYHvB82N

元記事を表示

Programatic Terraform(新: 実践Terraform)を読んでみた

## 概要

インフラの勉強がてら、[Programatic Terraform on AWS](https://booth.pm/ja/items/1318735)を読んでみたので、感想やエラーの対処などをまとめておこうと思います。

「Terraform 入門」とかで調べるとこちらの書籍の評判がものすごく良いことがわかります。

ただ、「実践Terraform」という商業誌版があったんですね…!?

[実践Terraform](https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Terraform-AWS%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%A8%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82

元記事を表示

【無料利用枠】AWSでWordPressブログをつくろう Part.2 独自ドメイン設定~SSL化編

# はじめに
前回はEC2インスタンスを作成するところまで実施しました。

https://qiita.com/pike3/items/0c4f194a1ad51cc15da3

今回は作成したインスタンスに独自ドメインの紐付けとSSL化の設定をしていきます。

# 概要
独自ドメインの紐付けにはDNSサービスを利用する必要があります。
AWSにもRoute53というDNSサービスがあるのですが、こちらを利用した場合、月に50円程かかるので今回は利用しません。
その代わり、Cloudflareというサービスを利用します。

今回は下記の設定を行っていきます。

* Cloudflareの登録
* 独自ドメインとEC2インスタンスの紐付け
* WordPressのSSL化

# Cloudflareの登録
Cloudflareを利用するには会員登録が必要なので、まずはそこからやっていきます。

https://www.cloudflare.com/ja-jp/

「サインアップ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-

元記事を表示

SageMaker初心者必見!AWS認定試験(機械学習)に合格するために絶対に覚えるべきこと

# はじめに

先日、AWS認定 機械学習 – 専門知識 (AWS Certified Machine Learning – Specialty) に合格し、**AWS認定試験をすべて制覇することができました。11冠達成!**

この試験で特に重要なのがAWSの機械学習サービスである **「Amazon SageMaker」** です。

**しかし、一口に「SageMaker」といっても「SageMaker ****」といった関連サービスがとても多い。**
もちろん、機能が多いのはありがたいことなのですが、初心者にとっては覚えるのが大変なので、試験の復習も兼ねて、まとめてみました。

# SageMaker サービス体系

![SageMaker.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2443303/43b656db-802a-52fd-668b-cdcab0c3f9f2.png)

**注意事項**

* AWS re:Invent 2021 (2021/11/29 – 2021/12/0

元記事を表示

AWS MWAA (Amazon Managed Workflows for Apache Airflow) にてSecrets Managerに配置した環境変数を参照する

# はじめに
MWAA内部で使用する秘匿したい環境変数は、Secrets Managerに配置して管理すると安全に利用することができます。
今回はその配置・参照の方法についてまとめていきます。

以下の記事でGCPなど別リソースへの`接続情報`の配置について同様の方法でまとめてあるので、必要であればこちらも確認してみてください。

https://qiita.com/Hisaaki-Kato/items/aec0e110164cfde55ead

※ MWAAで使用するAirflowのバージョンは2.2.2である前提で進めます。

# やってみる
今回は、以下の手順で進めて行きます。

1. MWAAを作成するCloudFormationテンプレートにSecrets Managerを環境変数として参照する設定追記
1. Secrets Managerに秘匿情報を格納
1. 実際に参照する
1. json形式で1つのシークレットに対して複数の環境変数を参照する
1. jinjaテンプレート形式での展開

### MWAAを作成するCloudFormationテンプレートにSecrets

元記事を表示

AWSとストレージサービスS3について

はじめに

「AWS」という言葉を見聞きしない日はない。
エンジニアの方々は「AWSにより大きな変化がもたらされた」と言う。
これはもう、「AWSの特徴を自分の言葉で説明する力が必要だ!」と思い、今回の記事のテーマに選びました。

「今ごろAWS解説かよっ」「初学者乙」と呆れられそうですが、小さな一歩から進んでいきたい。変化を恐れちゃいけない。進み続けなければならない。エンジニアとして、自分の夢を叶えたい。・・・・つべこべ言わず始めます笑。

AWSが革命と言われる所以は?

 クラウドが誕生する以前、企業は自社でサーバーを購入して用意していた。(オンプレミス環境)

 しかし、このオンプレミス環境では、時期によってサーバーにかかる負荷が違うため、無駄が多い。
業界によって、企業によって、サーバーへの負担が大きくなる時期とそうでない時期が来る。
リソースを拡大したり縮小したりと、時期や環境に大きく振り回され、毎回頭を悩ませるなんて無駄が多い。

 この問題を解決できるのがクラウドサービス❗️
そして、その革命であるのがAWS。

 AWSは、`「使った分だけ支払う」という従量課金制

元記事を表示

Amazon Connectで、オペレーターが着信履歴からユーザー情報を確認する方法

# はじめに
電話をかけると、オペレーターに繋げるConnectシステム構築した際、オペレーターが電話に出られず、発信者が電話を切る場合があります。
その場合、オペレーターが折り返しの電話をする必要があり、かつ発信者の名前を知る必要がありました。

Connectのシステムは、事前に電話番号と名前をDynamoDBに登録したユーザーのみが使用できる仕様です。
そのため、`オペレーターが着信履歴からユーザー名などを確認できる仕組みを構築`しましたので、まとめます。

# 事前構築
下記のサービス構築を行いました。
DynamoDBでは、パーティションキーを`電話番号(user_phone)`にし、`family_name`と`given_name`を属性として加えます。
connectに発信すると、発信電話番号をLambdaが受け取り、Lambdaが発信電話番号から`電話番号(user_phone)`に一致する項目を取得し、`family_name`と`given_name`を返すようにします。

その後、オペレータにつなげる、というお問い合わせフローを作成します。
![スクリーンショッ

元記事を表示

AWS未経験者のAWS SCS合格体験記

先日SCS試験を受けて合格したので、合格する方法をシェアします。
こんな人が合格したなら私でも出来るじゃんと思って頂きたいです。
何故なら、AWS SCSの合格体験記は、既にSAPを取得していたり、AWS業務を数年経験している人しかおらず私のようなスキルセットの人は居ませんでした。

私の経歴は
高卒(農業高校)
運用保守経験のみ(1年ちょっと)
AWSサービスはスクールで少しさわった程度
AWS CCP,AWS SAAを取得

SCSの目的はSAPの問題を解いた時に、まず問題文が理解出来ない、そして答えも見ても理解出来なかったので、SCSに逃げてきました。
SAPの項目にセキュリティあるし。。(笑)

取得経緯はさておき本題です。SCS合格するには下記の手順で進めていけば合格出来ます。
期間は1ヵ月ほどで合格出来ました。

  1. 参考書を、読破する
  2. AWS Cognitoを使って認証済みユーザーしか実行できないAPIを作成する

    # 背景
    ログインしたユーザーだけ実行可能なAPIを作って公開したので、その手順を記載する。
    AWS Cognito, API Gateway, Lambdaを使って実現し、S3で公開する。

    # 作るもの
    – ユーザー目線
    – ユーザーはウェブサイトにアクセスし、サインアップとログインする
    – ログインすると、API呼び出しができるようになる
    – システム構成
    – S3の静的ウェブサイトホスティング機能でウェブサイトを公開する
    – Cognitoでユーザー管理、認証、認可を行う
    – API GatewayでCORS設定とユーザー認証、認可を行い、Lambdaを呼び出す
    – Lambdaがなにか処理をする
    – API Gatewayがレスポンスを返す

    # Cognitoでユーザー管理
    ### ユーザープールの作成
    Cognitoにアクセスして、ユーザープールを新規作成。今回はGoogleアカウント連携などはせず、Cognito自身でユーザー管理する。
    ![ap-northeast-1.console.aws.amazon.c

元記事を表示

DockerでDatadogAgentを動かしているときに IMDSv2 に対応させる

“`yaml
dd-agent:
container_name: dd-agent
image: datadog/agent:7.33.1
environment:
– DD_API_KEY=${DD_API_KEY}
– DD_TAGS=hogehoge
– DD_EC2_PREFER_IMDSV2=true # これを追加してコンテナ再起動
volumes:
– /var/run/docker.sock:/var/run/docker.sock:ro
– /proc/:/host/proc/:ro
– /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
“`

## なんでこんなことを書いているのか

https://github.com/DataDog/datadog-agent/blob/main/pkg/config/config_template.yaml

通常のagentの場合は datadog.yaml に `ec2_prefe

元記事を表示

AWS認定クラウドプラクティショナー 試験後の振り返りメモ

# 記事の目的
2022年3月13日にAWS認定クラウドプラクティショナーに合格したので、
反省も兼ねて記事にまとめました。
この記事では、学習方法や失敗などを紹介させていただきます。
(1回目は失敗、2回目の挑戦で合格しました。)
# AWS認定クラウドプラクティショナーとは?
AWS認定資格の中でも基本的な内容を対象にした認定資格になります。
出題傾向は広く・浅い印象です。

https://aws.amazon.com/jp/certification/certified-cloud-practitioner/

> この資格は、組織がクラウドイニシアチブを実装するための重要な知識を持つ人材を特定して育成するのに役立ちます。AWS Certified Cloud Practitioner を取得することで、クラウドへの理解と基礎的な AWS の知識が認定されます。
# 教材
## 問題集

https://www.udemy.com/course/aws-4260/

## 参考書

https://www.udemy.com/course/ok-aws-e/

https://

元記事を表示

ENI が削除できないときに見るところ (VPC起動のLambdaの古いバージョンが残っていませんか?)

ENIのDescriptionにLambdaで作られたと書いてあるので、Lambaを対象のVPCから外してみたけど、ENIが消せいないということがあります。
そういう場合はLambdaの古いバージョンが残っているのが原因であることがあります。

**Lambdaの古いバージョンを削除してみましょう。**

ENIはすぐには消えず、削除もできないですが、しばらくほっておくと消えます。

## なんでこんなこと書いているか

不要になったセキュリティグループがあったので消そうと思ったら利用しているENIがあるから消せないとのメッセージが…
対象のENIを消そうとしたらこれまた利用しているというので削除できませんでした。デタッチも強制デタッチもできませんでした。

ENIのDescriptionをみるとLambdaから作成されたようだったので、対象のLambdaの構成変更をしてVPCから外したのですが、やはりENIは削除できません。デタッチもできません。

同じような記事をググってみたのですが、なさそうだったので。

元記事を表示

Amazon SageMaker Studioのアーキテクチャ

# 初めに
これまで、SageMakerノートブックインスタンスを使うことが多かったのですが、「SageMaker Studioを利用すればSageMakerが提供するほぼ全ての機能をGUI上で実現でき、生産性が高まりそう!」と考え、SageMaker Studioを触り始めました。
少し使ってみて確かに便利だなとは思ったのですが、どのような仕組みになっており、何にどのように課金されるのかいまいちよくわからず、アーキテクチャをちゃんと理解して安心安全に使いたいなと思い、アーキテクチャについて調べてみました。
[公式の開発者ドキュメント](https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/notebooks.html)よりも、以下の記事が参考になったので、この内容をもとに整理しようと思います。
https://aws.amazon.com/jp/blogs/machine-learning/dive-deep-into-amazon-sagemaker-studio-notebook-architecture/

※本投稿内の各画

元記事を表示

AWS認定資格11冠の勉強方法と振り返り

# 内容
約1年位でAWS認定資格全種類(11冠)を取得しました。
勉強方法や振り返り(全冠してみての感想など)を記載します。
資格の種類は[AWS認定(AWS公式)](https://aws.amazon.com/jp/certification/)を参照下さい。
当初は全冠を目標としていなかったため、取得順番は一般的な順番ではありません。

![AWS_cert1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/6b0ed7f2-33d9-95b3-0ec1-37046673d4c4.png)

# 取得履歴

|種類|略称|取得日|必要スコア|取得スコア|結果|
|:—:|:—:|:—:|:–:|:–:|:–:|
|Solutions Architect – Associate|SAA|2021/04/23|720|743|合格|
|Solutions Architect – Professional|SAP|2021/07/10|750|887|合格|
|Dev

元記事を表示

Lexの環境ごとのエイリアス設定

# はじめに
LexとConnectでシステムを開発した際、Lexの本番環境と開発環境のエイリアス設定を調べましたので、まとめます
また、環境ごとのLexに合わせたLambdaも関連付けます。

# 事前構築
– LexとConnect、Lambdaを構築済み

# Lexの開発環境
## Lex
Lexを作成時に設定されている`ドラフトバージョン`を`エイリアス:TestBotAlias`に関連付けましょう。
おそらく、デフォルトで関連付けられていると思います。
![スクリーンショット 2022-03-13 18.55.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/0602fefd-df33-523f-38f0-1d34bdf11af2.png)

![スクリーンショット 2022-03-13 18.55.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/c99e158f-2cae

元記事を表示

AWS Hands-on for Beginners 〜 スケーラブルウェブサイト構築編 〜

## はじめに
AWS Certified SysOps Administrator – Associateの試験ラボを乗り切るために、勉強していることをなんとなくメモっていきます。
 **基本的にハンズオンの内容は説明せずに気になった部分だけをメモ代わりに残していきます。**

行うこと
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
〜〜スケーラブルウェブサイト構築編〜〜

本人情報
IT現場雑用員(SEで採用されながら一生Excel触ってる人)
半年前にAWS SAA取得済み

## 構築するアーキテクチャ
![Untitled Diagram.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2512706/73322350-e4d4-0f7f-7ca6-6b3cbc7ff46c.png)

EC2インスタンスの負荷分散やRDSのマルチAZ構成などを通して冗長構成などを行い

元記事を表示

CodePipelineとは??

# まず始めに
この記事はCodepipelineについての自分なりの理解をまとめたものです。
間違いなどあればご指摘お願い致します。

# Codepipelineとは?
[公式](https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/welcome.html)には以下の説明がされていました。
>AWS CodePipeline は、ソフトウェアをリリースするために必要なステップのモデル化、視覚化、および自動化に使用できる継続的な配信サービスです。ソフトウェアリリースプロセスのさまざまなステージをすばやくモデル化して設定できます。CodePipeline はソフトウェアの変更を継続的にリリースするために必要なステップを自動化します。

簡単にまとめると書いたソースコードを自動でビルド、またはデプロイ、テストしてくれるサービスの一つです。
一連の流れを**パイプライン**といい、ソースコードに対する処理を**アクション**といいます。
各アクションを行う部分を**ステージ**といい、そのステージは大きく分けて**

元記事を表示

terraform で静的ファイル配信サーバーのインフラをコピペできる状態にする

## 背景
– 個人開発アプリを作る時に、LP等の用途で静的ファイルを単純に保存・配信するだけのサーバーが必要になることが多い。
– 毎回 AWS Management Console から同じ手順で作っていたが、環境ごとに設定したりするので地味に面倒くさい
– terraform で「コードをコピペするだけで S3, CloudFront, ACM, Route53 周りの設定を完了できる」ような状態にしたい
– [相手の本棚を覗けるマッチングサービス「MatchLab」](https://match-lab.com)の LP を terraform で管理できるようにしてみた。

## 目次
– terraform とは
– 使い方
– 既存のインフラを terraform 管理に移行する
– GitLab CI/CD で変更を検知して自動化

## terraform とは
– https://www.terraform.io
– AWS 等のインフラの設定を宣言的に書いておくことで、コードに応じてリソースを新規作成したり設定変更したり良い感じに管理してくれるIaCツール
– コ

元記事を表示

S3内のファイルやフォルダをPythonで一覧取得する

# はじめに

[株式会社データインサイト](https://datainsight.jp/)社外取締役の宮野です。

データインサイトでは地図データを扱っており、大量のデータをS3に置くこともあります。S3内のファイルやフォルダを一覧で取得するときに気をつけるべきことがいくつかあったのでまとめておきます。

# 環境

念のためですが、動作環境は以下です

“`
macOS Catalina
Python 3.8
boto3 1.21.16
“`

# 結論

以下のls関数を用いれば、指定したバケットのパスに対して再帰的、もしくはその階層のみのファイル・フォルダ一覧を取得できます。

“`Python
import boto3
from typing import List

def ls(bucket: str, prefix: str, recursive: bool = False) -> List[str]:
“””S3上のファイルリスト取得

Args:
bucket (str): バケット名
prefix (str)

元記事を表示

OTHERカテゴリの最新記事