AWS関連のことを調べてみた2021年07月27日

AWS関連のことを調べてみた2021年07月27日

AKIBA.MAD 実践から学ぶ AWS Lambdaのテスト戦略 参加レポート

https://classmethod.connpass.com/event/209967/

かなり遅くなってしまったのですが、今回は2021/4/22に実施されたクラスメソッドさんのLambdaのテストに関するイベントに参加した際のメモを書きました。
メモは当日話を聞きながら残していたのですが、時間が経って記憶が曖昧な部分もありますので、何か間違いがあればご指摘ください。

# クラスメソッドMADとは

Modern Application Developmentチームの略で、最新のアーキテクチャを積極的に活用するサーバレス・コンテナ導入支援チームだそうです。

本イベントはクラスメソッドMADチームを中心に、クラスメソッドでサーバレスシステムを開発してるエンジニアが集まって座談会をしつつ、
参加者のサーバレスやテストに関する利用状況のアンケートを取ったり、質問に答えたりといった内容でした。

アンケートは勉強会の合間合間で取られていたのですが、文章で合間に書くと読みづらくなってしまうので、最後の方にまとめようかなと思います。

# テスト用語の解説

### Mock

テス

元記事を表示

【6日目】AWS認定ソリューションアーキテクト合格までの道

# ネットワークサービス

## VPCと外部との接続

### AWS Direct Connect(DX)
– オンプレミス環境(自社環境)とAWS(VPC)の間を専用線で接続するサービス
– 通常はオンプレ環境とVPCを**一対一**で接続する
– プライベート環境と高速ネットワークで安定した通信を行うことができる

:::note info
Direct Connectゲートウェイを利用することでオンプレ環境と全リージョンの複数VPCを一対多で接続可能となる
:::

### Site to Site VPN(Virtual Private Network)
– IPsecを用いてオンプレミス環境とAWS間を接続する方法
– DXと比べると品質は下がるが低コストかつ短期間で導入できるメリットがある

:::note info
IPsec(Security Architecture for Internet Protocol)
IPパケットを暗号化して盗聴や改ざんを防ぐ技術
:::

### 仮想プライベートゲートウェイ(VGW:Virtual Private Gateway)

元記事を表示

DynamoDB入門編(チュートリアル実施)

#概要
DynamoDBのチュートリアルを実施する。
本記事はAWS公式のチュートリアルを実施しております。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/aec8f13d-82b2-86a6-485a-15c73d2d5e3f.png)

#1. TBL作成
下記4つのTBLを作成。
○作成テーブル
・ProductCatalog
・Forum
・Thread
・Reply

###ProductCatalog
![スクリーンショット 2021-07-26 22.19.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/0504667d-a0c0-2d57-531d-1e25fa2a48db.png)
###Forum
![スクリーンショット 2021-07-26 22.21.34.png](https://qiita-image-store.s3.ap-northeast-

元記事を表示

AWS Cloud9 でAmazon Linux 2でLaravelの設定

###Amazon Linux2 ではEPELが使えない
EPELが何かは知りません。調べたら追記します!

とりあえず仕様している教材に

>amazon linuxを使ってください。linux 2ではEPELが使えないので。

みたいに書いてあったけど、

AWSのCloud9でワークスペースを作成する際に、

>Amazon Linux 2 (recommended)

と合ったので、せっかくなら推奨版が使いたいなということで、環境を少しアレンジ。

まああとは自分で調べてEPELが使えればいいだろうという考え。というか推奨版なんだから当然使えるっしょ!の乗りです。

###手動でEPELを有効にする

https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-enable-epel/

この通りにやれば大丈夫っぽい。

“`bash
sudo amazon-linux-extras install epel -y
“`

###phpのバージョン確認

“`bash
$ php -v
PHP 7.2.24

元記事を表示

AWS DVAを1週間で合格してきた話

# はじめに
もう随分前になりますが、過去にAWS試験について以下のような記事を書きました。

* [AWS 認定クラウドプラクティショナーを受験(合格)してきた話
](https://qiita.com/handy-dd18/items/c2b62ad58206e47f1345)
* [AWS 認定ソリューションアーキテクトアソシエイトを受験(合格)してきた話](https://qiita.com/handy-dd18/items/96a9f374a64663b10e24)

そこから今までに別のAWS試験も受けたりしましたが、先日開発系のサービスについての学習の意味も込めてデベロッパーアソシエイトを受験してきましたので、勉強した内容とかを書いていきます。

## 注意
今回は時間がなかったので、最短で学習して試験に合格するような内容になっています。
ちゃんと腰を据えて学びたいという方には向いてませんので、その場合は他の方の合格記をご参照ください。
(正直初学者向けではないかもしれません)

# 前提
DVA受験時の前提は以下の通りです。

* 一般的なIT、クラウドの知識は持っ

元記事を表示

【5日目】AWS認定ソリューションアーキテクト合格までの道

# ネットワークサービス

## アクセス制御

### セキュリティグループとネットワークACL
インバウンド通信とアウトバウンド通信を設定するファイアウォール機能

| 項目 | セキュリティグループ | ネットワークACL |
|:-:|:-:|:-:|
| 適用範囲 | インスタンス単位 | サブネット単位 |
| デフォルトの動作 | インバウンド:全拒否 アウトバウンド:全許可 | インバウンド:全許可 アウトバウンド:全許可 |
| ルールの評価 | 全てのルールに適用 | ルールの番号順で適用 |
| ステータス | ステートフル | ステートレス |

#### セキュリティグループ
**特徴**

– インバウンド/アウトバウンドの種別/プロトコル/ポート範囲/アクセス元/アクセス先IPなどの**ルールのみ定義する**
– EC2インスタンスに**複数のセキュリティグループの適用が可能**
– セキュリティグループの設定追加/変更は**即時反映**

:::note info
ステートフルな制御
ルールで許可された通信の戻りの通信も自動的に許可される
:::

元記事を表示

【AWS】RDS for PostgreSQLの「Collate」と「Ctype」を「ja_JP.UTF-8」に変更してみました

#はじめに
RDS for PostgreSQL 作成後に、デフォルトの“`Collate“`と“`Ctype“`は“`en_US.UTF-8“`になっていますが、“`en_US.UTF-8“`を“`ja_JP.UTF-8“`に変更することが本記事の主旨です。

ちなみに、今回使用しているEC2とRDSの情報は下記となります。
・EC2: Amazon Linux 2
・RDS for PostgreSQLエンジンバージョン:12.6

#作業手順
1.postgresql接続ミドルウェアをインストールします
※バージョンはRDS postgresqlに準じてインストールすること

“`
$ sudo amazon-linux-extras install epel -y
$ sudo amazon-linux-extras install postgresql12
“`

2.“`dbtest“`DBの現状確認
下記ご覧のように、現在“`dbtest“`の“`Collate“`と“`Ctype“`は“`en_US.UTF-8“`になっていま

元記事を表示

【AWS Lambda×LINE Messaging API】AWS SAMで翻訳アプリを作ろう

## はじめに
皆さん、Lambdaをご存知でしょうか?
Lambdaはサーバーレスアーキテクチャを実現する上で根幹となるサービスです。

### サーバーレスアーキテクチャとは
AWSにおけるサーバーレスとは、**「インスタンスベースの仮想サーバー(EC2など)を使わずにアプリケーションを開発するアーキテクチャ」**を指します。

一般にシステムの運用には、プログラムを動かすためのサーバーが必要です。
そしてそのサーバーは、常に稼働していなければなりません。

しかし開発者がやりたいことは、「サーバーの管理」なのでしょうか?
エンドユーザーに価値を届けることこそが使命なわけです。

ということで、こういうめんどくさい作業から解放してくれるのがサーバーレスアーキテクチャなわけです。

サーバーレスアーキテクチャでよく使われるサービスは以下の通りです。
特に、丸で囲っている3つがよく使われます。

![スクリーンショット 2021-06-26 15.43.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0

元記事を表示

物理サーバのAWS移行注意点(CloudEndureを使ったP2V)

#P2V実施の経緯
老朽化している物理サーバが1台残っているのですが、復旧できない故障が発生した場合に備えてP2V(P2C)を検討しました。CloudEndureにて簡単にP2Vできるとの記事を見て実行したのですが、以外にハマりましたので、その内容を記載したいと思います。

#P2Vの流れ
■CloudEndureのアカウント作成
      ↓
■CloudEndure用のIAM作成
      ↓
■CloudEndure管理コンソールでプロジェクトの作成
      ↓
■CloudEndure管理コンソールで移行マシンの設定 ← ここがつまづいた原因
      ↓
■オンプレサーバへのエージェントインストール
      ↓
■P2Vしたサーバにリモート接続して動作テスト
 ※スケジューラにタスクを登録している場合はタスクを無効にしておくこと
  (そのまま動く可能性があります)

全体的な流れを解説しているサイトがありましたので、リンクを掲載させていただきます。

https://dev.classmethod.jp/articles/cloudendure-no-char

元記事を表示

Amazon Elastic Container Registry (ECR) 新規作成手順

# Amazon Elastic Container Registry (ECR)とは
Amazon ECRは、コンテナイメージをクラウド上に保管できるサービスです。
詳細については、公式ページのDescription部分で説明されています。
>Amazon Elastic Container Registry (ECR) は、完全マネージド型の Docker コンテナレジストリです。このレジストリを使うと、デベロッパーは Docker コンテナイメージを簡単に保存、管理、デプロイできます。
https://aws.amazon.com/jp/ecr/

本記事ではECRにリポジトリを作成するところから、コンテナイメージをプッシュするまでを紹介します。
※AWSアカウントは作成済み。PCはMacを想定しています。

# ECRリポジトリ作成手順

https://ap-northeast-1.console.aws.amazon.com/ecr/get-started?region=ap-northeast-1
Amazon ECRのページから[使用方法]ボタンをクリック。
![ima

元記事を表示

【4日目】AWS認定ソリューションアーキテクト合格までの道

# ネットワークサービス

## Amazon Virtual Private Cloud(VPC)

### VPC(Amazon Virtual Private Cloud)
AWS上に独立したプライベートネットワーク空間を作成できるサービス

:::note info
特定のユーザーだけが利用できるネットワーク環境を構築することは、セキュリティの観点から重要である
:::

#### 作成時の注意

– IPv4のVPCはプライベートIPアドレス内で、**16ビット以上28ビット以内**のCIDRを指定
– IPアドレスの重複をしない
– IPv6のVPCは**56ビット**のCIDRに固定

:::note info
CIDR(Classless Inter-Domain Routing)
IPアドレスの分類を考慮せずに割り当てられたIPアドレス
→使用するユーザー分のIPアドレスを用意し、過不足がないようにすること
:::
***
### サブネット
– VPC内に構成するネットワークセグメント
– どのアベイラビリティーゾーン(AZ)でサブネットを構成するかを指定する

元記事を表示

MIERUNEのAmazon Location Serviceサンプルの裏側をざっくりと!

# TL;DR
MIERUNEで公開中&随時機能追加中のAmazon Location Serviceのサンプルの構成を紹介する記事です。

公開中のサンプルは以下のリンクからお試しいただけます!

https://als.mierune.io/

# はじめに
本記事ではAmazon Location Service 及び AWS Amplify, Vue.jsを利用します。
なお、公開しているサンプル自体の解説はこの記事ではなく、以下の記事で行っていますのでご覧ください。

https://qiita.com/northprint/items/980371a8dfb6457876d6

また、地図スタイルの日本語化に関しては以下の記事をご覧ください。

https://qiita.com/moritoru/items/c6fc303bf9925de0a3a7

## Amazon Location Service とは?
Amazon Location Service とは Amazon Web Serviceが提供しているウェブ上・ネイティブアプリ上で使用される地図タイルの配信

元記事を表示

[AWS IoT] 証明書の作成・登録方法 Part3 JITP

# はじめに
AWS IoTにはいくつかの証明書の作成方法、登録方法があります。[前回の記事](https://qiita.com/tsugunao/items/9065d8a131aedcc25f18)では AmazonのCAを使用するFleet Provisioningについて試してみました。今回はAmazon以外のCAで発行した証明書を利用して、デバイスが初回接続時に証明証を発行する方法の1つであるJust in time provisioning (JITP)について試してみたいと思います。

# 証明書発行方法の分類
[こちら](https://pages.awscloud.com/rs/112-TZM-766/images/EV_iot-deepdive-aws2_Sep-2020.pdf)にAWS IoTでの証明書発行の方法が分類されています。
![スクリーンショット 2021-07-25 11.29.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80028/d0e8f8da-6b

元記事を表示

filename-yyyymmddの形式で退避したS3をAthenaで日付条件クエリ

# はじめに
OSのログをS3へ退避する際、
とりあえず貯めとけ精神でOS上でログローテされたまま保存しますよね。

そうすると後々、
ある月のログに対してAthenaでクエリかけたい…ってときに苦しみますよね。

でもHive形式に作り替えるのも面倒ですよね。
※Athenaでのパーティション分割:https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partitions.html

そんなときは、検索に時間かけても良いからゴリ押しでクエリをかけましょう。

#0. S3の構造
– バケットURL:s3://secure-log-athena-test/secure/
– オブジェクト:

>
secure
secure-20210701
secure-20210702
secure-20210703
secure-20210704
secure-20210705
secure-20210706
secure-20210707
・・・

#1. サンプルDDL
– `テーブル名`, ‘バケット名URI’ 部分は各S3バケットのURI

元記事を表示

Athenaで基礎からしっかり入門 分析SQL(Python・Pandasコード付き) #2

今まで複雑なデータ操作・分析などはPythonでやっており、SQLは普通のアプリ開発程度のライトなものしか触って来なかったのですが、やはり分析用の長いSQLなども書けた方がやりとり等で便利・・・という印象なので、復習も兼ねて記事にしておきます。

また、SQLに加えて検算も兼ねてPythonやPandasなどを使ったコードもSQLと併記していきます(Pythonで書くとどういった記述が該当するのかの比較用として使います)。

※長くなるのでいくつかの記事に分割します。本記事は2記事目となります。

# 他のシリーズ記事

前回(#1)

https://qiita.com/simonritchie/items/0d84646e3db940e98b14

用語の説明・SELECT、WHERE、ORDER BY、LIMIT、AS、DISTINCT、基本的な集計関係(COUNTやAVGなど)、Athenaのパーティション、型、CAST、JOIN、UNION(INTERSECTなど含む)などについてはこちらの記事で既に説明済みなので本記事では触れません。

# 本記事で触れる点

– GROU

元記事を表示

【AWS】Amazon Route53について

# はじめに
AWS認定試験取得に向けてAWSの知識を整理するためのまとめです。
今回はRoute53についてまとめます。

# Amazon Route53とは
可用性と拡張性に優れたクラウドのDNS(ドメインネームシステム)サービスです。
DNSというのはドメイン名(例:www.example.com)を、IPアドレス(例:192.0.2.2)へ変換し、
ルーティングする仕組みです。

#Amazon Route53の特徴

## ホストゾーン
ホストゾーンとはレコードのコンテナであり、レコードには example.com や
そのサブドメインのトラフィックをどのようにルーティングするかに関する情報を保持します。
ホストゾーンの名前と対応するドメインの名前は同じです。
ホストゾーンは2種類あります。

| ホストゾーン | 詳細 |
|:–|:–|
|パブリックホストゾーン|トラフィックをインターネット上でどのようにルーティングするか指定するレコードが含まれています。|
|プライベートホストゾーン|トラフィックをVPCでどのようにルーティングするかを指定するレコードが含まれてい

元記事を表示

【AWS認定資格】SOA-C02にアップデートされたぞぉぉぉ!!(途中なのでちょくちょく更新)

# はじめに
AWS SysOps Administraitor – Associateが2021/07/26をもって、SOA-C01から完全にSOA-C02へと移行されます。
ちょっとずつまとめていきます。

とりあえず、試験ガイドの比較だけ見ていただければ(笑)
※この記事に網羅性はありません。すべて個人的に出そうだな~というところをまとめたものです。

# 試験ガイド

## 比較

・SOA-C01
試験ガイドは[こちら](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-sysops-associate/AWS-Certified-SysOps-Administrator-Associate_Exam-Guide.pdf)

・SOA-C02
試験ガイドは[こちら](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-sysops-associate/AWS-Certified-SysOps-Administrator-Asso

元記事を表示

【Node.js, TypeScript】LINE MessagingAPIで作った天気予報アプリをAWS SAMを使ってデプロイしてみる!

先日、Node.jsとTypeScriptで天気予報アプリを作成しました。

https://qiita.com/Ryo9597/items/4c05b8b972ad7efc0c66

完成形としては以下の通りです。
![名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838372/0af0bfce-b695-b341-4e90-aeefde544562.png)

この記事内では、`Glitch`でデプロイをしています。
まぁ無料なわけで色々問題があります。
・プロジェクトは、利用されていないときは5分でスリープ状態になる
・4000件/1hのリクエスト制限がある(Error: 429 too many requests)

ということで、AWSのLambdaを使ってデプロイしました。

https://qiita.com/Ryo9597/items/0f82cddb98227d308a9a

動作を確認するために所々デバッグして進めていきたいですが、
その度S3にアップロードしてそれをLa

元記事を表示

DenoでDynamoDbを操作する

少しハマったので備忘録として。

## 参考文献

https://deno.land/x/dynamodb@v1.0.0

## ソース

“`index.ts
import { createClient } from “https://denopkg.com/chiefbiiko/dynamodb/mod.ts”;

const dyno = createClient({
region: ‘ap-northeast-1’,
credentials: {
accessKeyId: ‘accessKeyId’,
secretAccessKey: ‘secretAccessKey+H’
},
});

const params = {
TableName: ‘test’,
Key: { id: 1 },
};

const data = await dyno.getItem(params)
console.log(‘Success’, data.Item);

“`

## 実行コマンド

“`sh
$ deno run –allow-env

元記事を表示

EC2 でのイベントウィンドウ のサポート

## EC2 の イベントウィンドウとは

例えば RDS などのマネージドサービスの場合、サービサーである AWS 側の都合で、メンテナンスによる インスタンスの再起動などが必要になるケースがあるのは、比較的よく知られており、意識して運用設計がされる面だと思います。
一方で、表題の EC2の場合には、これまで、この AWS 側都合による再起動について、ユーザ側の事前のコントロールはあまり効かない状況でした。
なお、以前から存在した機能としては、EC2で 既にスケジュールされたイベントの開始時間を変更出来る [API](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/modify-instance-event-start-time.html) は存在していました。こちらについては、以下の ブログ記事に詳しくまとまっています。

* [再起動がともなうAmazon EC2のスケジュールイベントの開始時間を変更出来る機能がリリースされました。](https://dev.classmethod.jp

元記事を表示

OTHERカテゴリの最新記事