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

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

Databricks on AWS – E2 Architecture 概要

この記事は株式会社ナレッジコミュニケーションが運営する Amazon AI by ナレコム Advent Calendar 2020 の 5日目のエントリーです!

# はじめに
AWS 上での Databricks 利用を検討する場合、とりあえず必要十分そうな機能をがそろってる Premium プランで契約、必要に応じて Enterprise プランにアップグレードすればいいかな、と考える方が多いのではないでしょうか?

> [Databricks on AWS pricing](https://databricks.com/jp/product/aws-pricing)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363781/8a020934-0043-6d95-3370-e05fa4f7d10d.png)

2020年9月に **E2 Architecture** というものがアナウンスされ、2020年11月末に日本リージョンでも GA されました。リソース管理の利便性やセキュ

元記事を表示

Lambda Internal Extensions で Lambdaのチューニングに役立つ情報を取得する

# Lambda Extensionsについて

AWSのblogで丁寧な説明がありますので、Extensionsそのものの詳細な説明は本稿からは割愛します。それでも、話の流れで必要な部分は少しずつ紹介しながら進めます。

##### AWS blog

* [AWS Lambda Extensions (プレビュー) のご紹介](https://aws.amazon.com/jp/blogs/news/introducing-aws-lambda-extensions-in-preview/)
* [AWS Lambda Extensions (プレビュー) を構築する](https://aws.amazon.com/jp/blogs/news/building-extensions-for-aws-lambda-in-preview/)

##### 仕組み

[AWS Lambda Extensions (プレビュー) のご紹介](https://aws.amazon.com/jp/blogs/news/introducing-aws-lambda-extensions-in-p

元記事を表示

AWSサンプルプロジェクトから学ぶサーバレスアーキテクチャ

# 構築してみるAWSサーバレス

[PARONYM Advent Calendar 2020 – Qiita](https://qiita.com/advent-calendar/2020/paronym) の7日目です。

## はじめに

昨今注目を浴びているサーバレスアーキテクチャ。うまく使えばサーバの構築・運用・保守の手間が省けエンジニアはサービスの実装に注力することができます。
しかし便利な反面新たに学ばなくてはならないことが沢山あり、学びはじめのエンジニアは何からはじめたらいいか悩ましいところです。
本記事では、AWS公式で作成されたサンプルプロジェクトを使用してサーバレスアーキテクチャを構築し、サーバレスの学習のきっかけになることを目的としています。

## 注意

サンプルプロジェクトをAWSにデプロイすると料金が発生する場合があります。**デプロイは自己責任でお願いします。**

## 本記事で使用するサンプルプロジェクト

AWSには公式から提供される便利なサンプルプロジェクトがあります。今回はその一つを使用して実際にクラウド上に一つのサービスを展開してみます。

元記事を表示

Gitaly ClusterでGitLabのGitalyを冗長化させる

## はじめに

GitLabは複数のコンポーネントから構成されていますが、その中でもGitalyはGitリポジトリへのアクセス処理を担っています。GitLab 13からは[Gitaly Cluster](https://docs.gitlab.com/ee/administration/gitaly/praefect.html)が提供されるようになり、Gitリポジトリの冗長化が可能となりました。

それ以前もNFSをストレージとして使用して可用性を上げることはできていましたが、[公式ページ](https://docs.gitlab.com/ee/administration/nfs.html)によるとGitLab 13からNFSは非推奨となり、GitLab 14からはサポート外となるようです。

今回はGitaly ClusterをKubernetes上に構築する手順を説明します。

## Gitaly Clusterについて

Gitaly ClusterはGitalyのクラスタ化を実現させたもので、PraefectというGitalyへのルーティングとトランザクション処理を行うコン

元記事を表示

コンテナイメージを使用してAWS Lambda関数を作成する

この記事は [ユニークビジョン株式会社 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/uniquevision) の7日目の記事です。

# 1. はじめに

この記事ではAWS re:Invent 2020で発表された [AWS Lambda の新機能 – コンテナイメージのサポート](https://aws.amazon.com/jp/blogs/news/new-for-aws-lambda-container-image-support/) についてまとめます。

従来、AWS Lambdaの関数を作成するためには関数の実行に必要なものをZIP形式でパッケージ化する必要がありました。
個人的にはローカルで動作確認をする構成とZIP形式のパッケージを作る手順が存在しているのは好みではありませんでしたが、この新機能によって開発時・本番運用時の両方とも同じコンテナイメージを使用することが出来るようになりました。

また、従来のZIP形式ではデプロイパッケージのサイズが250MBに制限されており、例えばTens

元記事を表示

LambdaのProvisioned Concurrencyについて調べました

# はじめに

2019年12月に提供された[LambdaのProvisioned Concurrency](https://aws.amazon.com/jp/about-aws/whats-new/2019/12/aws-lambda-announces-provisioned-concurrency/)に関して調べました。

## 注意

2020年12月6日時点の仕様について記載していおります。

# Lambdaに元々ある概念 → “同時並行性”(Concurrency) (公式でも日本語訳が曖昧)

Lambda関数を並行(水平方向)に実行する際のリソースとなる概念が同時並行性です。

同時並行性には制限が存在しており、定量化として同時実行数(Concurrency Executions)という単位になっています。

制限は、**リージョンごと**に適用され、引き上げることができます。引き上げをリクエストするには、サポートセンターコンソール経由で問い合わせる必要があります。

| リソース |デフォルトの制限|
|——-|——|
|同時実行数|1000|

元記事を表示

AWSでALB(Application Load Balancer)を作成してみた。

##はじめに
個人サイトのSSL化を実装するため、ALBを作成したのでその手順を記録として残す。

##Load Balancerとは
>アプリケーションへのトラフィックを複数のターゲット (Amazon EC2 インスタンス、コンテナ、IP アドレス、Lambda 関数など) に自動的に分散します。Elastic Load Balancing は、変動するアプリケーショントラフィックの負荷を、1 つのアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンで処理できます。

ドキュメント:https://aws.amazon.com/jp/elasticloadbalancing/

外部からの処理を分散させることで、負荷(load)を分散(Balance)させ、結果的に可用性(availability)のあるシステムを作成するAWSのサービス。

##手順

EC2ダッシュボードからロードバランサーを選択して作成します。
![ロードバランサー___EC2_Management_Console1.png](https://qiita-image-store.s3.ap-no

元記事を表示

AWS ソリューションアーキテクトアソシエイト 問題 IAM編

## 概要

今回は会社の後輩向けにAWS ソリューションアーキテクトアソシエイト向けの問題を作成したのでそちらの公開を。
元ネタは公式の問題、BlackBeltなどからとっております
今回はIAMをみようと思います。

## IAM関係

* EC2インスタンス(AWSアカウントをAとする)上で実行されるアプリケーションで別のAWSアカウント(Bとする)のS3のバケットへアクセスする実行したところ、アクセスできない問題が発生している。AのアプリからBのS3バケットへアクセスできるように対応する方法を以下から2つ選択してください。EC2インスタンスからは自分のAWSアカウントのS3バケットにはアクセスできるとする。
1. BのアカウントにAのアカウントのIAMロールと同名のロールを作成しS3FullAccessの権限を付与する。
1. AのアカウントのS3にBのアカウントと同名のバケットを作成しバケットポリシーにBのアカウントのアカウントからのprincipalを指定する。
1. BのアカウントのS3バケットポリシーにAのアカウントのIAMロールをprinci

元記事を表示

TerraformでAWS WAFを基礎から学ぶ(メトリクスとサンプリング編)

# はじめに
[基本のルール設定編](https://qiita.com/neruneruo/items/2fd4b139ebe009df4155)の続き。
今回は、メトリクスとサンプリングについて確認をしていく。

単純にメトリクスが取れるだけかと思いきや、Web ACL のマネージメントコンソールトップに表示されるメトリクスは一癖ある感じなので特性を理解しよう。

# メトリクスは何が一癖あるのか
Web ACL のマネージメントコンソールトップに表示されるメトリクスを複雑にしているのは以下の3点。

– Web ACL のアクションが Allow か Block かによって計上・表示されるメトリクスが違うという点
– Web ACL 全体のメトリクスと個別ルールのメトリクスがあるという点
– 上記とは別に ALL AllowedRequests/ALL BlockedRequests というメトリクスがあるという点

上記をもう少し詳細に調べてみると、以下の仕様であった。

– Web ACL のデフォルトアクションが Allow の場合は、ルールの AllowedRequest

元記事を表示

[AWS] EC2インスタンスにApacheをインストール

#EC2インスタンスにApacheをインストール

今回も、本日(2020/12/06)、AWSのEC2インスタンスにApacheをインストールしましたよ、というだけの投稿です。

SSHでApacheをインストールしました。(下記のコマンド)

>sudo yum -y install httpd

超個人的なメモでしかない投稿ですね。すみません。

元記事を表示

AWSをコマンドラインで扱うときに–profileってるけるのが面倒なのでdirenvをつかったほうがいい

aws cliを使うときに複数のprofileを使っていると時々間違えた環境に対して操作を行ってしまったりしてヒヤッとすることがある

–profileをつけわすれてワーみたいな

なのでdirenvという該当のディレクトリの中だけで環境変数を設定できるツールをつかっている
https://github.com/direnv/direnv

該当のディレクトリに「.envrc」というファイルを作成して
以下のコマンド

“`
direnv edit .
“`

中身をこんなふうにしておく⇣

“`
export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxx
“`

そうしたらawsコマンドを使う前に

“`
direnv arrow
“`

とすると.envrcの中の変数が該当ディレクトリ内だけで反映されるので
「–profile」ってつけなくても大丈夫になるのでヒューマンエラーを防げる

おしまい

元記事を表示

図解『実践Terraform』

# はじめに

この記事は[and factory Advent Calendar 2020](https://qiita.com/advent-calendar/2020/andfactory) の7日目の記事です。
昨日は@y-okuderaさんの[スクロールでNavigationBarとTabBarを隠す機能を自作してみる](https://qiita.com/y-okudera/items/d2aa7f42faa1bc3fc4c1)でした!

インフラ構成をコード化するIaC(Infrastructure as Code)の代表的サービスであるTerraform。
このTerraformを学ぶ上で書籍『実践Terraform AWSにおけるシステム設計とベストプラクティス』がよく参考にされています。
本記事ではこの書籍をこれから読む方向けに、書籍内で紹介されているサンプルプロジェクトを構成するリソースを図にして紹介します。

# 『実践Terraform』

7GUzk7Hj.jpgドメイン移行に伴いS3でホスティングしているWebページを振り分ける

# プライバシーポリシー表示できない事件

これは思い出話です。技術的に参考になる部分は少ないと思います。

## 発端

ある日、あるiOSアプリのプライバシーポリシーページが表示できなくなっているという報告が社内から上がりました。その報告とは、ざっくりいうと https://example.com/[service]/privacy.html が表示できないというもの。

## 現象

実はアプリのランディングページはもともと example.jp を使っていたものを example.com に変えていました。プライバシーポリシーのページも、もともとは https://example.jp/[service]/privacy.html でした。そして、 example.jp は example.com にリダイレクトしていました。

## 原因

example.jp を example.com にリダイレクトしただけだと問題なかったのですが、数日前にアプリのランディングページをリニューアルしていました。もともとはCloudFrontからS3にあるスタティックファイルを表示していま

元記事を表示

【AWS】AWSを学び始める前に最低限知っておくべきこと

#はじめに
AWS(Amazon Web Service)の学習を最近始めましたが、学習前に

**「最低限これだけは押さえておいたほうがよかったな」**

と思うことがいろいろあったので、それらをまとめてみました。

ぜひ最後までご覧下さい。

#本記事の内容
[0.インフラとは?](#0-インフラとは?)
[1.AWSとは?](#1-AWSとは?)
[2.AWSで何ができるのか?](#2-AWSで何ができるのか?)
[3.まとめ](#3-まとめ)
[4.最後に](#4-最後に)

#0. インフラとは?
まずAWSについて知っていく前に、最低限インフラについて理解しておく必要があります。

では、インフラとは一体何でしょうか?

結論から言うと、インフラとは**サーバーやネットワーク**のことを指します。

そもそもインフラとは、英語のinfrastractureの略称で、日本語に訳すと**基盤**という意味になります。

>例えば、生活インフラといえば下水道やインターネット、電気や熱などの生活に欠かすことのできない基盤のことを指し、交通インフラとい

元記事を表示

aws-cdkをbeta版の0.20から最新版に上げた

この記事は [Opt Technologies Advent Calendar 2020](https://qiita.com/advent-calendar/2020/opt-technologies) 3 日目記事です
さっそく遅刻しましたすいません

2 日目の記事は @peko858 さんの [社内ISUCONの予習の予習としてやったこと](https://qiita.com/peko858/items/538ef6554e36f680e000) です
4 日目の記事は @U1F419 さんの [新卒研修の振り返り記事](https://tech-magazine.opt.ne.jp/entry/2020/12/01/184550) です

というわけで上げた。がんばった。
・・・ので、対処した点を書き残しておきます

### 環境

– 対象となったパッケージ
– @aws-cdk/aws-elasticloadbalancingv2
– @aws-cdk/aws-cloudfront
– @aws-cdk/aws-ecr
– @aws-cdk/aw

元記事を表示

ちゃんと考えよう、IAMのはなし

## はじめに
AWSを利用する際に必ず使用するIAM。
なんとなく利用することも多いのではないでしょうか。
IAMについて考える機会があったので、今一度整理してみようと思います。

## 目次
1. IAMとは
1. IAMポリシーとは
1. IAM設計で意識すべき4つのこと
1. 本番運用に耐えうるIAMとは

## 1. IAMとは

### AWS Identity and Access Management(IAM)
– AWSリソースへのアクセスを安全に管理
– 下記のいずれかの方法でアクセス許可を付与
– 適切なアクセス許可ポリシーがアタッチされたグループのメンバーにする (推奨)
– ポリシーをユーザーに直接アタッチする

## 2. IAMポリシーとは
AWSでのアクセスを管理するために権限を定義したもの。
IAMポリシーには6つのタイプがあります。
1. アイデンティティベースのポリシー
2. リソースベースのポリシー
3. アクセス許可の境界
4. 組織 SCP
5. アクセスコントロール (ACL)
6. セッションポリシー

このうち、アイデンティティ

元記事を表示

NoSQL Workbench for Amazon DynamoDB 構築手順

Amazon DynamoDB のGUIツール「NoSQL Workbench」を調べる機会があり、せっかくなので構築手順書をブログにしてみました。

※(敢えて書きますが)本情報は2020年12月のものです。

## NoSQL Workbench
GUIツールと言っても、「AWSコンソールで十分じゃないか?」と言う意見もあるかもしれませんが、NoSQL Workbenchには各種RDBのGUIツール同様(それ以上に)さまざまな機能が備わっているようです。

公式情報
2019年9月16日時点
[Amazon DynamoDB 用 NoSQL Workbench のプレビュー版の発表](https://aws.amazon.com/jp/about-aws/whats-new/2019/09/introducing-nosql-workbench-for-amazon-dynamodb-now-in-preview/)
2020年5月7日時点
[Amazon DynamoDB 向け NoSQL Workbench を使用したデータモデリング](https://aws.amazon.c

元記事を表示

Amazon RDS DB (Aurora)インスタンスタイプを変更するスクリプト

[Amazon Aurora](https://aws.amazon.com/jp/rds/aurora/?aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc)を社内で検証中…

> スケールアップしたときのパフォーマンスを見てみたいな。インスタンスタイプ変えておいて!

 
> いや…スケールダウンして、違うパターンも試してみよう…!

なんてことが繰り返されていて、そのたびに AWS Console をポチポチしながらインスタンスタイプを変えていました。。。
(16個変えるのに20分以上マウス操作…)

![00rdm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/21b5bed1-e4fd-7107-2421-ba314f09651a.png)

さすがに面倒なので[ドキュメント](https://docs.aws.amazon.com/ja

元記事を表示

Raspberry Pi 4でおうちAmazon EKS Distro (EKS-D) をやってみた

Re:Invent 2020でAmazon EKS Distro (EKS-D)が発表されましたね。

公式ブログはこちら
なぜか日本語の方には`EKS-D`の表記がないですね

Amazon EKS Distro: Amazon EKS で使用される Kubernetes ディストリビューション
https://aws.amazon.com/jp/blogs/news/amazon-eks-distro-the-kubernetes-distribution-used-by-amazon-eks/

Introducing Amazon EKS Distro (EKS-D)
https://aws.amazon.com/jp/blogs/opensource/introducing-amazon-eks-distro/

早速手持ちのRaspberry Pi 4でやってみました。

# 先にまとめ

* CanonicalがEKS-Dのsnapパッケージをすでに提供している( https://snapcraft.io/eks )
* ただし2020/12/06時点ではAMD64向けし

元記事を表示

AWS Lambdaをローカル環境に用意する(AWS-SAMのインストール)

# 前書き
lambdaを実装する必要があり、ローカルでプログラムのテストができないか調べてたところ、AWS SAMを用いて検証するようなので設定方法を書いていきます。

###前提条件
Dockerがインストールが必要です。
+今回lamdaでgo言語を試すのでgoのインストール必要です。

###検証環境
>OS:Windows 10 Pro 64bit ver 1909
>言語環境:go version go1.14.1

#SAMで構築する検証環境について
AWS-SAMをインストールすることで下記のような環境をローカルに作成できます。

![SAM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436464/7759e3a7-7ba9-a623-6c4b-39d852144687.jpeg)

ローカルに仮想のAPI GaweWayを作りそこからLambda関数を実行する形です。
実行時にjsonを渡すことでevent発火時の動作も検証できます。

lambda関数の実行時にdockerコ

元記事を表示

OTHERカテゴリの最新記事