- 1. ファイル名に制御文字が入ったファイルをS3にアップロードされて起きたエラー
- 2. Amazon QuickSight Qのアップデートに関して考察してみた(re:Invent 2022)
- 3. AWSからGCPにサービスを移行して感じたこと
- 4. LambdaのPythonライブラリ追加にEFSを使ったときのメモ
- 5. 文系新卒IT未経験がSAAに2回目で合格した話
- 6. オンプレミス版 Dataiku DSS を構築してみた
- 7. AWS認定 DVA-C01に合格しました(2022/12/03)
- 8. AWS FinchでAmazon LinuxのJupyterLab環境を作ってみた。Lambdaレイヤー作成用にも使える!
- 9. データベースのホスト名をCNAME経由で参照する
- 10. 社内で話したメディアダウンロード機能の実装について
- 11. ストーリー仕立てで理解する、AWSのIAM周りとアカウントの超入門知識
- 12. Spring BootでElasticache for Memcachedのキャッシュ操作をしてみた
- 13. AWS認定クラウドプラクティショナー合格に向けて Day6
- 14. Athena(Presto)のエラーメッセージの原因の解決方法のまとめ(2022年版)
- 15. Amazon FSx for NetApp ONTAP は ONTAP の GUI が無いので、代替手段を探してみる
- 16. MapLibre GLを使用した TileServer GL(地図タイルサーバー)を立ててみた
- 17. コスト削減のためにこの1年でやってきたこと
- 18. AppSyncのCloudFormation化
- 19. [AWS CDK]SSMのパラメータストアに登録したデータを環境変数にセットする方法
- 20. AWS KMS でキーを異なる AWS アカウントに共有したときに、共有先でどう見えるのか
ファイル名に制御文字が入ったファイルをS3にアップロードされて起きたエラー
## 起きたこと
S3に保存されている画像一覧を表示するページを開こうとした際に、下記のエラーが発生しました。
“`
xmlParseCharRef: invalid xmlChar value 16
“`## 原因
直前にS3にアップロードされた画像名に制御文字が入力されていました。
↓こんな感じです。
[![Image from Gyazo](https://i.gyazo.com/dfe524641e5c79e70edbac4e0548238a.png)](https://gyazo.com/dfe524641e5c79e70edbac4e0548238a)検証ツールで見るとこんな感じ。
`tokushu`の前後に明らかに変な文字が入ってる笑
[![Image from Gyazo](https://i.gyazo.com/4e007ad4c8f6c446c7acd9f9a1e1b75f.png)](https://gyazo.com/4e007ad4c8f6c446c7acd9f9a1e1b75f)アップロード前のローカルで見るとこんな感じ。
ローカルだと全く
Amazon QuickSight Qのアップデートに関して考察してみた(re:Invent 2022)
# はじめに
ラスベガスで開催された2022 re:InventにてAmazon QuickSight Qに関するアップデートがありました。
今回はその機能について過去の機能と比較して何が変ったのかみていきたいと思います。
ではいってみよ~:point_right:なお、本記事は「[Japan AWS Ambassador Advent Calendar 2022](https://qiita.com/advent-calendar/2022/japan-aws-ambassador)」7日目の記事としてエントリーしています。
# Amazon QuickSight ML Insights vs Amazon QuickSight Q
今回のアップデート以前からQuickSightに機械学習(ML)を利用して推論を行う事ができる機能はありました。
Amazon QuickSight ML Insightsですね。
また、SageMakerとQuickSightを連携して独自の推論モデルを構築する事もできます。
この辺りマネージドサービスを連携させてサービスを作るのがAWSは好
AWSからGCPにサービスを移行して感じたこと
こんにちは、トレタでサーバーサイドエンジニアをしている @prkrsign890 と申します。
こちらはトレタアドベントカレンダー6日目の記事です。
この記事では2022年の振り返りとして、私が担当しているサービスをAWSからGCPに移行した内容について記載していきたいと思います。# GCP移行の概要
トレタではマイクロサービスアーキテクチャを採用し、AWSのEKSで各サービスをデプロイして動かしていました。
しかしEKSで運用していく中で、メンテナンスコストが高い、インフラの構成が複雑となってしまうためインフラエンジニアに業務が集中してしまうなどの課題が見えてきました。
GCPのサーバーレスなインフラサービスを利用していくことで、メンテナンスコストの低減と各サービスのサーバーサイドエンジニアが自身でもアプリケーションの動作基盤を管理していくことを目的として移行を行いました。# GCPの構成図
![スクリーンショット 2022-12-06 18.02.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c
LambdaのPythonライブラリ追加にEFSを使ったときのメモ
AWSのLambdaでPythonのライブラリを読み込みたいときに、一番簡単な方法として、ライブラリをzipにしてレイヤーにアップロードするという方法があります。
ただしこれには制限があって、解凍後に500MBまでのファイルしかアップロードできません。
その解決策としては、
1. EFS(Elastic File System)を使う。
2. LamdaをDockerにする。という方法があります。
ここでは、より簡単な、EFSを使う方法をとった時のメモを残したいと思います(自分がやった時のメモなので、より良い方法があるかもしれません)。まず、インバウンドルールをタイプ:NFS、ポート範囲:2049にしたセキュリティグループを作ります。
![スクリーンショット 2022-12-07 6.53.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3025503/4780f6ad-b871-f3a4-4517-adaf0c1dbc40.png)
使用するEFSを用意します。
EFSの管理画面にアクセス
文系新卒IT未経験がSAAに2回目で合格した話
# はじめに
私はゴリゴリ文系卒の新卒インフラエンジニアです。
そもそもIT知識も全くなければ、AWSとは…???という感じで、
4月から10月まで研修を受けて、「サーバー」「クラウド」などがやっと分かってきたかも…?という前提です(笑)
インフラに配属されたのは8月頃で、そこから勉強を始めて10月末に合格しました。# SAAとは
AWS Certified Solutions Architect – Associate (SAA)とは
>AWS(アマゾンウェブサービス)における分散システムの可用性、コスト効率、高耐障害性やスケーラビリティの設計に関する資格です。
つまり、クラウド上にシステムを構築する知識があることを証明する資格です。
試験対象者は1年以上の実務経験を持つソリューションアーキテクトになります。私の認識では、インフラエンジニアの登竜門といった感じでしょうか…
今回私が受けたのはSAA-03です。ちなみに受験料は1回15000円です。
テストセンターや、自宅で受験することができます。# 1回
オンプレミス版 Dataiku DSS を構築してみた
この記事は [TDCソフト株式会社 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/tdc) に参加しています。
https://qiita.com/advent-calendar/2022/tdc
## 概要
データアナリティクスプラットフォームである Dataiku にはオンプレミスで利用可能な無料版の Dataiku DSS が用意されています。
触ってみたかったので Amazon EC2 を使って構築してみました。* [Dataiku](https://www.dataiku.com/ja/)
* [Dataiku 各種プラン比較](https://www.dataiku.com/ja/%E8%A3%BD%E5%93%81/%E5%90%84%E7%A8%AE%E3%83%97%E3%83%A9%E3%83%B3%E3%81%A8%E6%A9%9F%E8%83%BD/)## 手順
以降の手順は次の資料に(そこそこ)従って作業しました。
* [Install Dataiku DSS
AWS認定 DVA-C01に合格しました(2022/12/03)
## はじめに
2022/12/03にAWSのデベロッパー試験`AWS DVA-C01`に合格したので、使った教材や出題内容について書きます。
時期がちょうどだったので、ちゃっかりアドベントカレンダーにも便乗させてもらってます。## 受験結果
ガッツリ勉強したのは2週間くらいでしたが、無事合格できました。
![スクリーンショット 2022-12-05 16.43.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119757/bf37de35-8301-0533-6d51-72ae47f49e74.png)## 受験前の経験・知識など
* 新卒3年目のデータサイエンティスト
* 技術系の研修が無かったので、勉強も兼ねて個人で作りたいものを作っている
* 例)[自分のためだけの新着お笑いライブ通知Botを作りました](https://qiita.com/oddgai/items/b37b98b6721c3a375fac)
* AWS系の業務経験はあまりない
* 日常的に
AWS FinchでAmazon LinuxのJupyterLab環境を作ってみた。Lambdaレイヤー作成用にも使える!
# はじめに
FinchでJupyterLab環境作ります。
さらにLambdaレイヤー作成用にも使ってみます。# 開発環境
– MacBookPro 2018# Amazon LinuxのJupyterLab環境を作成
1.[Finch-v0.1.0-x86_64.pkg](https://github.com/runfinch/finch/releases)をインストール2.finchを初期化
$ finch vm init
~~~
INFO[0000] Using default values due to missing config file at “/Users/user/.finch/finch.yaml”
INFO[0000] “/Users/user/.finch” directory doesn’t exist, attempting to create it
INFO[0000] binaries directory doesn’t exist
INFO[0000] Requesting root access t
データベースのホスト名をCNAME経由で参照する
### 前提
– AWS RDSとRoute53を例にしています。
– 何かしらのドメインを取得している前提です。### 本題
アプリケーション側でデータベースのホストを直接参照している場合、以下のような状況で困ったことは無いでしょうか。
– 接続しているデータベースをスタンバイ中の別データベースに切り替える場合
– スナップショットから新しいデータベースを復元して使用する場合データベースが変わるとホスト名も変わるため、アプリケーションやSQLクライアントツール等の接続情報を全て書き換える必要があります。
“`plantuml
title ホストを直接参照する場合agent アプリケーション [
アプリケーション
….
ホスト情報:
db-a.ap-northeast-1.rds.amazonaws.com
]agent SQLクライアントツール [
SQLクライアントツール
….
ホスト情報:
db-a.ap-northeast-1.rds.amazonaws.
社内で話したメディアダウンロード機能の実装について
## 背景
最近、社内でS3に保存したメディアをHTML上で手元にダウンロードする機能を実装してほしいとの要望があった。
実際に作成していく中で、私の知識不足もあり、いろいろ嵌っていったので、共有と備忘録も込めて、この記事を記述する。## なんだ、簡単じゃん
調べてみると下記のようなコードで実装できるらしい!(やったね!)
“`html
ダウンロード
“`うっきうきで実装してみると…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1770714/02d8e9ab-68b2-041d-a702-0f94825b0894.png)
違う、そうじゃない…
調べてみると、下記のような文言がありました。
>この属性は同一オリジンのURLに限り動作する今回、ダウンロードしたい画像はS3に置いてあるため、当然のことながら同一ドメインではない。よ
ストーリー仕立てで理解する、AWSのIAM周りとアカウントの超入門知識
CYBIRD Advent Calendar 2022の7日目を担当します、新卒1年目の@tomoko_ishizakaです。6日目は@cy-yuka-WP さんの「Google スプレッドシートやExcelで知っていると便利な関数」でした。
## この記事の概要
最初自分がAWSのアカウントやユーザー、そしてIAMについて聞いたとき、非常に複雑で混乱してしまった。そこで本記事では、多くの人が知っているであろうソーシャルゲーム(以下ソシャゲ)(ダンジョン/素材集め/ガチャ等の機能がある一般的なものを想定している)を効率よくプレイしようとする主人公(:boy_tone1:)のストーリー仕立てで、IAMの概観をざっくりとふんわりと説明していく。
※実際にAWSのIAMのような機能を搭載しているソシャゲはおそらくありません。フィクションです。
## (最初に少しだけ)AWSとIAMについて
### Amazon Web Services (AWS) とは
Amazonの提供するクラウドコンピューティングサービス。
つまり、サーバーやデータベースなどをクラウド上で作成/管理できるサー
Spring BootでElasticache for Memcachedのキャッシュ操作をしてみた
この記事は [アイスタイル Advent Calendar 2022](https://qiita.com/advent-calendar/2022/istyle) 7日目の記事です。
こんにちは。アイスタイルにて会員基盤の運用保守や機能改修を担当しているyukawacです。
[Spring Boot](https://spring.io/projects/spring-boot)で[Elasticache for Memcached](https://aws.amazon.com/jp/elasticache/memcached/)のキャッシュ操作をする機会があったので、
キャッシュ操作するまでに実施したことやコード例を書きます。⚠️注意⚠️
※本記事ではElasticache for Memcachedへ疎通するためのネットワーク周りの設定については記載しません。
※ローカル環境にて、JavaとDockerの実行環境は構築済みとします。
※ElastiCache for Memcachedクラスターは作成済みとします。## 一連の流れ
1. ローカル環
AWS認定クラウドプラクティショナー合格に向けて Day6
# 前回の内容
[AWS認定クラウドプラクティショナー合格に向けて Day5](https://qiita.com/Ayako_0224/private/cc8b881db92cf4f808d6)# AWSの操作
– AWSマネジメントコンソール
– SSHなどのソフトウェア
– AWS CLI## AWSマネジメントコンソール
基本的にはここでほとんどの操作が可能
WEB画面からAWSを設定するGUI## インスタンス接続
設置したサーバーの操作はWindowsサーバーやLinuxサーバーなどの標準に応じたソフトウェアを利用## SSHソフトウェア
Linuxインスタンスに接続するソフトウェア
設置したサーバー等にアクセスして内部の設定やソフトウェアの操作を実行する通信方式およびそのソフトウェアのことを指す## AWS CLI
CLIで複数のAWSサービスを制御したり管理するツール
マネジメントコンソールではできない操作などもあるため慣れたら効率的で便利# 基本操作
AWSマネジメントコンソールでインスタンスを設置したりリソースの立ち上げを行う
SSHで接続し
Athena(Presto)のエラーメッセージの原因の解決方法のまとめ(2022年版)
弊社では各プロジェクトの大半がAWSに統一されているため、エンジニア以外の方が分析やログ確認などをされる際にAthenaなどを利用されることが多めです。
一方でAthena(Presto)ではエラーメッセージに対する解決策を調べようとするとStack Overflow上の英語のケースが多めだったり、エラー内容がエンジニア側からしても直観的ではない(瞬時に内容を把握してSQLの修正が効かない)ケースがあります。特にエンジニア以外の方からすると英語のStack Overflowなどよりも日本語で丁寧な解決方法があるとUXが良くなります(多分)。
弊社のAthenaをバックエンドで使ったBI上などでは英語のエラーメッセージに日本語のメッセージも併せて表示されたり解決策などを細かく表示したりしているのですが、その辺は世の中に記事として公開していた方がAthenaユーザーの皆さまにとって役立つのでは・・・と思い、Qiitaの記事にしておきます。
※公開に関しては上長から許可をいただいております。
# 注意書き
– 日々AthenaやPrestoなどもアップデートされたりしているため、エ
Amazon FSx for NetApp ONTAP は ONTAP の GUI が無いので、代替手段を探してみる
# はじめに
Amazon FSx for NetApp ONTAP (以下 FSxN) は、NetApp のストレージ OS 「ONTAP」で動作しています。
オリジナルの ONTAP には「System Manager」というブラウザ向け GUI が実装されていますが、FSxN では利用することができません。[^1]
GUI で慣れ親しんだ人からするとちょっと困るなーという事になりそうですよね。
ということで、代替の手段を用いて GUI 主体でオペレーションするための方法を整理してみました。
[^1]: 2022/12/06 現在、ONTAP 9.11.0 P3 での状況です。今後のアップデートで変更される可能性があります。ちなみに、オリジナルの ONTAP の設定・操作方法には、以下の3つの方法があります。
* System Manager (ブラウザ用 GUI)
* ONTAP CLI
* ONTAP REST APIFSxN では、このうち CLI と REST API を利用することが可能です。
# FSxN を GUI 操作する手段
主な手段としては、以下の3
MapLibre GLを使用した TileServer GL(地図タイルサーバー)を立ててみた
TileServer GL はMapbox GL JSによってサーバーサイドでベクター地図タイルをレンダリング(グーグルマップみたいなやつ)できるオープンソースの地図タイルサーバーです。
Mapbox GL JS v1のころはMapbox側のサービスを利用しない場合、料金がかからなかったのですが、2020年12月にv2が発表されて以降は、オープンソースではなくなりMapbox独自で開発を進める方針に切り替わったため、Mapbox GL JS v2を利用するためにはMapboxサービスのアクセストークンが必須になりました。
一方、Mapbox GL JSとは別のオープンソースプロジェクトとしてMapLibre GL JSが生まれています。
こちらは、Mapbox GL JS v1.13.0をフォークした後、マイナーアップデートが主でしたが、最近は独自の発展を遂げているといった感じです。AWSでもこのMapLibre GL JSを使った地図サービスなんかも出てたりしています。
そんなMapLibre GL JS NativeになったTileServer GLで地図タイルサーバーを立て
コスト削減のためにこの1年でやってきたこと
NE株式会社開発統括部所属の大嶋([@atsusics](https://twitter.com/atsusics)) です。
この記事は[NE Advent Calendar 2022 ](https://qiita.com/advent-calendar/2022/ne)7日目の記事になります。# 概要
弊社でサービス提供している[ネクストエンジン](https://next-engine.net/)のコスト周りを担当した私が、この1年間で行ったことを紹介させていただきます。
プロダクトのサーバー費用管理で悩んでいる方や、AWS費用を削減したいけどどこから手をつけたら良いかわからない方の少しでも手助けになればと思います。実施したこと
– コストを眺める会を主催
– AWSリソースの適正化順番に紹介していきます。
# コストを眺める会を主催
## コストを眺める会とは?
月末に当月のコストの確認と、来月以降のコスト予想を確認するMTGを行っています。
参加者は当初SRE(インフラエンジニア)+CTOのみで行っていましたが、現在はすべてのエンジニア+αが任意で参加できる
AppSyncのCloudFormation化
# 概要
[アドベントカレンダー](https://qiita.com/advent-calendar/2022/inoue-mn) の1日目から5日目で作成したAppSyncとDynamoDBをCloudFormationで自動作成する方法を紹介します。# YMLファイルの作成
“`cfn.yml
Resources:
DynamoDBRadioTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: Radio
AttributeDefinitions:
– AttributeName: id
AttributeType: S
KeySchema:
– AttributeName: id
KeyType: HASH
BillingMode: PAY_PER_REQUESTA
[AWS CDK]SSMのパラメータストアに登録したデータを環境変数にセットする方法
## はじめに
この記事は、[ミロゴス Advent Calendar 2022](https://qiita.com/advent-calendar/2022/milogos) 7日目の記事です。LINEのチャネルシークレットとアクセストークンをSSMパラメータストアから取得してlambda環境変数にセットした方法をまとめました。
## AWS Systems Manager(SSM)とは
> AWS Systems Manager は、AWS クラウド で実行されるアプリケーションとインフラストラクチャの管理に役立つ一連の機能です。Systems Manager により、アプリケーションとリソースの管理が簡略化され、オペレーション上の問題の検出と解決にかかる時間が短縮されるほか、AWS リソースを大規模かつ安全に管理できるようになります。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/what-is-systems-manager.html## AWS Systems Manager
AWS KMS でキーを異なる AWS アカウントに共有したときに、共有先でどう見えるのか
# はじめに
AWS KMS で作成した CMK(Customer managed key) は、他の AWS アカウントに共有が出来ます。共有先の AWS アカウントでは、共有された CMK を使った EBS の暗号化などが可能です。また、Snapshot の共有など、CMK の共有が必要な状況もあります。
今回の記事では、CMK を共有した先で、どのように活用するのか不明だったので、簡単に検証してみました。
# 構成
ざっくりな構成図を載せます。以下の構成にしたときに、どんな操作で利用できるかを確かめていきます。
– 共有元 : KMS 上でキーを作成し、共有先へ共有する
– 共有先 : 共有元からキーを共有され、実際にキーを利用する![image-20221207000742666.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/6e20c502-11a3-5675-dd57-093868f97d40.png)
# 共有元
共有元の AWS アカウントでは