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

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

Amazon SageMaker Studio のノートブックでカスタムイメージを使う

## はじめに
この記事では、Amazon SageMaker Studio のノートブック環境をカスタムする方法をご紹介します。Amazon SageMaker は環境構築に Docker イメージを使っているので、自分で作成した Docker イメージを Amazon SageMaker Studio に設定してやれば、そのイメージをノートブックで使うことができるという寸法です。

## Docker イメージの作成
それでは早速、Docker イメージを作ります。今回は [こちら](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/tree/main/examples/tf23-image) のサンプルを拝借して、Tensorflow 2.3 を使うためのイメージを作ります。

### AWS Cloud9 の起動
今回は Docker イメージ作成環境として AWS Cloud9 を使用します。お手元の PC に Docker と AWS CLI 環境が構築されていればそちらを使うことももち

元記事を表示

copilotを利用したらモダンなECS環境を爆速で構築できた

# この記事について
AWS & Game Advent Calendar 2020 23日目の記事になります。

AWSでコンテナを動かす場合真っ先に候補に上がるサービスはECSかと思います。
とても便利なサービスなのは間違いありませんが、いざ使うとなると考慮する点がたくさんあります。

– ネットワーク(VPC)設計
– ECSのクラスタ/サービス/タスク定義の作成
– デプロイフローの確立
– ロギング

上記はあくまで一例ですが、基本どのプロジェクトでECSを使う場合でも、タスクが起動するVPCの設計から始まり、デプロイされたタスクが出力するログをどのように集約/管理するのかまでは共通で考える必要があるのではないかと思います。
その一方で、ECSが一般的に広く使われるようになっていて、ある種の「利用する上でのベストプラクティス」的なものが生まれつつあるように思います。
都度1から構築しても良いですが、できればベストプラクティスに沿ってもっと簡単に構築できるようになれば便利ですよね。
そんな願いを叶えてくれるツールが2020/11/23にGAしています。「AWS Copilot」

元記事を表示

Amazon SES ってなに?

## 勉強前イメージ

AmazonSNSと似たような…通知送るシステムのイメージ
ただ何が違うのかがわからない

## 調査

### Amazon SESとは?

Amazon Simple Email Service の略で、メール配信サービスです。
独自ドメインの利用でも利用することができます。
また、他のメールサーバと違うのがAWSの他のサービスと連携することができます。

### Amazon SNS でもEメール使えるが、違いは何?

Amazon SNSでもEメールを使用することができますが、
SNSは通知をするためのサービスなので、HTMLなども使用することはできません。
メールでの設定を多くできるのがSESなのです。

### Amazon SESの特徴

– 導入のコストが低い

SESを利用するために必要なのが、AWSアカウント・メールアドレス・ドメインのみです。
すぐに始めることができます。

– 低価格

使用した分だけ発生するので、固定費などはありません。
ですので気軽に試すことができます。

– 高い配信性能

メールサーバではスパムメールを受信しな

元記事を表示

インスタンスプロファイルを理解するついでにポリシーとロールを整理する。

# はじめに
EC2インスタンスにCLIからインスタンスプロファイルを割り当てる作業を行った際、ちゃんと理解できてないなぁと感じたので、覚えがてら**インスタンスプロファイル**と**IAMポリシー**、**IAMロール**の関係について整理します。

# IAMポリシーとは
**AWSのリソースにアクセスする際の制御を行う機能**です。

IAMポリシーにはAWSが事前に用意している**AWS管理ポリシー**とユーザがカスタマイズして使う**カスタマー管理ポリシー**があります。

**AWS管理ポリシー**は`AmazonS3ReadOnlyAccess`や`AmazonEC2FullAccess`などの名前が付けられているため、利用するサービスへのアクセスに必要なポリシーを選んで各ユーザ、グループなどに割り当てることで各リソースへのアクセスを制限できます。

但し、**AWS管理ポリシー**を使う場合、ポリシーの編集はできないため、もし複数サービスへのアクセス許可を定義したポリシーを作成したかったり、サービスへのアクセス制御以外にIPアドレスでもアクセス制限したかったりする場合は

元記事を表示

Athenaで複数環境のALBログから、利用OS、利用ブラウザを集計してみる

#はじめに
SREという部署の責任者をしており、マネジメントがメインなので自分で手を動かす機会が少ないのですが、今回 [アドベントカレンダー](https://qiita.com/advent-calendar/2020/whi) をやることになったので、自らやったことを記事にしてみたいと思います。

タイトルの通り、ユーザーがどんなOS、どんなブラウザからアクセスしているのか、またその割合はどれぐらいなのか、サポート体制の妥当性などを検討するためにデータを分析をしてほしいという依頼を受けました。

**短期間**で、**あまりお金をかけず**に、**スポット作業**で、**S3のデータ**を分析するならAthenaが最適ですね

#この記事で得られること
・ALBのログをAthenaで分析する
・Athenaのパーティションを使う
・S3のパスを検索条件として利用する
・AWSコンソールだけで、サラっとやってみる

#前提
– 複数のユーザー環境があり、環境毎にALBが存在している。
– 環境は `tenant` `landscape` 単位で存在している。
– ALBのログはS3の

元記事を表示

ぼくがかんがえたさいきょうのインスタンス

# 0.はじめに
小さい頃から、大人になったらありたっけのお金を使って贅沢なマシンを組み立ててみたいなって思いながら、
小学生の頃は、**Celeron**に**1GB**のメモリを積んで、
中古で2000円で売ってたジャンク品の**GT9500**のグラボで、
カクカクしながら毎日パソコンを触っていました。

24歳になって、ありったけに使えるお金もあるわけではないが、時代は**クラウド**に移り替わり、
オンデマンドでサーバーが使える便利なサービスが世の中には溢れています。

お金を使わないでも**「ぼくのかんがえたさいきょうのサーバー」**が作れる自体になったのですが。

とりあえず**最強のインスタンス**を立ててみようと思いました。

# 1.最強のインスタンスはどれだ
EC2のインスタンスは、最小構成から始まる**nano**、**micro**もありますが、

基本的に高スペックマシンは何かに最適化されたマシンが多く、
GPUだったり、メモリだったり、ネットワークが強かったり、

う~ん、どれが最強のインスタンスなのか。

とりあえず一番価格の高いインスタンスが一番つよい

元記事を表示

AWS CDKはグローバルでインストールしない

## はじめに

結論を先に書くと、ローカルにインストールし、`npx cdk`で呼びましょう、と言う話です。

## 本文

### グローバルにインストールするデメリット

グローバルにインストールをして暫くたつと、以下のようなエラーがでるようになります。

“`
This CDK CLI is not compatible with the CDK library used by your application.
Please upgrade the CLI to the latest version.
(Cloud assembly schema version mismatch: Maximum schema version supported is 4.0.0, but found 7.0.0)
“`

原因としては、グローバルに入れたCDKとローカルのCDKのバージョンに違いがあるからです。
インストールした直後には違いはないので、グローバルに入れて、そのまま利用してしまう人が多いと思いますが、後日新しいバージョンが出た時に修正をして、`npm run bui

元記事を表示

?クラウドのネットワークでハマった2020?

こんにちは。TIG/DXユニットの[伊藤太斉](https://twitter.com/kaedemalu)です。さて、ついにクリスマス当日です。お仕事をいただけるのは非常にありがたいことですね。素敵です。
さて、私はフューチャーでクラウドエンジニアとしてGCP、AWSを使ってインフラを構築しています。ベンダーごとに良いところ、悪いところが分かってきました。喜ばしいことです。毎日使い続けていると、その分ハマることも多く、毎日障子の上を歩いてい気持ちになります。さて、2020年仕事をしてきた中で、これは忘れたくない、ハマりどころを供養していきます。自分の強みでもある、

– AWS
– GCP

の両方をここではあげていきます。

# AWS
## ロードバランサーとターゲットグループの制御
AWSのロードバランサーはアプリケーション向けのALB、TCP、UDPプロトコルの利用向けのNLBと2種類存在します。各々、

– LBそのものの設定
– ターゲットグループの設定
– リスナーの設定

の3点を設定することで利用出来ます(もう少しいうと、ターゲットグループとLBの紐付けの設定もあり

元記事を表示

AWS Elemental MediaConvertでAV1を作ってみて画質とか見てみる

本記事は[DMMグループ Adovent Calender 2020](https://qiita.com/advent-calendar/2020/dmm)の最終日の投稿です。

どうもどうも。DMMで動画配信基盤をやっているチームのグループリーダーをやっている[yanoshi](https://twitter.com/yanoshi)です。
アドベントカレンダーが始まったと思ったら最終日が空いているじゃないですか!ってことで最終日をいただきました。メリクリ! クリスマスですが、今年も特に予定はありません。えへへ。

昨年は1日目で今年は最終日です。空いているのはいつもこういう日。わかりやすくて良いですね。

さて、どんな記事を書こうかな?と思っていたのですが、もう12/24なんですよね。思ったよりも忙しくて何もできていない…

ってことで、昨年の記事に引き続きAV1の話をしていこうと思います。

注意(お約束):
本記事の内容は所属する組織との関係は一切ありません。全て筆者の個人による調査/私的見解であり個人利用の範疇による技術的検証となっています。
また本稿の内容を実施して発

元記事を表示

AWS CDKで「Error: ARNs must have at least 6 components: undefined」になる時の解決策

## エラー

AWS CDKで以下のようなエラーが出る事があります。

“`
Error: ARNs must have at least 6 components: undefined
“`

意味としては、`lambdaVersionArn`が`undefined`で、少なくとも6つのブロックをもつARNの形式が必要だと言っています。

## 発生個所

ここではARNでバージョン指定のLambdaを取得しています。

“` sample-stack.ts
const lambdaVersionArn = props.lambdaVersionArn;
const lambdaVersion = lambda.Version.fromVersionArn(this, ‘LambdaFunc’, lambdaVersionArn);
“`

ARNを外部から受け取っているStackで、Bootstrapや該当Stackではない処理を実行する時に、`lambdaVersionArn`を指定しないので`undefined`になってしまいます。

## 対応方法

`lambda

元記事を表示

VPC領域を作成する方法(Amazon VPC)

 VPC領域を構成すると、AWS上に、好きな構成のネットワークを構築できる。今回は、「10.0.0.0/16」のCIDRブロックでVPC領域を構成するための手順を記載します。

### ■ 作業手順
(「10.0.0.0/16」)のVPC領域を作る。

#### ① AWSマネジメントコンソールでVPCを開く
 AWSマネジメントコンソールのホーム画面から**[VPC]**を選択する。
[![Image from Gyazo](https://i.gyazo.com/998dc3ba826dc4be538ba0b3e6a459d1.png)](https://gyazo.com/998dc3ba826dc4be538ba0b3e6a459d1)

#### ② リージョンを設定する
 VPCの操作対象とするリージョンを右上から選択する。今回は、東京リージョンに実験用のネットワークを作るので、「アジアパシフィック(東京)」を選択する。
[![Image from Gyazo](https://i.gyazo.com/1da4968964c10edbaa3eb55fb894ceae.pn

元記事を表示

AWSのネットワーク構成&ルーティングについて

AWSでEC2作ったり、サイト間VPN接続したりが何とな~く出来るようになってきたので、VPCのルーティングについて、
何とな~くではなく、しっかりと理解したいと思い書いてみました。
※間違ってたらすみませんがご指摘くださいm(_ _)m

# VPCコンソール画面の項目について
2020年12月時点のVPCコンソール画面はこんな感じです。

![スライド1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/103634bf-f71d-6e47-3ec1-ce24a5caffd0.png)

DHCPオプションセット・・・VPC内のオブジェクトに対して、DNSサーバやNTPなどの配布情報を登録します。
ルートテーブル・・・VPC内のルーティング情報を登録します。

上記環境ではVPCのアドレス空間は10.200.0.0/16 で、その中にサブネットがある感じになっております。
ちなみにサブネットは以下のような感じで表示されます。

![スライド3.PNG](https://qiita

元記事を表示

AWSでよく使うSQS+Lambdaの組み合わせで気をつけるべきこと

今回はSQS+Lambdaを組み合わせて使う場合に気をつけるべきことについて書きました
サーバレスなアーキテクチャを考えた時に、何かと候補に上がる組み合わせだと思います
一部、自分が体験した失敗から学んだこともあるので、反省の復習をしつつ同じ失敗をする人が減ってくれれば良いなと思います

# なんでSQS+Lambdaなのか?

そもそもこの組み合わせを選ぶのはなぜか?ということですが

* サーバレスなアーキテクチャを組みたい
* Lambdaを使用するにはトリガーとして全段にサービスが必要(SQS、APIGateway・・・など)
* Lambdaの処理が失敗した場合、再実行したい

このような理由からSQS+Lambdaの組み合わせを選択します

# 【ケース①】SQSの標準キューはメッセージの配信を1回”以上”保証する

SQSの標準キューとはこれです

![スクリーンショット 2020-12-24 20.58.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198158/650c553e-

元記事を表示

Amazon SNSを使ってみた

## 用語

– トピック
– 配信対象をグルーピングし、配信対象に一斉に通知を配信するための機能です
– サブスクリプション
– 作成したトピックと配信対象のエンドポイントを紐づけるデータ
– パブリッシュ
– 通知を発信すること

## 設定

### トピックの設定

– トピックの作成を行います

コンソール > Amazon SNS > トピック へ移動して作成を行います

![Simple Notification Service 2020-12-19 14-28-57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/a74d4c34-40f6-4825-aa47-756debd86aaf.png)

– トピックの作成

タイプ : SMSを使用するので、スタンダード
名前 : 任意の名前を設定
表示名 : 任意の表示名を設定
記載を行ったら、 `トピックの保存` で保存を行います

![Simple Notification Service 2020-12-19 14

元記事を表示

AWS – ローカルCloud9 + Amplify + Vue.js + Java11を使ったサーバレス環境構築を悩んでやったぜ

# 事前に知っておいた方がよいこと
* Windowsから、WSLのファイルにアクセスする方法(\\\wsl$でアクセス可能)
(参考ページ:https://qiita.com/quzq/items/1096c638c0d86795be13)

# IDEの選定
## Cloud9 on Windows Desktop

良いなと思ったのは、AWSに密な開発ができるからというのが理由。
スピード開発では、最後のハードルとして、ローカルから、AWSへのデプロイした後、
想定外のことが乱発すること。

↓も参考になります。
https://tech.drecom.co.jp/ac2020-cloud9-personal-development/

### とりあえず構築してみる
ローカルデバッグできないと何かと不都合なので、
・[Windows10のローカル環境に神IDEこと『Cloud9』を構築したら幸せになりました!](https://blog.f-arts.work/archives/1038)
・[cloud9をwindowsにインストールして、幸せになる](https://q

元記事を表示

AWSの高額請求に涙する前に設定しておきたいAWS BudgetsとSlack通知

# はじめに

この記事は [AWS Advent Calendar 2020](https://qiita.com/advent-calendar/2020/aws) の24日目の記事です。

Advent Calendarで [AWSでやらかして3桁万円請求された話](https://qiita.com/kappa0923/items/dad1e37ee4127ea7132b) という記事を読んで、同じくAWSを運用している身として「ハッ!」としたので、急ぎ料金請求に関する対策を講じました。

# 予算の設定と通知される金額を設定する

予算に対してどれくらいの料金を使用しているか、日次でどのくらい請求されているかを通知する方法は複数考えられます。

– AWS Budgetsで予算と閾値の設定→AWS ChatbotでSlackに通知
– 簡単
– しかし閾値を超えないと通知が来ないので複数の閾値を設定しないと怖い
– AWS Cost and Usage ReportsでS3にコスト情報を出力する
– S3に新しいオブジェクトが追加されたらLambdaを

元記事を表示

API GatewayとLambdaを使ってS3の静的ホスティングをしてみる

S3にあるHTMLや画像などの静的ファイルを、API Gateway+Lambdaを使ってHTTPSで公開するコードを書きました。

LambdaでS3オブジェクトを読み込んで、そのまま返すだけですが、バイナリファイルの扱いが面倒でしたので、記事にしておきます。

ポイントは、API Gatewayのバイナリメディアタイプを `*/*` にすることです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/a3c1dfcf-3f8a-7214-a831-e90a34f7cda5.png)

S3のファイルをHTTP(S)で公開するには、S3のバケットにStatic website hostingの設定をするか、CloudFrontを使うことが多いと思いますが、なんらかの事情でこれらの機能を使えない場合の対処です。(あんまりないかもしれませんが)

# バイナリファイルの扱い

LambdaとAPI Gatewayとのあいだでは画像などのバイナリを直接受け渡すことができません。

元記事を表示

AWS Certified Solutions Architect – Professional に合格した話

2020/12/14、AWS Certified Solutions Architect – Professional(以下、SAP)に合格したので、奮闘記録を書き連ねます。

## My スペック
| 項目 | 値 |
|:———–:|:————:|
| エンジニア歴 | 7年 |
| 主な職歴 | AWS IaaS 構築・運用
AWS PaaS 構築
Alibaba Cloud IaaS 構築・運用
PHP アプリ運用
Python アプリ構築 |
| AWS 歴 | 途切れながらトータル約3年半 |
| 保有インフラ系資格 | AWS Certified Solutions Architect – Associate in 2017
AWS Certified Developer – Associate in 2016
LPIC 2 in 2017 |
| SAP 受験歴| 715点で不合格 on 2019/12|

## SAP 対策以前に・・・
SAP 対策以前に、全体的なクラウドアーキテクチャとインフラセキュ

元記事を表示

AWS LambdaがContainer Image Support 言うから 疑似Cloud Run

# はじめに

メリークリスマス!! :christmas_tree: :christmas_tree: :santa: :christmas_tree: :christmas_tree:

[Ateam Lifestyle Advent Calendar 2020](https://qiita.com/advent-calendar/2020/ateam-lifestyle)の25日目は、
株式会社エイチームライフスタイル 執行役員CTO @tsutorm が担当します!

# Lambdaがコンテナイメージサポートと聞いて

今年のアドカレどうしよっかなー :thinking:

ポエム系になるけど 「ビジネスが間違えやすいエンジニアの”開発生産性”」 みたいなのを書こうかなー

せっかくのクリスマス :christmas_tree: だしなー。プレゼントになるようなコードがあるほうがいいよなー

と思っていた所…


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76

元記事を表示

CodeBuildで軽量かつ高速にDockerImageをビルドする with サンタバナー

株式会社アピリッツにて、ソーシャルゲームのサーバ&インフラエンジニアをしております、高倉といいます。

この記事は [AWS & Game Advent Calendar 2020](https://qiita.com/advent-calendar/2020/aws-game) の 24 日目の記事になります。

## はじめに
* ECS&CodeBuildを用いたソーシャルゲームプロジェクトでCodeBuildの設定で試行錯誤した際のフィードバックです
* DockerfileやCodeBuildについて「未使用なので重要なポイントを知りたい」「他のプロジェクトの知見を得たい」といった方向けの記事となっています
* 今回はテストコードやデプロイ処理など付随するCI処理には言及していません
* サンプルアプリケーション:Ruby:2.7.2 Rails:6.1(rails new コマンドで生成したバニラを使用)

## Dockerfile最適化
diet.png

  • OTHERカテゴリの最新記事